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