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