1234949Sbapt#! /bin/sh 2234949Sbapt# Configuration validation subroutine script. 3268899Sbapt# Copyright 1992-2014 Free Software Foundation, Inc. 4234949Sbapt 5272955Srodrigctimestamp='2014-07-28' 6234949Sbapt 7251143Sbapt# This file is free software; you can redistribute it and/or modify it 8251143Sbapt# under the terms of the GNU General Public License as published by 9251143Sbapt# the Free Software Foundation; either version 3 of the License, or 10234949Sbapt# (at your option) any later version. 11234949Sbapt# 12251143Sbapt# This program is distributed in the hope that it will be useful, but 13251143Sbapt# WITHOUT ANY WARRANTY; without even the implied warranty of 14251143Sbapt# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15251143Sbapt# General Public License for more details. 16234949Sbapt# 17234949Sbapt# You should have received a copy of the GNU General Public License 18251143Sbapt# along with this program; if not, see <http://www.gnu.org/licenses/>. 19234949Sbapt# 20234949Sbapt# As a special exception to the GNU General Public License, if you 21234949Sbapt# distribute this file as part of a program that contains a 22234949Sbapt# configuration script generated by Autoconf, you may include it under 23251143Sbapt# the same distribution terms that you use for the rest of that 24251143Sbapt# program. This Exception is an additional permission under section 7 25251143Sbapt# of the GNU General Public License, version 3 ("GPLv3"). 26234949Sbapt 27234949Sbapt 28251143Sbapt# Please send patches with a ChangeLog entry to config-patches@gnu.org. 29234949Sbapt# 30234949Sbapt# Configuration subroutine to validate and canonicalize a configuration type. 31234949Sbapt# Supply the specified configuration type as an argument. 32234949Sbapt# If it is invalid, we print an error message on stderr and exit with code 1. 33234949Sbapt# Otherwise, we print the canonical config type on stdout and succeed. 34234949Sbapt 35234949Sbapt# You can get the latest version of this script from: 36234949Sbapt# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 37234949Sbapt 38234949Sbapt# This file is supposed to be the same for all GNU packages 39234949Sbapt# and recognize all the CPU types, system types and aliases 40234949Sbapt# that are meaningful with *any* GNU software. 41234949Sbapt# Each package is responsible for reporting which valid configurations 42234949Sbapt# it does not support. The user should be able to distinguish 43234949Sbapt# a failure to support a valid configuration from a meaningless 44234949Sbapt# configuration. 45234949Sbapt 46234949Sbapt# The goal of this file is to map all the various variations of a given 47234949Sbapt# machine specification into a single specification in the form: 48234949Sbapt# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49234949Sbapt# or in some cases, the newer four-part form: 50234949Sbapt# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51234949Sbapt# It is wrong to echo any other type of specification. 52234949Sbapt 53234949Sbaptme=`echo "$0" | sed -e 's,.*/,,'` 54234949Sbapt 55234949Sbaptusage="\ 56234949SbaptUsage: $0 [OPTION] CPU-MFR-OPSYS 57234949Sbapt $0 [OPTION] ALIAS 58234949Sbapt 59234949SbaptCanonicalize a configuration name. 60234949Sbapt 61234949SbaptOperation modes: 62234949Sbapt -h, --help print this help, then exit 63234949Sbapt -t, --time-stamp print date of last modification, then exit 64234949Sbapt -v, --version print version number, then exit 65234949Sbapt 66234949SbaptReport bugs and patches to <config-patches@gnu.org>." 67234949Sbapt 68234949Sbaptversion="\ 69234949SbaptGNU config.sub ($timestamp) 70234949Sbapt 71268899SbaptCopyright 1992-2014 Free Software Foundation, Inc. 72234949Sbapt 73234949SbaptThis is free software; see the source for copying conditions. There is NO 74234949Sbaptwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75234949Sbapt 76234949Sbapthelp=" 77234949SbaptTry \`$me --help' for more information." 78234949Sbapt 79234949Sbapt# Parse command line 80234949Sbaptwhile test $# -gt 0 ; do 81234949Sbapt case $1 in 82234949Sbapt --time-stamp | --time* | -t ) 83234949Sbapt echo "$timestamp" ; exit ;; 84234949Sbapt --version | -v ) 85234949Sbapt echo "$version" ; exit ;; 86234949Sbapt --help | --h* | -h ) 87234949Sbapt echo "$usage"; exit ;; 88234949Sbapt -- ) # Stop option processing 89234949Sbapt shift; break ;; 90234949Sbapt - ) # Use stdin as input. 91234949Sbapt break ;; 92234949Sbapt -* ) 93234949Sbapt echo "$me: invalid option $1$help" 94234949Sbapt exit 1 ;; 95234949Sbapt 96234949Sbapt *local*) 97234949Sbapt # First pass through any local machine types. 98234949Sbapt echo $1 99234949Sbapt exit ;; 100234949Sbapt 101234949Sbapt * ) 102234949Sbapt break ;; 103234949Sbapt esac 104234949Sbaptdone 105234949Sbapt 106234949Sbaptcase $# in 107234949Sbapt 0) echo "$me: missing argument$help" >&2 108234949Sbapt exit 1;; 109234949Sbapt 1) ;; 110234949Sbapt *) echo "$me: too many arguments$help" >&2 111234949Sbapt exit 1;; 112234949Sbaptesac 113234949Sbapt 114234949Sbapt# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115234949Sbapt# Here we must recognize all the valid KERNEL-OS combinations. 116234949Sbaptmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117234949Sbaptcase $maybe_os in 118234949Sbapt nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 119251143Sbapt linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 120234949Sbapt knetbsd*-gnu* | netbsd*-gnu* | \ 121234949Sbapt kopensolaris*-gnu* | \ 122234949Sbapt storm-chaos* | os2-emx* | rtmk-nova*) 123234949Sbapt os=-$maybe_os 124234949Sbapt basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125234949Sbapt ;; 126251143Sbapt android-linux) 127251143Sbapt os=-linux-android 128251143Sbapt basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 129251143Sbapt ;; 130234949Sbapt *) 131234949Sbapt basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132234949Sbapt if [ $basic_machine != $1 ] 133234949Sbapt then os=`echo $1 | sed 's/.*-/-/'` 134234949Sbapt else os=; fi 135234949Sbapt ;; 136234949Sbaptesac 137234949Sbapt 138234949Sbapt### Let's recognize common machines as not being operating systems so 139234949Sbapt### that things like config.sub decstation-3100 work. We also 140234949Sbapt### recognize some manufacturers as not being operating systems, so we 141234949Sbapt### can provide default operating systems below. 142234949Sbaptcase $os in 143234949Sbapt -sun*os*) 144234949Sbapt # Prevent following clause from handling this invalid input. 145234949Sbapt ;; 146234949Sbapt -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147234949Sbapt -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148234949Sbapt -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149234949Sbapt -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150234949Sbapt -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151234949Sbapt -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 152251143Sbapt -apple | -axis | -knuth | -cray | -microblaze*) 153234949Sbapt os= 154234949Sbapt basic_machine=$1 155234949Sbapt ;; 156234949Sbapt -bluegene*) 157234949Sbapt os=-cnk 158234949Sbapt ;; 159234949Sbapt -sim | -cisco | -oki | -wec | -winbond) 160234949Sbapt os= 161234949Sbapt basic_machine=$1 162234949Sbapt ;; 163234949Sbapt -scout) 164234949Sbapt ;; 165234949Sbapt -wrs) 166234949Sbapt os=-vxworks 167234949Sbapt basic_machine=$1 168234949Sbapt ;; 169234949Sbapt -chorusos*) 170234949Sbapt os=-chorusos 171234949Sbapt basic_machine=$1 172234949Sbapt ;; 173234949Sbapt -chorusrdb) 174234949Sbapt os=-chorusrdb 175234949Sbapt basic_machine=$1 176234949Sbapt ;; 177234949Sbapt -hiux*) 178234949Sbapt os=-hiuxwe2 179234949Sbapt ;; 180234949Sbapt -sco6) 181234949Sbapt os=-sco5v6 182234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 183234949Sbapt ;; 184234949Sbapt -sco5) 185234949Sbapt os=-sco3.2v5 186234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187234949Sbapt ;; 188234949Sbapt -sco4) 189234949Sbapt os=-sco3.2v4 190234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191234949Sbapt ;; 192234949Sbapt -sco3.2.[4-9]*) 193234949Sbapt os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195234949Sbapt ;; 196234949Sbapt -sco3.2v[4-9]*) 197234949Sbapt # Don't forget version if it is 3.2v4 or newer. 198234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199234949Sbapt ;; 200234949Sbapt -sco5v6*) 201234949Sbapt # Don't forget version if it is 3.2v4 or newer. 202234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203234949Sbapt ;; 204234949Sbapt -sco*) 205234949Sbapt os=-sco3.2v2 206234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207234949Sbapt ;; 208234949Sbapt -udk*) 209234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210234949Sbapt ;; 211234949Sbapt -isc) 212234949Sbapt os=-isc2.2 213234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214234949Sbapt ;; 215234949Sbapt -clix*) 216234949Sbapt basic_machine=clipper-intergraph 217234949Sbapt ;; 218234949Sbapt -isc*) 219234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220234949Sbapt ;; 221251143Sbapt -lynx*178) 222251143Sbapt os=-lynxos178 223251143Sbapt ;; 224251143Sbapt -lynx*5) 225251143Sbapt os=-lynxos5 226251143Sbapt ;; 227234949Sbapt -lynx*) 228234949Sbapt os=-lynxos 229234949Sbapt ;; 230234949Sbapt -ptx*) 231234949Sbapt basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232234949Sbapt ;; 233234949Sbapt -windowsnt*) 234234949Sbapt os=`echo $os | sed -e 's/windowsnt/winnt/'` 235234949Sbapt ;; 236234949Sbapt -psos*) 237234949Sbapt os=-psos 238234949Sbapt ;; 239234949Sbapt -mint | -mint[0-9]*) 240234949Sbapt basic_machine=m68k-atari 241234949Sbapt os=-mint 242234949Sbapt ;; 243234949Sbaptesac 244234949Sbapt 245234949Sbapt# Decode aliases for certain CPU-COMPANY combinations. 246234949Sbaptcase $basic_machine in 247234949Sbapt # Recognize the basic CPU types without company name. 248234949Sbapt # Some are omitted here because they have special meanings below. 249234949Sbapt 1750a | 580 \ 250234949Sbapt | a29k \ 251251143Sbapt | aarch64 | aarch64_be \ 252234949Sbapt | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253234949Sbapt | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 254234949Sbapt | am33_2.0 \ 255268899Sbapt | arc | arceb \ 256251143Sbapt | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 257251143Sbapt | avr | avr32 \ 258251143Sbapt | be32 | be64 \ 259234949Sbapt | bfin \ 260268899Sbapt | c4x | c8051 | clipper \ 261234949Sbapt | d10v | d30v | dlx | dsp16xx \ 262251143Sbapt | epiphany \ 263234949Sbapt | fido | fr30 | frv \ 264234949Sbapt | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 265251143Sbapt | hexagon \ 266234949Sbapt | i370 | i860 | i960 | ia64 \ 267234949Sbapt | ip2k | iq2000 \ 268268899Sbapt | k1om \ 269251143Sbapt | le32 | le64 \ 270234949Sbapt | lm32 \ 271234949Sbapt | m32c | m32r | m32rle | m68000 | m68k | m88k \ 272251143Sbapt | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273234949Sbapt | mips | mipsbe | mipseb | mipsel | mipsle \ 274234949Sbapt | mips16 \ 275234949Sbapt | mips64 | mips64el \ 276234949Sbapt | mips64octeon | mips64octeonel \ 277234949Sbapt | mips64orion | mips64orionel \ 278234949Sbapt | mips64r5900 | mips64r5900el \ 279234949Sbapt | mips64vr | mips64vrel \ 280234949Sbapt | mips64vr4100 | mips64vr4100el \ 281234949Sbapt | mips64vr4300 | mips64vr4300el \ 282234949Sbapt | mips64vr5000 | mips64vr5000el \ 283234949Sbapt | mips64vr5900 | mips64vr5900el \ 284234949Sbapt | mipsisa32 | mipsisa32el \ 285234949Sbapt | mipsisa32r2 | mipsisa32r2el \ 286272955Srodrigc | mipsisa32r6 | mipsisa32r6el \ 287234949Sbapt | mipsisa64 | mipsisa64el \ 288234949Sbapt | mipsisa64r2 | mipsisa64r2el \ 289272955Srodrigc | mipsisa64r6 | mipsisa64r6el \ 290234949Sbapt | mipsisa64sb1 | mipsisa64sb1el \ 291234949Sbapt | mipsisa64sr71k | mipsisa64sr71kel \ 292251143Sbapt | mipsr5900 | mipsr5900el \ 293234949Sbapt | mipstx39 | mipstx39el \ 294234949Sbapt | mn10200 | mn10300 \ 295234949Sbapt | moxie \ 296234949Sbapt | mt \ 297234949Sbapt | msp430 \ 298234949Sbapt | nds32 | nds32le | nds32be \ 299251143Sbapt | nios | nios2 | nios2eb | nios2el \ 300234949Sbapt | ns16k | ns32k \ 301268899Sbapt | open8 | or1k | or1knd | or32 \ 302234949Sbapt | pdp10 | pdp11 | pj | pjl \ 303234949Sbapt | powerpc | powerpc64 | powerpc64le | powerpcle \ 304234949Sbapt | pyramid \ 305251143Sbapt | rl78 | rx \ 306234949Sbapt | score \ 307234949Sbapt | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 308234949Sbapt | sh64 | sh64le \ 309234949Sbapt | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 310234949Sbapt | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 311234949Sbapt | spu \ 312234949Sbapt | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 313234949Sbapt | ubicom32 \ 314251143Sbapt | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 315234949Sbapt | we32k \ 316234949Sbapt | x86 | xc16x | xstormy16 | xtensa \ 317234949Sbapt | z8k | z80) 318234949Sbapt basic_machine=$basic_machine-unknown 319234949Sbapt ;; 320234949Sbapt c54x) 321234949Sbapt basic_machine=tic54x-unknown 322234949Sbapt ;; 323234949Sbapt c55x) 324234949Sbapt basic_machine=tic55x-unknown 325234949Sbapt ;; 326234949Sbapt c6x) 327234949Sbapt basic_machine=tic6x-unknown 328234949Sbapt ;; 329268899Sbapt m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 330234949Sbapt basic_machine=$basic_machine-unknown 331234949Sbapt os=-none 332234949Sbapt ;; 333234949Sbapt m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 334234949Sbapt ;; 335234949Sbapt ms1) 336234949Sbapt basic_machine=mt-unknown 337234949Sbapt ;; 338251143Sbapt 339234949Sbapt strongarm | thumb | xscale) 340234949Sbapt basic_machine=arm-unknown 341234949Sbapt ;; 342251143Sbapt xgate) 343251143Sbapt basic_machine=$basic_machine-unknown 344251143Sbapt os=-none 345251143Sbapt ;; 346234949Sbapt xscaleeb) 347234949Sbapt basic_machine=armeb-unknown 348234949Sbapt ;; 349251143Sbapt 350234949Sbapt xscaleel) 351234949Sbapt basic_machine=armel-unknown 352234949Sbapt ;; 353251143Sbapt 354234949Sbapt # We use `pc' rather than `unknown' 355234949Sbapt # because (1) that's what they normally are, and 356234949Sbapt # (2) the word "unknown" tends to confuse beginning users. 357234949Sbapt i*86 | x86_64) 358251143Sbapt basic_machine=$basic_machine-pc 359251143Sbapt ;; 360234949Sbapt # Object if more than one company name word. 361234949Sbapt *-*-*) 362234949Sbapt echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 363234949Sbapt exit 1 364234949Sbapt ;; 365234949Sbapt # Recognize the basic CPU types with company name. 366234949Sbapt 580-* \ 367234949Sbapt | a29k-* \ 368251143Sbapt | aarch64-* | aarch64_be-* \ 369234949Sbapt | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 370234949Sbapt | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 371268899Sbapt | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 372234949Sbapt | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 373234949Sbapt | avr-* | avr32-* \ 374251143Sbapt | be32-* | be64-* \ 375234949Sbapt | bfin-* | bs2000-* \ 376234949Sbapt | c[123]* | c30-* | [cjt]90-* | c4x-* \ 377268899Sbapt | c8051-* | clipper-* | craynv-* | cydra-* \ 378234949Sbapt | d10v-* | d30v-* | dlx-* \ 379234949Sbapt | elxsi-* \ 380234949Sbapt | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 381234949Sbapt | h8300-* | h8500-* \ 382234949Sbapt | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 383251143Sbapt | hexagon-* \ 384234949Sbapt | i*86-* | i860-* | i960-* | ia64-* \ 385234949Sbapt | ip2k-* | iq2000-* \ 386268899Sbapt | k1om-* \ 387251143Sbapt | le32-* | le64-* \ 388234949Sbapt | lm32-* \ 389234949Sbapt | m32c-* | m32r-* | m32rle-* \ 390234949Sbapt | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 391251143Sbapt | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 392251143Sbapt | microblaze-* | microblazeel-* \ 393234949Sbapt | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 394234949Sbapt | mips16-* \ 395234949Sbapt | mips64-* | mips64el-* \ 396234949Sbapt | mips64octeon-* | mips64octeonel-* \ 397234949Sbapt | mips64orion-* | mips64orionel-* \ 398234949Sbapt | mips64r5900-* | mips64r5900el-* \ 399234949Sbapt | mips64vr-* | mips64vrel-* \ 400234949Sbapt | mips64vr4100-* | mips64vr4100el-* \ 401234949Sbapt | mips64vr4300-* | mips64vr4300el-* \ 402234949Sbapt | mips64vr5000-* | mips64vr5000el-* \ 403234949Sbapt | mips64vr5900-* | mips64vr5900el-* \ 404234949Sbapt | mipsisa32-* | mipsisa32el-* \ 405234949Sbapt | mipsisa32r2-* | mipsisa32r2el-* \ 406272955Srodrigc | mipsisa32r6-* | mipsisa32r6el-* \ 407234949Sbapt | mipsisa64-* | mipsisa64el-* \ 408234949Sbapt | mipsisa64r2-* | mipsisa64r2el-* \ 409272955Srodrigc | mipsisa64r6-* | mipsisa64r6el-* \ 410234949Sbapt | mipsisa64sb1-* | mipsisa64sb1el-* \ 411234949Sbapt | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 412251143Sbapt | mipsr5900-* | mipsr5900el-* \ 413234949Sbapt | mipstx39-* | mipstx39el-* \ 414234949Sbapt | mmix-* \ 415234949Sbapt | mt-* \ 416234949Sbapt | msp430-* \ 417234949Sbapt | nds32-* | nds32le-* | nds32be-* \ 418251143Sbapt | nios-* | nios2-* | nios2eb-* | nios2el-* \ 419234949Sbapt | none-* | np1-* | ns16k-* | ns32k-* \ 420234949Sbapt | open8-* \ 421268899Sbapt | or1k*-* \ 422234949Sbapt | orion-* \ 423234949Sbapt | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 424234949Sbapt | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 425234949Sbapt | pyramid-* \ 426251143Sbapt | rl78-* | romp-* | rs6000-* | rx-* \ 427234949Sbapt | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 428234949Sbapt | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 429234949Sbapt | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 430234949Sbapt | sparclite-* \ 431234949Sbapt | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 432234949Sbapt | tahoe-* \ 433234949Sbapt | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 434251143Sbapt | tile*-* \ 435234949Sbapt | tron-* \ 436234949Sbapt | ubicom32-* \ 437251143Sbapt | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 438251143Sbapt | vax-* \ 439234949Sbapt | we32k-* \ 440234949Sbapt | x86-* | x86_64-* | xc16x-* | xps100-* \ 441234949Sbapt | xstormy16-* | xtensa*-* \ 442234949Sbapt | ymp-* \ 443234949Sbapt | z8k-* | z80-*) 444234949Sbapt ;; 445234949Sbapt # Recognize the basic CPU types without company name, with glob match. 446234949Sbapt xtensa*) 447234949Sbapt basic_machine=$basic_machine-unknown 448234949Sbapt ;; 449234949Sbapt # Recognize the various machine names and aliases which stand 450234949Sbapt # for a CPU type and a company and sometimes even an OS. 451234949Sbapt 386bsd) 452234949Sbapt basic_machine=i386-unknown 453234949Sbapt os=-bsd 454234949Sbapt ;; 455234949Sbapt 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 456234949Sbapt basic_machine=m68000-att 457234949Sbapt ;; 458234949Sbapt 3b*) 459234949Sbapt basic_machine=we32k-att 460234949Sbapt ;; 461234949Sbapt a29khif) 462234949Sbapt basic_machine=a29k-amd 463234949Sbapt os=-udi 464234949Sbapt ;; 465234949Sbapt abacus) 466234949Sbapt basic_machine=abacus-unknown 467234949Sbapt ;; 468234949Sbapt adobe68k) 469234949Sbapt basic_machine=m68010-adobe 470234949Sbapt os=-scout 471234949Sbapt ;; 472234949Sbapt alliant | fx80) 473234949Sbapt basic_machine=fx80-alliant 474234949Sbapt ;; 475234949Sbapt altos | altos3068) 476234949Sbapt basic_machine=m68k-altos 477234949Sbapt ;; 478234949Sbapt am29k) 479234949Sbapt basic_machine=a29k-none 480234949Sbapt os=-bsd 481234949Sbapt ;; 482234949Sbapt amd64) 483234949Sbapt basic_machine=x86_64-pc 484234949Sbapt ;; 485234949Sbapt amd64-*) 486234949Sbapt basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 487234949Sbapt ;; 488234949Sbapt amdahl) 489234949Sbapt basic_machine=580-amdahl 490234949Sbapt os=-sysv 491234949Sbapt ;; 492234949Sbapt amiga | amiga-*) 493234949Sbapt basic_machine=m68k-unknown 494234949Sbapt ;; 495234949Sbapt amigaos | amigados) 496234949Sbapt basic_machine=m68k-unknown 497234949Sbapt os=-amigaos 498234949Sbapt ;; 499234949Sbapt amigaunix | amix) 500234949Sbapt basic_machine=m68k-unknown 501234949Sbapt os=-sysv4 502234949Sbapt ;; 503234949Sbapt apollo68) 504234949Sbapt basic_machine=m68k-apollo 505234949Sbapt os=-sysv 506234949Sbapt ;; 507234949Sbapt apollo68bsd) 508234949Sbapt basic_machine=m68k-apollo 509234949Sbapt os=-bsd 510234949Sbapt ;; 511234949Sbapt aros) 512234949Sbapt basic_machine=i386-pc 513234949Sbapt os=-aros 514234949Sbapt ;; 515234949Sbapt aux) 516234949Sbapt basic_machine=m68k-apple 517234949Sbapt os=-aux 518234949Sbapt ;; 519234949Sbapt balance) 520234949Sbapt basic_machine=ns32k-sequent 521234949Sbapt os=-dynix 522234949Sbapt ;; 523234949Sbapt blackfin) 524234949Sbapt basic_machine=bfin-unknown 525234949Sbapt os=-linux 526234949Sbapt ;; 527234949Sbapt blackfin-*) 528234949Sbapt basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 529234949Sbapt os=-linux 530234949Sbapt ;; 531234949Sbapt bluegene*) 532234949Sbapt basic_machine=powerpc-ibm 533234949Sbapt os=-cnk 534234949Sbapt ;; 535234949Sbapt c54x-*) 536234949Sbapt basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 537234949Sbapt ;; 538234949Sbapt c55x-*) 539234949Sbapt basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 540234949Sbapt ;; 541234949Sbapt c6x-*) 542234949Sbapt basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 543234949Sbapt ;; 544234949Sbapt c90) 545234949Sbapt basic_machine=c90-cray 546234949Sbapt os=-unicos 547234949Sbapt ;; 548234949Sbapt cegcc) 549234949Sbapt basic_machine=arm-unknown 550234949Sbapt os=-cegcc 551234949Sbapt ;; 552234949Sbapt convex-c1) 553234949Sbapt basic_machine=c1-convex 554234949Sbapt os=-bsd 555234949Sbapt ;; 556234949Sbapt convex-c2) 557234949Sbapt basic_machine=c2-convex 558234949Sbapt os=-bsd 559234949Sbapt ;; 560234949Sbapt convex-c32) 561234949Sbapt basic_machine=c32-convex 562234949Sbapt os=-bsd 563234949Sbapt ;; 564234949Sbapt convex-c34) 565234949Sbapt basic_machine=c34-convex 566234949Sbapt os=-bsd 567234949Sbapt ;; 568234949Sbapt convex-c38) 569234949Sbapt basic_machine=c38-convex 570234949Sbapt os=-bsd 571234949Sbapt ;; 572234949Sbapt cray | j90) 573234949Sbapt basic_machine=j90-cray 574234949Sbapt os=-unicos 575234949Sbapt ;; 576234949Sbapt craynv) 577234949Sbapt basic_machine=craynv-cray 578234949Sbapt os=-unicosmp 579234949Sbapt ;; 580234949Sbapt cr16 | cr16-*) 581234949Sbapt basic_machine=cr16-unknown 582234949Sbapt os=-elf 583234949Sbapt ;; 584234949Sbapt crds | unos) 585234949Sbapt basic_machine=m68k-crds 586234949Sbapt ;; 587234949Sbapt crisv32 | crisv32-* | etraxfs*) 588234949Sbapt basic_machine=crisv32-axis 589234949Sbapt ;; 590234949Sbapt cris | cris-* | etrax*) 591234949Sbapt basic_machine=cris-axis 592234949Sbapt ;; 593234949Sbapt crx) 594234949Sbapt basic_machine=crx-unknown 595234949Sbapt os=-elf 596234949Sbapt ;; 597234949Sbapt da30 | da30-*) 598234949Sbapt basic_machine=m68k-da30 599234949Sbapt ;; 600234949Sbapt decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 601234949Sbapt basic_machine=mips-dec 602234949Sbapt ;; 603234949Sbapt decsystem10* | dec10*) 604234949Sbapt basic_machine=pdp10-dec 605234949Sbapt os=-tops10 606234949Sbapt ;; 607234949Sbapt decsystem20* | dec20*) 608234949Sbapt basic_machine=pdp10-dec 609234949Sbapt os=-tops20 610234949Sbapt ;; 611234949Sbapt delta | 3300 | motorola-3300 | motorola-delta \ 612234949Sbapt | 3300-motorola | delta-motorola) 613234949Sbapt basic_machine=m68k-motorola 614234949Sbapt ;; 615234949Sbapt delta88) 616234949Sbapt basic_machine=m88k-motorola 617234949Sbapt os=-sysv3 618234949Sbapt ;; 619234949Sbapt dicos) 620234949Sbapt basic_machine=i686-pc 621234949Sbapt os=-dicos 622234949Sbapt ;; 623234949Sbapt djgpp) 624234949Sbapt basic_machine=i586-pc 625234949Sbapt os=-msdosdjgpp 626234949Sbapt ;; 627234949Sbapt dpx20 | dpx20-*) 628234949Sbapt basic_machine=rs6000-bull 629234949Sbapt os=-bosx 630234949Sbapt ;; 631234949Sbapt dpx2* | dpx2*-bull) 632234949Sbapt basic_machine=m68k-bull 633234949Sbapt os=-sysv3 634234949Sbapt ;; 635234949Sbapt ebmon29k) 636234949Sbapt basic_machine=a29k-amd 637234949Sbapt os=-ebmon 638234949Sbapt ;; 639234949Sbapt elxsi) 640234949Sbapt basic_machine=elxsi-elxsi 641234949Sbapt os=-bsd 642234949Sbapt ;; 643234949Sbapt encore | umax | mmax) 644234949Sbapt basic_machine=ns32k-encore 645234949Sbapt ;; 646234949Sbapt es1800 | OSE68k | ose68k | ose | OSE) 647234949Sbapt basic_machine=m68k-ericsson 648234949Sbapt os=-ose 649234949Sbapt ;; 650234949Sbapt fx2800) 651234949Sbapt basic_machine=i860-alliant 652234949Sbapt ;; 653234949Sbapt genix) 654234949Sbapt basic_machine=ns32k-ns 655234949Sbapt ;; 656234949Sbapt gmicro) 657234949Sbapt basic_machine=tron-gmicro 658234949Sbapt os=-sysv 659234949Sbapt ;; 660234949Sbapt go32) 661234949Sbapt basic_machine=i386-pc 662234949Sbapt os=-go32 663234949Sbapt ;; 664234949Sbapt h3050r* | hiux*) 665234949Sbapt basic_machine=hppa1.1-hitachi 666234949Sbapt os=-hiuxwe2 667234949Sbapt ;; 668234949Sbapt h8300hms) 669234949Sbapt basic_machine=h8300-hitachi 670234949Sbapt os=-hms 671234949Sbapt ;; 672234949Sbapt h8300xray) 673234949Sbapt basic_machine=h8300-hitachi 674234949Sbapt os=-xray 675234949Sbapt ;; 676234949Sbapt h8500hms) 677234949Sbapt basic_machine=h8500-hitachi 678234949Sbapt os=-hms 679234949Sbapt ;; 680234949Sbapt harris) 681234949Sbapt basic_machine=m88k-harris 682234949Sbapt os=-sysv3 683234949Sbapt ;; 684234949Sbapt hp300-*) 685234949Sbapt basic_machine=m68k-hp 686234949Sbapt ;; 687234949Sbapt hp300bsd) 688234949Sbapt basic_machine=m68k-hp 689234949Sbapt os=-bsd 690234949Sbapt ;; 691234949Sbapt hp300hpux) 692234949Sbapt basic_machine=m68k-hp 693234949Sbapt os=-hpux 694234949Sbapt ;; 695234949Sbapt hp3k9[0-9][0-9] | hp9[0-9][0-9]) 696234949Sbapt basic_machine=hppa1.0-hp 697234949Sbapt ;; 698234949Sbapt hp9k2[0-9][0-9] | hp9k31[0-9]) 699234949Sbapt basic_machine=m68000-hp 700234949Sbapt ;; 701234949Sbapt hp9k3[2-9][0-9]) 702234949Sbapt basic_machine=m68k-hp 703234949Sbapt ;; 704234949Sbapt hp9k6[0-9][0-9] | hp6[0-9][0-9]) 705234949Sbapt basic_machine=hppa1.0-hp 706234949Sbapt ;; 707234949Sbapt hp9k7[0-79][0-9] | hp7[0-79][0-9]) 708234949Sbapt basic_machine=hppa1.1-hp 709234949Sbapt ;; 710234949Sbapt hp9k78[0-9] | hp78[0-9]) 711234949Sbapt # FIXME: really hppa2.0-hp 712234949Sbapt basic_machine=hppa1.1-hp 713234949Sbapt ;; 714234949Sbapt hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 715234949Sbapt # FIXME: really hppa2.0-hp 716234949Sbapt basic_machine=hppa1.1-hp 717234949Sbapt ;; 718234949Sbapt hp9k8[0-9][13679] | hp8[0-9][13679]) 719234949Sbapt basic_machine=hppa1.1-hp 720234949Sbapt ;; 721234949Sbapt hp9k8[0-9][0-9] | hp8[0-9][0-9]) 722234949Sbapt basic_machine=hppa1.0-hp 723234949Sbapt ;; 724234949Sbapt hppa-next) 725234949Sbapt os=-nextstep3 726234949Sbapt ;; 727234949Sbapt hppaosf) 728234949Sbapt basic_machine=hppa1.1-hp 729234949Sbapt os=-osf 730234949Sbapt ;; 731234949Sbapt hppro) 732234949Sbapt basic_machine=hppa1.1-hp 733234949Sbapt os=-proelf 734234949Sbapt ;; 735234949Sbapt i370-ibm* | ibm*) 736234949Sbapt basic_machine=i370-ibm 737234949Sbapt ;; 738234949Sbapt i*86v32) 739234949Sbapt basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 740234949Sbapt os=-sysv32 741234949Sbapt ;; 742234949Sbapt i*86v4*) 743234949Sbapt basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 744234949Sbapt os=-sysv4 745234949Sbapt ;; 746234949Sbapt i*86v) 747234949Sbapt basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 748234949Sbapt os=-sysv 749234949Sbapt ;; 750234949Sbapt i*86sol2) 751234949Sbapt basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 752234949Sbapt os=-solaris2 753234949Sbapt ;; 754234949Sbapt i386mach) 755234949Sbapt basic_machine=i386-mach 756234949Sbapt os=-mach 757234949Sbapt ;; 758234949Sbapt i386-vsta | vsta) 759234949Sbapt basic_machine=i386-unknown 760234949Sbapt os=-vsta 761234949Sbapt ;; 762234949Sbapt iris | iris4d) 763234949Sbapt basic_machine=mips-sgi 764234949Sbapt case $os in 765234949Sbapt -irix*) 766234949Sbapt ;; 767234949Sbapt *) 768234949Sbapt os=-irix4 769234949Sbapt ;; 770234949Sbapt esac 771234949Sbapt ;; 772234949Sbapt isi68 | isi) 773234949Sbapt basic_machine=m68k-isi 774234949Sbapt os=-sysv 775234949Sbapt ;; 776234949Sbapt m68knommu) 777234949Sbapt basic_machine=m68k-unknown 778234949Sbapt os=-linux 779234949Sbapt ;; 780234949Sbapt m68knommu-*) 781234949Sbapt basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 782234949Sbapt os=-linux 783234949Sbapt ;; 784234949Sbapt m88k-omron*) 785234949Sbapt basic_machine=m88k-omron 786234949Sbapt ;; 787234949Sbapt magnum | m3230) 788234949Sbapt basic_machine=mips-mips 789234949Sbapt os=-sysv 790234949Sbapt ;; 791234949Sbapt merlin) 792234949Sbapt basic_machine=ns32k-utek 793234949Sbapt os=-sysv 794234949Sbapt ;; 795251143Sbapt microblaze*) 796234949Sbapt basic_machine=microblaze-xilinx 797234949Sbapt ;; 798251143Sbapt mingw64) 799251143Sbapt basic_machine=x86_64-pc 800251143Sbapt os=-mingw64 801251143Sbapt ;; 802234949Sbapt mingw32) 803268899Sbapt basic_machine=i686-pc 804234949Sbapt os=-mingw32 805234949Sbapt ;; 806234949Sbapt mingw32ce) 807234949Sbapt basic_machine=arm-unknown 808234949Sbapt os=-mingw32ce 809234949Sbapt ;; 810234949Sbapt miniframe) 811234949Sbapt basic_machine=m68000-convergent 812234949Sbapt ;; 813234949Sbapt *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 814234949Sbapt basic_machine=m68k-atari 815234949Sbapt os=-mint 816234949Sbapt ;; 817234949Sbapt mips3*-*) 818234949Sbapt basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 819234949Sbapt ;; 820234949Sbapt mips3*) 821234949Sbapt basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 822234949Sbapt ;; 823234949Sbapt monitor) 824234949Sbapt basic_machine=m68k-rom68k 825234949Sbapt os=-coff 826234949Sbapt ;; 827234949Sbapt morphos) 828234949Sbapt basic_machine=powerpc-unknown 829234949Sbapt os=-morphos 830234949Sbapt ;; 831272955Srodrigc moxiebox) 832272955Srodrigc basic_machine=moxie-unknown 833272955Srodrigc os=-moxiebox 834272955Srodrigc ;; 835234949Sbapt msdos) 836234949Sbapt basic_machine=i386-pc 837234949Sbapt os=-msdos 838234949Sbapt ;; 839234949Sbapt ms1-*) 840234949Sbapt basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 841234949Sbapt ;; 842251143Sbapt msys) 843268899Sbapt basic_machine=i686-pc 844251143Sbapt os=-msys 845251143Sbapt ;; 846234949Sbapt mvs) 847234949Sbapt basic_machine=i370-ibm 848234949Sbapt os=-mvs 849234949Sbapt ;; 850251143Sbapt nacl) 851251143Sbapt basic_machine=le32-unknown 852251143Sbapt os=-nacl 853251143Sbapt ;; 854234949Sbapt ncr3000) 855234949Sbapt basic_machine=i486-ncr 856234949Sbapt os=-sysv4 857234949Sbapt ;; 858234949Sbapt netbsd386) 859234949Sbapt basic_machine=i386-unknown 860234949Sbapt os=-netbsd 861234949Sbapt ;; 862234949Sbapt netwinder) 863234949Sbapt basic_machine=armv4l-rebel 864234949Sbapt os=-linux 865234949Sbapt ;; 866234949Sbapt news | news700 | news800 | news900) 867234949Sbapt basic_machine=m68k-sony 868234949Sbapt os=-newsos 869234949Sbapt ;; 870234949Sbapt news1000) 871234949Sbapt basic_machine=m68030-sony 872234949Sbapt os=-newsos 873234949Sbapt ;; 874234949Sbapt news-3600 | risc-news) 875234949Sbapt basic_machine=mips-sony 876234949Sbapt os=-newsos 877234949Sbapt ;; 878234949Sbapt necv70) 879234949Sbapt basic_machine=v70-nec 880234949Sbapt os=-sysv 881234949Sbapt ;; 882251143Sbapt next | m*-next ) 883234949Sbapt basic_machine=m68k-next 884234949Sbapt case $os in 885251143Sbapt -nextstep* ) 886234949Sbapt ;; 887234949Sbapt -ns2*) 888234949Sbapt os=-nextstep2 889234949Sbapt ;; 890234949Sbapt *) 891234949Sbapt os=-nextstep3 892234949Sbapt ;; 893234949Sbapt esac 894234949Sbapt ;; 895234949Sbapt nh3000) 896234949Sbapt basic_machine=m68k-harris 897234949Sbapt os=-cxux 898234949Sbapt ;; 899234949Sbapt nh[45]000) 900234949Sbapt basic_machine=m88k-harris 901234949Sbapt os=-cxux 902234949Sbapt ;; 903234949Sbapt nindy960) 904234949Sbapt basic_machine=i960-intel 905234949Sbapt os=-nindy 906234949Sbapt ;; 907234949Sbapt mon960) 908234949Sbapt basic_machine=i960-intel 909234949Sbapt os=-mon960 910234949Sbapt ;; 911234949Sbapt nonstopux) 912234949Sbapt basic_machine=mips-compaq 913234949Sbapt os=-nonstopux 914234949Sbapt ;; 915234949Sbapt np1) 916234949Sbapt basic_machine=np1-gould 917234949Sbapt ;; 918234949Sbapt neo-tandem) 919234949Sbapt basic_machine=neo-tandem 920234949Sbapt ;; 921234949Sbapt nse-tandem) 922234949Sbapt basic_machine=nse-tandem 923234949Sbapt ;; 924234949Sbapt nsr-tandem) 925234949Sbapt basic_machine=nsr-tandem 926234949Sbapt ;; 927234949Sbapt op50n-* | op60c-*) 928234949Sbapt basic_machine=hppa1.1-oki 929234949Sbapt os=-proelf 930234949Sbapt ;; 931234949Sbapt openrisc | openrisc-*) 932234949Sbapt basic_machine=or32-unknown 933234949Sbapt ;; 934234949Sbapt os400) 935234949Sbapt basic_machine=powerpc-ibm 936234949Sbapt os=-os400 937234949Sbapt ;; 938234949Sbapt OSE68000 | ose68000) 939234949Sbapt basic_machine=m68000-ericsson 940234949Sbapt os=-ose 941234949Sbapt ;; 942234949Sbapt os68k) 943234949Sbapt basic_machine=m68k-none 944234949Sbapt os=-os68k 945234949Sbapt ;; 946234949Sbapt pa-hitachi) 947234949Sbapt basic_machine=hppa1.1-hitachi 948234949Sbapt os=-hiuxwe2 949234949Sbapt ;; 950234949Sbapt paragon) 951234949Sbapt basic_machine=i860-intel 952234949Sbapt os=-osf 953234949Sbapt ;; 954234949Sbapt parisc) 955234949Sbapt basic_machine=hppa-unknown 956234949Sbapt os=-linux 957234949Sbapt ;; 958234949Sbapt parisc-*) 959234949Sbapt basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 960234949Sbapt os=-linux 961234949Sbapt ;; 962234949Sbapt pbd) 963234949Sbapt basic_machine=sparc-tti 964234949Sbapt ;; 965234949Sbapt pbb) 966234949Sbapt basic_machine=m68k-tti 967234949Sbapt ;; 968234949Sbapt pc532 | pc532-*) 969234949Sbapt basic_machine=ns32k-pc532 970234949Sbapt ;; 971234949Sbapt pc98) 972234949Sbapt basic_machine=i386-pc 973234949Sbapt ;; 974234949Sbapt pc98-*) 975234949Sbapt basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 976234949Sbapt ;; 977234949Sbapt pentium | p5 | k5 | k6 | nexgen | viac3) 978234949Sbapt basic_machine=i586-pc 979234949Sbapt ;; 980234949Sbapt pentiumpro | p6 | 6x86 | athlon | athlon_*) 981234949Sbapt basic_machine=i686-pc 982234949Sbapt ;; 983234949Sbapt pentiumii | pentium2 | pentiumiii | pentium3) 984234949Sbapt basic_machine=i686-pc 985234949Sbapt ;; 986234949Sbapt pentium4) 987234949Sbapt basic_machine=i786-pc 988234949Sbapt ;; 989234949Sbapt pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 990234949Sbapt basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 991234949Sbapt ;; 992234949Sbapt pentiumpro-* | p6-* | 6x86-* | athlon-*) 993234949Sbapt basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 994234949Sbapt ;; 995234949Sbapt pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 996234949Sbapt basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 997234949Sbapt ;; 998234949Sbapt pentium4-*) 999234949Sbapt basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1000234949Sbapt ;; 1001234949Sbapt pn) 1002234949Sbapt basic_machine=pn-gould 1003234949Sbapt ;; 1004251143Sbapt power) basic_machine=power-ibm 1005234949Sbapt ;; 1006251143Sbapt ppc | ppcbe) basic_machine=powerpc-unknown 1007234949Sbapt ;; 1008234949Sbapt ppc-* | ppcbe-*) 1009234949Sbapt basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1010234949Sbapt ;; 1011234949Sbapt ppcle | powerpclittle | ppc-le | powerpc-little) 1012234949Sbapt basic_machine=powerpcle-unknown 1013234949Sbapt ;; 1014234949Sbapt ppcle-* | powerpclittle-*) 1015234949Sbapt basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1016234949Sbapt ;; 1017251143Sbapt ppc64) basic_machine=powerpc64-unknown 1018234949Sbapt ;; 1019251143Sbapt ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1020234949Sbapt ;; 1021234949Sbapt ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1022234949Sbapt basic_machine=powerpc64le-unknown 1023234949Sbapt ;; 1024234949Sbapt ppc64le-* | powerpc64little-*) 1025234949Sbapt basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1026234949Sbapt ;; 1027234949Sbapt ps2) 1028234949Sbapt basic_machine=i386-ibm 1029234949Sbapt ;; 1030234949Sbapt pw32) 1031234949Sbapt basic_machine=i586-unknown 1032234949Sbapt os=-pw32 1033234949Sbapt ;; 1034251143Sbapt rdos | rdos64) 1035251143Sbapt basic_machine=x86_64-pc 1036251143Sbapt os=-rdos 1037251143Sbapt ;; 1038251143Sbapt rdos32) 1039234949Sbapt basic_machine=i386-pc 1040234949Sbapt os=-rdos 1041234949Sbapt ;; 1042234949Sbapt rom68k) 1043234949Sbapt basic_machine=m68k-rom68k 1044234949Sbapt os=-coff 1045234949Sbapt ;; 1046234949Sbapt rm[46]00) 1047234949Sbapt basic_machine=mips-siemens 1048234949Sbapt ;; 1049234949Sbapt rtpc | rtpc-*) 1050234949Sbapt basic_machine=romp-ibm 1051234949Sbapt ;; 1052234949Sbapt s390 | s390-*) 1053234949Sbapt basic_machine=s390-ibm 1054234949Sbapt ;; 1055234949Sbapt s390x | s390x-*) 1056234949Sbapt basic_machine=s390x-ibm 1057234949Sbapt ;; 1058234949Sbapt sa29200) 1059234949Sbapt basic_machine=a29k-amd 1060234949Sbapt os=-udi 1061234949Sbapt ;; 1062234949Sbapt sb1) 1063234949Sbapt basic_machine=mipsisa64sb1-unknown 1064234949Sbapt ;; 1065234949Sbapt sb1el) 1066234949Sbapt basic_machine=mipsisa64sb1el-unknown 1067234949Sbapt ;; 1068234949Sbapt sde) 1069234949Sbapt basic_machine=mipsisa32-sde 1070234949Sbapt os=-elf 1071234949Sbapt ;; 1072234949Sbapt sei) 1073234949Sbapt basic_machine=mips-sei 1074234949Sbapt os=-seiux 1075234949Sbapt ;; 1076234949Sbapt sequent) 1077234949Sbapt basic_machine=i386-sequent 1078234949Sbapt ;; 1079234949Sbapt sh) 1080234949Sbapt basic_machine=sh-hitachi 1081234949Sbapt os=-hms 1082234949Sbapt ;; 1083234949Sbapt sh5el) 1084234949Sbapt basic_machine=sh5le-unknown 1085234949Sbapt ;; 1086234949Sbapt sh64) 1087234949Sbapt basic_machine=sh64-unknown 1088234949Sbapt ;; 1089234949Sbapt sparclite-wrs | simso-wrs) 1090234949Sbapt basic_machine=sparclite-wrs 1091234949Sbapt os=-vxworks 1092234949Sbapt ;; 1093234949Sbapt sps7) 1094234949Sbapt basic_machine=m68k-bull 1095234949Sbapt os=-sysv2 1096234949Sbapt ;; 1097234949Sbapt spur) 1098234949Sbapt basic_machine=spur-unknown 1099234949Sbapt ;; 1100234949Sbapt st2000) 1101234949Sbapt basic_machine=m68k-tandem 1102234949Sbapt ;; 1103234949Sbapt stratus) 1104234949Sbapt basic_machine=i860-stratus 1105234949Sbapt os=-sysv4 1106234949Sbapt ;; 1107234949Sbapt strongarm-* | thumb-*) 1108234949Sbapt basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1109234949Sbapt ;; 1110234949Sbapt sun2) 1111234949Sbapt basic_machine=m68000-sun 1112234949Sbapt ;; 1113234949Sbapt sun2os3) 1114234949Sbapt basic_machine=m68000-sun 1115234949Sbapt os=-sunos3 1116234949Sbapt ;; 1117234949Sbapt sun2os4) 1118234949Sbapt basic_machine=m68000-sun 1119234949Sbapt os=-sunos4 1120234949Sbapt ;; 1121234949Sbapt sun3os3) 1122234949Sbapt basic_machine=m68k-sun 1123234949Sbapt os=-sunos3 1124234949Sbapt ;; 1125234949Sbapt sun3os4) 1126234949Sbapt basic_machine=m68k-sun 1127234949Sbapt os=-sunos4 1128234949Sbapt ;; 1129234949Sbapt sun4os3) 1130234949Sbapt basic_machine=sparc-sun 1131234949Sbapt os=-sunos3 1132234949Sbapt ;; 1133234949Sbapt sun4os4) 1134234949Sbapt basic_machine=sparc-sun 1135234949Sbapt os=-sunos4 1136234949Sbapt ;; 1137234949Sbapt sun4sol2) 1138234949Sbapt basic_machine=sparc-sun 1139234949Sbapt os=-solaris2 1140234949Sbapt ;; 1141234949Sbapt sun3 | sun3-*) 1142234949Sbapt basic_machine=m68k-sun 1143234949Sbapt ;; 1144234949Sbapt sun4) 1145234949Sbapt basic_machine=sparc-sun 1146234949Sbapt ;; 1147234949Sbapt sun386 | sun386i | roadrunner) 1148234949Sbapt basic_machine=i386-sun 1149234949Sbapt ;; 1150234949Sbapt sv1) 1151234949Sbapt basic_machine=sv1-cray 1152234949Sbapt os=-unicos 1153234949Sbapt ;; 1154234949Sbapt symmetry) 1155234949Sbapt basic_machine=i386-sequent 1156234949Sbapt os=-dynix 1157234949Sbapt ;; 1158234949Sbapt t3e) 1159234949Sbapt basic_machine=alphaev5-cray 1160234949Sbapt os=-unicos 1161234949Sbapt ;; 1162234949Sbapt t90) 1163234949Sbapt basic_machine=t90-cray 1164234949Sbapt os=-unicos 1165234949Sbapt ;; 1166234949Sbapt tile*) 1167251143Sbapt basic_machine=$basic_machine-unknown 1168234949Sbapt os=-linux-gnu 1169234949Sbapt ;; 1170234949Sbapt tx39) 1171234949Sbapt basic_machine=mipstx39-unknown 1172234949Sbapt ;; 1173234949Sbapt tx39el) 1174234949Sbapt basic_machine=mipstx39el-unknown 1175234949Sbapt ;; 1176234949Sbapt toad1) 1177234949Sbapt basic_machine=pdp10-xkl 1178234949Sbapt os=-tops20 1179234949Sbapt ;; 1180234949Sbapt tower | tower-32) 1181234949Sbapt basic_machine=m68k-ncr 1182234949Sbapt ;; 1183234949Sbapt tpf) 1184234949Sbapt basic_machine=s390x-ibm 1185234949Sbapt os=-tpf 1186234949Sbapt ;; 1187234949Sbapt udi29k) 1188234949Sbapt basic_machine=a29k-amd 1189234949Sbapt os=-udi 1190234949Sbapt ;; 1191234949Sbapt ultra3) 1192234949Sbapt basic_machine=a29k-nyu 1193234949Sbapt os=-sym1 1194234949Sbapt ;; 1195234949Sbapt v810 | necv810) 1196234949Sbapt basic_machine=v810-nec 1197234949Sbapt os=-none 1198234949Sbapt ;; 1199234949Sbapt vaxv) 1200234949Sbapt basic_machine=vax-dec 1201234949Sbapt os=-sysv 1202234949Sbapt ;; 1203234949Sbapt vms) 1204234949Sbapt basic_machine=vax-dec 1205234949Sbapt os=-vms 1206234949Sbapt ;; 1207234949Sbapt vpp*|vx|vx-*) 1208234949Sbapt basic_machine=f301-fujitsu 1209234949Sbapt ;; 1210234949Sbapt vxworks960) 1211234949Sbapt basic_machine=i960-wrs 1212234949Sbapt os=-vxworks 1213234949Sbapt ;; 1214234949Sbapt vxworks68) 1215234949Sbapt basic_machine=m68k-wrs 1216234949Sbapt os=-vxworks 1217234949Sbapt ;; 1218234949Sbapt vxworks29k) 1219234949Sbapt basic_machine=a29k-wrs 1220234949Sbapt os=-vxworks 1221234949Sbapt ;; 1222234949Sbapt w65*) 1223234949Sbapt basic_machine=w65-wdc 1224234949Sbapt os=-none 1225234949Sbapt ;; 1226234949Sbapt w89k-*) 1227234949Sbapt basic_machine=hppa1.1-winbond 1228234949Sbapt os=-proelf 1229234949Sbapt ;; 1230234949Sbapt xbox) 1231234949Sbapt basic_machine=i686-pc 1232234949Sbapt os=-mingw32 1233234949Sbapt ;; 1234234949Sbapt xps | xps100) 1235234949Sbapt basic_machine=xps100-honeywell 1236234949Sbapt ;; 1237234949Sbapt xscale-* | xscalee[bl]-*) 1238234949Sbapt basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1239234949Sbapt ;; 1240234949Sbapt ymp) 1241234949Sbapt basic_machine=ymp-cray 1242234949Sbapt os=-unicos 1243234949Sbapt ;; 1244234949Sbapt z8k-*-coff) 1245234949Sbapt basic_machine=z8k-unknown 1246234949Sbapt os=-sim 1247234949Sbapt ;; 1248234949Sbapt z80-*-coff) 1249234949Sbapt basic_machine=z80-unknown 1250234949Sbapt os=-sim 1251234949Sbapt ;; 1252234949Sbapt none) 1253234949Sbapt basic_machine=none-none 1254234949Sbapt os=-none 1255234949Sbapt ;; 1256234949Sbapt 1257234949Sbapt# Here we handle the default manufacturer of certain CPU types. It is in 1258234949Sbapt# some cases the only manufacturer, in others, it is the most popular. 1259234949Sbapt w89k) 1260234949Sbapt basic_machine=hppa1.1-winbond 1261234949Sbapt ;; 1262234949Sbapt op50n) 1263234949Sbapt basic_machine=hppa1.1-oki 1264234949Sbapt ;; 1265234949Sbapt op60c) 1266234949Sbapt basic_machine=hppa1.1-oki 1267234949Sbapt ;; 1268234949Sbapt romp) 1269234949Sbapt basic_machine=romp-ibm 1270234949Sbapt ;; 1271234949Sbapt mmix) 1272234949Sbapt basic_machine=mmix-knuth 1273234949Sbapt ;; 1274234949Sbapt rs6000) 1275234949Sbapt basic_machine=rs6000-ibm 1276234949Sbapt ;; 1277234949Sbapt vax) 1278234949Sbapt basic_machine=vax-dec 1279234949Sbapt ;; 1280234949Sbapt pdp10) 1281234949Sbapt # there are many clones, so DEC is not a safe bet 1282234949Sbapt basic_machine=pdp10-unknown 1283234949Sbapt ;; 1284234949Sbapt pdp11) 1285234949Sbapt basic_machine=pdp11-dec 1286234949Sbapt ;; 1287234949Sbapt we32k) 1288234949Sbapt basic_machine=we32k-att 1289234949Sbapt ;; 1290234949Sbapt sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1291234949Sbapt basic_machine=sh-unknown 1292234949Sbapt ;; 1293234949Sbapt sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1294234949Sbapt basic_machine=sparc-sun 1295234949Sbapt ;; 1296234949Sbapt cydra) 1297234949Sbapt basic_machine=cydra-cydrome 1298234949Sbapt ;; 1299234949Sbapt orion) 1300234949Sbapt basic_machine=orion-highlevel 1301234949Sbapt ;; 1302234949Sbapt orion105) 1303234949Sbapt basic_machine=clipper-highlevel 1304234949Sbapt ;; 1305234949Sbapt mac | mpw | mac-mpw) 1306234949Sbapt basic_machine=m68k-apple 1307234949Sbapt ;; 1308234949Sbapt pmac | pmac-mpw) 1309234949Sbapt basic_machine=powerpc-apple 1310234949Sbapt ;; 1311234949Sbapt *-unknown) 1312234949Sbapt # Make sure to match an already-canonicalized machine name. 1313234949Sbapt ;; 1314234949Sbapt *) 1315234949Sbapt echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1316234949Sbapt exit 1 1317234949Sbapt ;; 1318234949Sbaptesac 1319234949Sbapt 1320234949Sbapt# Here we canonicalize certain aliases for manufacturers. 1321234949Sbaptcase $basic_machine in 1322234949Sbapt *-digital*) 1323234949Sbapt basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1324234949Sbapt ;; 1325234949Sbapt *-commodore*) 1326234949Sbapt basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1327234949Sbapt ;; 1328234949Sbapt *) 1329234949Sbapt ;; 1330234949Sbaptesac 1331234949Sbapt 1332234949Sbapt# Decode manufacturer-specific aliases for certain operating systems. 1333234949Sbapt 1334234949Sbaptif [ x"$os" != x"" ] 1335234949Sbaptthen 1336234949Sbaptcase $os in 1337234949Sbapt # First match some system type aliases 1338234949Sbapt # that might get confused with valid system types. 1339234949Sbapt # -solaris* is a basic system type, with this one exception. 1340234949Sbapt -auroraux) 1341234949Sbapt os=-auroraux 1342234949Sbapt ;; 1343234949Sbapt -solaris1 | -solaris1.*) 1344234949Sbapt os=`echo $os | sed -e 's|solaris1|sunos4|'` 1345234949Sbapt ;; 1346234949Sbapt -solaris) 1347234949Sbapt os=-solaris2 1348234949Sbapt ;; 1349234949Sbapt -svr4*) 1350234949Sbapt os=-sysv4 1351234949Sbapt ;; 1352234949Sbapt -unixware*) 1353234949Sbapt os=-sysv4.2uw 1354234949Sbapt ;; 1355234949Sbapt -gnu/linux*) 1356234949Sbapt os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357234949Sbapt ;; 1358234949Sbapt # First accept the basic system types. 1359234949Sbapt # The portable systems comes first. 1360234949Sbapt # Each alternative MUST END IN A *, to match a version number. 1361234949Sbapt # -sysv* is not here because it comes later, after sysvr4. 1362234949Sbapt -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1363234949Sbapt | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1364234949Sbapt | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1365251143Sbapt | -sym* | -kopensolaris* | -plan9* \ 1366234949Sbapt | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1367234949Sbapt | -aos* | -aros* \ 1368234949Sbapt | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1369234949Sbapt | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1370234949Sbapt | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1371251143Sbapt | -bitrig* | -openbsd* | -solidbsd* \ 1372234949Sbapt | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1373234949Sbapt | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1374234949Sbapt | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1375234949Sbapt | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1376234949Sbapt | -chorusos* | -chorusrdb* | -cegcc* \ 1377251143Sbapt | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1378251143Sbapt | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1379251143Sbapt | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1380272955Srodrigc | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1381234949Sbapt | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1382234949Sbapt | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1383234949Sbapt | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1384234949Sbapt | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1385234949Sbapt | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1386234949Sbapt | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1387268899Sbapt | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 1388234949Sbapt # Remember, each alternative MUST END IN *, to match a version number. 1389234949Sbapt ;; 1390234949Sbapt -qnx*) 1391234949Sbapt case $basic_machine in 1392234949Sbapt x86-* | i*86-*) 1393234949Sbapt ;; 1394234949Sbapt *) 1395234949Sbapt os=-nto$os 1396234949Sbapt ;; 1397234949Sbapt esac 1398234949Sbapt ;; 1399234949Sbapt -nto-qnx*) 1400234949Sbapt ;; 1401234949Sbapt -nto*) 1402234949Sbapt os=`echo $os | sed -e 's|nto|nto-qnx|'` 1403234949Sbapt ;; 1404234949Sbapt -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1405234949Sbapt | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1406234949Sbapt | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1407234949Sbapt ;; 1408234949Sbapt -mac*) 1409234949Sbapt os=`echo $os | sed -e 's|mac|macos|'` 1410234949Sbapt ;; 1411234949Sbapt -linux-dietlibc) 1412234949Sbapt os=-linux-dietlibc 1413234949Sbapt ;; 1414234949Sbapt -linux*) 1415234949Sbapt os=`echo $os | sed -e 's|linux|linux-gnu|'` 1416234949Sbapt ;; 1417234949Sbapt -sunos5*) 1418234949Sbapt os=`echo $os | sed -e 's|sunos5|solaris2|'` 1419234949Sbapt ;; 1420234949Sbapt -sunos6*) 1421234949Sbapt os=`echo $os | sed -e 's|sunos6|solaris3|'` 1422234949Sbapt ;; 1423234949Sbapt -opened*) 1424234949Sbapt os=-openedition 1425234949Sbapt ;; 1426234949Sbapt -os400*) 1427234949Sbapt os=-os400 1428234949Sbapt ;; 1429234949Sbapt -wince*) 1430234949Sbapt os=-wince 1431234949Sbapt ;; 1432234949Sbapt -osfrose*) 1433234949Sbapt os=-osfrose 1434234949Sbapt ;; 1435234949Sbapt -osf*) 1436234949Sbapt os=-osf 1437234949Sbapt ;; 1438234949Sbapt -utek*) 1439234949Sbapt os=-bsd 1440234949Sbapt ;; 1441234949Sbapt -dynix*) 1442234949Sbapt os=-bsd 1443234949Sbapt ;; 1444234949Sbapt -acis*) 1445234949Sbapt os=-aos 1446234949Sbapt ;; 1447234949Sbapt -atheos*) 1448234949Sbapt os=-atheos 1449234949Sbapt ;; 1450234949Sbapt -syllable*) 1451234949Sbapt os=-syllable 1452234949Sbapt ;; 1453234949Sbapt -386bsd) 1454234949Sbapt os=-bsd 1455234949Sbapt ;; 1456234949Sbapt -ctix* | -uts*) 1457234949Sbapt os=-sysv 1458234949Sbapt ;; 1459234949Sbapt -nova*) 1460234949Sbapt os=-rtmk-nova 1461234949Sbapt ;; 1462251143Sbapt -ns2 ) 1463234949Sbapt os=-nextstep2 1464234949Sbapt ;; 1465234949Sbapt -nsk*) 1466234949Sbapt os=-nsk 1467234949Sbapt ;; 1468234949Sbapt # Preserve the version number of sinix5. 1469234949Sbapt -sinix5.*) 1470234949Sbapt os=`echo $os | sed -e 's|sinix|sysv|'` 1471234949Sbapt ;; 1472234949Sbapt -sinix*) 1473234949Sbapt os=-sysv4 1474234949Sbapt ;; 1475234949Sbapt -tpf*) 1476234949Sbapt os=-tpf 1477234949Sbapt ;; 1478234949Sbapt -triton*) 1479234949Sbapt os=-sysv3 1480234949Sbapt ;; 1481234949Sbapt -oss*) 1482234949Sbapt os=-sysv3 1483234949Sbapt ;; 1484234949Sbapt -svr4) 1485234949Sbapt os=-sysv4 1486234949Sbapt ;; 1487234949Sbapt -svr3) 1488234949Sbapt os=-sysv3 1489234949Sbapt ;; 1490234949Sbapt -sysvr4) 1491234949Sbapt os=-sysv4 1492234949Sbapt ;; 1493234949Sbapt # This must come after -sysvr4. 1494234949Sbapt -sysv*) 1495234949Sbapt ;; 1496234949Sbapt -ose*) 1497234949Sbapt os=-ose 1498234949Sbapt ;; 1499234949Sbapt -es1800*) 1500234949Sbapt os=-ose 1501234949Sbapt ;; 1502234949Sbapt -xenix) 1503234949Sbapt os=-xenix 1504234949Sbapt ;; 1505234949Sbapt -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1506234949Sbapt os=-mint 1507234949Sbapt ;; 1508234949Sbapt -aros*) 1509234949Sbapt os=-aros 1510234949Sbapt ;; 1511234949Sbapt -zvmoe) 1512234949Sbapt os=-zvmoe 1513234949Sbapt ;; 1514234949Sbapt -dicos*) 1515234949Sbapt os=-dicos 1516234949Sbapt ;; 1517234949Sbapt -nacl*) 1518234949Sbapt ;; 1519234949Sbapt -none) 1520234949Sbapt ;; 1521234949Sbapt *) 1522234949Sbapt # Get rid of the `-' at the beginning of $os. 1523234949Sbapt os=`echo $os | sed 's/[^-]*-//'` 1524234949Sbapt echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1525234949Sbapt exit 1 1526234949Sbapt ;; 1527234949Sbaptesac 1528234949Sbaptelse 1529234949Sbapt 1530234949Sbapt# Here we handle the default operating systems that come with various machines. 1531234949Sbapt# The value should be what the vendor currently ships out the door with their 1532234949Sbapt# machine or put another way, the most popular os provided with the machine. 1533234949Sbapt 1534234949Sbapt# Note that if you're going to try to match "-MANUFACTURER" here (say, 1535234949Sbapt# "-sun"), then you have to tell the case statement up towards the top 1536234949Sbapt# that MANUFACTURER isn't an operating system. Otherwise, code above 1537234949Sbapt# will signal an error saying that MANUFACTURER isn't an operating 1538234949Sbapt# system, and we'll never get to this point. 1539234949Sbapt 1540234949Sbaptcase $basic_machine in 1541234949Sbapt score-*) 1542234949Sbapt os=-elf 1543234949Sbapt ;; 1544234949Sbapt spu-*) 1545234949Sbapt os=-elf 1546234949Sbapt ;; 1547234949Sbapt *-acorn) 1548234949Sbapt os=-riscix1.2 1549234949Sbapt ;; 1550234949Sbapt arm*-rebel) 1551234949Sbapt os=-linux 1552234949Sbapt ;; 1553234949Sbapt arm*-semi) 1554234949Sbapt os=-aout 1555234949Sbapt ;; 1556234949Sbapt c4x-* | tic4x-*) 1557234949Sbapt os=-coff 1558234949Sbapt ;; 1559268899Sbapt c8051-*) 1560268899Sbapt os=-elf 1561268899Sbapt ;; 1562251143Sbapt hexagon-*) 1563251143Sbapt os=-elf 1564251143Sbapt ;; 1565234949Sbapt tic54x-*) 1566234949Sbapt os=-coff 1567234949Sbapt ;; 1568234949Sbapt tic55x-*) 1569234949Sbapt os=-coff 1570234949Sbapt ;; 1571234949Sbapt tic6x-*) 1572234949Sbapt os=-coff 1573234949Sbapt ;; 1574234949Sbapt # This must come before the *-dec entry. 1575234949Sbapt pdp10-*) 1576234949Sbapt os=-tops20 1577234949Sbapt ;; 1578234949Sbapt pdp11-*) 1579234949Sbapt os=-none 1580234949Sbapt ;; 1581234949Sbapt *-dec | vax-*) 1582234949Sbapt os=-ultrix4.2 1583234949Sbapt ;; 1584234949Sbapt m68*-apollo) 1585234949Sbapt os=-domain 1586234949Sbapt ;; 1587234949Sbapt i386-sun) 1588234949Sbapt os=-sunos4.0.2 1589234949Sbapt ;; 1590234949Sbapt m68000-sun) 1591234949Sbapt os=-sunos3 1592234949Sbapt ;; 1593234949Sbapt m68*-cisco) 1594234949Sbapt os=-aout 1595234949Sbapt ;; 1596234949Sbapt mep-*) 1597234949Sbapt os=-elf 1598234949Sbapt ;; 1599234949Sbapt mips*-cisco) 1600234949Sbapt os=-elf 1601234949Sbapt ;; 1602234949Sbapt mips*-*) 1603234949Sbapt os=-elf 1604234949Sbapt ;; 1605234949Sbapt or32-*) 1606234949Sbapt os=-coff 1607234949Sbapt ;; 1608234949Sbapt *-tti) # must be before sparc entry or we get the wrong os. 1609234949Sbapt os=-sysv3 1610234949Sbapt ;; 1611234949Sbapt sparc-* | *-sun) 1612234949Sbapt os=-sunos4.1.1 1613234949Sbapt ;; 1614234949Sbapt *-be) 1615234949Sbapt os=-beos 1616234949Sbapt ;; 1617234949Sbapt *-haiku) 1618234949Sbapt os=-haiku 1619234949Sbapt ;; 1620234949Sbapt *-ibm) 1621234949Sbapt os=-aix 1622234949Sbapt ;; 1623234949Sbapt *-knuth) 1624234949Sbapt os=-mmixware 1625234949Sbapt ;; 1626234949Sbapt *-wec) 1627234949Sbapt os=-proelf 1628234949Sbapt ;; 1629234949Sbapt *-winbond) 1630234949Sbapt os=-proelf 1631234949Sbapt ;; 1632234949Sbapt *-oki) 1633234949Sbapt os=-proelf 1634234949Sbapt ;; 1635234949Sbapt *-hp) 1636234949Sbapt os=-hpux 1637234949Sbapt ;; 1638234949Sbapt *-hitachi) 1639234949Sbapt os=-hiux 1640234949Sbapt ;; 1641234949Sbapt i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1642234949Sbapt os=-sysv 1643234949Sbapt ;; 1644234949Sbapt *-cbm) 1645234949Sbapt os=-amigaos 1646234949Sbapt ;; 1647234949Sbapt *-dg) 1648234949Sbapt os=-dgux 1649234949Sbapt ;; 1650234949Sbapt *-dolphin) 1651234949Sbapt os=-sysv3 1652234949Sbapt ;; 1653234949Sbapt m68k-ccur) 1654234949Sbapt os=-rtu 1655234949Sbapt ;; 1656234949Sbapt m88k-omron*) 1657234949Sbapt os=-luna 1658234949Sbapt ;; 1659251143Sbapt *-next ) 1660234949Sbapt os=-nextstep 1661234949Sbapt ;; 1662234949Sbapt *-sequent) 1663234949Sbapt os=-ptx 1664234949Sbapt ;; 1665234949Sbapt *-crds) 1666234949Sbapt os=-unos 1667234949Sbapt ;; 1668234949Sbapt *-ns) 1669234949Sbapt os=-genix 1670234949Sbapt ;; 1671234949Sbapt i370-*) 1672234949Sbapt os=-mvs 1673234949Sbapt ;; 1674234949Sbapt *-next) 1675234949Sbapt os=-nextstep3 1676234949Sbapt ;; 1677234949Sbapt *-gould) 1678234949Sbapt os=-sysv 1679234949Sbapt ;; 1680234949Sbapt *-highlevel) 1681234949Sbapt os=-bsd 1682234949Sbapt ;; 1683234949Sbapt *-encore) 1684234949Sbapt os=-bsd 1685234949Sbapt ;; 1686234949Sbapt *-sgi) 1687234949Sbapt os=-irix 1688234949Sbapt ;; 1689234949Sbapt *-siemens) 1690234949Sbapt os=-sysv4 1691234949Sbapt ;; 1692234949Sbapt *-masscomp) 1693234949Sbapt os=-rtu 1694234949Sbapt ;; 1695234949Sbapt f30[01]-fujitsu | f700-fujitsu) 1696234949Sbapt os=-uxpv 1697234949Sbapt ;; 1698234949Sbapt *-rom68k) 1699234949Sbapt os=-coff 1700234949Sbapt ;; 1701234949Sbapt *-*bug) 1702234949Sbapt os=-coff 1703234949Sbapt ;; 1704234949Sbapt *-apple) 1705234949Sbapt os=-macos 1706234949Sbapt ;; 1707234949Sbapt *-atari*) 1708234949Sbapt os=-mint 1709234949Sbapt ;; 1710234949Sbapt *) 1711234949Sbapt os=-none 1712234949Sbapt ;; 1713234949Sbaptesac 1714234949Sbaptfi 1715234949Sbapt 1716234949Sbapt# Here we handle the case where we know the os, and the CPU type, but not the 1717234949Sbapt# manufacturer. We pick the logical manufacturer. 1718234949Sbaptvendor=unknown 1719234949Sbaptcase $basic_machine in 1720234949Sbapt *-unknown) 1721234949Sbapt case $os in 1722234949Sbapt -riscix*) 1723234949Sbapt vendor=acorn 1724234949Sbapt ;; 1725234949Sbapt -sunos*) 1726234949Sbapt vendor=sun 1727234949Sbapt ;; 1728234949Sbapt -cnk*|-aix*) 1729234949Sbapt vendor=ibm 1730234949Sbapt ;; 1731234949Sbapt -beos*) 1732234949Sbapt vendor=be 1733234949Sbapt ;; 1734234949Sbapt -hpux*) 1735234949Sbapt vendor=hp 1736234949Sbapt ;; 1737234949Sbapt -mpeix*) 1738234949Sbapt vendor=hp 1739234949Sbapt ;; 1740234949Sbapt -hiux*) 1741234949Sbapt vendor=hitachi 1742234949Sbapt ;; 1743234949Sbapt -unos*) 1744234949Sbapt vendor=crds 1745234949Sbapt ;; 1746234949Sbapt -dgux*) 1747234949Sbapt vendor=dg 1748234949Sbapt ;; 1749234949Sbapt -luna*) 1750234949Sbapt vendor=omron 1751234949Sbapt ;; 1752234949Sbapt -genix*) 1753234949Sbapt vendor=ns 1754234949Sbapt ;; 1755234949Sbapt -mvs* | -opened*) 1756234949Sbapt vendor=ibm 1757234949Sbapt ;; 1758234949Sbapt -os400*) 1759234949Sbapt vendor=ibm 1760234949Sbapt ;; 1761234949Sbapt -ptx*) 1762234949Sbapt vendor=sequent 1763234949Sbapt ;; 1764234949Sbapt -tpf*) 1765234949Sbapt vendor=ibm 1766234949Sbapt ;; 1767234949Sbapt -vxsim* | -vxworks* | -windiss*) 1768234949Sbapt vendor=wrs 1769234949Sbapt ;; 1770234949Sbapt -aux*) 1771234949Sbapt vendor=apple 1772234949Sbapt ;; 1773234949Sbapt -hms*) 1774234949Sbapt vendor=hitachi 1775234949Sbapt ;; 1776234949Sbapt -mpw* | -macos*) 1777234949Sbapt vendor=apple 1778234949Sbapt ;; 1779234949Sbapt -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1780234949Sbapt vendor=atari 1781234949Sbapt ;; 1782234949Sbapt -vos*) 1783234949Sbapt vendor=stratus 1784234949Sbapt ;; 1785234949Sbapt esac 1786234949Sbapt basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1787234949Sbapt ;; 1788234949Sbaptesac 1789234949Sbapt 1790234949Sbaptecho $basic_machine$os 1791234949Sbaptexit 1792234949Sbapt 1793234949Sbapt# Local variables: 1794234949Sbapt# eval: (add-hook 'write-file-hooks 'time-stamp) 1795234949Sbapt# time-stamp-start: "timestamp='" 1796234949Sbapt# time-stamp-format: "%:y-%02m-%02d" 1797234949Sbapt# time-stamp-end: "'" 1798234949Sbapt# End: 1799