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