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