config.sub revision 29cb5710
1b3307321Smrg#! /bin/sh 2b3307321Smrg# Configuration validation subroutine script. 3b3307321Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 429cb5710Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5afe13c8eSmrg# Free Software Foundation, Inc. 6b3307321Smrg 729cb5710Smrgtimestamp='2010-09-11' 8b3307321Smrg 9b3307321Smrg# This file is (in principle) common to ALL GNU software. 10b3307321Smrg# The presence of a machine in this file suggests that SOME GNU software 11b3307321Smrg# can handle that machine. It does not imply ALL GNU software can. 12b3307321Smrg# 13b3307321Smrg# This file is free software; you can redistribute it and/or modify 14b3307321Smrg# it under the terms of the GNU General Public License as published by 15b3307321Smrg# the Free Software Foundation; either version 2 of the License, or 16b3307321Smrg# (at your option) any later version. 17b3307321Smrg# 18b3307321Smrg# This program is distributed in the hope that it will be useful, 19b3307321Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20b3307321Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21b3307321Smrg# GNU General Public License for more details. 22b3307321Smrg# 23b3307321Smrg# You should have received a copy of the GNU General Public License 24b3307321Smrg# along with this program; if not, write to the Free Software 25afe13c8eSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26afe13c8eSmrg# 02110-1301, USA. 27afe13c8eSmrg# 28b3307321Smrg# As a special exception to the GNU General Public License, if you 29b3307321Smrg# distribute this file as part of a program that contains a 30b3307321Smrg# configuration script generated by Autoconf, you may include it under 31b3307321Smrg# the same distribution terms that you use for the rest of that program. 32b3307321Smrg 33afe13c8eSmrg 34b3307321Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 3529cb5710Smrg# diff and a properly formatted GNU ChangeLog entry. 36b3307321Smrg# 37b3307321Smrg# Configuration subroutine to validate and canonicalize a configuration type. 38b3307321Smrg# Supply the specified configuration type as an argument. 39b3307321Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 40b3307321Smrg# Otherwise, we print the canonical config type on stdout and succeed. 41b3307321Smrg 4229cb5710Smrg# You can get the latest version of this script from: 4329cb5710Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 4429cb5710Smrg 45b3307321Smrg# This file is supposed to be the same for all GNU packages 46b3307321Smrg# and recognize all the CPU types, system types and aliases 47b3307321Smrg# that are meaningful with *any* GNU software. 48b3307321Smrg# Each package is responsible for reporting which valid configurations 49b3307321Smrg# it does not support. The user should be able to distinguish 50b3307321Smrg# a failure to support a valid configuration from a meaningless 51b3307321Smrg# configuration. 52b3307321Smrg 53b3307321Smrg# The goal of this file is to map all the various variations of a given 54b3307321Smrg# machine specification into a single specification in the form: 55b3307321Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56b3307321Smrg# or in some cases, the newer four-part form: 57b3307321Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58b3307321Smrg# It is wrong to echo any other type of specification. 59b3307321Smrg 60b3307321Smrgme=`echo "$0" | sed -e 's,.*/,,'` 61b3307321Smrg 62b3307321Smrgusage="\ 63b3307321SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64b3307321Smrg $0 [OPTION] ALIAS 65b3307321Smrg 66b3307321SmrgCanonicalize a configuration name. 67b3307321Smrg 68b3307321SmrgOperation modes: 69b3307321Smrg -h, --help print this help, then exit 70b3307321Smrg -t, --time-stamp print date of last modification, then exit 71b3307321Smrg -v, --version print version number, then exit 72b3307321Smrg 73b3307321SmrgReport bugs and patches to <config-patches@gnu.org>." 74b3307321Smrg 75b3307321Smrgversion="\ 76b3307321SmrgGNU config.sub ($timestamp) 77b3307321Smrg 7829cb5710SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 7929cb5710Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 8029cb5710SmrgSoftware Foundation, Inc. 81b3307321Smrg 82b3307321SmrgThis is free software; see the source for copying conditions. There is NO 83b3307321Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84b3307321Smrg 85b3307321Smrghelp=" 86b3307321SmrgTry \`$me --help' for more information." 87b3307321Smrg 88b3307321Smrg# Parse command line 89b3307321Smrgwhile test $# -gt 0 ; do 90b3307321Smrg case $1 in 91b3307321Smrg --time-stamp | --time* | -t ) 92afe13c8eSmrg echo "$timestamp" ; exit ;; 93b3307321Smrg --version | -v ) 94afe13c8eSmrg echo "$version" ; exit ;; 95b3307321Smrg --help | --h* | -h ) 96afe13c8eSmrg echo "$usage"; exit ;; 97b3307321Smrg -- ) # Stop option processing 98b3307321Smrg shift; break ;; 99b3307321Smrg - ) # Use stdin as input. 100b3307321Smrg break ;; 101b3307321Smrg -* ) 102b3307321Smrg echo "$me: invalid option $1$help" 103b3307321Smrg exit 1 ;; 104b3307321Smrg 105b3307321Smrg *local*) 106b3307321Smrg # First pass through any local machine types. 107b3307321Smrg echo $1 108afe13c8eSmrg exit ;; 109b3307321Smrg 110b3307321Smrg * ) 111b3307321Smrg break ;; 112b3307321Smrg esac 113b3307321Smrgdone 114b3307321Smrg 115b3307321Smrgcase $# in 116b3307321Smrg 0) echo "$me: missing argument$help" >&2 117b3307321Smrg exit 1;; 118b3307321Smrg 1) ;; 119b3307321Smrg *) echo "$me: too many arguments$help" >&2 120b3307321Smrg exit 1;; 121b3307321Smrgesac 122b3307321Smrg 123b3307321Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124b3307321Smrg# Here we must recognize all the valid KERNEL-OS combinations. 125b3307321Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126b3307321Smrgcase $maybe_os in 12729cb5710Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 12829cb5710Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 12929cb5710Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 1305e358ecaSmrg kopensolaris*-gnu* | \ 131afe13c8eSmrg storm-chaos* | os2-emx* | rtmk-nova*) 132b3307321Smrg os=-$maybe_os 133b3307321Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134b3307321Smrg ;; 135b3307321Smrg *) 136b3307321Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137b3307321Smrg if [ $basic_machine != $1 ] 138b3307321Smrg then os=`echo $1 | sed 's/.*-/-/'` 139b3307321Smrg else os=; fi 140b3307321Smrg ;; 141b3307321Smrgesac 142b3307321Smrg 143b3307321Smrg### Let's recognize common machines as not being operating systems so 144b3307321Smrg### that things like config.sub decstation-3100 work. We also 145b3307321Smrg### recognize some manufacturers as not being operating systems, so we 146b3307321Smrg### can provide default operating systems below. 147b3307321Smrgcase $os in 148b3307321Smrg -sun*os*) 149b3307321Smrg # Prevent following clause from handling this invalid input. 150b3307321Smrg ;; 151b3307321Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152b3307321Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153b3307321Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154b3307321Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155b3307321Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156b3307321Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15729cb5710Smrg -apple | -axis | -knuth | -cray | -microblaze) 158b3307321Smrg os= 159b3307321Smrg basic_machine=$1 160b3307321Smrg ;; 16129cb5710Smrg -bluegene*) 16229cb5710Smrg os=-cnk 16329cb5710Smrg ;; 164b3307321Smrg -sim | -cisco | -oki | -wec | -winbond) 165b3307321Smrg os= 166b3307321Smrg basic_machine=$1 167b3307321Smrg ;; 168b3307321Smrg -scout) 169b3307321Smrg ;; 170b3307321Smrg -wrs) 171b3307321Smrg os=-vxworks 172b3307321Smrg basic_machine=$1 173b3307321Smrg ;; 174b3307321Smrg -chorusos*) 175b3307321Smrg os=-chorusos 176b3307321Smrg basic_machine=$1 177b3307321Smrg ;; 178b3307321Smrg -chorusrdb) 179b3307321Smrg os=-chorusrdb 180b3307321Smrg basic_machine=$1 181b3307321Smrg ;; 182b3307321Smrg -hiux*) 183b3307321Smrg os=-hiuxwe2 184b3307321Smrg ;; 185afe13c8eSmrg -sco6) 186afe13c8eSmrg os=-sco5v6 187afe13c8eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188afe13c8eSmrg ;; 189b3307321Smrg -sco5) 190b3307321Smrg os=-sco3.2v5 191b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192b3307321Smrg ;; 193b3307321Smrg -sco4) 194b3307321Smrg os=-sco3.2v4 195b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196b3307321Smrg ;; 197b3307321Smrg -sco3.2.[4-9]*) 198b3307321Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200b3307321Smrg ;; 201b3307321Smrg -sco3.2v[4-9]*) 202b3307321Smrg # Don't forget version if it is 3.2v4 or newer. 203b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204b3307321Smrg ;; 205afe13c8eSmrg -sco5v6*) 206afe13c8eSmrg # Don't forget version if it is 3.2v4 or newer. 207afe13c8eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 208afe13c8eSmrg ;; 209b3307321Smrg -sco*) 210b3307321Smrg os=-sco3.2v2 211b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212b3307321Smrg ;; 213b3307321Smrg -udk*) 214b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215b3307321Smrg ;; 216b3307321Smrg -isc) 217b3307321Smrg os=-isc2.2 218b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219b3307321Smrg ;; 220b3307321Smrg -clix*) 221b3307321Smrg basic_machine=clipper-intergraph 222b3307321Smrg ;; 223b3307321Smrg -isc*) 224b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225b3307321Smrg ;; 226b3307321Smrg -lynx*) 227b3307321Smrg os=-lynxos 228b3307321Smrg ;; 229b3307321Smrg -ptx*) 230b3307321Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231b3307321Smrg ;; 232b3307321Smrg -windowsnt*) 233b3307321Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234b3307321Smrg ;; 235b3307321Smrg -psos*) 236b3307321Smrg os=-psos 237b3307321Smrg ;; 238b3307321Smrg -mint | -mint[0-9]*) 239b3307321Smrg basic_machine=m68k-atari 240b3307321Smrg os=-mint 241b3307321Smrg ;; 242b3307321Smrgesac 243b3307321Smrg 244b3307321Smrg# Decode aliases for certain CPU-COMPANY combinations. 245b3307321Smrgcase $basic_machine in 246b3307321Smrg # Recognize the basic CPU types without company name. 247b3307321Smrg # Some are omitted here because they have special meanings below. 248b3307321Smrg 1750a | 580 \ 249b3307321Smrg | a29k \ 250b3307321Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251b3307321Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 252afe13c8eSmrg | am33_2.0 \ 253afe13c8eSmrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 254afe13c8eSmrg | bfin \ 255b3307321Smrg | c4x | clipper \ 2565e358ecaSmrg | d10v | d30v | dlx | dsp16xx \ 257afe13c8eSmrg | fido | fr30 | frv \ 258b3307321Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 259b3307321Smrg | i370 | i860 | i960 | ia64 \ 260afe13c8eSmrg | ip2k | iq2000 \ 2615e358ecaSmrg | lm32 \ 262afe13c8eSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2635e358ecaSmrg | maxq | mb | microblaze | mcore | mep | metag \ 264b3307321Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 265b3307321Smrg | mips16 \ 266b3307321Smrg | mips64 | mips64el \ 2675e358ecaSmrg | mips64octeon | mips64octeonel \ 268b3307321Smrg | mips64orion | mips64orionel \ 2695e358ecaSmrg | mips64r5900 | mips64r5900el \ 2705e358ecaSmrg | mips64vr | mips64vrel \ 271b3307321Smrg | mips64vr4100 | mips64vr4100el \ 272b3307321Smrg | mips64vr4300 | mips64vr4300el \ 273b3307321Smrg | mips64vr5000 | mips64vr5000el \ 274afe13c8eSmrg | mips64vr5900 | mips64vr5900el \ 275b3307321Smrg | mipsisa32 | mipsisa32el \ 276b3307321Smrg | mipsisa32r2 | mipsisa32r2el \ 277b3307321Smrg | mipsisa64 | mipsisa64el \ 278afe13c8eSmrg | mipsisa64r2 | mipsisa64r2el \ 279b3307321Smrg | mipsisa64sb1 | mipsisa64sb1el \ 280b3307321Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 281b3307321Smrg | mipstx39 | mipstx39el \ 282b3307321Smrg | mn10200 | mn10300 \ 2835e358ecaSmrg | moxie \ 284afe13c8eSmrg | mt \ 285b3307321Smrg | msp430 \ 28629cb5710Smrg | nds32 | nds32le | nds32be \ 287afe13c8eSmrg | nios | nios2 \ 288b3307321Smrg | ns16k | ns32k \ 289afe13c8eSmrg | or32 \ 290b3307321Smrg | pdp10 | pdp11 | pj | pjl \ 291b3307321Smrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 292b3307321Smrg | pyramid \ 29329cb5710Smrg | rx \ 294afe13c8eSmrg | score \ 2955e358ecaSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 296b3307321Smrg | sh64 | sh64le \ 297afe13c8eSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 298afe13c8eSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 299afe13c8eSmrg | spu | strongarm \ 30029cb5710Smrg | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 30129cb5710Smrg | ubicom32 \ 302b3307321Smrg | v850 | v850e \ 303b3307321Smrg | we32k \ 304afe13c8eSmrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 3055e358ecaSmrg | z8k | z80) 306b3307321Smrg basic_machine=$basic_machine-unknown 307b3307321Smrg ;; 30829cb5710Smrg c54x) 30929cb5710Smrg basic_machine=tic54x-unknown 31029cb5710Smrg ;; 31129cb5710Smrg c55x) 31229cb5710Smrg basic_machine=tic55x-unknown 31329cb5710Smrg ;; 31429cb5710Smrg c6x) 31529cb5710Smrg basic_machine=tic6x-unknown 31629cb5710Smrg ;; 31729cb5710Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 318b3307321Smrg # Motorola 68HC11/12. 319b3307321Smrg basic_machine=$basic_machine-unknown 320b3307321Smrg os=-none 321b3307321Smrg ;; 322b3307321Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 323b3307321Smrg ;; 324afe13c8eSmrg ms1) 325afe13c8eSmrg basic_machine=mt-unknown 326afe13c8eSmrg ;; 327b3307321Smrg 328b3307321Smrg # We use `pc' rather than `unknown' 329b3307321Smrg # because (1) that's what they normally are, and 330b3307321Smrg # (2) the word "unknown" tends to confuse beginning users. 331b3307321Smrg i*86 | x86_64) 332b3307321Smrg basic_machine=$basic_machine-pc 333b3307321Smrg ;; 334b3307321Smrg # Object if more than one company name word. 335b3307321Smrg *-*-*) 336b3307321Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 337b3307321Smrg exit 1 338b3307321Smrg ;; 339b3307321Smrg # Recognize the basic CPU types with company name. 340b3307321Smrg 580-* \ 341b3307321Smrg | a29k-* \ 342b3307321Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 343b3307321Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 344b3307321Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 345b3307321Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 346afe13c8eSmrg | avr-* | avr32-* \ 347afe13c8eSmrg | bfin-* | bs2000-* \ 34829cb5710Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 349afe13c8eSmrg | clipper-* | craynv-* | cydra-* \ 350b3307321Smrg | d10v-* | d30v-* | dlx-* \ 351b3307321Smrg | elxsi-* \ 352afe13c8eSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 353b3307321Smrg | h8300-* | h8500-* \ 354b3307321Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 355b3307321Smrg | i*86-* | i860-* | i960-* | ia64-* \ 356afe13c8eSmrg | ip2k-* | iq2000-* \ 3575e358ecaSmrg | lm32-* \ 358afe13c8eSmrg | m32c-* | m32r-* | m32rle-* \ 359b3307321Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 36029cb5710Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 361b3307321Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 362b3307321Smrg | mips16-* \ 363b3307321Smrg | mips64-* | mips64el-* \ 3645e358ecaSmrg | mips64octeon-* | mips64octeonel-* \ 365b3307321Smrg | mips64orion-* | mips64orionel-* \ 3665e358ecaSmrg | mips64r5900-* | mips64r5900el-* \ 3675e358ecaSmrg | mips64vr-* | mips64vrel-* \ 368b3307321Smrg | mips64vr4100-* | mips64vr4100el-* \ 369b3307321Smrg | mips64vr4300-* | mips64vr4300el-* \ 370b3307321Smrg | mips64vr5000-* | mips64vr5000el-* \ 371afe13c8eSmrg | mips64vr5900-* | mips64vr5900el-* \ 372b3307321Smrg | mipsisa32-* | mipsisa32el-* \ 373b3307321Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 374b3307321Smrg | mipsisa64-* | mipsisa64el-* \ 375afe13c8eSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 376b3307321Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 377b3307321Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 378b3307321Smrg | mipstx39-* | mipstx39el-* \ 379afe13c8eSmrg | mmix-* \ 380afe13c8eSmrg | mt-* \ 381b3307321Smrg | msp430-* \ 38229cb5710Smrg | nds32-* | nds32le-* | nds32be-* \ 383afe13c8eSmrg | nios-* | nios2-* \ 384afe13c8eSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 385b3307321Smrg | orion-* \ 386b3307321Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 387b3307321Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 388b3307321Smrg | pyramid-* \ 38929cb5710Smrg | romp-* | rs6000-* | rx-* \ 3905e358ecaSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 391b3307321Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 392afe13c8eSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 393afe13c8eSmrg | sparclite-* \ 394afe13c8eSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 395b3307321Smrg | tahoe-* | thumb-* \ 39629cb5710Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 39729cb5710Smrg | tile-* | tilegx-* \ 398b3307321Smrg | tron-* \ 39929cb5710Smrg | ubicom32-* \ 400b3307321Smrg | v850-* | v850e-* | vax-* \ 401b3307321Smrg | we32k-* \ 402afe13c8eSmrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 403afe13c8eSmrg | xstormy16-* | xtensa*-* \ 404b3307321Smrg | ymp-* \ 4055e358ecaSmrg | z8k-* | z80-*) 406b3307321Smrg ;; 407afe13c8eSmrg # Recognize the basic CPU types without company name, with glob match. 408afe13c8eSmrg xtensa*) 409afe13c8eSmrg basic_machine=$basic_machine-unknown 410afe13c8eSmrg ;; 411b3307321Smrg # Recognize the various machine names and aliases which stand 412b3307321Smrg # for a CPU type and a company and sometimes even an OS. 413b3307321Smrg 386bsd) 414b3307321Smrg basic_machine=i386-unknown 415b3307321Smrg os=-bsd 416b3307321Smrg ;; 417b3307321Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 418b3307321Smrg basic_machine=m68000-att 419b3307321Smrg ;; 420b3307321Smrg 3b*) 421b3307321Smrg basic_machine=we32k-att 422b3307321Smrg ;; 423b3307321Smrg a29khif) 424b3307321Smrg basic_machine=a29k-amd 425b3307321Smrg os=-udi 426b3307321Smrg ;; 427afe13c8eSmrg abacus) 428afe13c8eSmrg basic_machine=abacus-unknown 429afe13c8eSmrg ;; 430b3307321Smrg adobe68k) 431b3307321Smrg basic_machine=m68010-adobe 432b3307321Smrg os=-scout 433b3307321Smrg ;; 434b3307321Smrg alliant | fx80) 435b3307321Smrg basic_machine=fx80-alliant 436b3307321Smrg ;; 437b3307321Smrg altos | altos3068) 438b3307321Smrg basic_machine=m68k-altos 439b3307321Smrg ;; 440b3307321Smrg am29k) 441b3307321Smrg basic_machine=a29k-none 442b3307321Smrg os=-bsd 443b3307321Smrg ;; 444b3307321Smrg amd64) 445b3307321Smrg basic_machine=x86_64-pc 446b3307321Smrg ;; 447afe13c8eSmrg amd64-*) 448afe13c8eSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 449afe13c8eSmrg ;; 450b3307321Smrg amdahl) 451b3307321Smrg basic_machine=580-amdahl 452b3307321Smrg os=-sysv 453b3307321Smrg ;; 454b3307321Smrg amiga | amiga-*) 455b3307321Smrg basic_machine=m68k-unknown 456b3307321Smrg ;; 457b3307321Smrg amigaos | amigados) 458b3307321Smrg basic_machine=m68k-unknown 459b3307321Smrg os=-amigaos 460b3307321Smrg ;; 461b3307321Smrg amigaunix | amix) 462b3307321Smrg basic_machine=m68k-unknown 463b3307321Smrg os=-sysv4 464b3307321Smrg ;; 465b3307321Smrg apollo68) 466b3307321Smrg basic_machine=m68k-apollo 467b3307321Smrg os=-sysv 468b3307321Smrg ;; 469b3307321Smrg apollo68bsd) 470b3307321Smrg basic_machine=m68k-apollo 471b3307321Smrg os=-bsd 472b3307321Smrg ;; 4735e358ecaSmrg aros) 4745e358ecaSmrg basic_machine=i386-pc 4755e358ecaSmrg os=-aros 4765e358ecaSmrg ;; 477b3307321Smrg aux) 478b3307321Smrg basic_machine=m68k-apple 479b3307321Smrg os=-aux 480b3307321Smrg ;; 481b3307321Smrg balance) 482b3307321Smrg basic_machine=ns32k-sequent 483b3307321Smrg os=-dynix 484b3307321Smrg ;; 485afe13c8eSmrg blackfin) 486afe13c8eSmrg basic_machine=bfin-unknown 487afe13c8eSmrg os=-linux 488afe13c8eSmrg ;; 489afe13c8eSmrg blackfin-*) 490afe13c8eSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 491afe13c8eSmrg os=-linux 492afe13c8eSmrg ;; 49329cb5710Smrg bluegene*) 49429cb5710Smrg basic_machine=powerpc-ibm 49529cb5710Smrg os=-cnk 49629cb5710Smrg ;; 49729cb5710Smrg c54x-*) 49829cb5710Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 49929cb5710Smrg ;; 50029cb5710Smrg c55x-*) 50129cb5710Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 50229cb5710Smrg ;; 50329cb5710Smrg c6x-*) 50429cb5710Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 50529cb5710Smrg ;; 506b3307321Smrg c90) 507b3307321Smrg basic_machine=c90-cray 508b3307321Smrg os=-unicos 509b3307321Smrg ;; 5105e358ecaSmrg cegcc) 5115e358ecaSmrg basic_machine=arm-unknown 5125e358ecaSmrg os=-cegcc 5135e358ecaSmrg ;; 514b3307321Smrg convex-c1) 515b3307321Smrg basic_machine=c1-convex 516b3307321Smrg os=-bsd 517b3307321Smrg ;; 518b3307321Smrg convex-c2) 519b3307321Smrg basic_machine=c2-convex 520b3307321Smrg os=-bsd 521b3307321Smrg ;; 522b3307321Smrg convex-c32) 523b3307321Smrg basic_machine=c32-convex 524b3307321Smrg os=-bsd 525b3307321Smrg ;; 526b3307321Smrg convex-c34) 527b3307321Smrg basic_machine=c34-convex 528b3307321Smrg os=-bsd 529b3307321Smrg ;; 530b3307321Smrg convex-c38) 531b3307321Smrg basic_machine=c38-convex 532b3307321Smrg os=-bsd 533b3307321Smrg ;; 534b3307321Smrg cray | j90) 535b3307321Smrg basic_machine=j90-cray 536b3307321Smrg os=-unicos 537b3307321Smrg ;; 538afe13c8eSmrg craynv) 539afe13c8eSmrg basic_machine=craynv-cray 540afe13c8eSmrg os=-unicosmp 541afe13c8eSmrg ;; 542afe13c8eSmrg cr16) 543afe13c8eSmrg basic_machine=cr16-unknown 544afe13c8eSmrg os=-elf 545afe13c8eSmrg ;; 546b3307321Smrg crds | unos) 547b3307321Smrg basic_machine=m68k-crds 548b3307321Smrg ;; 549afe13c8eSmrg crisv32 | crisv32-* | etraxfs*) 550afe13c8eSmrg basic_machine=crisv32-axis 551afe13c8eSmrg ;; 552b3307321Smrg cris | cris-* | etrax*) 553b3307321Smrg basic_machine=cris-axis 554b3307321Smrg ;; 555afe13c8eSmrg crx) 556afe13c8eSmrg basic_machine=crx-unknown 557afe13c8eSmrg os=-elf 558afe13c8eSmrg ;; 559b3307321Smrg da30 | da30-*) 560b3307321Smrg basic_machine=m68k-da30 561b3307321Smrg ;; 562b3307321Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 563b3307321Smrg basic_machine=mips-dec 564b3307321Smrg ;; 565b3307321Smrg decsystem10* | dec10*) 566b3307321Smrg basic_machine=pdp10-dec 567b3307321Smrg os=-tops10 568b3307321Smrg ;; 569b3307321Smrg decsystem20* | dec20*) 570b3307321Smrg basic_machine=pdp10-dec 571b3307321Smrg os=-tops20 572b3307321Smrg ;; 573b3307321Smrg delta | 3300 | motorola-3300 | motorola-delta \ 574b3307321Smrg | 3300-motorola | delta-motorola) 575b3307321Smrg basic_machine=m68k-motorola 576b3307321Smrg ;; 577b3307321Smrg delta88) 578b3307321Smrg basic_machine=m88k-motorola 579b3307321Smrg os=-sysv3 580b3307321Smrg ;; 5815e358ecaSmrg dicos) 5825e358ecaSmrg basic_machine=i686-pc 5835e358ecaSmrg os=-dicos 5845e358ecaSmrg ;; 585afe13c8eSmrg djgpp) 586afe13c8eSmrg basic_machine=i586-pc 587afe13c8eSmrg os=-msdosdjgpp 588afe13c8eSmrg ;; 589b3307321Smrg dpx20 | dpx20-*) 590b3307321Smrg basic_machine=rs6000-bull 591b3307321Smrg os=-bosx 592b3307321Smrg ;; 593b3307321Smrg dpx2* | dpx2*-bull) 594b3307321Smrg basic_machine=m68k-bull 595b3307321Smrg os=-sysv3 596b3307321Smrg ;; 597b3307321Smrg ebmon29k) 598b3307321Smrg basic_machine=a29k-amd 599b3307321Smrg os=-ebmon 600b3307321Smrg ;; 601b3307321Smrg elxsi) 602b3307321Smrg basic_machine=elxsi-elxsi 603b3307321Smrg os=-bsd 604b3307321Smrg ;; 605b3307321Smrg encore | umax | mmax) 606b3307321Smrg basic_machine=ns32k-encore 607b3307321Smrg ;; 608b3307321Smrg es1800 | OSE68k | ose68k | ose | OSE) 609b3307321Smrg basic_machine=m68k-ericsson 610b3307321Smrg os=-ose 611b3307321Smrg ;; 612b3307321Smrg fx2800) 613b3307321Smrg basic_machine=i860-alliant 614b3307321Smrg ;; 615b3307321Smrg genix) 616b3307321Smrg basic_machine=ns32k-ns 617b3307321Smrg ;; 618b3307321Smrg gmicro) 619b3307321Smrg basic_machine=tron-gmicro 620b3307321Smrg os=-sysv 621b3307321Smrg ;; 622b3307321Smrg go32) 623b3307321Smrg basic_machine=i386-pc 624b3307321Smrg os=-go32 625b3307321Smrg ;; 626b3307321Smrg h3050r* | hiux*) 627b3307321Smrg basic_machine=hppa1.1-hitachi 628b3307321Smrg os=-hiuxwe2 629b3307321Smrg ;; 630b3307321Smrg h8300hms) 631b3307321Smrg basic_machine=h8300-hitachi 632b3307321Smrg os=-hms 633b3307321Smrg ;; 634b3307321Smrg h8300xray) 635b3307321Smrg basic_machine=h8300-hitachi 636b3307321Smrg os=-xray 637b3307321Smrg ;; 638b3307321Smrg h8500hms) 639b3307321Smrg basic_machine=h8500-hitachi 640b3307321Smrg os=-hms 641b3307321Smrg ;; 642b3307321Smrg harris) 643b3307321Smrg basic_machine=m88k-harris 644b3307321Smrg os=-sysv3 645b3307321Smrg ;; 646b3307321Smrg hp300-*) 647b3307321Smrg basic_machine=m68k-hp 648b3307321Smrg ;; 649b3307321Smrg hp300bsd) 650b3307321Smrg basic_machine=m68k-hp 651b3307321Smrg os=-bsd 652b3307321Smrg ;; 653b3307321Smrg hp300hpux) 654b3307321Smrg basic_machine=m68k-hp 655b3307321Smrg os=-hpux 656b3307321Smrg ;; 657b3307321Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 658b3307321Smrg basic_machine=hppa1.0-hp 659b3307321Smrg ;; 660b3307321Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 661b3307321Smrg basic_machine=m68000-hp 662b3307321Smrg ;; 663b3307321Smrg hp9k3[2-9][0-9]) 664b3307321Smrg basic_machine=m68k-hp 665b3307321Smrg ;; 666b3307321Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 667b3307321Smrg basic_machine=hppa1.0-hp 668b3307321Smrg ;; 669b3307321Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 670b3307321Smrg basic_machine=hppa1.1-hp 671b3307321Smrg ;; 672b3307321Smrg hp9k78[0-9] | hp78[0-9]) 673b3307321Smrg # FIXME: really hppa2.0-hp 674b3307321Smrg basic_machine=hppa1.1-hp 675b3307321Smrg ;; 676b3307321Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 677b3307321Smrg # FIXME: really hppa2.0-hp 678b3307321Smrg basic_machine=hppa1.1-hp 679b3307321Smrg ;; 680b3307321Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 681b3307321Smrg basic_machine=hppa1.1-hp 682b3307321Smrg ;; 683b3307321Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 684b3307321Smrg basic_machine=hppa1.0-hp 685b3307321Smrg ;; 686b3307321Smrg hppa-next) 687b3307321Smrg os=-nextstep3 688b3307321Smrg ;; 689b3307321Smrg hppaosf) 690b3307321Smrg basic_machine=hppa1.1-hp 691b3307321Smrg os=-osf 692b3307321Smrg ;; 693b3307321Smrg hppro) 694b3307321Smrg basic_machine=hppa1.1-hp 695b3307321Smrg os=-proelf 696b3307321Smrg ;; 697b3307321Smrg i370-ibm* | ibm*) 698b3307321Smrg basic_machine=i370-ibm 699b3307321Smrg ;; 700b3307321Smrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 701b3307321Smrg i*86v32) 702b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 703b3307321Smrg os=-sysv32 704b3307321Smrg ;; 705b3307321Smrg i*86v4*) 706b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 707b3307321Smrg os=-sysv4 708b3307321Smrg ;; 709b3307321Smrg i*86v) 710b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 711b3307321Smrg os=-sysv 712b3307321Smrg ;; 713b3307321Smrg i*86sol2) 714b3307321Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 715b3307321Smrg os=-solaris2 716b3307321Smrg ;; 717b3307321Smrg i386mach) 718b3307321Smrg basic_machine=i386-mach 719b3307321Smrg os=-mach 720b3307321Smrg ;; 721b3307321Smrg i386-vsta | vsta) 722b3307321Smrg basic_machine=i386-unknown 723b3307321Smrg os=-vsta 724b3307321Smrg ;; 725b3307321Smrg iris | iris4d) 726b3307321Smrg basic_machine=mips-sgi 727b3307321Smrg case $os in 728b3307321Smrg -irix*) 729b3307321Smrg ;; 730b3307321Smrg *) 731b3307321Smrg os=-irix4 732b3307321Smrg ;; 733b3307321Smrg esac 734b3307321Smrg ;; 735b3307321Smrg isi68 | isi) 736b3307321Smrg basic_machine=m68k-isi 737b3307321Smrg os=-sysv 738b3307321Smrg ;; 739afe13c8eSmrg m68knommu) 740afe13c8eSmrg basic_machine=m68k-unknown 741afe13c8eSmrg os=-linux 742afe13c8eSmrg ;; 743afe13c8eSmrg m68knommu-*) 744afe13c8eSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 745afe13c8eSmrg os=-linux 746afe13c8eSmrg ;; 747b3307321Smrg m88k-omron*) 748b3307321Smrg basic_machine=m88k-omron 749b3307321Smrg ;; 750b3307321Smrg magnum | m3230) 751b3307321Smrg basic_machine=mips-mips 752b3307321Smrg os=-sysv 753b3307321Smrg ;; 754b3307321Smrg merlin) 755b3307321Smrg basic_machine=ns32k-utek 756b3307321Smrg os=-sysv 757b3307321Smrg ;; 75829cb5710Smrg microblaze) 75929cb5710Smrg basic_machine=microblaze-xilinx 76029cb5710Smrg ;; 761b3307321Smrg mingw32) 762b3307321Smrg basic_machine=i386-pc 763b3307321Smrg os=-mingw32 764b3307321Smrg ;; 765afe13c8eSmrg mingw32ce) 766afe13c8eSmrg basic_machine=arm-unknown 767afe13c8eSmrg os=-mingw32ce 768afe13c8eSmrg ;; 769b3307321Smrg miniframe) 770b3307321Smrg basic_machine=m68000-convergent 771b3307321Smrg ;; 772b3307321Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 773b3307321Smrg basic_machine=m68k-atari 774b3307321Smrg os=-mint 775b3307321Smrg ;; 776b3307321Smrg mips3*-*) 777b3307321Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 778b3307321Smrg ;; 779b3307321Smrg mips3*) 780b3307321Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 781b3307321Smrg ;; 782b3307321Smrg monitor) 783b3307321Smrg basic_machine=m68k-rom68k 784b3307321Smrg os=-coff 785b3307321Smrg ;; 786b3307321Smrg morphos) 787b3307321Smrg basic_machine=powerpc-unknown 788b3307321Smrg os=-morphos 789b3307321Smrg ;; 790b3307321Smrg msdos) 791b3307321Smrg basic_machine=i386-pc 792b3307321Smrg os=-msdos 793b3307321Smrg ;; 794afe13c8eSmrg ms1-*) 795afe13c8eSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 796afe13c8eSmrg ;; 797b3307321Smrg mvs) 798b3307321Smrg basic_machine=i370-ibm 799b3307321Smrg os=-mvs 800b3307321Smrg ;; 801b3307321Smrg ncr3000) 802b3307321Smrg basic_machine=i486-ncr 803b3307321Smrg os=-sysv4 804b3307321Smrg ;; 805b3307321Smrg netbsd386) 806b3307321Smrg basic_machine=i386-unknown 807b3307321Smrg os=-netbsd 808b3307321Smrg ;; 809b3307321Smrg netwinder) 810b3307321Smrg basic_machine=armv4l-rebel 811b3307321Smrg os=-linux 812b3307321Smrg ;; 813b3307321Smrg news | news700 | news800 | news900) 814b3307321Smrg basic_machine=m68k-sony 815b3307321Smrg os=-newsos 816b3307321Smrg ;; 817b3307321Smrg news1000) 818b3307321Smrg basic_machine=m68030-sony 819b3307321Smrg os=-newsos 820b3307321Smrg ;; 821b3307321Smrg news-3600 | risc-news) 822b3307321Smrg basic_machine=mips-sony 823b3307321Smrg os=-newsos 824b3307321Smrg ;; 825b3307321Smrg necv70) 826b3307321Smrg basic_machine=v70-nec 827b3307321Smrg os=-sysv 828b3307321Smrg ;; 829b3307321Smrg next | m*-next ) 830b3307321Smrg basic_machine=m68k-next 831b3307321Smrg case $os in 832b3307321Smrg -nextstep* ) 833b3307321Smrg ;; 834b3307321Smrg -ns2*) 835b3307321Smrg os=-nextstep2 836b3307321Smrg ;; 837b3307321Smrg *) 838b3307321Smrg os=-nextstep3 839b3307321Smrg ;; 840b3307321Smrg esac 841b3307321Smrg ;; 842b3307321Smrg nh3000) 843b3307321Smrg basic_machine=m68k-harris 844b3307321Smrg os=-cxux 845b3307321Smrg ;; 846b3307321Smrg nh[45]000) 847b3307321Smrg basic_machine=m88k-harris 848b3307321Smrg os=-cxux 849b3307321Smrg ;; 850b3307321Smrg nindy960) 851b3307321Smrg basic_machine=i960-intel 852b3307321Smrg os=-nindy 853b3307321Smrg ;; 854b3307321Smrg mon960) 855b3307321Smrg basic_machine=i960-intel 856b3307321Smrg os=-mon960 857b3307321Smrg ;; 858b3307321Smrg nonstopux) 859b3307321Smrg basic_machine=mips-compaq 860b3307321Smrg os=-nonstopux 861b3307321Smrg ;; 862b3307321Smrg np1) 863b3307321Smrg basic_machine=np1-gould 864b3307321Smrg ;; 86529cb5710Smrg neo-tandem) 86629cb5710Smrg basic_machine=neo-tandem 86729cb5710Smrg ;; 86829cb5710Smrg nse-tandem) 86929cb5710Smrg basic_machine=nse-tandem 87029cb5710Smrg ;; 871b3307321Smrg nsr-tandem) 872b3307321Smrg basic_machine=nsr-tandem 873b3307321Smrg ;; 874b3307321Smrg op50n-* | op60c-*) 875b3307321Smrg basic_machine=hppa1.1-oki 876b3307321Smrg os=-proelf 877b3307321Smrg ;; 878afe13c8eSmrg openrisc | openrisc-*) 879b3307321Smrg basic_machine=or32-unknown 880afe13c8eSmrg ;; 881afe13c8eSmrg os400) 882afe13c8eSmrg basic_machine=powerpc-ibm 883afe13c8eSmrg os=-os400 884b3307321Smrg ;; 885b3307321Smrg OSE68000 | ose68000) 886b3307321Smrg basic_machine=m68000-ericsson 887b3307321Smrg os=-ose 888b3307321Smrg ;; 889b3307321Smrg os68k) 890b3307321Smrg basic_machine=m68k-none 891b3307321Smrg os=-os68k 892b3307321Smrg ;; 893b3307321Smrg pa-hitachi) 894b3307321Smrg basic_machine=hppa1.1-hitachi 895b3307321Smrg os=-hiuxwe2 896b3307321Smrg ;; 897b3307321Smrg paragon) 898b3307321Smrg basic_machine=i860-intel 899b3307321Smrg os=-osf 900b3307321Smrg ;; 901afe13c8eSmrg parisc) 902afe13c8eSmrg basic_machine=hppa-unknown 903afe13c8eSmrg os=-linux 904afe13c8eSmrg ;; 905afe13c8eSmrg parisc-*) 906afe13c8eSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 907afe13c8eSmrg os=-linux 908afe13c8eSmrg ;; 909b3307321Smrg pbd) 910b3307321Smrg basic_machine=sparc-tti 911b3307321Smrg ;; 912b3307321Smrg pbb) 913b3307321Smrg basic_machine=m68k-tti 914b3307321Smrg ;; 915b3307321Smrg pc532 | pc532-*) 916b3307321Smrg basic_machine=ns32k-pc532 917b3307321Smrg ;; 918afe13c8eSmrg pc98) 919afe13c8eSmrg basic_machine=i386-pc 920afe13c8eSmrg ;; 921afe13c8eSmrg pc98-*) 922afe13c8eSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 923afe13c8eSmrg ;; 924b3307321Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 925b3307321Smrg basic_machine=i586-pc 926b3307321Smrg ;; 927b3307321Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 928b3307321Smrg basic_machine=i686-pc 929b3307321Smrg ;; 930b3307321Smrg pentiumii | pentium2 | pentiumiii | pentium3) 931b3307321Smrg basic_machine=i686-pc 932b3307321Smrg ;; 933b3307321Smrg pentium4) 934b3307321Smrg basic_machine=i786-pc 935b3307321Smrg ;; 936b3307321Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 937b3307321Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 938b3307321Smrg ;; 939b3307321Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 940b3307321Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 941b3307321Smrg ;; 942b3307321Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 943b3307321Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 944b3307321Smrg ;; 945b3307321Smrg pentium4-*) 946b3307321Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 947b3307321Smrg ;; 948b3307321Smrg pn) 949b3307321Smrg basic_machine=pn-gould 950b3307321Smrg ;; 951b3307321Smrg power) basic_machine=power-ibm 952b3307321Smrg ;; 953b3307321Smrg ppc) basic_machine=powerpc-unknown 954b3307321Smrg ;; 955b3307321Smrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 956b3307321Smrg ;; 957b3307321Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 958b3307321Smrg basic_machine=powerpcle-unknown 959b3307321Smrg ;; 960b3307321Smrg ppcle-* | powerpclittle-*) 961b3307321Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 962b3307321Smrg ;; 963b3307321Smrg ppc64) basic_machine=powerpc64-unknown 964b3307321Smrg ;; 965b3307321Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 966b3307321Smrg ;; 967b3307321Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 968b3307321Smrg basic_machine=powerpc64le-unknown 969b3307321Smrg ;; 970b3307321Smrg ppc64le-* | powerpc64little-*) 971b3307321Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 972b3307321Smrg ;; 973b3307321Smrg ps2) 974b3307321Smrg basic_machine=i386-ibm 975b3307321Smrg ;; 976b3307321Smrg pw32) 977b3307321Smrg basic_machine=i586-unknown 978b3307321Smrg os=-pw32 979b3307321Smrg ;; 980afe13c8eSmrg rdos) 981afe13c8eSmrg basic_machine=i386-pc 982afe13c8eSmrg os=-rdos 983afe13c8eSmrg ;; 984b3307321Smrg rom68k) 985b3307321Smrg basic_machine=m68k-rom68k 986b3307321Smrg os=-coff 987b3307321Smrg ;; 988b3307321Smrg rm[46]00) 989b3307321Smrg basic_machine=mips-siemens 990b3307321Smrg ;; 991b3307321Smrg rtpc | rtpc-*) 992b3307321Smrg basic_machine=romp-ibm 993b3307321Smrg ;; 994afe13c8eSmrg s390 | s390-*) 995afe13c8eSmrg basic_machine=s390-ibm 996afe13c8eSmrg ;; 997afe13c8eSmrg s390x | s390x-*) 998afe13c8eSmrg basic_machine=s390x-ibm 999afe13c8eSmrg ;; 1000b3307321Smrg sa29200) 1001b3307321Smrg basic_machine=a29k-amd 1002b3307321Smrg os=-udi 1003b3307321Smrg ;; 1004b3307321Smrg sb1) 1005b3307321Smrg basic_machine=mipsisa64sb1-unknown 1006b3307321Smrg ;; 1007b3307321Smrg sb1el) 1008b3307321Smrg basic_machine=mipsisa64sb1el-unknown 1009b3307321Smrg ;; 1010afe13c8eSmrg sde) 1011afe13c8eSmrg basic_machine=mipsisa32-sde 1012afe13c8eSmrg os=-elf 1013afe13c8eSmrg ;; 1014b3307321Smrg sei) 1015b3307321Smrg basic_machine=mips-sei 1016b3307321Smrg os=-seiux 1017b3307321Smrg ;; 1018b3307321Smrg sequent) 1019b3307321Smrg basic_machine=i386-sequent 1020b3307321Smrg ;; 1021b3307321Smrg sh) 1022b3307321Smrg basic_machine=sh-hitachi 1023b3307321Smrg os=-hms 1024b3307321Smrg ;; 1025afe13c8eSmrg sh5el) 1026afe13c8eSmrg basic_machine=sh5le-unknown 1027afe13c8eSmrg ;; 1028b3307321Smrg sh64) 1029b3307321Smrg basic_machine=sh64-unknown 1030b3307321Smrg ;; 1031b3307321Smrg sparclite-wrs | simso-wrs) 1032b3307321Smrg basic_machine=sparclite-wrs 1033b3307321Smrg os=-vxworks 1034b3307321Smrg ;; 1035b3307321Smrg sps7) 1036b3307321Smrg basic_machine=m68k-bull 1037b3307321Smrg os=-sysv2 1038b3307321Smrg ;; 1039b3307321Smrg spur) 1040b3307321Smrg basic_machine=spur-unknown 1041b3307321Smrg ;; 1042b3307321Smrg st2000) 1043b3307321Smrg basic_machine=m68k-tandem 1044b3307321Smrg ;; 1045b3307321Smrg stratus) 1046b3307321Smrg basic_machine=i860-stratus 1047b3307321Smrg os=-sysv4 1048b3307321Smrg ;; 1049b3307321Smrg sun2) 1050b3307321Smrg basic_machine=m68000-sun 1051b3307321Smrg ;; 1052b3307321Smrg sun2os3) 1053b3307321Smrg basic_machine=m68000-sun 1054b3307321Smrg os=-sunos3 1055b3307321Smrg ;; 1056b3307321Smrg sun2os4) 1057b3307321Smrg basic_machine=m68000-sun 1058b3307321Smrg os=-sunos4 1059b3307321Smrg ;; 1060b3307321Smrg sun3os3) 1061b3307321Smrg basic_machine=m68k-sun 1062b3307321Smrg os=-sunos3 1063b3307321Smrg ;; 1064b3307321Smrg sun3os4) 1065b3307321Smrg basic_machine=m68k-sun 1066b3307321Smrg os=-sunos4 1067b3307321Smrg ;; 1068b3307321Smrg sun4os3) 1069b3307321Smrg basic_machine=sparc-sun 1070b3307321Smrg os=-sunos3 1071b3307321Smrg ;; 1072b3307321Smrg sun4os4) 1073b3307321Smrg basic_machine=sparc-sun 1074b3307321Smrg os=-sunos4 1075b3307321Smrg ;; 1076b3307321Smrg sun4sol2) 1077b3307321Smrg basic_machine=sparc-sun 1078b3307321Smrg os=-solaris2 1079b3307321Smrg ;; 1080b3307321Smrg sun3 | sun3-*) 1081b3307321Smrg basic_machine=m68k-sun 1082b3307321Smrg ;; 1083b3307321Smrg sun4) 1084b3307321Smrg basic_machine=sparc-sun 1085b3307321Smrg ;; 1086b3307321Smrg sun386 | sun386i | roadrunner) 1087b3307321Smrg basic_machine=i386-sun 1088b3307321Smrg ;; 1089b3307321Smrg sv1) 1090b3307321Smrg basic_machine=sv1-cray 1091b3307321Smrg os=-unicos 1092b3307321Smrg ;; 1093b3307321Smrg symmetry) 1094b3307321Smrg basic_machine=i386-sequent 1095b3307321Smrg os=-dynix 1096b3307321Smrg ;; 1097b3307321Smrg t3e) 1098b3307321Smrg basic_machine=alphaev5-cray 1099b3307321Smrg os=-unicos 1100b3307321Smrg ;; 1101b3307321Smrg t90) 1102b3307321Smrg basic_machine=t90-cray 1103b3307321Smrg os=-unicos 1104b3307321Smrg ;; 110529cb5710Smrg # This must be matched before tile*. 110629cb5710Smrg tilegx*) 110729cb5710Smrg basic_machine=tilegx-unknown 110829cb5710Smrg os=-linux-gnu 1109b3307321Smrg ;; 1110afe13c8eSmrg tile*) 1111afe13c8eSmrg basic_machine=tile-unknown 1112afe13c8eSmrg os=-linux-gnu 1113afe13c8eSmrg ;; 1114b3307321Smrg tx39) 1115b3307321Smrg basic_machine=mipstx39-unknown 1116b3307321Smrg ;; 1117b3307321Smrg tx39el) 1118b3307321Smrg basic_machine=mipstx39el-unknown 1119b3307321Smrg ;; 1120b3307321Smrg toad1) 1121b3307321Smrg basic_machine=pdp10-xkl 1122b3307321Smrg os=-tops20 1123b3307321Smrg ;; 1124b3307321Smrg tower | tower-32) 1125b3307321Smrg basic_machine=m68k-ncr 1126b3307321Smrg ;; 1127afe13c8eSmrg tpf) 1128afe13c8eSmrg basic_machine=s390x-ibm 1129afe13c8eSmrg os=-tpf 1130afe13c8eSmrg ;; 1131b3307321Smrg udi29k) 1132b3307321Smrg basic_machine=a29k-amd 1133b3307321Smrg os=-udi 1134b3307321Smrg ;; 1135b3307321Smrg ultra3) 1136b3307321Smrg basic_machine=a29k-nyu 1137b3307321Smrg os=-sym1 1138b3307321Smrg ;; 1139b3307321Smrg v810 | necv810) 1140b3307321Smrg basic_machine=v810-nec 1141b3307321Smrg os=-none 1142b3307321Smrg ;; 1143b3307321Smrg vaxv) 1144b3307321Smrg basic_machine=vax-dec 1145b3307321Smrg os=-sysv 1146b3307321Smrg ;; 1147b3307321Smrg vms) 1148b3307321Smrg basic_machine=vax-dec 1149b3307321Smrg os=-vms 1150b3307321Smrg ;; 1151b3307321Smrg vpp*|vx|vx-*) 1152b3307321Smrg basic_machine=f301-fujitsu 1153b3307321Smrg ;; 1154b3307321Smrg vxworks960) 1155b3307321Smrg basic_machine=i960-wrs 1156b3307321Smrg os=-vxworks 1157b3307321Smrg ;; 1158b3307321Smrg vxworks68) 1159b3307321Smrg basic_machine=m68k-wrs 1160b3307321Smrg os=-vxworks 1161b3307321Smrg ;; 1162b3307321Smrg vxworks29k) 1163b3307321Smrg basic_machine=a29k-wrs 1164b3307321Smrg os=-vxworks 1165b3307321Smrg ;; 1166b3307321Smrg w65*) 1167b3307321Smrg basic_machine=w65-wdc 1168b3307321Smrg os=-none 1169b3307321Smrg ;; 1170b3307321Smrg w89k-*) 1171b3307321Smrg basic_machine=hppa1.1-winbond 1172b3307321Smrg os=-proelf 1173b3307321Smrg ;; 1174afe13c8eSmrg xbox) 1175afe13c8eSmrg basic_machine=i686-pc 1176afe13c8eSmrg os=-mingw32 1177afe13c8eSmrg ;; 1178b3307321Smrg xps | xps100) 1179b3307321Smrg basic_machine=xps100-honeywell 1180b3307321Smrg ;; 1181b3307321Smrg ymp) 1182b3307321Smrg basic_machine=ymp-cray 1183b3307321Smrg os=-unicos 1184b3307321Smrg ;; 1185b3307321Smrg z8k-*-coff) 1186b3307321Smrg basic_machine=z8k-unknown 1187b3307321Smrg os=-sim 1188b3307321Smrg ;; 11895e358ecaSmrg z80-*-coff) 11905e358ecaSmrg basic_machine=z80-unknown 11915e358ecaSmrg os=-sim 11925e358ecaSmrg ;; 1193b3307321Smrg none) 1194b3307321Smrg basic_machine=none-none 1195b3307321Smrg os=-none 1196b3307321Smrg ;; 1197b3307321Smrg 1198b3307321Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1199b3307321Smrg# some cases the only manufacturer, in others, it is the most popular. 1200b3307321Smrg w89k) 1201b3307321Smrg basic_machine=hppa1.1-winbond 1202b3307321Smrg ;; 1203b3307321Smrg op50n) 1204b3307321Smrg basic_machine=hppa1.1-oki 1205b3307321Smrg ;; 1206b3307321Smrg op60c) 1207b3307321Smrg basic_machine=hppa1.1-oki 1208b3307321Smrg ;; 1209b3307321Smrg romp) 1210b3307321Smrg basic_machine=romp-ibm 1211b3307321Smrg ;; 1212afe13c8eSmrg mmix) 1213afe13c8eSmrg basic_machine=mmix-knuth 1214afe13c8eSmrg ;; 1215b3307321Smrg rs6000) 1216b3307321Smrg basic_machine=rs6000-ibm 1217b3307321Smrg ;; 1218b3307321Smrg vax) 1219b3307321Smrg basic_machine=vax-dec 1220b3307321Smrg ;; 1221b3307321Smrg pdp10) 1222b3307321Smrg # there are many clones, so DEC is not a safe bet 1223b3307321Smrg basic_machine=pdp10-unknown 1224b3307321Smrg ;; 1225b3307321Smrg pdp11) 1226b3307321Smrg basic_machine=pdp11-dec 1227b3307321Smrg ;; 1228b3307321Smrg we32k) 1229b3307321Smrg basic_machine=we32k-att 1230b3307321Smrg ;; 12315e358ecaSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1232b3307321Smrg basic_machine=sh-unknown 1233b3307321Smrg ;; 1234afe13c8eSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1235b3307321Smrg basic_machine=sparc-sun 1236b3307321Smrg ;; 1237b3307321Smrg cydra) 1238b3307321Smrg basic_machine=cydra-cydrome 1239b3307321Smrg ;; 1240b3307321Smrg orion) 1241b3307321Smrg basic_machine=orion-highlevel 1242b3307321Smrg ;; 1243b3307321Smrg orion105) 1244b3307321Smrg basic_machine=clipper-highlevel 1245b3307321Smrg ;; 1246b3307321Smrg mac | mpw | mac-mpw) 1247b3307321Smrg basic_machine=m68k-apple 1248b3307321Smrg ;; 1249b3307321Smrg pmac | pmac-mpw) 1250b3307321Smrg basic_machine=powerpc-apple 1251b3307321Smrg ;; 1252b3307321Smrg *-unknown) 1253b3307321Smrg # Make sure to match an already-canonicalized machine name. 1254b3307321Smrg ;; 1255b3307321Smrg *) 1256b3307321Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1257b3307321Smrg exit 1 1258b3307321Smrg ;; 1259b3307321Smrgesac 1260b3307321Smrg 1261b3307321Smrg# Here we canonicalize certain aliases for manufacturers. 1262b3307321Smrgcase $basic_machine in 1263b3307321Smrg *-digital*) 1264b3307321Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1265b3307321Smrg ;; 1266b3307321Smrg *-commodore*) 1267b3307321Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1268b3307321Smrg ;; 1269b3307321Smrg *) 1270b3307321Smrg ;; 1271b3307321Smrgesac 1272b3307321Smrg 1273b3307321Smrg# Decode manufacturer-specific aliases for certain operating systems. 1274b3307321Smrg 1275b3307321Smrgif [ x"$os" != x"" ] 1276b3307321Smrgthen 1277b3307321Smrgcase $os in 1278b3307321Smrg # First match some system type aliases 1279b3307321Smrg # that might get confused with valid system types. 1280b3307321Smrg # -solaris* is a basic system type, with this one exception. 128129cb5710Smrg -auroraux) 128229cb5710Smrg os=-auroraux 128329cb5710Smrg ;; 1284b3307321Smrg -solaris1 | -solaris1.*) 1285b3307321Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1286b3307321Smrg ;; 1287b3307321Smrg -solaris) 1288b3307321Smrg os=-solaris2 1289b3307321Smrg ;; 1290b3307321Smrg -svr4*) 1291b3307321Smrg os=-sysv4 1292b3307321Smrg ;; 1293b3307321Smrg -unixware*) 1294b3307321Smrg os=-sysv4.2uw 1295b3307321Smrg ;; 1296b3307321Smrg -gnu/linux*) 1297b3307321Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1298b3307321Smrg ;; 1299b3307321Smrg # First accept the basic system types. 1300b3307321Smrg # The portable systems comes first. 1301b3307321Smrg # Each alternative MUST END IN A *, to match a version number. 1302b3307321Smrg # -sysv* is not here because it comes later, after sysvr4. 1303b3307321Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 130429cb5710Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 130529cb5710Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 130629cb5710Smrg | -sym* | -kopensolaris* \ 1307b3307321Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13085e358ecaSmrg | -aos* | -aros* \ 1309b3307321Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1310b3307321Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1311afe13c8eSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1312afe13c8eSmrg | -openbsd* | -solidbsd* \ 1313afe13c8eSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1314afe13c8eSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1315b3307321Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1316b3307321Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13175e358ecaSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 1318b3307321Smrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 131929cb5710Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 132029cb5710Smrg | -linux-newlib* | -linux-uclibc* \ 1321afe13c8eSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1322b3307321Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1323b3307321Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1324b3307321Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1325b3307321Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1326b3307321Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1327afe13c8eSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 132829cb5710Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1329b3307321Smrg # Remember, each alternative MUST END IN *, to match a version number. 1330b3307321Smrg ;; 1331b3307321Smrg -qnx*) 1332b3307321Smrg case $basic_machine in 1333b3307321Smrg x86-* | i*86-*) 1334b3307321Smrg ;; 1335b3307321Smrg *) 1336b3307321Smrg os=-nto$os 1337b3307321Smrg ;; 1338b3307321Smrg esac 1339b3307321Smrg ;; 1340b3307321Smrg -nto-qnx*) 1341b3307321Smrg ;; 1342b3307321Smrg -nto*) 1343b3307321Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1344b3307321Smrg ;; 1345b3307321Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1346afe13c8eSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1347b3307321Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1348b3307321Smrg ;; 1349b3307321Smrg -mac*) 1350b3307321Smrg os=`echo $os | sed -e 's|mac|macos|'` 1351b3307321Smrg ;; 1352afe13c8eSmrg -linux-dietlibc) 1353afe13c8eSmrg os=-linux-dietlibc 1354afe13c8eSmrg ;; 1355b3307321Smrg -linux*) 1356b3307321Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1357b3307321Smrg ;; 1358b3307321Smrg -sunos5*) 1359b3307321Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1360b3307321Smrg ;; 1361b3307321Smrg -sunos6*) 1362b3307321Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1363b3307321Smrg ;; 1364b3307321Smrg -opened*) 1365b3307321Smrg os=-openedition 1366b3307321Smrg ;; 1367afe13c8eSmrg -os400*) 1368afe13c8eSmrg os=-os400 1369afe13c8eSmrg ;; 1370b3307321Smrg -wince*) 1371b3307321Smrg os=-wince 1372b3307321Smrg ;; 1373b3307321Smrg -osfrose*) 1374b3307321Smrg os=-osfrose 1375b3307321Smrg ;; 1376b3307321Smrg -osf*) 1377b3307321Smrg os=-osf 1378b3307321Smrg ;; 1379b3307321Smrg -utek*) 1380b3307321Smrg os=-bsd 1381b3307321Smrg ;; 1382b3307321Smrg -dynix*) 1383b3307321Smrg os=-bsd 1384b3307321Smrg ;; 1385b3307321Smrg -acis*) 1386b3307321Smrg os=-aos 1387b3307321Smrg ;; 1388b3307321Smrg -atheos*) 1389b3307321Smrg os=-atheos 1390b3307321Smrg ;; 1391afe13c8eSmrg -syllable*) 1392afe13c8eSmrg os=-syllable 1393afe13c8eSmrg ;; 1394b3307321Smrg -386bsd) 1395b3307321Smrg os=-bsd 1396b3307321Smrg ;; 1397b3307321Smrg -ctix* | -uts*) 1398b3307321Smrg os=-sysv 1399b3307321Smrg ;; 1400b3307321Smrg -nova*) 1401b3307321Smrg os=-rtmk-nova 1402b3307321Smrg ;; 1403b3307321Smrg -ns2 ) 1404b3307321Smrg os=-nextstep2 1405b3307321Smrg ;; 1406b3307321Smrg -nsk*) 1407b3307321Smrg os=-nsk 1408b3307321Smrg ;; 1409b3307321Smrg # Preserve the version number of sinix5. 1410b3307321Smrg -sinix5.*) 1411b3307321Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1412b3307321Smrg ;; 1413b3307321Smrg -sinix*) 1414b3307321Smrg os=-sysv4 1415b3307321Smrg ;; 1416afe13c8eSmrg -tpf*) 1417afe13c8eSmrg os=-tpf 1418afe13c8eSmrg ;; 1419b3307321Smrg -triton*) 1420b3307321Smrg os=-sysv3 1421b3307321Smrg ;; 1422b3307321Smrg -oss*) 1423b3307321Smrg os=-sysv3 1424b3307321Smrg ;; 1425b3307321Smrg -svr4) 1426b3307321Smrg os=-sysv4 1427b3307321Smrg ;; 1428b3307321Smrg -svr3) 1429b3307321Smrg os=-sysv3 1430b3307321Smrg ;; 1431b3307321Smrg -sysvr4) 1432b3307321Smrg os=-sysv4 1433b3307321Smrg ;; 1434b3307321Smrg # This must come after -sysvr4. 1435b3307321Smrg -sysv*) 1436b3307321Smrg ;; 1437b3307321Smrg -ose*) 1438b3307321Smrg os=-ose 1439b3307321Smrg ;; 1440b3307321Smrg -es1800*) 1441b3307321Smrg os=-ose 1442b3307321Smrg ;; 1443b3307321Smrg -xenix) 1444b3307321Smrg os=-xenix 1445b3307321Smrg ;; 1446b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1447b3307321Smrg os=-mint 1448b3307321Smrg ;; 1449b3307321Smrg -aros*) 1450b3307321Smrg os=-aros 1451b3307321Smrg ;; 1452b3307321Smrg -kaos*) 1453b3307321Smrg os=-kaos 1454b3307321Smrg ;; 1455afe13c8eSmrg -zvmoe) 1456afe13c8eSmrg os=-zvmoe 1457afe13c8eSmrg ;; 14585e358ecaSmrg -dicos*) 14595e358ecaSmrg os=-dicos 14605e358ecaSmrg ;; 146129cb5710Smrg -nacl*) 146229cb5710Smrg ;; 1463b3307321Smrg -none) 1464b3307321Smrg ;; 1465b3307321Smrg *) 1466b3307321Smrg # Get rid of the `-' at the beginning of $os. 1467b3307321Smrg os=`echo $os | sed 's/[^-]*-//'` 1468b3307321Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1469b3307321Smrg exit 1 1470b3307321Smrg ;; 1471b3307321Smrgesac 1472b3307321Smrgelse 1473b3307321Smrg 1474b3307321Smrg# Here we handle the default operating systems that come with various machines. 1475b3307321Smrg# The value should be what the vendor currently ships out the door with their 1476b3307321Smrg# machine or put another way, the most popular os provided with the machine. 1477b3307321Smrg 1478b3307321Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1479b3307321Smrg# "-sun"), then you have to tell the case statement up towards the top 1480b3307321Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1481b3307321Smrg# will signal an error saying that MANUFACTURER isn't an operating 1482b3307321Smrg# system, and we'll never get to this point. 1483b3307321Smrg 1484b3307321Smrgcase $basic_machine in 1485afe13c8eSmrg score-*) 1486afe13c8eSmrg os=-elf 1487afe13c8eSmrg ;; 1488afe13c8eSmrg spu-*) 1489afe13c8eSmrg os=-elf 1490afe13c8eSmrg ;; 1491b3307321Smrg *-acorn) 1492b3307321Smrg os=-riscix1.2 1493b3307321Smrg ;; 1494b3307321Smrg arm*-rebel) 1495b3307321Smrg os=-linux 1496b3307321Smrg ;; 1497b3307321Smrg arm*-semi) 1498b3307321Smrg os=-aout 1499b3307321Smrg ;; 1500afe13c8eSmrg c4x-* | tic4x-*) 1501afe13c8eSmrg os=-coff 1502b3307321Smrg ;; 150329cb5710Smrg tic54x-*) 150429cb5710Smrg os=-coff 150529cb5710Smrg ;; 150629cb5710Smrg tic55x-*) 150729cb5710Smrg os=-coff 150829cb5710Smrg ;; 150929cb5710Smrg tic6x-*) 151029cb5710Smrg os=-coff 151129cb5710Smrg ;; 1512b3307321Smrg # This must come before the *-dec entry. 1513b3307321Smrg pdp10-*) 1514b3307321Smrg os=-tops20 1515b3307321Smrg ;; 1516b3307321Smrg pdp11-*) 1517b3307321Smrg os=-none 1518b3307321Smrg ;; 1519b3307321Smrg *-dec | vax-*) 1520b3307321Smrg os=-ultrix4.2 1521b3307321Smrg ;; 1522b3307321Smrg m68*-apollo) 1523b3307321Smrg os=-domain 1524b3307321Smrg ;; 1525b3307321Smrg i386-sun) 1526b3307321Smrg os=-sunos4.0.2 1527b3307321Smrg ;; 1528b3307321Smrg m68000-sun) 1529b3307321Smrg os=-sunos3 1530b3307321Smrg # This also exists in the configure program, but was not the 1531b3307321Smrg # default. 1532b3307321Smrg # os=-sunos4 1533b3307321Smrg ;; 1534b3307321Smrg m68*-cisco) 1535b3307321Smrg os=-aout 1536b3307321Smrg ;; 1537afe13c8eSmrg mep-*) 1538afe13c8eSmrg os=-elf 1539afe13c8eSmrg ;; 1540b3307321Smrg mips*-cisco) 1541b3307321Smrg os=-elf 1542b3307321Smrg ;; 1543b3307321Smrg mips*-*) 1544b3307321Smrg os=-elf 1545b3307321Smrg ;; 1546b3307321Smrg or32-*) 1547b3307321Smrg os=-coff 1548b3307321Smrg ;; 1549b3307321Smrg *-tti) # must be before sparc entry or we get the wrong os. 1550b3307321Smrg os=-sysv3 1551b3307321Smrg ;; 1552b3307321Smrg sparc-* | *-sun) 1553b3307321Smrg os=-sunos4.1.1 1554b3307321Smrg ;; 1555b3307321Smrg *-be) 1556b3307321Smrg os=-beos 1557b3307321Smrg ;; 1558afe13c8eSmrg *-haiku) 1559afe13c8eSmrg os=-haiku 1560afe13c8eSmrg ;; 1561b3307321Smrg *-ibm) 1562b3307321Smrg os=-aix 1563b3307321Smrg ;; 1564afe13c8eSmrg *-knuth) 1565afe13c8eSmrg os=-mmixware 1566afe13c8eSmrg ;; 1567b3307321Smrg *-wec) 1568b3307321Smrg os=-proelf 1569b3307321Smrg ;; 1570b3307321Smrg *-winbond) 1571b3307321Smrg os=-proelf 1572b3307321Smrg ;; 1573b3307321Smrg *-oki) 1574b3307321Smrg os=-proelf 1575b3307321Smrg ;; 1576b3307321Smrg *-hp) 1577b3307321Smrg os=-hpux 1578b3307321Smrg ;; 1579b3307321Smrg *-hitachi) 1580b3307321Smrg os=-hiux 1581b3307321Smrg ;; 1582b3307321Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1583b3307321Smrg os=-sysv 1584b3307321Smrg ;; 1585b3307321Smrg *-cbm) 1586b3307321Smrg os=-amigaos 1587b3307321Smrg ;; 1588b3307321Smrg *-dg) 1589b3307321Smrg os=-dgux 1590b3307321Smrg ;; 1591b3307321Smrg *-dolphin) 1592b3307321Smrg os=-sysv3 1593b3307321Smrg ;; 1594b3307321Smrg m68k-ccur) 1595b3307321Smrg os=-rtu 1596b3307321Smrg ;; 1597b3307321Smrg m88k-omron*) 1598b3307321Smrg os=-luna 1599b3307321Smrg ;; 1600b3307321Smrg *-next ) 1601b3307321Smrg os=-nextstep 1602b3307321Smrg ;; 1603b3307321Smrg *-sequent) 1604b3307321Smrg os=-ptx 1605b3307321Smrg ;; 1606b3307321Smrg *-crds) 1607b3307321Smrg os=-unos 1608b3307321Smrg ;; 1609b3307321Smrg *-ns) 1610b3307321Smrg os=-genix 1611b3307321Smrg ;; 1612b3307321Smrg i370-*) 1613b3307321Smrg os=-mvs 1614b3307321Smrg ;; 1615b3307321Smrg *-next) 1616b3307321Smrg os=-nextstep3 1617b3307321Smrg ;; 1618b3307321Smrg *-gould) 1619b3307321Smrg os=-sysv 1620b3307321Smrg ;; 1621b3307321Smrg *-highlevel) 1622b3307321Smrg os=-bsd 1623b3307321Smrg ;; 1624b3307321Smrg *-encore) 1625b3307321Smrg os=-bsd 1626b3307321Smrg ;; 1627b3307321Smrg *-sgi) 1628b3307321Smrg os=-irix 1629b3307321Smrg ;; 1630b3307321Smrg *-siemens) 1631b3307321Smrg os=-sysv4 1632b3307321Smrg ;; 1633b3307321Smrg *-masscomp) 1634b3307321Smrg os=-rtu 1635b3307321Smrg ;; 1636b3307321Smrg f30[01]-fujitsu | f700-fujitsu) 1637b3307321Smrg os=-uxpv 1638b3307321Smrg ;; 1639b3307321Smrg *-rom68k) 1640b3307321Smrg os=-coff 1641b3307321Smrg ;; 1642b3307321Smrg *-*bug) 1643b3307321Smrg os=-coff 1644b3307321Smrg ;; 1645b3307321Smrg *-apple) 1646b3307321Smrg os=-macos 1647b3307321Smrg ;; 1648b3307321Smrg *-atari*) 1649b3307321Smrg os=-mint 1650b3307321Smrg ;; 1651b3307321Smrg *) 1652b3307321Smrg os=-none 1653b3307321Smrg ;; 1654b3307321Smrgesac 1655b3307321Smrgfi 1656b3307321Smrg 1657b3307321Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1658b3307321Smrg# manufacturer. We pick the logical manufacturer. 1659b3307321Smrgvendor=unknown 1660b3307321Smrgcase $basic_machine in 1661b3307321Smrg *-unknown) 1662b3307321Smrg case $os in 1663b3307321Smrg -riscix*) 1664b3307321Smrg vendor=acorn 1665b3307321Smrg ;; 1666b3307321Smrg -sunos*) 1667b3307321Smrg vendor=sun 1668b3307321Smrg ;; 166929cb5710Smrg -cnk*|-aix*) 1670b3307321Smrg vendor=ibm 1671b3307321Smrg ;; 1672b3307321Smrg -beos*) 1673b3307321Smrg vendor=be 1674b3307321Smrg ;; 1675b3307321Smrg -hpux*) 1676b3307321Smrg vendor=hp 1677b3307321Smrg ;; 1678b3307321Smrg -mpeix*) 1679b3307321Smrg vendor=hp 1680b3307321Smrg ;; 1681b3307321Smrg -hiux*) 1682b3307321Smrg vendor=hitachi 1683b3307321Smrg ;; 1684b3307321Smrg -unos*) 1685b3307321Smrg vendor=crds 1686b3307321Smrg ;; 1687b3307321Smrg -dgux*) 1688b3307321Smrg vendor=dg 1689b3307321Smrg ;; 1690b3307321Smrg -luna*) 1691b3307321Smrg vendor=omron 1692b3307321Smrg ;; 1693b3307321Smrg -genix*) 1694b3307321Smrg vendor=ns 1695b3307321Smrg ;; 1696b3307321Smrg -mvs* | -opened*) 1697b3307321Smrg vendor=ibm 1698b3307321Smrg ;; 1699afe13c8eSmrg -os400*) 1700afe13c8eSmrg vendor=ibm 1701afe13c8eSmrg ;; 1702b3307321Smrg -ptx*) 1703b3307321Smrg vendor=sequent 1704b3307321Smrg ;; 1705afe13c8eSmrg -tpf*) 1706afe13c8eSmrg vendor=ibm 1707afe13c8eSmrg ;; 1708b3307321Smrg -vxsim* | -vxworks* | -windiss*) 1709b3307321Smrg vendor=wrs 1710b3307321Smrg ;; 1711b3307321Smrg -aux*) 1712b3307321Smrg vendor=apple 1713b3307321Smrg ;; 1714b3307321Smrg -hms*) 1715b3307321Smrg vendor=hitachi 1716b3307321Smrg ;; 1717b3307321Smrg -mpw* | -macos*) 1718b3307321Smrg vendor=apple 1719b3307321Smrg ;; 1720b3307321Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1721b3307321Smrg vendor=atari 1722b3307321Smrg ;; 1723b3307321Smrg -vos*) 1724b3307321Smrg vendor=stratus 1725b3307321Smrg ;; 1726b3307321Smrg esac 1727b3307321Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1728b3307321Smrg ;; 1729b3307321Smrgesac 1730b3307321Smrg 1731b3307321Smrgecho $basic_machine$os 1732afe13c8eSmrgexit 1733b3307321Smrg 1734b3307321Smrg# Local variables: 1735b3307321Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1736b3307321Smrg# time-stamp-start: "timestamp='" 1737b3307321Smrg# time-stamp-format: "%:y-%02m-%02d" 1738b3307321Smrg# time-stamp-end: "'" 1739b3307321Smrg# End: 1740