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