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