1876ff6feSmrg#! /bin/sh 2876ff6feSmrg# Configuration validation subroutine script. 3d41660beSmrg# Copyright 1992-2017 Free Software Foundation, Inc. 4876ff6feSmrg 5d41660beSmrgtimestamp='2017-01-01' 6876ff6feSmrg 7d41660beSmrg# This file is free software; you can redistribute it and/or modify it 8d41660beSmrg# under the terms of the GNU General Public License as published by 9d41660beSmrg# the Free Software Foundation; either version 3 of the License, or 10876ff6feSmrg# (at your option) any later version. 11876ff6feSmrg# 12d41660beSmrg# This program is distributed in the hope that it will be useful, but 13d41660beSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14d41660beSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15d41660beSmrg# General Public License for more details. 16876ff6feSmrg# 17876ff6feSmrg# You should have received a copy of the GNU General Public License 18d41660beSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 19876ff6feSmrg# 20876ff6feSmrg# As a special exception to the GNU General Public License, if you 21876ff6feSmrg# distribute this file as part of a program that contains a 22876ff6feSmrg# configuration script generated by Autoconf, you may include it under 23d41660beSmrg# the same distribution terms that you use for the rest of that 24d41660beSmrg# program. This Exception is an additional permission under section 7 25d41660beSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26876ff6feSmrg 27876ff6feSmrg 28d41660beSmrg# Please send patches to <config-patches@gnu.org>. 29876ff6feSmrg# 30876ff6feSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31876ff6feSmrg# Supply the specified configuration type as an argument. 32876ff6feSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33876ff6feSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34876ff6feSmrg 35d41660beSmrg# You can get the latest version of this script from: 36d41660beSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37d41660beSmrg 38876ff6feSmrg# This file is supposed to be the same for all GNU packages 39876ff6feSmrg# and recognize all the CPU types, system types and aliases 40876ff6feSmrg# that are meaningful with *any* GNU software. 41876ff6feSmrg# Each package is responsible for reporting which valid configurations 42876ff6feSmrg# it does not support. The user should be able to distinguish 43876ff6feSmrg# a failure to support a valid configuration from a meaningless 44876ff6feSmrg# configuration. 45876ff6feSmrg 46876ff6feSmrg# The goal of this file is to map all the various variations of a given 47876ff6feSmrg# machine specification into a single specification in the form: 48876ff6feSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49876ff6feSmrg# or in some cases, the newer four-part form: 50876ff6feSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51876ff6feSmrg# It is wrong to echo any other type of specification. 52876ff6feSmrg 53876ff6feSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54876ff6feSmrg 55876ff6feSmrgusage="\ 56d41660beSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57876ff6feSmrg 58876ff6feSmrgCanonicalize a configuration name. 59876ff6feSmrg 60876ff6feSmrgOperation modes: 61876ff6feSmrg -h, --help print this help, then exit 62876ff6feSmrg -t, --time-stamp print date of last modification, then exit 63876ff6feSmrg -v, --version print version number, then exit 64876ff6feSmrg 65876ff6feSmrgReport bugs and patches to <config-patches@gnu.org>." 66876ff6feSmrg 67876ff6feSmrgversion="\ 68876ff6feSmrgGNU config.sub ($timestamp) 69876ff6feSmrg 70d41660beSmrgCopyright 1992-2017 Free Software Foundation, Inc. 71876ff6feSmrg 72876ff6feSmrgThis is free software; see the source for copying conditions. There is NO 73876ff6feSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74876ff6feSmrg 75876ff6feSmrghelp=" 76876ff6feSmrgTry \`$me --help' for more information." 77876ff6feSmrg 78876ff6feSmrg# Parse command line 79876ff6feSmrgwhile test $# -gt 0 ; do 80876ff6feSmrg case $1 in 81876ff6feSmrg --time-stamp | --time* | -t ) 82876ff6feSmrg echo "$timestamp" ; exit ;; 83876ff6feSmrg --version | -v ) 84876ff6feSmrg echo "$version" ; exit ;; 85876ff6feSmrg --help | --h* | -h ) 86876ff6feSmrg echo "$usage"; exit ;; 87876ff6feSmrg -- ) # Stop option processing 88876ff6feSmrg shift; break ;; 89876ff6feSmrg - ) # Use stdin as input. 90876ff6feSmrg break ;; 91876ff6feSmrg -* ) 92876ff6feSmrg echo "$me: invalid option $1$help" 93876ff6feSmrg exit 1 ;; 94876ff6feSmrg 95876ff6feSmrg *local*) 96876ff6feSmrg # First pass through any local machine types. 97876ff6feSmrg echo $1 98876ff6feSmrg exit ;; 99876ff6feSmrg 100876ff6feSmrg * ) 101876ff6feSmrg break ;; 102876ff6feSmrg esac 103876ff6feSmrgdone 104876ff6feSmrg 105876ff6feSmrgcase $# in 106876ff6feSmrg 0) echo "$me: missing argument$help" >&2 107876ff6feSmrg exit 1;; 108876ff6feSmrg 1) ;; 109876ff6feSmrg *) echo "$me: too many arguments$help" >&2 110876ff6feSmrg exit 1;; 111876ff6feSmrgesac 112876ff6feSmrg 113876ff6feSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114876ff6feSmrg# Here we must recognize all the valid KERNEL-OS combinations. 115876ff6feSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116876ff6feSmrgcase $maybe_os in 117d41660beSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 118d41660beSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 119d41660beSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 120d41660beSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121d41660beSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122876ff6feSmrg os=-$maybe_os 123876ff6feSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124876ff6feSmrg ;; 125d41660beSmrg android-linux) 126d41660beSmrg os=-linux-android 127d41660beSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 128d41660beSmrg ;; 129876ff6feSmrg *) 130876ff6feSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 131876ff6feSmrg if [ $basic_machine != $1 ] 132876ff6feSmrg then os=`echo $1 | sed 's/.*-/-/'` 133876ff6feSmrg else os=; fi 134876ff6feSmrg ;; 135876ff6feSmrgesac 136876ff6feSmrg 137876ff6feSmrg### Let's recognize common machines as not being operating systems so 138876ff6feSmrg### that things like config.sub decstation-3100 work. We also 139876ff6feSmrg### recognize some manufacturers as not being operating systems, so we 140876ff6feSmrg### can provide default operating systems below. 141876ff6feSmrgcase $os in 142876ff6feSmrg -sun*os*) 143876ff6feSmrg # Prevent following clause from handling this invalid input. 144876ff6feSmrg ;; 145876ff6feSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146876ff6feSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147876ff6feSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148876ff6feSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149876ff6feSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150876ff6feSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 151d41660beSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152876ff6feSmrg os= 153876ff6feSmrg basic_machine=$1 154876ff6feSmrg ;; 155d41660beSmrg -bluegene*) 156d41660beSmrg os=-cnk 157d41660beSmrg ;; 158876ff6feSmrg -sim | -cisco | -oki | -wec | -winbond) 159876ff6feSmrg os= 160876ff6feSmrg basic_machine=$1 161876ff6feSmrg ;; 162876ff6feSmrg -scout) 163876ff6feSmrg ;; 164876ff6feSmrg -wrs) 165876ff6feSmrg os=-vxworks 166876ff6feSmrg basic_machine=$1 167876ff6feSmrg ;; 168876ff6feSmrg -chorusos*) 169876ff6feSmrg os=-chorusos 170876ff6feSmrg basic_machine=$1 171876ff6feSmrg ;; 172d41660beSmrg -chorusrdb) 173d41660beSmrg os=-chorusrdb 174876ff6feSmrg basic_machine=$1 175d41660beSmrg ;; 176876ff6feSmrg -hiux*) 177876ff6feSmrg os=-hiuxwe2 178876ff6feSmrg ;; 179d41660beSmrg -sco6) 180d41660beSmrg os=-sco5v6 181d41660beSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 182d41660beSmrg ;; 183876ff6feSmrg -sco5) 184876ff6feSmrg os=-sco3.2v5 185876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 186876ff6feSmrg ;; 187876ff6feSmrg -sco4) 188876ff6feSmrg os=-sco3.2v4 189876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 190876ff6feSmrg ;; 191876ff6feSmrg -sco3.2.[4-9]*) 192876ff6feSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 193876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 194876ff6feSmrg ;; 195876ff6feSmrg -sco3.2v[4-9]*) 196876ff6feSmrg # Don't forget version if it is 3.2v4 or newer. 197876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 198876ff6feSmrg ;; 199d41660beSmrg -sco5v6*) 200d41660beSmrg # Don't forget version if it is 3.2v4 or newer. 201d41660beSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 202d41660beSmrg ;; 203876ff6feSmrg -sco*) 204876ff6feSmrg os=-sco3.2v2 205876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 206876ff6feSmrg ;; 207876ff6feSmrg -udk*) 208876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 209876ff6feSmrg ;; 210876ff6feSmrg -isc) 211876ff6feSmrg os=-isc2.2 212876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 213876ff6feSmrg ;; 214876ff6feSmrg -clix*) 215876ff6feSmrg basic_machine=clipper-intergraph 216876ff6feSmrg ;; 217876ff6feSmrg -isc*) 218876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219876ff6feSmrg ;; 220d41660beSmrg -lynx*178) 221d41660beSmrg os=-lynxos178 222d41660beSmrg ;; 223d41660beSmrg -lynx*5) 224d41660beSmrg os=-lynxos5 225d41660beSmrg ;; 226876ff6feSmrg -lynx*) 227876ff6feSmrg os=-lynxos 228876ff6feSmrg ;; 229876ff6feSmrg -ptx*) 230876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231876ff6feSmrg ;; 232876ff6feSmrg -windowsnt*) 233876ff6feSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234876ff6feSmrg ;; 235876ff6feSmrg -psos*) 236876ff6feSmrg os=-psos 237876ff6feSmrg ;; 238876ff6feSmrg -mint | -mint[0-9]*) 239876ff6feSmrg basic_machine=m68k-atari 240876ff6feSmrg os=-mint 241876ff6feSmrg ;; 242876ff6feSmrgesac 243876ff6feSmrg 244876ff6feSmrg# Decode aliases for certain CPU-COMPANY combinations. 245876ff6feSmrgcase $basic_machine in 246876ff6feSmrg # Recognize the basic CPU types without company name. 247876ff6feSmrg # Some are omitted here because they have special meanings below. 248876ff6feSmrg 1750a | 580 \ 249876ff6feSmrg | a29k \ 250d41660beSmrg | aarch64 | aarch64_be \ 251876ff6feSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 252876ff6feSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 253876ff6feSmrg | am33_2.0 \ 254d41660beSmrg | arc | arceb \ 255d41660beSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 256d41660beSmrg | avr | avr32 \ 257d41660beSmrg | ba \ 258d41660beSmrg | be32 | be64 \ 259876ff6feSmrg | bfin \ 260d41660beSmrg | c4x | c8051 | clipper \ 261d41660beSmrg | d10v | d30v | dlx | dsp16xx | dvp \ 262d41660beSmrg | e2k | epiphany \ 263d41660beSmrg | fido | fr30 | frv | ft32 \ 264876ff6feSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 265d41660beSmrg | hexagon \ 266876ff6feSmrg | i370 | i860 | i960 | ia64 \ 267876ff6feSmrg | ip2k | iq2000 \ 268d41660beSmrg | k1om \ 269d41660beSmrg | le32 | le64 \ 270d41660beSmrg | lm32 \ 271d41660beSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 272d41660beSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 273876ff6feSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 274876ff6feSmrg | mips16 \ 275876ff6feSmrg | mips64 | mips64el \ 276d41660beSmrg | mips64octeon | mips64octeonel \ 277876ff6feSmrg | mips64orion | mips64orionel \ 278d41660beSmrg | mips64r5900 | mips64r5900el \ 279d41660beSmrg | mips64vr | mips64vrel \ 280876ff6feSmrg | mips64vr4100 | mips64vr4100el \ 281876ff6feSmrg | mips64vr4300 | mips64vr4300el \ 282876ff6feSmrg | mips64vr5000 | mips64vr5000el \ 283876ff6feSmrg | mips64vr5900 | mips64vr5900el \ 284876ff6feSmrg | mipsisa32 | mipsisa32el \ 285876ff6feSmrg | mipsisa32r2 | mipsisa32r2el \ 286d41660beSmrg | mipsisa32r6 | mipsisa32r6el \ 287876ff6feSmrg | mipsisa64 | mipsisa64el \ 288876ff6feSmrg | mipsisa64r2 | mipsisa64r2el \ 289d41660beSmrg | mipsisa64r6 | mipsisa64r6el \ 290876ff6feSmrg | mipsisa64sb1 | mipsisa64sb1el \ 291876ff6feSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 292d41660beSmrg | mipsr5900 | mipsr5900el \ 293876ff6feSmrg | mipstx39 | mipstx39el \ 294876ff6feSmrg | mn10200 | mn10300 \ 295d41660beSmrg | moxie \ 296d41660beSmrg | mt \ 297876ff6feSmrg | msp430 \ 298d41660beSmrg | nds32 | nds32le | nds32be \ 299d41660beSmrg | nios | nios2 | nios2eb | nios2el \ 300876ff6feSmrg | ns16k | ns32k \ 301d41660beSmrg | open8 | or1k | or1knd | or32 \ 302876ff6feSmrg | pdp10 | pdp11 | pj | pjl \ 303d41660beSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 304d41660beSmrg | pru \ 305876ff6feSmrg | pyramid \ 306d41660beSmrg | riscv32 | riscv64 \ 307d41660beSmrg | rl78 | rx \ 308d41660beSmrg | score \ 309d41660beSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 310876ff6feSmrg | sh64 | sh64le \ 311d41660beSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 312d41660beSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 313d41660beSmrg | spu \ 314d41660beSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 315d41660beSmrg | ubicom32 \ 316d41660beSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 317d41660beSmrg | visium \ 318876ff6feSmrg | we32k \ 319d41660beSmrg | x86 | xc16x | xstormy16 | xtensa \ 320d41660beSmrg | z8k | z80) 321876ff6feSmrg basic_machine=$basic_machine-unknown 322876ff6feSmrg ;; 323d41660beSmrg c54x) 324d41660beSmrg basic_machine=tic54x-unknown 325876ff6feSmrg ;; 326d41660beSmrg c55x) 327d41660beSmrg basic_machine=tic55x-unknown 328d41660beSmrg ;; 329d41660beSmrg c6x) 330d41660beSmrg basic_machine=tic6x-unknown 331d41660beSmrg ;; 332d41660beSmrg leon|leon[3-9]) 333d41660beSmrg basic_machine=sparc-$basic_machine 334d41660beSmrg ;; 335d41660beSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 336876ff6feSmrg basic_machine=$basic_machine-unknown 337876ff6feSmrg os=-none 338876ff6feSmrg ;; 339876ff6feSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 340876ff6feSmrg ;; 341d41660beSmrg ms1) 342d41660beSmrg basic_machine=mt-unknown 343d41660beSmrg ;; 344d41660beSmrg 345d41660beSmrg strongarm | thumb | xscale) 346d41660beSmrg basic_machine=arm-unknown 347d41660beSmrg ;; 348d41660beSmrg xgate) 349d41660beSmrg basic_machine=$basic_machine-unknown 350d41660beSmrg os=-none 351d41660beSmrg ;; 352d41660beSmrg xscaleeb) 353d41660beSmrg basic_machine=armeb-unknown 354d41660beSmrg ;; 355d41660beSmrg 356d41660beSmrg xscaleel) 357d41660beSmrg basic_machine=armel-unknown 358d41660beSmrg ;; 359876ff6feSmrg 360876ff6feSmrg # We use `pc' rather than `unknown' 361876ff6feSmrg # because (1) that's what they normally are, and 362876ff6feSmrg # (2) the word "unknown" tends to confuse beginning users. 363876ff6feSmrg i*86 | x86_64) 364876ff6feSmrg basic_machine=$basic_machine-pc 365876ff6feSmrg ;; 366876ff6feSmrg # Object if more than one company name word. 367876ff6feSmrg *-*-*) 368876ff6feSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 369876ff6feSmrg exit 1 370876ff6feSmrg ;; 371876ff6feSmrg # Recognize the basic CPU types with company name. 372876ff6feSmrg 580-* \ 373876ff6feSmrg | a29k-* \ 374d41660beSmrg | aarch64-* | aarch64_be-* \ 375876ff6feSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 376876ff6feSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 377d41660beSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 378876ff6feSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 379d41660beSmrg | avr-* | avr32-* \ 380d41660beSmrg | ba-* \ 381d41660beSmrg | be32-* | be64-* \ 382876ff6feSmrg | bfin-* | bs2000-* \ 383d41660beSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 384d41660beSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 385876ff6feSmrg | d10v-* | d30v-* | dlx-* \ 386d41660beSmrg | e2k-* | elxsi-* \ 387d41660beSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 388876ff6feSmrg | h8300-* | h8500-* \ 389876ff6feSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 390d41660beSmrg | hexagon-* \ 391876ff6feSmrg | i*86-* | i860-* | i960-* | ia64-* \ 392876ff6feSmrg | ip2k-* | iq2000-* \ 393d41660beSmrg | k1om-* \ 394d41660beSmrg | le32-* | le64-* \ 395d41660beSmrg | lm32-* \ 396d41660beSmrg | m32c-* | m32r-* | m32rle-* \ 397876ff6feSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 398d41660beSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 399d41660beSmrg | microblaze-* | microblazeel-* \ 400876ff6feSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 401876ff6feSmrg | mips16-* \ 402876ff6feSmrg | mips64-* | mips64el-* \ 403d41660beSmrg | mips64octeon-* | mips64octeonel-* \ 404876ff6feSmrg | mips64orion-* | mips64orionel-* \ 405d41660beSmrg | mips64r5900-* | mips64r5900el-* \ 406d41660beSmrg | mips64vr-* | mips64vrel-* \ 407876ff6feSmrg | mips64vr4100-* | mips64vr4100el-* \ 408876ff6feSmrg | mips64vr4300-* | mips64vr4300el-* \ 409876ff6feSmrg | mips64vr5000-* | mips64vr5000el-* \ 410876ff6feSmrg | mips64vr5900-* | mips64vr5900el-* \ 411876ff6feSmrg | mipsisa32-* | mipsisa32el-* \ 412876ff6feSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 413d41660beSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 414876ff6feSmrg | mipsisa64-* | mipsisa64el-* \ 415876ff6feSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 416d41660beSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 417876ff6feSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 418876ff6feSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 419d41660beSmrg | mipsr5900-* | mipsr5900el-* \ 420876ff6feSmrg | mipstx39-* | mipstx39el-* \ 421876ff6feSmrg | mmix-* \ 422d41660beSmrg | mt-* \ 423876ff6feSmrg | msp430-* \ 424d41660beSmrg | nds32-* | nds32le-* | nds32be-* \ 425d41660beSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 426876ff6feSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 427d41660beSmrg | open8-* \ 428d41660beSmrg | or1k*-* \ 429876ff6feSmrg | orion-* \ 430876ff6feSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 431d41660beSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 432d41660beSmrg | pru-* \ 433876ff6feSmrg | pyramid-* \ 434d41660beSmrg | riscv32-* | riscv64-* \ 435d41660beSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 436d41660beSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 437876ff6feSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 438d41660beSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 439876ff6feSmrg | sparclite-* \ 440d41660beSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 441d41660beSmrg | tahoe-* \ 442876ff6feSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 443d41660beSmrg | tile*-* \ 444876ff6feSmrg | tron-* \ 445d41660beSmrg | ubicom32-* \ 446d41660beSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 447d41660beSmrg | vax-* \ 448d41660beSmrg | visium-* \ 449876ff6feSmrg | we32k-* \ 450d41660beSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 451d41660beSmrg | xstormy16-* | xtensa*-* \ 452876ff6feSmrg | ymp-* \ 453d41660beSmrg | z8k-* | z80-*) 454876ff6feSmrg ;; 455d41660beSmrg # Recognize the basic CPU types without company name, with glob match. 456d41660beSmrg xtensa*) 457d41660beSmrg basic_machine=$basic_machine-unknown 458876ff6feSmrg ;; 459876ff6feSmrg # Recognize the various machine names and aliases which stand 460876ff6feSmrg # for a CPU type and a company and sometimes even an OS. 461876ff6feSmrg 386bsd) 462876ff6feSmrg basic_machine=i386-unknown 463876ff6feSmrg os=-bsd 464876ff6feSmrg ;; 465876ff6feSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 466876ff6feSmrg basic_machine=m68000-att 467876ff6feSmrg ;; 468876ff6feSmrg 3b*) 469876ff6feSmrg basic_machine=we32k-att 470876ff6feSmrg ;; 471876ff6feSmrg a29khif) 472876ff6feSmrg basic_machine=a29k-amd 473876ff6feSmrg os=-udi 474876ff6feSmrg ;; 475d41660beSmrg abacus) 476876ff6feSmrg basic_machine=abacus-unknown 477876ff6feSmrg ;; 478876ff6feSmrg adobe68k) 479876ff6feSmrg basic_machine=m68010-adobe 480876ff6feSmrg os=-scout 481876ff6feSmrg ;; 482876ff6feSmrg alliant | fx80) 483876ff6feSmrg basic_machine=fx80-alliant 484876ff6feSmrg ;; 485876ff6feSmrg altos | altos3068) 486876ff6feSmrg basic_machine=m68k-altos 487876ff6feSmrg ;; 488876ff6feSmrg am29k) 489876ff6feSmrg basic_machine=a29k-none 490876ff6feSmrg os=-bsd 491876ff6feSmrg ;; 492876ff6feSmrg amd64) 493876ff6feSmrg basic_machine=x86_64-pc 494876ff6feSmrg ;; 495876ff6feSmrg amd64-*) 496876ff6feSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 497876ff6feSmrg ;; 498876ff6feSmrg amdahl) 499876ff6feSmrg basic_machine=580-amdahl 500876ff6feSmrg os=-sysv 501876ff6feSmrg ;; 502876ff6feSmrg amiga | amiga-*) 503876ff6feSmrg basic_machine=m68k-unknown 504876ff6feSmrg ;; 505876ff6feSmrg amigaos | amigados) 506876ff6feSmrg basic_machine=m68k-unknown 507876ff6feSmrg os=-amigaos 508876ff6feSmrg ;; 509876ff6feSmrg amigaunix | amix) 510876ff6feSmrg basic_machine=m68k-unknown 511876ff6feSmrg os=-sysv4 512876ff6feSmrg ;; 513876ff6feSmrg apollo68) 514876ff6feSmrg basic_machine=m68k-apollo 515876ff6feSmrg os=-sysv 516876ff6feSmrg ;; 517876ff6feSmrg apollo68bsd) 518876ff6feSmrg basic_machine=m68k-apollo 519876ff6feSmrg os=-bsd 520876ff6feSmrg ;; 521d41660beSmrg aros) 522d41660beSmrg basic_machine=i386-pc 523d41660beSmrg os=-aros 524d41660beSmrg ;; 525d41660beSmrg asmjs) 526d41660beSmrg basic_machine=asmjs-unknown 527d41660beSmrg ;; 528876ff6feSmrg aux) 529876ff6feSmrg basic_machine=m68k-apple 530876ff6feSmrg os=-aux 531876ff6feSmrg ;; 532876ff6feSmrg balance) 533876ff6feSmrg basic_machine=ns32k-sequent 534876ff6feSmrg os=-dynix 535876ff6feSmrg ;; 536d41660beSmrg blackfin) 537d41660beSmrg basic_machine=bfin-unknown 538d41660beSmrg os=-linux 539d41660beSmrg ;; 540d41660beSmrg blackfin-*) 541d41660beSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 542d41660beSmrg os=-linux 543d41660beSmrg ;; 544d41660beSmrg bluegene*) 545d41660beSmrg basic_machine=powerpc-ibm 546d41660beSmrg os=-cnk 547d41660beSmrg ;; 548d41660beSmrg c54x-*) 549d41660beSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 550d41660beSmrg ;; 551d41660beSmrg c55x-*) 552d41660beSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 553d41660beSmrg ;; 554d41660beSmrg c6x-*) 555d41660beSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 556d41660beSmrg ;; 557876ff6feSmrg c90) 558876ff6feSmrg basic_machine=c90-cray 559876ff6feSmrg os=-unicos 560876ff6feSmrg ;; 561d41660beSmrg cegcc) 562d41660beSmrg basic_machine=arm-unknown 563d41660beSmrg os=-cegcc 564d41660beSmrg ;; 565876ff6feSmrg convex-c1) 566876ff6feSmrg basic_machine=c1-convex 567876ff6feSmrg os=-bsd 568876ff6feSmrg ;; 569876ff6feSmrg convex-c2) 570876ff6feSmrg basic_machine=c2-convex 571876ff6feSmrg os=-bsd 572876ff6feSmrg ;; 573876ff6feSmrg convex-c32) 574876ff6feSmrg basic_machine=c32-convex 575876ff6feSmrg os=-bsd 576876ff6feSmrg ;; 577876ff6feSmrg convex-c34) 578876ff6feSmrg basic_machine=c34-convex 579876ff6feSmrg os=-bsd 580876ff6feSmrg ;; 581876ff6feSmrg convex-c38) 582876ff6feSmrg basic_machine=c38-convex 583876ff6feSmrg os=-bsd 584876ff6feSmrg ;; 585876ff6feSmrg cray | j90) 586876ff6feSmrg basic_machine=j90-cray 587876ff6feSmrg os=-unicos 588876ff6feSmrg ;; 589876ff6feSmrg craynv) 590876ff6feSmrg basic_machine=craynv-cray 591876ff6feSmrg os=-unicosmp 592876ff6feSmrg ;; 593d41660beSmrg cr16 | cr16-*) 594d41660beSmrg basic_machine=cr16-unknown 595876ff6feSmrg os=-elf 596876ff6feSmrg ;; 597876ff6feSmrg crds | unos) 598876ff6feSmrg basic_machine=m68k-crds 599876ff6feSmrg ;; 600876ff6feSmrg crisv32 | crisv32-* | etraxfs*) 601876ff6feSmrg basic_machine=crisv32-axis 602876ff6feSmrg ;; 603876ff6feSmrg cris | cris-* | etrax*) 604876ff6feSmrg basic_machine=cris-axis 605876ff6feSmrg ;; 606876ff6feSmrg crx) 607876ff6feSmrg basic_machine=crx-unknown 608876ff6feSmrg os=-elf 609876ff6feSmrg ;; 610876ff6feSmrg da30 | da30-*) 611876ff6feSmrg basic_machine=m68k-da30 612876ff6feSmrg ;; 613876ff6feSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 614876ff6feSmrg basic_machine=mips-dec 615876ff6feSmrg ;; 616876ff6feSmrg decsystem10* | dec10*) 617876ff6feSmrg basic_machine=pdp10-dec 618876ff6feSmrg os=-tops10 619876ff6feSmrg ;; 620876ff6feSmrg decsystem20* | dec20*) 621876ff6feSmrg basic_machine=pdp10-dec 622876ff6feSmrg os=-tops20 623876ff6feSmrg ;; 624876ff6feSmrg delta | 3300 | motorola-3300 | motorola-delta \ 625876ff6feSmrg | 3300-motorola | delta-motorola) 626876ff6feSmrg basic_machine=m68k-motorola 627876ff6feSmrg ;; 628876ff6feSmrg delta88) 629876ff6feSmrg basic_machine=m88k-motorola 630876ff6feSmrg os=-sysv3 631876ff6feSmrg ;; 632d41660beSmrg dicos) 633d41660beSmrg basic_machine=i686-pc 634d41660beSmrg os=-dicos 635d41660beSmrg ;; 636876ff6feSmrg djgpp) 637876ff6feSmrg basic_machine=i586-pc 638876ff6feSmrg os=-msdosdjgpp 639876ff6feSmrg ;; 640876ff6feSmrg dpx20 | dpx20-*) 641876ff6feSmrg basic_machine=rs6000-bull 642876ff6feSmrg os=-bosx 643876ff6feSmrg ;; 644876ff6feSmrg dpx2* | dpx2*-bull) 645876ff6feSmrg basic_machine=m68k-bull 646876ff6feSmrg os=-sysv3 647876ff6feSmrg ;; 648d41660beSmrg e500v[12]) 649d41660beSmrg basic_machine=powerpc-unknown 650d41660beSmrg os=$os"spe" 651d41660beSmrg ;; 652d41660beSmrg e500v[12]-*) 653d41660beSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 654d41660beSmrg os=$os"spe" 655d41660beSmrg ;; 656876ff6feSmrg ebmon29k) 657876ff6feSmrg basic_machine=a29k-amd 658876ff6feSmrg os=-ebmon 659876ff6feSmrg ;; 660876ff6feSmrg elxsi) 661876ff6feSmrg basic_machine=elxsi-elxsi 662876ff6feSmrg os=-bsd 663876ff6feSmrg ;; 664876ff6feSmrg encore | umax | mmax) 665876ff6feSmrg basic_machine=ns32k-encore 666876ff6feSmrg ;; 667876ff6feSmrg es1800 | OSE68k | ose68k | ose | OSE) 668876ff6feSmrg basic_machine=m68k-ericsson 669876ff6feSmrg os=-ose 670876ff6feSmrg ;; 671876ff6feSmrg fx2800) 672876ff6feSmrg basic_machine=i860-alliant 673876ff6feSmrg ;; 674876ff6feSmrg genix) 675876ff6feSmrg basic_machine=ns32k-ns 676876ff6feSmrg ;; 677876ff6feSmrg gmicro) 678876ff6feSmrg basic_machine=tron-gmicro 679876ff6feSmrg os=-sysv 680876ff6feSmrg ;; 681876ff6feSmrg go32) 682876ff6feSmrg basic_machine=i386-pc 683876ff6feSmrg os=-go32 684876ff6feSmrg ;; 685876ff6feSmrg h3050r* | hiux*) 686876ff6feSmrg basic_machine=hppa1.1-hitachi 687876ff6feSmrg os=-hiuxwe2 688876ff6feSmrg ;; 689876ff6feSmrg h8300hms) 690876ff6feSmrg basic_machine=h8300-hitachi 691876ff6feSmrg os=-hms 692876ff6feSmrg ;; 693876ff6feSmrg h8300xray) 694876ff6feSmrg basic_machine=h8300-hitachi 695876ff6feSmrg os=-xray 696876ff6feSmrg ;; 697876ff6feSmrg h8500hms) 698876ff6feSmrg basic_machine=h8500-hitachi 699876ff6feSmrg os=-hms 700876ff6feSmrg ;; 701876ff6feSmrg harris) 702876ff6feSmrg basic_machine=m88k-harris 703876ff6feSmrg os=-sysv3 704876ff6feSmrg ;; 705876ff6feSmrg hp300-*) 706876ff6feSmrg basic_machine=m68k-hp 707876ff6feSmrg ;; 708876ff6feSmrg hp300bsd) 709876ff6feSmrg basic_machine=m68k-hp 710876ff6feSmrg os=-bsd 711876ff6feSmrg ;; 712876ff6feSmrg hp300hpux) 713876ff6feSmrg basic_machine=m68k-hp 714876ff6feSmrg os=-hpux 715876ff6feSmrg ;; 716876ff6feSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 717876ff6feSmrg basic_machine=hppa1.0-hp 718876ff6feSmrg ;; 719876ff6feSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 720876ff6feSmrg basic_machine=m68000-hp 721876ff6feSmrg ;; 722876ff6feSmrg hp9k3[2-9][0-9]) 723876ff6feSmrg basic_machine=m68k-hp 724876ff6feSmrg ;; 725876ff6feSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 726876ff6feSmrg basic_machine=hppa1.0-hp 727876ff6feSmrg ;; 728876ff6feSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 729876ff6feSmrg basic_machine=hppa1.1-hp 730876ff6feSmrg ;; 731876ff6feSmrg hp9k78[0-9] | hp78[0-9]) 732876ff6feSmrg # FIXME: really hppa2.0-hp 733876ff6feSmrg basic_machine=hppa1.1-hp 734876ff6feSmrg ;; 735876ff6feSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 736876ff6feSmrg # FIXME: really hppa2.0-hp 737876ff6feSmrg basic_machine=hppa1.1-hp 738876ff6feSmrg ;; 739876ff6feSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 740876ff6feSmrg basic_machine=hppa1.1-hp 741876ff6feSmrg ;; 742876ff6feSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 743876ff6feSmrg basic_machine=hppa1.0-hp 744876ff6feSmrg ;; 745876ff6feSmrg hppa-next) 746876ff6feSmrg os=-nextstep3 747876ff6feSmrg ;; 748876ff6feSmrg hppaosf) 749876ff6feSmrg basic_machine=hppa1.1-hp 750876ff6feSmrg os=-osf 751876ff6feSmrg ;; 752876ff6feSmrg hppro) 753876ff6feSmrg basic_machine=hppa1.1-hp 754876ff6feSmrg os=-proelf 755876ff6feSmrg ;; 756876ff6feSmrg i370-ibm* | ibm*) 757876ff6feSmrg basic_machine=i370-ibm 758876ff6feSmrg ;; 759876ff6feSmrg i*86v32) 760876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 761876ff6feSmrg os=-sysv32 762876ff6feSmrg ;; 763876ff6feSmrg i*86v4*) 764876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 765876ff6feSmrg os=-sysv4 766876ff6feSmrg ;; 767876ff6feSmrg i*86v) 768876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 769876ff6feSmrg os=-sysv 770876ff6feSmrg ;; 771876ff6feSmrg i*86sol2) 772876ff6feSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 773876ff6feSmrg os=-solaris2 774876ff6feSmrg ;; 775876ff6feSmrg i386mach) 776876ff6feSmrg basic_machine=i386-mach 777876ff6feSmrg os=-mach 778876ff6feSmrg ;; 779876ff6feSmrg i386-vsta | vsta) 780876ff6feSmrg basic_machine=i386-unknown 781876ff6feSmrg os=-vsta 782876ff6feSmrg ;; 783876ff6feSmrg iris | iris4d) 784876ff6feSmrg basic_machine=mips-sgi 785876ff6feSmrg case $os in 786876ff6feSmrg -irix*) 787876ff6feSmrg ;; 788876ff6feSmrg *) 789876ff6feSmrg os=-irix4 790876ff6feSmrg ;; 791876ff6feSmrg esac 792876ff6feSmrg ;; 793876ff6feSmrg isi68 | isi) 794876ff6feSmrg basic_machine=m68k-isi 795876ff6feSmrg os=-sysv 796876ff6feSmrg ;; 797d41660beSmrg leon-*|leon[3-9]-*) 798d41660beSmrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 799d41660beSmrg ;; 800d41660beSmrg m68knommu) 801d41660beSmrg basic_machine=m68k-unknown 802d41660beSmrg os=-linux 803d41660beSmrg ;; 804d41660beSmrg m68knommu-*) 805d41660beSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 806d41660beSmrg os=-linux 807d41660beSmrg ;; 808876ff6feSmrg m88k-omron*) 809876ff6feSmrg basic_machine=m88k-omron 810876ff6feSmrg ;; 811876ff6feSmrg magnum | m3230) 812876ff6feSmrg basic_machine=mips-mips 813876ff6feSmrg os=-sysv 814876ff6feSmrg ;; 815876ff6feSmrg merlin) 816876ff6feSmrg basic_machine=ns32k-utek 817876ff6feSmrg os=-sysv 818876ff6feSmrg ;; 819d41660beSmrg microblaze*) 820d41660beSmrg basic_machine=microblaze-xilinx 821d41660beSmrg ;; 822d41660beSmrg mingw64) 823d41660beSmrg basic_machine=x86_64-pc 824d41660beSmrg os=-mingw64 825d41660beSmrg ;; 826876ff6feSmrg mingw32) 827d41660beSmrg basic_machine=i686-pc 828876ff6feSmrg os=-mingw32 829876ff6feSmrg ;; 830d41660beSmrg mingw32ce) 831d41660beSmrg basic_machine=arm-unknown 832d41660beSmrg os=-mingw32ce 833d41660beSmrg ;; 834876ff6feSmrg miniframe) 835876ff6feSmrg basic_machine=m68000-convergent 836876ff6feSmrg ;; 837876ff6feSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 838876ff6feSmrg basic_machine=m68k-atari 839876ff6feSmrg os=-mint 840876ff6feSmrg ;; 841d41660beSmrg mipsEE* | ee | ps2) 842d41660beSmrg basic_machine=mips64r5900el-scei 843d41660beSmrg case $os in 844d41660beSmrg -linux*) 845d41660beSmrg ;; 846d41660beSmrg *) 847d41660beSmrg os=-elf 848d41660beSmrg ;; 849d41660beSmrg esac 850d41660beSmrg ;; 851d41660beSmrg iop) 852d41660beSmrg basic_machine=mipsel-scei 853d41660beSmrg os=-irx 854d41660beSmrg ;; 855d41660beSmrg dvp) 856d41660beSmrg basic_machine=dvp-scei 857d41660beSmrg os=-elf 858d41660beSmrg ;; 859876ff6feSmrg mips3*-*) 860876ff6feSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 861876ff6feSmrg ;; 862876ff6feSmrg mips3*) 863876ff6feSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 864876ff6feSmrg ;; 865876ff6feSmrg monitor) 866876ff6feSmrg basic_machine=m68k-rom68k 867876ff6feSmrg os=-coff 868876ff6feSmrg ;; 869876ff6feSmrg morphos) 870876ff6feSmrg basic_machine=powerpc-unknown 871876ff6feSmrg os=-morphos 872876ff6feSmrg ;; 873d41660beSmrg moxiebox) 874d41660beSmrg basic_machine=moxie-unknown 875d41660beSmrg os=-moxiebox 876d41660beSmrg ;; 877876ff6feSmrg msdos) 878876ff6feSmrg basic_machine=i386-pc 879876ff6feSmrg os=-msdos 880876ff6feSmrg ;; 881d41660beSmrg ms1-*) 882d41660beSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 883d41660beSmrg ;; 884d41660beSmrg msys) 885d41660beSmrg basic_machine=i686-pc 886d41660beSmrg os=-msys 887d41660beSmrg ;; 888876ff6feSmrg mvs) 889876ff6feSmrg basic_machine=i370-ibm 890876ff6feSmrg os=-mvs 891876ff6feSmrg ;; 892d41660beSmrg nacl) 893d41660beSmrg basic_machine=le32-unknown 894d41660beSmrg os=-nacl 895d41660beSmrg ;; 896876ff6feSmrg ncr3000) 897876ff6feSmrg basic_machine=i486-ncr 898876ff6feSmrg os=-sysv4 899876ff6feSmrg ;; 900876ff6feSmrg netbsd386) 901876ff6feSmrg basic_machine=i386-unknown 902876ff6feSmrg os=-netbsd 903876ff6feSmrg ;; 904876ff6feSmrg netwinder) 905876ff6feSmrg basic_machine=armv4l-rebel 906876ff6feSmrg os=-linux 907876ff6feSmrg ;; 908876ff6feSmrg news | news700 | news800 | news900) 909876ff6feSmrg basic_machine=m68k-sony 910876ff6feSmrg os=-newsos 911876ff6feSmrg ;; 912876ff6feSmrg news1000) 913876ff6feSmrg basic_machine=m68030-sony 914876ff6feSmrg os=-newsos 915876ff6feSmrg ;; 916876ff6feSmrg news-3600 | risc-news) 917876ff6feSmrg basic_machine=mips-sony 918876ff6feSmrg os=-newsos 919876ff6feSmrg ;; 920876ff6feSmrg necv70) 921876ff6feSmrg basic_machine=v70-nec 922876ff6feSmrg os=-sysv 923876ff6feSmrg ;; 924876ff6feSmrg next | m*-next ) 925876ff6feSmrg basic_machine=m68k-next 926876ff6feSmrg case $os in 927876ff6feSmrg -nextstep* ) 928876ff6feSmrg ;; 929876ff6feSmrg -ns2*) 930876ff6feSmrg os=-nextstep2 931876ff6feSmrg ;; 932876ff6feSmrg *) 933876ff6feSmrg os=-nextstep3 934876ff6feSmrg ;; 935876ff6feSmrg esac 936876ff6feSmrg ;; 937876ff6feSmrg nh3000) 938876ff6feSmrg basic_machine=m68k-harris 939876ff6feSmrg os=-cxux 940876ff6feSmrg ;; 941876ff6feSmrg nh[45]000) 942876ff6feSmrg basic_machine=m88k-harris 943876ff6feSmrg os=-cxux 944876ff6feSmrg ;; 945876ff6feSmrg nindy960) 946876ff6feSmrg basic_machine=i960-intel 947876ff6feSmrg os=-nindy 948876ff6feSmrg ;; 949876ff6feSmrg mon960) 950876ff6feSmrg basic_machine=i960-intel 951876ff6feSmrg os=-mon960 952876ff6feSmrg ;; 953876ff6feSmrg nonstopux) 954876ff6feSmrg basic_machine=mips-compaq 955876ff6feSmrg os=-nonstopux 956876ff6feSmrg ;; 957876ff6feSmrg np1) 958876ff6feSmrg basic_machine=np1-gould 959876ff6feSmrg ;; 960d41660beSmrg neo-tandem) 961d41660beSmrg basic_machine=neo-tandem 962d41660beSmrg ;; 963d41660beSmrg nse-tandem) 964d41660beSmrg basic_machine=nse-tandem 965d41660beSmrg ;; 966876ff6feSmrg nsr-tandem) 967876ff6feSmrg basic_machine=nsr-tandem 968876ff6feSmrg ;; 969876ff6feSmrg op50n-* | op60c-*) 970876ff6feSmrg basic_machine=hppa1.1-oki 971876ff6feSmrg os=-proelf 972876ff6feSmrg ;; 973876ff6feSmrg openrisc | openrisc-*) 974876ff6feSmrg basic_machine=or32-unknown 975876ff6feSmrg ;; 976876ff6feSmrg os400) 977876ff6feSmrg basic_machine=powerpc-ibm 978876ff6feSmrg os=-os400 979876ff6feSmrg ;; 980876ff6feSmrg OSE68000 | ose68000) 981876ff6feSmrg basic_machine=m68000-ericsson 982876ff6feSmrg os=-ose 983876ff6feSmrg ;; 984876ff6feSmrg os68k) 985876ff6feSmrg basic_machine=m68k-none 986876ff6feSmrg os=-os68k 987876ff6feSmrg ;; 988876ff6feSmrg pa-hitachi) 989876ff6feSmrg basic_machine=hppa1.1-hitachi 990876ff6feSmrg os=-hiuxwe2 991876ff6feSmrg ;; 992876ff6feSmrg paragon) 993876ff6feSmrg basic_machine=i860-intel 994876ff6feSmrg os=-osf 995876ff6feSmrg ;; 996d41660beSmrg parisc) 997d41660beSmrg basic_machine=hppa-unknown 998d41660beSmrg os=-linux 999d41660beSmrg ;; 1000d41660beSmrg parisc-*) 1001d41660beSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 1002d41660beSmrg os=-linux 1003d41660beSmrg ;; 1004876ff6feSmrg pbd) 1005876ff6feSmrg basic_machine=sparc-tti 1006876ff6feSmrg ;; 1007876ff6feSmrg pbb) 1008876ff6feSmrg basic_machine=m68k-tti 1009876ff6feSmrg ;; 1010876ff6feSmrg pc532 | pc532-*) 1011876ff6feSmrg basic_machine=ns32k-pc532 1012876ff6feSmrg ;; 1013d41660beSmrg pc98) 1014d41660beSmrg basic_machine=i386-pc 1015d41660beSmrg ;; 1016d41660beSmrg pc98-*) 1017d41660beSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 1018d41660beSmrg ;; 1019876ff6feSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1020876ff6feSmrg basic_machine=i586-pc 1021876ff6feSmrg ;; 1022876ff6feSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1023876ff6feSmrg basic_machine=i686-pc 1024876ff6feSmrg ;; 1025876ff6feSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1026876ff6feSmrg basic_machine=i686-pc 1027876ff6feSmrg ;; 1028876ff6feSmrg pentium4) 1029876ff6feSmrg basic_machine=i786-pc 1030876ff6feSmrg ;; 1031876ff6feSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1032876ff6feSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1033876ff6feSmrg ;; 1034876ff6feSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1035876ff6feSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1036876ff6feSmrg ;; 1037876ff6feSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1038876ff6feSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1039876ff6feSmrg ;; 1040876ff6feSmrg pentium4-*) 1041876ff6feSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1042876ff6feSmrg ;; 1043876ff6feSmrg pn) 1044876ff6feSmrg basic_machine=pn-gould 1045876ff6feSmrg ;; 1046876ff6feSmrg power) basic_machine=power-ibm 1047876ff6feSmrg ;; 1048d41660beSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1049876ff6feSmrg ;; 1050d41660beSmrg ppc-* | ppcbe-*) 1051d41660beSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1052876ff6feSmrg ;; 1053d41660beSmrg ppcle | powerpclittle) 1054876ff6feSmrg basic_machine=powerpcle-unknown 1055876ff6feSmrg ;; 1056876ff6feSmrg ppcle-* | powerpclittle-*) 1057876ff6feSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1058876ff6feSmrg ;; 1059876ff6feSmrg ppc64) basic_machine=powerpc64-unknown 1060876ff6feSmrg ;; 1061876ff6feSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1062876ff6feSmrg ;; 1063d41660beSmrg ppc64le | powerpc64little) 1064876ff6feSmrg basic_machine=powerpc64le-unknown 1065876ff6feSmrg ;; 1066876ff6feSmrg ppc64le-* | powerpc64little-*) 1067876ff6feSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1068876ff6feSmrg ;; 1069876ff6feSmrg ps2) 1070876ff6feSmrg basic_machine=i386-ibm 1071876ff6feSmrg ;; 1072876ff6feSmrg pw32) 1073876ff6feSmrg basic_machine=i586-unknown 1074876ff6feSmrg os=-pw32 1075876ff6feSmrg ;; 1076d41660beSmrg rdos | rdos64) 1077d41660beSmrg basic_machine=x86_64-pc 1078d41660beSmrg os=-rdos 1079d41660beSmrg ;; 1080d41660beSmrg rdos32) 1081d41660beSmrg basic_machine=i386-pc 1082d41660beSmrg os=-rdos 1083d41660beSmrg ;; 1084876ff6feSmrg rom68k) 1085876ff6feSmrg basic_machine=m68k-rom68k 1086876ff6feSmrg os=-coff 1087876ff6feSmrg ;; 1088876ff6feSmrg rm[46]00) 1089876ff6feSmrg basic_machine=mips-siemens 1090876ff6feSmrg ;; 1091876ff6feSmrg rtpc | rtpc-*) 1092876ff6feSmrg basic_machine=romp-ibm 1093876ff6feSmrg ;; 1094876ff6feSmrg s390 | s390-*) 1095876ff6feSmrg basic_machine=s390-ibm 1096876ff6feSmrg ;; 1097876ff6feSmrg s390x | s390x-*) 1098876ff6feSmrg basic_machine=s390x-ibm 1099876ff6feSmrg ;; 1100876ff6feSmrg sa29200) 1101876ff6feSmrg basic_machine=a29k-amd 1102876ff6feSmrg os=-udi 1103876ff6feSmrg ;; 1104876ff6feSmrg sb1) 1105876ff6feSmrg basic_machine=mipsisa64sb1-unknown 1106876ff6feSmrg ;; 1107876ff6feSmrg sb1el) 1108876ff6feSmrg basic_machine=mipsisa64sb1el-unknown 1109876ff6feSmrg ;; 1110d41660beSmrg sde) 1111d41660beSmrg basic_machine=mipsisa32-sde 1112d41660beSmrg os=-elf 1113d41660beSmrg ;; 1114876ff6feSmrg sei) 1115876ff6feSmrg basic_machine=mips-sei 1116876ff6feSmrg os=-seiux 1117876ff6feSmrg ;; 1118876ff6feSmrg sequent) 1119876ff6feSmrg basic_machine=i386-sequent 1120876ff6feSmrg ;; 1121876ff6feSmrg sh) 1122876ff6feSmrg basic_machine=sh-hitachi 1123876ff6feSmrg os=-hms 1124876ff6feSmrg ;; 1125d41660beSmrg sh5el) 1126d41660beSmrg basic_machine=sh5le-unknown 1127d41660beSmrg ;; 1128876ff6feSmrg sh64) 1129876ff6feSmrg basic_machine=sh64-unknown 1130876ff6feSmrg ;; 1131876ff6feSmrg sparclite-wrs | simso-wrs) 1132876ff6feSmrg basic_machine=sparclite-wrs 1133876ff6feSmrg os=-vxworks 1134876ff6feSmrg ;; 1135876ff6feSmrg sps7) 1136876ff6feSmrg basic_machine=m68k-bull 1137876ff6feSmrg os=-sysv2 1138876ff6feSmrg ;; 1139876ff6feSmrg spur) 1140876ff6feSmrg basic_machine=spur-unknown 1141876ff6feSmrg ;; 1142876ff6feSmrg st2000) 1143876ff6feSmrg basic_machine=m68k-tandem 1144876ff6feSmrg ;; 1145876ff6feSmrg stratus) 1146876ff6feSmrg basic_machine=i860-stratus 1147876ff6feSmrg os=-sysv4 1148876ff6feSmrg ;; 1149d41660beSmrg strongarm-* | thumb-*) 1150d41660beSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1151d41660beSmrg ;; 1152876ff6feSmrg sun2) 1153876ff6feSmrg basic_machine=m68000-sun 1154876ff6feSmrg ;; 1155876ff6feSmrg sun2os3) 1156876ff6feSmrg basic_machine=m68000-sun 1157876ff6feSmrg os=-sunos3 1158876ff6feSmrg ;; 1159876ff6feSmrg sun2os4) 1160876ff6feSmrg basic_machine=m68000-sun 1161876ff6feSmrg os=-sunos4 1162876ff6feSmrg ;; 1163876ff6feSmrg sun3os3) 1164876ff6feSmrg basic_machine=m68k-sun 1165876ff6feSmrg os=-sunos3 1166876ff6feSmrg ;; 1167876ff6feSmrg sun3os4) 1168876ff6feSmrg basic_machine=m68k-sun 1169876ff6feSmrg os=-sunos4 1170876ff6feSmrg ;; 1171876ff6feSmrg sun4os3) 1172876ff6feSmrg basic_machine=sparc-sun 1173876ff6feSmrg os=-sunos3 1174876ff6feSmrg ;; 1175876ff6feSmrg sun4os4) 1176876ff6feSmrg basic_machine=sparc-sun 1177876ff6feSmrg os=-sunos4 1178876ff6feSmrg ;; 1179876ff6feSmrg sun4sol2) 1180876ff6feSmrg basic_machine=sparc-sun 1181876ff6feSmrg os=-solaris2 1182876ff6feSmrg ;; 1183876ff6feSmrg sun3 | sun3-*) 1184876ff6feSmrg basic_machine=m68k-sun 1185876ff6feSmrg ;; 1186876ff6feSmrg sun4) 1187876ff6feSmrg basic_machine=sparc-sun 1188876ff6feSmrg ;; 1189876ff6feSmrg sun386 | sun386i | roadrunner) 1190876ff6feSmrg basic_machine=i386-sun 1191876ff6feSmrg ;; 1192876ff6feSmrg sv1) 1193876ff6feSmrg basic_machine=sv1-cray 1194876ff6feSmrg os=-unicos 1195876ff6feSmrg ;; 1196876ff6feSmrg symmetry) 1197876ff6feSmrg basic_machine=i386-sequent 1198876ff6feSmrg os=-dynix 1199876ff6feSmrg ;; 1200876ff6feSmrg t3e) 1201876ff6feSmrg basic_machine=alphaev5-cray 1202876ff6feSmrg os=-unicos 1203876ff6feSmrg ;; 1204876ff6feSmrg t90) 1205876ff6feSmrg basic_machine=t90-cray 1206876ff6feSmrg os=-unicos 1207876ff6feSmrg ;; 1208d41660beSmrg tile*) 1209d41660beSmrg basic_machine=$basic_machine-unknown 1210d41660beSmrg os=-linux-gnu 1211876ff6feSmrg ;; 1212876ff6feSmrg tx39) 1213876ff6feSmrg basic_machine=mipstx39-unknown 1214876ff6feSmrg ;; 1215876ff6feSmrg tx39el) 1216876ff6feSmrg basic_machine=mipstx39el-unknown 1217876ff6feSmrg ;; 1218876ff6feSmrg toad1) 1219876ff6feSmrg basic_machine=pdp10-xkl 1220876ff6feSmrg os=-tops20 1221876ff6feSmrg ;; 1222876ff6feSmrg tower | tower-32) 1223876ff6feSmrg basic_machine=m68k-ncr 1224876ff6feSmrg ;; 1225876ff6feSmrg tpf) 1226876ff6feSmrg basic_machine=s390x-ibm 1227876ff6feSmrg os=-tpf 1228876ff6feSmrg ;; 1229876ff6feSmrg udi29k) 1230876ff6feSmrg basic_machine=a29k-amd 1231876ff6feSmrg os=-udi 1232876ff6feSmrg ;; 1233876ff6feSmrg ultra3) 1234876ff6feSmrg basic_machine=a29k-nyu 1235876ff6feSmrg os=-sym1 1236876ff6feSmrg ;; 1237876ff6feSmrg v810 | necv810) 1238876ff6feSmrg basic_machine=v810-nec 1239876ff6feSmrg os=-none 1240876ff6feSmrg ;; 1241876ff6feSmrg vaxv) 1242876ff6feSmrg basic_machine=vax-dec 1243876ff6feSmrg os=-sysv 1244876ff6feSmrg ;; 1245876ff6feSmrg vms) 1246876ff6feSmrg basic_machine=vax-dec 1247876ff6feSmrg os=-vms 1248876ff6feSmrg ;; 1249876ff6feSmrg vpp*|vx|vx-*) 1250876ff6feSmrg basic_machine=f301-fujitsu 1251876ff6feSmrg ;; 1252876ff6feSmrg vxworks960) 1253876ff6feSmrg basic_machine=i960-wrs 1254876ff6feSmrg os=-vxworks 1255876ff6feSmrg ;; 1256876ff6feSmrg vxworks68) 1257876ff6feSmrg basic_machine=m68k-wrs 1258876ff6feSmrg os=-vxworks 1259876ff6feSmrg ;; 1260876ff6feSmrg vxworks29k) 1261876ff6feSmrg basic_machine=a29k-wrs 1262876ff6feSmrg os=-vxworks 1263876ff6feSmrg ;; 1264876ff6feSmrg w65*) 1265876ff6feSmrg basic_machine=w65-wdc 1266876ff6feSmrg os=-none 1267876ff6feSmrg ;; 1268876ff6feSmrg w89k-*) 1269876ff6feSmrg basic_machine=hppa1.1-winbond 1270876ff6feSmrg os=-proelf 1271876ff6feSmrg ;; 1272876ff6feSmrg xbox) 1273876ff6feSmrg basic_machine=i686-pc 1274876ff6feSmrg os=-mingw32 1275876ff6feSmrg ;; 1276876ff6feSmrg xps | xps100) 1277876ff6feSmrg basic_machine=xps100-honeywell 1278876ff6feSmrg ;; 1279d41660beSmrg xscale-* | xscalee[bl]-*) 1280d41660beSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1281d41660beSmrg ;; 1282876ff6feSmrg ymp) 1283876ff6feSmrg basic_machine=ymp-cray 1284876ff6feSmrg os=-unicos 1285876ff6feSmrg ;; 1286876ff6feSmrg z8k-*-coff) 1287876ff6feSmrg basic_machine=z8k-unknown 1288876ff6feSmrg os=-sim 1289876ff6feSmrg ;; 1290d41660beSmrg z80-*-coff) 1291d41660beSmrg basic_machine=z80-unknown 1292d41660beSmrg os=-sim 1293d41660beSmrg ;; 1294876ff6feSmrg none) 1295876ff6feSmrg basic_machine=none-none 1296876ff6feSmrg os=-none 1297876ff6feSmrg ;; 1298876ff6feSmrg 1299876ff6feSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1300876ff6feSmrg# some cases the only manufacturer, in others, it is the most popular. 1301876ff6feSmrg w89k) 1302876ff6feSmrg basic_machine=hppa1.1-winbond 1303876ff6feSmrg ;; 1304876ff6feSmrg op50n) 1305876ff6feSmrg basic_machine=hppa1.1-oki 1306876ff6feSmrg ;; 1307876ff6feSmrg op60c) 1308876ff6feSmrg basic_machine=hppa1.1-oki 1309876ff6feSmrg ;; 1310876ff6feSmrg romp) 1311876ff6feSmrg basic_machine=romp-ibm 1312876ff6feSmrg ;; 1313876ff6feSmrg mmix) 1314876ff6feSmrg basic_machine=mmix-knuth 1315876ff6feSmrg ;; 1316876ff6feSmrg rs6000) 1317876ff6feSmrg basic_machine=rs6000-ibm 1318876ff6feSmrg ;; 1319876ff6feSmrg vax) 1320876ff6feSmrg basic_machine=vax-dec 1321876ff6feSmrg ;; 1322876ff6feSmrg pdp10) 1323876ff6feSmrg # there are many clones, so DEC is not a safe bet 1324876ff6feSmrg basic_machine=pdp10-unknown 1325876ff6feSmrg ;; 1326876ff6feSmrg pdp11) 1327876ff6feSmrg basic_machine=pdp11-dec 1328876ff6feSmrg ;; 1329876ff6feSmrg we32k) 1330876ff6feSmrg basic_machine=we32k-att 1331876ff6feSmrg ;; 1332d41660beSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1333876ff6feSmrg basic_machine=sh-unknown 1334876ff6feSmrg ;; 1335d41660beSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1336876ff6feSmrg basic_machine=sparc-sun 1337876ff6feSmrg ;; 1338876ff6feSmrg cydra) 1339876ff6feSmrg basic_machine=cydra-cydrome 1340876ff6feSmrg ;; 1341876ff6feSmrg orion) 1342876ff6feSmrg basic_machine=orion-highlevel 1343876ff6feSmrg ;; 1344876ff6feSmrg orion105) 1345876ff6feSmrg basic_machine=clipper-highlevel 1346876ff6feSmrg ;; 1347876ff6feSmrg mac | mpw | mac-mpw) 1348876ff6feSmrg basic_machine=m68k-apple 1349876ff6feSmrg ;; 1350876ff6feSmrg pmac | pmac-mpw) 1351876ff6feSmrg basic_machine=powerpc-apple 1352876ff6feSmrg ;; 1353876ff6feSmrg *-unknown) 1354876ff6feSmrg # Make sure to match an already-canonicalized machine name. 1355876ff6feSmrg ;; 1356876ff6feSmrg *) 1357876ff6feSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1358876ff6feSmrg exit 1 1359876ff6feSmrg ;; 1360876ff6feSmrgesac 1361876ff6feSmrg 1362876ff6feSmrg# Here we canonicalize certain aliases for manufacturers. 1363876ff6feSmrgcase $basic_machine in 1364876ff6feSmrg *-digital*) 1365876ff6feSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1366876ff6feSmrg ;; 1367876ff6feSmrg *-commodore*) 1368876ff6feSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1369876ff6feSmrg ;; 1370876ff6feSmrg *) 1371876ff6feSmrg ;; 1372876ff6feSmrgesac 1373876ff6feSmrg 1374876ff6feSmrg# Decode manufacturer-specific aliases for certain operating systems. 1375876ff6feSmrg 1376876ff6feSmrgif [ x"$os" != x"" ] 1377876ff6feSmrgthen 1378876ff6feSmrgcase $os in 1379d41660beSmrg # First match some system type aliases 1380d41660beSmrg # that might get confused with valid system types. 1381876ff6feSmrg # -solaris* is a basic system type, with this one exception. 1382d41660beSmrg -auroraux) 1383d41660beSmrg os=-auroraux 1384d41660beSmrg ;; 1385876ff6feSmrg -solaris1 | -solaris1.*) 1386876ff6feSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1387876ff6feSmrg ;; 1388876ff6feSmrg -solaris) 1389876ff6feSmrg os=-solaris2 1390876ff6feSmrg ;; 1391876ff6feSmrg -svr4*) 1392876ff6feSmrg os=-sysv4 1393876ff6feSmrg ;; 1394876ff6feSmrg -unixware*) 1395876ff6feSmrg os=-sysv4.2uw 1396876ff6feSmrg ;; 1397876ff6feSmrg -gnu/linux*) 1398876ff6feSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1399876ff6feSmrg ;; 1400876ff6feSmrg # First accept the basic system types. 1401876ff6feSmrg # The portable systems comes first. 1402876ff6feSmrg # Each alternative MUST END IN A *, to match a version number. 1403876ff6feSmrg # -sysv* is not here because it comes later, after sysvr4. 1404876ff6feSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1405d41660beSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1406d41660beSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1407d41660beSmrg | -sym* | -kopensolaris* | -plan9* \ 1408876ff6feSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1409d41660beSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1410876ff6feSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1411876ff6feSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1412d41660beSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1413d41660beSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1414876ff6feSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1415876ff6feSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1416876ff6feSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1417876ff6feSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1418d41660beSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 1419d41660beSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1420d41660beSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1421d41660beSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1422d41660beSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1423876ff6feSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1424876ff6feSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1425d41660beSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \ 1426876ff6feSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1427876ff6feSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1428876ff6feSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1429d41660beSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 1430d41660beSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) 1431876ff6feSmrg # Remember, each alternative MUST END IN *, to match a version number. 1432876ff6feSmrg ;; 1433876ff6feSmrg -qnx*) 1434876ff6feSmrg case $basic_machine in 1435876ff6feSmrg x86-* | i*86-*) 1436876ff6feSmrg ;; 1437876ff6feSmrg *) 1438876ff6feSmrg os=-nto$os 1439876ff6feSmrg ;; 1440876ff6feSmrg esac 1441876ff6feSmrg ;; 1442876ff6feSmrg -nto-qnx*) 1443876ff6feSmrg ;; 1444876ff6feSmrg -nto*) 1445876ff6feSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1446876ff6feSmrg ;; 1447876ff6feSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1448876ff6feSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1449876ff6feSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1450876ff6feSmrg ;; 1451876ff6feSmrg -mac*) 1452876ff6feSmrg os=`echo $os | sed -e 's|mac|macos|'` 1453876ff6feSmrg ;; 1454876ff6feSmrg -linux-dietlibc) 1455876ff6feSmrg os=-linux-dietlibc 1456876ff6feSmrg ;; 1457876ff6feSmrg -linux*) 1458876ff6feSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1459876ff6feSmrg ;; 1460876ff6feSmrg -sunos5*) 1461876ff6feSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1462876ff6feSmrg ;; 1463876ff6feSmrg -sunos6*) 1464876ff6feSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1465876ff6feSmrg ;; 1466876ff6feSmrg -opened*) 1467876ff6feSmrg os=-openedition 1468876ff6feSmrg ;; 1469d41660beSmrg -os400*) 1470876ff6feSmrg os=-os400 1471876ff6feSmrg ;; 1472876ff6feSmrg -wince*) 1473876ff6feSmrg os=-wince 1474876ff6feSmrg ;; 1475876ff6feSmrg -osfrose*) 1476876ff6feSmrg os=-osfrose 1477876ff6feSmrg ;; 1478876ff6feSmrg -osf*) 1479876ff6feSmrg os=-osf 1480876ff6feSmrg ;; 1481876ff6feSmrg -utek*) 1482876ff6feSmrg os=-bsd 1483876ff6feSmrg ;; 1484876ff6feSmrg -dynix*) 1485876ff6feSmrg os=-bsd 1486876ff6feSmrg ;; 1487876ff6feSmrg -acis*) 1488876ff6feSmrg os=-aos 1489876ff6feSmrg ;; 1490876ff6feSmrg -atheos*) 1491876ff6feSmrg os=-atheos 1492876ff6feSmrg ;; 1493876ff6feSmrg -syllable*) 1494876ff6feSmrg os=-syllable 1495876ff6feSmrg ;; 1496876ff6feSmrg -386bsd) 1497876ff6feSmrg os=-bsd 1498876ff6feSmrg ;; 1499876ff6feSmrg -ctix* | -uts*) 1500876ff6feSmrg os=-sysv 1501876ff6feSmrg ;; 1502876ff6feSmrg -nova*) 1503876ff6feSmrg os=-rtmk-nova 1504876ff6feSmrg ;; 1505876ff6feSmrg -ns2 ) 1506876ff6feSmrg os=-nextstep2 1507876ff6feSmrg ;; 1508876ff6feSmrg -nsk*) 1509876ff6feSmrg os=-nsk 1510876ff6feSmrg ;; 1511876ff6feSmrg # Preserve the version number of sinix5. 1512876ff6feSmrg -sinix5.*) 1513876ff6feSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1514876ff6feSmrg ;; 1515876ff6feSmrg -sinix*) 1516876ff6feSmrg os=-sysv4 1517876ff6feSmrg ;; 1518d41660beSmrg -tpf*) 1519876ff6feSmrg os=-tpf 1520876ff6feSmrg ;; 1521876ff6feSmrg -triton*) 1522876ff6feSmrg os=-sysv3 1523876ff6feSmrg ;; 1524876ff6feSmrg -oss*) 1525876ff6feSmrg os=-sysv3 1526876ff6feSmrg ;; 1527876ff6feSmrg -svr4) 1528876ff6feSmrg os=-sysv4 1529876ff6feSmrg ;; 1530876ff6feSmrg -svr3) 1531876ff6feSmrg os=-sysv3 1532876ff6feSmrg ;; 1533876ff6feSmrg -sysvr4) 1534876ff6feSmrg os=-sysv4 1535876ff6feSmrg ;; 1536876ff6feSmrg # This must come after -sysvr4. 1537876ff6feSmrg -sysv*) 1538876ff6feSmrg ;; 1539876ff6feSmrg -ose*) 1540876ff6feSmrg os=-ose 1541876ff6feSmrg ;; 1542876ff6feSmrg -es1800*) 1543876ff6feSmrg os=-ose 1544876ff6feSmrg ;; 1545876ff6feSmrg -xenix) 1546876ff6feSmrg os=-xenix 1547876ff6feSmrg ;; 1548876ff6feSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1549876ff6feSmrg os=-mint 1550876ff6feSmrg ;; 1551876ff6feSmrg -aros*) 1552876ff6feSmrg os=-aros 1553876ff6feSmrg ;; 1554876ff6feSmrg -zvmoe) 1555876ff6feSmrg os=-zvmoe 1556876ff6feSmrg ;; 1557d41660beSmrg -dicos*) 1558d41660beSmrg os=-dicos 1559d41660beSmrg ;; 1560d41660beSmrg -nacl*) 1561d41660beSmrg ;; 1562d41660beSmrg -ios) 1563d41660beSmrg ;; 1564876ff6feSmrg -none) 1565876ff6feSmrg ;; 1566876ff6feSmrg *) 1567876ff6feSmrg # Get rid of the `-' at the beginning of $os. 1568876ff6feSmrg os=`echo $os | sed 's/[^-]*-//'` 1569876ff6feSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1570876ff6feSmrg exit 1 1571876ff6feSmrg ;; 1572876ff6feSmrgesac 1573876ff6feSmrgelse 1574876ff6feSmrg 1575876ff6feSmrg# Here we handle the default operating systems that come with various machines. 1576876ff6feSmrg# The value should be what the vendor currently ships out the door with their 1577876ff6feSmrg# machine or put another way, the most popular os provided with the machine. 1578876ff6feSmrg 1579876ff6feSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1580876ff6feSmrg# "-sun"), then you have to tell the case statement up towards the top 1581876ff6feSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1582876ff6feSmrg# will signal an error saying that MANUFACTURER isn't an operating 1583876ff6feSmrg# system, and we'll never get to this point. 1584876ff6feSmrg 1585876ff6feSmrgcase $basic_machine in 1586d41660beSmrg score-*) 1587d41660beSmrg os=-elf 1588d41660beSmrg ;; 1589d41660beSmrg spu-*) 1590d41660beSmrg os=-elf 1591d41660beSmrg ;; 1592876ff6feSmrg *-acorn) 1593876ff6feSmrg os=-riscix1.2 1594876ff6feSmrg ;; 1595876ff6feSmrg arm*-rebel) 1596876ff6feSmrg os=-linux 1597876ff6feSmrg ;; 1598876ff6feSmrg arm*-semi) 1599876ff6feSmrg os=-aout 1600876ff6feSmrg ;; 1601d41660beSmrg c4x-* | tic4x-*) 1602d41660beSmrg os=-coff 1603d41660beSmrg ;; 1604d41660beSmrg c8051-*) 1605d41660beSmrg os=-elf 1606d41660beSmrg ;; 1607d41660beSmrg hexagon-*) 1608d41660beSmrg os=-elf 1609d41660beSmrg ;; 1610d41660beSmrg tic54x-*) 1611d41660beSmrg os=-coff 1612d41660beSmrg ;; 1613d41660beSmrg tic55x-*) 1614d41660beSmrg os=-coff 1615d41660beSmrg ;; 1616d41660beSmrg tic6x-*) 1617d41660beSmrg os=-coff 1618d41660beSmrg ;; 1619876ff6feSmrg # This must come before the *-dec entry. 1620876ff6feSmrg pdp10-*) 1621876ff6feSmrg os=-tops20 1622876ff6feSmrg ;; 1623876ff6feSmrg pdp11-*) 1624876ff6feSmrg os=-none 1625876ff6feSmrg ;; 1626876ff6feSmrg *-dec | vax-*) 1627876ff6feSmrg os=-ultrix4.2 1628876ff6feSmrg ;; 1629876ff6feSmrg m68*-apollo) 1630876ff6feSmrg os=-domain 1631876ff6feSmrg ;; 1632876ff6feSmrg i386-sun) 1633876ff6feSmrg os=-sunos4.0.2 1634876ff6feSmrg ;; 1635876ff6feSmrg m68000-sun) 1636876ff6feSmrg os=-sunos3 1637876ff6feSmrg ;; 1638876ff6feSmrg m68*-cisco) 1639876ff6feSmrg os=-aout 1640876ff6feSmrg ;; 1641d41660beSmrg mep-*) 1642d41660beSmrg os=-elf 1643d41660beSmrg ;; 1644876ff6feSmrg mips*-cisco) 1645876ff6feSmrg os=-elf 1646876ff6feSmrg ;; 1647876ff6feSmrg mips*-*) 1648876ff6feSmrg os=-elf 1649876ff6feSmrg ;; 1650876ff6feSmrg or32-*) 1651876ff6feSmrg os=-coff 1652876ff6feSmrg ;; 1653876ff6feSmrg *-tti) # must be before sparc entry or we get the wrong os. 1654876ff6feSmrg os=-sysv3 1655876ff6feSmrg ;; 1656876ff6feSmrg sparc-* | *-sun) 1657876ff6feSmrg os=-sunos4.1.1 1658876ff6feSmrg ;; 1659d41660beSmrg pru-*) 1660d41660beSmrg os=-elf 1661d41660beSmrg ;; 1662876ff6feSmrg *-be) 1663876ff6feSmrg os=-beos 1664876ff6feSmrg ;; 1665876ff6feSmrg *-haiku) 1666876ff6feSmrg os=-haiku 1667876ff6feSmrg ;; 1668876ff6feSmrg *-ibm) 1669876ff6feSmrg os=-aix 1670876ff6feSmrg ;; 1671d41660beSmrg *-knuth) 1672876ff6feSmrg os=-mmixware 1673876ff6feSmrg ;; 1674876ff6feSmrg *-wec) 1675876ff6feSmrg os=-proelf 1676876ff6feSmrg ;; 1677876ff6feSmrg *-winbond) 1678876ff6feSmrg os=-proelf 1679876ff6feSmrg ;; 1680876ff6feSmrg *-oki) 1681876ff6feSmrg os=-proelf 1682876ff6feSmrg ;; 1683876ff6feSmrg *-hp) 1684876ff6feSmrg os=-hpux 1685876ff6feSmrg ;; 1686876ff6feSmrg *-hitachi) 1687876ff6feSmrg os=-hiux 1688876ff6feSmrg ;; 1689876ff6feSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1690876ff6feSmrg os=-sysv 1691876ff6feSmrg ;; 1692876ff6feSmrg *-cbm) 1693876ff6feSmrg os=-amigaos 1694876ff6feSmrg ;; 1695876ff6feSmrg *-dg) 1696876ff6feSmrg os=-dgux 1697876ff6feSmrg ;; 1698876ff6feSmrg *-dolphin) 1699876ff6feSmrg os=-sysv3 1700876ff6feSmrg ;; 1701876ff6feSmrg m68k-ccur) 1702876ff6feSmrg os=-rtu 1703876ff6feSmrg ;; 1704876ff6feSmrg m88k-omron*) 1705876ff6feSmrg os=-luna 1706876ff6feSmrg ;; 1707876ff6feSmrg *-next ) 1708876ff6feSmrg os=-nextstep 1709876ff6feSmrg ;; 1710876ff6feSmrg *-sequent) 1711876ff6feSmrg os=-ptx 1712876ff6feSmrg ;; 1713876ff6feSmrg *-crds) 1714876ff6feSmrg os=-unos 1715876ff6feSmrg ;; 1716876ff6feSmrg *-ns) 1717876ff6feSmrg os=-genix 1718876ff6feSmrg ;; 1719876ff6feSmrg i370-*) 1720876ff6feSmrg os=-mvs 1721876ff6feSmrg ;; 1722876ff6feSmrg *-next) 1723876ff6feSmrg os=-nextstep3 1724876ff6feSmrg ;; 1725876ff6feSmrg *-gould) 1726876ff6feSmrg os=-sysv 1727876ff6feSmrg ;; 1728876ff6feSmrg *-highlevel) 1729876ff6feSmrg os=-bsd 1730876ff6feSmrg ;; 1731876ff6feSmrg *-encore) 1732876ff6feSmrg os=-bsd 1733876ff6feSmrg ;; 1734876ff6feSmrg *-sgi) 1735876ff6feSmrg os=-irix 1736876ff6feSmrg ;; 1737876ff6feSmrg *-siemens) 1738876ff6feSmrg os=-sysv4 1739876ff6feSmrg ;; 1740876ff6feSmrg *-masscomp) 1741876ff6feSmrg os=-rtu 1742876ff6feSmrg ;; 1743876ff6feSmrg f30[01]-fujitsu | f700-fujitsu) 1744876ff6feSmrg os=-uxpv 1745876ff6feSmrg ;; 1746876ff6feSmrg *-rom68k) 1747876ff6feSmrg os=-coff 1748876ff6feSmrg ;; 1749876ff6feSmrg *-*bug) 1750876ff6feSmrg os=-coff 1751876ff6feSmrg ;; 1752876ff6feSmrg *-apple) 1753876ff6feSmrg os=-macos 1754876ff6feSmrg ;; 1755876ff6feSmrg *-atari*) 1756876ff6feSmrg os=-mint 1757876ff6feSmrg ;; 1758876ff6feSmrg *) 1759876ff6feSmrg os=-none 1760876ff6feSmrg ;; 1761876ff6feSmrgesac 1762876ff6feSmrgfi 1763876ff6feSmrg 1764876ff6feSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1765876ff6feSmrg# manufacturer. We pick the logical manufacturer. 1766876ff6feSmrgvendor=unknown 1767876ff6feSmrgcase $basic_machine in 1768876ff6feSmrg *-unknown) 1769876ff6feSmrg case $os in 1770876ff6feSmrg -riscix*) 1771876ff6feSmrg vendor=acorn 1772876ff6feSmrg ;; 1773876ff6feSmrg -sunos*) 1774876ff6feSmrg vendor=sun 1775876ff6feSmrg ;; 1776d41660beSmrg -cnk*|-aix*) 1777876ff6feSmrg vendor=ibm 1778876ff6feSmrg ;; 1779876ff6feSmrg -beos*) 1780876ff6feSmrg vendor=be 1781876ff6feSmrg ;; 1782876ff6feSmrg -hpux*) 1783876ff6feSmrg vendor=hp 1784876ff6feSmrg ;; 1785876ff6feSmrg -mpeix*) 1786876ff6feSmrg vendor=hp 1787876ff6feSmrg ;; 1788876ff6feSmrg -hiux*) 1789876ff6feSmrg vendor=hitachi 1790876ff6feSmrg ;; 1791876ff6feSmrg -unos*) 1792876ff6feSmrg vendor=crds 1793876ff6feSmrg ;; 1794876ff6feSmrg -dgux*) 1795876ff6feSmrg vendor=dg 1796876ff6feSmrg ;; 1797876ff6feSmrg -luna*) 1798876ff6feSmrg vendor=omron 1799876ff6feSmrg ;; 1800876ff6feSmrg -genix*) 1801876ff6feSmrg vendor=ns 1802876ff6feSmrg ;; 1803876ff6feSmrg -mvs* | -opened*) 1804876ff6feSmrg vendor=ibm 1805876ff6feSmrg ;; 1806876ff6feSmrg -os400*) 1807876ff6feSmrg vendor=ibm 1808876ff6feSmrg ;; 1809876ff6feSmrg -ptx*) 1810876ff6feSmrg vendor=sequent 1811876ff6feSmrg ;; 1812876ff6feSmrg -tpf*) 1813876ff6feSmrg vendor=ibm 1814876ff6feSmrg ;; 1815876ff6feSmrg -vxsim* | -vxworks* | -windiss*) 1816876ff6feSmrg vendor=wrs 1817876ff6feSmrg ;; 1818876ff6feSmrg -aux*) 1819876ff6feSmrg vendor=apple 1820876ff6feSmrg ;; 1821876ff6feSmrg -hms*) 1822876ff6feSmrg vendor=hitachi 1823876ff6feSmrg ;; 1824876ff6feSmrg -mpw* | -macos*) 1825876ff6feSmrg vendor=apple 1826876ff6feSmrg ;; 1827876ff6feSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1828876ff6feSmrg vendor=atari 1829876ff6feSmrg ;; 1830876ff6feSmrg -vos*) 1831876ff6feSmrg vendor=stratus 1832876ff6feSmrg ;; 1833876ff6feSmrg esac 1834876ff6feSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1835876ff6feSmrg ;; 1836876ff6feSmrgesac 1837876ff6feSmrg 1838876ff6feSmrgecho $basic_machine$os 1839876ff6feSmrgexit 1840876ff6feSmrg 1841876ff6feSmrg# Local variables: 1842876ff6feSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1843876ff6feSmrg# time-stamp-start: "timestamp='" 1844876ff6feSmrg# time-stamp-format: "%:y-%02m-%02d" 1845876ff6feSmrg# time-stamp-end: "'" 1846876ff6feSmrg# End: 1847