1cacd992dSmrg#! /bin/sh 2cacd992dSmrg# Configuration validation subroutine script. 3cacd992dSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 46758a055Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 56758a055Smrg# 2011 Free Software Foundation, Inc. 6cacd992dSmrg 76758a055Smrgtimestamp='2011-11-11' 8cacd992dSmrg 9cacd992dSmrg# This file is (in principle) common to ALL GNU software. 10cacd992dSmrg# The presence of a machine in this file suggests that SOME GNU software 11cacd992dSmrg# can handle that machine. It does not imply ALL GNU software can. 12cacd992dSmrg# 13cacd992dSmrg# This file is free software; you can redistribute it and/or modify 14cacd992dSmrg# it under the terms of the GNU General Public License as published by 15cacd992dSmrg# the Free Software Foundation; either version 2 of the License, or 16cacd992dSmrg# (at your option) any later version. 17cacd992dSmrg# 18cacd992dSmrg# This program is distributed in the hope that it will be useful, 19cacd992dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20cacd992dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21cacd992dSmrg# GNU General Public License for more details. 22cacd992dSmrg# 23cacd992dSmrg# You should have received a copy of the GNU General Public License 24cacd992dSmrg# along with this program; if not, write to the Free Software 2514ddf674Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 2614ddf674Smrg# 02110-1301, USA. 2714ddf674Smrg# 28cacd992dSmrg# As a special exception to the GNU General Public License, if you 29cacd992dSmrg# distribute this file as part of a program that contains a 30cacd992dSmrg# configuration script generated by Autoconf, you may include it under 31cacd992dSmrg# the same distribution terms that you use for the rest of that program. 32cacd992dSmrg 3314ddf674Smrg 34cacd992dSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 3514ddf674Smrg# diff and a properly formatted GNU ChangeLog entry. 36cacd992dSmrg# 37cacd992dSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38cacd992dSmrg# Supply the specified configuration type as an argument. 39cacd992dSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40cacd992dSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41cacd992dSmrg 4214ddf674Smrg# You can get the latest version of this script from: 4314ddf674Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 4414ddf674Smrg 45cacd992dSmrg# This file is supposed to be the same for all GNU packages 46cacd992dSmrg# and recognize all the CPU types, system types and aliases 47cacd992dSmrg# that are meaningful with *any* GNU software. 48cacd992dSmrg# Each package is responsible for reporting which valid configurations 49cacd992dSmrg# it does not support. The user should be able to distinguish 50cacd992dSmrg# a failure to support a valid configuration from a meaningless 51cacd992dSmrg# configuration. 52cacd992dSmrg 53cacd992dSmrg# The goal of this file is to map all the various variations of a given 54cacd992dSmrg# machine specification into a single specification in the form: 55cacd992dSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56cacd992dSmrg# or in some cases, the newer four-part form: 57cacd992dSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58cacd992dSmrg# It is wrong to echo any other type of specification. 59cacd992dSmrg 60cacd992dSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61cacd992dSmrg 62cacd992dSmrgusage="\ 63cacd992dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64cacd992dSmrg $0 [OPTION] ALIAS 65cacd992dSmrg 66cacd992dSmrgCanonicalize a configuration name. 67cacd992dSmrg 68cacd992dSmrgOperation modes: 69cacd992dSmrg -h, --help print this help, then exit 70cacd992dSmrg -t, --time-stamp print date of last modification, then exit 71cacd992dSmrg -v, --version print version number, then exit 72cacd992dSmrg 73cacd992dSmrgReport bugs and patches to <config-patches@gnu.org>." 74cacd992dSmrg 75cacd992dSmrgversion="\ 76cacd992dSmrgGNU config.sub ($timestamp) 77cacd992dSmrg 786758a055SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 796758a055Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free 806758a055SmrgSoftware Foundation, Inc. 81cacd992dSmrg 82cacd992dSmrgThis is free software; see the source for copying conditions. There is NO 83cacd992dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84cacd992dSmrg 85cacd992dSmrghelp=" 86cacd992dSmrgTry \`$me --help' for more information." 87cacd992dSmrg 88cacd992dSmrg# Parse command line 89cacd992dSmrgwhile test $# -gt 0 ; do 90cacd992dSmrg case $1 in 91cacd992dSmrg --time-stamp | --time* | -t ) 9214ddf674Smrg echo "$timestamp" ; exit ;; 93cacd992dSmrg --version | -v ) 9414ddf674Smrg echo "$version" ; exit ;; 95cacd992dSmrg --help | --h* | -h ) 9614ddf674Smrg echo "$usage"; exit ;; 97cacd992dSmrg -- ) # Stop option processing 98cacd992dSmrg shift; break ;; 99cacd992dSmrg - ) # Use stdin as input. 100cacd992dSmrg break ;; 101cacd992dSmrg -* ) 102cacd992dSmrg echo "$me: invalid option $1$help" 103cacd992dSmrg exit 1 ;; 104cacd992dSmrg 105cacd992dSmrg *local*) 106cacd992dSmrg # First pass through any local machine types. 107cacd992dSmrg echo $1 10814ddf674Smrg exit ;; 109cacd992dSmrg 110cacd992dSmrg * ) 111cacd992dSmrg break ;; 112cacd992dSmrg esac 113cacd992dSmrgdone 114cacd992dSmrg 115cacd992dSmrgcase $# in 116cacd992dSmrg 0) echo "$me: missing argument$help" >&2 117cacd992dSmrg exit 1;; 118cacd992dSmrg 1) ;; 119cacd992dSmrg *) echo "$me: too many arguments$help" >&2 120cacd992dSmrg exit 1;; 121cacd992dSmrgesac 122cacd992dSmrg 123cacd992dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124cacd992dSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125cacd992dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126cacd992dSmrgcase $maybe_os in 1276758a055Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1286758a055Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1296758a055Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 13014ddf674Smrg kopensolaris*-gnu* | \ 13114ddf674Smrg storm-chaos* | os2-emx* | rtmk-nova*) 132cacd992dSmrg os=-$maybe_os 133cacd992dSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134cacd992dSmrg ;; 135cacd992dSmrg *) 136cacd992dSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137cacd992dSmrg if [ $basic_machine != $1 ] 138cacd992dSmrg then os=`echo $1 | sed 's/.*-/-/'` 139cacd992dSmrg else os=; fi 140cacd992dSmrg ;; 141cacd992dSmrgesac 142cacd992dSmrg 143cacd992dSmrg### Let's recognize common machines as not being operating systems so 144cacd992dSmrg### that things like config.sub decstation-3100 work. We also 145cacd992dSmrg### recognize some manufacturers as not being operating systems, so we 146cacd992dSmrg### can provide default operating systems below. 147cacd992dSmrgcase $os in 148cacd992dSmrg -sun*os*) 149cacd992dSmrg # Prevent following clause from handling this invalid input. 150cacd992dSmrg ;; 151cacd992dSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152cacd992dSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153cacd992dSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154cacd992dSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155cacd992dSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156cacd992dSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15714ddf674Smrg -apple | -axis | -knuth | -cray | -microblaze) 158cacd992dSmrg os= 159cacd992dSmrg basic_machine=$1 160cacd992dSmrg ;; 1616758a055Smrg -bluegene*) 1626758a055Smrg os=-cnk 16314ddf674Smrg ;; 164cacd992dSmrg -sim | -cisco | -oki | -wec | -winbond) 165cacd992dSmrg os= 166cacd992dSmrg basic_machine=$1 167cacd992dSmrg ;; 168cacd992dSmrg -scout) 169cacd992dSmrg ;; 170cacd992dSmrg -wrs) 171cacd992dSmrg os=-vxworks 172cacd992dSmrg basic_machine=$1 173cacd992dSmrg ;; 174cacd992dSmrg -chorusos*) 175cacd992dSmrg os=-chorusos 176cacd992dSmrg basic_machine=$1 177cacd992dSmrg ;; 1786758a055Smrg -chorusrdb) 1796758a055Smrg os=-chorusrdb 180cacd992dSmrg basic_machine=$1 1816758a055Smrg ;; 182cacd992dSmrg -hiux*) 183cacd992dSmrg os=-hiuxwe2 184cacd992dSmrg ;; 18514ddf674Smrg -sco6) 18614ddf674Smrg os=-sco5v6 18714ddf674Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18814ddf674Smrg ;; 189cacd992dSmrg -sco5) 190cacd992dSmrg os=-sco3.2v5 191cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192cacd992dSmrg ;; 193cacd992dSmrg -sco4) 194cacd992dSmrg os=-sco3.2v4 195cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196cacd992dSmrg ;; 197cacd992dSmrg -sco3.2.[4-9]*) 198cacd992dSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200cacd992dSmrg ;; 201cacd992dSmrg -sco3.2v[4-9]*) 202cacd992dSmrg # Don't forget version if it is 3.2v4 or newer. 203cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204cacd992dSmrg ;; 20514ddf674Smrg -sco5v6*) 20614ddf674Smrg # Don't forget version if it is 3.2v4 or newer. 20714ddf674Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20814ddf674Smrg ;; 209cacd992dSmrg -sco*) 210cacd992dSmrg os=-sco3.2v2 211cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212cacd992dSmrg ;; 213cacd992dSmrg -udk*) 214cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215cacd992dSmrg ;; 216cacd992dSmrg -isc) 217cacd992dSmrg os=-isc2.2 218cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219cacd992dSmrg ;; 220cacd992dSmrg -clix*) 221cacd992dSmrg basic_machine=clipper-intergraph 222cacd992dSmrg ;; 223cacd992dSmrg -isc*) 224cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225cacd992dSmrg ;; 226cacd992dSmrg -lynx*) 227cacd992dSmrg os=-lynxos 228cacd992dSmrg ;; 229cacd992dSmrg -ptx*) 230cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231cacd992dSmrg ;; 232cacd992dSmrg -windowsnt*) 233cacd992dSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234cacd992dSmrg ;; 235cacd992dSmrg -psos*) 236cacd992dSmrg os=-psos 237cacd992dSmrg ;; 238cacd992dSmrg -mint | -mint[0-9]*) 239cacd992dSmrg basic_machine=m68k-atari 240cacd992dSmrg os=-mint 241cacd992dSmrg ;; 242cacd992dSmrgesac 243cacd992dSmrg 244cacd992dSmrg# Decode aliases for certain CPU-COMPANY combinations. 245cacd992dSmrgcase $basic_machine in 246cacd992dSmrg # Recognize the basic CPU types without company name. 247cacd992dSmrg # Some are omitted here because they have special meanings below. 248cacd992dSmrg 1750a | 580 \ 249cacd992dSmrg | a29k \ 250cacd992dSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251cacd992dSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25214ddf674Smrg | am33_2.0 \ 25314ddf674Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2546758a055Smrg | be32 | be64 \ 25514ddf674Smrg | bfin \ 256cacd992dSmrg | c4x | clipper \ 257cacd992dSmrg | d10v | d30v | dlx | dsp16xx \ 2586758a055Smrg | epiphany \ 25914ddf674Smrg | fido | fr30 | frv \ 260cacd992dSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2616758a055Smrg | hexagon \ 262cacd992dSmrg | i370 | i860 | i960 | ia64 \ 26314ddf674Smrg | ip2k | iq2000 \ 2646758a055Smrg | le32 | le64 \ 26514ddf674Smrg | lm32 \ 26614ddf674Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26714ddf674Smrg | maxq | mb | microblaze | mcore | mep | metag \ 268cacd992dSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 269cacd992dSmrg | mips16 \ 270cacd992dSmrg | mips64 | mips64el \ 27114ddf674Smrg | mips64octeon | mips64octeonel \ 272cacd992dSmrg | mips64orion | mips64orionel \ 27314ddf674Smrg | mips64r5900 | mips64r5900el \ 27414ddf674Smrg | mips64vr | mips64vrel \ 275cacd992dSmrg | mips64vr4100 | mips64vr4100el \ 276cacd992dSmrg | mips64vr4300 | mips64vr4300el \ 277cacd992dSmrg | mips64vr5000 | mips64vr5000el \ 27814ddf674Smrg | mips64vr5900 | mips64vr5900el \ 279cacd992dSmrg | mipsisa32 | mipsisa32el \ 280cacd992dSmrg | mipsisa32r2 | mipsisa32r2el \ 281cacd992dSmrg | mipsisa64 | mipsisa64el \ 28214ddf674Smrg | mipsisa64r2 | mipsisa64r2el \ 283cacd992dSmrg | mipsisa64sb1 | mipsisa64sb1el \ 284cacd992dSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 285cacd992dSmrg | mipstx39 | mipstx39el \ 286cacd992dSmrg | mn10200 | mn10300 \ 28714ddf674Smrg | moxie \ 28814ddf674Smrg | mt \ 289cacd992dSmrg | msp430 \ 2906758a055Smrg | nds32 | nds32le | nds32be \ 29114ddf674Smrg | nios | nios2 \ 292cacd992dSmrg | ns16k | ns32k \ 2936758a055Smrg | open8 \ 29414ddf674Smrg | or32 \ 295cacd992dSmrg | pdp10 | pdp11 | pj | pjl \ 2966758a055Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 297cacd992dSmrg | pyramid \ 2986758a055Smrg | rl78 | rx \ 29914ddf674Smrg | score \ 30014ddf674Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301cacd992dSmrg | sh64 | sh64le \ 30214ddf674Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 30314ddf674Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3046758a055Smrg | spu \ 3056758a055Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 30614ddf674Smrg | ubicom32 \ 3076758a055Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308cacd992dSmrg | we32k \ 3096758a055Smrg | x86 | xc16x | xstormy16 | xtensa \ 31014ddf674Smrg | z8k | z80) 311cacd992dSmrg basic_machine=$basic_machine-unknown 312cacd992dSmrg ;; 3136758a055Smrg c54x) 3146758a055Smrg basic_machine=tic54x-unknown 3156758a055Smrg ;; 3166758a055Smrg c55x) 3176758a055Smrg basic_machine=tic55x-unknown 3186758a055Smrg ;; 3196758a055Smrg c6x) 3206758a055Smrg basic_machine=tic6x-unknown 3216758a055Smrg ;; 32214ddf674Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323cacd992dSmrg # Motorola 68HC11/12. 324cacd992dSmrg basic_machine=$basic_machine-unknown 325cacd992dSmrg os=-none 326cacd992dSmrg ;; 327cacd992dSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 328cacd992dSmrg ;; 32914ddf674Smrg ms1) 33014ddf674Smrg basic_machine=mt-unknown 33114ddf674Smrg ;; 332cacd992dSmrg 3336758a055Smrg strongarm | thumb | xscale) 3346758a055Smrg basic_machine=arm-unknown 3356758a055Smrg ;; 3366758a055Smrg 3376758a055Smrg xscaleeb) 3386758a055Smrg basic_machine=armeb-unknown 3396758a055Smrg ;; 3406758a055Smrg 3416758a055Smrg xscaleel) 3426758a055Smrg basic_machine=armel-unknown 3436758a055Smrg ;; 3446758a055Smrg 345cacd992dSmrg # We use `pc' rather than `unknown' 346cacd992dSmrg # because (1) that's what they normally are, and 347cacd992dSmrg # (2) the word "unknown" tends to confuse beginning users. 348cacd992dSmrg i*86 | x86_64) 349cacd992dSmrg basic_machine=$basic_machine-pc 350cacd992dSmrg ;; 351cacd992dSmrg # Object if more than one company name word. 352cacd992dSmrg *-*-*) 353cacd992dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 354cacd992dSmrg exit 1 355cacd992dSmrg ;; 356cacd992dSmrg # Recognize the basic CPU types with company name. 357cacd992dSmrg 580-* \ 358cacd992dSmrg | a29k-* \ 359cacd992dSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 360cacd992dSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 361cacd992dSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 362cacd992dSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 36314ddf674Smrg | avr-* | avr32-* \ 3646758a055Smrg | be32-* | be64-* \ 36514ddf674Smrg | bfin-* | bs2000-* \ 3666758a055Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 36714ddf674Smrg | clipper-* | craynv-* | cydra-* \ 368cacd992dSmrg | d10v-* | d30v-* | dlx-* \ 369cacd992dSmrg | elxsi-* \ 37014ddf674Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 371cacd992dSmrg | h8300-* | h8500-* \ 372cacd992dSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3736758a055Smrg | hexagon-* \ 374cacd992dSmrg | i*86-* | i860-* | i960-* | ia64-* \ 37514ddf674Smrg | ip2k-* | iq2000-* \ 3766758a055Smrg | le32-* | le64-* \ 37714ddf674Smrg | lm32-* \ 37814ddf674Smrg | m32c-* | m32r-* | m32rle-* \ 379cacd992dSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 38014ddf674Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 381cacd992dSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 382cacd992dSmrg | mips16-* \ 383cacd992dSmrg | mips64-* | mips64el-* \ 38414ddf674Smrg | mips64octeon-* | mips64octeonel-* \ 385cacd992dSmrg | mips64orion-* | mips64orionel-* \ 38614ddf674Smrg | mips64r5900-* | mips64r5900el-* \ 38714ddf674Smrg | mips64vr-* | mips64vrel-* \ 388cacd992dSmrg | mips64vr4100-* | mips64vr4100el-* \ 389cacd992dSmrg | mips64vr4300-* | mips64vr4300el-* \ 390cacd992dSmrg | mips64vr5000-* | mips64vr5000el-* \ 39114ddf674Smrg | mips64vr5900-* | mips64vr5900el-* \ 392cacd992dSmrg | mipsisa32-* | mipsisa32el-* \ 393cacd992dSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 394cacd992dSmrg | mipsisa64-* | mipsisa64el-* \ 39514ddf674Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 396cacd992dSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 397cacd992dSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 398cacd992dSmrg | mipstx39-* | mipstx39el-* \ 39914ddf674Smrg | mmix-* \ 40014ddf674Smrg | mt-* \ 401cacd992dSmrg | msp430-* \ 4026758a055Smrg | nds32-* | nds32le-* | nds32be-* \ 40314ddf674Smrg | nios-* | nios2-* \ 40414ddf674Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4056758a055Smrg | open8-* \ 406cacd992dSmrg | orion-* \ 407cacd992dSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4086758a055Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 409cacd992dSmrg | pyramid-* \ 4106758a055Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 41114ddf674Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 412cacd992dSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 41314ddf674Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 41414ddf674Smrg | sparclite-* \ 4156758a055Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4166758a055Smrg | tahoe-* \ 4176758a055Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4186758a055Smrg | tile*-* \ 419cacd992dSmrg | tron-* \ 42014ddf674Smrg | ubicom32-* \ 4216758a055Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4226758a055Smrg | vax-* \ 423cacd992dSmrg | we32k-* \ 4246758a055Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 42514ddf674Smrg | xstormy16-* | xtensa*-* \ 426cacd992dSmrg | ymp-* \ 42714ddf674Smrg | z8k-* | z80-*) 42814ddf674Smrg ;; 42914ddf674Smrg # Recognize the basic CPU types without company name, with glob match. 43014ddf674Smrg xtensa*) 43114ddf674Smrg basic_machine=$basic_machine-unknown 432cacd992dSmrg ;; 433cacd992dSmrg # Recognize the various machine names and aliases which stand 434cacd992dSmrg # for a CPU type and a company and sometimes even an OS. 435cacd992dSmrg 386bsd) 436cacd992dSmrg basic_machine=i386-unknown 437cacd992dSmrg os=-bsd 438cacd992dSmrg ;; 439cacd992dSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 440cacd992dSmrg basic_machine=m68000-att 441cacd992dSmrg ;; 442cacd992dSmrg 3b*) 443cacd992dSmrg basic_machine=we32k-att 444cacd992dSmrg ;; 445cacd992dSmrg a29khif) 446cacd992dSmrg basic_machine=a29k-amd 447cacd992dSmrg os=-udi 448cacd992dSmrg ;; 4496758a055Smrg abacus) 45014ddf674Smrg basic_machine=abacus-unknown 45114ddf674Smrg ;; 452cacd992dSmrg adobe68k) 453cacd992dSmrg basic_machine=m68010-adobe 454cacd992dSmrg os=-scout 455cacd992dSmrg ;; 456cacd992dSmrg alliant | fx80) 457cacd992dSmrg basic_machine=fx80-alliant 458cacd992dSmrg ;; 459cacd992dSmrg altos | altos3068) 460cacd992dSmrg basic_machine=m68k-altos 461cacd992dSmrg ;; 462cacd992dSmrg am29k) 463cacd992dSmrg basic_machine=a29k-none 464cacd992dSmrg os=-bsd 465cacd992dSmrg ;; 466cacd992dSmrg amd64) 467cacd992dSmrg basic_machine=x86_64-pc 468cacd992dSmrg ;; 46914ddf674Smrg amd64-*) 47014ddf674Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 47114ddf674Smrg ;; 472cacd992dSmrg amdahl) 473cacd992dSmrg basic_machine=580-amdahl 474cacd992dSmrg os=-sysv 475cacd992dSmrg ;; 476cacd992dSmrg amiga | amiga-*) 477cacd992dSmrg basic_machine=m68k-unknown 478cacd992dSmrg ;; 479cacd992dSmrg amigaos | amigados) 480cacd992dSmrg basic_machine=m68k-unknown 481cacd992dSmrg os=-amigaos 482cacd992dSmrg ;; 483cacd992dSmrg amigaunix | amix) 484cacd992dSmrg basic_machine=m68k-unknown 485cacd992dSmrg os=-sysv4 486cacd992dSmrg ;; 487cacd992dSmrg apollo68) 488cacd992dSmrg basic_machine=m68k-apollo 489cacd992dSmrg os=-sysv 490cacd992dSmrg ;; 491cacd992dSmrg apollo68bsd) 492cacd992dSmrg basic_machine=m68k-apollo 493cacd992dSmrg os=-bsd 494cacd992dSmrg ;; 49514ddf674Smrg aros) 49614ddf674Smrg basic_machine=i386-pc 49714ddf674Smrg os=-aros 49814ddf674Smrg ;; 499cacd992dSmrg aux) 500cacd992dSmrg basic_machine=m68k-apple 501cacd992dSmrg os=-aux 502cacd992dSmrg ;; 503cacd992dSmrg balance) 504cacd992dSmrg basic_machine=ns32k-sequent 505cacd992dSmrg os=-dynix 506cacd992dSmrg ;; 50714ddf674Smrg blackfin) 50814ddf674Smrg basic_machine=bfin-unknown 50914ddf674Smrg os=-linux 51014ddf674Smrg ;; 51114ddf674Smrg blackfin-*) 51214ddf674Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 51314ddf674Smrg os=-linux 51414ddf674Smrg ;; 51514ddf674Smrg bluegene*) 51614ddf674Smrg basic_machine=powerpc-ibm 51714ddf674Smrg os=-cnk 51814ddf674Smrg ;; 5196758a055Smrg c54x-*) 5206758a055Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5216758a055Smrg ;; 5226758a055Smrg c55x-*) 5236758a055Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5246758a055Smrg ;; 5256758a055Smrg c6x-*) 5266758a055Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5276758a055Smrg ;; 528cacd992dSmrg c90) 529cacd992dSmrg basic_machine=c90-cray 530cacd992dSmrg os=-unicos 531cacd992dSmrg ;; 5326758a055Smrg cegcc) 53314ddf674Smrg basic_machine=arm-unknown 53414ddf674Smrg os=-cegcc 53514ddf674Smrg ;; 536cacd992dSmrg convex-c1) 537cacd992dSmrg basic_machine=c1-convex 538cacd992dSmrg os=-bsd 539cacd992dSmrg ;; 540cacd992dSmrg convex-c2) 541cacd992dSmrg basic_machine=c2-convex 542cacd992dSmrg os=-bsd 543cacd992dSmrg ;; 544cacd992dSmrg convex-c32) 545cacd992dSmrg basic_machine=c32-convex 546cacd992dSmrg os=-bsd 547cacd992dSmrg ;; 548cacd992dSmrg convex-c34) 549cacd992dSmrg basic_machine=c34-convex 550cacd992dSmrg os=-bsd 551cacd992dSmrg ;; 552cacd992dSmrg convex-c38) 553cacd992dSmrg basic_machine=c38-convex 554cacd992dSmrg os=-bsd 555cacd992dSmrg ;; 556cacd992dSmrg cray | j90) 557cacd992dSmrg basic_machine=j90-cray 558cacd992dSmrg os=-unicos 559cacd992dSmrg ;; 56014ddf674Smrg craynv) 56114ddf674Smrg basic_machine=craynv-cray 56214ddf674Smrg os=-unicosmp 56314ddf674Smrg ;; 5646758a055Smrg cr16 | cr16-*) 56514ddf674Smrg basic_machine=cr16-unknown 56614ddf674Smrg os=-elf 56714ddf674Smrg ;; 568cacd992dSmrg crds | unos) 569cacd992dSmrg basic_machine=m68k-crds 570cacd992dSmrg ;; 57114ddf674Smrg crisv32 | crisv32-* | etraxfs*) 57214ddf674Smrg basic_machine=crisv32-axis 57314ddf674Smrg ;; 574cacd992dSmrg cris | cris-* | etrax*) 575cacd992dSmrg basic_machine=cris-axis 576cacd992dSmrg ;; 57714ddf674Smrg crx) 57814ddf674Smrg basic_machine=crx-unknown 57914ddf674Smrg os=-elf 58014ddf674Smrg ;; 581cacd992dSmrg da30 | da30-*) 582cacd992dSmrg basic_machine=m68k-da30 583cacd992dSmrg ;; 584cacd992dSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 585cacd992dSmrg basic_machine=mips-dec 586cacd992dSmrg ;; 587cacd992dSmrg decsystem10* | dec10*) 588cacd992dSmrg basic_machine=pdp10-dec 589cacd992dSmrg os=-tops10 590cacd992dSmrg ;; 591cacd992dSmrg decsystem20* | dec20*) 592cacd992dSmrg basic_machine=pdp10-dec 593cacd992dSmrg os=-tops20 594cacd992dSmrg ;; 595cacd992dSmrg delta | 3300 | motorola-3300 | motorola-delta \ 596cacd992dSmrg | 3300-motorola | delta-motorola) 597cacd992dSmrg basic_machine=m68k-motorola 598cacd992dSmrg ;; 599cacd992dSmrg delta88) 600cacd992dSmrg basic_machine=m88k-motorola 601cacd992dSmrg os=-sysv3 602cacd992dSmrg ;; 60314ddf674Smrg dicos) 60414ddf674Smrg basic_machine=i686-pc 60514ddf674Smrg os=-dicos 60614ddf674Smrg ;; 60714ddf674Smrg djgpp) 60814ddf674Smrg basic_machine=i586-pc 60914ddf674Smrg os=-msdosdjgpp 61014ddf674Smrg ;; 611cacd992dSmrg dpx20 | dpx20-*) 612cacd992dSmrg basic_machine=rs6000-bull 613cacd992dSmrg os=-bosx 614cacd992dSmrg ;; 615cacd992dSmrg dpx2* | dpx2*-bull) 616cacd992dSmrg basic_machine=m68k-bull 617cacd992dSmrg os=-sysv3 618cacd992dSmrg ;; 619cacd992dSmrg ebmon29k) 620cacd992dSmrg basic_machine=a29k-amd 621cacd992dSmrg os=-ebmon 622cacd992dSmrg ;; 623cacd992dSmrg elxsi) 624cacd992dSmrg basic_machine=elxsi-elxsi 625cacd992dSmrg os=-bsd 626cacd992dSmrg ;; 627cacd992dSmrg encore | umax | mmax) 628cacd992dSmrg basic_machine=ns32k-encore 629cacd992dSmrg ;; 630cacd992dSmrg es1800 | OSE68k | ose68k | ose | OSE) 631cacd992dSmrg basic_machine=m68k-ericsson 632cacd992dSmrg os=-ose 633cacd992dSmrg ;; 634cacd992dSmrg fx2800) 635cacd992dSmrg basic_machine=i860-alliant 636cacd992dSmrg ;; 637cacd992dSmrg genix) 638cacd992dSmrg basic_machine=ns32k-ns 639cacd992dSmrg ;; 640cacd992dSmrg gmicro) 641cacd992dSmrg basic_machine=tron-gmicro 642cacd992dSmrg os=-sysv 643cacd992dSmrg ;; 644cacd992dSmrg go32) 645cacd992dSmrg basic_machine=i386-pc 646cacd992dSmrg os=-go32 647cacd992dSmrg ;; 648cacd992dSmrg h3050r* | hiux*) 649cacd992dSmrg basic_machine=hppa1.1-hitachi 650cacd992dSmrg os=-hiuxwe2 651cacd992dSmrg ;; 652cacd992dSmrg h8300hms) 653cacd992dSmrg basic_machine=h8300-hitachi 654cacd992dSmrg os=-hms 655cacd992dSmrg ;; 656cacd992dSmrg h8300xray) 657cacd992dSmrg basic_machine=h8300-hitachi 658cacd992dSmrg os=-xray 659cacd992dSmrg ;; 660cacd992dSmrg h8500hms) 661cacd992dSmrg basic_machine=h8500-hitachi 662cacd992dSmrg os=-hms 663cacd992dSmrg ;; 664cacd992dSmrg harris) 665cacd992dSmrg basic_machine=m88k-harris 666cacd992dSmrg os=-sysv3 667cacd992dSmrg ;; 668cacd992dSmrg hp300-*) 669cacd992dSmrg basic_machine=m68k-hp 670cacd992dSmrg ;; 671cacd992dSmrg hp300bsd) 672cacd992dSmrg basic_machine=m68k-hp 673cacd992dSmrg os=-bsd 674cacd992dSmrg ;; 675cacd992dSmrg hp300hpux) 676cacd992dSmrg basic_machine=m68k-hp 677cacd992dSmrg os=-hpux 678cacd992dSmrg ;; 679cacd992dSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 680cacd992dSmrg basic_machine=hppa1.0-hp 681cacd992dSmrg ;; 682cacd992dSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 683cacd992dSmrg basic_machine=m68000-hp 684cacd992dSmrg ;; 685cacd992dSmrg hp9k3[2-9][0-9]) 686cacd992dSmrg basic_machine=m68k-hp 687cacd992dSmrg ;; 688cacd992dSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 689cacd992dSmrg basic_machine=hppa1.0-hp 690cacd992dSmrg ;; 691cacd992dSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 692cacd992dSmrg basic_machine=hppa1.1-hp 693cacd992dSmrg ;; 694cacd992dSmrg hp9k78[0-9] | hp78[0-9]) 695cacd992dSmrg # FIXME: really hppa2.0-hp 696cacd992dSmrg basic_machine=hppa1.1-hp 697cacd992dSmrg ;; 698cacd992dSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 699cacd992dSmrg # FIXME: really hppa2.0-hp 700cacd992dSmrg basic_machine=hppa1.1-hp 701cacd992dSmrg ;; 702cacd992dSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 703cacd992dSmrg basic_machine=hppa1.1-hp 704cacd992dSmrg ;; 705cacd992dSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 706cacd992dSmrg basic_machine=hppa1.0-hp 707cacd992dSmrg ;; 708cacd992dSmrg hppa-next) 709cacd992dSmrg os=-nextstep3 710cacd992dSmrg ;; 711cacd992dSmrg hppaosf) 712cacd992dSmrg basic_machine=hppa1.1-hp 713cacd992dSmrg os=-osf 714cacd992dSmrg ;; 715cacd992dSmrg hppro) 716cacd992dSmrg basic_machine=hppa1.1-hp 717cacd992dSmrg os=-proelf 718cacd992dSmrg ;; 719cacd992dSmrg i370-ibm* | ibm*) 720cacd992dSmrg basic_machine=i370-ibm 721cacd992dSmrg ;; 722cacd992dSmrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 723cacd992dSmrg i*86v32) 724cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 725cacd992dSmrg os=-sysv32 726cacd992dSmrg ;; 727cacd992dSmrg i*86v4*) 728cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 729cacd992dSmrg os=-sysv4 730cacd992dSmrg ;; 731cacd992dSmrg i*86v) 732cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 733cacd992dSmrg os=-sysv 734cacd992dSmrg ;; 735cacd992dSmrg i*86sol2) 736cacd992dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 737cacd992dSmrg os=-solaris2 738cacd992dSmrg ;; 739cacd992dSmrg i386mach) 740cacd992dSmrg basic_machine=i386-mach 741cacd992dSmrg os=-mach 742cacd992dSmrg ;; 743cacd992dSmrg i386-vsta | vsta) 744cacd992dSmrg basic_machine=i386-unknown 745cacd992dSmrg os=-vsta 746cacd992dSmrg ;; 747cacd992dSmrg iris | iris4d) 748cacd992dSmrg basic_machine=mips-sgi 749cacd992dSmrg case $os in 750cacd992dSmrg -irix*) 751cacd992dSmrg ;; 752cacd992dSmrg *) 753cacd992dSmrg os=-irix4 754cacd992dSmrg ;; 755cacd992dSmrg esac 756cacd992dSmrg ;; 757cacd992dSmrg isi68 | isi) 758cacd992dSmrg basic_machine=m68k-isi 759cacd992dSmrg os=-sysv 760cacd992dSmrg ;; 76114ddf674Smrg m68knommu) 76214ddf674Smrg basic_machine=m68k-unknown 76314ddf674Smrg os=-linux 76414ddf674Smrg ;; 76514ddf674Smrg m68knommu-*) 76614ddf674Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 76714ddf674Smrg os=-linux 76814ddf674Smrg ;; 769cacd992dSmrg m88k-omron*) 770cacd992dSmrg basic_machine=m88k-omron 771cacd992dSmrg ;; 772cacd992dSmrg magnum | m3230) 773cacd992dSmrg basic_machine=mips-mips 774cacd992dSmrg os=-sysv 775cacd992dSmrg ;; 776cacd992dSmrg merlin) 777cacd992dSmrg basic_machine=ns32k-utek 778cacd992dSmrg os=-sysv 779cacd992dSmrg ;; 7806758a055Smrg microblaze) 78114ddf674Smrg basic_machine=microblaze-xilinx 78214ddf674Smrg ;; 783cacd992dSmrg mingw32) 784cacd992dSmrg basic_machine=i386-pc 785cacd992dSmrg os=-mingw32 786cacd992dSmrg ;; 78714ddf674Smrg mingw32ce) 78814ddf674Smrg basic_machine=arm-unknown 78914ddf674Smrg os=-mingw32ce 79014ddf674Smrg ;; 791cacd992dSmrg miniframe) 792cacd992dSmrg basic_machine=m68000-convergent 793cacd992dSmrg ;; 794cacd992dSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 795cacd992dSmrg basic_machine=m68k-atari 796cacd992dSmrg os=-mint 797cacd992dSmrg ;; 798cacd992dSmrg mips3*-*) 799cacd992dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 800cacd992dSmrg ;; 801cacd992dSmrg mips3*) 802cacd992dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 803cacd992dSmrg ;; 804cacd992dSmrg monitor) 805cacd992dSmrg basic_machine=m68k-rom68k 806cacd992dSmrg os=-coff 807cacd992dSmrg ;; 808cacd992dSmrg morphos) 809cacd992dSmrg basic_machine=powerpc-unknown 810cacd992dSmrg os=-morphos 811cacd992dSmrg ;; 812cacd992dSmrg msdos) 813cacd992dSmrg basic_machine=i386-pc 814cacd992dSmrg os=-msdos 815cacd992dSmrg ;; 81614ddf674Smrg ms1-*) 81714ddf674Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 81814ddf674Smrg ;; 8196758a055Smrg msys) 8206758a055Smrg basic_machine=i386-pc 8216758a055Smrg os=-msys 8226758a055Smrg ;; 823cacd992dSmrg mvs) 824cacd992dSmrg basic_machine=i370-ibm 825cacd992dSmrg os=-mvs 826cacd992dSmrg ;; 8276758a055Smrg nacl) 8286758a055Smrg basic_machine=le32-unknown 8296758a055Smrg os=-nacl 8306758a055Smrg ;; 831cacd992dSmrg ncr3000) 832cacd992dSmrg basic_machine=i486-ncr 833cacd992dSmrg os=-sysv4 834cacd992dSmrg ;; 835cacd992dSmrg netbsd386) 836cacd992dSmrg basic_machine=i386-unknown 837cacd992dSmrg os=-netbsd 838cacd992dSmrg ;; 839cacd992dSmrg netwinder) 840cacd992dSmrg basic_machine=armv4l-rebel 841cacd992dSmrg os=-linux 842cacd992dSmrg ;; 843cacd992dSmrg news | news700 | news800 | news900) 844cacd992dSmrg basic_machine=m68k-sony 845cacd992dSmrg os=-newsos 846cacd992dSmrg ;; 847cacd992dSmrg news1000) 848cacd992dSmrg basic_machine=m68030-sony 849cacd992dSmrg os=-newsos 850cacd992dSmrg ;; 851cacd992dSmrg news-3600 | risc-news) 852cacd992dSmrg basic_machine=mips-sony 853cacd992dSmrg os=-newsos 854cacd992dSmrg ;; 855cacd992dSmrg necv70) 856cacd992dSmrg basic_machine=v70-nec 857cacd992dSmrg os=-sysv 858cacd992dSmrg ;; 859cacd992dSmrg next | m*-next ) 860cacd992dSmrg basic_machine=m68k-next 861cacd992dSmrg case $os in 862cacd992dSmrg -nextstep* ) 863cacd992dSmrg ;; 864cacd992dSmrg -ns2*) 865cacd992dSmrg os=-nextstep2 866cacd992dSmrg ;; 867cacd992dSmrg *) 868cacd992dSmrg os=-nextstep3 869cacd992dSmrg ;; 870cacd992dSmrg esac 871cacd992dSmrg ;; 872cacd992dSmrg nh3000) 873cacd992dSmrg basic_machine=m68k-harris 874cacd992dSmrg os=-cxux 875cacd992dSmrg ;; 876cacd992dSmrg nh[45]000) 877cacd992dSmrg basic_machine=m88k-harris 878cacd992dSmrg os=-cxux 879cacd992dSmrg ;; 880cacd992dSmrg nindy960) 881cacd992dSmrg basic_machine=i960-intel 882cacd992dSmrg os=-nindy 883cacd992dSmrg ;; 884cacd992dSmrg mon960) 885cacd992dSmrg basic_machine=i960-intel 886cacd992dSmrg os=-mon960 887cacd992dSmrg ;; 888cacd992dSmrg nonstopux) 889cacd992dSmrg basic_machine=mips-compaq 890cacd992dSmrg os=-nonstopux 891cacd992dSmrg ;; 892cacd992dSmrg np1) 893cacd992dSmrg basic_machine=np1-gould 894cacd992dSmrg ;; 8956758a055Smrg neo-tandem) 8966758a055Smrg basic_machine=neo-tandem 8976758a055Smrg ;; 8986758a055Smrg nse-tandem) 8996758a055Smrg basic_machine=nse-tandem 9006758a055Smrg ;; 901cacd992dSmrg nsr-tandem) 902cacd992dSmrg basic_machine=nsr-tandem 903cacd992dSmrg ;; 904cacd992dSmrg op50n-* | op60c-*) 905cacd992dSmrg basic_machine=hppa1.1-oki 906cacd992dSmrg os=-proelf 907cacd992dSmrg ;; 90814ddf674Smrg openrisc | openrisc-*) 909cacd992dSmrg basic_machine=or32-unknown 91014ddf674Smrg ;; 91114ddf674Smrg os400) 91214ddf674Smrg basic_machine=powerpc-ibm 91314ddf674Smrg os=-os400 914cacd992dSmrg ;; 915cacd992dSmrg OSE68000 | ose68000) 916cacd992dSmrg basic_machine=m68000-ericsson 917cacd992dSmrg os=-ose 918cacd992dSmrg ;; 919cacd992dSmrg os68k) 920cacd992dSmrg basic_machine=m68k-none 921cacd992dSmrg os=-os68k 922cacd992dSmrg ;; 923cacd992dSmrg pa-hitachi) 924cacd992dSmrg basic_machine=hppa1.1-hitachi 925cacd992dSmrg os=-hiuxwe2 926cacd992dSmrg ;; 927cacd992dSmrg paragon) 928cacd992dSmrg basic_machine=i860-intel 929cacd992dSmrg os=-osf 930cacd992dSmrg ;; 93114ddf674Smrg parisc) 93214ddf674Smrg basic_machine=hppa-unknown 93314ddf674Smrg os=-linux 93414ddf674Smrg ;; 93514ddf674Smrg parisc-*) 93614ddf674Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 93714ddf674Smrg os=-linux 93814ddf674Smrg ;; 939cacd992dSmrg pbd) 940cacd992dSmrg basic_machine=sparc-tti 941cacd992dSmrg ;; 942cacd992dSmrg pbb) 943cacd992dSmrg basic_machine=m68k-tti 944cacd992dSmrg ;; 945cacd992dSmrg pc532 | pc532-*) 946cacd992dSmrg basic_machine=ns32k-pc532 947cacd992dSmrg ;; 94814ddf674Smrg pc98) 94914ddf674Smrg basic_machine=i386-pc 95014ddf674Smrg ;; 95114ddf674Smrg pc98-*) 95214ddf674Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 95314ddf674Smrg ;; 954cacd992dSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 955cacd992dSmrg basic_machine=i586-pc 956cacd992dSmrg ;; 957cacd992dSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 958cacd992dSmrg basic_machine=i686-pc 959cacd992dSmrg ;; 960cacd992dSmrg pentiumii | pentium2 | pentiumiii | pentium3) 961cacd992dSmrg basic_machine=i686-pc 962cacd992dSmrg ;; 963cacd992dSmrg pentium4) 964cacd992dSmrg basic_machine=i786-pc 965cacd992dSmrg ;; 966cacd992dSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 967cacd992dSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 968cacd992dSmrg ;; 969cacd992dSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 970cacd992dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 971cacd992dSmrg ;; 972cacd992dSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 973cacd992dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 974cacd992dSmrg ;; 975cacd992dSmrg pentium4-*) 976cacd992dSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 977cacd992dSmrg ;; 978cacd992dSmrg pn) 979cacd992dSmrg basic_machine=pn-gould 980cacd992dSmrg ;; 981cacd992dSmrg power) basic_machine=power-ibm 982cacd992dSmrg ;; 9836758a055Smrg ppc | ppcbe) basic_machine=powerpc-unknown 984cacd992dSmrg ;; 9856758a055Smrg ppc-* | ppcbe-*) 9866758a055Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 987cacd992dSmrg ;; 988cacd992dSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 989cacd992dSmrg basic_machine=powerpcle-unknown 990cacd992dSmrg ;; 991cacd992dSmrg ppcle-* | powerpclittle-*) 992cacd992dSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 993cacd992dSmrg ;; 994cacd992dSmrg ppc64) basic_machine=powerpc64-unknown 995cacd992dSmrg ;; 996cacd992dSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 997cacd992dSmrg ;; 998cacd992dSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 999cacd992dSmrg basic_machine=powerpc64le-unknown 1000cacd992dSmrg ;; 1001cacd992dSmrg ppc64le-* | powerpc64little-*) 1002cacd992dSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1003cacd992dSmrg ;; 1004cacd992dSmrg ps2) 1005cacd992dSmrg basic_machine=i386-ibm 1006cacd992dSmrg ;; 1007cacd992dSmrg pw32) 1008cacd992dSmrg basic_machine=i586-unknown 1009cacd992dSmrg os=-pw32 1010cacd992dSmrg ;; 101114ddf674Smrg rdos) 101214ddf674Smrg basic_machine=i386-pc 101314ddf674Smrg os=-rdos 101414ddf674Smrg ;; 1015cacd992dSmrg rom68k) 1016cacd992dSmrg basic_machine=m68k-rom68k 1017cacd992dSmrg os=-coff 1018cacd992dSmrg ;; 1019cacd992dSmrg rm[46]00) 1020cacd992dSmrg basic_machine=mips-siemens 1021cacd992dSmrg ;; 1022cacd992dSmrg rtpc | rtpc-*) 1023cacd992dSmrg basic_machine=romp-ibm 1024cacd992dSmrg ;; 102514ddf674Smrg s390 | s390-*) 102614ddf674Smrg basic_machine=s390-ibm 102714ddf674Smrg ;; 102814ddf674Smrg s390x | s390x-*) 102914ddf674Smrg basic_machine=s390x-ibm 103014ddf674Smrg ;; 1031cacd992dSmrg sa29200) 1032cacd992dSmrg basic_machine=a29k-amd 1033cacd992dSmrg os=-udi 1034cacd992dSmrg ;; 1035cacd992dSmrg sb1) 1036cacd992dSmrg basic_machine=mipsisa64sb1-unknown 1037cacd992dSmrg ;; 1038cacd992dSmrg sb1el) 1039cacd992dSmrg basic_machine=mipsisa64sb1el-unknown 1040cacd992dSmrg ;; 104114ddf674Smrg sde) 104214ddf674Smrg basic_machine=mipsisa32-sde 104314ddf674Smrg os=-elf 104414ddf674Smrg ;; 1045cacd992dSmrg sei) 1046cacd992dSmrg basic_machine=mips-sei 1047cacd992dSmrg os=-seiux 1048cacd992dSmrg ;; 1049cacd992dSmrg sequent) 1050cacd992dSmrg basic_machine=i386-sequent 1051cacd992dSmrg ;; 1052cacd992dSmrg sh) 1053cacd992dSmrg basic_machine=sh-hitachi 1054cacd992dSmrg os=-hms 1055cacd992dSmrg ;; 105614ddf674Smrg sh5el) 105714ddf674Smrg basic_machine=sh5le-unknown 105814ddf674Smrg ;; 1059cacd992dSmrg sh64) 1060cacd992dSmrg basic_machine=sh64-unknown 1061cacd992dSmrg ;; 1062cacd992dSmrg sparclite-wrs | simso-wrs) 1063cacd992dSmrg basic_machine=sparclite-wrs 1064cacd992dSmrg os=-vxworks 1065cacd992dSmrg ;; 1066cacd992dSmrg sps7) 1067cacd992dSmrg basic_machine=m68k-bull 1068cacd992dSmrg os=-sysv2 1069cacd992dSmrg ;; 1070cacd992dSmrg spur) 1071cacd992dSmrg basic_machine=spur-unknown 1072cacd992dSmrg ;; 1073cacd992dSmrg st2000) 1074cacd992dSmrg basic_machine=m68k-tandem 1075cacd992dSmrg ;; 1076cacd992dSmrg stratus) 1077cacd992dSmrg basic_machine=i860-stratus 1078cacd992dSmrg os=-sysv4 1079cacd992dSmrg ;; 10806758a055Smrg strongarm-* | thumb-*) 10816758a055Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 10826758a055Smrg ;; 1083cacd992dSmrg sun2) 1084cacd992dSmrg basic_machine=m68000-sun 1085cacd992dSmrg ;; 1086cacd992dSmrg sun2os3) 1087cacd992dSmrg basic_machine=m68000-sun 1088cacd992dSmrg os=-sunos3 1089cacd992dSmrg ;; 1090cacd992dSmrg sun2os4) 1091cacd992dSmrg basic_machine=m68000-sun 1092cacd992dSmrg os=-sunos4 1093cacd992dSmrg ;; 1094cacd992dSmrg sun3os3) 1095cacd992dSmrg basic_machine=m68k-sun 1096cacd992dSmrg os=-sunos3 1097cacd992dSmrg ;; 1098cacd992dSmrg sun3os4) 1099cacd992dSmrg basic_machine=m68k-sun 1100cacd992dSmrg os=-sunos4 1101cacd992dSmrg ;; 1102cacd992dSmrg sun4os3) 1103cacd992dSmrg basic_machine=sparc-sun 1104cacd992dSmrg os=-sunos3 1105cacd992dSmrg ;; 1106cacd992dSmrg sun4os4) 1107cacd992dSmrg basic_machine=sparc-sun 1108cacd992dSmrg os=-sunos4 1109cacd992dSmrg ;; 1110cacd992dSmrg sun4sol2) 1111cacd992dSmrg basic_machine=sparc-sun 1112cacd992dSmrg os=-solaris2 1113cacd992dSmrg ;; 1114cacd992dSmrg sun3 | sun3-*) 1115cacd992dSmrg basic_machine=m68k-sun 1116cacd992dSmrg ;; 1117cacd992dSmrg sun4) 1118cacd992dSmrg basic_machine=sparc-sun 1119cacd992dSmrg ;; 1120cacd992dSmrg sun386 | sun386i | roadrunner) 1121cacd992dSmrg basic_machine=i386-sun 1122cacd992dSmrg ;; 1123cacd992dSmrg sv1) 1124cacd992dSmrg basic_machine=sv1-cray 1125cacd992dSmrg os=-unicos 1126cacd992dSmrg ;; 1127cacd992dSmrg symmetry) 1128cacd992dSmrg basic_machine=i386-sequent 1129cacd992dSmrg os=-dynix 1130cacd992dSmrg ;; 1131cacd992dSmrg t3e) 1132cacd992dSmrg basic_machine=alphaev5-cray 1133cacd992dSmrg os=-unicos 1134cacd992dSmrg ;; 1135cacd992dSmrg t90) 1136cacd992dSmrg basic_machine=t90-cray 1137cacd992dSmrg os=-unicos 1138cacd992dSmrg ;; 113914ddf674Smrg tile*) 11406758a055Smrg basic_machine=$basic_machine-unknown 114114ddf674Smrg os=-linux-gnu 114214ddf674Smrg ;; 1143cacd992dSmrg tx39) 1144cacd992dSmrg basic_machine=mipstx39-unknown 1145cacd992dSmrg ;; 1146cacd992dSmrg tx39el) 1147cacd992dSmrg basic_machine=mipstx39el-unknown 1148cacd992dSmrg ;; 1149cacd992dSmrg toad1) 1150cacd992dSmrg basic_machine=pdp10-xkl 1151cacd992dSmrg os=-tops20 1152cacd992dSmrg ;; 1153cacd992dSmrg tower | tower-32) 1154cacd992dSmrg basic_machine=m68k-ncr 1155cacd992dSmrg ;; 115614ddf674Smrg tpf) 115714ddf674Smrg basic_machine=s390x-ibm 115814ddf674Smrg os=-tpf 115914ddf674Smrg ;; 1160cacd992dSmrg udi29k) 1161cacd992dSmrg basic_machine=a29k-amd 1162cacd992dSmrg os=-udi 1163cacd992dSmrg ;; 1164cacd992dSmrg ultra3) 1165cacd992dSmrg basic_machine=a29k-nyu 1166cacd992dSmrg os=-sym1 1167cacd992dSmrg ;; 1168cacd992dSmrg v810 | necv810) 1169cacd992dSmrg basic_machine=v810-nec 1170cacd992dSmrg os=-none 1171cacd992dSmrg ;; 1172cacd992dSmrg vaxv) 1173cacd992dSmrg basic_machine=vax-dec 1174cacd992dSmrg os=-sysv 1175cacd992dSmrg ;; 1176cacd992dSmrg vms) 1177cacd992dSmrg basic_machine=vax-dec 1178cacd992dSmrg os=-vms 1179cacd992dSmrg ;; 1180cacd992dSmrg vpp*|vx|vx-*) 1181cacd992dSmrg basic_machine=f301-fujitsu 1182cacd992dSmrg ;; 1183cacd992dSmrg vxworks960) 1184cacd992dSmrg basic_machine=i960-wrs 1185cacd992dSmrg os=-vxworks 1186cacd992dSmrg ;; 1187cacd992dSmrg vxworks68) 1188cacd992dSmrg basic_machine=m68k-wrs 1189cacd992dSmrg os=-vxworks 1190cacd992dSmrg ;; 1191cacd992dSmrg vxworks29k) 1192cacd992dSmrg basic_machine=a29k-wrs 1193cacd992dSmrg os=-vxworks 1194cacd992dSmrg ;; 1195cacd992dSmrg w65*) 1196cacd992dSmrg basic_machine=w65-wdc 1197cacd992dSmrg os=-none 1198cacd992dSmrg ;; 1199cacd992dSmrg w89k-*) 1200cacd992dSmrg basic_machine=hppa1.1-winbond 1201cacd992dSmrg os=-proelf 1202cacd992dSmrg ;; 120314ddf674Smrg xbox) 120414ddf674Smrg basic_machine=i686-pc 120514ddf674Smrg os=-mingw32 120614ddf674Smrg ;; 1207cacd992dSmrg xps | xps100) 1208cacd992dSmrg basic_machine=xps100-honeywell 1209cacd992dSmrg ;; 12106758a055Smrg xscale-* | xscalee[bl]-*) 12116758a055Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12126758a055Smrg ;; 1213cacd992dSmrg ymp) 1214cacd992dSmrg basic_machine=ymp-cray 1215cacd992dSmrg os=-unicos 1216cacd992dSmrg ;; 1217cacd992dSmrg z8k-*-coff) 1218cacd992dSmrg basic_machine=z8k-unknown 1219cacd992dSmrg os=-sim 1220cacd992dSmrg ;; 122114ddf674Smrg z80-*-coff) 122214ddf674Smrg basic_machine=z80-unknown 122314ddf674Smrg os=-sim 122414ddf674Smrg ;; 1225cacd992dSmrg none) 1226cacd992dSmrg basic_machine=none-none 1227cacd992dSmrg os=-none 1228cacd992dSmrg ;; 1229cacd992dSmrg 1230cacd992dSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1231cacd992dSmrg# some cases the only manufacturer, in others, it is the most popular. 1232cacd992dSmrg w89k) 1233cacd992dSmrg basic_machine=hppa1.1-winbond 1234cacd992dSmrg ;; 1235cacd992dSmrg op50n) 1236cacd992dSmrg basic_machine=hppa1.1-oki 1237cacd992dSmrg ;; 1238cacd992dSmrg op60c) 1239cacd992dSmrg basic_machine=hppa1.1-oki 1240cacd992dSmrg ;; 1241cacd992dSmrg romp) 1242cacd992dSmrg basic_machine=romp-ibm 1243cacd992dSmrg ;; 124414ddf674Smrg mmix) 124514ddf674Smrg basic_machine=mmix-knuth 124614ddf674Smrg ;; 1247cacd992dSmrg rs6000) 1248cacd992dSmrg basic_machine=rs6000-ibm 1249cacd992dSmrg ;; 1250cacd992dSmrg vax) 1251cacd992dSmrg basic_machine=vax-dec 1252cacd992dSmrg ;; 1253cacd992dSmrg pdp10) 1254cacd992dSmrg # there are many clones, so DEC is not a safe bet 1255cacd992dSmrg basic_machine=pdp10-unknown 1256cacd992dSmrg ;; 1257cacd992dSmrg pdp11) 1258cacd992dSmrg basic_machine=pdp11-dec 1259cacd992dSmrg ;; 1260cacd992dSmrg we32k) 1261cacd992dSmrg basic_machine=we32k-att 1262cacd992dSmrg ;; 126314ddf674Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1264cacd992dSmrg basic_machine=sh-unknown 1265cacd992dSmrg ;; 126614ddf674Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1267cacd992dSmrg basic_machine=sparc-sun 1268cacd992dSmrg ;; 1269cacd992dSmrg cydra) 1270cacd992dSmrg basic_machine=cydra-cydrome 1271cacd992dSmrg ;; 1272cacd992dSmrg orion) 1273cacd992dSmrg basic_machine=orion-highlevel 1274cacd992dSmrg ;; 1275cacd992dSmrg orion105) 1276cacd992dSmrg basic_machine=clipper-highlevel 1277cacd992dSmrg ;; 1278cacd992dSmrg mac | mpw | mac-mpw) 1279cacd992dSmrg basic_machine=m68k-apple 1280cacd992dSmrg ;; 1281cacd992dSmrg pmac | pmac-mpw) 1282cacd992dSmrg basic_machine=powerpc-apple 1283cacd992dSmrg ;; 1284cacd992dSmrg *-unknown) 1285cacd992dSmrg # Make sure to match an already-canonicalized machine name. 1286cacd992dSmrg ;; 1287cacd992dSmrg *) 1288cacd992dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1289cacd992dSmrg exit 1 1290cacd992dSmrg ;; 1291cacd992dSmrgesac 1292cacd992dSmrg 1293cacd992dSmrg# Here we canonicalize certain aliases for manufacturers. 1294cacd992dSmrgcase $basic_machine in 1295cacd992dSmrg *-digital*) 1296cacd992dSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1297cacd992dSmrg ;; 1298cacd992dSmrg *-commodore*) 1299cacd992dSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1300cacd992dSmrg ;; 1301cacd992dSmrg *) 1302cacd992dSmrg ;; 1303cacd992dSmrgesac 1304cacd992dSmrg 1305cacd992dSmrg# Decode manufacturer-specific aliases for certain operating systems. 1306cacd992dSmrg 1307cacd992dSmrgif [ x"$os" != x"" ] 1308cacd992dSmrgthen 1309cacd992dSmrgcase $os in 13106758a055Smrg # First match some system type aliases 13116758a055Smrg # that might get confused with valid system types. 1312cacd992dSmrg # -solaris* is a basic system type, with this one exception. 13136758a055Smrg -auroraux) 13146758a055Smrg os=-auroraux 131514ddf674Smrg ;; 1316cacd992dSmrg -solaris1 | -solaris1.*) 1317cacd992dSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1318cacd992dSmrg ;; 1319cacd992dSmrg -solaris) 1320cacd992dSmrg os=-solaris2 1321cacd992dSmrg ;; 1322cacd992dSmrg -svr4*) 1323cacd992dSmrg os=-sysv4 1324cacd992dSmrg ;; 1325cacd992dSmrg -unixware*) 1326cacd992dSmrg os=-sysv4.2uw 1327cacd992dSmrg ;; 1328cacd992dSmrg -gnu/linux*) 1329cacd992dSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1330cacd992dSmrg ;; 1331cacd992dSmrg # First accept the basic system types. 1332cacd992dSmrg # The portable systems comes first. 1333cacd992dSmrg # Each alternative MUST END IN A *, to match a version number. 1334cacd992dSmrg # -sysv* is not here because it comes later, after sysvr4. 1335cacd992dSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 133614ddf674Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 133714ddf674Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 133814ddf674Smrg | -sym* | -kopensolaris* \ 1339cacd992dSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 134014ddf674Smrg | -aos* | -aros* \ 1341cacd992dSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1342cacd992dSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 134314ddf674Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 134414ddf674Smrg | -openbsd* | -solidbsd* \ 134514ddf674Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 134614ddf674Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1347cacd992dSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1348cacd992dSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 134914ddf674Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 13506758a055Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13516758a055Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 13526758a055Smrg | -linux-newlib* | -linux-uclibc* \ 135314ddf674Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1354cacd992dSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1355cacd992dSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1356cacd992dSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1357cacd992dSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1358cacd992dSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 135914ddf674Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 136014ddf674Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1361cacd992dSmrg # Remember, each alternative MUST END IN *, to match a version number. 1362cacd992dSmrg ;; 1363cacd992dSmrg -qnx*) 1364cacd992dSmrg case $basic_machine in 1365cacd992dSmrg x86-* | i*86-*) 1366cacd992dSmrg ;; 1367cacd992dSmrg *) 1368cacd992dSmrg os=-nto$os 1369cacd992dSmrg ;; 1370cacd992dSmrg esac 1371cacd992dSmrg ;; 1372cacd992dSmrg -nto-qnx*) 1373cacd992dSmrg ;; 1374cacd992dSmrg -nto*) 1375cacd992dSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1376cacd992dSmrg ;; 1377cacd992dSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 137814ddf674Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1379cacd992dSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1380cacd992dSmrg ;; 1381cacd992dSmrg -mac*) 1382cacd992dSmrg os=`echo $os | sed -e 's|mac|macos|'` 1383cacd992dSmrg ;; 138414ddf674Smrg -linux-dietlibc) 138514ddf674Smrg os=-linux-dietlibc 138614ddf674Smrg ;; 1387cacd992dSmrg -linux*) 1388cacd992dSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1389cacd992dSmrg ;; 1390cacd992dSmrg -sunos5*) 1391cacd992dSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1392cacd992dSmrg ;; 1393cacd992dSmrg -sunos6*) 1394cacd992dSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1395cacd992dSmrg ;; 1396cacd992dSmrg -opened*) 1397cacd992dSmrg os=-openedition 1398cacd992dSmrg ;; 13996758a055Smrg -os400*) 140014ddf674Smrg os=-os400 140114ddf674Smrg ;; 1402cacd992dSmrg -wince*) 1403cacd992dSmrg os=-wince 1404cacd992dSmrg ;; 1405cacd992dSmrg -osfrose*) 1406cacd992dSmrg os=-osfrose 1407cacd992dSmrg ;; 1408cacd992dSmrg -osf*) 1409cacd992dSmrg os=-osf 1410cacd992dSmrg ;; 1411cacd992dSmrg -utek*) 1412cacd992dSmrg os=-bsd 1413cacd992dSmrg ;; 1414cacd992dSmrg -dynix*) 1415cacd992dSmrg os=-bsd 1416cacd992dSmrg ;; 1417cacd992dSmrg -acis*) 1418cacd992dSmrg os=-aos 1419cacd992dSmrg ;; 1420cacd992dSmrg -atheos*) 1421cacd992dSmrg os=-atheos 1422cacd992dSmrg ;; 142314ddf674Smrg -syllable*) 142414ddf674Smrg os=-syllable 142514ddf674Smrg ;; 1426cacd992dSmrg -386bsd) 1427cacd992dSmrg os=-bsd 1428cacd992dSmrg ;; 1429cacd992dSmrg -ctix* | -uts*) 1430cacd992dSmrg os=-sysv 1431cacd992dSmrg ;; 1432cacd992dSmrg -nova*) 1433cacd992dSmrg os=-rtmk-nova 1434cacd992dSmrg ;; 1435cacd992dSmrg -ns2 ) 1436cacd992dSmrg os=-nextstep2 1437cacd992dSmrg ;; 1438cacd992dSmrg -nsk*) 1439cacd992dSmrg os=-nsk 1440cacd992dSmrg ;; 1441cacd992dSmrg # Preserve the version number of sinix5. 1442cacd992dSmrg -sinix5.*) 1443cacd992dSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1444cacd992dSmrg ;; 1445cacd992dSmrg -sinix*) 1446cacd992dSmrg os=-sysv4 1447cacd992dSmrg ;; 14486758a055Smrg -tpf*) 144914ddf674Smrg os=-tpf 145014ddf674Smrg ;; 1451cacd992dSmrg -triton*) 1452cacd992dSmrg os=-sysv3 1453cacd992dSmrg ;; 1454cacd992dSmrg -oss*) 1455cacd992dSmrg os=-sysv3 1456cacd992dSmrg ;; 1457cacd992dSmrg -svr4) 1458cacd992dSmrg os=-sysv4 1459cacd992dSmrg ;; 1460cacd992dSmrg -svr3) 1461cacd992dSmrg os=-sysv3 1462cacd992dSmrg ;; 1463cacd992dSmrg -sysvr4) 1464cacd992dSmrg os=-sysv4 1465cacd992dSmrg ;; 1466cacd992dSmrg # This must come after -sysvr4. 1467cacd992dSmrg -sysv*) 1468cacd992dSmrg ;; 1469cacd992dSmrg -ose*) 1470cacd992dSmrg os=-ose 1471cacd992dSmrg ;; 1472cacd992dSmrg -es1800*) 1473cacd992dSmrg os=-ose 1474cacd992dSmrg ;; 1475cacd992dSmrg -xenix) 1476cacd992dSmrg os=-xenix 1477cacd992dSmrg ;; 1478cacd992dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1479cacd992dSmrg os=-mint 1480cacd992dSmrg ;; 1481cacd992dSmrg -aros*) 1482cacd992dSmrg os=-aros 1483cacd992dSmrg ;; 1484cacd992dSmrg -kaos*) 1485cacd992dSmrg os=-kaos 1486cacd992dSmrg ;; 148714ddf674Smrg -zvmoe) 148814ddf674Smrg os=-zvmoe 148914ddf674Smrg ;; 149014ddf674Smrg -dicos*) 149114ddf674Smrg os=-dicos 149214ddf674Smrg ;; 14936758a055Smrg -nacl*) 14946758a055Smrg ;; 1495cacd992dSmrg -none) 1496cacd992dSmrg ;; 1497cacd992dSmrg *) 1498cacd992dSmrg # Get rid of the `-' at the beginning of $os. 1499cacd992dSmrg os=`echo $os | sed 's/[^-]*-//'` 1500cacd992dSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1501cacd992dSmrg exit 1 1502cacd992dSmrg ;; 1503cacd992dSmrgesac 1504cacd992dSmrgelse 1505cacd992dSmrg 1506cacd992dSmrg# Here we handle the default operating systems that come with various machines. 1507cacd992dSmrg# The value should be what the vendor currently ships out the door with their 1508cacd992dSmrg# machine or put another way, the most popular os provided with the machine. 1509cacd992dSmrg 1510cacd992dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1511cacd992dSmrg# "-sun"), then you have to tell the case statement up towards the top 1512cacd992dSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1513cacd992dSmrg# will signal an error saying that MANUFACTURER isn't an operating 1514cacd992dSmrg# system, and we'll never get to this point. 1515cacd992dSmrg 1516cacd992dSmrgcase $basic_machine in 15176758a055Smrg score-*) 151814ddf674Smrg os=-elf 151914ddf674Smrg ;; 15206758a055Smrg spu-*) 152114ddf674Smrg os=-elf 152214ddf674Smrg ;; 1523cacd992dSmrg *-acorn) 1524cacd992dSmrg os=-riscix1.2 1525cacd992dSmrg ;; 1526cacd992dSmrg arm*-rebel) 1527cacd992dSmrg os=-linux 1528cacd992dSmrg ;; 1529cacd992dSmrg arm*-semi) 1530cacd992dSmrg os=-aout 1531cacd992dSmrg ;; 15326758a055Smrg c4x-* | tic4x-*) 15336758a055Smrg os=-coff 15346758a055Smrg ;; 15356758a055Smrg tic54x-*) 15366758a055Smrg os=-coff 15376758a055Smrg ;; 15386758a055Smrg tic55x-*) 15396758a055Smrg os=-coff 15406758a055Smrg ;; 15416758a055Smrg tic6x-*) 15426758a055Smrg os=-coff 1543cacd992dSmrg ;; 1544cacd992dSmrg # This must come before the *-dec entry. 1545cacd992dSmrg pdp10-*) 1546cacd992dSmrg os=-tops20 1547cacd992dSmrg ;; 1548cacd992dSmrg pdp11-*) 1549cacd992dSmrg os=-none 1550cacd992dSmrg ;; 1551cacd992dSmrg *-dec | vax-*) 1552cacd992dSmrg os=-ultrix4.2 1553cacd992dSmrg ;; 1554cacd992dSmrg m68*-apollo) 1555cacd992dSmrg os=-domain 1556cacd992dSmrg ;; 1557cacd992dSmrg i386-sun) 1558cacd992dSmrg os=-sunos4.0.2 1559cacd992dSmrg ;; 1560cacd992dSmrg m68000-sun) 1561cacd992dSmrg os=-sunos3 1562cacd992dSmrg # This also exists in the configure program, but was not the 1563cacd992dSmrg # default. 1564cacd992dSmrg # os=-sunos4 1565cacd992dSmrg ;; 1566cacd992dSmrg m68*-cisco) 1567cacd992dSmrg os=-aout 1568cacd992dSmrg ;; 15696758a055Smrg mep-*) 157014ddf674Smrg os=-elf 157114ddf674Smrg ;; 1572cacd992dSmrg mips*-cisco) 1573cacd992dSmrg os=-elf 1574cacd992dSmrg ;; 1575cacd992dSmrg mips*-*) 1576cacd992dSmrg os=-elf 1577cacd992dSmrg ;; 1578cacd992dSmrg or32-*) 1579cacd992dSmrg os=-coff 1580cacd992dSmrg ;; 1581cacd992dSmrg *-tti) # must be before sparc entry or we get the wrong os. 1582cacd992dSmrg os=-sysv3 1583cacd992dSmrg ;; 1584cacd992dSmrg sparc-* | *-sun) 1585cacd992dSmrg os=-sunos4.1.1 1586cacd992dSmrg ;; 1587cacd992dSmrg *-be) 1588cacd992dSmrg os=-beos 1589cacd992dSmrg ;; 159014ddf674Smrg *-haiku) 159114ddf674Smrg os=-haiku 159214ddf674Smrg ;; 1593cacd992dSmrg *-ibm) 1594cacd992dSmrg os=-aix 1595cacd992dSmrg ;; 15966758a055Smrg *-knuth) 159714ddf674Smrg os=-mmixware 159814ddf674Smrg ;; 1599cacd992dSmrg *-wec) 1600cacd992dSmrg os=-proelf 1601cacd992dSmrg ;; 1602cacd992dSmrg *-winbond) 1603cacd992dSmrg os=-proelf 1604cacd992dSmrg ;; 1605cacd992dSmrg *-oki) 1606cacd992dSmrg os=-proelf 1607cacd992dSmrg ;; 1608cacd992dSmrg *-hp) 1609cacd992dSmrg os=-hpux 1610cacd992dSmrg ;; 1611cacd992dSmrg *-hitachi) 1612cacd992dSmrg os=-hiux 1613cacd992dSmrg ;; 1614cacd992dSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1615cacd992dSmrg os=-sysv 1616cacd992dSmrg ;; 1617cacd992dSmrg *-cbm) 1618cacd992dSmrg os=-amigaos 1619cacd992dSmrg ;; 1620cacd992dSmrg *-dg) 1621cacd992dSmrg os=-dgux 1622cacd992dSmrg ;; 1623cacd992dSmrg *-dolphin) 1624cacd992dSmrg os=-sysv3 1625cacd992dSmrg ;; 1626cacd992dSmrg m68k-ccur) 1627cacd992dSmrg os=-rtu 1628cacd992dSmrg ;; 1629cacd992dSmrg m88k-omron*) 1630cacd992dSmrg os=-luna 1631cacd992dSmrg ;; 1632cacd992dSmrg *-next ) 1633cacd992dSmrg os=-nextstep 1634cacd992dSmrg ;; 1635cacd992dSmrg *-sequent) 1636cacd992dSmrg os=-ptx 1637cacd992dSmrg ;; 1638cacd992dSmrg *-crds) 1639cacd992dSmrg os=-unos 1640cacd992dSmrg ;; 1641cacd992dSmrg *-ns) 1642cacd992dSmrg os=-genix 1643cacd992dSmrg ;; 1644cacd992dSmrg i370-*) 1645cacd992dSmrg os=-mvs 1646cacd992dSmrg ;; 1647cacd992dSmrg *-next) 1648cacd992dSmrg os=-nextstep3 1649cacd992dSmrg ;; 1650cacd992dSmrg *-gould) 1651cacd992dSmrg os=-sysv 1652cacd992dSmrg ;; 1653cacd992dSmrg *-highlevel) 1654cacd992dSmrg os=-bsd 1655cacd992dSmrg ;; 1656cacd992dSmrg *-encore) 1657cacd992dSmrg os=-bsd 1658cacd992dSmrg ;; 1659cacd992dSmrg *-sgi) 1660cacd992dSmrg os=-irix 1661cacd992dSmrg ;; 1662cacd992dSmrg *-siemens) 1663cacd992dSmrg os=-sysv4 1664cacd992dSmrg ;; 1665cacd992dSmrg *-masscomp) 1666cacd992dSmrg os=-rtu 1667cacd992dSmrg ;; 1668cacd992dSmrg f30[01]-fujitsu | f700-fujitsu) 1669cacd992dSmrg os=-uxpv 1670cacd992dSmrg ;; 1671cacd992dSmrg *-rom68k) 1672cacd992dSmrg os=-coff 1673cacd992dSmrg ;; 1674cacd992dSmrg *-*bug) 1675cacd992dSmrg os=-coff 1676cacd992dSmrg ;; 1677cacd992dSmrg *-apple) 1678cacd992dSmrg os=-macos 1679cacd992dSmrg ;; 1680cacd992dSmrg *-atari*) 1681cacd992dSmrg os=-mint 1682cacd992dSmrg ;; 1683cacd992dSmrg *) 1684cacd992dSmrg os=-none 1685cacd992dSmrg ;; 1686cacd992dSmrgesac 1687cacd992dSmrgfi 1688cacd992dSmrg 1689cacd992dSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1690cacd992dSmrg# manufacturer. We pick the logical manufacturer. 1691cacd992dSmrgvendor=unknown 1692cacd992dSmrgcase $basic_machine in 1693cacd992dSmrg *-unknown) 1694cacd992dSmrg case $os in 1695cacd992dSmrg -riscix*) 1696cacd992dSmrg vendor=acorn 1697cacd992dSmrg ;; 1698cacd992dSmrg -sunos*) 1699cacd992dSmrg vendor=sun 1700cacd992dSmrg ;; 170114ddf674Smrg -cnk*|-aix*) 1702cacd992dSmrg vendor=ibm 1703cacd992dSmrg ;; 1704cacd992dSmrg -beos*) 1705cacd992dSmrg vendor=be 1706cacd992dSmrg ;; 1707cacd992dSmrg -hpux*) 1708cacd992dSmrg vendor=hp 1709cacd992dSmrg ;; 1710cacd992dSmrg -mpeix*) 1711cacd992dSmrg vendor=hp 1712cacd992dSmrg ;; 1713cacd992dSmrg -hiux*) 1714cacd992dSmrg vendor=hitachi 1715cacd992dSmrg ;; 1716cacd992dSmrg -unos*) 1717cacd992dSmrg vendor=crds 1718cacd992dSmrg ;; 1719cacd992dSmrg -dgux*) 1720cacd992dSmrg vendor=dg 1721cacd992dSmrg ;; 1722cacd992dSmrg -luna*) 1723cacd992dSmrg vendor=omron 1724cacd992dSmrg ;; 1725cacd992dSmrg -genix*) 1726cacd992dSmrg vendor=ns 1727cacd992dSmrg ;; 1728cacd992dSmrg -mvs* | -opened*) 1729cacd992dSmrg vendor=ibm 1730cacd992dSmrg ;; 173114ddf674Smrg -os400*) 173214ddf674Smrg vendor=ibm 173314ddf674Smrg ;; 1734cacd992dSmrg -ptx*) 1735cacd992dSmrg vendor=sequent 1736cacd992dSmrg ;; 173714ddf674Smrg -tpf*) 173814ddf674Smrg vendor=ibm 173914ddf674Smrg ;; 1740cacd992dSmrg -vxsim* | -vxworks* | -windiss*) 1741cacd992dSmrg vendor=wrs 1742cacd992dSmrg ;; 1743cacd992dSmrg -aux*) 1744cacd992dSmrg vendor=apple 1745cacd992dSmrg ;; 1746cacd992dSmrg -hms*) 1747cacd992dSmrg vendor=hitachi 1748cacd992dSmrg ;; 1749cacd992dSmrg -mpw* | -macos*) 1750cacd992dSmrg vendor=apple 1751cacd992dSmrg ;; 1752cacd992dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1753cacd992dSmrg vendor=atari 1754cacd992dSmrg ;; 1755cacd992dSmrg -vos*) 1756cacd992dSmrg vendor=stratus 1757cacd992dSmrg ;; 1758cacd992dSmrg esac 1759cacd992dSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1760cacd992dSmrg ;; 1761cacd992dSmrgesac 1762cacd992dSmrg 1763cacd992dSmrgecho $basic_machine$os 176414ddf674Smrgexit 1765cacd992dSmrg 1766cacd992dSmrg# Local variables: 1767cacd992dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1768cacd992dSmrg# time-stamp-start: "timestamp='" 1769cacd992dSmrg# time-stamp-format: "%:y-%02m-%02d" 1770cacd992dSmrg# time-stamp-end: "'" 1771cacd992dSmrg# End: 1772