config.sub revision 8292847c
1c76ae52dSmrg#! /bin/sh 2c76ae52dSmrg# Configuration validation subroutine script. 38292847cSmrg# Copyright 1992-2018 Free Software Foundation, Inc. 4c76ae52dSmrg 58292847cSmrgtimestamp='2018-02-28' 6c76ae52dSmrg 7dff01e5aSmrg# This file is free software; you can redistribute it and/or modify it 8dff01e5aSmrg# under the terms of the GNU General Public License as published by 9dff01e5aSmrg# the Free Software Foundation; either version 3 of the License, or 10c76ae52dSmrg# (at your option) any later version. 11c76ae52dSmrg# 12dff01e5aSmrg# This program is distributed in the hope that it will be useful, but 13dff01e5aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14dff01e5aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15dff01e5aSmrg# General Public License for more details. 16c76ae52dSmrg# 17c76ae52dSmrg# You should have received a copy of the GNU General Public License 188292847cSmrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 19c76ae52dSmrg# 20c76ae52dSmrg# As a special exception to the GNU General Public License, if you 21c76ae52dSmrg# distribute this file as part of a program that contains a 22c76ae52dSmrg# configuration script generated by Autoconf, you may include it under 23dff01e5aSmrg# the same distribution terms that you use for the rest of that 24dff01e5aSmrg# program. This Exception is an additional permission under section 7 25dff01e5aSmrg# of the GNU General Public License, version 3 ("GPLv3"). 26c76ae52dSmrg 27c76ae52dSmrg 288292847cSmrg# Please send patches to <config-patches@gnu.org>. 29c76ae52dSmrg# 30c76ae52dSmrg# Configuration subroutine to validate and canonicalize a configuration type. 31c76ae52dSmrg# Supply the specified configuration type as an argument. 32c76ae52dSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 33c76ae52dSmrg# Otherwise, we print the canonical config type on stdout and succeed. 34c76ae52dSmrg 35c2939121Smrg# You can get the latest version of this script from: 368292847cSmrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37c2939121Smrg 38c76ae52dSmrg# This file is supposed to be the same for all GNU packages 39c76ae52dSmrg# and recognize all the CPU types, system types and aliases 40c76ae52dSmrg# that are meaningful with *any* GNU software. 41c76ae52dSmrg# Each package is responsible for reporting which valid configurations 42c76ae52dSmrg# it does not support. The user should be able to distinguish 43c76ae52dSmrg# a failure to support a valid configuration from a meaningless 44c76ae52dSmrg# configuration. 45c76ae52dSmrg 46c76ae52dSmrg# The goal of this file is to map all the various variations of a given 47c76ae52dSmrg# machine specification into a single specification in the form: 48c76ae52dSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49c76ae52dSmrg# or in some cases, the newer four-part form: 50c76ae52dSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51c76ae52dSmrg# It is wrong to echo any other type of specification. 52c76ae52dSmrg 53c76ae52dSmrgme=`echo "$0" | sed -e 's,.*/,,'` 54c76ae52dSmrg 55c76ae52dSmrgusage="\ 568292847cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57c76ae52dSmrg 58c76ae52dSmrgCanonicalize a configuration name. 59c76ae52dSmrg 608292847cSmrgOptions: 61c76ae52dSmrg -h, --help print this help, then exit 62c76ae52dSmrg -t, --time-stamp print date of last modification, then exit 63c76ae52dSmrg -v, --version print version number, then exit 64c76ae52dSmrg 65c76ae52dSmrgReport bugs and patches to <config-patches@gnu.org>." 66c76ae52dSmrg 67c76ae52dSmrgversion="\ 68c76ae52dSmrgGNU config.sub ($timestamp) 69c76ae52dSmrg 708292847cSmrgCopyright 1992-2018 Free Software Foundation, Inc. 71c76ae52dSmrg 72c76ae52dSmrgThis is free software; see the source for copying conditions. There is NO 73c76ae52dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74c76ae52dSmrg 75c76ae52dSmrghelp=" 76c76ae52dSmrgTry \`$me --help' for more information." 77c76ae52dSmrg 78c76ae52dSmrg# Parse command line 79c76ae52dSmrgwhile test $# -gt 0 ; do 80c76ae52dSmrg case $1 in 81c76ae52dSmrg --time-stamp | --time* | -t ) 82c76ae52dSmrg echo "$timestamp" ; exit ;; 83c76ae52dSmrg --version | -v ) 84c76ae52dSmrg echo "$version" ; exit ;; 85c76ae52dSmrg --help | --h* | -h ) 86c76ae52dSmrg echo "$usage"; exit ;; 87c76ae52dSmrg -- ) # Stop option processing 88c76ae52dSmrg shift; break ;; 89c76ae52dSmrg - ) # Use stdin as input. 90c76ae52dSmrg break ;; 91c76ae52dSmrg -* ) 92c76ae52dSmrg echo "$me: invalid option $1$help" 93c76ae52dSmrg exit 1 ;; 94c76ae52dSmrg 95c76ae52dSmrg *local*) 96c76ae52dSmrg # First pass through any local machine types. 978292847cSmrg echo "$1" 98c76ae52dSmrg exit ;; 99c76ae52dSmrg 100c76ae52dSmrg * ) 101c76ae52dSmrg break ;; 102c76ae52dSmrg esac 103c76ae52dSmrgdone 104c76ae52dSmrg 105c76ae52dSmrgcase $# in 106c76ae52dSmrg 0) echo "$me: missing argument$help" >&2 107c76ae52dSmrg exit 1;; 108c76ae52dSmrg 1) ;; 109c76ae52dSmrg *) echo "$me: too many arguments$help" >&2 110c76ae52dSmrg exit 1;; 111c76ae52dSmrgesac 112c76ae52dSmrg 113c76ae52dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 114c76ae52dSmrg# Here we must recognize all the valid KERNEL-OS combinations. 1158292847cSmrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 116c76ae52dSmrgcase $maybe_os in 117c2939121Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 118dff01e5aSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1198292847cSmrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1208292847cSmrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 121c76ae52dSmrg storm-chaos* | os2-emx* | rtmk-nova*) 122c76ae52dSmrg os=-$maybe_os 1238292847cSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 124c76ae52dSmrg ;; 125dff01e5aSmrg android-linux) 126dff01e5aSmrg os=-linux-android 1278292847cSmrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 128dff01e5aSmrg ;; 129c76ae52dSmrg *) 1308292847cSmrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1318292847cSmrg if [ "$basic_machine" != "$1" ] 1328292847cSmrg then os=`echo "$1" | sed 's/.*-/-/'` 133c76ae52dSmrg else os=; fi 134c76ae52dSmrg ;; 135c76ae52dSmrgesac 136c76ae52dSmrg 137c76ae52dSmrg### Let's recognize common machines as not being operating systems so 138c76ae52dSmrg### that things like config.sub decstation-3100 work. We also 139c76ae52dSmrg### recognize some manufacturers as not being operating systems, so we 140c76ae52dSmrg### can provide default operating systems below. 141c76ae52dSmrgcase $os in 142c76ae52dSmrg -sun*os*) 143c76ae52dSmrg # Prevent following clause from handling this invalid input. 144c76ae52dSmrg ;; 145c76ae52dSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146c76ae52dSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147c76ae52dSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148c76ae52dSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149c76ae52dSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150c76ae52dSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 151dff01e5aSmrg -apple | -axis | -knuth | -cray | -microblaze*) 152c76ae52dSmrg os= 153c76ae52dSmrg basic_machine=$1 154c76ae52dSmrg ;; 1552836776bSmrg -bluegene*) 1562836776bSmrg os=-cnk 157c2939121Smrg ;; 158c76ae52dSmrg -sim | -cisco | -oki | -wec | -winbond) 159c76ae52dSmrg os= 160c76ae52dSmrg basic_machine=$1 161c76ae52dSmrg ;; 162c76ae52dSmrg -scout) 163c76ae52dSmrg ;; 164c76ae52dSmrg -wrs) 165c76ae52dSmrg os=-vxworks 166c76ae52dSmrg basic_machine=$1 167c76ae52dSmrg ;; 168c76ae52dSmrg -chorusos*) 169c76ae52dSmrg os=-chorusos 170c76ae52dSmrg basic_machine=$1 171c76ae52dSmrg ;; 1722836776bSmrg -chorusrdb) 1732836776bSmrg os=-chorusrdb 174c76ae52dSmrg basic_machine=$1 1752836776bSmrg ;; 176c76ae52dSmrg -hiux*) 177c76ae52dSmrg os=-hiuxwe2 178c76ae52dSmrg ;; 179c76ae52dSmrg -sco6) 180c76ae52dSmrg os=-sco5v6 1818292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 182c76ae52dSmrg ;; 183c76ae52dSmrg -sco5) 184c76ae52dSmrg os=-sco3.2v5 1858292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 186c76ae52dSmrg ;; 187c76ae52dSmrg -sco4) 188c76ae52dSmrg os=-sco3.2v4 1898292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 190c76ae52dSmrg ;; 191c76ae52dSmrg -sco3.2.[4-9]*) 192c76ae52dSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1938292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 194c76ae52dSmrg ;; 195c76ae52dSmrg -sco3.2v[4-9]*) 196c76ae52dSmrg # Don't forget version if it is 3.2v4 or newer. 1978292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 198c76ae52dSmrg ;; 199c76ae52dSmrg -sco5v6*) 200c76ae52dSmrg # Don't forget version if it is 3.2v4 or newer. 2018292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 202c76ae52dSmrg ;; 203c76ae52dSmrg -sco*) 204c76ae52dSmrg os=-sco3.2v2 2058292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 206c76ae52dSmrg ;; 207c76ae52dSmrg -udk*) 2088292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 209c76ae52dSmrg ;; 210c76ae52dSmrg -isc) 211c76ae52dSmrg os=-isc2.2 2128292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 213c76ae52dSmrg ;; 214c76ae52dSmrg -clix*) 215c76ae52dSmrg basic_machine=clipper-intergraph 216c76ae52dSmrg ;; 217c76ae52dSmrg -isc*) 2188292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 219c76ae52dSmrg ;; 220dff01e5aSmrg -lynx*178) 221dff01e5aSmrg os=-lynxos178 222dff01e5aSmrg ;; 223dff01e5aSmrg -lynx*5) 224dff01e5aSmrg os=-lynxos5 225dff01e5aSmrg ;; 226c76ae52dSmrg -lynx*) 227c76ae52dSmrg os=-lynxos 228c76ae52dSmrg ;; 229c76ae52dSmrg -ptx*) 2308292847cSmrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 231c76ae52dSmrg ;; 232c76ae52dSmrg -psos*) 233c76ae52dSmrg os=-psos 234c76ae52dSmrg ;; 235c76ae52dSmrg -mint | -mint[0-9]*) 236c76ae52dSmrg basic_machine=m68k-atari 237c76ae52dSmrg os=-mint 238c76ae52dSmrg ;; 239c76ae52dSmrgesac 240c76ae52dSmrg 241c76ae52dSmrg# Decode aliases for certain CPU-COMPANY combinations. 242c76ae52dSmrgcase $basic_machine in 243c76ae52dSmrg # Recognize the basic CPU types without company name. 244c76ae52dSmrg # Some are omitted here because they have special meanings below. 245c76ae52dSmrg 1750a | 580 \ 246c76ae52dSmrg | a29k \ 247dff01e5aSmrg | aarch64 | aarch64_be \ 248c76ae52dSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249c76ae52dSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 250c76ae52dSmrg | am33_2.0 \ 251dff01e5aSmrg | arc | arceb \ 252dff01e5aSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 253dff01e5aSmrg | avr | avr32 \ 2548292847cSmrg | ba \ 255dff01e5aSmrg | be32 | be64 \ 256c76ae52dSmrg | bfin \ 2578292847cSmrg | c4x | c8051 | clipper \ 258c76ae52dSmrg | d10v | d30v | dlx | dsp16xx \ 2598292847cSmrg | e2k | epiphany \ 2608292847cSmrg | fido | fr30 | frv | ft32 \ 261c76ae52dSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2622836776bSmrg | hexagon \ 2638292847cSmrg | i370 | i860 | i960 | ia16 | ia64 \ 264c76ae52dSmrg | ip2k | iq2000 \ 2658292847cSmrg | k1om \ 2662836776bSmrg | le32 | le64 \ 267c2939121Smrg | lm32 \ 2680d590c07Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 269dff01e5aSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 270c76ae52dSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 271c76ae52dSmrg | mips16 \ 272c76ae52dSmrg | mips64 | mips64el \ 273c2939121Smrg | mips64octeon | mips64octeonel \ 274c76ae52dSmrg | mips64orion | mips64orionel \ 275c2939121Smrg | mips64r5900 | mips64r5900el \ 276c2939121Smrg | mips64vr | mips64vrel \ 277c76ae52dSmrg | mips64vr4100 | mips64vr4100el \ 278c76ae52dSmrg | mips64vr4300 | mips64vr4300el \ 279c76ae52dSmrg | mips64vr5000 | mips64vr5000el \ 280c76ae52dSmrg | mips64vr5900 | mips64vr5900el \ 281c76ae52dSmrg | mipsisa32 | mipsisa32el \ 282c76ae52dSmrg | mipsisa32r2 | mipsisa32r2el \ 2838292847cSmrg | mipsisa32r6 | mipsisa32r6el \ 284c76ae52dSmrg | mipsisa64 | mipsisa64el \ 285c76ae52dSmrg | mipsisa64r2 | mipsisa64r2el \ 2868292847cSmrg | mipsisa64r6 | mipsisa64r6el \ 287c76ae52dSmrg | mipsisa64sb1 | mipsisa64sb1el \ 288c76ae52dSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 289dff01e5aSmrg | mipsr5900 | mipsr5900el \ 290c76ae52dSmrg | mipstx39 | mipstx39el \ 291c76ae52dSmrg | mn10200 | mn10300 \ 292c2939121Smrg | moxie \ 293c76ae52dSmrg | mt \ 294c76ae52dSmrg | msp430 \ 295c2939121Smrg | nds32 | nds32le | nds32be \ 296dff01e5aSmrg | nios | nios2 | nios2eb | nios2el \ 297c76ae52dSmrg | ns16k | ns32k \ 2988292847cSmrg | open8 | or1k | or1knd | or32 \ 2998292847cSmrg | pdp10 | pj | pjl \ 3002836776bSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3018292847cSmrg | pru \ 302c76ae52dSmrg | pyramid \ 3038292847cSmrg | riscv32 | riscv64 \ 3042836776bSmrg | rl78 | rx \ 3050d590c07Smrg | score \ 3068292847cSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 307c76ae52dSmrg | sh64 | sh64le \ 3080d590c07Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3090d590c07Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3102836776bSmrg | spu \ 3112836776bSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 312c2939121Smrg | ubicom32 \ 3132836776bSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3148292847cSmrg | visium \ 3158292847cSmrg | wasm32 \ 3162836776bSmrg | x86 | xc16x | xstormy16 | xtensa \ 317c2939121Smrg | z8k | z80) 318c76ae52dSmrg basic_machine=$basic_machine-unknown 319c76ae52dSmrg ;; 320c2939121Smrg c54x) 321c2939121Smrg basic_machine=tic54x-unknown 322c2939121Smrg ;; 323c2939121Smrg c55x) 324c2939121Smrg basic_machine=tic55x-unknown 325c2939121Smrg ;; 326c2939121Smrg c6x) 327c2939121Smrg basic_machine=tic6x-unknown 328c2939121Smrg ;; 3298292847cSmrg leon|leon[3-9]) 3308292847cSmrg basic_machine=sparc-$basic_machine 3318292847cSmrg ;; 3328292847cSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 333c76ae52dSmrg basic_machine=$basic_machine-unknown 334c76ae52dSmrg os=-none 335c76ae52dSmrg ;; 3368292847cSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337c76ae52dSmrg ;; 338c76ae52dSmrg ms1) 339c76ae52dSmrg basic_machine=mt-unknown 340c76ae52dSmrg ;; 341c76ae52dSmrg 3422836776bSmrg strongarm | thumb | xscale) 3432836776bSmrg basic_machine=arm-unknown 3442836776bSmrg ;; 345dff01e5aSmrg xgate) 346dff01e5aSmrg basic_machine=$basic_machine-unknown 347dff01e5aSmrg os=-none 348dff01e5aSmrg ;; 3492836776bSmrg xscaleeb) 3502836776bSmrg basic_machine=armeb-unknown 3512836776bSmrg ;; 3522836776bSmrg 3532836776bSmrg xscaleel) 3542836776bSmrg basic_machine=armel-unknown 3552836776bSmrg ;; 3562836776bSmrg 357c76ae52dSmrg # We use `pc' rather than `unknown' 358c76ae52dSmrg # because (1) that's what they normally are, and 359c76ae52dSmrg # (2) the word "unknown" tends to confuse beginning users. 360c76ae52dSmrg i*86 | x86_64) 361c76ae52dSmrg basic_machine=$basic_machine-pc 362c76ae52dSmrg ;; 363c76ae52dSmrg # Object if more than one company name word. 364c76ae52dSmrg *-*-*) 3658292847cSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 366c76ae52dSmrg exit 1 367c76ae52dSmrg ;; 368c76ae52dSmrg # Recognize the basic CPU types with company name. 369c76ae52dSmrg 580-* \ 370c76ae52dSmrg | a29k-* \ 371dff01e5aSmrg | aarch64-* | aarch64_be-* \ 372c76ae52dSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 373c76ae52dSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 374dff01e5aSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 375c76ae52dSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3760d590c07Smrg | avr-* | avr32-* \ 3778292847cSmrg | ba-* \ 3782836776bSmrg | be32-* | be64-* \ 379c76ae52dSmrg | bfin-* | bs2000-* \ 380c2939121Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3818292847cSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 382c76ae52dSmrg | d10v-* | d30v-* | dlx-* \ 3838292847cSmrg | e2k-* | elxsi-* \ 3840d590c07Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 385c76ae52dSmrg | h8300-* | h8500-* \ 386c76ae52dSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3872836776bSmrg | hexagon-* \ 3888292847cSmrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 389c76ae52dSmrg | ip2k-* | iq2000-* \ 3908292847cSmrg | k1om-* \ 3912836776bSmrg | le32-* | le64-* \ 392c2939121Smrg | lm32-* \ 3930d590c07Smrg | m32c-* | m32r-* | m32rle-* \ 394c76ae52dSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 395dff01e5aSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 396dff01e5aSmrg | microblaze-* | microblazeel-* \ 397c76ae52dSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 398c76ae52dSmrg | mips16-* \ 399c76ae52dSmrg | mips64-* | mips64el-* \ 400c2939121Smrg | mips64octeon-* | mips64octeonel-* \ 401c76ae52dSmrg | mips64orion-* | mips64orionel-* \ 402c2939121Smrg | mips64r5900-* | mips64r5900el-* \ 403c2939121Smrg | mips64vr-* | mips64vrel-* \ 404c76ae52dSmrg | mips64vr4100-* | mips64vr4100el-* \ 405c76ae52dSmrg | mips64vr4300-* | mips64vr4300el-* \ 406c76ae52dSmrg | mips64vr5000-* | mips64vr5000el-* \ 407c76ae52dSmrg | mips64vr5900-* | mips64vr5900el-* \ 408c76ae52dSmrg | mipsisa32-* | mipsisa32el-* \ 409c76ae52dSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 4108292847cSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 411c76ae52dSmrg | mipsisa64-* | mipsisa64el-* \ 412c76ae52dSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 4138292847cSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 414c76ae52dSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 415c76ae52dSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 416dff01e5aSmrg | mipsr5900-* | mipsr5900el-* \ 417c76ae52dSmrg | mipstx39-* | mipstx39el-* \ 418c76ae52dSmrg | mmix-* \ 419c76ae52dSmrg | mt-* \ 420c76ae52dSmrg | msp430-* \ 421c2939121Smrg | nds32-* | nds32le-* | nds32be-* \ 422dff01e5aSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 423c76ae52dSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 4242836776bSmrg | open8-* \ 4258292847cSmrg | or1k*-* \ 426c76ae52dSmrg | orion-* \ 427c76ae52dSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4282836776bSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4298292847cSmrg | pru-* \ 430c76ae52dSmrg | pyramid-* \ 4318292847cSmrg | riscv32-* | riscv64-* \ 4322836776bSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 433c2939121Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 434c76ae52dSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4350d590c07Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 436c76ae52dSmrg | sparclite-* \ 4378292847cSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4382836776bSmrg | tahoe-* \ 439c76ae52dSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4402836776bSmrg | tile*-* \ 441c76ae52dSmrg | tron-* \ 442c2939121Smrg | ubicom32-* \ 4432836776bSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4442836776bSmrg | vax-* \ 4458292847cSmrg | visium-* \ 4468292847cSmrg | wasm32-* \ 447c76ae52dSmrg | we32k-* \ 4482836776bSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4490d590c07Smrg | xstormy16-* | xtensa*-* \ 450c76ae52dSmrg | ymp-* \ 451c2939121Smrg | z8k-* | z80-*) 452c76ae52dSmrg ;; 4530d590c07Smrg # Recognize the basic CPU types without company name, with glob match. 4540d590c07Smrg xtensa*) 4550d590c07Smrg basic_machine=$basic_machine-unknown 456c76ae52dSmrg ;; 457c76ae52dSmrg # Recognize the various machine names and aliases which stand 458c76ae52dSmrg # for a CPU type and a company and sometimes even an OS. 459c76ae52dSmrg 386bsd) 4608292847cSmrg basic_machine=i386-pc 461c76ae52dSmrg os=-bsd 462c76ae52dSmrg ;; 463c76ae52dSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 464c76ae52dSmrg basic_machine=m68000-att 465c76ae52dSmrg ;; 466c76ae52dSmrg 3b*) 467c76ae52dSmrg basic_machine=we32k-att 468c76ae52dSmrg ;; 469c76ae52dSmrg a29khif) 470c76ae52dSmrg basic_machine=a29k-amd 471c76ae52dSmrg os=-udi 472c76ae52dSmrg ;; 4732836776bSmrg abacus) 474c76ae52dSmrg basic_machine=abacus-unknown 475c76ae52dSmrg ;; 476c76ae52dSmrg adobe68k) 477c76ae52dSmrg basic_machine=m68010-adobe 478c76ae52dSmrg os=-scout 479c76ae52dSmrg ;; 480c76ae52dSmrg alliant | fx80) 481c76ae52dSmrg basic_machine=fx80-alliant 482c76ae52dSmrg ;; 483c76ae52dSmrg altos | altos3068) 484c76ae52dSmrg basic_machine=m68k-altos 485c76ae52dSmrg ;; 486c76ae52dSmrg am29k) 487c76ae52dSmrg basic_machine=a29k-none 488c76ae52dSmrg os=-bsd 489c76ae52dSmrg ;; 490c76ae52dSmrg amd64) 491c76ae52dSmrg basic_machine=x86_64-pc 492c76ae52dSmrg ;; 493c76ae52dSmrg amd64-*) 4948292847cSmrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 495c76ae52dSmrg ;; 496c76ae52dSmrg amdahl) 497c76ae52dSmrg basic_machine=580-amdahl 498c76ae52dSmrg os=-sysv 499c76ae52dSmrg ;; 500c76ae52dSmrg amiga | amiga-*) 501c76ae52dSmrg basic_machine=m68k-unknown 502c76ae52dSmrg ;; 503c76ae52dSmrg amigaos | amigados) 504c76ae52dSmrg basic_machine=m68k-unknown 505c76ae52dSmrg os=-amigaos 506c76ae52dSmrg ;; 507c76ae52dSmrg amigaunix | amix) 508c76ae52dSmrg basic_machine=m68k-unknown 509c76ae52dSmrg os=-sysv4 510c76ae52dSmrg ;; 511c76ae52dSmrg apollo68) 512c76ae52dSmrg basic_machine=m68k-apollo 513c76ae52dSmrg os=-sysv 514c76ae52dSmrg ;; 515c76ae52dSmrg apollo68bsd) 516c76ae52dSmrg basic_machine=m68k-apollo 517c76ae52dSmrg os=-bsd 518c76ae52dSmrg ;; 519c2939121Smrg aros) 520c2939121Smrg basic_machine=i386-pc 521c2939121Smrg os=-aros 522c2939121Smrg ;; 5238292847cSmrg asmjs) 5248292847cSmrg basic_machine=asmjs-unknown 5258292847cSmrg ;; 526c76ae52dSmrg aux) 527c76ae52dSmrg basic_machine=m68k-apple 528c76ae52dSmrg os=-aux 529c76ae52dSmrg ;; 530c76ae52dSmrg balance) 531c76ae52dSmrg basic_machine=ns32k-sequent 532c76ae52dSmrg os=-dynix 533c76ae52dSmrg ;; 5340d590c07Smrg blackfin) 5350d590c07Smrg basic_machine=bfin-unknown 5360d590c07Smrg os=-linux 5370d590c07Smrg ;; 5380d590c07Smrg blackfin-*) 5398292847cSmrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5400d590c07Smrg os=-linux 5410d590c07Smrg ;; 542c2939121Smrg bluegene*) 543c2939121Smrg basic_machine=powerpc-ibm 544c2939121Smrg os=-cnk 545c2939121Smrg ;; 546c2939121Smrg c54x-*) 5478292847cSmrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 548c2939121Smrg ;; 549c2939121Smrg c55x-*) 5508292847cSmrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 551c2939121Smrg ;; 552c2939121Smrg c6x-*) 5538292847cSmrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 554c2939121Smrg ;; 555c76ae52dSmrg c90) 556c76ae52dSmrg basic_machine=c90-cray 557c76ae52dSmrg os=-unicos 558c76ae52dSmrg ;; 5592836776bSmrg cegcc) 560c2939121Smrg basic_machine=arm-unknown 561c2939121Smrg os=-cegcc 562c2939121Smrg ;; 563c76ae52dSmrg convex-c1) 564c76ae52dSmrg basic_machine=c1-convex 565c76ae52dSmrg os=-bsd 566c76ae52dSmrg ;; 567c76ae52dSmrg convex-c2) 568c76ae52dSmrg basic_machine=c2-convex 569c76ae52dSmrg os=-bsd 570c76ae52dSmrg ;; 571c76ae52dSmrg convex-c32) 572c76ae52dSmrg basic_machine=c32-convex 573c76ae52dSmrg os=-bsd 574c76ae52dSmrg ;; 575c76ae52dSmrg convex-c34) 576c76ae52dSmrg basic_machine=c34-convex 577c76ae52dSmrg os=-bsd 578c76ae52dSmrg ;; 579c76ae52dSmrg convex-c38) 580c76ae52dSmrg basic_machine=c38-convex 581c76ae52dSmrg os=-bsd 582c76ae52dSmrg ;; 583c76ae52dSmrg cray | j90) 584c76ae52dSmrg basic_machine=j90-cray 585c76ae52dSmrg os=-unicos 586c76ae52dSmrg ;; 587c76ae52dSmrg craynv) 588c76ae52dSmrg basic_machine=craynv-cray 589c76ae52dSmrg os=-unicosmp 590c76ae52dSmrg ;; 5912836776bSmrg cr16 | cr16-*) 5920d590c07Smrg basic_machine=cr16-unknown 593c76ae52dSmrg os=-elf 594c76ae52dSmrg ;; 595c76ae52dSmrg crds | unos) 596c76ae52dSmrg basic_machine=m68k-crds 597c76ae52dSmrg ;; 598c76ae52dSmrg crisv32 | crisv32-* | etraxfs*) 599c76ae52dSmrg basic_machine=crisv32-axis 600c76ae52dSmrg ;; 601c76ae52dSmrg cris | cris-* | etrax*) 602c76ae52dSmrg basic_machine=cris-axis 603c76ae52dSmrg ;; 604c76ae52dSmrg crx) 605c76ae52dSmrg basic_machine=crx-unknown 606c76ae52dSmrg os=-elf 607c76ae52dSmrg ;; 608c76ae52dSmrg da30 | da30-*) 609c76ae52dSmrg basic_machine=m68k-da30 610c76ae52dSmrg ;; 611c76ae52dSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 612c76ae52dSmrg basic_machine=mips-dec 613c76ae52dSmrg ;; 614c76ae52dSmrg decsystem10* | dec10*) 615c76ae52dSmrg basic_machine=pdp10-dec 616c76ae52dSmrg os=-tops10 617c76ae52dSmrg ;; 618c76ae52dSmrg decsystem20* | dec20*) 619c76ae52dSmrg basic_machine=pdp10-dec 620c76ae52dSmrg os=-tops20 621c76ae52dSmrg ;; 622c76ae52dSmrg delta | 3300 | motorola-3300 | motorola-delta \ 623c76ae52dSmrg | 3300-motorola | delta-motorola) 624c76ae52dSmrg basic_machine=m68k-motorola 625c76ae52dSmrg ;; 626c76ae52dSmrg delta88) 627c76ae52dSmrg basic_machine=m88k-motorola 628c76ae52dSmrg os=-sysv3 629c76ae52dSmrg ;; 630c2939121Smrg dicos) 631c2939121Smrg basic_machine=i686-pc 632c2939121Smrg os=-dicos 633c2939121Smrg ;; 634c76ae52dSmrg djgpp) 635c76ae52dSmrg basic_machine=i586-pc 636c76ae52dSmrg os=-msdosdjgpp 637c76ae52dSmrg ;; 638c76ae52dSmrg dpx20 | dpx20-*) 639c76ae52dSmrg basic_machine=rs6000-bull 640c76ae52dSmrg os=-bosx 641c76ae52dSmrg ;; 6428292847cSmrg dpx2*) 643c76ae52dSmrg basic_machine=m68k-bull 644c76ae52dSmrg os=-sysv3 645c76ae52dSmrg ;; 6468292847cSmrg e500v[12]) 6478292847cSmrg basic_machine=powerpc-unknown 6488292847cSmrg os=$os"spe" 6498292847cSmrg ;; 6508292847cSmrg e500v[12]-*) 6518292847cSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6528292847cSmrg os=$os"spe" 6538292847cSmrg ;; 654c76ae52dSmrg ebmon29k) 655c76ae52dSmrg basic_machine=a29k-amd 656c76ae52dSmrg os=-ebmon 657c76ae52dSmrg ;; 658c76ae52dSmrg elxsi) 659c76ae52dSmrg basic_machine=elxsi-elxsi 660c76ae52dSmrg os=-bsd 661c76ae52dSmrg ;; 662c76ae52dSmrg encore | umax | mmax) 663c76ae52dSmrg basic_machine=ns32k-encore 664c76ae52dSmrg ;; 665c76ae52dSmrg es1800 | OSE68k | ose68k | ose | OSE) 666c76ae52dSmrg basic_machine=m68k-ericsson 667c76ae52dSmrg os=-ose 668c76ae52dSmrg ;; 669c76ae52dSmrg fx2800) 670c76ae52dSmrg basic_machine=i860-alliant 671c76ae52dSmrg ;; 672c76ae52dSmrg genix) 673c76ae52dSmrg basic_machine=ns32k-ns 674c76ae52dSmrg ;; 675c76ae52dSmrg gmicro) 676c76ae52dSmrg basic_machine=tron-gmicro 677c76ae52dSmrg os=-sysv 678c76ae52dSmrg ;; 679c76ae52dSmrg go32) 680c76ae52dSmrg basic_machine=i386-pc 681c76ae52dSmrg os=-go32 682c76ae52dSmrg ;; 683c76ae52dSmrg h3050r* | hiux*) 684c76ae52dSmrg basic_machine=hppa1.1-hitachi 685c76ae52dSmrg os=-hiuxwe2 686c76ae52dSmrg ;; 687c76ae52dSmrg h8300hms) 688c76ae52dSmrg basic_machine=h8300-hitachi 689c76ae52dSmrg os=-hms 690c76ae52dSmrg ;; 691c76ae52dSmrg h8300xray) 692c76ae52dSmrg basic_machine=h8300-hitachi 693c76ae52dSmrg os=-xray 694c76ae52dSmrg ;; 695c76ae52dSmrg h8500hms) 696c76ae52dSmrg basic_machine=h8500-hitachi 697c76ae52dSmrg os=-hms 698c76ae52dSmrg ;; 699c76ae52dSmrg harris) 700c76ae52dSmrg basic_machine=m88k-harris 701c76ae52dSmrg os=-sysv3 702c76ae52dSmrg ;; 703c76ae52dSmrg hp300-*) 704c76ae52dSmrg basic_machine=m68k-hp 705c76ae52dSmrg ;; 706c76ae52dSmrg hp300bsd) 707c76ae52dSmrg basic_machine=m68k-hp 708c76ae52dSmrg os=-bsd 709c76ae52dSmrg ;; 710c76ae52dSmrg hp300hpux) 711c76ae52dSmrg basic_machine=m68k-hp 712c76ae52dSmrg os=-hpux 713c76ae52dSmrg ;; 714c76ae52dSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 715c76ae52dSmrg basic_machine=hppa1.0-hp 716c76ae52dSmrg ;; 717c76ae52dSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 718c76ae52dSmrg basic_machine=m68000-hp 719c76ae52dSmrg ;; 720c76ae52dSmrg hp9k3[2-9][0-9]) 721c76ae52dSmrg basic_machine=m68k-hp 722c76ae52dSmrg ;; 723c76ae52dSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 724c76ae52dSmrg basic_machine=hppa1.0-hp 725c76ae52dSmrg ;; 726c76ae52dSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 727c76ae52dSmrg basic_machine=hppa1.1-hp 728c76ae52dSmrg ;; 729c76ae52dSmrg hp9k78[0-9] | hp78[0-9]) 730c76ae52dSmrg # FIXME: really hppa2.0-hp 731c76ae52dSmrg basic_machine=hppa1.1-hp 732c76ae52dSmrg ;; 733c76ae52dSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 734c76ae52dSmrg # FIXME: really hppa2.0-hp 735c76ae52dSmrg basic_machine=hppa1.1-hp 736c76ae52dSmrg ;; 737c76ae52dSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 738c76ae52dSmrg basic_machine=hppa1.1-hp 739c76ae52dSmrg ;; 740c76ae52dSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 741c76ae52dSmrg basic_machine=hppa1.0-hp 742c76ae52dSmrg ;; 743c76ae52dSmrg hppaosf) 744c76ae52dSmrg basic_machine=hppa1.1-hp 745c76ae52dSmrg os=-osf 746c76ae52dSmrg ;; 747c76ae52dSmrg hppro) 748c76ae52dSmrg basic_machine=hppa1.1-hp 749c76ae52dSmrg os=-proelf 750c76ae52dSmrg ;; 751c76ae52dSmrg i370-ibm* | ibm*) 752c76ae52dSmrg basic_machine=i370-ibm 753c76ae52dSmrg ;; 754c76ae52dSmrg i*86v32) 7558292847cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 756c76ae52dSmrg os=-sysv32 757c76ae52dSmrg ;; 758c76ae52dSmrg i*86v4*) 7598292847cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 760c76ae52dSmrg os=-sysv4 761c76ae52dSmrg ;; 762c76ae52dSmrg i*86v) 7638292847cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 764c76ae52dSmrg os=-sysv 765c76ae52dSmrg ;; 766c76ae52dSmrg i*86sol2) 7678292847cSmrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 768c76ae52dSmrg os=-solaris2 769c76ae52dSmrg ;; 770c76ae52dSmrg i386mach) 771c76ae52dSmrg basic_machine=i386-mach 772c76ae52dSmrg os=-mach 773c76ae52dSmrg ;; 7748292847cSmrg vsta) 775c76ae52dSmrg basic_machine=i386-unknown 776c76ae52dSmrg os=-vsta 777c76ae52dSmrg ;; 778c76ae52dSmrg iris | iris4d) 779c76ae52dSmrg basic_machine=mips-sgi 780c76ae52dSmrg case $os in 781c76ae52dSmrg -irix*) 782c76ae52dSmrg ;; 783c76ae52dSmrg *) 784c76ae52dSmrg os=-irix4 785c76ae52dSmrg ;; 786c76ae52dSmrg esac 787c76ae52dSmrg ;; 788c76ae52dSmrg isi68 | isi) 789c76ae52dSmrg basic_machine=m68k-isi 790c76ae52dSmrg os=-sysv 791c76ae52dSmrg ;; 7928292847cSmrg leon-*|leon[3-9]-*) 7938292847cSmrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 7948292847cSmrg ;; 7950d590c07Smrg m68knommu) 7960d590c07Smrg basic_machine=m68k-unknown 7970d590c07Smrg os=-linux 7980d590c07Smrg ;; 7990d590c07Smrg m68knommu-*) 8008292847cSmrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 8010d590c07Smrg os=-linux 8020d590c07Smrg ;; 803c76ae52dSmrg magnum | m3230) 804c76ae52dSmrg basic_machine=mips-mips 805c76ae52dSmrg os=-sysv 806c76ae52dSmrg ;; 807c76ae52dSmrg merlin) 808c76ae52dSmrg basic_machine=ns32k-utek 809c76ae52dSmrg os=-sysv 810c76ae52dSmrg ;; 811dff01e5aSmrg microblaze*) 812c2939121Smrg basic_machine=microblaze-xilinx 813c2939121Smrg ;; 814dff01e5aSmrg mingw64) 815dff01e5aSmrg basic_machine=x86_64-pc 816dff01e5aSmrg os=-mingw64 817dff01e5aSmrg ;; 818c76ae52dSmrg mingw32) 8198292847cSmrg basic_machine=i686-pc 820c76ae52dSmrg os=-mingw32 821c76ae52dSmrg ;; 8220d590c07Smrg mingw32ce) 8230d590c07Smrg basic_machine=arm-unknown 8240d590c07Smrg os=-mingw32ce 8250d590c07Smrg ;; 826c76ae52dSmrg miniframe) 827c76ae52dSmrg basic_machine=m68000-convergent 828c76ae52dSmrg ;; 829c76ae52dSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 830c76ae52dSmrg basic_machine=m68k-atari 831c76ae52dSmrg os=-mint 832c76ae52dSmrg ;; 833c76ae52dSmrg mips3*-*) 8348292847cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 835c76ae52dSmrg ;; 836c76ae52dSmrg mips3*) 8378292847cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 838c76ae52dSmrg ;; 839c76ae52dSmrg monitor) 840c76ae52dSmrg basic_machine=m68k-rom68k 841c76ae52dSmrg os=-coff 842c76ae52dSmrg ;; 843c76ae52dSmrg morphos) 844c76ae52dSmrg basic_machine=powerpc-unknown 845c76ae52dSmrg os=-morphos 846c76ae52dSmrg ;; 8478292847cSmrg moxiebox) 8488292847cSmrg basic_machine=moxie-unknown 8498292847cSmrg os=-moxiebox 8508292847cSmrg ;; 851c76ae52dSmrg msdos) 852c76ae52dSmrg basic_machine=i386-pc 853c76ae52dSmrg os=-msdos 854c76ae52dSmrg ;; 855c76ae52dSmrg ms1-*) 8568292847cSmrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 857c76ae52dSmrg ;; 8582836776bSmrg msys) 8598292847cSmrg basic_machine=i686-pc 8602836776bSmrg os=-msys 8612836776bSmrg ;; 862c76ae52dSmrg mvs) 863c76ae52dSmrg basic_machine=i370-ibm 864c76ae52dSmrg os=-mvs 865c76ae52dSmrg ;; 8662836776bSmrg nacl) 8672836776bSmrg basic_machine=le32-unknown 8682836776bSmrg os=-nacl 8692836776bSmrg ;; 870c76ae52dSmrg ncr3000) 871c76ae52dSmrg basic_machine=i486-ncr 872c76ae52dSmrg os=-sysv4 873c76ae52dSmrg ;; 874c76ae52dSmrg netbsd386) 875c76ae52dSmrg basic_machine=i386-unknown 876c76ae52dSmrg os=-netbsd 877c76ae52dSmrg ;; 878c76ae52dSmrg netwinder) 879c76ae52dSmrg basic_machine=armv4l-rebel 880c76ae52dSmrg os=-linux 881c76ae52dSmrg ;; 882c76ae52dSmrg news | news700 | news800 | news900) 883c76ae52dSmrg basic_machine=m68k-sony 884c76ae52dSmrg os=-newsos 885c76ae52dSmrg ;; 886c76ae52dSmrg news1000) 887c76ae52dSmrg basic_machine=m68030-sony 888c76ae52dSmrg os=-newsos 889c76ae52dSmrg ;; 890c76ae52dSmrg news-3600 | risc-news) 891c76ae52dSmrg basic_machine=mips-sony 892c76ae52dSmrg os=-newsos 893c76ae52dSmrg ;; 894c76ae52dSmrg necv70) 895c76ae52dSmrg basic_machine=v70-nec 896c76ae52dSmrg os=-sysv 897c76ae52dSmrg ;; 8988292847cSmrg next | m*-next) 899c76ae52dSmrg basic_machine=m68k-next 900c76ae52dSmrg case $os in 901c76ae52dSmrg -nextstep* ) 902c76ae52dSmrg ;; 903c76ae52dSmrg -ns2*) 904c76ae52dSmrg os=-nextstep2 905c76ae52dSmrg ;; 906c76ae52dSmrg *) 907c76ae52dSmrg os=-nextstep3 908c76ae52dSmrg ;; 909c76ae52dSmrg esac 910c76ae52dSmrg ;; 911c76ae52dSmrg nh3000) 912c76ae52dSmrg basic_machine=m68k-harris 913c76ae52dSmrg os=-cxux 914c76ae52dSmrg ;; 915c76ae52dSmrg nh[45]000) 916c76ae52dSmrg basic_machine=m88k-harris 917c76ae52dSmrg os=-cxux 918c76ae52dSmrg ;; 919c76ae52dSmrg nindy960) 920c76ae52dSmrg basic_machine=i960-intel 921c76ae52dSmrg os=-nindy 922c76ae52dSmrg ;; 923c76ae52dSmrg mon960) 924c76ae52dSmrg basic_machine=i960-intel 925c76ae52dSmrg os=-mon960 926c76ae52dSmrg ;; 927c76ae52dSmrg nonstopux) 928c76ae52dSmrg basic_machine=mips-compaq 929c76ae52dSmrg os=-nonstopux 930c76ae52dSmrg ;; 931c76ae52dSmrg np1) 932c76ae52dSmrg basic_machine=np1-gould 933c76ae52dSmrg ;; 9342836776bSmrg neo-tandem) 935c2939121Smrg basic_machine=neo-tandem 936c2939121Smrg ;; 9372836776bSmrg nse-tandem) 938c2939121Smrg basic_machine=nse-tandem 939c2939121Smrg ;; 940c76ae52dSmrg nsr-tandem) 941c76ae52dSmrg basic_machine=nsr-tandem 942c76ae52dSmrg ;; 9438292847cSmrg nsv-tandem) 9448292847cSmrg basic_machine=nsv-tandem 9458292847cSmrg ;; 9468292847cSmrg nsx-tandem) 9478292847cSmrg basic_machine=nsx-tandem 9488292847cSmrg ;; 949c76ae52dSmrg op50n-* | op60c-*) 950c76ae52dSmrg basic_machine=hppa1.1-oki 951c76ae52dSmrg os=-proelf 952c76ae52dSmrg ;; 953c76ae52dSmrg openrisc | openrisc-*) 954c76ae52dSmrg basic_machine=or32-unknown 955c76ae52dSmrg ;; 956c76ae52dSmrg os400) 957c76ae52dSmrg basic_machine=powerpc-ibm 958c76ae52dSmrg os=-os400 959c76ae52dSmrg ;; 960c76ae52dSmrg OSE68000 | ose68000) 961c76ae52dSmrg basic_machine=m68000-ericsson 962c76ae52dSmrg os=-ose 963c76ae52dSmrg ;; 964c76ae52dSmrg os68k) 965c76ae52dSmrg basic_machine=m68k-none 966c76ae52dSmrg os=-os68k 967c76ae52dSmrg ;; 968c76ae52dSmrg pa-hitachi) 969c76ae52dSmrg basic_machine=hppa1.1-hitachi 970c76ae52dSmrg os=-hiuxwe2 971c76ae52dSmrg ;; 972c76ae52dSmrg paragon) 973c76ae52dSmrg basic_machine=i860-intel 974c76ae52dSmrg os=-osf 975c76ae52dSmrg ;; 9760d590c07Smrg parisc) 9770d590c07Smrg basic_machine=hppa-unknown 9780d590c07Smrg os=-linux 9790d590c07Smrg ;; 9800d590c07Smrg parisc-*) 9818292847cSmrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9820d590c07Smrg os=-linux 9830d590c07Smrg ;; 984c76ae52dSmrg pbd) 985c76ae52dSmrg basic_machine=sparc-tti 986c76ae52dSmrg ;; 987c76ae52dSmrg pbb) 988c76ae52dSmrg basic_machine=m68k-tti 989c76ae52dSmrg ;; 990c76ae52dSmrg pc532 | pc532-*) 991c76ae52dSmrg basic_machine=ns32k-pc532 992c76ae52dSmrg ;; 993c76ae52dSmrg pc98) 994c76ae52dSmrg basic_machine=i386-pc 995c76ae52dSmrg ;; 996c76ae52dSmrg pc98-*) 9978292847cSmrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 998c76ae52dSmrg ;; 999c76ae52dSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 1000c76ae52dSmrg basic_machine=i586-pc 1001c76ae52dSmrg ;; 1002c76ae52dSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 1003c76ae52dSmrg basic_machine=i686-pc 1004c76ae52dSmrg ;; 1005c76ae52dSmrg pentiumii | pentium2 | pentiumiii | pentium3) 1006c76ae52dSmrg basic_machine=i686-pc 1007c76ae52dSmrg ;; 1008c76ae52dSmrg pentium4) 1009c76ae52dSmrg basic_machine=i786-pc 1010c76ae52dSmrg ;; 1011c76ae52dSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10128292847cSmrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1013c76ae52dSmrg ;; 1014c76ae52dSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 10158292847cSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1016c76ae52dSmrg ;; 1017c76ae52dSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10188292847cSmrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1019c76ae52dSmrg ;; 1020c76ae52dSmrg pentium4-*) 10218292847cSmrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1022c76ae52dSmrg ;; 1023c76ae52dSmrg pn) 1024c76ae52dSmrg basic_machine=pn-gould 1025c76ae52dSmrg ;; 1026c76ae52dSmrg power) basic_machine=power-ibm 1027c76ae52dSmrg ;; 10282836776bSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1029c76ae52dSmrg ;; 10302836776bSmrg ppc-* | ppcbe-*) 10318292847cSmrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1032c76ae52dSmrg ;; 10338292847cSmrg ppcle | powerpclittle) 1034c76ae52dSmrg basic_machine=powerpcle-unknown 1035c76ae52dSmrg ;; 1036c76ae52dSmrg ppcle-* | powerpclittle-*) 10378292847cSmrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1038c76ae52dSmrg ;; 1039c76ae52dSmrg ppc64) basic_machine=powerpc64-unknown 1040c76ae52dSmrg ;; 10418292847cSmrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1042c76ae52dSmrg ;; 10438292847cSmrg ppc64le | powerpc64little) 1044c76ae52dSmrg basic_machine=powerpc64le-unknown 1045c76ae52dSmrg ;; 1046c76ae52dSmrg ppc64le-* | powerpc64little-*) 10478292847cSmrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1048c76ae52dSmrg ;; 1049c76ae52dSmrg ps2) 1050c76ae52dSmrg basic_machine=i386-ibm 1051c76ae52dSmrg ;; 1052c76ae52dSmrg pw32) 1053c76ae52dSmrg basic_machine=i586-unknown 1054c76ae52dSmrg os=-pw32 1055c76ae52dSmrg ;; 1056dff01e5aSmrg rdos | rdos64) 1057dff01e5aSmrg basic_machine=x86_64-pc 1058dff01e5aSmrg os=-rdos 1059dff01e5aSmrg ;; 1060dff01e5aSmrg rdos32) 1061c76ae52dSmrg basic_machine=i386-pc 1062c76ae52dSmrg os=-rdos 1063c76ae52dSmrg ;; 1064c76ae52dSmrg rom68k) 1065c76ae52dSmrg basic_machine=m68k-rom68k 1066c76ae52dSmrg os=-coff 1067c76ae52dSmrg ;; 1068c76ae52dSmrg rm[46]00) 1069c76ae52dSmrg basic_machine=mips-siemens 1070c76ae52dSmrg ;; 1071c76ae52dSmrg rtpc | rtpc-*) 1072c76ae52dSmrg basic_machine=romp-ibm 1073c76ae52dSmrg ;; 1074c76ae52dSmrg s390 | s390-*) 1075c76ae52dSmrg basic_machine=s390-ibm 1076c76ae52dSmrg ;; 1077c76ae52dSmrg s390x | s390x-*) 1078c76ae52dSmrg basic_machine=s390x-ibm 1079c76ae52dSmrg ;; 1080c76ae52dSmrg sa29200) 1081c76ae52dSmrg basic_machine=a29k-amd 1082c76ae52dSmrg os=-udi 1083c76ae52dSmrg ;; 1084c76ae52dSmrg sb1) 1085c76ae52dSmrg basic_machine=mipsisa64sb1-unknown 1086c76ae52dSmrg ;; 1087c76ae52dSmrg sb1el) 1088c76ae52dSmrg basic_machine=mipsisa64sb1el-unknown 1089c76ae52dSmrg ;; 10900d590c07Smrg sde) 10910d590c07Smrg basic_machine=mipsisa32-sde 10920d590c07Smrg os=-elf 10930d590c07Smrg ;; 1094c76ae52dSmrg sei) 1095c76ae52dSmrg basic_machine=mips-sei 1096c76ae52dSmrg os=-seiux 1097c76ae52dSmrg ;; 1098c76ae52dSmrg sequent) 1099c76ae52dSmrg basic_machine=i386-sequent 1100c76ae52dSmrg ;; 11010d590c07Smrg sh5el) 11020d590c07Smrg basic_machine=sh5le-unknown 11030d590c07Smrg ;; 11048292847cSmrg simso-wrs) 1105c76ae52dSmrg basic_machine=sparclite-wrs 1106c76ae52dSmrg os=-vxworks 1107c76ae52dSmrg ;; 1108c76ae52dSmrg sps7) 1109c76ae52dSmrg basic_machine=m68k-bull 1110c76ae52dSmrg os=-sysv2 1111c76ae52dSmrg ;; 1112c76ae52dSmrg spur) 1113c76ae52dSmrg basic_machine=spur-unknown 1114c76ae52dSmrg ;; 1115c76ae52dSmrg st2000) 1116c76ae52dSmrg basic_machine=m68k-tandem 1117c76ae52dSmrg ;; 1118c76ae52dSmrg stratus) 1119c76ae52dSmrg basic_machine=i860-stratus 1120c76ae52dSmrg os=-sysv4 1121c76ae52dSmrg ;; 11222836776bSmrg strongarm-* | thumb-*) 11238292847cSmrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11242836776bSmrg ;; 1125c76ae52dSmrg sun2) 1126c76ae52dSmrg basic_machine=m68000-sun 1127c76ae52dSmrg ;; 1128c76ae52dSmrg sun2os3) 1129c76ae52dSmrg basic_machine=m68000-sun 1130c76ae52dSmrg os=-sunos3 1131c76ae52dSmrg ;; 1132c76ae52dSmrg sun2os4) 1133c76ae52dSmrg basic_machine=m68000-sun 1134c76ae52dSmrg os=-sunos4 1135c76ae52dSmrg ;; 1136c76ae52dSmrg sun3os3) 1137c76ae52dSmrg basic_machine=m68k-sun 1138c76ae52dSmrg os=-sunos3 1139c76ae52dSmrg ;; 1140c76ae52dSmrg sun3os4) 1141c76ae52dSmrg basic_machine=m68k-sun 1142c76ae52dSmrg os=-sunos4 1143c76ae52dSmrg ;; 1144c76ae52dSmrg sun4os3) 1145c76ae52dSmrg basic_machine=sparc-sun 1146c76ae52dSmrg os=-sunos3 1147c76ae52dSmrg ;; 1148c76ae52dSmrg sun4os4) 1149c76ae52dSmrg basic_machine=sparc-sun 1150c76ae52dSmrg os=-sunos4 1151c76ae52dSmrg ;; 1152c76ae52dSmrg sun4sol2) 1153c76ae52dSmrg basic_machine=sparc-sun 1154c76ae52dSmrg os=-solaris2 1155c76ae52dSmrg ;; 1156c76ae52dSmrg sun3 | sun3-*) 1157c76ae52dSmrg basic_machine=m68k-sun 1158c76ae52dSmrg ;; 1159c76ae52dSmrg sun4) 1160c76ae52dSmrg basic_machine=sparc-sun 1161c76ae52dSmrg ;; 1162c76ae52dSmrg sun386 | sun386i | roadrunner) 1163c76ae52dSmrg basic_machine=i386-sun 1164c76ae52dSmrg ;; 1165c76ae52dSmrg sv1) 1166c76ae52dSmrg basic_machine=sv1-cray 1167c76ae52dSmrg os=-unicos 1168c76ae52dSmrg ;; 1169c76ae52dSmrg symmetry) 1170c76ae52dSmrg basic_machine=i386-sequent 1171c76ae52dSmrg os=-dynix 1172c76ae52dSmrg ;; 1173c76ae52dSmrg t3e) 1174c76ae52dSmrg basic_machine=alphaev5-cray 1175c76ae52dSmrg os=-unicos 1176c76ae52dSmrg ;; 1177c76ae52dSmrg t90) 1178c76ae52dSmrg basic_machine=t90-cray 1179c76ae52dSmrg os=-unicos 1180c76ae52dSmrg ;; 11810d590c07Smrg tile*) 11822836776bSmrg basic_machine=$basic_machine-unknown 11830d590c07Smrg os=-linux-gnu 11840d590c07Smrg ;; 1185c76ae52dSmrg tx39) 1186c76ae52dSmrg basic_machine=mipstx39-unknown 1187c76ae52dSmrg ;; 1188c76ae52dSmrg tx39el) 1189c76ae52dSmrg basic_machine=mipstx39el-unknown 1190c76ae52dSmrg ;; 1191c76ae52dSmrg toad1) 1192c76ae52dSmrg basic_machine=pdp10-xkl 1193c76ae52dSmrg os=-tops20 1194c76ae52dSmrg ;; 1195c76ae52dSmrg tower | tower-32) 1196c76ae52dSmrg basic_machine=m68k-ncr 1197c76ae52dSmrg ;; 1198c76ae52dSmrg tpf) 1199c76ae52dSmrg basic_machine=s390x-ibm 1200c76ae52dSmrg os=-tpf 1201c76ae52dSmrg ;; 1202c76ae52dSmrg udi29k) 1203c76ae52dSmrg basic_machine=a29k-amd 1204c76ae52dSmrg os=-udi 1205c76ae52dSmrg ;; 1206c76ae52dSmrg ultra3) 1207c76ae52dSmrg basic_machine=a29k-nyu 1208c76ae52dSmrg os=-sym1 1209c76ae52dSmrg ;; 1210c76ae52dSmrg v810 | necv810) 1211c76ae52dSmrg basic_machine=v810-nec 1212c76ae52dSmrg os=-none 1213c76ae52dSmrg ;; 1214c76ae52dSmrg vaxv) 1215c76ae52dSmrg basic_machine=vax-dec 1216c76ae52dSmrg os=-sysv 1217c76ae52dSmrg ;; 1218c76ae52dSmrg vms) 1219c76ae52dSmrg basic_machine=vax-dec 1220c76ae52dSmrg os=-vms 1221c76ae52dSmrg ;; 1222c76ae52dSmrg vpp*|vx|vx-*) 1223c76ae52dSmrg basic_machine=f301-fujitsu 1224c76ae52dSmrg ;; 1225c76ae52dSmrg vxworks960) 1226c76ae52dSmrg basic_machine=i960-wrs 1227c76ae52dSmrg os=-vxworks 1228c76ae52dSmrg ;; 1229c76ae52dSmrg vxworks68) 1230c76ae52dSmrg basic_machine=m68k-wrs 1231c76ae52dSmrg os=-vxworks 1232c76ae52dSmrg ;; 1233c76ae52dSmrg vxworks29k) 1234c76ae52dSmrg basic_machine=a29k-wrs 1235c76ae52dSmrg os=-vxworks 1236c76ae52dSmrg ;; 1237c76ae52dSmrg w65*) 1238c76ae52dSmrg basic_machine=w65-wdc 1239c76ae52dSmrg os=-none 1240c76ae52dSmrg ;; 1241c76ae52dSmrg w89k-*) 1242c76ae52dSmrg basic_machine=hppa1.1-winbond 1243c76ae52dSmrg os=-proelf 1244c76ae52dSmrg ;; 12458292847cSmrg x64) 12468292847cSmrg basic_machine=x86_64-pc 12478292847cSmrg ;; 1248c76ae52dSmrg xbox) 1249c76ae52dSmrg basic_machine=i686-pc 1250c76ae52dSmrg os=-mingw32 1251c76ae52dSmrg ;; 1252c76ae52dSmrg xps | xps100) 1253c76ae52dSmrg basic_machine=xps100-honeywell 1254c76ae52dSmrg ;; 12552836776bSmrg xscale-* | xscalee[bl]-*) 12568292847cSmrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12572836776bSmrg ;; 1258c76ae52dSmrg ymp) 1259c76ae52dSmrg basic_machine=ymp-cray 1260c76ae52dSmrg os=-unicos 1261c76ae52dSmrg ;; 1262c76ae52dSmrg none) 1263c76ae52dSmrg basic_machine=none-none 1264c76ae52dSmrg os=-none 1265c76ae52dSmrg ;; 1266c76ae52dSmrg 1267c76ae52dSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1268c76ae52dSmrg# some cases the only manufacturer, in others, it is the most popular. 1269c76ae52dSmrg w89k) 1270c76ae52dSmrg basic_machine=hppa1.1-winbond 1271c76ae52dSmrg ;; 1272c76ae52dSmrg op50n) 1273c76ae52dSmrg basic_machine=hppa1.1-oki 1274c76ae52dSmrg ;; 1275c76ae52dSmrg op60c) 1276c76ae52dSmrg basic_machine=hppa1.1-oki 1277c76ae52dSmrg ;; 1278c76ae52dSmrg romp) 1279c76ae52dSmrg basic_machine=romp-ibm 1280c76ae52dSmrg ;; 1281c76ae52dSmrg mmix) 1282c76ae52dSmrg basic_machine=mmix-knuth 1283c76ae52dSmrg ;; 1284c76ae52dSmrg rs6000) 1285c76ae52dSmrg basic_machine=rs6000-ibm 1286c76ae52dSmrg ;; 1287c76ae52dSmrg vax) 1288c76ae52dSmrg basic_machine=vax-dec 1289c76ae52dSmrg ;; 1290c76ae52dSmrg pdp11) 1291c76ae52dSmrg basic_machine=pdp11-dec 1292c76ae52dSmrg ;; 1293c76ae52dSmrg we32k) 1294c76ae52dSmrg basic_machine=we32k-att 1295c76ae52dSmrg ;; 1296c2939121Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1297c76ae52dSmrg basic_machine=sh-unknown 1298c76ae52dSmrg ;; 1299c76ae52dSmrg cydra) 1300c76ae52dSmrg basic_machine=cydra-cydrome 1301c76ae52dSmrg ;; 1302c76ae52dSmrg orion) 1303c76ae52dSmrg basic_machine=orion-highlevel 1304c76ae52dSmrg ;; 1305c76ae52dSmrg orion105) 1306c76ae52dSmrg basic_machine=clipper-highlevel 1307c76ae52dSmrg ;; 1308c76ae52dSmrg mac | mpw | mac-mpw) 1309c76ae52dSmrg basic_machine=m68k-apple 1310c76ae52dSmrg ;; 1311c76ae52dSmrg pmac | pmac-mpw) 1312c76ae52dSmrg basic_machine=powerpc-apple 1313c76ae52dSmrg ;; 1314c76ae52dSmrg *-unknown) 1315c76ae52dSmrg # Make sure to match an already-canonicalized machine name. 1316c76ae52dSmrg ;; 1317c76ae52dSmrg *) 13188292847cSmrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1319c76ae52dSmrg exit 1 1320c76ae52dSmrg ;; 1321c76ae52dSmrgesac 1322c76ae52dSmrg 1323c76ae52dSmrg# Here we canonicalize certain aliases for manufacturers. 1324c76ae52dSmrgcase $basic_machine in 1325c76ae52dSmrg *-digital*) 13268292847cSmrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1327c76ae52dSmrg ;; 1328c76ae52dSmrg *-commodore*) 13298292847cSmrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1330c76ae52dSmrg ;; 1331c76ae52dSmrg *) 1332c76ae52dSmrg ;; 1333c76ae52dSmrgesac 1334c76ae52dSmrg 1335c76ae52dSmrg# Decode manufacturer-specific aliases for certain operating systems. 1336c76ae52dSmrg 1337c76ae52dSmrgif [ x"$os" != x"" ] 1338c76ae52dSmrgthen 1339c76ae52dSmrgcase $os in 13408292847cSmrg # First match some system type aliases that might get confused 13418292847cSmrg # with valid system types. 1342c76ae52dSmrg # -solaris* is a basic system type, with this one exception. 13432836776bSmrg -auroraux) 13442836776bSmrg os=-auroraux 1345c2939121Smrg ;; 1346c76ae52dSmrg -solaris1 | -solaris1.*) 1347c76ae52dSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1348c76ae52dSmrg ;; 1349c76ae52dSmrg -solaris) 1350c76ae52dSmrg os=-solaris2 1351c76ae52dSmrg ;; 1352c76ae52dSmrg -unixware*) 1353c76ae52dSmrg os=-sysv4.2uw 1354c76ae52dSmrg ;; 1355c76ae52dSmrg -gnu/linux*) 1356c76ae52dSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1357c76ae52dSmrg ;; 13588292847cSmrg # es1800 is here to avoid being matched by es* (a different OS) 13598292847cSmrg -es1800*) 13608292847cSmrg os=-ose 13618292847cSmrg ;; 13628292847cSmrg # Now accept the basic system types. 1363c76ae52dSmrg # The portable systems comes first. 13648292847cSmrg # Each alternative MUST end in a * to match a version number. 1365c76ae52dSmrg # -sysv* is not here because it comes later, after sysvr4. 1366c76ae52dSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1367c2939121Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1368c2939121Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1369dff01e5aSmrg | -sym* | -kopensolaris* | -plan9* \ 1370c76ae52dSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13718292847cSmrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1372c76ae52dSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1373c76ae52dSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13748292847cSmrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13758292847cSmrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 1376c76ae52dSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1377c76ae52dSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1378c76ae52dSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13798292847cSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 13808292847cSmrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13812836776bSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13828292847cSmrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1383dff01e5aSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 13848292847cSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13858292847cSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 1386c76ae52dSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1387c76ae52dSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1388c76ae52dSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13898292847cSmrg | -morphos* | -superux* | -rtmk* | -windiss* \ 1390c76ae52dSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13918292847cSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13928292847cSmrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13938292847cSmrg | -midnightbsd*) 1394c76ae52dSmrg # Remember, each alternative MUST END IN *, to match a version number. 1395c76ae52dSmrg ;; 1396c76ae52dSmrg -qnx*) 1397c76ae52dSmrg case $basic_machine in 1398c76ae52dSmrg x86-* | i*86-*) 1399c76ae52dSmrg ;; 1400c76ae52dSmrg *) 1401c76ae52dSmrg os=-nto$os 1402c76ae52dSmrg ;; 1403c76ae52dSmrg esac 1404c76ae52dSmrg ;; 1405c76ae52dSmrg -nto-qnx*) 1406c76ae52dSmrg ;; 1407c76ae52dSmrg -nto*) 1408c76ae52dSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1409c76ae52dSmrg ;; 14108292847cSmrg -sim | -xray | -os68k* | -v88r* \ 14118292847cSmrg | -windows* | -osx | -abug | -netware* | -os9* \ 1412c76ae52dSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1413c76ae52dSmrg ;; 1414c76ae52dSmrg -mac*) 14158292847cSmrg os=`echo "$os" | sed -e 's|mac|macos|'` 1416c76ae52dSmrg ;; 1417c76ae52dSmrg -linux-dietlibc) 1418c76ae52dSmrg os=-linux-dietlibc 1419c76ae52dSmrg ;; 1420c76ae52dSmrg -linux*) 1421c76ae52dSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1422c76ae52dSmrg ;; 1423c76ae52dSmrg -sunos5*) 14248292847cSmrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1425c76ae52dSmrg ;; 1426c76ae52dSmrg -sunos6*) 14278292847cSmrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1428c76ae52dSmrg ;; 1429c76ae52dSmrg -opened*) 1430c76ae52dSmrg os=-openedition 1431c76ae52dSmrg ;; 14322836776bSmrg -os400*) 1433c76ae52dSmrg os=-os400 1434c76ae52dSmrg ;; 1435c76ae52dSmrg -wince*) 1436c76ae52dSmrg os=-wince 1437c76ae52dSmrg ;; 1438c76ae52dSmrg -utek*) 1439c76ae52dSmrg os=-bsd 1440c76ae52dSmrg ;; 1441c76ae52dSmrg -dynix*) 1442c76ae52dSmrg os=-bsd 1443c76ae52dSmrg ;; 1444c76ae52dSmrg -acis*) 1445c76ae52dSmrg os=-aos 1446c76ae52dSmrg ;; 1447c76ae52dSmrg -atheos*) 1448c76ae52dSmrg os=-atheos 1449c76ae52dSmrg ;; 1450c76ae52dSmrg -syllable*) 1451c76ae52dSmrg os=-syllable 1452c76ae52dSmrg ;; 1453c76ae52dSmrg -386bsd) 1454c76ae52dSmrg os=-bsd 1455c76ae52dSmrg ;; 1456c76ae52dSmrg -ctix* | -uts*) 1457c76ae52dSmrg os=-sysv 1458c76ae52dSmrg ;; 1459c76ae52dSmrg -nova*) 1460c76ae52dSmrg os=-rtmk-nova 1461c76ae52dSmrg ;; 14628292847cSmrg -ns2) 1463c76ae52dSmrg os=-nextstep2 1464c76ae52dSmrg ;; 1465c76ae52dSmrg -nsk*) 1466c76ae52dSmrg os=-nsk 1467c76ae52dSmrg ;; 1468c76ae52dSmrg # Preserve the version number of sinix5. 1469c76ae52dSmrg -sinix5.*) 1470c76ae52dSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1471c76ae52dSmrg ;; 1472c76ae52dSmrg -sinix*) 1473c76ae52dSmrg os=-sysv4 1474c76ae52dSmrg ;; 14752836776bSmrg -tpf*) 1476c76ae52dSmrg os=-tpf 1477c76ae52dSmrg ;; 1478c76ae52dSmrg -triton*) 1479c76ae52dSmrg os=-sysv3 1480c76ae52dSmrg ;; 1481c76ae52dSmrg -oss*) 1482c76ae52dSmrg os=-sysv3 1483c76ae52dSmrg ;; 14848292847cSmrg -svr4*) 1485c76ae52dSmrg os=-sysv4 1486c76ae52dSmrg ;; 1487c76ae52dSmrg -svr3) 1488c76ae52dSmrg os=-sysv3 1489c76ae52dSmrg ;; 1490c76ae52dSmrg -sysvr4) 1491c76ae52dSmrg os=-sysv4 1492c76ae52dSmrg ;; 1493c76ae52dSmrg # This must come after -sysvr4. 1494c76ae52dSmrg -sysv*) 1495c76ae52dSmrg ;; 1496c76ae52dSmrg -ose*) 1497c76ae52dSmrg os=-ose 1498c76ae52dSmrg ;; 1499c76ae52dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1500c76ae52dSmrg os=-mint 1501c76ae52dSmrg ;; 1502c76ae52dSmrg -zvmoe) 1503c76ae52dSmrg os=-zvmoe 1504c76ae52dSmrg ;; 1505c2939121Smrg -dicos*) 1506c2939121Smrg os=-dicos 1507c2939121Smrg ;; 15088292847cSmrg -pikeos*) 15098292847cSmrg # Until real need of OS specific support for 15108292847cSmrg # particular features comes up, bare metal 15118292847cSmrg # configurations are quite functional. 15128292847cSmrg case $basic_machine in 15138292847cSmrg arm*) 15148292847cSmrg os=-eabi 15158292847cSmrg ;; 15168292847cSmrg *) 15178292847cSmrg os=-elf 15188292847cSmrg ;; 15198292847cSmrg esac 15208292847cSmrg ;; 15212836776bSmrg -nacl*) 15222836776bSmrg ;; 15238292847cSmrg -ios) 15248292847cSmrg ;; 1525c76ae52dSmrg -none) 1526c76ae52dSmrg ;; 1527c76ae52dSmrg *) 1528c76ae52dSmrg # Get rid of the `-' at the beginning of $os. 1529c76ae52dSmrg os=`echo $os | sed 's/[^-]*-//'` 15308292847cSmrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1531c76ae52dSmrg exit 1 1532c76ae52dSmrg ;; 1533c76ae52dSmrgesac 1534c76ae52dSmrgelse 1535c76ae52dSmrg 1536c76ae52dSmrg# Here we handle the default operating systems that come with various machines. 1537c76ae52dSmrg# The value should be what the vendor currently ships out the door with their 1538c76ae52dSmrg# machine or put another way, the most popular os provided with the machine. 1539c76ae52dSmrg 1540c76ae52dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1541c76ae52dSmrg# "-sun"), then you have to tell the case statement up towards the top 1542c76ae52dSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1543c76ae52dSmrg# will signal an error saying that MANUFACTURER isn't an operating 1544c76ae52dSmrg# system, and we'll never get to this point. 1545c76ae52dSmrg 1546c76ae52dSmrgcase $basic_machine in 15472836776bSmrg score-*) 15480d590c07Smrg os=-elf 15490d590c07Smrg ;; 15502836776bSmrg spu-*) 15510d590c07Smrg os=-elf 15520d590c07Smrg ;; 1553c76ae52dSmrg *-acorn) 1554c76ae52dSmrg os=-riscix1.2 1555c76ae52dSmrg ;; 1556c76ae52dSmrg arm*-rebel) 1557c76ae52dSmrg os=-linux 1558c76ae52dSmrg ;; 1559c76ae52dSmrg arm*-semi) 1560c76ae52dSmrg os=-aout 1561c76ae52dSmrg ;; 15622836776bSmrg c4x-* | tic4x-*) 15632836776bSmrg os=-coff 15640d590c07Smrg ;; 15658292847cSmrg c8051-*) 15668292847cSmrg os=-elf 15678292847cSmrg ;; 1568dff01e5aSmrg hexagon-*) 1569dff01e5aSmrg os=-elf 1570dff01e5aSmrg ;; 1571c2939121Smrg tic54x-*) 1572c2939121Smrg os=-coff 1573c2939121Smrg ;; 1574c2939121Smrg tic55x-*) 1575c2939121Smrg os=-coff 1576c2939121Smrg ;; 1577c2939121Smrg tic6x-*) 1578c2939121Smrg os=-coff 1579c2939121Smrg ;; 1580c76ae52dSmrg # This must come before the *-dec entry. 1581c76ae52dSmrg pdp10-*) 1582c76ae52dSmrg os=-tops20 1583c76ae52dSmrg ;; 1584c76ae52dSmrg pdp11-*) 1585c76ae52dSmrg os=-none 1586c76ae52dSmrg ;; 1587c76ae52dSmrg *-dec | vax-*) 1588c76ae52dSmrg os=-ultrix4.2 1589c76ae52dSmrg ;; 1590c76ae52dSmrg m68*-apollo) 1591c76ae52dSmrg os=-domain 1592c76ae52dSmrg ;; 1593c76ae52dSmrg i386-sun) 1594c76ae52dSmrg os=-sunos4.0.2 1595c76ae52dSmrg ;; 1596c76ae52dSmrg m68000-sun) 1597c76ae52dSmrg os=-sunos3 1598c76ae52dSmrg ;; 1599c76ae52dSmrg m68*-cisco) 1600c76ae52dSmrg os=-aout 1601c76ae52dSmrg ;; 16022836776bSmrg mep-*) 16030d590c07Smrg os=-elf 16040d590c07Smrg ;; 1605c76ae52dSmrg mips*-cisco) 1606c76ae52dSmrg os=-elf 1607c76ae52dSmrg ;; 1608c76ae52dSmrg mips*-*) 1609c76ae52dSmrg os=-elf 1610c76ae52dSmrg ;; 1611c76ae52dSmrg or32-*) 1612c76ae52dSmrg os=-coff 1613c76ae52dSmrg ;; 1614c76ae52dSmrg *-tti) # must be before sparc entry or we get the wrong os. 1615c76ae52dSmrg os=-sysv3 1616c76ae52dSmrg ;; 1617c76ae52dSmrg sparc-* | *-sun) 1618c76ae52dSmrg os=-sunos4.1.1 1619c76ae52dSmrg ;; 16208292847cSmrg pru-*) 16218292847cSmrg os=-elf 16228292847cSmrg ;; 1623c76ae52dSmrg *-be) 1624c76ae52dSmrg os=-beos 1625c76ae52dSmrg ;; 1626c76ae52dSmrg *-ibm) 1627c76ae52dSmrg os=-aix 1628c76ae52dSmrg ;; 16292836776bSmrg *-knuth) 1630c76ae52dSmrg os=-mmixware 1631c76ae52dSmrg ;; 1632c76ae52dSmrg *-wec) 1633c76ae52dSmrg os=-proelf 1634c76ae52dSmrg ;; 1635c76ae52dSmrg *-winbond) 1636c76ae52dSmrg os=-proelf 1637c76ae52dSmrg ;; 1638c76ae52dSmrg *-oki) 1639c76ae52dSmrg os=-proelf 1640c76ae52dSmrg ;; 1641c76ae52dSmrg *-hp) 1642c76ae52dSmrg os=-hpux 1643c76ae52dSmrg ;; 1644c76ae52dSmrg *-hitachi) 1645c76ae52dSmrg os=-hiux 1646c76ae52dSmrg ;; 1647c76ae52dSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1648c76ae52dSmrg os=-sysv 1649c76ae52dSmrg ;; 1650c76ae52dSmrg *-cbm) 1651c76ae52dSmrg os=-amigaos 1652c76ae52dSmrg ;; 1653c76ae52dSmrg *-dg) 1654c76ae52dSmrg os=-dgux 1655c76ae52dSmrg ;; 1656c76ae52dSmrg *-dolphin) 1657c76ae52dSmrg os=-sysv3 1658c76ae52dSmrg ;; 1659c76ae52dSmrg m68k-ccur) 1660c76ae52dSmrg os=-rtu 1661c76ae52dSmrg ;; 1662c76ae52dSmrg m88k-omron*) 1663c76ae52dSmrg os=-luna 1664c76ae52dSmrg ;; 16658292847cSmrg *-next) 1666c76ae52dSmrg os=-nextstep 1667c76ae52dSmrg ;; 1668c76ae52dSmrg *-sequent) 1669c76ae52dSmrg os=-ptx 1670c76ae52dSmrg ;; 1671c76ae52dSmrg *-crds) 1672c76ae52dSmrg os=-unos 1673c76ae52dSmrg ;; 1674c76ae52dSmrg *-ns) 1675c76ae52dSmrg os=-genix 1676c76ae52dSmrg ;; 1677c76ae52dSmrg i370-*) 1678c76ae52dSmrg os=-mvs 1679c76ae52dSmrg ;; 1680c76ae52dSmrg *-gould) 1681c76ae52dSmrg os=-sysv 1682c76ae52dSmrg ;; 1683c76ae52dSmrg *-highlevel) 1684c76ae52dSmrg os=-bsd 1685c76ae52dSmrg ;; 1686c76ae52dSmrg *-encore) 1687c76ae52dSmrg os=-bsd 1688c76ae52dSmrg ;; 1689c76ae52dSmrg *-sgi) 1690c76ae52dSmrg os=-irix 1691c76ae52dSmrg ;; 1692c76ae52dSmrg *-siemens) 1693c76ae52dSmrg os=-sysv4 1694c76ae52dSmrg ;; 1695c76ae52dSmrg *-masscomp) 1696c76ae52dSmrg os=-rtu 1697c76ae52dSmrg ;; 1698c76ae52dSmrg f30[01]-fujitsu | f700-fujitsu) 1699c76ae52dSmrg os=-uxpv 1700c76ae52dSmrg ;; 1701c76ae52dSmrg *-rom68k) 1702c76ae52dSmrg os=-coff 1703c76ae52dSmrg ;; 1704c76ae52dSmrg *-*bug) 1705c76ae52dSmrg os=-coff 1706c76ae52dSmrg ;; 1707c76ae52dSmrg *-apple) 1708c76ae52dSmrg os=-macos 1709c76ae52dSmrg ;; 1710c76ae52dSmrg *-atari*) 1711c76ae52dSmrg os=-mint 1712c76ae52dSmrg ;; 1713c76ae52dSmrg *) 1714c76ae52dSmrg os=-none 1715c76ae52dSmrg ;; 1716c76ae52dSmrgesac 1717c76ae52dSmrgfi 1718c76ae52dSmrg 1719c76ae52dSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1720c76ae52dSmrg# manufacturer. We pick the logical manufacturer. 1721c76ae52dSmrgvendor=unknown 1722c76ae52dSmrgcase $basic_machine in 1723c76ae52dSmrg *-unknown) 1724c76ae52dSmrg case $os in 1725c76ae52dSmrg -riscix*) 1726c76ae52dSmrg vendor=acorn 1727c76ae52dSmrg ;; 1728c76ae52dSmrg -sunos*) 1729c76ae52dSmrg vendor=sun 1730c76ae52dSmrg ;; 1731c2939121Smrg -cnk*|-aix*) 1732c76ae52dSmrg vendor=ibm 1733c76ae52dSmrg ;; 1734c76ae52dSmrg -beos*) 1735c76ae52dSmrg vendor=be 1736c76ae52dSmrg ;; 1737c76ae52dSmrg -hpux*) 1738c76ae52dSmrg vendor=hp 1739c76ae52dSmrg ;; 1740c76ae52dSmrg -mpeix*) 1741c76ae52dSmrg vendor=hp 1742c76ae52dSmrg ;; 1743c76ae52dSmrg -hiux*) 1744c76ae52dSmrg vendor=hitachi 1745c76ae52dSmrg ;; 1746c76ae52dSmrg -unos*) 1747c76ae52dSmrg vendor=crds 1748c76ae52dSmrg ;; 1749c76ae52dSmrg -dgux*) 1750c76ae52dSmrg vendor=dg 1751c76ae52dSmrg ;; 1752c76ae52dSmrg -luna*) 1753c76ae52dSmrg vendor=omron 1754c76ae52dSmrg ;; 1755c76ae52dSmrg -genix*) 1756c76ae52dSmrg vendor=ns 1757c76ae52dSmrg ;; 1758c76ae52dSmrg -mvs* | -opened*) 1759c76ae52dSmrg vendor=ibm 1760c76ae52dSmrg ;; 1761c76ae52dSmrg -os400*) 1762c76ae52dSmrg vendor=ibm 1763c76ae52dSmrg ;; 1764c76ae52dSmrg -ptx*) 1765c76ae52dSmrg vendor=sequent 1766c76ae52dSmrg ;; 1767c76ae52dSmrg -tpf*) 1768c76ae52dSmrg vendor=ibm 1769c76ae52dSmrg ;; 1770c76ae52dSmrg -vxsim* | -vxworks* | -windiss*) 1771c76ae52dSmrg vendor=wrs 1772c76ae52dSmrg ;; 1773c76ae52dSmrg -aux*) 1774c76ae52dSmrg vendor=apple 1775c76ae52dSmrg ;; 1776c76ae52dSmrg -hms*) 1777c76ae52dSmrg vendor=hitachi 1778c76ae52dSmrg ;; 1779c76ae52dSmrg -mpw* | -macos*) 1780c76ae52dSmrg vendor=apple 1781c76ae52dSmrg ;; 1782c76ae52dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1783c76ae52dSmrg vendor=atari 1784c76ae52dSmrg ;; 1785c76ae52dSmrg -vos*) 1786c76ae52dSmrg vendor=stratus 1787c76ae52dSmrg ;; 1788c76ae52dSmrg esac 17898292847cSmrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1790c76ae52dSmrg ;; 1791c76ae52dSmrgesac 1792c76ae52dSmrg 17938292847cSmrgecho "$basic_machine$os" 1794c76ae52dSmrgexit 1795c76ae52dSmrg 1796c76ae52dSmrg# Local variables: 17978292847cSmrg# eval: (add-hook 'write-file-functions 'time-stamp) 1798c76ae52dSmrg# time-stamp-start: "timestamp='" 1799c76ae52dSmrg# time-stamp-format: "%:y-%02m-%02d" 1800c76ae52dSmrg# time-stamp-end: "'" 1801c76ae52dSmrg# End: 1802