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