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