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