config.sub revision 8831d3fb
1100ae103Smrg#! /bin/sh 2100ae103Smrg# Configuration validation subroutine script. 3100ae103Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 48831d3fbSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 58831d3fbSmrg# 2011 Free Software Foundation, Inc. 6100ae103Smrg 78831d3fbSmrgtimestamp='2011-11-11' 8100ae103Smrg 9100ae103Smrg# This file is (in principle) common to ALL GNU software. 10100ae103Smrg# The presence of a machine in this file suggests that SOME GNU software 11100ae103Smrg# can handle that machine. It does not imply ALL GNU software can. 12100ae103Smrg# 13100ae103Smrg# This file is free software; you can redistribute it and/or modify 14100ae103Smrg# it under the terms of the GNU General Public License as published by 15100ae103Smrg# the Free Software Foundation; either version 2 of the License, or 16100ae103Smrg# (at your option) any later version. 17100ae103Smrg# 18100ae103Smrg# This program is distributed in the hope that it will be useful, 19100ae103Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20100ae103Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21100ae103Smrg# GNU General Public License for more details. 22100ae103Smrg# 23100ae103Smrg# You should have received a copy of the GNU General Public License 24100ae103Smrg# along with this program; if not, write to the Free Software 25100ae103Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26100ae103Smrg# 02110-1301, USA. 27100ae103Smrg# 28100ae103Smrg# As a special exception to the GNU General Public License, if you 29100ae103Smrg# distribute this file as part of a program that contains a 30100ae103Smrg# configuration script generated by Autoconf, you may include it under 31100ae103Smrg# the same distribution terms that you use for the rest of that program. 32100ae103Smrg 33100ae103Smrg 34100ae103Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 35165cb819Smrg# diff and a properly formatted GNU ChangeLog entry. 36100ae103Smrg# 37100ae103Smrg# Configuration subroutine to validate and canonicalize a configuration type. 38100ae103Smrg# Supply the specified configuration type as an argument. 39100ae103Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 40100ae103Smrg# Otherwise, we print the canonical config type on stdout and succeed. 41100ae103Smrg 42165cb819Smrg# You can get the latest version of this script from: 43165cb819Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 44165cb819Smrg 45100ae103Smrg# This file is supposed to be the same for all GNU packages 46100ae103Smrg# and recognize all the CPU types, system types and aliases 47100ae103Smrg# that are meaningful with *any* GNU software. 48100ae103Smrg# Each package is responsible for reporting which valid configurations 49100ae103Smrg# it does not support. The user should be able to distinguish 50100ae103Smrg# a failure to support a valid configuration from a meaningless 51100ae103Smrg# configuration. 52100ae103Smrg 53100ae103Smrg# The goal of this file is to map all the various variations of a given 54100ae103Smrg# machine specification into a single specification in the form: 55100ae103Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56100ae103Smrg# or in some cases, the newer four-part form: 57100ae103Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58100ae103Smrg# It is wrong to echo any other type of specification. 59100ae103Smrg 60100ae103Smrgme=`echo "$0" | sed -e 's,.*/,,'` 61100ae103Smrg 62100ae103Smrgusage="\ 63100ae103SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64100ae103Smrg $0 [OPTION] ALIAS 65100ae103Smrg 66100ae103SmrgCanonicalize a configuration name. 67100ae103Smrg 68100ae103SmrgOperation modes: 69100ae103Smrg -h, --help print this help, then exit 70100ae103Smrg -t, --time-stamp print date of last modification, then exit 71100ae103Smrg -v, --version print version number, then exit 72100ae103Smrg 73100ae103SmrgReport bugs and patches to <config-patches@gnu.org>." 74100ae103Smrg 75100ae103Smrgversion="\ 76100ae103SmrgGNU config.sub ($timestamp) 77100ae103Smrg 788831d3fbSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 798831d3fbSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free 808831d3fbSmrgSoftware Foundation, Inc. 81100ae103Smrg 82100ae103SmrgThis is free software; see the source for copying conditions. There is NO 83100ae103Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84100ae103Smrg 85100ae103Smrghelp=" 86100ae103SmrgTry \`$me --help' for more information." 87100ae103Smrg 88100ae103Smrg# Parse command line 89100ae103Smrgwhile test $# -gt 0 ; do 90100ae103Smrg case $1 in 91100ae103Smrg --time-stamp | --time* | -t ) 92100ae103Smrg echo "$timestamp" ; exit ;; 93100ae103Smrg --version | -v ) 94100ae103Smrg echo "$version" ; exit ;; 95100ae103Smrg --help | --h* | -h ) 96100ae103Smrg echo "$usage"; exit ;; 97100ae103Smrg -- ) # Stop option processing 98100ae103Smrg shift; break ;; 99100ae103Smrg - ) # Use stdin as input. 100100ae103Smrg break ;; 101100ae103Smrg -* ) 102100ae103Smrg echo "$me: invalid option $1$help" 103100ae103Smrg exit 1 ;; 104100ae103Smrg 105100ae103Smrg *local*) 106100ae103Smrg # First pass through any local machine types. 107100ae103Smrg echo $1 108100ae103Smrg exit ;; 109100ae103Smrg 110100ae103Smrg * ) 111100ae103Smrg break ;; 112100ae103Smrg esac 113100ae103Smrgdone 114100ae103Smrg 115100ae103Smrgcase $# in 116100ae103Smrg 0) echo "$me: missing argument$help" >&2 117100ae103Smrg exit 1;; 118100ae103Smrg 1) ;; 119100ae103Smrg *) echo "$me: too many arguments$help" >&2 120100ae103Smrg exit 1;; 121100ae103Smrgesac 122100ae103Smrg 123100ae103Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124100ae103Smrg# Here we must recognize all the valid KERNEL-OS combinations. 125100ae103Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126100ae103Smrgcase $maybe_os in 1278831d3fbSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1288831d3fbSmrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1298831d3fbSmrg knetbsd*-gnu* | netbsd*-gnu* | \ 130165cb819Smrg kopensolaris*-gnu* | \ 131165cb819Smrg storm-chaos* | os2-emx* | rtmk-nova*) 132100ae103Smrg os=-$maybe_os 133100ae103Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134100ae103Smrg ;; 135100ae103Smrg *) 136100ae103Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137100ae103Smrg if [ $basic_machine != $1 ] 138100ae103Smrg then os=`echo $1 | sed 's/.*-/-/'` 139100ae103Smrg else os=; fi 140100ae103Smrg ;; 141100ae103Smrgesac 142100ae103Smrg 143100ae103Smrg### Let's recognize common machines as not being operating systems so 144100ae103Smrg### that things like config.sub decstation-3100 work. We also 145100ae103Smrg### recognize some manufacturers as not being operating systems, so we 146100ae103Smrg### can provide default operating systems below. 147100ae103Smrgcase $os in 148100ae103Smrg -sun*os*) 149100ae103Smrg # Prevent following clause from handling this invalid input. 150100ae103Smrg ;; 151100ae103Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152100ae103Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153100ae103Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154100ae103Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155100ae103Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156100ae103Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 157165cb819Smrg -apple | -axis | -knuth | -cray | -microblaze) 158100ae103Smrg os= 159100ae103Smrg basic_machine=$1 160100ae103Smrg ;; 1618831d3fbSmrg -bluegene*) 1628831d3fbSmrg os=-cnk 163165cb819Smrg ;; 164100ae103Smrg -sim | -cisco | -oki | -wec | -winbond) 165100ae103Smrg os= 166100ae103Smrg basic_machine=$1 167100ae103Smrg ;; 168100ae103Smrg -scout) 169100ae103Smrg ;; 170100ae103Smrg -wrs) 171100ae103Smrg os=-vxworks 172100ae103Smrg basic_machine=$1 173100ae103Smrg ;; 174100ae103Smrg -chorusos*) 175100ae103Smrg os=-chorusos 176100ae103Smrg basic_machine=$1 177100ae103Smrg ;; 1788831d3fbSmrg -chorusrdb) 1798831d3fbSmrg os=-chorusrdb 180100ae103Smrg basic_machine=$1 1818831d3fbSmrg ;; 182100ae103Smrg -hiux*) 183100ae103Smrg os=-hiuxwe2 184100ae103Smrg ;; 185165cb819Smrg -sco6) 186165cb819Smrg os=-sco5v6 187165cb819Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188165cb819Smrg ;; 189100ae103Smrg -sco5) 190100ae103Smrg os=-sco3.2v5 191100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192100ae103Smrg ;; 193100ae103Smrg -sco4) 194100ae103Smrg os=-sco3.2v4 195100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196100ae103Smrg ;; 197100ae103Smrg -sco3.2.[4-9]*) 198100ae103Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200100ae103Smrg ;; 201100ae103Smrg -sco3.2v[4-9]*) 202100ae103Smrg # Don't forget version if it is 3.2v4 or newer. 203100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204100ae103Smrg ;; 205165cb819Smrg -sco5v6*) 206165cb819Smrg # Don't forget version if it is 3.2v4 or newer. 207165cb819Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 208165cb819Smrg ;; 209100ae103Smrg -sco*) 210100ae103Smrg os=-sco3.2v2 211100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212100ae103Smrg ;; 213100ae103Smrg -udk*) 214100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215100ae103Smrg ;; 216100ae103Smrg -isc) 217100ae103Smrg os=-isc2.2 218100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219100ae103Smrg ;; 220100ae103Smrg -clix*) 221100ae103Smrg basic_machine=clipper-intergraph 222100ae103Smrg ;; 223100ae103Smrg -isc*) 224100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225100ae103Smrg ;; 226100ae103Smrg -lynx*) 227100ae103Smrg os=-lynxos 228100ae103Smrg ;; 229100ae103Smrg -ptx*) 230100ae103Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231100ae103Smrg ;; 232100ae103Smrg -windowsnt*) 233100ae103Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234100ae103Smrg ;; 235100ae103Smrg -psos*) 236100ae103Smrg os=-psos 237100ae103Smrg ;; 238100ae103Smrg -mint | -mint[0-9]*) 239100ae103Smrg basic_machine=m68k-atari 240100ae103Smrg os=-mint 241100ae103Smrg ;; 242100ae103Smrgesac 243100ae103Smrg 244100ae103Smrg# Decode aliases for certain CPU-COMPANY combinations. 245100ae103Smrgcase $basic_machine in 246100ae103Smrg # Recognize the basic CPU types without company name. 247100ae103Smrg # Some are omitted here because they have special meanings below. 248100ae103Smrg 1750a | 580 \ 249100ae103Smrg | a29k \ 250100ae103Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251100ae103Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 252100ae103Smrg | am33_2.0 \ 253165cb819Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2548831d3fbSmrg | be32 | be64 \ 255100ae103Smrg | bfin \ 256100ae103Smrg | c4x | clipper \ 257100ae103Smrg | d10v | d30v | dlx | dsp16xx \ 2588831d3fbSmrg | epiphany \ 259165cb819Smrg | fido | fr30 | frv \ 260100ae103Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2618831d3fbSmrg | hexagon \ 262100ae103Smrg | i370 | i860 | i960 | ia64 \ 263100ae103Smrg | ip2k | iq2000 \ 2648831d3fbSmrg | le32 | le64 \ 265165cb819Smrg | lm32 \ 266165cb819Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 267165cb819Smrg | maxq | mb | microblaze | mcore | mep | metag \ 268100ae103Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 269100ae103Smrg | mips16 \ 270100ae103Smrg | mips64 | mips64el \ 271165cb819Smrg | mips64octeon | mips64octeonel \ 272100ae103Smrg | mips64orion | mips64orionel \ 273165cb819Smrg | mips64r5900 | mips64r5900el \ 274165cb819Smrg | mips64vr | mips64vrel \ 275100ae103Smrg | mips64vr4100 | mips64vr4100el \ 276100ae103Smrg | mips64vr4300 | mips64vr4300el \ 277100ae103Smrg | mips64vr5000 | mips64vr5000el \ 278100ae103Smrg | mips64vr5900 | mips64vr5900el \ 279100ae103Smrg | mipsisa32 | mipsisa32el \ 280100ae103Smrg | mipsisa32r2 | mipsisa32r2el \ 281100ae103Smrg | mipsisa64 | mipsisa64el \ 282100ae103Smrg | mipsisa64r2 | mipsisa64r2el \ 283100ae103Smrg | mipsisa64sb1 | mipsisa64sb1el \ 284100ae103Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 285100ae103Smrg | mipstx39 | mipstx39el \ 286100ae103Smrg | mn10200 | mn10300 \ 287165cb819Smrg | moxie \ 288165cb819Smrg | mt \ 289100ae103Smrg | msp430 \ 2908831d3fbSmrg | nds32 | nds32le | nds32be \ 291165cb819Smrg | nios | nios2 \ 292100ae103Smrg | ns16k | ns32k \ 2938831d3fbSmrg | open8 \ 294100ae103Smrg | or32 \ 295100ae103Smrg | pdp10 | pdp11 | pj | pjl \ 2968831d3fbSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 297100ae103Smrg | pyramid \ 2988831d3fbSmrg | rl78 | rx \ 299165cb819Smrg | score \ 300165cb819Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301100ae103Smrg | sh64 | sh64le \ 302165cb819Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 303165cb819Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3048831d3fbSmrg | spu \ 3058831d3fbSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 306165cb819Smrg | ubicom32 \ 3078831d3fbSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308100ae103Smrg | we32k \ 3098831d3fbSmrg | x86 | xc16x | xstormy16 | xtensa \ 310165cb819Smrg | z8k | z80) 311100ae103Smrg basic_machine=$basic_machine-unknown 312100ae103Smrg ;; 3138831d3fbSmrg c54x) 3148831d3fbSmrg basic_machine=tic54x-unknown 3158831d3fbSmrg ;; 3168831d3fbSmrg c55x) 3178831d3fbSmrg basic_machine=tic55x-unknown 3188831d3fbSmrg ;; 3198831d3fbSmrg c6x) 3208831d3fbSmrg basic_machine=tic6x-unknown 3218831d3fbSmrg ;; 322165cb819Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323100ae103Smrg # Motorola 68HC11/12. 324100ae103Smrg basic_machine=$basic_machine-unknown 325100ae103Smrg os=-none 326100ae103Smrg ;; 327100ae103Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 328100ae103Smrg ;; 329165cb819Smrg ms1) 330165cb819Smrg basic_machine=mt-unknown 331165cb819Smrg ;; 332100ae103Smrg 3338831d3fbSmrg strongarm | thumb | xscale) 3348831d3fbSmrg basic_machine=arm-unknown 3358831d3fbSmrg ;; 3368831d3fbSmrg 3378831d3fbSmrg xscaleeb) 3388831d3fbSmrg basic_machine=armeb-unknown 3398831d3fbSmrg ;; 3408831d3fbSmrg 3418831d3fbSmrg xscaleel) 3428831d3fbSmrg basic_machine=armel-unknown 3438831d3fbSmrg ;; 3448831d3fbSmrg 345100ae103Smrg # We use `pc' rather than `unknown' 346100ae103Smrg # because (1) that's what they normally are, and 347100ae103Smrg # (2) the word "unknown" tends to confuse beginning users. 348100ae103Smrg i*86 | x86_64) 349100ae103Smrg basic_machine=$basic_machine-pc 350100ae103Smrg ;; 351100ae103Smrg # Object if more than one company name word. 352100ae103Smrg *-*-*) 353100ae103Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 354100ae103Smrg exit 1 355100ae103Smrg ;; 356100ae103Smrg # Recognize the basic CPU types with company name. 357100ae103Smrg 580-* \ 358100ae103Smrg | a29k-* \ 359100ae103Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 360100ae103Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 361100ae103Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 362100ae103Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 363165cb819Smrg | avr-* | avr32-* \ 3648831d3fbSmrg | be32-* | be64-* \ 365100ae103Smrg | bfin-* | bs2000-* \ 3668831d3fbSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 367100ae103Smrg | clipper-* | craynv-* | cydra-* \ 368100ae103Smrg | d10v-* | d30v-* | dlx-* \ 369100ae103Smrg | elxsi-* \ 370165cb819Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 371100ae103Smrg | h8300-* | h8500-* \ 372100ae103Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3738831d3fbSmrg | hexagon-* \ 374100ae103Smrg | i*86-* | i860-* | i960-* | ia64-* \ 375100ae103Smrg | ip2k-* | iq2000-* \ 3768831d3fbSmrg | le32-* | le64-* \ 377165cb819Smrg | lm32-* \ 378165cb819Smrg | m32c-* | m32r-* | m32rle-* \ 379100ae103Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 380165cb819Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 381100ae103Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 382100ae103Smrg | mips16-* \ 383100ae103Smrg | mips64-* | mips64el-* \ 384165cb819Smrg | mips64octeon-* | mips64octeonel-* \ 385100ae103Smrg | mips64orion-* | mips64orionel-* \ 386165cb819Smrg | mips64r5900-* | mips64r5900el-* \ 387165cb819Smrg | mips64vr-* | mips64vrel-* \ 388100ae103Smrg | mips64vr4100-* | mips64vr4100el-* \ 389100ae103Smrg | mips64vr4300-* | mips64vr4300el-* \ 390100ae103Smrg | mips64vr5000-* | mips64vr5000el-* \ 391100ae103Smrg | mips64vr5900-* | mips64vr5900el-* \ 392100ae103Smrg | mipsisa32-* | mipsisa32el-* \ 393100ae103Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 394100ae103Smrg | mipsisa64-* | mipsisa64el-* \ 395100ae103Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 396100ae103Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 397100ae103Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 398100ae103Smrg | mipstx39-* | mipstx39el-* \ 399100ae103Smrg | mmix-* \ 400165cb819Smrg | mt-* \ 401100ae103Smrg | msp430-* \ 4028831d3fbSmrg | nds32-* | nds32le-* | nds32be-* \ 403165cb819Smrg | nios-* | nios2-* \ 404100ae103Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4058831d3fbSmrg | open8-* \ 406100ae103Smrg | orion-* \ 407100ae103Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4088831d3fbSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 409100ae103Smrg | pyramid-* \ 4108831d3fbSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 411165cb819Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 412100ae103Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 413165cb819Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 414100ae103Smrg | sparclite-* \ 4158831d3fbSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4168831d3fbSmrg | tahoe-* \ 4178831d3fbSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4188831d3fbSmrg | tile*-* \ 419100ae103Smrg | tron-* \ 420165cb819Smrg | ubicom32-* \ 4218831d3fbSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4228831d3fbSmrg | vax-* \ 423100ae103Smrg | we32k-* \ 4248831d3fbSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 425165cb819Smrg | xstormy16-* | xtensa*-* \ 426100ae103Smrg | ymp-* \ 427165cb819Smrg | z8k-* | z80-*) 428100ae103Smrg ;; 429165cb819Smrg # Recognize the basic CPU types without company name, with glob match. 430165cb819Smrg xtensa*) 431165cb819Smrg basic_machine=$basic_machine-unknown 432100ae103Smrg ;; 433100ae103Smrg # Recognize the various machine names and aliases which stand 434100ae103Smrg # for a CPU type and a company and sometimes even an OS. 435100ae103Smrg 386bsd) 436100ae103Smrg basic_machine=i386-unknown 437100ae103Smrg os=-bsd 438100ae103Smrg ;; 439100ae103Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 440100ae103Smrg basic_machine=m68000-att 441100ae103Smrg ;; 442100ae103Smrg 3b*) 443100ae103Smrg basic_machine=we32k-att 444100ae103Smrg ;; 445100ae103Smrg a29khif) 446100ae103Smrg basic_machine=a29k-amd 447100ae103Smrg os=-udi 448100ae103Smrg ;; 4498831d3fbSmrg abacus) 450100ae103Smrg basic_machine=abacus-unknown 451100ae103Smrg ;; 452100ae103Smrg adobe68k) 453100ae103Smrg basic_machine=m68010-adobe 454100ae103Smrg os=-scout 455100ae103Smrg ;; 456100ae103Smrg alliant | fx80) 457100ae103Smrg basic_machine=fx80-alliant 458100ae103Smrg ;; 459100ae103Smrg altos | altos3068) 460100ae103Smrg basic_machine=m68k-altos 461100ae103Smrg ;; 462100ae103Smrg am29k) 463100ae103Smrg basic_machine=a29k-none 464100ae103Smrg os=-bsd 465100ae103Smrg ;; 466100ae103Smrg amd64) 467100ae103Smrg basic_machine=x86_64-pc 468100ae103Smrg ;; 469100ae103Smrg amd64-*) 470100ae103Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 471100ae103Smrg ;; 472100ae103Smrg amdahl) 473100ae103Smrg basic_machine=580-amdahl 474100ae103Smrg os=-sysv 475100ae103Smrg ;; 476100ae103Smrg amiga | amiga-*) 477100ae103Smrg basic_machine=m68k-unknown 478100ae103Smrg ;; 479100ae103Smrg amigaos | amigados) 480100ae103Smrg basic_machine=m68k-unknown 481100ae103Smrg os=-amigaos 482100ae103Smrg ;; 483100ae103Smrg amigaunix | amix) 484100ae103Smrg basic_machine=m68k-unknown 485100ae103Smrg os=-sysv4 486100ae103Smrg ;; 487100ae103Smrg apollo68) 488100ae103Smrg basic_machine=m68k-apollo 489100ae103Smrg os=-sysv 490100ae103Smrg ;; 491100ae103Smrg apollo68bsd) 492100ae103Smrg basic_machine=m68k-apollo 493100ae103Smrg os=-bsd 494100ae103Smrg ;; 495165cb819Smrg aros) 496165cb819Smrg basic_machine=i386-pc 497165cb819Smrg os=-aros 498165cb819Smrg ;; 499100ae103Smrg aux) 500100ae103Smrg basic_machine=m68k-apple 501100ae103Smrg os=-aux 502100ae103Smrg ;; 503100ae103Smrg balance) 504100ae103Smrg basic_machine=ns32k-sequent 505100ae103Smrg os=-dynix 506100ae103Smrg ;; 507165cb819Smrg blackfin) 508165cb819Smrg basic_machine=bfin-unknown 509165cb819Smrg os=-linux 510165cb819Smrg ;; 511165cb819Smrg blackfin-*) 512165cb819Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 513165cb819Smrg os=-linux 514165cb819Smrg ;; 515165cb819Smrg bluegene*) 516165cb819Smrg basic_machine=powerpc-ibm 517165cb819Smrg os=-cnk 518165cb819Smrg ;; 5198831d3fbSmrg c54x-*) 5208831d3fbSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5218831d3fbSmrg ;; 5228831d3fbSmrg c55x-*) 5238831d3fbSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5248831d3fbSmrg ;; 5258831d3fbSmrg c6x-*) 5268831d3fbSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5278831d3fbSmrg ;; 528100ae103Smrg c90) 529100ae103Smrg basic_machine=c90-cray 530100ae103Smrg os=-unicos 531100ae103Smrg ;; 5328831d3fbSmrg cegcc) 533165cb819Smrg basic_machine=arm-unknown 534165cb819Smrg os=-cegcc 535165cb819Smrg ;; 536100ae103Smrg convex-c1) 537100ae103Smrg basic_machine=c1-convex 538100ae103Smrg os=-bsd 539100ae103Smrg ;; 540100ae103Smrg convex-c2) 541100ae103Smrg basic_machine=c2-convex 542100ae103Smrg os=-bsd 543100ae103Smrg ;; 544100ae103Smrg convex-c32) 545100ae103Smrg basic_machine=c32-convex 546100ae103Smrg os=-bsd 547100ae103Smrg ;; 548100ae103Smrg convex-c34) 549100ae103Smrg basic_machine=c34-convex 550100ae103Smrg os=-bsd 551100ae103Smrg ;; 552100ae103Smrg convex-c38) 553100ae103Smrg basic_machine=c38-convex 554100ae103Smrg os=-bsd 555100ae103Smrg ;; 556100ae103Smrg cray | j90) 557100ae103Smrg basic_machine=j90-cray 558100ae103Smrg os=-unicos 559100ae103Smrg ;; 560100ae103Smrg craynv) 561100ae103Smrg basic_machine=craynv-cray 562100ae103Smrg os=-unicosmp 563100ae103Smrg ;; 5648831d3fbSmrg cr16 | cr16-*) 565165cb819Smrg basic_machine=cr16-unknown 566100ae103Smrg os=-elf 567100ae103Smrg ;; 568100ae103Smrg crds | unos) 569100ae103Smrg basic_machine=m68k-crds 570100ae103Smrg ;; 571100ae103Smrg crisv32 | crisv32-* | etraxfs*) 572100ae103Smrg basic_machine=crisv32-axis 573100ae103Smrg ;; 574100ae103Smrg cris | cris-* | etrax*) 575100ae103Smrg basic_machine=cris-axis 576100ae103Smrg ;; 577100ae103Smrg crx) 578100ae103Smrg basic_machine=crx-unknown 579100ae103Smrg os=-elf 580100ae103Smrg ;; 581100ae103Smrg da30 | da30-*) 582100ae103Smrg basic_machine=m68k-da30 583100ae103Smrg ;; 584100ae103Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 585100ae103Smrg basic_machine=mips-dec 586100ae103Smrg ;; 587100ae103Smrg decsystem10* | dec10*) 588100ae103Smrg basic_machine=pdp10-dec 589100ae103Smrg os=-tops10 590100ae103Smrg ;; 591100ae103Smrg decsystem20* | dec20*) 592100ae103Smrg basic_machine=pdp10-dec 593100ae103Smrg os=-tops20 594100ae103Smrg ;; 595100ae103Smrg delta | 3300 | motorola-3300 | motorola-delta \ 596100ae103Smrg | 3300-motorola | delta-motorola) 597100ae103Smrg basic_machine=m68k-motorola 598100ae103Smrg ;; 599100ae103Smrg delta88) 600100ae103Smrg basic_machine=m88k-motorola 601100ae103Smrg os=-sysv3 602100ae103Smrg ;; 603165cb819Smrg dicos) 604165cb819Smrg basic_machine=i686-pc 605165cb819Smrg os=-dicos 606165cb819Smrg ;; 607100ae103Smrg djgpp) 608100ae103Smrg basic_machine=i586-pc 609100ae103Smrg os=-msdosdjgpp 610100ae103Smrg ;; 611100ae103Smrg dpx20 | dpx20-*) 612100ae103Smrg basic_machine=rs6000-bull 613100ae103Smrg os=-bosx 614100ae103Smrg ;; 615100ae103Smrg dpx2* | dpx2*-bull) 616100ae103Smrg basic_machine=m68k-bull 617100ae103Smrg os=-sysv3 618100ae103Smrg ;; 619100ae103Smrg ebmon29k) 620100ae103Smrg basic_machine=a29k-amd 621100ae103Smrg os=-ebmon 622100ae103Smrg ;; 623100ae103Smrg elxsi) 624100ae103Smrg basic_machine=elxsi-elxsi 625100ae103Smrg os=-bsd 626100ae103Smrg ;; 627100ae103Smrg encore | umax | mmax) 628100ae103Smrg basic_machine=ns32k-encore 629100ae103Smrg ;; 630100ae103Smrg es1800 | OSE68k | ose68k | ose | OSE) 631100ae103Smrg basic_machine=m68k-ericsson 632100ae103Smrg os=-ose 633100ae103Smrg ;; 634100ae103Smrg fx2800) 635100ae103Smrg basic_machine=i860-alliant 636100ae103Smrg ;; 637100ae103Smrg genix) 638100ae103Smrg basic_machine=ns32k-ns 639100ae103Smrg ;; 640100ae103Smrg gmicro) 641100ae103Smrg basic_machine=tron-gmicro 642100ae103Smrg os=-sysv 643100ae103Smrg ;; 644100ae103Smrg go32) 645100ae103Smrg basic_machine=i386-pc 646100ae103Smrg os=-go32 647100ae103Smrg ;; 648100ae103Smrg h3050r* | hiux*) 649100ae103Smrg basic_machine=hppa1.1-hitachi 650100ae103Smrg os=-hiuxwe2 651100ae103Smrg ;; 652100ae103Smrg h8300hms) 653100ae103Smrg basic_machine=h8300-hitachi 654100ae103Smrg os=-hms 655100ae103Smrg ;; 656100ae103Smrg h8300xray) 657100ae103Smrg basic_machine=h8300-hitachi 658100ae103Smrg os=-xray 659100ae103Smrg ;; 660100ae103Smrg h8500hms) 661100ae103Smrg basic_machine=h8500-hitachi 662100ae103Smrg os=-hms 663100ae103Smrg ;; 664100ae103Smrg harris) 665100ae103Smrg basic_machine=m88k-harris 666100ae103Smrg os=-sysv3 667100ae103Smrg ;; 668100ae103Smrg hp300-*) 669100ae103Smrg basic_machine=m68k-hp 670100ae103Smrg ;; 671100ae103Smrg hp300bsd) 672100ae103Smrg basic_machine=m68k-hp 673100ae103Smrg os=-bsd 674100ae103Smrg ;; 675100ae103Smrg hp300hpux) 676100ae103Smrg basic_machine=m68k-hp 677100ae103Smrg os=-hpux 678100ae103Smrg ;; 679100ae103Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 680100ae103Smrg basic_machine=hppa1.0-hp 681100ae103Smrg ;; 682100ae103Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 683100ae103Smrg basic_machine=m68000-hp 684100ae103Smrg ;; 685100ae103Smrg hp9k3[2-9][0-9]) 686100ae103Smrg basic_machine=m68k-hp 687100ae103Smrg ;; 688100ae103Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 689100ae103Smrg basic_machine=hppa1.0-hp 690100ae103Smrg ;; 691100ae103Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 692100ae103Smrg basic_machine=hppa1.1-hp 693100ae103Smrg ;; 694100ae103Smrg hp9k78[0-9] | hp78[0-9]) 695100ae103Smrg # FIXME: really hppa2.0-hp 696100ae103Smrg basic_machine=hppa1.1-hp 697100ae103Smrg ;; 698100ae103Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 699100ae103Smrg # FIXME: really hppa2.0-hp 700100ae103Smrg basic_machine=hppa1.1-hp 701100ae103Smrg ;; 702100ae103Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 703100ae103Smrg basic_machine=hppa1.1-hp 704100ae103Smrg ;; 705100ae103Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 706100ae103Smrg basic_machine=hppa1.0-hp 707100ae103Smrg ;; 708100ae103Smrg hppa-next) 709100ae103Smrg os=-nextstep3 710100ae103Smrg ;; 711100ae103Smrg hppaosf) 712100ae103Smrg basic_machine=hppa1.1-hp 713100ae103Smrg os=-osf 714100ae103Smrg ;; 715100ae103Smrg hppro) 716100ae103Smrg basic_machine=hppa1.1-hp 717100ae103Smrg os=-proelf 718100ae103Smrg ;; 719100ae103Smrg i370-ibm* | ibm*) 720100ae103Smrg basic_machine=i370-ibm 721100ae103Smrg ;; 722100ae103Smrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 723100ae103Smrg i*86v32) 724100ae103Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 725100ae103Smrg os=-sysv32 726100ae103Smrg ;; 727100ae103Smrg i*86v4*) 728100ae103Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 729100ae103Smrg os=-sysv4 730100ae103Smrg ;; 731100ae103Smrg i*86v) 732100ae103Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 733100ae103Smrg os=-sysv 734100ae103Smrg ;; 735100ae103Smrg i*86sol2) 736100ae103Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 737100ae103Smrg os=-solaris2 738100ae103Smrg ;; 739100ae103Smrg i386mach) 740100ae103Smrg basic_machine=i386-mach 741100ae103Smrg os=-mach 742100ae103Smrg ;; 743100ae103Smrg i386-vsta | vsta) 744100ae103Smrg basic_machine=i386-unknown 745100ae103Smrg os=-vsta 746100ae103Smrg ;; 747100ae103Smrg iris | iris4d) 748100ae103Smrg basic_machine=mips-sgi 749100ae103Smrg case $os in 750100ae103Smrg -irix*) 751100ae103Smrg ;; 752100ae103Smrg *) 753100ae103Smrg os=-irix4 754100ae103Smrg ;; 755100ae103Smrg esac 756100ae103Smrg ;; 757100ae103Smrg isi68 | isi) 758100ae103Smrg basic_machine=m68k-isi 759100ae103Smrg os=-sysv 760100ae103Smrg ;; 761165cb819Smrg m68knommu) 762165cb819Smrg basic_machine=m68k-unknown 763165cb819Smrg os=-linux 764165cb819Smrg ;; 765165cb819Smrg m68knommu-*) 766165cb819Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 767165cb819Smrg os=-linux 768165cb819Smrg ;; 769100ae103Smrg m88k-omron*) 770100ae103Smrg basic_machine=m88k-omron 771100ae103Smrg ;; 772100ae103Smrg magnum | m3230) 773100ae103Smrg basic_machine=mips-mips 774100ae103Smrg os=-sysv 775100ae103Smrg ;; 776100ae103Smrg merlin) 777100ae103Smrg basic_machine=ns32k-utek 778100ae103Smrg os=-sysv 779100ae103Smrg ;; 7808831d3fbSmrg microblaze) 781165cb819Smrg basic_machine=microblaze-xilinx 782165cb819Smrg ;; 783100ae103Smrg mingw32) 784100ae103Smrg basic_machine=i386-pc 785100ae103Smrg os=-mingw32 786100ae103Smrg ;; 787165cb819Smrg mingw32ce) 788165cb819Smrg basic_machine=arm-unknown 789165cb819Smrg os=-mingw32ce 790165cb819Smrg ;; 791100ae103Smrg miniframe) 792100ae103Smrg basic_machine=m68000-convergent 793100ae103Smrg ;; 794100ae103Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 795100ae103Smrg basic_machine=m68k-atari 796100ae103Smrg os=-mint 797100ae103Smrg ;; 798100ae103Smrg mips3*-*) 799100ae103Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 800100ae103Smrg ;; 801100ae103Smrg mips3*) 802100ae103Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 803100ae103Smrg ;; 804100ae103Smrg monitor) 805100ae103Smrg basic_machine=m68k-rom68k 806100ae103Smrg os=-coff 807100ae103Smrg ;; 808100ae103Smrg morphos) 809100ae103Smrg basic_machine=powerpc-unknown 810100ae103Smrg os=-morphos 811100ae103Smrg ;; 812100ae103Smrg msdos) 813100ae103Smrg basic_machine=i386-pc 814100ae103Smrg os=-msdos 815100ae103Smrg ;; 816165cb819Smrg ms1-*) 817165cb819Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 818165cb819Smrg ;; 8198831d3fbSmrg msys) 8208831d3fbSmrg basic_machine=i386-pc 8218831d3fbSmrg os=-msys 8228831d3fbSmrg ;; 823100ae103Smrg mvs) 824100ae103Smrg basic_machine=i370-ibm 825100ae103Smrg os=-mvs 826100ae103Smrg ;; 8278831d3fbSmrg nacl) 8288831d3fbSmrg basic_machine=le32-unknown 8298831d3fbSmrg os=-nacl 8308831d3fbSmrg ;; 831100ae103Smrg ncr3000) 832100ae103Smrg basic_machine=i486-ncr 833100ae103Smrg os=-sysv4 834100ae103Smrg ;; 835100ae103Smrg netbsd386) 836100ae103Smrg basic_machine=i386-unknown 837100ae103Smrg os=-netbsd 838100ae103Smrg ;; 839100ae103Smrg netwinder) 840100ae103Smrg basic_machine=armv4l-rebel 841100ae103Smrg os=-linux 842100ae103Smrg ;; 843100ae103Smrg news | news700 | news800 | news900) 844100ae103Smrg basic_machine=m68k-sony 845100ae103Smrg os=-newsos 846100ae103Smrg ;; 847100ae103Smrg news1000) 848100ae103Smrg basic_machine=m68030-sony 849100ae103Smrg os=-newsos 850100ae103Smrg ;; 851100ae103Smrg news-3600 | risc-news) 852100ae103Smrg basic_machine=mips-sony 853100ae103Smrg os=-newsos 854100ae103Smrg ;; 855100ae103Smrg necv70) 856100ae103Smrg basic_machine=v70-nec 857100ae103Smrg os=-sysv 858100ae103Smrg ;; 859100ae103Smrg next | m*-next ) 860100ae103Smrg basic_machine=m68k-next 861100ae103Smrg case $os in 862100ae103Smrg -nextstep* ) 863100ae103Smrg ;; 864100ae103Smrg -ns2*) 865100ae103Smrg os=-nextstep2 866100ae103Smrg ;; 867100ae103Smrg *) 868100ae103Smrg os=-nextstep3 869100ae103Smrg ;; 870100ae103Smrg esac 871100ae103Smrg ;; 872100ae103Smrg nh3000) 873100ae103Smrg basic_machine=m68k-harris 874100ae103Smrg os=-cxux 875100ae103Smrg ;; 876100ae103Smrg nh[45]000) 877100ae103Smrg basic_machine=m88k-harris 878100ae103Smrg os=-cxux 879100ae103Smrg ;; 880100ae103Smrg nindy960) 881100ae103Smrg basic_machine=i960-intel 882100ae103Smrg os=-nindy 883100ae103Smrg ;; 884100ae103Smrg mon960) 885100ae103Smrg basic_machine=i960-intel 886100ae103Smrg os=-mon960 887100ae103Smrg ;; 888100ae103Smrg nonstopux) 889100ae103Smrg basic_machine=mips-compaq 890100ae103Smrg os=-nonstopux 891100ae103Smrg ;; 892100ae103Smrg np1) 893100ae103Smrg basic_machine=np1-gould 894100ae103Smrg ;; 8958831d3fbSmrg neo-tandem) 8968831d3fbSmrg basic_machine=neo-tandem 8978831d3fbSmrg ;; 8988831d3fbSmrg nse-tandem) 8998831d3fbSmrg basic_machine=nse-tandem 9008831d3fbSmrg ;; 901100ae103Smrg nsr-tandem) 902100ae103Smrg basic_machine=nsr-tandem 903100ae103Smrg ;; 904100ae103Smrg op50n-* | op60c-*) 905100ae103Smrg basic_machine=hppa1.1-oki 906100ae103Smrg os=-proelf 907100ae103Smrg ;; 908100ae103Smrg openrisc | openrisc-*) 909100ae103Smrg basic_machine=or32-unknown 910100ae103Smrg ;; 911100ae103Smrg os400) 912100ae103Smrg basic_machine=powerpc-ibm 913100ae103Smrg os=-os400 914100ae103Smrg ;; 915100ae103Smrg OSE68000 | ose68000) 916100ae103Smrg basic_machine=m68000-ericsson 917100ae103Smrg os=-ose 918100ae103Smrg ;; 919100ae103Smrg os68k) 920100ae103Smrg basic_machine=m68k-none 921100ae103Smrg os=-os68k 922100ae103Smrg ;; 923100ae103Smrg pa-hitachi) 924100ae103Smrg basic_machine=hppa1.1-hitachi 925100ae103Smrg os=-hiuxwe2 926100ae103Smrg ;; 927100ae103Smrg paragon) 928100ae103Smrg basic_machine=i860-intel 929100ae103Smrg os=-osf 930100ae103Smrg ;; 931165cb819Smrg parisc) 932165cb819Smrg basic_machine=hppa-unknown 933165cb819Smrg os=-linux 934165cb819Smrg ;; 935165cb819Smrg parisc-*) 936165cb819Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 937165cb819Smrg os=-linux 938165cb819Smrg ;; 939100ae103Smrg pbd) 940100ae103Smrg basic_machine=sparc-tti 941100ae103Smrg ;; 942100ae103Smrg pbb) 943100ae103Smrg basic_machine=m68k-tti 944100ae103Smrg ;; 945100ae103Smrg pc532 | pc532-*) 946100ae103Smrg basic_machine=ns32k-pc532 947100ae103Smrg ;; 948165cb819Smrg pc98) 949165cb819Smrg basic_machine=i386-pc 950165cb819Smrg ;; 951165cb819Smrg pc98-*) 952165cb819Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 953165cb819Smrg ;; 954100ae103Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 955100ae103Smrg basic_machine=i586-pc 956100ae103Smrg ;; 957100ae103Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 958100ae103Smrg basic_machine=i686-pc 959100ae103Smrg ;; 960100ae103Smrg pentiumii | pentium2 | pentiumiii | pentium3) 961100ae103Smrg basic_machine=i686-pc 962100ae103Smrg ;; 963100ae103Smrg pentium4) 964100ae103Smrg basic_machine=i786-pc 965100ae103Smrg ;; 966100ae103Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 967100ae103Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 968100ae103Smrg ;; 969100ae103Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 970100ae103Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 971100ae103Smrg ;; 972100ae103Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 973100ae103Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 974100ae103Smrg ;; 975100ae103Smrg pentium4-*) 976100ae103Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 977100ae103Smrg ;; 978100ae103Smrg pn) 979100ae103Smrg basic_machine=pn-gould 980100ae103Smrg ;; 981100ae103Smrg power) basic_machine=power-ibm 982100ae103Smrg ;; 9838831d3fbSmrg ppc | ppcbe) basic_machine=powerpc-unknown 984100ae103Smrg ;; 9858831d3fbSmrg ppc-* | ppcbe-*) 9868831d3fbSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 987100ae103Smrg ;; 988100ae103Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 989100ae103Smrg basic_machine=powerpcle-unknown 990100ae103Smrg ;; 991100ae103Smrg ppcle-* | powerpclittle-*) 992100ae103Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 993100ae103Smrg ;; 994100ae103Smrg ppc64) basic_machine=powerpc64-unknown 995100ae103Smrg ;; 996100ae103Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 997100ae103Smrg ;; 998100ae103Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 999100ae103Smrg basic_machine=powerpc64le-unknown 1000100ae103Smrg ;; 1001100ae103Smrg ppc64le-* | powerpc64little-*) 1002100ae103Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1003100ae103Smrg ;; 1004100ae103Smrg ps2) 1005100ae103Smrg basic_machine=i386-ibm 1006100ae103Smrg ;; 1007100ae103Smrg pw32) 1008100ae103Smrg basic_machine=i586-unknown 1009100ae103Smrg os=-pw32 1010100ae103Smrg ;; 1011165cb819Smrg rdos) 1012165cb819Smrg basic_machine=i386-pc 1013165cb819Smrg os=-rdos 1014165cb819Smrg ;; 1015100ae103Smrg rom68k) 1016100ae103Smrg basic_machine=m68k-rom68k 1017100ae103Smrg os=-coff 1018100ae103Smrg ;; 1019100ae103Smrg rm[46]00) 1020100ae103Smrg basic_machine=mips-siemens 1021100ae103Smrg ;; 1022100ae103Smrg rtpc | rtpc-*) 1023100ae103Smrg basic_machine=romp-ibm 1024100ae103Smrg ;; 1025100ae103Smrg s390 | s390-*) 1026100ae103Smrg basic_machine=s390-ibm 1027100ae103Smrg ;; 1028100ae103Smrg s390x | s390x-*) 1029100ae103Smrg basic_machine=s390x-ibm 1030100ae103Smrg ;; 1031100ae103Smrg sa29200) 1032100ae103Smrg basic_machine=a29k-amd 1033100ae103Smrg os=-udi 1034100ae103Smrg ;; 1035100ae103Smrg sb1) 1036100ae103Smrg basic_machine=mipsisa64sb1-unknown 1037100ae103Smrg ;; 1038100ae103Smrg sb1el) 1039100ae103Smrg basic_machine=mipsisa64sb1el-unknown 1040100ae103Smrg ;; 1041165cb819Smrg sde) 1042165cb819Smrg basic_machine=mipsisa32-sde 1043165cb819Smrg os=-elf 1044165cb819Smrg ;; 1045100ae103Smrg sei) 1046100ae103Smrg basic_machine=mips-sei 1047100ae103Smrg os=-seiux 1048100ae103Smrg ;; 1049100ae103Smrg sequent) 1050100ae103Smrg basic_machine=i386-sequent 1051100ae103Smrg ;; 1052100ae103Smrg sh) 1053100ae103Smrg basic_machine=sh-hitachi 1054100ae103Smrg os=-hms 1055100ae103Smrg ;; 1056165cb819Smrg sh5el) 1057165cb819Smrg basic_machine=sh5le-unknown 1058165cb819Smrg ;; 1059100ae103Smrg sh64) 1060100ae103Smrg basic_machine=sh64-unknown 1061100ae103Smrg ;; 1062100ae103Smrg sparclite-wrs | simso-wrs) 1063100ae103Smrg basic_machine=sparclite-wrs 1064100ae103Smrg os=-vxworks 1065100ae103Smrg ;; 1066100ae103Smrg sps7) 1067100ae103Smrg basic_machine=m68k-bull 1068100ae103Smrg os=-sysv2 1069100ae103Smrg ;; 1070100ae103Smrg spur) 1071100ae103Smrg basic_machine=spur-unknown 1072100ae103Smrg ;; 1073100ae103Smrg st2000) 1074100ae103Smrg basic_machine=m68k-tandem 1075100ae103Smrg ;; 1076100ae103Smrg stratus) 1077100ae103Smrg basic_machine=i860-stratus 1078100ae103Smrg os=-sysv4 1079100ae103Smrg ;; 10808831d3fbSmrg strongarm-* | thumb-*) 10818831d3fbSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 10828831d3fbSmrg ;; 1083100ae103Smrg sun2) 1084100ae103Smrg basic_machine=m68000-sun 1085100ae103Smrg ;; 1086100ae103Smrg sun2os3) 1087100ae103Smrg basic_machine=m68000-sun 1088100ae103Smrg os=-sunos3 1089100ae103Smrg ;; 1090100ae103Smrg sun2os4) 1091100ae103Smrg basic_machine=m68000-sun 1092100ae103Smrg os=-sunos4 1093100ae103Smrg ;; 1094100ae103Smrg sun3os3) 1095100ae103Smrg basic_machine=m68k-sun 1096100ae103Smrg os=-sunos3 1097100ae103Smrg ;; 1098100ae103Smrg sun3os4) 1099100ae103Smrg basic_machine=m68k-sun 1100100ae103Smrg os=-sunos4 1101100ae103Smrg ;; 1102100ae103Smrg sun4os3) 1103100ae103Smrg basic_machine=sparc-sun 1104100ae103Smrg os=-sunos3 1105100ae103Smrg ;; 1106100ae103Smrg sun4os4) 1107100ae103Smrg basic_machine=sparc-sun 1108100ae103Smrg os=-sunos4 1109100ae103Smrg ;; 1110100ae103Smrg sun4sol2) 1111100ae103Smrg basic_machine=sparc-sun 1112100ae103Smrg os=-solaris2 1113100ae103Smrg ;; 1114100ae103Smrg sun3 | sun3-*) 1115100ae103Smrg basic_machine=m68k-sun 1116100ae103Smrg ;; 1117100ae103Smrg sun4) 1118100ae103Smrg basic_machine=sparc-sun 1119100ae103Smrg ;; 1120100ae103Smrg sun386 | sun386i | roadrunner) 1121100ae103Smrg basic_machine=i386-sun 1122100ae103Smrg ;; 1123100ae103Smrg sv1) 1124100ae103Smrg basic_machine=sv1-cray 1125100ae103Smrg os=-unicos 1126100ae103Smrg ;; 1127100ae103Smrg symmetry) 1128100ae103Smrg basic_machine=i386-sequent 1129100ae103Smrg os=-dynix 1130100ae103Smrg ;; 1131100ae103Smrg t3e) 1132100ae103Smrg basic_machine=alphaev5-cray 1133100ae103Smrg os=-unicos 1134100ae103Smrg ;; 1135100ae103Smrg t90) 1136100ae103Smrg basic_machine=t90-cray 1137100ae103Smrg os=-unicos 1138100ae103Smrg ;; 1139165cb819Smrg tile*) 11408831d3fbSmrg basic_machine=$basic_machine-unknown 1141165cb819Smrg os=-linux-gnu 1142165cb819Smrg ;; 1143100ae103Smrg tx39) 1144100ae103Smrg basic_machine=mipstx39-unknown 1145100ae103Smrg ;; 1146100ae103Smrg tx39el) 1147100ae103Smrg basic_machine=mipstx39el-unknown 1148100ae103Smrg ;; 1149100ae103Smrg toad1) 1150100ae103Smrg basic_machine=pdp10-xkl 1151100ae103Smrg os=-tops20 1152100ae103Smrg ;; 1153100ae103Smrg tower | tower-32) 1154100ae103Smrg basic_machine=m68k-ncr 1155100ae103Smrg ;; 1156100ae103Smrg tpf) 1157100ae103Smrg basic_machine=s390x-ibm 1158100ae103Smrg os=-tpf 1159100ae103Smrg ;; 1160100ae103Smrg udi29k) 1161100ae103Smrg basic_machine=a29k-amd 1162100ae103Smrg os=-udi 1163100ae103Smrg ;; 1164100ae103Smrg ultra3) 1165100ae103Smrg basic_machine=a29k-nyu 1166100ae103Smrg os=-sym1 1167100ae103Smrg ;; 1168100ae103Smrg v810 | necv810) 1169100ae103Smrg basic_machine=v810-nec 1170100ae103Smrg os=-none 1171100ae103Smrg ;; 1172100ae103Smrg vaxv) 1173100ae103Smrg basic_machine=vax-dec 1174100ae103Smrg os=-sysv 1175100ae103Smrg ;; 1176100ae103Smrg vms) 1177100ae103Smrg basic_machine=vax-dec 1178100ae103Smrg os=-vms 1179100ae103Smrg ;; 1180100ae103Smrg vpp*|vx|vx-*) 1181100ae103Smrg basic_machine=f301-fujitsu 1182100ae103Smrg ;; 1183100ae103Smrg vxworks960) 1184100ae103Smrg basic_machine=i960-wrs 1185100ae103Smrg os=-vxworks 1186100ae103Smrg ;; 1187100ae103Smrg vxworks68) 1188100ae103Smrg basic_machine=m68k-wrs 1189100ae103Smrg os=-vxworks 1190100ae103Smrg ;; 1191100ae103Smrg vxworks29k) 1192100ae103Smrg basic_machine=a29k-wrs 1193100ae103Smrg os=-vxworks 1194100ae103Smrg ;; 1195100ae103Smrg w65*) 1196100ae103Smrg basic_machine=w65-wdc 1197100ae103Smrg os=-none 1198100ae103Smrg ;; 1199100ae103Smrg w89k-*) 1200100ae103Smrg basic_machine=hppa1.1-winbond 1201100ae103Smrg os=-proelf 1202100ae103Smrg ;; 1203100ae103Smrg xbox) 1204100ae103Smrg basic_machine=i686-pc 1205100ae103Smrg os=-mingw32 1206100ae103Smrg ;; 1207100ae103Smrg xps | xps100) 1208100ae103Smrg basic_machine=xps100-honeywell 1209100ae103Smrg ;; 12108831d3fbSmrg xscale-* | xscalee[bl]-*) 12118831d3fbSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12128831d3fbSmrg ;; 1213100ae103Smrg ymp) 1214100ae103Smrg basic_machine=ymp-cray 1215100ae103Smrg os=-unicos 1216100ae103Smrg ;; 1217100ae103Smrg z8k-*-coff) 1218100ae103Smrg basic_machine=z8k-unknown 1219100ae103Smrg os=-sim 1220100ae103Smrg ;; 1221165cb819Smrg z80-*-coff) 1222165cb819Smrg basic_machine=z80-unknown 1223165cb819Smrg os=-sim 1224165cb819Smrg ;; 1225100ae103Smrg none) 1226100ae103Smrg basic_machine=none-none 1227100ae103Smrg os=-none 1228100ae103Smrg ;; 1229100ae103Smrg 1230100ae103Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1231100ae103Smrg# some cases the only manufacturer, in others, it is the most popular. 1232100ae103Smrg w89k) 1233100ae103Smrg basic_machine=hppa1.1-winbond 1234100ae103Smrg ;; 1235100ae103Smrg op50n) 1236100ae103Smrg basic_machine=hppa1.1-oki 1237100ae103Smrg ;; 1238100ae103Smrg op60c) 1239100ae103Smrg basic_machine=hppa1.1-oki 1240100ae103Smrg ;; 1241100ae103Smrg romp) 1242100ae103Smrg basic_machine=romp-ibm 1243100ae103Smrg ;; 1244100ae103Smrg mmix) 1245100ae103Smrg basic_machine=mmix-knuth 1246100ae103Smrg ;; 1247100ae103Smrg rs6000) 1248100ae103Smrg basic_machine=rs6000-ibm 1249100ae103Smrg ;; 1250100ae103Smrg vax) 1251100ae103Smrg basic_machine=vax-dec 1252100ae103Smrg ;; 1253100ae103Smrg pdp10) 1254100ae103Smrg # there are many clones, so DEC is not a safe bet 1255100ae103Smrg basic_machine=pdp10-unknown 1256100ae103Smrg ;; 1257100ae103Smrg pdp11) 1258100ae103Smrg basic_machine=pdp11-dec 1259100ae103Smrg ;; 1260100ae103Smrg we32k) 1261100ae103Smrg basic_machine=we32k-att 1262100ae103Smrg ;; 1263165cb819Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1264100ae103Smrg basic_machine=sh-unknown 1265100ae103Smrg ;; 1266165cb819Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1267100ae103Smrg basic_machine=sparc-sun 1268100ae103Smrg ;; 1269100ae103Smrg cydra) 1270100ae103Smrg basic_machine=cydra-cydrome 1271100ae103Smrg ;; 1272100ae103Smrg orion) 1273100ae103Smrg basic_machine=orion-highlevel 1274100ae103Smrg ;; 1275100ae103Smrg orion105) 1276100ae103Smrg basic_machine=clipper-highlevel 1277100ae103Smrg ;; 1278100ae103Smrg mac | mpw | mac-mpw) 1279100ae103Smrg basic_machine=m68k-apple 1280100ae103Smrg ;; 1281100ae103Smrg pmac | pmac-mpw) 1282100ae103Smrg basic_machine=powerpc-apple 1283100ae103Smrg ;; 1284100ae103Smrg *-unknown) 1285100ae103Smrg # Make sure to match an already-canonicalized machine name. 1286100ae103Smrg ;; 1287100ae103Smrg *) 1288100ae103Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1289100ae103Smrg exit 1 1290100ae103Smrg ;; 1291100ae103Smrgesac 1292100ae103Smrg 1293100ae103Smrg# Here we canonicalize certain aliases for manufacturers. 1294100ae103Smrgcase $basic_machine in 1295100ae103Smrg *-digital*) 1296100ae103Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1297100ae103Smrg ;; 1298100ae103Smrg *-commodore*) 1299100ae103Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1300100ae103Smrg ;; 1301100ae103Smrg *) 1302100ae103Smrg ;; 1303100ae103Smrgesac 1304100ae103Smrg 1305100ae103Smrg# Decode manufacturer-specific aliases for certain operating systems. 1306100ae103Smrg 1307100ae103Smrgif [ x"$os" != x"" ] 1308100ae103Smrgthen 1309100ae103Smrgcase $os in 13108831d3fbSmrg # First match some system type aliases 13118831d3fbSmrg # that might get confused with valid system types. 1312100ae103Smrg # -solaris* is a basic system type, with this one exception. 13138831d3fbSmrg -auroraux) 13148831d3fbSmrg os=-auroraux 1315165cb819Smrg ;; 1316100ae103Smrg -solaris1 | -solaris1.*) 1317100ae103Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1318100ae103Smrg ;; 1319100ae103Smrg -solaris) 1320100ae103Smrg os=-solaris2 1321100ae103Smrg ;; 1322100ae103Smrg -svr4*) 1323100ae103Smrg os=-sysv4 1324100ae103Smrg ;; 1325100ae103Smrg -unixware*) 1326100ae103Smrg os=-sysv4.2uw 1327100ae103Smrg ;; 1328100ae103Smrg -gnu/linux*) 1329100ae103Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1330100ae103Smrg ;; 1331100ae103Smrg # First accept the basic system types. 1332100ae103Smrg # The portable systems comes first. 1333100ae103Smrg # Each alternative MUST END IN A *, to match a version number. 1334100ae103Smrg # -sysv* is not here because it comes later, after sysvr4. 1335100ae103Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1336165cb819Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1337165cb819Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1338165cb819Smrg | -sym* | -kopensolaris* \ 1339100ae103Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1340165cb819Smrg | -aos* | -aros* \ 1341100ae103Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1342100ae103Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1343165cb819Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1344165cb819Smrg | -openbsd* | -solidbsd* \ 1345100ae103Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1346100ae103Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1347100ae103Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1348100ae103Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1349165cb819Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 13508831d3fbSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13518831d3fbSmrg | -mingw32* | -linux-gnu* | -linux-android* \ 13528831d3fbSmrg | -linux-newlib* | -linux-uclibc* \ 1353165cb819Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1354100ae103Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1355100ae103Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1356100ae103Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1357100ae103Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1358100ae103Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1359100ae103Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1360165cb819Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1361100ae103Smrg # Remember, each alternative MUST END IN *, to match a version number. 1362100ae103Smrg ;; 1363100ae103Smrg -qnx*) 1364100ae103Smrg case $basic_machine in 1365100ae103Smrg x86-* | i*86-*) 1366100ae103Smrg ;; 1367100ae103Smrg *) 1368100ae103Smrg os=-nto$os 1369100ae103Smrg ;; 1370100ae103Smrg esac 1371100ae103Smrg ;; 1372100ae103Smrg -nto-qnx*) 1373100ae103Smrg ;; 1374100ae103Smrg -nto*) 1375100ae103Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1376100ae103Smrg ;; 1377100ae103Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1378100ae103Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1379100ae103Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1380100ae103Smrg ;; 1381100ae103Smrg -mac*) 1382100ae103Smrg os=`echo $os | sed -e 's|mac|macos|'` 1383100ae103Smrg ;; 1384100ae103Smrg -linux-dietlibc) 1385100ae103Smrg os=-linux-dietlibc 1386100ae103Smrg ;; 1387100ae103Smrg -linux*) 1388100ae103Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1389100ae103Smrg ;; 1390100ae103Smrg -sunos5*) 1391100ae103Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1392100ae103Smrg ;; 1393100ae103Smrg -sunos6*) 1394100ae103Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1395100ae103Smrg ;; 1396100ae103Smrg -opened*) 1397100ae103Smrg os=-openedition 1398100ae103Smrg ;; 13998831d3fbSmrg -os400*) 1400100ae103Smrg os=-os400 1401100ae103Smrg ;; 1402100ae103Smrg -wince*) 1403100ae103Smrg os=-wince 1404100ae103Smrg ;; 1405100ae103Smrg -osfrose*) 1406100ae103Smrg os=-osfrose 1407100ae103Smrg ;; 1408100ae103Smrg -osf*) 1409100ae103Smrg os=-osf 1410100ae103Smrg ;; 1411100ae103Smrg -utek*) 1412100ae103Smrg os=-bsd 1413100ae103Smrg ;; 1414100ae103Smrg -dynix*) 1415100ae103Smrg os=-bsd 1416100ae103Smrg ;; 1417100ae103Smrg -acis*) 1418100ae103Smrg os=-aos 1419100ae103Smrg ;; 1420100ae103Smrg -atheos*) 1421100ae103Smrg os=-atheos 1422100ae103Smrg ;; 1423100ae103Smrg -syllable*) 1424100ae103Smrg os=-syllable 1425100ae103Smrg ;; 1426100ae103Smrg -386bsd) 1427100ae103Smrg os=-bsd 1428100ae103Smrg ;; 1429100ae103Smrg -ctix* | -uts*) 1430100ae103Smrg os=-sysv 1431100ae103Smrg ;; 1432100ae103Smrg -nova*) 1433100ae103Smrg os=-rtmk-nova 1434100ae103Smrg ;; 1435100ae103Smrg -ns2 ) 1436100ae103Smrg os=-nextstep2 1437100ae103Smrg ;; 1438100ae103Smrg -nsk*) 1439100ae103Smrg os=-nsk 1440100ae103Smrg ;; 1441100ae103Smrg # Preserve the version number of sinix5. 1442100ae103Smrg -sinix5.*) 1443100ae103Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1444100ae103Smrg ;; 1445100ae103Smrg -sinix*) 1446100ae103Smrg os=-sysv4 1447100ae103Smrg ;; 14488831d3fbSmrg -tpf*) 1449100ae103Smrg os=-tpf 1450100ae103Smrg ;; 1451100ae103Smrg -triton*) 1452100ae103Smrg os=-sysv3 1453100ae103Smrg ;; 1454100ae103Smrg -oss*) 1455100ae103Smrg os=-sysv3 1456100ae103Smrg ;; 1457100ae103Smrg -svr4) 1458100ae103Smrg os=-sysv4 1459100ae103Smrg ;; 1460100ae103Smrg -svr3) 1461100ae103Smrg os=-sysv3 1462100ae103Smrg ;; 1463100ae103Smrg -sysvr4) 1464100ae103Smrg os=-sysv4 1465100ae103Smrg ;; 1466100ae103Smrg # This must come after -sysvr4. 1467100ae103Smrg -sysv*) 1468100ae103Smrg ;; 1469100ae103Smrg -ose*) 1470100ae103Smrg os=-ose 1471100ae103Smrg ;; 1472100ae103Smrg -es1800*) 1473100ae103Smrg os=-ose 1474100ae103Smrg ;; 1475100ae103Smrg -xenix) 1476100ae103Smrg os=-xenix 1477100ae103Smrg ;; 1478100ae103Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1479100ae103Smrg os=-mint 1480100ae103Smrg ;; 1481100ae103Smrg -aros*) 1482100ae103Smrg os=-aros 1483100ae103Smrg ;; 1484100ae103Smrg -kaos*) 1485100ae103Smrg os=-kaos 1486100ae103Smrg ;; 1487100ae103Smrg -zvmoe) 1488100ae103Smrg os=-zvmoe 1489100ae103Smrg ;; 1490165cb819Smrg -dicos*) 1491165cb819Smrg os=-dicos 1492165cb819Smrg ;; 14938831d3fbSmrg -nacl*) 14948831d3fbSmrg ;; 1495100ae103Smrg -none) 1496100ae103Smrg ;; 1497100ae103Smrg *) 1498100ae103Smrg # Get rid of the `-' at the beginning of $os. 1499100ae103Smrg os=`echo $os | sed 's/[^-]*-//'` 1500100ae103Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1501100ae103Smrg exit 1 1502100ae103Smrg ;; 1503100ae103Smrgesac 1504100ae103Smrgelse 1505100ae103Smrg 1506100ae103Smrg# Here we handle the default operating systems that come with various machines. 1507100ae103Smrg# The value should be what the vendor currently ships out the door with their 1508100ae103Smrg# machine or put another way, the most popular os provided with the machine. 1509100ae103Smrg 1510100ae103Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1511100ae103Smrg# "-sun"), then you have to tell the case statement up towards the top 1512100ae103Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1513100ae103Smrg# will signal an error saying that MANUFACTURER isn't an operating 1514100ae103Smrg# system, and we'll never get to this point. 1515100ae103Smrg 1516100ae103Smrgcase $basic_machine in 15178831d3fbSmrg score-*) 1518165cb819Smrg os=-elf 1519165cb819Smrg ;; 15208831d3fbSmrg spu-*) 1521165cb819Smrg os=-elf 1522165cb819Smrg ;; 1523100ae103Smrg *-acorn) 1524100ae103Smrg os=-riscix1.2 1525100ae103Smrg ;; 1526100ae103Smrg arm*-rebel) 1527100ae103Smrg os=-linux 1528100ae103Smrg ;; 1529100ae103Smrg arm*-semi) 1530100ae103Smrg os=-aout 1531100ae103Smrg ;; 15328831d3fbSmrg c4x-* | tic4x-*) 15338831d3fbSmrg os=-coff 15348831d3fbSmrg ;; 15358831d3fbSmrg tic54x-*) 15368831d3fbSmrg os=-coff 15378831d3fbSmrg ;; 15388831d3fbSmrg tic55x-*) 15398831d3fbSmrg os=-coff 15408831d3fbSmrg ;; 15418831d3fbSmrg tic6x-*) 15428831d3fbSmrg os=-coff 1543165cb819Smrg ;; 1544100ae103Smrg # This must come before the *-dec entry. 1545100ae103Smrg pdp10-*) 1546100ae103Smrg os=-tops20 1547100ae103Smrg ;; 1548100ae103Smrg pdp11-*) 1549100ae103Smrg os=-none 1550100ae103Smrg ;; 1551100ae103Smrg *-dec | vax-*) 1552100ae103Smrg os=-ultrix4.2 1553100ae103Smrg ;; 1554100ae103Smrg m68*-apollo) 1555100ae103Smrg os=-domain 1556100ae103Smrg ;; 1557100ae103Smrg i386-sun) 1558100ae103Smrg os=-sunos4.0.2 1559100ae103Smrg ;; 1560100ae103Smrg m68000-sun) 1561100ae103Smrg os=-sunos3 1562100ae103Smrg # This also exists in the configure program, but was not the 1563100ae103Smrg # default. 1564100ae103Smrg # os=-sunos4 1565100ae103Smrg ;; 1566100ae103Smrg m68*-cisco) 1567100ae103Smrg os=-aout 1568100ae103Smrg ;; 15698831d3fbSmrg mep-*) 1570165cb819Smrg os=-elf 1571165cb819Smrg ;; 1572100ae103Smrg mips*-cisco) 1573100ae103Smrg os=-elf 1574100ae103Smrg ;; 1575100ae103Smrg mips*-*) 1576100ae103Smrg os=-elf 1577100ae103Smrg ;; 1578100ae103Smrg or32-*) 1579100ae103Smrg os=-coff 1580100ae103Smrg ;; 1581100ae103Smrg *-tti) # must be before sparc entry or we get the wrong os. 1582100ae103Smrg os=-sysv3 1583100ae103Smrg ;; 1584100ae103Smrg sparc-* | *-sun) 1585100ae103Smrg os=-sunos4.1.1 1586100ae103Smrg ;; 1587100ae103Smrg *-be) 1588100ae103Smrg os=-beos 1589100ae103Smrg ;; 1590100ae103Smrg *-haiku) 1591100ae103Smrg os=-haiku 1592100ae103Smrg ;; 1593100ae103Smrg *-ibm) 1594100ae103Smrg os=-aix 1595100ae103Smrg ;; 15968831d3fbSmrg *-knuth) 1597100ae103Smrg os=-mmixware 1598100ae103Smrg ;; 1599100ae103Smrg *-wec) 1600100ae103Smrg os=-proelf 1601100ae103Smrg ;; 1602100ae103Smrg *-winbond) 1603100ae103Smrg os=-proelf 1604100ae103Smrg ;; 1605100ae103Smrg *-oki) 1606100ae103Smrg os=-proelf 1607100ae103Smrg ;; 1608100ae103Smrg *-hp) 1609100ae103Smrg os=-hpux 1610100ae103Smrg ;; 1611100ae103Smrg *-hitachi) 1612100ae103Smrg os=-hiux 1613100ae103Smrg ;; 1614100ae103Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1615100ae103Smrg os=-sysv 1616100ae103Smrg ;; 1617100ae103Smrg *-cbm) 1618100ae103Smrg os=-amigaos 1619100ae103Smrg ;; 1620100ae103Smrg *-dg) 1621100ae103Smrg os=-dgux 1622100ae103Smrg ;; 1623100ae103Smrg *-dolphin) 1624100ae103Smrg os=-sysv3 1625100ae103Smrg ;; 1626100ae103Smrg m68k-ccur) 1627100ae103Smrg os=-rtu 1628100ae103Smrg ;; 1629100ae103Smrg m88k-omron*) 1630100ae103Smrg os=-luna 1631100ae103Smrg ;; 1632100ae103Smrg *-next ) 1633100ae103Smrg os=-nextstep 1634100ae103Smrg ;; 1635100ae103Smrg *-sequent) 1636100ae103Smrg os=-ptx 1637100ae103Smrg ;; 1638100ae103Smrg *-crds) 1639100ae103Smrg os=-unos 1640100ae103Smrg ;; 1641100ae103Smrg *-ns) 1642100ae103Smrg os=-genix 1643100ae103Smrg ;; 1644100ae103Smrg i370-*) 1645100ae103Smrg os=-mvs 1646100ae103Smrg ;; 1647100ae103Smrg *-next) 1648100ae103Smrg os=-nextstep3 1649100ae103Smrg ;; 1650100ae103Smrg *-gould) 1651100ae103Smrg os=-sysv 1652100ae103Smrg ;; 1653100ae103Smrg *-highlevel) 1654100ae103Smrg os=-bsd 1655100ae103Smrg ;; 1656100ae103Smrg *-encore) 1657100ae103Smrg os=-bsd 1658100ae103Smrg ;; 1659100ae103Smrg *-sgi) 1660100ae103Smrg os=-irix 1661100ae103Smrg ;; 1662100ae103Smrg *-siemens) 1663100ae103Smrg os=-sysv4 1664100ae103Smrg ;; 1665100ae103Smrg *-masscomp) 1666100ae103Smrg os=-rtu 1667100ae103Smrg ;; 1668100ae103Smrg f30[01]-fujitsu | f700-fujitsu) 1669100ae103Smrg os=-uxpv 1670100ae103Smrg ;; 1671100ae103Smrg *-rom68k) 1672100ae103Smrg os=-coff 1673100ae103Smrg ;; 1674100ae103Smrg *-*bug) 1675100ae103Smrg os=-coff 1676100ae103Smrg ;; 1677100ae103Smrg *-apple) 1678100ae103Smrg os=-macos 1679100ae103Smrg ;; 1680100ae103Smrg *-atari*) 1681100ae103Smrg os=-mint 1682100ae103Smrg ;; 1683100ae103Smrg *) 1684100ae103Smrg os=-none 1685100ae103Smrg ;; 1686100ae103Smrgesac 1687100ae103Smrgfi 1688100ae103Smrg 1689100ae103Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1690100ae103Smrg# manufacturer. We pick the logical manufacturer. 1691100ae103Smrgvendor=unknown 1692100ae103Smrgcase $basic_machine in 1693100ae103Smrg *-unknown) 1694100ae103Smrg case $os in 1695100ae103Smrg -riscix*) 1696100ae103Smrg vendor=acorn 1697100ae103Smrg ;; 1698100ae103Smrg -sunos*) 1699100ae103Smrg vendor=sun 1700100ae103Smrg ;; 1701165cb819Smrg -cnk*|-aix*) 1702100ae103Smrg vendor=ibm 1703100ae103Smrg ;; 1704100ae103Smrg -beos*) 1705100ae103Smrg vendor=be 1706100ae103Smrg ;; 1707100ae103Smrg -hpux*) 1708100ae103Smrg vendor=hp 1709100ae103Smrg ;; 1710100ae103Smrg -mpeix*) 1711100ae103Smrg vendor=hp 1712100ae103Smrg ;; 1713100ae103Smrg -hiux*) 1714100ae103Smrg vendor=hitachi 1715100ae103Smrg ;; 1716100ae103Smrg -unos*) 1717100ae103Smrg vendor=crds 1718100ae103Smrg ;; 1719100ae103Smrg -dgux*) 1720100ae103Smrg vendor=dg 1721100ae103Smrg ;; 1722100ae103Smrg -luna*) 1723100ae103Smrg vendor=omron 1724100ae103Smrg ;; 1725100ae103Smrg -genix*) 1726100ae103Smrg vendor=ns 1727100ae103Smrg ;; 1728100ae103Smrg -mvs* | -opened*) 1729100ae103Smrg vendor=ibm 1730100ae103Smrg ;; 1731100ae103Smrg -os400*) 1732100ae103Smrg vendor=ibm 1733100ae103Smrg ;; 1734100ae103Smrg -ptx*) 1735100ae103Smrg vendor=sequent 1736100ae103Smrg ;; 1737100ae103Smrg -tpf*) 1738100ae103Smrg vendor=ibm 1739100ae103Smrg ;; 1740100ae103Smrg -vxsim* | -vxworks* | -windiss*) 1741100ae103Smrg vendor=wrs 1742100ae103Smrg ;; 1743100ae103Smrg -aux*) 1744100ae103Smrg vendor=apple 1745100ae103Smrg ;; 1746100ae103Smrg -hms*) 1747100ae103Smrg vendor=hitachi 1748100ae103Smrg ;; 1749100ae103Smrg -mpw* | -macos*) 1750100ae103Smrg vendor=apple 1751100ae103Smrg ;; 1752100ae103Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1753100ae103Smrg vendor=atari 1754100ae103Smrg ;; 1755100ae103Smrg -vos*) 1756100ae103Smrg vendor=stratus 1757100ae103Smrg ;; 1758100ae103Smrg esac 1759100ae103Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1760100ae103Smrg ;; 1761100ae103Smrgesac 1762100ae103Smrg 1763100ae103Smrgecho $basic_machine$os 1764100ae103Smrgexit 1765100ae103Smrg 1766100ae103Smrg# Local variables: 1767100ae103Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1768100ae103Smrg# time-stamp-start: "timestamp='" 1769100ae103Smrg# time-stamp-format: "%:y-%02m-%02d" 1770100ae103Smrg# time-stamp-end: "'" 1771100ae103Smrg# End: 1772