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