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