config.sub revision 2f60eb46
1692f60a7Smrg#! /bin/sh 2692f60a7Smrg# Configuration validation subroutine script. 32f60eb46Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 4692f60a7Smrg 52f60eb46Smrgtimestamp='2015-08-20' 6692f60a7Smrg 7eaa3dbe0Smrg# This file is free software; you can redistribute it and/or modify it 8eaa3dbe0Smrg# under the terms of the GNU General Public License as published by 9eaa3dbe0Smrg# the Free Software Foundation; either version 3 of the License, or 10692f60a7Smrg# (at your option) any later version. 11692f60a7Smrg# 12eaa3dbe0Smrg# This program is distributed in the hope that it will be useful, but 13eaa3dbe0Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14eaa3dbe0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15eaa3dbe0Smrg# General Public License for more details. 16692f60a7Smrg# 17692f60a7Smrg# You should have received a copy of the GNU General Public License 18eaa3dbe0Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1954569438Smrg# 20692f60a7Smrg# As a special exception to the GNU General Public License, if you 21692f60a7Smrg# distribute this file as part of a program that contains a 22692f60a7Smrg# configuration script generated by Autoconf, you may include it under 23eaa3dbe0Smrg# the same distribution terms that you use for the rest of that 24eaa3dbe0Smrg# program. This Exception is an additional permission under section 7 25eaa3dbe0Smrg# of the GNU General Public License, version 3 ("GPLv3"). 26692f60a7Smrg 2754569438Smrg 282f60eb46Smrg# Please send patches to <config-patches@gnu.org>. 29692f60a7Smrg# 30692f60a7Smrg# Configuration subroutine to validate and canonicalize a configuration type. 31692f60a7Smrg# Supply the specified configuration type as an argument. 32692f60a7Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 33692f60a7Smrg# Otherwise, we print the canonical config type on stdout and succeed. 34692f60a7Smrg 353f6d0e1dSmrg# You can get the latest version of this script from: 363f6d0e1dSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 373f6d0e1dSmrg 38692f60a7Smrg# This file is supposed to be the same for all GNU packages 39692f60a7Smrg# and recognize all the CPU types, system types and aliases 40692f60a7Smrg# that are meaningful with *any* GNU software. 41692f60a7Smrg# Each package is responsible for reporting which valid configurations 42692f60a7Smrg# it does not support. The user should be able to distinguish 43692f60a7Smrg# a failure to support a valid configuration from a meaningless 44692f60a7Smrg# configuration. 45692f60a7Smrg 46692f60a7Smrg# The goal of this file is to map all the various variations of a given 47692f60a7Smrg# machine specification into a single specification in the form: 48692f60a7Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49692f60a7Smrg# or in some cases, the newer four-part form: 50692f60a7Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51692f60a7Smrg# It is wrong to echo any other type of specification. 52692f60a7Smrg 53692f60a7Smrgme=`echo "$0" | sed -e 's,.*/,,'` 54692f60a7Smrg 55692f60a7Smrgusage="\ 56692f60a7SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 57692f60a7Smrg $0 [OPTION] ALIAS 58692f60a7Smrg 59692f60a7SmrgCanonicalize a configuration name. 60692f60a7Smrg 61692f60a7SmrgOperation modes: 62692f60a7Smrg -h, --help print this help, then exit 63692f60a7Smrg -t, --time-stamp print date of last modification, then exit 64692f60a7Smrg -v, --version print version number, then exit 65692f60a7Smrg 66692f60a7SmrgReport bugs and patches to <config-patches@gnu.org>." 67692f60a7Smrg 68692f60a7Smrgversion="\ 69692f60a7SmrgGNU config.sub ($timestamp) 70692f60a7Smrg 712f60eb46SmrgCopyright 1992-2015 Free Software Foundation, Inc. 72692f60a7Smrg 73692f60a7SmrgThis is free software; see the source for copying conditions. There is NO 74692f60a7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 75692f60a7Smrg 76692f60a7Smrghelp=" 77692f60a7SmrgTry \`$me --help' for more information." 78692f60a7Smrg 79692f60a7Smrg# Parse command line 80692f60a7Smrgwhile test $# -gt 0 ; do 81692f60a7Smrg case $1 in 82692f60a7Smrg --time-stamp | --time* | -t ) 8354569438Smrg echo "$timestamp" ; exit ;; 84692f60a7Smrg --version | -v ) 8554569438Smrg echo "$version" ; exit ;; 86692f60a7Smrg --help | --h* | -h ) 8754569438Smrg echo "$usage"; exit ;; 88692f60a7Smrg -- ) # Stop option processing 89692f60a7Smrg shift; break ;; 90692f60a7Smrg - ) # Use stdin as input. 91692f60a7Smrg break ;; 92692f60a7Smrg -* ) 93692f60a7Smrg echo "$me: invalid option $1$help" 94692f60a7Smrg exit 1 ;; 95692f60a7Smrg 96692f60a7Smrg *local*) 97692f60a7Smrg # First pass through any local machine types. 98692f60a7Smrg echo $1 9954569438Smrg exit ;; 100692f60a7Smrg 101692f60a7Smrg * ) 102692f60a7Smrg break ;; 103692f60a7Smrg esac 104692f60a7Smrgdone 105692f60a7Smrg 106692f60a7Smrgcase $# in 107692f60a7Smrg 0) echo "$me: missing argument$help" >&2 108692f60a7Smrg exit 1;; 109692f60a7Smrg 1) ;; 110692f60a7Smrg *) echo "$me: too many arguments$help" >&2 111692f60a7Smrg exit 1;; 112692f60a7Smrgesac 113692f60a7Smrg 114692f60a7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 115692f60a7Smrg# Here we must recognize all the valid KERNEL-OS combinations. 116692f60a7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 117692f60a7Smrgcase $maybe_os in 1183f6d0e1dSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 119eaa3dbe0Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1202f60eb46Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1213f6d0e1dSmrg kopensolaris*-gnu* | \ 12254569438Smrg storm-chaos* | os2-emx* | rtmk-nova*) 123692f60a7Smrg os=-$maybe_os 124692f60a7Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 125692f60a7Smrg ;; 126eaa3dbe0Smrg android-linux) 127eaa3dbe0Smrg os=-linux-android 128eaa3dbe0Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 129eaa3dbe0Smrg ;; 130692f60a7Smrg *) 131692f60a7Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 132692f60a7Smrg if [ $basic_machine != $1 ] 133692f60a7Smrg then os=`echo $1 | sed 's/.*-/-/'` 134692f60a7Smrg else os=; fi 135692f60a7Smrg ;; 136692f60a7Smrgesac 137692f60a7Smrg 138692f60a7Smrg### Let's recognize common machines as not being operating systems so 139692f60a7Smrg### that things like config.sub decstation-3100 work. We also 140692f60a7Smrg### recognize some manufacturers as not being operating systems, so we 141692f60a7Smrg### can provide default operating systems below. 142692f60a7Smrgcase $os in 143692f60a7Smrg -sun*os*) 144692f60a7Smrg # Prevent following clause from handling this invalid input. 145692f60a7Smrg ;; 146692f60a7Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 147692f60a7Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 148692f60a7Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 149692f60a7Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 150692f60a7Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 151692f60a7Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 152eaa3dbe0Smrg -apple | -axis | -knuth | -cray | -microblaze*) 153692f60a7Smrg os= 154692f60a7Smrg basic_machine=$1 155692f60a7Smrg ;; 1563f6d0e1dSmrg -bluegene*) 1573f6d0e1dSmrg os=-cnk 1583f6d0e1dSmrg ;; 159692f60a7Smrg -sim | -cisco | -oki | -wec | -winbond) 160692f60a7Smrg os= 161692f60a7Smrg basic_machine=$1 162692f60a7Smrg ;; 163692f60a7Smrg -scout) 164692f60a7Smrg ;; 165692f60a7Smrg -wrs) 166692f60a7Smrg os=-vxworks 167692f60a7Smrg basic_machine=$1 168692f60a7Smrg ;; 169692f60a7Smrg -chorusos*) 170692f60a7Smrg os=-chorusos 171692f60a7Smrg basic_machine=$1 172692f60a7Smrg ;; 1733f6d0e1dSmrg -chorusrdb) 1743f6d0e1dSmrg os=-chorusrdb 175692f60a7Smrg basic_machine=$1 1763f6d0e1dSmrg ;; 177692f60a7Smrg -hiux*) 178692f60a7Smrg os=-hiuxwe2 179692f60a7Smrg ;; 18054569438Smrg -sco6) 18154569438Smrg os=-sco5v6 18254569438Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18354569438Smrg ;; 184692f60a7Smrg -sco5) 185692f60a7Smrg os=-sco3.2v5 186692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187692f60a7Smrg ;; 188692f60a7Smrg -sco4) 189692f60a7Smrg os=-sco3.2v4 190692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191692f60a7Smrg ;; 192692f60a7Smrg -sco3.2.[4-9]*) 193692f60a7Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 194692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195692f60a7Smrg ;; 196692f60a7Smrg -sco3.2v[4-9]*) 197692f60a7Smrg # Don't forget version if it is 3.2v4 or newer. 198692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199692f60a7Smrg ;; 20054569438Smrg -sco5v6*) 20154569438Smrg # Don't forget version if it is 3.2v4 or newer. 20254569438Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20354569438Smrg ;; 204692f60a7Smrg -sco*) 205692f60a7Smrg os=-sco3.2v2 206692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 207692f60a7Smrg ;; 208692f60a7Smrg -udk*) 209692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210692f60a7Smrg ;; 211692f60a7Smrg -isc) 212692f60a7Smrg os=-isc2.2 213692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214692f60a7Smrg ;; 215692f60a7Smrg -clix*) 216692f60a7Smrg basic_machine=clipper-intergraph 217692f60a7Smrg ;; 218692f60a7Smrg -isc*) 219692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 220692f60a7Smrg ;; 221eaa3dbe0Smrg -lynx*178) 222eaa3dbe0Smrg os=-lynxos178 223eaa3dbe0Smrg ;; 224eaa3dbe0Smrg -lynx*5) 225eaa3dbe0Smrg os=-lynxos5 226eaa3dbe0Smrg ;; 227692f60a7Smrg -lynx*) 228692f60a7Smrg os=-lynxos 229692f60a7Smrg ;; 230692f60a7Smrg -ptx*) 231692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 232692f60a7Smrg ;; 233692f60a7Smrg -windowsnt*) 234692f60a7Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 235692f60a7Smrg ;; 236692f60a7Smrg -psos*) 237692f60a7Smrg os=-psos 238692f60a7Smrg ;; 239692f60a7Smrg -mint | -mint[0-9]*) 240692f60a7Smrg basic_machine=m68k-atari 241692f60a7Smrg os=-mint 242692f60a7Smrg ;; 243692f60a7Smrgesac 244692f60a7Smrg 245692f60a7Smrg# Decode aliases for certain CPU-COMPANY combinations. 246692f60a7Smrgcase $basic_machine in 247692f60a7Smrg # Recognize the basic CPU types without company name. 248692f60a7Smrg # Some are omitted here because they have special meanings below. 249692f60a7Smrg 1750a | 580 \ 250692f60a7Smrg | a29k \ 251eaa3dbe0Smrg | aarch64 | aarch64_be \ 252692f60a7Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 253692f60a7Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25454569438Smrg | am33_2.0 \ 25595903e71Smrg | arc | arceb \ 256eaa3dbe0Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 257eaa3dbe0Smrg | avr | avr32 \ 2582f60eb46Smrg | ba \ 259eaa3dbe0Smrg | be32 | be64 \ 26054569438Smrg | bfin \ 26195903e71Smrg | c4x | c8051 | clipper \ 26295903e71Smrg | d10v | d30v | dlx | dsp16xx \ 2632f60eb46Smrg | e2k | epiphany \ 2642f60eb46Smrg | fido | fr30 | frv | ft32 \ 265692f60a7Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2663f6d0e1dSmrg | hexagon \ 267692f60a7Smrg | i370 | i860 | i960 | ia64 \ 26854569438Smrg | ip2k | iq2000 \ 26995903e71Smrg | k1om \ 2703f6d0e1dSmrg | le32 | le64 \ 2713f6d0e1dSmrg | lm32 \ 27254569438Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 273eaa3dbe0Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 274692f60a7Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 275692f60a7Smrg | mips16 \ 276692f60a7Smrg | mips64 | mips64el \ 2773f6d0e1dSmrg | mips64octeon | mips64octeonel \ 2782e71ea71Smrg | mips64orion | mips64orionel \ 2793f6d0e1dSmrg | mips64r5900 | mips64r5900el \ 2803f6d0e1dSmrg | mips64vr | mips64vrel \ 281692f60a7Smrg | mips64vr4100 | mips64vr4100el \ 282692f60a7Smrg | mips64vr4300 | mips64vr4300el \ 283692f60a7Smrg | mips64vr5000 | mips64vr5000el \ 28454569438Smrg | mips64vr5900 | mips64vr5900el \ 285692f60a7Smrg | mipsisa32 | mipsisa32el \ 286692f60a7Smrg | mipsisa32r2 | mipsisa32r2el \ 28795903e71Smrg | mipsisa32r6 | mipsisa32r6el \ 288692f60a7Smrg | mipsisa64 | mipsisa64el \ 28954569438Smrg | mipsisa64r2 | mipsisa64r2el \ 29095903e71Smrg | mipsisa64r6 | mipsisa64r6el \ 291692f60a7Smrg | mipsisa64sb1 | mipsisa64sb1el \ 292692f60a7Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 293eaa3dbe0Smrg | mipsr5900 | mipsr5900el \ 294692f60a7Smrg | mipstx39 | mipstx39el \ 295692f60a7Smrg | mn10200 | mn10300 \ 2963f6d0e1dSmrg | moxie \ 29754569438Smrg | mt \ 298692f60a7Smrg | msp430 \ 2993f6d0e1dSmrg | nds32 | nds32le | nds32be \ 30095903e71Smrg | nios | nios2 | nios2eb | nios2el \ 301692f60a7Smrg | ns16k | ns32k \ 30295903e71Smrg | open8 | or1k | or1knd | or32 \ 303692f60a7Smrg | pdp10 | pdp11 | pj | pjl \ 3043f6d0e1dSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 305692f60a7Smrg | pyramid \ 30695903e71Smrg | riscv32 | riscv64 \ 3073f6d0e1dSmrg | rl78 | rx \ 30854569438Smrg | score \ 3092f60eb46Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 310692f60a7Smrg | sh64 | sh64le \ 31154569438Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31254569438Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3133f6d0e1dSmrg | spu \ 3143f6d0e1dSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3153f6d0e1dSmrg | ubicom32 \ 3163f6d0e1dSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3172f60eb46Smrg | visium \ 318692f60a7Smrg | we32k \ 3193f6d0e1dSmrg | x86 | xc16x | xstormy16 | xtensa \ 3203f6d0e1dSmrg | z8k | z80) 321692f60a7Smrg basic_machine=$basic_machine-unknown 322692f60a7Smrg ;; 3233f6d0e1dSmrg c54x) 3243f6d0e1dSmrg basic_machine=tic54x-unknown 3253f6d0e1dSmrg ;; 3263f6d0e1dSmrg c55x) 3273f6d0e1dSmrg basic_machine=tic55x-unknown 3283f6d0e1dSmrg ;; 3293f6d0e1dSmrg c6x) 3303f6d0e1dSmrg basic_machine=tic6x-unknown 3313f6d0e1dSmrg ;; 3322f60eb46Smrg leon|leon[3-9]) 3332f60eb46Smrg basic_machine=sparc-$basic_machine 3342f60eb46Smrg ;; 33595903e71Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 336692f60a7Smrg basic_machine=$basic_machine-unknown 337692f60a7Smrg os=-none 338692f60a7Smrg ;; 339692f60a7Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 340692f60a7Smrg ;; 34154569438Smrg ms1) 34254569438Smrg basic_machine=mt-unknown 34354569438Smrg ;; 344692f60a7Smrg 3453f6d0e1dSmrg strongarm | thumb | xscale) 3463f6d0e1dSmrg basic_machine=arm-unknown 3473f6d0e1dSmrg ;; 348eaa3dbe0Smrg xgate) 349eaa3dbe0Smrg basic_machine=$basic_machine-unknown 350eaa3dbe0Smrg os=-none 351eaa3dbe0Smrg ;; 3523f6d0e1dSmrg xscaleeb) 3533f6d0e1dSmrg basic_machine=armeb-unknown 3543f6d0e1dSmrg ;; 3553f6d0e1dSmrg 3563f6d0e1dSmrg xscaleel) 3573f6d0e1dSmrg basic_machine=armel-unknown 3583f6d0e1dSmrg ;; 3593f6d0e1dSmrg 360692f60a7Smrg # We use `pc' rather than `unknown' 361692f60a7Smrg # because (1) that's what they normally are, and 362692f60a7Smrg # (2) the word "unknown" tends to confuse beginning users. 363692f60a7Smrg i*86 | x86_64) 364692f60a7Smrg basic_machine=$basic_machine-pc 365692f60a7Smrg ;; 366692f60a7Smrg # Object if more than one company name word. 367692f60a7Smrg *-*-*) 368692f60a7Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 369692f60a7Smrg exit 1 370692f60a7Smrg ;; 371692f60a7Smrg # Recognize the basic CPU types with company name. 372692f60a7Smrg 580-* \ 373692f60a7Smrg | a29k-* \ 374eaa3dbe0Smrg | aarch64-* | aarch64_be-* \ 375692f60a7Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 376692f60a7Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37795903e71Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 378692f60a7Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37954569438Smrg | avr-* | avr32-* \ 3802f60eb46Smrg | ba-* \ 3813f6d0e1dSmrg | be32-* | be64-* \ 38254569438Smrg | bfin-* | bs2000-* \ 3833f6d0e1dSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38495903e71Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 385692f60a7Smrg | d10v-* | d30v-* | dlx-* \ 3862f60eb46Smrg | e2k-* | elxsi-* \ 38754569438Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 388692f60a7Smrg | h8300-* | h8500-* \ 389692f60a7Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3903f6d0e1dSmrg | hexagon-* \ 391692f60a7Smrg | i*86-* | i860-* | i960-* | ia64-* \ 39254569438Smrg | ip2k-* | iq2000-* \ 39395903e71Smrg | k1om-* \ 3943f6d0e1dSmrg | le32-* | le64-* \ 3953f6d0e1dSmrg | lm32-* \ 39654569438Smrg | m32c-* | m32r-* | m32rle-* \ 397692f60a7Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 398eaa3dbe0Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 399eaa3dbe0Smrg | microblaze-* | microblazeel-* \ 400692f60a7Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 401692f60a7Smrg | mips16-* \ 402692f60a7Smrg | mips64-* | mips64el-* \ 4033f6d0e1dSmrg | mips64octeon-* | mips64octeonel-* \ 4042e71ea71Smrg | mips64orion-* | mips64orionel-* \ 4053f6d0e1dSmrg | mips64r5900-* | mips64r5900el-* \ 4063f6d0e1dSmrg | mips64vr-* | mips64vrel-* \ 407692f60a7Smrg | mips64vr4100-* | mips64vr4100el-* \ 408692f60a7Smrg | mips64vr4300-* | mips64vr4300el-* \ 409692f60a7Smrg | mips64vr5000-* | mips64vr5000el-* \ 41054569438Smrg | mips64vr5900-* | mips64vr5900el-* \ 411692f60a7Smrg | mipsisa32-* | mipsisa32el-* \ 412692f60a7Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41395903e71Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 414692f60a7Smrg | mipsisa64-* | mipsisa64el-* \ 41554569438Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41695903e71Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 417692f60a7Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 418692f60a7Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 419eaa3dbe0Smrg | mipsr5900-* | mipsr5900el-* \ 420692f60a7Smrg | mipstx39-* | mipstx39el-* \ 42154569438Smrg | mmix-* \ 42254569438Smrg | mt-* \ 423692f60a7Smrg | msp430-* \ 4243f6d0e1dSmrg | nds32-* | nds32le-* | nds32be-* \ 42595903e71Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42654569438Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4273f6d0e1dSmrg | open8-* \ 42895903e71Smrg | or1k*-* \ 429692f60a7Smrg | orion-* \ 430692f60a7Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4313f6d0e1dSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 432692f60a7Smrg | pyramid-* \ 4332f60eb46Smrg | riscv32-* | riscv64-* \ 4343f6d0e1dSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 4353f6d0e1dSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 436692f60a7Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43754569438Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 43854569438Smrg | sparclite-* \ 4392f60eb46Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4403f6d0e1dSmrg | tahoe-* \ 4412e71ea71Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4423f6d0e1dSmrg | tile*-* \ 443692f60a7Smrg | tron-* \ 4443f6d0e1dSmrg | ubicom32-* \ 4453f6d0e1dSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4463f6d0e1dSmrg | vax-* \ 4472f60eb46Smrg | visium-* \ 448692f60a7Smrg | we32k-* \ 4493f6d0e1dSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 45054569438Smrg | xstormy16-* | xtensa*-* \ 451692f60a7Smrg | ymp-* \ 4523f6d0e1dSmrg | z8k-* | z80-*) 453692f60a7Smrg ;; 45454569438Smrg # Recognize the basic CPU types without company name, with glob match. 45554569438Smrg xtensa*) 45654569438Smrg basic_machine=$basic_machine-unknown 45754569438Smrg ;; 458692f60a7Smrg # Recognize the various machine names and aliases which stand 459692f60a7Smrg # for a CPU type and a company and sometimes even an OS. 460692f60a7Smrg 386bsd) 461692f60a7Smrg basic_machine=i386-unknown 462692f60a7Smrg os=-bsd 463692f60a7Smrg ;; 464692f60a7Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 465692f60a7Smrg basic_machine=m68000-att 466692f60a7Smrg ;; 467692f60a7Smrg 3b*) 468692f60a7Smrg basic_machine=we32k-att 469692f60a7Smrg ;; 470692f60a7Smrg a29khif) 471692f60a7Smrg basic_machine=a29k-amd 472692f60a7Smrg os=-udi 473692f60a7Smrg ;; 4743f6d0e1dSmrg abacus) 47554569438Smrg basic_machine=abacus-unknown 47654569438Smrg ;; 477692f60a7Smrg adobe68k) 478692f60a7Smrg basic_machine=m68010-adobe 479692f60a7Smrg os=-scout 480692f60a7Smrg ;; 481692f60a7Smrg alliant | fx80) 482692f60a7Smrg basic_machine=fx80-alliant 483692f60a7Smrg ;; 484692f60a7Smrg altos | altos3068) 485692f60a7Smrg basic_machine=m68k-altos 486692f60a7Smrg ;; 487692f60a7Smrg am29k) 488692f60a7Smrg basic_machine=a29k-none 489692f60a7Smrg os=-bsd 490692f60a7Smrg ;; 491692f60a7Smrg amd64) 492692f60a7Smrg basic_machine=x86_64-pc 493692f60a7Smrg ;; 49454569438Smrg amd64-*) 49554569438Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49654569438Smrg ;; 497692f60a7Smrg amdahl) 498692f60a7Smrg basic_machine=580-amdahl 499692f60a7Smrg os=-sysv 500692f60a7Smrg ;; 501692f60a7Smrg amiga | amiga-*) 502692f60a7Smrg basic_machine=m68k-unknown 503692f60a7Smrg ;; 504692f60a7Smrg amigaos | amigados) 505692f60a7Smrg basic_machine=m68k-unknown 506692f60a7Smrg os=-amigaos 507692f60a7Smrg ;; 508692f60a7Smrg amigaunix | amix) 509692f60a7Smrg basic_machine=m68k-unknown 510692f60a7Smrg os=-sysv4 511692f60a7Smrg ;; 512692f60a7Smrg apollo68) 513692f60a7Smrg basic_machine=m68k-apollo 514692f60a7Smrg os=-sysv 515692f60a7Smrg ;; 516692f60a7Smrg apollo68bsd) 517692f60a7Smrg basic_machine=m68k-apollo 518692f60a7Smrg os=-bsd 519692f60a7Smrg ;; 5203f6d0e1dSmrg aros) 5213f6d0e1dSmrg basic_machine=i386-pc 5223f6d0e1dSmrg os=-aros 5233f6d0e1dSmrg ;; 5242f60eb46Smrg asmjs) 5252f60eb46Smrg basic_machine=asmjs-unknown 5262f60eb46Smrg ;; 527692f60a7Smrg aux) 528692f60a7Smrg basic_machine=m68k-apple 529692f60a7Smrg os=-aux 530692f60a7Smrg ;; 531692f60a7Smrg balance) 532692f60a7Smrg basic_machine=ns32k-sequent 533692f60a7Smrg os=-dynix 534692f60a7Smrg ;; 53554569438Smrg blackfin) 53654569438Smrg basic_machine=bfin-unknown 53754569438Smrg os=-linux 53854569438Smrg ;; 53954569438Smrg blackfin-*) 54054569438Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 54154569438Smrg os=-linux 54254569438Smrg ;; 5433f6d0e1dSmrg bluegene*) 5443f6d0e1dSmrg basic_machine=powerpc-ibm 5453f6d0e1dSmrg os=-cnk 5463f6d0e1dSmrg ;; 5473f6d0e1dSmrg c54x-*) 5483f6d0e1dSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5493f6d0e1dSmrg ;; 5503f6d0e1dSmrg c55x-*) 5513f6d0e1dSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5523f6d0e1dSmrg ;; 5533f6d0e1dSmrg c6x-*) 5543f6d0e1dSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5553f6d0e1dSmrg ;; 556692f60a7Smrg c90) 557692f60a7Smrg basic_machine=c90-cray 558692f60a7Smrg os=-unicos 559692f60a7Smrg ;; 5603f6d0e1dSmrg cegcc) 5613f6d0e1dSmrg basic_machine=arm-unknown 5623f6d0e1dSmrg os=-cegcc 5633f6d0e1dSmrg ;; 564692f60a7Smrg convex-c1) 565692f60a7Smrg basic_machine=c1-convex 566692f60a7Smrg os=-bsd 567692f60a7Smrg ;; 568692f60a7Smrg convex-c2) 569692f60a7Smrg basic_machine=c2-convex 570692f60a7Smrg os=-bsd 571692f60a7Smrg ;; 572692f60a7Smrg convex-c32) 573692f60a7Smrg basic_machine=c32-convex 574692f60a7Smrg os=-bsd 575692f60a7Smrg ;; 576692f60a7Smrg convex-c34) 577692f60a7Smrg basic_machine=c34-convex 578692f60a7Smrg os=-bsd 579692f60a7Smrg ;; 580692f60a7Smrg convex-c38) 581692f60a7Smrg basic_machine=c38-convex 582692f60a7Smrg os=-bsd 583692f60a7Smrg ;; 584692f60a7Smrg cray | j90) 585692f60a7Smrg basic_machine=j90-cray 586692f60a7Smrg os=-unicos 587692f60a7Smrg ;; 58854569438Smrg craynv) 58954569438Smrg basic_machine=craynv-cray 59054569438Smrg os=-unicosmp 59154569438Smrg ;; 5923f6d0e1dSmrg cr16 | cr16-*) 59354569438Smrg basic_machine=cr16-unknown 59454569438Smrg os=-elf 59554569438Smrg ;; 596692f60a7Smrg crds | unos) 597692f60a7Smrg basic_machine=m68k-crds 598692f60a7Smrg ;; 59954569438Smrg crisv32 | crisv32-* | etraxfs*) 60054569438Smrg basic_machine=crisv32-axis 60154569438Smrg ;; 602692f60a7Smrg cris | cris-* | etrax*) 603692f60a7Smrg basic_machine=cris-axis 604692f60a7Smrg ;; 60554569438Smrg crx) 60654569438Smrg basic_machine=crx-unknown 60754569438Smrg os=-elf 60854569438Smrg ;; 609692f60a7Smrg da30 | da30-*) 610692f60a7Smrg basic_machine=m68k-da30 611692f60a7Smrg ;; 612692f60a7Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 613692f60a7Smrg basic_machine=mips-dec 614692f60a7Smrg ;; 615692f60a7Smrg decsystem10* | dec10*) 616692f60a7Smrg basic_machine=pdp10-dec 617692f60a7Smrg os=-tops10 618692f60a7Smrg ;; 619692f60a7Smrg decsystem20* | dec20*) 620692f60a7Smrg basic_machine=pdp10-dec 621692f60a7Smrg os=-tops20 622692f60a7Smrg ;; 623692f60a7Smrg delta | 3300 | motorola-3300 | motorola-delta \ 624692f60a7Smrg | 3300-motorola | delta-motorola) 625692f60a7Smrg basic_machine=m68k-motorola 626692f60a7Smrg ;; 627692f60a7Smrg delta88) 628692f60a7Smrg basic_machine=m88k-motorola 629692f60a7Smrg os=-sysv3 630692f60a7Smrg ;; 6313f6d0e1dSmrg dicos) 6323f6d0e1dSmrg basic_machine=i686-pc 6333f6d0e1dSmrg os=-dicos 6343f6d0e1dSmrg ;; 63554569438Smrg djgpp) 63654569438Smrg basic_machine=i586-pc 63754569438Smrg os=-msdosdjgpp 63854569438Smrg ;; 639692f60a7Smrg dpx20 | dpx20-*) 640692f60a7Smrg basic_machine=rs6000-bull 641692f60a7Smrg os=-bosx 642692f60a7Smrg ;; 643692f60a7Smrg dpx2* | dpx2*-bull) 644692f60a7Smrg basic_machine=m68k-bull 645692f60a7Smrg os=-sysv3 646692f60a7Smrg ;; 647692f60a7Smrg ebmon29k) 648692f60a7Smrg basic_machine=a29k-amd 649692f60a7Smrg os=-ebmon 650692f60a7Smrg ;; 651692f60a7Smrg elxsi) 652692f60a7Smrg basic_machine=elxsi-elxsi 653692f60a7Smrg os=-bsd 654692f60a7Smrg ;; 655692f60a7Smrg encore | umax | mmax) 656692f60a7Smrg basic_machine=ns32k-encore 657692f60a7Smrg ;; 658692f60a7Smrg es1800 | OSE68k | ose68k | ose | OSE) 659692f60a7Smrg basic_machine=m68k-ericsson 660692f60a7Smrg os=-ose 661692f60a7Smrg ;; 662692f60a7Smrg fx2800) 663692f60a7Smrg basic_machine=i860-alliant 664692f60a7Smrg ;; 665692f60a7Smrg genix) 666692f60a7Smrg basic_machine=ns32k-ns 667692f60a7Smrg ;; 668692f60a7Smrg gmicro) 669692f60a7Smrg basic_machine=tron-gmicro 670692f60a7Smrg os=-sysv 671692f60a7Smrg ;; 672692f60a7Smrg go32) 673692f60a7Smrg basic_machine=i386-pc 674692f60a7Smrg os=-go32 675692f60a7Smrg ;; 676692f60a7Smrg h3050r* | hiux*) 677692f60a7Smrg basic_machine=hppa1.1-hitachi 678692f60a7Smrg os=-hiuxwe2 679692f60a7Smrg ;; 680692f60a7Smrg h8300hms) 681692f60a7Smrg basic_machine=h8300-hitachi 682692f60a7Smrg os=-hms 683692f60a7Smrg ;; 684692f60a7Smrg h8300xray) 685692f60a7Smrg basic_machine=h8300-hitachi 686692f60a7Smrg os=-xray 687692f60a7Smrg ;; 688692f60a7Smrg h8500hms) 689692f60a7Smrg basic_machine=h8500-hitachi 690692f60a7Smrg os=-hms 691692f60a7Smrg ;; 692692f60a7Smrg harris) 693692f60a7Smrg basic_machine=m88k-harris 694692f60a7Smrg os=-sysv3 695692f60a7Smrg ;; 696692f60a7Smrg hp300-*) 697692f60a7Smrg basic_machine=m68k-hp 698692f60a7Smrg ;; 699692f60a7Smrg hp300bsd) 700692f60a7Smrg basic_machine=m68k-hp 701692f60a7Smrg os=-bsd 702692f60a7Smrg ;; 703692f60a7Smrg hp300hpux) 704692f60a7Smrg basic_machine=m68k-hp 705692f60a7Smrg os=-hpux 706692f60a7Smrg ;; 707692f60a7Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 708692f60a7Smrg basic_machine=hppa1.0-hp 709692f60a7Smrg ;; 710692f60a7Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 711692f60a7Smrg basic_machine=m68000-hp 712692f60a7Smrg ;; 713692f60a7Smrg hp9k3[2-9][0-9]) 714692f60a7Smrg basic_machine=m68k-hp 715692f60a7Smrg ;; 716692f60a7Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 717692f60a7Smrg basic_machine=hppa1.0-hp 718692f60a7Smrg ;; 719692f60a7Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 720692f60a7Smrg basic_machine=hppa1.1-hp 721692f60a7Smrg ;; 722692f60a7Smrg hp9k78[0-9] | hp78[0-9]) 723692f60a7Smrg # FIXME: really hppa2.0-hp 724692f60a7Smrg basic_machine=hppa1.1-hp 725692f60a7Smrg ;; 726692f60a7Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 727692f60a7Smrg # FIXME: really hppa2.0-hp 728692f60a7Smrg basic_machine=hppa1.1-hp 729692f60a7Smrg ;; 730692f60a7Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 731692f60a7Smrg basic_machine=hppa1.1-hp 732692f60a7Smrg ;; 733692f60a7Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 734692f60a7Smrg basic_machine=hppa1.0-hp 735692f60a7Smrg ;; 736692f60a7Smrg hppa-next) 737692f60a7Smrg os=-nextstep3 738692f60a7Smrg ;; 739692f60a7Smrg hppaosf) 740692f60a7Smrg basic_machine=hppa1.1-hp 741692f60a7Smrg os=-osf 742692f60a7Smrg ;; 743692f60a7Smrg hppro) 744692f60a7Smrg basic_machine=hppa1.1-hp 745692f60a7Smrg os=-proelf 746692f60a7Smrg ;; 747692f60a7Smrg i370-ibm* | ibm*) 748692f60a7Smrg basic_machine=i370-ibm 749692f60a7Smrg ;; 750692f60a7Smrg i*86v32) 751692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 752692f60a7Smrg os=-sysv32 753692f60a7Smrg ;; 754692f60a7Smrg i*86v4*) 755692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 756692f60a7Smrg os=-sysv4 757692f60a7Smrg ;; 758692f60a7Smrg i*86v) 759692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 760692f60a7Smrg os=-sysv 761692f60a7Smrg ;; 762692f60a7Smrg i*86sol2) 763692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 764692f60a7Smrg os=-solaris2 765692f60a7Smrg ;; 766692f60a7Smrg i386mach) 767692f60a7Smrg basic_machine=i386-mach 768692f60a7Smrg os=-mach 769692f60a7Smrg ;; 770692f60a7Smrg i386-vsta | vsta) 771692f60a7Smrg basic_machine=i386-unknown 772692f60a7Smrg os=-vsta 773692f60a7Smrg ;; 774692f60a7Smrg iris | iris4d) 775692f60a7Smrg basic_machine=mips-sgi 776692f60a7Smrg case $os in 777692f60a7Smrg -irix*) 778692f60a7Smrg ;; 779692f60a7Smrg *) 780692f60a7Smrg os=-irix4 781692f60a7Smrg ;; 782692f60a7Smrg esac 783692f60a7Smrg ;; 784692f60a7Smrg isi68 | isi) 785692f60a7Smrg basic_machine=m68k-isi 786692f60a7Smrg os=-sysv 787692f60a7Smrg ;; 7882f60eb46Smrg leon-*|leon[3-9]-*) 7892f60eb46Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 7902f60eb46Smrg ;; 79154569438Smrg m68knommu) 79254569438Smrg basic_machine=m68k-unknown 79354569438Smrg os=-linux 79454569438Smrg ;; 79554569438Smrg m68knommu-*) 79654569438Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 79754569438Smrg os=-linux 79854569438Smrg ;; 799692f60a7Smrg m88k-omron*) 800692f60a7Smrg basic_machine=m88k-omron 801692f60a7Smrg ;; 802692f60a7Smrg magnum | m3230) 803692f60a7Smrg basic_machine=mips-mips 804692f60a7Smrg os=-sysv 805692f60a7Smrg ;; 806692f60a7Smrg merlin) 807692f60a7Smrg basic_machine=ns32k-utek 808692f60a7Smrg os=-sysv 809692f60a7Smrg ;; 810eaa3dbe0Smrg microblaze*) 8113f6d0e1dSmrg basic_machine=microblaze-xilinx 8123f6d0e1dSmrg ;; 813eaa3dbe0Smrg mingw64) 814eaa3dbe0Smrg basic_machine=x86_64-pc 815eaa3dbe0Smrg os=-mingw64 816eaa3dbe0Smrg ;; 817692f60a7Smrg mingw32) 81895903e71Smrg basic_machine=i686-pc 819692f60a7Smrg os=-mingw32 820692f60a7Smrg ;; 82154569438Smrg mingw32ce) 82254569438Smrg basic_machine=arm-unknown 82354569438Smrg os=-mingw32ce 82454569438Smrg ;; 825692f60a7Smrg miniframe) 826692f60a7Smrg basic_machine=m68000-convergent 827692f60a7Smrg ;; 828692f60a7Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 829692f60a7Smrg basic_machine=m68k-atari 830692f60a7Smrg os=-mint 831692f60a7Smrg ;; 832692f60a7Smrg mips3*-*) 833692f60a7Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 834692f60a7Smrg ;; 835692f60a7Smrg mips3*) 836692f60a7Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 837692f60a7Smrg ;; 838692f60a7Smrg monitor) 839692f60a7Smrg basic_machine=m68k-rom68k 840692f60a7Smrg os=-coff 841692f60a7Smrg ;; 842692f60a7Smrg morphos) 843692f60a7Smrg basic_machine=powerpc-unknown 844692f60a7Smrg os=-morphos 845692f60a7Smrg ;; 84695903e71Smrg moxiebox) 84795903e71Smrg basic_machine=moxie-unknown 84895903e71Smrg os=-moxiebox 84995903e71Smrg ;; 850692f60a7Smrg msdos) 851692f60a7Smrg basic_machine=i386-pc 852692f60a7Smrg os=-msdos 853692f60a7Smrg ;; 85454569438Smrg ms1-*) 85554569438Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 85654569438Smrg ;; 8573f6d0e1dSmrg msys) 85895903e71Smrg basic_machine=i686-pc 8593f6d0e1dSmrg os=-msys 8603f6d0e1dSmrg ;; 861692f60a7Smrg mvs) 862692f60a7Smrg basic_machine=i370-ibm 863692f60a7Smrg os=-mvs 864692f60a7Smrg ;; 8653f6d0e1dSmrg nacl) 8663f6d0e1dSmrg basic_machine=le32-unknown 8673f6d0e1dSmrg os=-nacl 8683f6d0e1dSmrg ;; 869692f60a7Smrg ncr3000) 870692f60a7Smrg basic_machine=i486-ncr 871692f60a7Smrg os=-sysv4 872692f60a7Smrg ;; 873692f60a7Smrg netbsd386) 874692f60a7Smrg basic_machine=i386-unknown 875692f60a7Smrg os=-netbsd 876692f60a7Smrg ;; 877692f60a7Smrg netwinder) 878692f60a7Smrg basic_machine=armv4l-rebel 879692f60a7Smrg os=-linux 880692f60a7Smrg ;; 881692f60a7Smrg news | news700 | news800 | news900) 882692f60a7Smrg basic_machine=m68k-sony 883692f60a7Smrg os=-newsos 884692f60a7Smrg ;; 885692f60a7Smrg news1000) 886692f60a7Smrg basic_machine=m68030-sony 887692f60a7Smrg os=-newsos 888692f60a7Smrg ;; 889692f60a7Smrg news-3600 | risc-news) 890692f60a7Smrg basic_machine=mips-sony 891692f60a7Smrg os=-newsos 892692f60a7Smrg ;; 893692f60a7Smrg necv70) 894692f60a7Smrg basic_machine=v70-nec 895692f60a7Smrg os=-sysv 896692f60a7Smrg ;; 897692f60a7Smrg next | m*-next ) 898692f60a7Smrg basic_machine=m68k-next 899692f60a7Smrg case $os in 900692f60a7Smrg -nextstep* ) 901692f60a7Smrg ;; 902692f60a7Smrg -ns2*) 903692f60a7Smrg os=-nextstep2 904692f60a7Smrg ;; 905692f60a7Smrg *) 906692f60a7Smrg os=-nextstep3 907692f60a7Smrg ;; 908692f60a7Smrg esac 909692f60a7Smrg ;; 910692f60a7Smrg nh3000) 911692f60a7Smrg basic_machine=m68k-harris 912692f60a7Smrg os=-cxux 913692f60a7Smrg ;; 914692f60a7Smrg nh[45]000) 915692f60a7Smrg basic_machine=m88k-harris 916692f60a7Smrg os=-cxux 917692f60a7Smrg ;; 918692f60a7Smrg nindy960) 919692f60a7Smrg basic_machine=i960-intel 920692f60a7Smrg os=-nindy 921692f60a7Smrg ;; 922692f60a7Smrg mon960) 923692f60a7Smrg basic_machine=i960-intel 924692f60a7Smrg os=-mon960 925692f60a7Smrg ;; 926692f60a7Smrg nonstopux) 927692f60a7Smrg basic_machine=mips-compaq 928692f60a7Smrg os=-nonstopux 929692f60a7Smrg ;; 930692f60a7Smrg np1) 931692f60a7Smrg basic_machine=np1-gould 932692f60a7Smrg ;; 9333f6d0e1dSmrg neo-tandem) 9343f6d0e1dSmrg basic_machine=neo-tandem 9353f6d0e1dSmrg ;; 9363f6d0e1dSmrg nse-tandem) 9373f6d0e1dSmrg basic_machine=nse-tandem 9383f6d0e1dSmrg ;; 939692f60a7Smrg nsr-tandem) 940692f60a7Smrg basic_machine=nsr-tandem 941692f60a7Smrg ;; 942692f60a7Smrg op50n-* | op60c-*) 943692f60a7Smrg basic_machine=hppa1.1-oki 944692f60a7Smrg os=-proelf 945692f60a7Smrg ;; 94654569438Smrg openrisc | openrisc-*) 947692f60a7Smrg basic_machine=or32-unknown 94854569438Smrg ;; 94954569438Smrg os400) 95054569438Smrg basic_machine=powerpc-ibm 95154569438Smrg os=-os400 952692f60a7Smrg ;; 953692f60a7Smrg OSE68000 | ose68000) 954692f60a7Smrg basic_machine=m68000-ericsson 955692f60a7Smrg os=-ose 956692f60a7Smrg ;; 957692f60a7Smrg os68k) 958692f60a7Smrg basic_machine=m68k-none 959692f60a7Smrg os=-os68k 960692f60a7Smrg ;; 961692f60a7Smrg pa-hitachi) 962692f60a7Smrg basic_machine=hppa1.1-hitachi 963692f60a7Smrg os=-hiuxwe2 964692f60a7Smrg ;; 965692f60a7Smrg paragon) 966692f60a7Smrg basic_machine=i860-intel 967692f60a7Smrg os=-osf 968692f60a7Smrg ;; 96954569438Smrg parisc) 97054569438Smrg basic_machine=hppa-unknown 97154569438Smrg os=-linux 97254569438Smrg ;; 97354569438Smrg parisc-*) 97454569438Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 97554569438Smrg os=-linux 97654569438Smrg ;; 977692f60a7Smrg pbd) 978692f60a7Smrg basic_machine=sparc-tti 979692f60a7Smrg ;; 980692f60a7Smrg pbb) 981692f60a7Smrg basic_machine=m68k-tti 982692f60a7Smrg ;; 983692f60a7Smrg pc532 | pc532-*) 984692f60a7Smrg basic_machine=ns32k-pc532 985692f60a7Smrg ;; 98654569438Smrg pc98) 98754569438Smrg basic_machine=i386-pc 98854569438Smrg ;; 98954569438Smrg pc98-*) 99054569438Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 99154569438Smrg ;; 992692f60a7Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 993692f60a7Smrg basic_machine=i586-pc 994692f60a7Smrg ;; 995692f60a7Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 996692f60a7Smrg basic_machine=i686-pc 997692f60a7Smrg ;; 998692f60a7Smrg pentiumii | pentium2 | pentiumiii | pentium3) 999692f60a7Smrg basic_machine=i686-pc 1000692f60a7Smrg ;; 1001692f60a7Smrg pentium4) 1002692f60a7Smrg basic_machine=i786-pc 1003692f60a7Smrg ;; 1004692f60a7Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1005692f60a7Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1006692f60a7Smrg ;; 1007692f60a7Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1008692f60a7Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1009692f60a7Smrg ;; 1010692f60a7Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1011692f60a7Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1012692f60a7Smrg ;; 1013692f60a7Smrg pentium4-*) 1014692f60a7Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1015692f60a7Smrg ;; 1016692f60a7Smrg pn) 1017692f60a7Smrg basic_machine=pn-gould 1018692f60a7Smrg ;; 1019692f60a7Smrg power) basic_machine=power-ibm 1020692f60a7Smrg ;; 10213f6d0e1dSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1022692f60a7Smrg ;; 10233f6d0e1dSmrg ppc-* | ppcbe-*) 10243f6d0e1dSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1025692f60a7Smrg ;; 1026692f60a7Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1027692f60a7Smrg basic_machine=powerpcle-unknown 1028692f60a7Smrg ;; 1029692f60a7Smrg ppcle-* | powerpclittle-*) 1030692f60a7Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1031692f60a7Smrg ;; 1032692f60a7Smrg ppc64) basic_machine=powerpc64-unknown 1033692f60a7Smrg ;; 1034692f60a7Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1035692f60a7Smrg ;; 1036692f60a7Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1037692f60a7Smrg basic_machine=powerpc64le-unknown 1038692f60a7Smrg ;; 1039692f60a7Smrg ppc64le-* | powerpc64little-*) 1040692f60a7Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1041692f60a7Smrg ;; 1042692f60a7Smrg ps2) 1043692f60a7Smrg basic_machine=i386-ibm 1044692f60a7Smrg ;; 1045692f60a7Smrg pw32) 1046692f60a7Smrg basic_machine=i586-unknown 1047692f60a7Smrg os=-pw32 1048692f60a7Smrg ;; 1049eaa3dbe0Smrg rdos | rdos64) 1050eaa3dbe0Smrg basic_machine=x86_64-pc 1051eaa3dbe0Smrg os=-rdos 1052eaa3dbe0Smrg ;; 1053eaa3dbe0Smrg rdos32) 105454569438Smrg basic_machine=i386-pc 105554569438Smrg os=-rdos 105654569438Smrg ;; 1057692f60a7Smrg rom68k) 1058692f60a7Smrg basic_machine=m68k-rom68k 1059692f60a7Smrg os=-coff 1060692f60a7Smrg ;; 1061692f60a7Smrg rm[46]00) 1062692f60a7Smrg basic_machine=mips-siemens 1063692f60a7Smrg ;; 1064692f60a7Smrg rtpc | rtpc-*) 1065692f60a7Smrg basic_machine=romp-ibm 1066692f60a7Smrg ;; 106754569438Smrg s390 | s390-*) 106854569438Smrg basic_machine=s390-ibm 106954569438Smrg ;; 107054569438Smrg s390x | s390x-*) 107154569438Smrg basic_machine=s390x-ibm 107254569438Smrg ;; 1073692f60a7Smrg sa29200) 1074692f60a7Smrg basic_machine=a29k-amd 1075692f60a7Smrg os=-udi 1076692f60a7Smrg ;; 1077692f60a7Smrg sb1) 1078692f60a7Smrg basic_machine=mipsisa64sb1-unknown 1079692f60a7Smrg ;; 1080692f60a7Smrg sb1el) 1081692f60a7Smrg basic_machine=mipsisa64sb1el-unknown 1082692f60a7Smrg ;; 108354569438Smrg sde) 108454569438Smrg basic_machine=mipsisa32-sde 108554569438Smrg os=-elf 108654569438Smrg ;; 1087692f60a7Smrg sei) 1088692f60a7Smrg basic_machine=mips-sei 1089692f60a7Smrg os=-seiux 1090692f60a7Smrg ;; 1091692f60a7Smrg sequent) 1092692f60a7Smrg basic_machine=i386-sequent 1093692f60a7Smrg ;; 1094692f60a7Smrg sh) 1095692f60a7Smrg basic_machine=sh-hitachi 1096692f60a7Smrg os=-hms 1097692f60a7Smrg ;; 109854569438Smrg sh5el) 109954569438Smrg basic_machine=sh5le-unknown 110054569438Smrg ;; 1101692f60a7Smrg sh64) 1102692f60a7Smrg basic_machine=sh64-unknown 1103692f60a7Smrg ;; 1104692f60a7Smrg sparclite-wrs | simso-wrs) 1105692f60a7Smrg basic_machine=sparclite-wrs 1106692f60a7Smrg os=-vxworks 1107692f60a7Smrg ;; 1108692f60a7Smrg sps7) 1109692f60a7Smrg basic_machine=m68k-bull 1110692f60a7Smrg os=-sysv2 1111692f60a7Smrg ;; 1112692f60a7Smrg spur) 1113692f60a7Smrg basic_machine=spur-unknown 1114692f60a7Smrg ;; 1115692f60a7Smrg st2000) 1116692f60a7Smrg basic_machine=m68k-tandem 1117692f60a7Smrg ;; 1118692f60a7Smrg stratus) 1119692f60a7Smrg basic_machine=i860-stratus 1120692f60a7Smrg os=-sysv4 1121692f60a7Smrg ;; 11223f6d0e1dSmrg strongarm-* | thumb-*) 11233f6d0e1dSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11243f6d0e1dSmrg ;; 1125692f60a7Smrg sun2) 1126692f60a7Smrg basic_machine=m68000-sun 1127692f60a7Smrg ;; 1128692f60a7Smrg sun2os3) 1129692f60a7Smrg basic_machine=m68000-sun 1130692f60a7Smrg os=-sunos3 1131692f60a7Smrg ;; 1132692f60a7Smrg sun2os4) 1133692f60a7Smrg basic_machine=m68000-sun 1134692f60a7Smrg os=-sunos4 1135692f60a7Smrg ;; 1136692f60a7Smrg sun3os3) 1137692f60a7Smrg basic_machine=m68k-sun 1138692f60a7Smrg os=-sunos3 1139692f60a7Smrg ;; 1140692f60a7Smrg sun3os4) 1141692f60a7Smrg basic_machine=m68k-sun 1142692f60a7Smrg os=-sunos4 1143692f60a7Smrg ;; 1144692f60a7Smrg sun4os3) 1145692f60a7Smrg basic_machine=sparc-sun 1146692f60a7Smrg os=-sunos3 1147692f60a7Smrg ;; 1148692f60a7Smrg sun4os4) 1149692f60a7Smrg basic_machine=sparc-sun 1150692f60a7Smrg os=-sunos4 1151692f60a7Smrg ;; 1152692f60a7Smrg sun4sol2) 1153692f60a7Smrg basic_machine=sparc-sun 1154692f60a7Smrg os=-solaris2 1155692f60a7Smrg ;; 1156692f60a7Smrg sun3 | sun3-*) 1157692f60a7Smrg basic_machine=m68k-sun 1158692f60a7Smrg ;; 1159692f60a7Smrg sun4) 1160692f60a7Smrg basic_machine=sparc-sun 1161692f60a7Smrg ;; 1162692f60a7Smrg sun386 | sun386i | roadrunner) 1163692f60a7Smrg basic_machine=i386-sun 1164692f60a7Smrg ;; 1165692f60a7Smrg sv1) 1166692f60a7Smrg basic_machine=sv1-cray 1167692f60a7Smrg os=-unicos 1168692f60a7Smrg ;; 1169692f60a7Smrg symmetry) 1170692f60a7Smrg basic_machine=i386-sequent 1171692f60a7Smrg os=-dynix 1172692f60a7Smrg ;; 1173692f60a7Smrg t3e) 1174692f60a7Smrg basic_machine=alphaev5-cray 1175692f60a7Smrg os=-unicos 1176692f60a7Smrg ;; 1177692f60a7Smrg t90) 1178692f60a7Smrg basic_machine=t90-cray 1179692f60a7Smrg os=-unicos 1180692f60a7Smrg ;; 118154569438Smrg tile*) 11823f6d0e1dSmrg basic_machine=$basic_machine-unknown 118354569438Smrg os=-linux-gnu 118454569438Smrg ;; 1185692f60a7Smrg tx39) 1186692f60a7Smrg basic_machine=mipstx39-unknown 1187692f60a7Smrg ;; 1188692f60a7Smrg tx39el) 1189692f60a7Smrg basic_machine=mipstx39el-unknown 1190692f60a7Smrg ;; 1191692f60a7Smrg toad1) 1192692f60a7Smrg basic_machine=pdp10-xkl 1193692f60a7Smrg os=-tops20 1194692f60a7Smrg ;; 1195692f60a7Smrg tower | tower-32) 1196692f60a7Smrg basic_machine=m68k-ncr 1197692f60a7Smrg ;; 119854569438Smrg tpf) 119954569438Smrg basic_machine=s390x-ibm 120054569438Smrg os=-tpf 120154569438Smrg ;; 1202692f60a7Smrg udi29k) 1203692f60a7Smrg basic_machine=a29k-amd 1204692f60a7Smrg os=-udi 1205692f60a7Smrg ;; 1206692f60a7Smrg ultra3) 1207692f60a7Smrg basic_machine=a29k-nyu 1208692f60a7Smrg os=-sym1 1209692f60a7Smrg ;; 1210692f60a7Smrg v810 | necv810) 1211692f60a7Smrg basic_machine=v810-nec 1212692f60a7Smrg os=-none 1213692f60a7Smrg ;; 1214692f60a7Smrg vaxv) 1215692f60a7Smrg basic_machine=vax-dec 1216692f60a7Smrg os=-sysv 1217692f60a7Smrg ;; 1218692f60a7Smrg vms) 1219692f60a7Smrg basic_machine=vax-dec 1220692f60a7Smrg os=-vms 1221692f60a7Smrg ;; 1222692f60a7Smrg vpp*|vx|vx-*) 1223692f60a7Smrg basic_machine=f301-fujitsu 1224692f60a7Smrg ;; 1225692f60a7Smrg vxworks960) 1226692f60a7Smrg basic_machine=i960-wrs 1227692f60a7Smrg os=-vxworks 1228692f60a7Smrg ;; 1229692f60a7Smrg vxworks68) 1230692f60a7Smrg basic_machine=m68k-wrs 1231692f60a7Smrg os=-vxworks 1232692f60a7Smrg ;; 1233692f60a7Smrg vxworks29k) 1234692f60a7Smrg basic_machine=a29k-wrs 1235692f60a7Smrg os=-vxworks 1236692f60a7Smrg ;; 1237692f60a7Smrg w65*) 1238692f60a7Smrg basic_machine=w65-wdc 1239692f60a7Smrg os=-none 1240692f60a7Smrg ;; 1241692f60a7Smrg w89k-*) 1242692f60a7Smrg basic_machine=hppa1.1-winbond 1243692f60a7Smrg os=-proelf 1244692f60a7Smrg ;; 124554569438Smrg xbox) 124654569438Smrg basic_machine=i686-pc 124754569438Smrg os=-mingw32 124854569438Smrg ;; 1249692f60a7Smrg xps | xps100) 1250692f60a7Smrg basic_machine=xps100-honeywell 1251692f60a7Smrg ;; 12523f6d0e1dSmrg xscale-* | xscalee[bl]-*) 12533f6d0e1dSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12543f6d0e1dSmrg ;; 1255692f60a7Smrg ymp) 1256692f60a7Smrg basic_machine=ymp-cray 1257692f60a7Smrg os=-unicos 1258692f60a7Smrg ;; 1259692f60a7Smrg z8k-*-coff) 1260692f60a7Smrg basic_machine=z8k-unknown 1261692f60a7Smrg os=-sim 1262692f60a7Smrg ;; 12633f6d0e1dSmrg z80-*-coff) 12643f6d0e1dSmrg basic_machine=z80-unknown 12653f6d0e1dSmrg os=-sim 12663f6d0e1dSmrg ;; 1267692f60a7Smrg none) 1268692f60a7Smrg basic_machine=none-none 1269692f60a7Smrg os=-none 1270692f60a7Smrg ;; 1271692f60a7Smrg 1272692f60a7Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1273692f60a7Smrg# some cases the only manufacturer, in others, it is the most popular. 1274692f60a7Smrg w89k) 1275692f60a7Smrg basic_machine=hppa1.1-winbond 1276692f60a7Smrg ;; 1277692f60a7Smrg op50n) 1278692f60a7Smrg basic_machine=hppa1.1-oki 1279692f60a7Smrg ;; 1280692f60a7Smrg op60c) 1281692f60a7Smrg basic_machine=hppa1.1-oki 1282692f60a7Smrg ;; 1283692f60a7Smrg romp) 1284692f60a7Smrg basic_machine=romp-ibm 1285692f60a7Smrg ;; 128654569438Smrg mmix) 128754569438Smrg basic_machine=mmix-knuth 128854569438Smrg ;; 1289692f60a7Smrg rs6000) 1290692f60a7Smrg basic_machine=rs6000-ibm 1291692f60a7Smrg ;; 1292692f60a7Smrg vax) 1293692f60a7Smrg basic_machine=vax-dec 1294692f60a7Smrg ;; 1295692f60a7Smrg pdp10) 1296692f60a7Smrg # there are many clones, so DEC is not a safe bet 1297692f60a7Smrg basic_machine=pdp10-unknown 1298692f60a7Smrg ;; 1299692f60a7Smrg pdp11) 1300692f60a7Smrg basic_machine=pdp11-dec 1301692f60a7Smrg ;; 1302692f60a7Smrg we32k) 1303692f60a7Smrg basic_machine=we32k-att 1304692f60a7Smrg ;; 13053f6d0e1dSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1306692f60a7Smrg basic_machine=sh-unknown 1307692f60a7Smrg ;; 130854569438Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1309692f60a7Smrg basic_machine=sparc-sun 1310692f60a7Smrg ;; 1311692f60a7Smrg cydra) 1312692f60a7Smrg basic_machine=cydra-cydrome 1313692f60a7Smrg ;; 1314692f60a7Smrg orion) 1315692f60a7Smrg basic_machine=orion-highlevel 1316692f60a7Smrg ;; 1317692f60a7Smrg orion105) 1318692f60a7Smrg basic_machine=clipper-highlevel 1319692f60a7Smrg ;; 1320692f60a7Smrg mac | mpw | mac-mpw) 1321692f60a7Smrg basic_machine=m68k-apple 1322692f60a7Smrg ;; 1323692f60a7Smrg pmac | pmac-mpw) 1324692f60a7Smrg basic_machine=powerpc-apple 1325692f60a7Smrg ;; 1326692f60a7Smrg *-unknown) 1327692f60a7Smrg # Make sure to match an already-canonicalized machine name. 1328692f60a7Smrg ;; 1329692f60a7Smrg *) 1330692f60a7Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1331692f60a7Smrg exit 1 1332692f60a7Smrg ;; 1333692f60a7Smrgesac 1334692f60a7Smrg 1335692f60a7Smrg# Here we canonicalize certain aliases for manufacturers. 1336692f60a7Smrgcase $basic_machine in 1337692f60a7Smrg *-digital*) 1338692f60a7Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1339692f60a7Smrg ;; 1340692f60a7Smrg *-commodore*) 1341692f60a7Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1342692f60a7Smrg ;; 1343692f60a7Smrg *) 1344692f60a7Smrg ;; 1345692f60a7Smrgesac 1346692f60a7Smrg 1347692f60a7Smrg# Decode manufacturer-specific aliases for certain operating systems. 1348692f60a7Smrg 1349692f60a7Smrgif [ x"$os" != x"" ] 1350692f60a7Smrgthen 1351692f60a7Smrgcase $os in 13523f6d0e1dSmrg # First match some system type aliases 13533f6d0e1dSmrg # that might get confused with valid system types. 1354692f60a7Smrg # -solaris* is a basic system type, with this one exception. 13553f6d0e1dSmrg -auroraux) 13563f6d0e1dSmrg os=-auroraux 13573f6d0e1dSmrg ;; 1358692f60a7Smrg -solaris1 | -solaris1.*) 1359692f60a7Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1360692f60a7Smrg ;; 1361692f60a7Smrg -solaris) 1362692f60a7Smrg os=-solaris2 1363692f60a7Smrg ;; 1364692f60a7Smrg -svr4*) 1365692f60a7Smrg os=-sysv4 1366692f60a7Smrg ;; 1367692f60a7Smrg -unixware*) 1368692f60a7Smrg os=-sysv4.2uw 1369692f60a7Smrg ;; 1370692f60a7Smrg -gnu/linux*) 1371692f60a7Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1372692f60a7Smrg ;; 1373692f60a7Smrg # First accept the basic system types. 1374692f60a7Smrg # The portable systems comes first. 1375692f60a7Smrg # Each alternative MUST END IN A *, to match a version number. 1376692f60a7Smrg # -sysv* is not here because it comes later, after sysvr4. 1377692f60a7Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13783f6d0e1dSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13793f6d0e1dSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1380eaa3dbe0Smrg | -sym* | -kopensolaris* | -plan9* \ 1381692f60a7Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13822f60eb46Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 1383692f60a7Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1384692f60a7Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 138554569438Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1386eaa3dbe0Smrg | -bitrig* | -openbsd* | -solidbsd* \ 138754569438Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 138854569438Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1389692f60a7Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1390692f60a7Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13913f6d0e1dSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13923f6d0e1dSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1393eaa3dbe0Smrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1394eaa3dbe0Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 139595903e71Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 1396692f60a7Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1397692f60a7Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 139895903e71Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1399692f60a7Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1400692f60a7Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 140154569438Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 140295903e71Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 1403692f60a7Smrg # Remember, each alternative MUST END IN *, to match a version number. 1404692f60a7Smrg ;; 1405692f60a7Smrg -qnx*) 1406692f60a7Smrg case $basic_machine in 1407692f60a7Smrg x86-* | i*86-*) 1408692f60a7Smrg ;; 1409692f60a7Smrg *) 1410692f60a7Smrg os=-nto$os 1411692f60a7Smrg ;; 1412692f60a7Smrg esac 1413692f60a7Smrg ;; 1414692f60a7Smrg -nto-qnx*) 1415692f60a7Smrg ;; 1416692f60a7Smrg -nto*) 1417692f60a7Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1418692f60a7Smrg ;; 1419692f60a7Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 142054569438Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1421692f60a7Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1422692f60a7Smrg ;; 1423692f60a7Smrg -mac*) 1424692f60a7Smrg os=`echo $os | sed -e 's|mac|macos|'` 1425692f60a7Smrg ;; 142654569438Smrg -linux-dietlibc) 142754569438Smrg os=-linux-dietlibc 142854569438Smrg ;; 1429692f60a7Smrg -linux*) 1430692f60a7Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1431692f60a7Smrg ;; 1432692f60a7Smrg -sunos5*) 1433692f60a7Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1434692f60a7Smrg ;; 1435692f60a7Smrg -sunos6*) 1436692f60a7Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1437692f60a7Smrg ;; 1438692f60a7Smrg -opened*) 1439692f60a7Smrg os=-openedition 1440692f60a7Smrg ;; 14413f6d0e1dSmrg -os400*) 144254569438Smrg os=-os400 144354569438Smrg ;; 1444692f60a7Smrg -wince*) 1445692f60a7Smrg os=-wince 1446692f60a7Smrg ;; 1447692f60a7Smrg -osfrose*) 1448692f60a7Smrg os=-osfrose 1449692f60a7Smrg ;; 1450692f60a7Smrg -osf*) 1451692f60a7Smrg os=-osf 1452692f60a7Smrg ;; 1453692f60a7Smrg -utek*) 1454692f60a7Smrg os=-bsd 1455692f60a7Smrg ;; 1456692f60a7Smrg -dynix*) 1457692f60a7Smrg os=-bsd 1458692f60a7Smrg ;; 1459692f60a7Smrg -acis*) 1460692f60a7Smrg os=-aos 1461692f60a7Smrg ;; 1462692f60a7Smrg -atheos*) 1463692f60a7Smrg os=-atheos 1464692f60a7Smrg ;; 146554569438Smrg -syllable*) 146654569438Smrg os=-syllable 146754569438Smrg ;; 1468692f60a7Smrg -386bsd) 1469692f60a7Smrg os=-bsd 1470692f60a7Smrg ;; 1471692f60a7Smrg -ctix* | -uts*) 1472692f60a7Smrg os=-sysv 1473692f60a7Smrg ;; 1474692f60a7Smrg -nova*) 1475692f60a7Smrg os=-rtmk-nova 1476692f60a7Smrg ;; 1477692f60a7Smrg -ns2 ) 1478692f60a7Smrg os=-nextstep2 1479692f60a7Smrg ;; 1480692f60a7Smrg -nsk*) 1481692f60a7Smrg os=-nsk 1482692f60a7Smrg ;; 1483692f60a7Smrg # Preserve the version number of sinix5. 1484692f60a7Smrg -sinix5.*) 1485692f60a7Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1486692f60a7Smrg ;; 1487692f60a7Smrg -sinix*) 1488692f60a7Smrg os=-sysv4 1489692f60a7Smrg ;; 14903f6d0e1dSmrg -tpf*) 149154569438Smrg os=-tpf 149254569438Smrg ;; 1493692f60a7Smrg -triton*) 1494692f60a7Smrg os=-sysv3 1495692f60a7Smrg ;; 1496692f60a7Smrg -oss*) 1497692f60a7Smrg os=-sysv3 1498692f60a7Smrg ;; 1499692f60a7Smrg -svr4) 1500692f60a7Smrg os=-sysv4 1501692f60a7Smrg ;; 1502692f60a7Smrg -svr3) 1503692f60a7Smrg os=-sysv3 1504692f60a7Smrg ;; 1505692f60a7Smrg -sysvr4) 1506692f60a7Smrg os=-sysv4 1507692f60a7Smrg ;; 1508692f60a7Smrg # This must come after -sysvr4. 1509692f60a7Smrg -sysv*) 1510692f60a7Smrg ;; 1511692f60a7Smrg -ose*) 1512692f60a7Smrg os=-ose 1513692f60a7Smrg ;; 1514692f60a7Smrg -es1800*) 1515692f60a7Smrg os=-ose 1516692f60a7Smrg ;; 1517692f60a7Smrg -xenix) 1518692f60a7Smrg os=-xenix 1519692f60a7Smrg ;; 1520692f60a7Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1521692f60a7Smrg os=-mint 1522692f60a7Smrg ;; 1523692f60a7Smrg -aros*) 1524692f60a7Smrg os=-aros 1525692f60a7Smrg ;; 152654569438Smrg -zvmoe) 152754569438Smrg os=-zvmoe 152854569438Smrg ;; 15293f6d0e1dSmrg -dicos*) 15303f6d0e1dSmrg os=-dicos 15313f6d0e1dSmrg ;; 15323f6d0e1dSmrg -nacl*) 15333f6d0e1dSmrg ;; 1534692f60a7Smrg -none) 1535692f60a7Smrg ;; 1536692f60a7Smrg *) 1537692f60a7Smrg # Get rid of the `-' at the beginning of $os. 1538692f60a7Smrg os=`echo $os | sed 's/[^-]*-//'` 1539692f60a7Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1540692f60a7Smrg exit 1 1541692f60a7Smrg ;; 1542692f60a7Smrgesac 1543692f60a7Smrgelse 1544692f60a7Smrg 1545692f60a7Smrg# Here we handle the default operating systems that come with various machines. 1546692f60a7Smrg# The value should be what the vendor currently ships out the door with their 1547692f60a7Smrg# machine or put another way, the most popular os provided with the machine. 1548692f60a7Smrg 1549692f60a7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1550692f60a7Smrg# "-sun"), then you have to tell the case statement up towards the top 1551692f60a7Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1552692f60a7Smrg# will signal an error saying that MANUFACTURER isn't an operating 1553692f60a7Smrg# system, and we'll never get to this point. 1554692f60a7Smrg 1555692f60a7Smrgcase $basic_machine in 15563f6d0e1dSmrg score-*) 155754569438Smrg os=-elf 155854569438Smrg ;; 15593f6d0e1dSmrg spu-*) 156054569438Smrg os=-elf 156154569438Smrg ;; 1562692f60a7Smrg *-acorn) 1563692f60a7Smrg os=-riscix1.2 1564692f60a7Smrg ;; 1565692f60a7Smrg arm*-rebel) 1566692f60a7Smrg os=-linux 1567692f60a7Smrg ;; 1568692f60a7Smrg arm*-semi) 1569692f60a7Smrg os=-aout 1570692f60a7Smrg ;; 15713f6d0e1dSmrg c4x-* | tic4x-*) 15723f6d0e1dSmrg os=-coff 15733f6d0e1dSmrg ;; 157495903e71Smrg c8051-*) 157595903e71Smrg os=-elf 157695903e71Smrg ;; 1577eaa3dbe0Smrg hexagon-*) 1578eaa3dbe0Smrg os=-elf 1579eaa3dbe0Smrg ;; 15803f6d0e1dSmrg tic54x-*) 15813f6d0e1dSmrg os=-coff 15823f6d0e1dSmrg ;; 15833f6d0e1dSmrg tic55x-*) 15843f6d0e1dSmrg os=-coff 15853f6d0e1dSmrg ;; 15863f6d0e1dSmrg tic6x-*) 15873f6d0e1dSmrg os=-coff 1588692f60a7Smrg ;; 1589692f60a7Smrg # This must come before the *-dec entry. 1590692f60a7Smrg pdp10-*) 1591692f60a7Smrg os=-tops20 1592692f60a7Smrg ;; 1593692f60a7Smrg pdp11-*) 1594692f60a7Smrg os=-none 1595692f60a7Smrg ;; 1596692f60a7Smrg *-dec | vax-*) 1597692f60a7Smrg os=-ultrix4.2 1598692f60a7Smrg ;; 1599692f60a7Smrg m68*-apollo) 1600692f60a7Smrg os=-domain 1601692f60a7Smrg ;; 1602692f60a7Smrg i386-sun) 1603692f60a7Smrg os=-sunos4.0.2 1604692f60a7Smrg ;; 1605692f60a7Smrg m68000-sun) 1606692f60a7Smrg os=-sunos3 1607692f60a7Smrg ;; 1608692f60a7Smrg m68*-cisco) 1609692f60a7Smrg os=-aout 1610692f60a7Smrg ;; 16113f6d0e1dSmrg mep-*) 161254569438Smrg os=-elf 161354569438Smrg ;; 1614692f60a7Smrg mips*-cisco) 1615692f60a7Smrg os=-elf 1616692f60a7Smrg ;; 1617692f60a7Smrg mips*-*) 1618692f60a7Smrg os=-elf 1619692f60a7Smrg ;; 1620692f60a7Smrg or32-*) 1621692f60a7Smrg os=-coff 1622692f60a7Smrg ;; 1623692f60a7Smrg *-tti) # must be before sparc entry or we get the wrong os. 1624692f60a7Smrg os=-sysv3 1625692f60a7Smrg ;; 1626692f60a7Smrg sparc-* | *-sun) 1627692f60a7Smrg os=-sunos4.1.1 1628692f60a7Smrg ;; 1629692f60a7Smrg *-be) 1630692f60a7Smrg os=-beos 1631692f60a7Smrg ;; 163254569438Smrg *-haiku) 163354569438Smrg os=-haiku 163454569438Smrg ;; 1635692f60a7Smrg *-ibm) 1636692f60a7Smrg os=-aix 1637692f60a7Smrg ;; 16383f6d0e1dSmrg *-knuth) 163954569438Smrg os=-mmixware 164054569438Smrg ;; 1641692f60a7Smrg *-wec) 1642692f60a7Smrg os=-proelf 1643692f60a7Smrg ;; 1644692f60a7Smrg *-winbond) 1645692f60a7Smrg os=-proelf 1646692f60a7Smrg ;; 1647692f60a7Smrg *-oki) 1648692f60a7Smrg os=-proelf 1649692f60a7Smrg ;; 1650692f60a7Smrg *-hp) 1651692f60a7Smrg os=-hpux 1652692f60a7Smrg ;; 1653692f60a7Smrg *-hitachi) 1654692f60a7Smrg os=-hiux 1655692f60a7Smrg ;; 1656692f60a7Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1657692f60a7Smrg os=-sysv 1658692f60a7Smrg ;; 1659692f60a7Smrg *-cbm) 1660692f60a7Smrg os=-amigaos 1661692f60a7Smrg ;; 1662692f60a7Smrg *-dg) 1663692f60a7Smrg os=-dgux 1664692f60a7Smrg ;; 1665692f60a7Smrg *-dolphin) 1666692f60a7Smrg os=-sysv3 1667692f60a7Smrg ;; 1668692f60a7Smrg m68k-ccur) 1669692f60a7Smrg os=-rtu 1670692f60a7Smrg ;; 1671692f60a7Smrg m88k-omron*) 1672692f60a7Smrg os=-luna 1673692f60a7Smrg ;; 1674692f60a7Smrg *-next ) 1675692f60a7Smrg os=-nextstep 1676692f60a7Smrg ;; 1677692f60a7Smrg *-sequent) 1678692f60a7Smrg os=-ptx 1679692f60a7Smrg ;; 1680692f60a7Smrg *-crds) 1681692f60a7Smrg os=-unos 1682692f60a7Smrg ;; 1683692f60a7Smrg *-ns) 1684692f60a7Smrg os=-genix 1685692f60a7Smrg ;; 1686692f60a7Smrg i370-*) 1687692f60a7Smrg os=-mvs 1688692f60a7Smrg ;; 1689692f60a7Smrg *-next) 1690692f60a7Smrg os=-nextstep3 1691692f60a7Smrg ;; 1692692f60a7Smrg *-gould) 1693692f60a7Smrg os=-sysv 1694692f60a7Smrg ;; 1695692f60a7Smrg *-highlevel) 1696692f60a7Smrg os=-bsd 1697692f60a7Smrg ;; 1698692f60a7Smrg *-encore) 1699692f60a7Smrg os=-bsd 1700692f60a7Smrg ;; 1701692f60a7Smrg *-sgi) 1702692f60a7Smrg os=-irix 1703692f60a7Smrg ;; 1704692f60a7Smrg *-siemens) 1705692f60a7Smrg os=-sysv4 1706692f60a7Smrg ;; 1707692f60a7Smrg *-masscomp) 1708692f60a7Smrg os=-rtu 1709692f60a7Smrg ;; 1710692f60a7Smrg f30[01]-fujitsu | f700-fujitsu) 1711692f60a7Smrg os=-uxpv 1712692f60a7Smrg ;; 1713692f60a7Smrg *-rom68k) 1714692f60a7Smrg os=-coff 1715692f60a7Smrg ;; 1716692f60a7Smrg *-*bug) 1717692f60a7Smrg os=-coff 1718692f60a7Smrg ;; 1719692f60a7Smrg *-apple) 1720692f60a7Smrg os=-macos 1721692f60a7Smrg ;; 1722692f60a7Smrg *-atari*) 1723692f60a7Smrg os=-mint 1724692f60a7Smrg ;; 1725692f60a7Smrg *) 1726692f60a7Smrg os=-none 1727692f60a7Smrg ;; 1728692f60a7Smrgesac 1729692f60a7Smrgfi 1730692f60a7Smrg 1731692f60a7Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1732692f60a7Smrg# manufacturer. We pick the logical manufacturer. 1733692f60a7Smrgvendor=unknown 1734692f60a7Smrgcase $basic_machine in 1735692f60a7Smrg *-unknown) 1736692f60a7Smrg case $os in 1737692f60a7Smrg -riscix*) 1738692f60a7Smrg vendor=acorn 1739692f60a7Smrg ;; 1740692f60a7Smrg -sunos*) 1741692f60a7Smrg vendor=sun 1742692f60a7Smrg ;; 17433f6d0e1dSmrg -cnk*|-aix*) 1744692f60a7Smrg vendor=ibm 1745692f60a7Smrg ;; 1746692f60a7Smrg -beos*) 1747692f60a7Smrg vendor=be 1748692f60a7Smrg ;; 1749692f60a7Smrg -hpux*) 1750692f60a7Smrg vendor=hp 1751692f60a7Smrg ;; 1752692f60a7Smrg -mpeix*) 1753692f60a7Smrg vendor=hp 1754692f60a7Smrg ;; 1755692f60a7Smrg -hiux*) 1756692f60a7Smrg vendor=hitachi 1757692f60a7Smrg ;; 1758692f60a7Smrg -unos*) 1759692f60a7Smrg vendor=crds 1760692f60a7Smrg ;; 1761692f60a7Smrg -dgux*) 1762692f60a7Smrg vendor=dg 1763692f60a7Smrg ;; 1764692f60a7Smrg -luna*) 1765692f60a7Smrg vendor=omron 1766692f60a7Smrg ;; 1767692f60a7Smrg -genix*) 1768692f60a7Smrg vendor=ns 1769692f60a7Smrg ;; 1770692f60a7Smrg -mvs* | -opened*) 1771692f60a7Smrg vendor=ibm 1772692f60a7Smrg ;; 177354569438Smrg -os400*) 177454569438Smrg vendor=ibm 177554569438Smrg ;; 1776692f60a7Smrg -ptx*) 1777692f60a7Smrg vendor=sequent 1778692f60a7Smrg ;; 177954569438Smrg -tpf*) 178054569438Smrg vendor=ibm 178154569438Smrg ;; 1782692f60a7Smrg -vxsim* | -vxworks* | -windiss*) 1783692f60a7Smrg vendor=wrs 1784692f60a7Smrg ;; 1785692f60a7Smrg -aux*) 1786692f60a7Smrg vendor=apple 1787692f60a7Smrg ;; 1788692f60a7Smrg -hms*) 1789692f60a7Smrg vendor=hitachi 1790692f60a7Smrg ;; 1791692f60a7Smrg -mpw* | -macos*) 1792692f60a7Smrg vendor=apple 1793692f60a7Smrg ;; 1794692f60a7Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1795692f60a7Smrg vendor=atari 1796692f60a7Smrg ;; 1797692f60a7Smrg -vos*) 1798692f60a7Smrg vendor=stratus 1799692f60a7Smrg ;; 1800692f60a7Smrg esac 1801692f60a7Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1802692f60a7Smrg ;; 1803692f60a7Smrgesac 1804692f60a7Smrg 1805692f60a7Smrgecho $basic_machine$os 180654569438Smrgexit 1807692f60a7Smrg 1808692f60a7Smrg# Local variables: 1809692f60a7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1810692f60a7Smrg# time-stamp-start: "timestamp='" 1811692f60a7Smrg# time-stamp-format: "%:y-%02m-%02d" 1812692f60a7Smrg# time-stamp-end: "'" 1813692f60a7Smrg# End: 1814