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