config.sub revision eaa3dbe0
1692f60a7Smrg#! /bin/sh 2692f60a7Smrg# Configuration validation subroutine script. 3692f60a7Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 43f6d0e1dSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 5eaa3dbe0Smrg# 2011, 2012, 2013 Free Software Foundation, Inc. 6692f60a7Smrg 7eaa3dbe0Smrgtimestamp='2013-01-11' 8692f60a7Smrg 9eaa3dbe0Smrg# This file is free software; you can redistribute it and/or modify it 10eaa3dbe0Smrg# under the terms of the GNU General Public License as published by 11eaa3dbe0Smrg# the Free Software Foundation; either version 3 of the License, or 12692f60a7Smrg# (at your option) any later version. 13692f60a7Smrg# 14eaa3dbe0Smrg# This program is distributed in the hope that it will be useful, but 15eaa3dbe0Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 16eaa3dbe0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17eaa3dbe0Smrg# General Public License for more details. 18692f60a7Smrg# 19692f60a7Smrg# You should have received a copy of the GNU General Public License 20eaa3dbe0Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 2154569438Smrg# 22692f60a7Smrg# As a special exception to the GNU General Public License, if you 23692f60a7Smrg# distribute this file as part of a program that contains a 24692f60a7Smrg# configuration script generated by Autoconf, you may include it under 25eaa3dbe0Smrg# the same distribution terms that you use for the rest of that 26eaa3dbe0Smrg# program. This Exception is an additional permission under section 7 27eaa3dbe0Smrg# of the GNU General Public License, version 3 ("GPLv3"). 28692f60a7Smrg 2954569438Smrg 30eaa3dbe0Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org. 31692f60a7Smrg# 32692f60a7Smrg# Configuration subroutine to validate and canonicalize a configuration type. 33692f60a7Smrg# Supply the specified configuration type as an argument. 34692f60a7Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 35692f60a7Smrg# Otherwise, we print the canonical config type on stdout and succeed. 36692f60a7Smrg 373f6d0e1dSmrg# You can get the latest version of this script from: 383f6d0e1dSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 393f6d0e1dSmrg 40692f60a7Smrg# This file is supposed to be the same for all GNU packages 41692f60a7Smrg# and recognize all the CPU types, system types and aliases 42692f60a7Smrg# that are meaningful with *any* GNU software. 43692f60a7Smrg# Each package is responsible for reporting which valid configurations 44692f60a7Smrg# it does not support. The user should be able to distinguish 45692f60a7Smrg# a failure to support a valid configuration from a meaningless 46692f60a7Smrg# configuration. 47692f60a7Smrg 48692f60a7Smrg# The goal of this file is to map all the various variations of a given 49692f60a7Smrg# machine specification into a single specification in the form: 50692f60a7Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 51692f60a7Smrg# or in some cases, the newer four-part form: 52692f60a7Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 53692f60a7Smrg# It is wrong to echo any other type of specification. 54692f60a7Smrg 55692f60a7Smrgme=`echo "$0" | sed -e 's,.*/,,'` 56692f60a7Smrg 57692f60a7Smrgusage="\ 58692f60a7SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 59692f60a7Smrg $0 [OPTION] ALIAS 60692f60a7Smrg 61692f60a7SmrgCanonicalize a configuration name. 62692f60a7Smrg 63692f60a7SmrgOperation modes: 64692f60a7Smrg -h, --help print this help, then exit 65692f60a7Smrg -t, --time-stamp print date of last modification, then exit 66692f60a7Smrg -v, --version print version number, then exit 67692f60a7Smrg 68692f60a7SmrgReport bugs and patches to <config-patches@gnu.org>." 69692f60a7Smrg 70692f60a7Smrgversion="\ 71692f60a7SmrgGNU config.sub ($timestamp) 72692f60a7Smrg 733f6d0e1dSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 74eaa3dbe0Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 75eaa3dbe0Smrg2012, 2013 Free Software Foundation, Inc. 76692f60a7Smrg 77692f60a7SmrgThis is free software; see the source for copying conditions. There is NO 78692f60a7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 79692f60a7Smrg 80692f60a7Smrghelp=" 81692f60a7SmrgTry \`$me --help' for more information." 82692f60a7Smrg 83692f60a7Smrg# Parse command line 84692f60a7Smrgwhile test $# -gt 0 ; do 85692f60a7Smrg case $1 in 86692f60a7Smrg --time-stamp | --time* | -t ) 8754569438Smrg echo "$timestamp" ; exit ;; 88692f60a7Smrg --version | -v ) 8954569438Smrg echo "$version" ; exit ;; 90692f60a7Smrg --help | --h* | -h ) 9154569438Smrg echo "$usage"; exit ;; 92692f60a7Smrg -- ) # Stop option processing 93692f60a7Smrg shift; break ;; 94692f60a7Smrg - ) # Use stdin as input. 95692f60a7Smrg break ;; 96692f60a7Smrg -* ) 97692f60a7Smrg echo "$me: invalid option $1$help" 98692f60a7Smrg exit 1 ;; 99692f60a7Smrg 100692f60a7Smrg *local*) 101692f60a7Smrg # First pass through any local machine types. 102692f60a7Smrg echo $1 10354569438Smrg exit ;; 104692f60a7Smrg 105692f60a7Smrg * ) 106692f60a7Smrg break ;; 107692f60a7Smrg esac 108692f60a7Smrgdone 109692f60a7Smrg 110692f60a7Smrgcase $# in 111692f60a7Smrg 0) echo "$me: missing argument$help" >&2 112692f60a7Smrg exit 1;; 113692f60a7Smrg 1) ;; 114692f60a7Smrg *) echo "$me: too many arguments$help" >&2 115692f60a7Smrg exit 1;; 116692f60a7Smrgesac 117692f60a7Smrg 118692f60a7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 119692f60a7Smrg# Here we must recognize all the valid KERNEL-OS combinations. 120692f60a7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 121692f60a7Smrgcase $maybe_os in 1223f6d0e1dSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 123eaa3dbe0Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1243f6d0e1dSmrg knetbsd*-gnu* | netbsd*-gnu* | \ 1253f6d0e1dSmrg kopensolaris*-gnu* | \ 12654569438Smrg storm-chaos* | os2-emx* | rtmk-nova*) 127692f60a7Smrg os=-$maybe_os 128692f60a7Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 129692f60a7Smrg ;; 130eaa3dbe0Smrg android-linux) 131eaa3dbe0Smrg os=-linux-android 132eaa3dbe0Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 133eaa3dbe0Smrg ;; 134692f60a7Smrg *) 135692f60a7Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 136692f60a7Smrg if [ $basic_machine != $1 ] 137692f60a7Smrg then os=`echo $1 | sed 's/.*-/-/'` 138692f60a7Smrg else os=; fi 139692f60a7Smrg ;; 140692f60a7Smrgesac 141692f60a7Smrg 142692f60a7Smrg### Let's recognize common machines as not being operating systems so 143692f60a7Smrg### that things like config.sub decstation-3100 work. We also 144692f60a7Smrg### recognize some manufacturers as not being operating systems, so we 145692f60a7Smrg### can provide default operating systems below. 146692f60a7Smrgcase $os in 147692f60a7Smrg -sun*os*) 148692f60a7Smrg # Prevent following clause from handling this invalid input. 149692f60a7Smrg ;; 150692f60a7Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 151692f60a7Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 152692f60a7Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 153692f60a7Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 154692f60a7Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 155692f60a7Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 156eaa3dbe0Smrg -apple | -axis | -knuth | -cray | -microblaze*) 157692f60a7Smrg os= 158692f60a7Smrg basic_machine=$1 159692f60a7Smrg ;; 1603f6d0e1dSmrg -bluegene*) 1613f6d0e1dSmrg os=-cnk 1623f6d0e1dSmrg ;; 163692f60a7Smrg -sim | -cisco | -oki | -wec | -winbond) 164692f60a7Smrg os= 165692f60a7Smrg basic_machine=$1 166692f60a7Smrg ;; 167692f60a7Smrg -scout) 168692f60a7Smrg ;; 169692f60a7Smrg -wrs) 170692f60a7Smrg os=-vxworks 171692f60a7Smrg basic_machine=$1 172692f60a7Smrg ;; 173692f60a7Smrg -chorusos*) 174692f60a7Smrg os=-chorusos 175692f60a7Smrg basic_machine=$1 176692f60a7Smrg ;; 1773f6d0e1dSmrg -chorusrdb) 1783f6d0e1dSmrg os=-chorusrdb 179692f60a7Smrg basic_machine=$1 1803f6d0e1dSmrg ;; 181692f60a7Smrg -hiux*) 182692f60a7Smrg os=-hiuxwe2 183692f60a7Smrg ;; 18454569438Smrg -sco6) 18554569438Smrg os=-sco5v6 18654569438Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18754569438Smrg ;; 188692f60a7Smrg -sco5) 189692f60a7Smrg os=-sco3.2v5 190692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191692f60a7Smrg ;; 192692f60a7Smrg -sco4) 193692f60a7Smrg os=-sco3.2v4 194692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195692f60a7Smrg ;; 196692f60a7Smrg -sco3.2.[4-9]*) 197692f60a7Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 198692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 199692f60a7Smrg ;; 200692f60a7Smrg -sco3.2v[4-9]*) 201692f60a7Smrg # Don't forget version if it is 3.2v4 or newer. 202692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203692f60a7Smrg ;; 20454569438Smrg -sco5v6*) 20554569438Smrg # Don't forget version if it is 3.2v4 or newer. 20654569438Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20754569438Smrg ;; 208692f60a7Smrg -sco*) 209692f60a7Smrg os=-sco3.2v2 210692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 211692f60a7Smrg ;; 212692f60a7Smrg -udk*) 213692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 214692f60a7Smrg ;; 215692f60a7Smrg -isc) 216692f60a7Smrg os=-isc2.2 217692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 218692f60a7Smrg ;; 219692f60a7Smrg -clix*) 220692f60a7Smrg basic_machine=clipper-intergraph 221692f60a7Smrg ;; 222692f60a7Smrg -isc*) 223692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 224692f60a7Smrg ;; 225eaa3dbe0Smrg -lynx*178) 226eaa3dbe0Smrg os=-lynxos178 227eaa3dbe0Smrg ;; 228eaa3dbe0Smrg -lynx*5) 229eaa3dbe0Smrg os=-lynxos5 230eaa3dbe0Smrg ;; 231692f60a7Smrg -lynx*) 232692f60a7Smrg os=-lynxos 233692f60a7Smrg ;; 234692f60a7Smrg -ptx*) 235692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 236692f60a7Smrg ;; 237692f60a7Smrg -windowsnt*) 238692f60a7Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 239692f60a7Smrg ;; 240692f60a7Smrg -psos*) 241692f60a7Smrg os=-psos 242692f60a7Smrg ;; 243692f60a7Smrg -mint | -mint[0-9]*) 244692f60a7Smrg basic_machine=m68k-atari 245692f60a7Smrg os=-mint 246692f60a7Smrg ;; 247692f60a7Smrgesac 248692f60a7Smrg 249692f60a7Smrg# Decode aliases for certain CPU-COMPANY combinations. 250692f60a7Smrgcase $basic_machine in 251692f60a7Smrg # Recognize the basic CPU types without company name. 252692f60a7Smrg # Some are omitted here because they have special meanings below. 253692f60a7Smrg 1750a | 580 \ 254692f60a7Smrg | a29k \ 255eaa3dbe0Smrg | aarch64 | aarch64_be \ 256692f60a7Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 257692f60a7Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25854569438Smrg | am33_2.0 \ 259eaa3dbe0Smrg | arc \ 260eaa3dbe0Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 261eaa3dbe0Smrg | avr | avr32 \ 262eaa3dbe0Smrg | be32 | be64 \ 26354569438Smrg | bfin \ 264692f60a7Smrg | c4x | clipper \ 265eaa3dbe0Smrg | d10v | d30v | dlx | dsp16xx | dvp \ 2663f6d0e1dSmrg | epiphany \ 26754569438Smrg | fido | fr30 | frv \ 268692f60a7Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2693f6d0e1dSmrg | hexagon \ 270692f60a7Smrg | i370 | i860 | i960 | ia64 \ 27154569438Smrg | ip2k | iq2000 \ 2723f6d0e1dSmrg | le32 | le64 \ 2733f6d0e1dSmrg | lm32 \ 27454569438Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 275eaa3dbe0Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 276692f60a7Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 277692f60a7Smrg | mips16 \ 278692f60a7Smrg | mips64 | mips64el \ 2793f6d0e1dSmrg | mips64octeon | mips64octeonel \ 2802e71ea71Smrg | mips64orion | mips64orionel \ 2813f6d0e1dSmrg | mips64r5900 | mips64r5900el \ 2823f6d0e1dSmrg | mips64vr | mips64vrel \ 283692f60a7Smrg | mips64vr4100 | mips64vr4100el \ 284692f60a7Smrg | mips64vr4300 | mips64vr4300el \ 285692f60a7Smrg | mips64vr5000 | mips64vr5000el \ 28654569438Smrg | mips64vr5900 | mips64vr5900el \ 287692f60a7Smrg | mipsisa32 | mipsisa32el \ 288692f60a7Smrg | mipsisa32r2 | mipsisa32r2el \ 289692f60a7Smrg | mipsisa64 | mipsisa64el \ 29054569438Smrg | mipsisa64r2 | mipsisa64r2el \ 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 \ 30054569438Smrg | nios | nios2 \ 301692f60a7Smrg | ns16k | ns32k \ 3023f6d0e1dSmrg | open8 \ 30354569438Smrg | or32 \ 304692f60a7Smrg | pdp10 | pdp11 | pj | pjl \ 3053f6d0e1dSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 306692f60a7Smrg | pyramid \ 3073f6d0e1dSmrg | rl78 | rx \ 30854569438Smrg | score \ 3093f6d0e1dSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]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 \ 317692f60a7Smrg | we32k \ 3183f6d0e1dSmrg | x86 | xc16x | xstormy16 | xtensa \ 3193f6d0e1dSmrg | z8k | z80) 320692f60a7Smrg basic_machine=$basic_machine-unknown 321692f60a7Smrg ;; 3223f6d0e1dSmrg c54x) 3233f6d0e1dSmrg basic_machine=tic54x-unknown 3243f6d0e1dSmrg ;; 3253f6d0e1dSmrg c55x) 3263f6d0e1dSmrg basic_machine=tic55x-unknown 3273f6d0e1dSmrg ;; 3283f6d0e1dSmrg c6x) 3293f6d0e1dSmrg basic_machine=tic6x-unknown 3303f6d0e1dSmrg ;; 331eaa3dbe0Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) 332692f60a7Smrg basic_machine=$basic_machine-unknown 333692f60a7Smrg os=-none 334692f60a7Smrg ;; 335692f60a7Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 336692f60a7Smrg ;; 33754569438Smrg ms1) 33854569438Smrg basic_machine=mt-unknown 33954569438Smrg ;; 340692f60a7Smrg 3413f6d0e1dSmrg strongarm | thumb | xscale) 3423f6d0e1dSmrg basic_machine=arm-unknown 3433f6d0e1dSmrg ;; 344eaa3dbe0Smrg xgate) 345eaa3dbe0Smrg basic_machine=$basic_machine-unknown 346eaa3dbe0Smrg os=-none 347eaa3dbe0Smrg ;; 3483f6d0e1dSmrg xscaleeb) 3493f6d0e1dSmrg basic_machine=armeb-unknown 3503f6d0e1dSmrg ;; 3513f6d0e1dSmrg 3523f6d0e1dSmrg xscaleel) 3533f6d0e1dSmrg basic_machine=armel-unknown 3543f6d0e1dSmrg ;; 3553f6d0e1dSmrg 356692f60a7Smrg # We use `pc' rather than `unknown' 357692f60a7Smrg # because (1) that's what they normally are, and 358692f60a7Smrg # (2) the word "unknown" tends to confuse beginning users. 359692f60a7Smrg i*86 | x86_64) 360692f60a7Smrg basic_machine=$basic_machine-pc 361692f60a7Smrg ;; 362692f60a7Smrg # Object if more than one company name word. 363692f60a7Smrg *-*-*) 364692f60a7Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 365692f60a7Smrg exit 1 366692f60a7Smrg ;; 367692f60a7Smrg # Recognize the basic CPU types with company name. 368692f60a7Smrg 580-* \ 369692f60a7Smrg | a29k-* \ 370eaa3dbe0Smrg | aarch64-* | aarch64_be-* \ 371692f60a7Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 372692f60a7Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 373692f60a7Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 374692f60a7Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37554569438Smrg | avr-* | avr32-* \ 3763f6d0e1dSmrg | be32-* | be64-* \ 37754569438Smrg | bfin-* | bs2000-* \ 3783f6d0e1dSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 37954569438Smrg | clipper-* | craynv-* | cydra-* \ 380692f60a7Smrg | d10v-* | d30v-* | dlx-* \ 381692f60a7Smrg | elxsi-* \ 38254569438Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 383692f60a7Smrg | h8300-* | h8500-* \ 384692f60a7Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3853f6d0e1dSmrg | hexagon-* \ 386692f60a7Smrg | i*86-* | i860-* | i960-* | ia64-* \ 38754569438Smrg | ip2k-* | iq2000-* \ 3883f6d0e1dSmrg | le32-* | le64-* \ 3893f6d0e1dSmrg | lm32-* \ 39054569438Smrg | m32c-* | m32r-* | m32rle-* \ 391692f60a7Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 392eaa3dbe0Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 393eaa3dbe0Smrg | microblaze-* | microblazeel-* \ 394692f60a7Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 395692f60a7Smrg | mips16-* \ 396692f60a7Smrg | mips64-* | mips64el-* \ 3973f6d0e1dSmrg | mips64octeon-* | mips64octeonel-* \ 3982e71ea71Smrg | mips64orion-* | mips64orionel-* \ 3993f6d0e1dSmrg | mips64r5900-* | mips64r5900el-* \ 4003f6d0e1dSmrg | mips64vr-* | mips64vrel-* \ 401692f60a7Smrg | mips64vr4100-* | mips64vr4100el-* \ 402692f60a7Smrg | mips64vr4300-* | mips64vr4300el-* \ 403692f60a7Smrg | mips64vr5000-* | mips64vr5000el-* \ 40454569438Smrg | mips64vr5900-* | mips64vr5900el-* \ 405692f60a7Smrg | mipsisa32-* | mipsisa32el-* \ 406692f60a7Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 407692f60a7Smrg | mipsisa64-* | mipsisa64el-* \ 40854569438Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 409692f60a7Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 410692f60a7Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 411eaa3dbe0Smrg | mipsr5900-* | mipsr5900el-* \ 412692f60a7Smrg | mipstx39-* | mipstx39el-* \ 41354569438Smrg | mmix-* \ 41454569438Smrg | mt-* \ 415692f60a7Smrg | msp430-* \ 4163f6d0e1dSmrg | nds32-* | nds32le-* | nds32be-* \ 41754569438Smrg | nios-* | nios2-* \ 41854569438Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4193f6d0e1dSmrg | open8-* \ 420692f60a7Smrg | orion-* \ 421692f60a7Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4223f6d0e1dSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 423692f60a7Smrg | pyramid-* \ 4243f6d0e1dSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 4253f6d0e1dSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 426692f60a7Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 42754569438Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 42854569438Smrg | sparclite-* \ 4293f6d0e1dSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4303f6d0e1dSmrg | tahoe-* \ 4312e71ea71Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4323f6d0e1dSmrg | tile*-* \ 433692f60a7Smrg | tron-* \ 4343f6d0e1dSmrg | ubicom32-* \ 4353f6d0e1dSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4363f6d0e1dSmrg | vax-* \ 437692f60a7Smrg | we32k-* \ 4383f6d0e1dSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 43954569438Smrg | xstormy16-* | xtensa*-* \ 440692f60a7Smrg | ymp-* \ 4413f6d0e1dSmrg | z8k-* | z80-*) 442692f60a7Smrg ;; 44354569438Smrg # Recognize the basic CPU types without company name, with glob match. 44454569438Smrg xtensa*) 44554569438Smrg basic_machine=$basic_machine-unknown 44654569438Smrg ;; 447692f60a7Smrg # Recognize the various machine names and aliases which stand 448692f60a7Smrg # for a CPU type and a company and sometimes even an OS. 449692f60a7Smrg 386bsd) 450692f60a7Smrg basic_machine=i386-unknown 451692f60a7Smrg os=-bsd 452692f60a7Smrg ;; 453692f60a7Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 454692f60a7Smrg basic_machine=m68000-att 455692f60a7Smrg ;; 456692f60a7Smrg 3b*) 457692f60a7Smrg basic_machine=we32k-att 458692f60a7Smrg ;; 459692f60a7Smrg a29khif) 460692f60a7Smrg basic_machine=a29k-amd 461692f60a7Smrg os=-udi 462692f60a7Smrg ;; 4633f6d0e1dSmrg abacus) 46454569438Smrg basic_machine=abacus-unknown 46554569438Smrg ;; 466692f60a7Smrg adobe68k) 467692f60a7Smrg basic_machine=m68010-adobe 468692f60a7Smrg os=-scout 469692f60a7Smrg ;; 470692f60a7Smrg alliant | fx80) 471692f60a7Smrg basic_machine=fx80-alliant 472692f60a7Smrg ;; 473692f60a7Smrg altos | altos3068) 474692f60a7Smrg basic_machine=m68k-altos 475692f60a7Smrg ;; 476692f60a7Smrg am29k) 477692f60a7Smrg basic_machine=a29k-none 478692f60a7Smrg os=-bsd 479692f60a7Smrg ;; 480692f60a7Smrg amd64) 481692f60a7Smrg basic_machine=x86_64-pc 482692f60a7Smrg ;; 48354569438Smrg amd64-*) 48454569438Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 48554569438Smrg ;; 486692f60a7Smrg amdahl) 487692f60a7Smrg basic_machine=580-amdahl 488692f60a7Smrg os=-sysv 489692f60a7Smrg ;; 490692f60a7Smrg amiga | amiga-*) 491692f60a7Smrg basic_machine=m68k-unknown 492692f60a7Smrg ;; 493692f60a7Smrg amigaos | amigados) 494692f60a7Smrg basic_machine=m68k-unknown 495692f60a7Smrg os=-amigaos 496692f60a7Smrg ;; 497692f60a7Smrg amigaunix | amix) 498692f60a7Smrg basic_machine=m68k-unknown 499692f60a7Smrg os=-sysv4 500692f60a7Smrg ;; 501692f60a7Smrg apollo68) 502692f60a7Smrg basic_machine=m68k-apollo 503692f60a7Smrg os=-sysv 504692f60a7Smrg ;; 505692f60a7Smrg apollo68bsd) 506692f60a7Smrg basic_machine=m68k-apollo 507692f60a7Smrg os=-bsd 508692f60a7Smrg ;; 5093f6d0e1dSmrg aros) 5103f6d0e1dSmrg basic_machine=i386-pc 5113f6d0e1dSmrg os=-aros 5123f6d0e1dSmrg ;; 513692f60a7Smrg aux) 514692f60a7Smrg basic_machine=m68k-apple 515692f60a7Smrg os=-aux 516692f60a7Smrg ;; 517692f60a7Smrg balance) 518692f60a7Smrg basic_machine=ns32k-sequent 519692f60a7Smrg os=-dynix 520692f60a7Smrg ;; 52154569438Smrg blackfin) 52254569438Smrg basic_machine=bfin-unknown 52354569438Smrg os=-linux 52454569438Smrg ;; 52554569438Smrg blackfin-*) 52654569438Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 52754569438Smrg os=-linux 52854569438Smrg ;; 5293f6d0e1dSmrg bluegene*) 5303f6d0e1dSmrg basic_machine=powerpc-ibm 5313f6d0e1dSmrg os=-cnk 5323f6d0e1dSmrg ;; 5333f6d0e1dSmrg c54x-*) 5343f6d0e1dSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5353f6d0e1dSmrg ;; 5363f6d0e1dSmrg c55x-*) 5373f6d0e1dSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5383f6d0e1dSmrg ;; 5393f6d0e1dSmrg c6x-*) 5403f6d0e1dSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5413f6d0e1dSmrg ;; 542692f60a7Smrg c90) 543692f60a7Smrg basic_machine=c90-cray 544692f60a7Smrg os=-unicos 545692f60a7Smrg ;; 5463f6d0e1dSmrg cegcc) 5473f6d0e1dSmrg basic_machine=arm-unknown 5483f6d0e1dSmrg os=-cegcc 5493f6d0e1dSmrg ;; 550692f60a7Smrg convex-c1) 551692f60a7Smrg basic_machine=c1-convex 552692f60a7Smrg os=-bsd 553692f60a7Smrg ;; 554692f60a7Smrg convex-c2) 555692f60a7Smrg basic_machine=c2-convex 556692f60a7Smrg os=-bsd 557692f60a7Smrg ;; 558692f60a7Smrg convex-c32) 559692f60a7Smrg basic_machine=c32-convex 560692f60a7Smrg os=-bsd 561692f60a7Smrg ;; 562692f60a7Smrg convex-c34) 563692f60a7Smrg basic_machine=c34-convex 564692f60a7Smrg os=-bsd 565692f60a7Smrg ;; 566692f60a7Smrg convex-c38) 567692f60a7Smrg basic_machine=c38-convex 568692f60a7Smrg os=-bsd 569692f60a7Smrg ;; 570692f60a7Smrg cray | j90) 571692f60a7Smrg basic_machine=j90-cray 572692f60a7Smrg os=-unicos 573692f60a7Smrg ;; 57454569438Smrg craynv) 57554569438Smrg basic_machine=craynv-cray 57654569438Smrg os=-unicosmp 57754569438Smrg ;; 5783f6d0e1dSmrg cr16 | cr16-*) 57954569438Smrg basic_machine=cr16-unknown 58054569438Smrg os=-elf 58154569438Smrg ;; 582692f60a7Smrg crds | unos) 583692f60a7Smrg basic_machine=m68k-crds 584692f60a7Smrg ;; 58554569438Smrg crisv32 | crisv32-* | etraxfs*) 58654569438Smrg basic_machine=crisv32-axis 58754569438Smrg ;; 588692f60a7Smrg cris | cris-* | etrax*) 589692f60a7Smrg basic_machine=cris-axis 590692f60a7Smrg ;; 59154569438Smrg crx) 59254569438Smrg basic_machine=crx-unknown 59354569438Smrg os=-elf 59454569438Smrg ;; 595692f60a7Smrg da30 | da30-*) 596692f60a7Smrg basic_machine=m68k-da30 597692f60a7Smrg ;; 598692f60a7Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 599692f60a7Smrg basic_machine=mips-dec 600692f60a7Smrg ;; 601692f60a7Smrg decsystem10* | dec10*) 602692f60a7Smrg basic_machine=pdp10-dec 603692f60a7Smrg os=-tops10 604692f60a7Smrg ;; 605692f60a7Smrg decsystem20* | dec20*) 606692f60a7Smrg basic_machine=pdp10-dec 607692f60a7Smrg os=-tops20 608692f60a7Smrg ;; 609692f60a7Smrg delta | 3300 | motorola-3300 | motorola-delta \ 610692f60a7Smrg | 3300-motorola | delta-motorola) 611692f60a7Smrg basic_machine=m68k-motorola 612692f60a7Smrg ;; 613692f60a7Smrg delta88) 614692f60a7Smrg basic_machine=m88k-motorola 615692f60a7Smrg os=-sysv3 616692f60a7Smrg ;; 6173f6d0e1dSmrg dicos) 6183f6d0e1dSmrg basic_machine=i686-pc 6193f6d0e1dSmrg os=-dicos 6203f6d0e1dSmrg ;; 62154569438Smrg djgpp) 62254569438Smrg basic_machine=i586-pc 62354569438Smrg os=-msdosdjgpp 62454569438Smrg ;; 625692f60a7Smrg dpx20 | dpx20-*) 626692f60a7Smrg basic_machine=rs6000-bull 627692f60a7Smrg os=-bosx 628692f60a7Smrg ;; 629692f60a7Smrg dpx2* | dpx2*-bull) 630692f60a7Smrg basic_machine=m68k-bull 631692f60a7Smrg os=-sysv3 632692f60a7Smrg ;; 633692f60a7Smrg ebmon29k) 634692f60a7Smrg basic_machine=a29k-amd 635692f60a7Smrg os=-ebmon 636692f60a7Smrg ;; 637692f60a7Smrg elxsi) 638692f60a7Smrg basic_machine=elxsi-elxsi 639692f60a7Smrg os=-bsd 640692f60a7Smrg ;; 641692f60a7Smrg encore | umax | mmax) 642692f60a7Smrg basic_machine=ns32k-encore 643692f60a7Smrg ;; 644692f60a7Smrg es1800 | OSE68k | ose68k | ose | OSE) 645692f60a7Smrg basic_machine=m68k-ericsson 646692f60a7Smrg os=-ose 647692f60a7Smrg ;; 648692f60a7Smrg fx2800) 649692f60a7Smrg basic_machine=i860-alliant 650692f60a7Smrg ;; 651692f60a7Smrg genix) 652692f60a7Smrg basic_machine=ns32k-ns 653692f60a7Smrg ;; 654692f60a7Smrg gmicro) 655692f60a7Smrg basic_machine=tron-gmicro 656692f60a7Smrg os=-sysv 657692f60a7Smrg ;; 658692f60a7Smrg go32) 659692f60a7Smrg basic_machine=i386-pc 660692f60a7Smrg os=-go32 661692f60a7Smrg ;; 662692f60a7Smrg h3050r* | hiux*) 663692f60a7Smrg basic_machine=hppa1.1-hitachi 664692f60a7Smrg os=-hiuxwe2 665692f60a7Smrg ;; 666692f60a7Smrg h8300hms) 667692f60a7Smrg basic_machine=h8300-hitachi 668692f60a7Smrg os=-hms 669692f60a7Smrg ;; 670692f60a7Smrg h8300xray) 671692f60a7Smrg basic_machine=h8300-hitachi 672692f60a7Smrg os=-xray 673692f60a7Smrg ;; 674692f60a7Smrg h8500hms) 675692f60a7Smrg basic_machine=h8500-hitachi 676692f60a7Smrg os=-hms 677692f60a7Smrg ;; 678692f60a7Smrg harris) 679692f60a7Smrg basic_machine=m88k-harris 680692f60a7Smrg os=-sysv3 681692f60a7Smrg ;; 682692f60a7Smrg hp300-*) 683692f60a7Smrg basic_machine=m68k-hp 684692f60a7Smrg ;; 685692f60a7Smrg hp300bsd) 686692f60a7Smrg basic_machine=m68k-hp 687692f60a7Smrg os=-bsd 688692f60a7Smrg ;; 689692f60a7Smrg hp300hpux) 690692f60a7Smrg basic_machine=m68k-hp 691692f60a7Smrg os=-hpux 692692f60a7Smrg ;; 693692f60a7Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 694692f60a7Smrg basic_machine=hppa1.0-hp 695692f60a7Smrg ;; 696692f60a7Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 697692f60a7Smrg basic_machine=m68000-hp 698692f60a7Smrg ;; 699692f60a7Smrg hp9k3[2-9][0-9]) 700692f60a7Smrg basic_machine=m68k-hp 701692f60a7Smrg ;; 702692f60a7Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 703692f60a7Smrg basic_machine=hppa1.0-hp 704692f60a7Smrg ;; 705692f60a7Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 706692f60a7Smrg basic_machine=hppa1.1-hp 707692f60a7Smrg ;; 708692f60a7Smrg hp9k78[0-9] | hp78[0-9]) 709692f60a7Smrg # FIXME: really hppa2.0-hp 710692f60a7Smrg basic_machine=hppa1.1-hp 711692f60a7Smrg ;; 712692f60a7Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 713692f60a7Smrg # FIXME: really hppa2.0-hp 714692f60a7Smrg basic_machine=hppa1.1-hp 715692f60a7Smrg ;; 716692f60a7Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 717692f60a7Smrg basic_machine=hppa1.1-hp 718692f60a7Smrg ;; 719692f60a7Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 720692f60a7Smrg basic_machine=hppa1.0-hp 721692f60a7Smrg ;; 722692f60a7Smrg hppa-next) 723692f60a7Smrg os=-nextstep3 724692f60a7Smrg ;; 725692f60a7Smrg hppaosf) 726692f60a7Smrg basic_machine=hppa1.1-hp 727692f60a7Smrg os=-osf 728692f60a7Smrg ;; 729692f60a7Smrg hppro) 730692f60a7Smrg basic_machine=hppa1.1-hp 731692f60a7Smrg os=-proelf 732692f60a7Smrg ;; 733692f60a7Smrg i370-ibm* | ibm*) 734692f60a7Smrg basic_machine=i370-ibm 735692f60a7Smrg ;; 736692f60a7Smrg i*86v32) 737692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 738692f60a7Smrg os=-sysv32 739692f60a7Smrg ;; 740692f60a7Smrg i*86v4*) 741692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 742692f60a7Smrg os=-sysv4 743692f60a7Smrg ;; 744692f60a7Smrg i*86v) 745692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 746692f60a7Smrg os=-sysv 747692f60a7Smrg ;; 748692f60a7Smrg i*86sol2) 749692f60a7Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 750692f60a7Smrg os=-solaris2 751692f60a7Smrg ;; 752692f60a7Smrg i386mach) 753692f60a7Smrg basic_machine=i386-mach 754692f60a7Smrg os=-mach 755692f60a7Smrg ;; 756692f60a7Smrg i386-vsta | vsta) 757692f60a7Smrg basic_machine=i386-unknown 758692f60a7Smrg os=-vsta 759692f60a7Smrg ;; 760692f60a7Smrg iris | iris4d) 761692f60a7Smrg basic_machine=mips-sgi 762692f60a7Smrg case $os in 763692f60a7Smrg -irix*) 764692f60a7Smrg ;; 765692f60a7Smrg *) 766692f60a7Smrg os=-irix4 767692f60a7Smrg ;; 768692f60a7Smrg esac 769692f60a7Smrg ;; 770692f60a7Smrg isi68 | isi) 771692f60a7Smrg basic_machine=m68k-isi 772692f60a7Smrg os=-sysv 773692f60a7Smrg ;; 77454569438Smrg m68knommu) 77554569438Smrg basic_machine=m68k-unknown 77654569438Smrg os=-linux 77754569438Smrg ;; 77854569438Smrg m68knommu-*) 77954569438Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 78054569438Smrg os=-linux 78154569438Smrg ;; 782692f60a7Smrg m88k-omron*) 783692f60a7Smrg basic_machine=m88k-omron 784692f60a7Smrg ;; 785692f60a7Smrg magnum | m3230) 786692f60a7Smrg basic_machine=mips-mips 787692f60a7Smrg os=-sysv 788692f60a7Smrg ;; 789692f60a7Smrg merlin) 790692f60a7Smrg basic_machine=ns32k-utek 791692f60a7Smrg os=-sysv 792692f60a7Smrg ;; 793eaa3dbe0Smrg microblaze*) 7943f6d0e1dSmrg basic_machine=microblaze-xilinx 7953f6d0e1dSmrg ;; 796eaa3dbe0Smrg mingw64) 797eaa3dbe0Smrg basic_machine=x86_64-pc 798eaa3dbe0Smrg os=-mingw64 799eaa3dbe0Smrg ;; 800692f60a7Smrg mingw32) 801692f60a7Smrg basic_machine=i386-pc 802692f60a7Smrg os=-mingw32 803692f60a7Smrg ;; 80454569438Smrg mingw32ce) 80554569438Smrg basic_machine=arm-unknown 80654569438Smrg os=-mingw32ce 80754569438Smrg ;; 808692f60a7Smrg miniframe) 809692f60a7Smrg basic_machine=m68000-convergent 810692f60a7Smrg ;; 811692f60a7Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 812692f60a7Smrg basic_machine=m68k-atari 813692f60a7Smrg os=-mint 814692f60a7Smrg ;; 815eaa3dbe0Smrg mipsEE* | ee | ps2) 816eaa3dbe0Smrg basic_machine=mips64r5900el-scei 817eaa3dbe0Smrg case $os in 818eaa3dbe0Smrg -linux*) 819eaa3dbe0Smrg ;; 820eaa3dbe0Smrg *) 821eaa3dbe0Smrg os=-elf 822eaa3dbe0Smrg ;; 823eaa3dbe0Smrg esac 824eaa3dbe0Smrg ;; 825eaa3dbe0Smrg iop) 826eaa3dbe0Smrg basic_machine=mipsel-scei 827eaa3dbe0Smrg os=-irx 828eaa3dbe0Smrg ;; 829eaa3dbe0Smrg dvp) 830eaa3dbe0Smrg basic_machine=dvp-scei 831eaa3dbe0Smrg os=-elf 832eaa3dbe0Smrg ;; 833692f60a7Smrg mips3*-*) 834692f60a7Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 835692f60a7Smrg ;; 836692f60a7Smrg mips3*) 837692f60a7Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 838692f60a7Smrg ;; 839692f60a7Smrg monitor) 840692f60a7Smrg basic_machine=m68k-rom68k 841692f60a7Smrg os=-coff 842692f60a7Smrg ;; 843692f60a7Smrg morphos) 844692f60a7Smrg basic_machine=powerpc-unknown 845692f60a7Smrg os=-morphos 846692f60a7Smrg ;; 847692f60a7Smrg msdos) 848692f60a7Smrg basic_machine=i386-pc 849692f60a7Smrg os=-msdos 850692f60a7Smrg ;; 85154569438Smrg ms1-*) 85254569438Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 85354569438Smrg ;; 8543f6d0e1dSmrg msys) 8553f6d0e1dSmrg basic_machine=i386-pc 8563f6d0e1dSmrg os=-msys 8573f6d0e1dSmrg ;; 858692f60a7Smrg mvs) 859692f60a7Smrg basic_machine=i370-ibm 860692f60a7Smrg os=-mvs 861692f60a7Smrg ;; 8623f6d0e1dSmrg nacl) 8633f6d0e1dSmrg basic_machine=le32-unknown 8643f6d0e1dSmrg os=-nacl 8653f6d0e1dSmrg ;; 866692f60a7Smrg ncr3000) 867692f60a7Smrg basic_machine=i486-ncr 868692f60a7Smrg os=-sysv4 869692f60a7Smrg ;; 870692f60a7Smrg netbsd386) 871692f60a7Smrg basic_machine=i386-unknown 872692f60a7Smrg os=-netbsd 873692f60a7Smrg ;; 874692f60a7Smrg netwinder) 875692f60a7Smrg basic_machine=armv4l-rebel 876692f60a7Smrg os=-linux 877692f60a7Smrg ;; 878692f60a7Smrg news | news700 | news800 | news900) 879692f60a7Smrg basic_machine=m68k-sony 880692f60a7Smrg os=-newsos 881692f60a7Smrg ;; 882692f60a7Smrg news1000) 883692f60a7Smrg basic_machine=m68030-sony 884692f60a7Smrg os=-newsos 885692f60a7Smrg ;; 886692f60a7Smrg news-3600 | risc-news) 887692f60a7Smrg basic_machine=mips-sony 888692f60a7Smrg os=-newsos 889692f60a7Smrg ;; 890692f60a7Smrg necv70) 891692f60a7Smrg basic_machine=v70-nec 892692f60a7Smrg os=-sysv 893692f60a7Smrg ;; 894692f60a7Smrg next | m*-next ) 895692f60a7Smrg basic_machine=m68k-next 896692f60a7Smrg case $os in 897692f60a7Smrg -nextstep* ) 898692f60a7Smrg ;; 899692f60a7Smrg -ns2*) 900692f60a7Smrg os=-nextstep2 901692f60a7Smrg ;; 902692f60a7Smrg *) 903692f60a7Smrg os=-nextstep3 904692f60a7Smrg ;; 905692f60a7Smrg esac 906692f60a7Smrg ;; 907692f60a7Smrg nh3000) 908692f60a7Smrg basic_machine=m68k-harris 909692f60a7Smrg os=-cxux 910692f60a7Smrg ;; 911692f60a7Smrg nh[45]000) 912692f60a7Smrg basic_machine=m88k-harris 913692f60a7Smrg os=-cxux 914692f60a7Smrg ;; 915692f60a7Smrg nindy960) 916692f60a7Smrg basic_machine=i960-intel 917692f60a7Smrg os=-nindy 918692f60a7Smrg ;; 919692f60a7Smrg mon960) 920692f60a7Smrg basic_machine=i960-intel 921692f60a7Smrg os=-mon960 922692f60a7Smrg ;; 923692f60a7Smrg nonstopux) 924692f60a7Smrg basic_machine=mips-compaq 925692f60a7Smrg os=-nonstopux 926692f60a7Smrg ;; 927692f60a7Smrg np1) 928692f60a7Smrg basic_machine=np1-gould 929692f60a7Smrg ;; 9303f6d0e1dSmrg neo-tandem) 9313f6d0e1dSmrg basic_machine=neo-tandem 9323f6d0e1dSmrg ;; 9333f6d0e1dSmrg nse-tandem) 9343f6d0e1dSmrg basic_machine=nse-tandem 9353f6d0e1dSmrg ;; 936692f60a7Smrg nsr-tandem) 937692f60a7Smrg basic_machine=nsr-tandem 938692f60a7Smrg ;; 939692f60a7Smrg op50n-* | op60c-*) 940692f60a7Smrg basic_machine=hppa1.1-oki 941692f60a7Smrg os=-proelf 942692f60a7Smrg ;; 94354569438Smrg openrisc | openrisc-*) 944692f60a7Smrg basic_machine=or32-unknown 94554569438Smrg ;; 94654569438Smrg os400) 94754569438Smrg basic_machine=powerpc-ibm 94854569438Smrg os=-os400 949692f60a7Smrg ;; 950692f60a7Smrg OSE68000 | ose68000) 951692f60a7Smrg basic_machine=m68000-ericsson 952692f60a7Smrg os=-ose 953692f60a7Smrg ;; 954692f60a7Smrg os68k) 955692f60a7Smrg basic_machine=m68k-none 956692f60a7Smrg os=-os68k 957692f60a7Smrg ;; 958692f60a7Smrg pa-hitachi) 959692f60a7Smrg basic_machine=hppa1.1-hitachi 960692f60a7Smrg os=-hiuxwe2 961692f60a7Smrg ;; 962692f60a7Smrg paragon) 963692f60a7Smrg basic_machine=i860-intel 964692f60a7Smrg os=-osf 965692f60a7Smrg ;; 96654569438Smrg parisc) 96754569438Smrg basic_machine=hppa-unknown 96854569438Smrg os=-linux 96954569438Smrg ;; 97054569438Smrg parisc-*) 97154569438Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 97254569438Smrg os=-linux 97354569438Smrg ;; 974692f60a7Smrg pbd) 975692f60a7Smrg basic_machine=sparc-tti 976692f60a7Smrg ;; 977692f60a7Smrg pbb) 978692f60a7Smrg basic_machine=m68k-tti 979692f60a7Smrg ;; 980692f60a7Smrg pc532 | pc532-*) 981692f60a7Smrg basic_machine=ns32k-pc532 982692f60a7Smrg ;; 98354569438Smrg pc98) 98454569438Smrg basic_machine=i386-pc 98554569438Smrg ;; 98654569438Smrg pc98-*) 98754569438Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 98854569438Smrg ;; 989692f60a7Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 990692f60a7Smrg basic_machine=i586-pc 991692f60a7Smrg ;; 992692f60a7Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 993692f60a7Smrg basic_machine=i686-pc 994692f60a7Smrg ;; 995692f60a7Smrg pentiumii | pentium2 | pentiumiii | pentium3) 996692f60a7Smrg basic_machine=i686-pc 997692f60a7Smrg ;; 998692f60a7Smrg pentium4) 999692f60a7Smrg basic_machine=i786-pc 1000692f60a7Smrg ;; 1001692f60a7Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1002692f60a7Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 1003692f60a7Smrg ;; 1004692f60a7Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 1005692f60a7Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1006692f60a7Smrg ;; 1007692f60a7Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1008692f60a7Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 1009692f60a7Smrg ;; 1010692f60a7Smrg pentium4-*) 1011692f60a7Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 1012692f60a7Smrg ;; 1013692f60a7Smrg pn) 1014692f60a7Smrg basic_machine=pn-gould 1015692f60a7Smrg ;; 1016692f60a7Smrg power) basic_machine=power-ibm 1017692f60a7Smrg ;; 10183f6d0e1dSmrg ppc | ppcbe) basic_machine=powerpc-unknown 1019692f60a7Smrg ;; 10203f6d0e1dSmrg ppc-* | ppcbe-*) 10213f6d0e1dSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 1022692f60a7Smrg ;; 1023692f60a7Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 1024692f60a7Smrg basic_machine=powerpcle-unknown 1025692f60a7Smrg ;; 1026692f60a7Smrg ppcle-* | powerpclittle-*) 1027692f60a7Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 1028692f60a7Smrg ;; 1029692f60a7Smrg ppc64) basic_machine=powerpc64-unknown 1030692f60a7Smrg ;; 1031692f60a7Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 1032692f60a7Smrg ;; 1033692f60a7Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 1034692f60a7Smrg basic_machine=powerpc64le-unknown 1035692f60a7Smrg ;; 1036692f60a7Smrg ppc64le-* | powerpc64little-*) 1037692f60a7Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1038692f60a7Smrg ;; 1039692f60a7Smrg ps2) 1040692f60a7Smrg basic_machine=i386-ibm 1041692f60a7Smrg ;; 1042692f60a7Smrg pw32) 1043692f60a7Smrg basic_machine=i586-unknown 1044692f60a7Smrg os=-pw32 1045692f60a7Smrg ;; 1046eaa3dbe0Smrg rdos | rdos64) 1047eaa3dbe0Smrg basic_machine=x86_64-pc 1048eaa3dbe0Smrg os=-rdos 1049eaa3dbe0Smrg ;; 1050eaa3dbe0Smrg rdos32) 105154569438Smrg basic_machine=i386-pc 105254569438Smrg os=-rdos 105354569438Smrg ;; 1054692f60a7Smrg rom68k) 1055692f60a7Smrg basic_machine=m68k-rom68k 1056692f60a7Smrg os=-coff 1057692f60a7Smrg ;; 1058692f60a7Smrg rm[46]00) 1059692f60a7Smrg basic_machine=mips-siemens 1060692f60a7Smrg ;; 1061692f60a7Smrg rtpc | rtpc-*) 1062692f60a7Smrg basic_machine=romp-ibm 1063692f60a7Smrg ;; 106454569438Smrg s390 | s390-*) 106554569438Smrg basic_machine=s390-ibm 106654569438Smrg ;; 106754569438Smrg s390x | s390x-*) 106854569438Smrg basic_machine=s390x-ibm 106954569438Smrg ;; 1070692f60a7Smrg sa29200) 1071692f60a7Smrg basic_machine=a29k-amd 1072692f60a7Smrg os=-udi 1073692f60a7Smrg ;; 1074692f60a7Smrg sb1) 1075692f60a7Smrg basic_machine=mipsisa64sb1-unknown 1076692f60a7Smrg ;; 1077692f60a7Smrg sb1el) 1078692f60a7Smrg basic_machine=mipsisa64sb1el-unknown 1079692f60a7Smrg ;; 108054569438Smrg sde) 108154569438Smrg basic_machine=mipsisa32-sde 108254569438Smrg os=-elf 108354569438Smrg ;; 1084692f60a7Smrg sei) 1085692f60a7Smrg basic_machine=mips-sei 1086692f60a7Smrg os=-seiux 1087692f60a7Smrg ;; 1088692f60a7Smrg sequent) 1089692f60a7Smrg basic_machine=i386-sequent 1090692f60a7Smrg ;; 1091692f60a7Smrg sh) 1092692f60a7Smrg basic_machine=sh-hitachi 1093692f60a7Smrg os=-hms 1094692f60a7Smrg ;; 109554569438Smrg sh5el) 109654569438Smrg basic_machine=sh5le-unknown 109754569438Smrg ;; 1098692f60a7Smrg sh64) 1099692f60a7Smrg basic_machine=sh64-unknown 1100692f60a7Smrg ;; 1101692f60a7Smrg sparclite-wrs | simso-wrs) 1102692f60a7Smrg basic_machine=sparclite-wrs 1103692f60a7Smrg os=-vxworks 1104692f60a7Smrg ;; 1105692f60a7Smrg sps7) 1106692f60a7Smrg basic_machine=m68k-bull 1107692f60a7Smrg os=-sysv2 1108692f60a7Smrg ;; 1109692f60a7Smrg spur) 1110692f60a7Smrg basic_machine=spur-unknown 1111692f60a7Smrg ;; 1112692f60a7Smrg st2000) 1113692f60a7Smrg basic_machine=m68k-tandem 1114692f60a7Smrg ;; 1115692f60a7Smrg stratus) 1116692f60a7Smrg basic_machine=i860-stratus 1117692f60a7Smrg os=-sysv4 1118692f60a7Smrg ;; 11193f6d0e1dSmrg strongarm-* | thumb-*) 11203f6d0e1dSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11213f6d0e1dSmrg ;; 1122692f60a7Smrg sun2) 1123692f60a7Smrg basic_machine=m68000-sun 1124692f60a7Smrg ;; 1125692f60a7Smrg sun2os3) 1126692f60a7Smrg basic_machine=m68000-sun 1127692f60a7Smrg os=-sunos3 1128692f60a7Smrg ;; 1129692f60a7Smrg sun2os4) 1130692f60a7Smrg basic_machine=m68000-sun 1131692f60a7Smrg os=-sunos4 1132692f60a7Smrg ;; 1133692f60a7Smrg sun3os3) 1134692f60a7Smrg basic_machine=m68k-sun 1135692f60a7Smrg os=-sunos3 1136692f60a7Smrg ;; 1137692f60a7Smrg sun3os4) 1138692f60a7Smrg basic_machine=m68k-sun 1139692f60a7Smrg os=-sunos4 1140692f60a7Smrg ;; 1141692f60a7Smrg sun4os3) 1142692f60a7Smrg basic_machine=sparc-sun 1143692f60a7Smrg os=-sunos3 1144692f60a7Smrg ;; 1145692f60a7Smrg sun4os4) 1146692f60a7Smrg basic_machine=sparc-sun 1147692f60a7Smrg os=-sunos4 1148692f60a7Smrg ;; 1149692f60a7Smrg sun4sol2) 1150692f60a7Smrg basic_machine=sparc-sun 1151692f60a7Smrg os=-solaris2 1152692f60a7Smrg ;; 1153692f60a7Smrg sun3 | sun3-*) 1154692f60a7Smrg basic_machine=m68k-sun 1155692f60a7Smrg ;; 1156692f60a7Smrg sun4) 1157692f60a7Smrg basic_machine=sparc-sun 1158692f60a7Smrg ;; 1159692f60a7Smrg sun386 | sun386i | roadrunner) 1160692f60a7Smrg basic_machine=i386-sun 1161692f60a7Smrg ;; 1162692f60a7Smrg sv1) 1163692f60a7Smrg basic_machine=sv1-cray 1164692f60a7Smrg os=-unicos 1165692f60a7Smrg ;; 1166692f60a7Smrg symmetry) 1167692f60a7Smrg basic_machine=i386-sequent 1168692f60a7Smrg os=-dynix 1169692f60a7Smrg ;; 1170692f60a7Smrg t3e) 1171692f60a7Smrg basic_machine=alphaev5-cray 1172692f60a7Smrg os=-unicos 1173692f60a7Smrg ;; 1174692f60a7Smrg t90) 1175692f60a7Smrg basic_machine=t90-cray 1176692f60a7Smrg os=-unicos 1177692f60a7Smrg ;; 117854569438Smrg tile*) 11793f6d0e1dSmrg basic_machine=$basic_machine-unknown 118054569438Smrg os=-linux-gnu 118154569438Smrg ;; 1182692f60a7Smrg tx39) 1183692f60a7Smrg basic_machine=mipstx39-unknown 1184692f60a7Smrg ;; 1185692f60a7Smrg tx39el) 1186692f60a7Smrg basic_machine=mipstx39el-unknown 1187692f60a7Smrg ;; 1188692f60a7Smrg toad1) 1189692f60a7Smrg basic_machine=pdp10-xkl 1190692f60a7Smrg os=-tops20 1191692f60a7Smrg ;; 1192692f60a7Smrg tower | tower-32) 1193692f60a7Smrg basic_machine=m68k-ncr 1194692f60a7Smrg ;; 119554569438Smrg tpf) 119654569438Smrg basic_machine=s390x-ibm 119754569438Smrg os=-tpf 119854569438Smrg ;; 1199692f60a7Smrg udi29k) 1200692f60a7Smrg basic_machine=a29k-amd 1201692f60a7Smrg os=-udi 1202692f60a7Smrg ;; 1203692f60a7Smrg ultra3) 1204692f60a7Smrg basic_machine=a29k-nyu 1205692f60a7Smrg os=-sym1 1206692f60a7Smrg ;; 1207692f60a7Smrg v810 | necv810) 1208692f60a7Smrg basic_machine=v810-nec 1209692f60a7Smrg os=-none 1210692f60a7Smrg ;; 1211692f60a7Smrg vaxv) 1212692f60a7Smrg basic_machine=vax-dec 1213692f60a7Smrg os=-sysv 1214692f60a7Smrg ;; 1215692f60a7Smrg vms) 1216692f60a7Smrg basic_machine=vax-dec 1217692f60a7Smrg os=-vms 1218692f60a7Smrg ;; 1219692f60a7Smrg vpp*|vx|vx-*) 1220692f60a7Smrg basic_machine=f301-fujitsu 1221692f60a7Smrg ;; 1222692f60a7Smrg vxworks960) 1223692f60a7Smrg basic_machine=i960-wrs 1224692f60a7Smrg os=-vxworks 1225692f60a7Smrg ;; 1226692f60a7Smrg vxworks68) 1227692f60a7Smrg basic_machine=m68k-wrs 1228692f60a7Smrg os=-vxworks 1229692f60a7Smrg ;; 1230692f60a7Smrg vxworks29k) 1231692f60a7Smrg basic_machine=a29k-wrs 1232692f60a7Smrg os=-vxworks 1233692f60a7Smrg ;; 1234692f60a7Smrg w65*) 1235692f60a7Smrg basic_machine=w65-wdc 1236692f60a7Smrg os=-none 1237692f60a7Smrg ;; 1238692f60a7Smrg w89k-*) 1239692f60a7Smrg basic_machine=hppa1.1-winbond 1240692f60a7Smrg os=-proelf 1241692f60a7Smrg ;; 124254569438Smrg xbox) 124354569438Smrg basic_machine=i686-pc 124454569438Smrg os=-mingw32 124554569438Smrg ;; 1246692f60a7Smrg xps | xps100) 1247692f60a7Smrg basic_machine=xps100-honeywell 1248692f60a7Smrg ;; 12493f6d0e1dSmrg xscale-* | xscalee[bl]-*) 12503f6d0e1dSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12513f6d0e1dSmrg ;; 1252692f60a7Smrg ymp) 1253692f60a7Smrg basic_machine=ymp-cray 1254692f60a7Smrg os=-unicos 1255692f60a7Smrg ;; 1256692f60a7Smrg z8k-*-coff) 1257692f60a7Smrg basic_machine=z8k-unknown 1258692f60a7Smrg os=-sim 1259692f60a7Smrg ;; 12603f6d0e1dSmrg z80-*-coff) 12613f6d0e1dSmrg basic_machine=z80-unknown 12623f6d0e1dSmrg os=-sim 12633f6d0e1dSmrg ;; 1264692f60a7Smrg none) 1265692f60a7Smrg basic_machine=none-none 1266692f60a7Smrg os=-none 1267692f60a7Smrg ;; 1268692f60a7Smrg 1269692f60a7Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1270692f60a7Smrg# some cases the only manufacturer, in others, it is the most popular. 1271692f60a7Smrg w89k) 1272692f60a7Smrg basic_machine=hppa1.1-winbond 1273692f60a7Smrg ;; 1274692f60a7Smrg op50n) 1275692f60a7Smrg basic_machine=hppa1.1-oki 1276692f60a7Smrg ;; 1277692f60a7Smrg op60c) 1278692f60a7Smrg basic_machine=hppa1.1-oki 1279692f60a7Smrg ;; 1280692f60a7Smrg romp) 1281692f60a7Smrg basic_machine=romp-ibm 1282692f60a7Smrg ;; 128354569438Smrg mmix) 128454569438Smrg basic_machine=mmix-knuth 128554569438Smrg ;; 1286692f60a7Smrg rs6000) 1287692f60a7Smrg basic_machine=rs6000-ibm 1288692f60a7Smrg ;; 1289692f60a7Smrg vax) 1290692f60a7Smrg basic_machine=vax-dec 1291692f60a7Smrg ;; 1292692f60a7Smrg pdp10) 1293692f60a7Smrg # there are many clones, so DEC is not a safe bet 1294692f60a7Smrg basic_machine=pdp10-unknown 1295692f60a7Smrg ;; 1296692f60a7Smrg pdp11) 1297692f60a7Smrg basic_machine=pdp11-dec 1298692f60a7Smrg ;; 1299692f60a7Smrg we32k) 1300692f60a7Smrg basic_machine=we32k-att 1301692f60a7Smrg ;; 13023f6d0e1dSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1303692f60a7Smrg basic_machine=sh-unknown 1304692f60a7Smrg ;; 130554569438Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1306692f60a7Smrg basic_machine=sparc-sun 1307692f60a7Smrg ;; 1308692f60a7Smrg cydra) 1309692f60a7Smrg basic_machine=cydra-cydrome 1310692f60a7Smrg ;; 1311692f60a7Smrg orion) 1312692f60a7Smrg basic_machine=orion-highlevel 1313692f60a7Smrg ;; 1314692f60a7Smrg orion105) 1315692f60a7Smrg basic_machine=clipper-highlevel 1316692f60a7Smrg ;; 1317692f60a7Smrg mac | mpw | mac-mpw) 1318692f60a7Smrg basic_machine=m68k-apple 1319692f60a7Smrg ;; 1320692f60a7Smrg pmac | pmac-mpw) 1321692f60a7Smrg basic_machine=powerpc-apple 1322692f60a7Smrg ;; 1323692f60a7Smrg *-unknown) 1324692f60a7Smrg # Make sure to match an already-canonicalized machine name. 1325692f60a7Smrg ;; 1326692f60a7Smrg *) 1327692f60a7Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1328692f60a7Smrg exit 1 1329692f60a7Smrg ;; 1330692f60a7Smrgesac 1331692f60a7Smrg 1332692f60a7Smrg# Here we canonicalize certain aliases for manufacturers. 1333692f60a7Smrgcase $basic_machine in 1334692f60a7Smrg *-digital*) 1335692f60a7Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1336692f60a7Smrg ;; 1337692f60a7Smrg *-commodore*) 1338692f60a7Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1339692f60a7Smrg ;; 1340692f60a7Smrg *) 1341692f60a7Smrg ;; 1342692f60a7Smrgesac 1343692f60a7Smrg 1344692f60a7Smrg# Decode manufacturer-specific aliases for certain operating systems. 1345692f60a7Smrg 1346692f60a7Smrgif [ x"$os" != x"" ] 1347692f60a7Smrgthen 1348692f60a7Smrgcase $os in 13493f6d0e1dSmrg # First match some system type aliases 13503f6d0e1dSmrg # that might get confused with valid system types. 1351692f60a7Smrg # -solaris* is a basic system type, with this one exception. 13523f6d0e1dSmrg -auroraux) 13533f6d0e1dSmrg os=-auroraux 13543f6d0e1dSmrg ;; 1355692f60a7Smrg -solaris1 | -solaris1.*) 1356692f60a7Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1357692f60a7Smrg ;; 1358692f60a7Smrg -solaris) 1359692f60a7Smrg os=-solaris2 1360692f60a7Smrg ;; 1361692f60a7Smrg -svr4*) 1362692f60a7Smrg os=-sysv4 1363692f60a7Smrg ;; 1364692f60a7Smrg -unixware*) 1365692f60a7Smrg os=-sysv4.2uw 1366692f60a7Smrg ;; 1367692f60a7Smrg -gnu/linux*) 1368692f60a7Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1369692f60a7Smrg ;; 1370692f60a7Smrg # First accept the basic system types. 1371692f60a7Smrg # The portable systems comes first. 1372692f60a7Smrg # Each alternative MUST END IN A *, to match a version number. 1373692f60a7Smrg # -sysv* is not here because it comes later, after sysvr4. 1374692f60a7Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13753f6d0e1dSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13763f6d0e1dSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1377eaa3dbe0Smrg | -sym* | -kopensolaris* | -plan9* \ 1378692f60a7Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13793f6d0e1dSmrg | -aos* | -aros* \ 1380692f60a7Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1381692f60a7Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 138254569438Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1383eaa3dbe0Smrg | -bitrig* | -openbsd* | -solidbsd* \ 138454569438Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 138554569438Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1386692f60a7Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1387692f60a7Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13883f6d0e1dSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13893f6d0e1dSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1390eaa3dbe0Smrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1391eaa3dbe0Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 139254569438Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1393692f60a7Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1394692f60a7Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1395eaa3dbe0Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \ 1396692f60a7Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1397692f60a7Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 139854569438Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13993f6d0e1dSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1400692f60a7Smrg # Remember, each alternative MUST END IN *, to match a version number. 1401692f60a7Smrg ;; 1402692f60a7Smrg -qnx*) 1403692f60a7Smrg case $basic_machine in 1404692f60a7Smrg x86-* | i*86-*) 1405692f60a7Smrg ;; 1406692f60a7Smrg *) 1407692f60a7Smrg os=-nto$os 1408692f60a7Smrg ;; 1409692f60a7Smrg esac 1410692f60a7Smrg ;; 1411692f60a7Smrg -nto-qnx*) 1412692f60a7Smrg ;; 1413692f60a7Smrg -nto*) 1414692f60a7Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1415692f60a7Smrg ;; 1416692f60a7Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 141754569438Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1418692f60a7Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1419692f60a7Smrg ;; 1420692f60a7Smrg -mac*) 1421692f60a7Smrg os=`echo $os | sed -e 's|mac|macos|'` 1422692f60a7Smrg ;; 142354569438Smrg -linux-dietlibc) 142454569438Smrg os=-linux-dietlibc 142554569438Smrg ;; 1426692f60a7Smrg -linux*) 1427692f60a7Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1428692f60a7Smrg ;; 1429692f60a7Smrg -sunos5*) 1430692f60a7Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1431692f60a7Smrg ;; 1432692f60a7Smrg -sunos6*) 1433692f60a7Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1434692f60a7Smrg ;; 1435692f60a7Smrg -opened*) 1436692f60a7Smrg os=-openedition 1437692f60a7Smrg ;; 14383f6d0e1dSmrg -os400*) 143954569438Smrg os=-os400 144054569438Smrg ;; 1441692f60a7Smrg -wince*) 1442692f60a7Smrg os=-wince 1443692f60a7Smrg ;; 1444692f60a7Smrg -osfrose*) 1445692f60a7Smrg os=-osfrose 1446692f60a7Smrg ;; 1447692f60a7Smrg -osf*) 1448692f60a7Smrg os=-osf 1449692f60a7Smrg ;; 1450692f60a7Smrg -utek*) 1451692f60a7Smrg os=-bsd 1452692f60a7Smrg ;; 1453692f60a7Smrg -dynix*) 1454692f60a7Smrg os=-bsd 1455692f60a7Smrg ;; 1456692f60a7Smrg -acis*) 1457692f60a7Smrg os=-aos 1458692f60a7Smrg ;; 1459692f60a7Smrg -atheos*) 1460692f60a7Smrg os=-atheos 1461692f60a7Smrg ;; 146254569438Smrg -syllable*) 146354569438Smrg os=-syllable 146454569438Smrg ;; 1465692f60a7Smrg -386bsd) 1466692f60a7Smrg os=-bsd 1467692f60a7Smrg ;; 1468692f60a7Smrg -ctix* | -uts*) 1469692f60a7Smrg os=-sysv 1470692f60a7Smrg ;; 1471692f60a7Smrg -nova*) 1472692f60a7Smrg os=-rtmk-nova 1473692f60a7Smrg ;; 1474692f60a7Smrg -ns2 ) 1475692f60a7Smrg os=-nextstep2 1476692f60a7Smrg ;; 1477692f60a7Smrg -nsk*) 1478692f60a7Smrg os=-nsk 1479692f60a7Smrg ;; 1480692f60a7Smrg # Preserve the version number of sinix5. 1481692f60a7Smrg -sinix5.*) 1482692f60a7Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1483692f60a7Smrg ;; 1484692f60a7Smrg -sinix*) 1485692f60a7Smrg os=-sysv4 1486692f60a7Smrg ;; 14873f6d0e1dSmrg -tpf*) 148854569438Smrg os=-tpf 148954569438Smrg ;; 1490692f60a7Smrg -triton*) 1491692f60a7Smrg os=-sysv3 1492692f60a7Smrg ;; 1493692f60a7Smrg -oss*) 1494692f60a7Smrg os=-sysv3 1495692f60a7Smrg ;; 1496692f60a7Smrg -svr4) 1497692f60a7Smrg os=-sysv4 1498692f60a7Smrg ;; 1499692f60a7Smrg -svr3) 1500692f60a7Smrg os=-sysv3 1501692f60a7Smrg ;; 1502692f60a7Smrg -sysvr4) 1503692f60a7Smrg os=-sysv4 1504692f60a7Smrg ;; 1505692f60a7Smrg # This must come after -sysvr4. 1506692f60a7Smrg -sysv*) 1507692f60a7Smrg ;; 1508692f60a7Smrg -ose*) 1509692f60a7Smrg os=-ose 1510692f60a7Smrg ;; 1511692f60a7Smrg -es1800*) 1512692f60a7Smrg os=-ose 1513692f60a7Smrg ;; 1514692f60a7Smrg -xenix) 1515692f60a7Smrg os=-xenix 1516692f60a7Smrg ;; 1517692f60a7Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1518692f60a7Smrg os=-mint 1519692f60a7Smrg ;; 1520692f60a7Smrg -aros*) 1521692f60a7Smrg os=-aros 1522692f60a7Smrg ;; 152354569438Smrg -zvmoe) 152454569438Smrg os=-zvmoe 152554569438Smrg ;; 15263f6d0e1dSmrg -dicos*) 15273f6d0e1dSmrg os=-dicos 15283f6d0e1dSmrg ;; 15293f6d0e1dSmrg -nacl*) 15303f6d0e1dSmrg ;; 1531692f60a7Smrg -none) 1532692f60a7Smrg ;; 1533692f60a7Smrg *) 1534692f60a7Smrg # Get rid of the `-' at the beginning of $os. 1535692f60a7Smrg os=`echo $os | sed 's/[^-]*-//'` 1536692f60a7Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1537692f60a7Smrg exit 1 1538692f60a7Smrg ;; 1539692f60a7Smrgesac 1540692f60a7Smrgelse 1541692f60a7Smrg 1542692f60a7Smrg# Here we handle the default operating systems that come with various machines. 1543692f60a7Smrg# The value should be what the vendor currently ships out the door with their 1544692f60a7Smrg# machine or put another way, the most popular os provided with the machine. 1545692f60a7Smrg 1546692f60a7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1547692f60a7Smrg# "-sun"), then you have to tell the case statement up towards the top 1548692f60a7Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1549692f60a7Smrg# will signal an error saying that MANUFACTURER isn't an operating 1550692f60a7Smrg# system, and we'll never get to this point. 1551692f60a7Smrg 1552692f60a7Smrgcase $basic_machine in 15533f6d0e1dSmrg score-*) 155454569438Smrg os=-elf 155554569438Smrg ;; 15563f6d0e1dSmrg spu-*) 155754569438Smrg os=-elf 155854569438Smrg ;; 1559692f60a7Smrg *-acorn) 1560692f60a7Smrg os=-riscix1.2 1561692f60a7Smrg ;; 1562692f60a7Smrg arm*-rebel) 1563692f60a7Smrg os=-linux 1564692f60a7Smrg ;; 1565692f60a7Smrg arm*-semi) 1566692f60a7Smrg os=-aout 1567692f60a7Smrg ;; 15683f6d0e1dSmrg c4x-* | tic4x-*) 15693f6d0e1dSmrg os=-coff 15703f6d0e1dSmrg ;; 1571eaa3dbe0Smrg hexagon-*) 1572eaa3dbe0Smrg os=-elf 1573eaa3dbe0Smrg ;; 15743f6d0e1dSmrg tic54x-*) 15753f6d0e1dSmrg os=-coff 15763f6d0e1dSmrg ;; 15773f6d0e1dSmrg tic55x-*) 15783f6d0e1dSmrg os=-coff 15793f6d0e1dSmrg ;; 15803f6d0e1dSmrg tic6x-*) 15813f6d0e1dSmrg os=-coff 1582692f60a7Smrg ;; 1583692f60a7Smrg # This must come before the *-dec entry. 1584692f60a7Smrg pdp10-*) 1585692f60a7Smrg os=-tops20 1586692f60a7Smrg ;; 1587692f60a7Smrg pdp11-*) 1588692f60a7Smrg os=-none 1589692f60a7Smrg ;; 1590692f60a7Smrg *-dec | vax-*) 1591692f60a7Smrg os=-ultrix4.2 1592692f60a7Smrg ;; 1593692f60a7Smrg m68*-apollo) 1594692f60a7Smrg os=-domain 1595692f60a7Smrg ;; 1596692f60a7Smrg i386-sun) 1597692f60a7Smrg os=-sunos4.0.2 1598692f60a7Smrg ;; 1599692f60a7Smrg m68000-sun) 1600692f60a7Smrg os=-sunos3 1601692f60a7Smrg ;; 1602692f60a7Smrg m68*-cisco) 1603692f60a7Smrg os=-aout 1604692f60a7Smrg ;; 16053f6d0e1dSmrg mep-*) 160654569438Smrg os=-elf 160754569438Smrg ;; 1608692f60a7Smrg mips*-cisco) 1609692f60a7Smrg os=-elf 1610692f60a7Smrg ;; 1611692f60a7Smrg mips*-*) 1612692f60a7Smrg os=-elf 1613692f60a7Smrg ;; 1614692f60a7Smrg or32-*) 1615692f60a7Smrg os=-coff 1616692f60a7Smrg ;; 1617692f60a7Smrg *-tti) # must be before sparc entry or we get the wrong os. 1618692f60a7Smrg os=-sysv3 1619692f60a7Smrg ;; 1620692f60a7Smrg sparc-* | *-sun) 1621692f60a7Smrg os=-sunos4.1.1 1622692f60a7Smrg ;; 1623692f60a7Smrg *-be) 1624692f60a7Smrg os=-beos 1625692f60a7Smrg ;; 162654569438Smrg *-haiku) 162754569438Smrg os=-haiku 162854569438Smrg ;; 1629692f60a7Smrg *-ibm) 1630692f60a7Smrg os=-aix 1631692f60a7Smrg ;; 16323f6d0e1dSmrg *-knuth) 163354569438Smrg os=-mmixware 163454569438Smrg ;; 1635692f60a7Smrg *-wec) 1636692f60a7Smrg os=-proelf 1637692f60a7Smrg ;; 1638692f60a7Smrg *-winbond) 1639692f60a7Smrg os=-proelf 1640692f60a7Smrg ;; 1641692f60a7Smrg *-oki) 1642692f60a7Smrg os=-proelf 1643692f60a7Smrg ;; 1644692f60a7Smrg *-hp) 1645692f60a7Smrg os=-hpux 1646692f60a7Smrg ;; 1647692f60a7Smrg *-hitachi) 1648692f60a7Smrg os=-hiux 1649692f60a7Smrg ;; 1650692f60a7Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1651692f60a7Smrg os=-sysv 1652692f60a7Smrg ;; 1653692f60a7Smrg *-cbm) 1654692f60a7Smrg os=-amigaos 1655692f60a7Smrg ;; 1656692f60a7Smrg *-dg) 1657692f60a7Smrg os=-dgux 1658692f60a7Smrg ;; 1659692f60a7Smrg *-dolphin) 1660692f60a7Smrg os=-sysv3 1661692f60a7Smrg ;; 1662692f60a7Smrg m68k-ccur) 1663692f60a7Smrg os=-rtu 1664692f60a7Smrg ;; 1665692f60a7Smrg m88k-omron*) 1666692f60a7Smrg os=-luna 1667692f60a7Smrg ;; 1668692f60a7Smrg *-next ) 1669692f60a7Smrg os=-nextstep 1670692f60a7Smrg ;; 1671692f60a7Smrg *-sequent) 1672692f60a7Smrg os=-ptx 1673692f60a7Smrg ;; 1674692f60a7Smrg *-crds) 1675692f60a7Smrg os=-unos 1676692f60a7Smrg ;; 1677692f60a7Smrg *-ns) 1678692f60a7Smrg os=-genix 1679692f60a7Smrg ;; 1680692f60a7Smrg i370-*) 1681692f60a7Smrg os=-mvs 1682692f60a7Smrg ;; 1683692f60a7Smrg *-next) 1684692f60a7Smrg os=-nextstep3 1685692f60a7Smrg ;; 1686692f60a7Smrg *-gould) 1687692f60a7Smrg os=-sysv 1688692f60a7Smrg ;; 1689692f60a7Smrg *-highlevel) 1690692f60a7Smrg os=-bsd 1691692f60a7Smrg ;; 1692692f60a7Smrg *-encore) 1693692f60a7Smrg os=-bsd 1694692f60a7Smrg ;; 1695692f60a7Smrg *-sgi) 1696692f60a7Smrg os=-irix 1697692f60a7Smrg ;; 1698692f60a7Smrg *-siemens) 1699692f60a7Smrg os=-sysv4 1700692f60a7Smrg ;; 1701692f60a7Smrg *-masscomp) 1702692f60a7Smrg os=-rtu 1703692f60a7Smrg ;; 1704692f60a7Smrg f30[01]-fujitsu | f700-fujitsu) 1705692f60a7Smrg os=-uxpv 1706692f60a7Smrg ;; 1707692f60a7Smrg *-rom68k) 1708692f60a7Smrg os=-coff 1709692f60a7Smrg ;; 1710692f60a7Smrg *-*bug) 1711692f60a7Smrg os=-coff 1712692f60a7Smrg ;; 1713692f60a7Smrg *-apple) 1714692f60a7Smrg os=-macos 1715692f60a7Smrg ;; 1716692f60a7Smrg *-atari*) 1717692f60a7Smrg os=-mint 1718692f60a7Smrg ;; 1719692f60a7Smrg *) 1720692f60a7Smrg os=-none 1721692f60a7Smrg ;; 1722692f60a7Smrgesac 1723692f60a7Smrgfi 1724692f60a7Smrg 1725692f60a7Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1726692f60a7Smrg# manufacturer. We pick the logical manufacturer. 1727692f60a7Smrgvendor=unknown 1728692f60a7Smrgcase $basic_machine in 1729692f60a7Smrg *-unknown) 1730692f60a7Smrg case $os in 1731692f60a7Smrg -riscix*) 1732692f60a7Smrg vendor=acorn 1733692f60a7Smrg ;; 1734692f60a7Smrg -sunos*) 1735692f60a7Smrg vendor=sun 1736692f60a7Smrg ;; 17373f6d0e1dSmrg -cnk*|-aix*) 1738692f60a7Smrg vendor=ibm 1739692f60a7Smrg ;; 1740692f60a7Smrg -beos*) 1741692f60a7Smrg vendor=be 1742692f60a7Smrg ;; 1743692f60a7Smrg -hpux*) 1744692f60a7Smrg vendor=hp 1745692f60a7Smrg ;; 1746692f60a7Smrg -mpeix*) 1747692f60a7Smrg vendor=hp 1748692f60a7Smrg ;; 1749692f60a7Smrg -hiux*) 1750692f60a7Smrg vendor=hitachi 1751692f60a7Smrg ;; 1752692f60a7Smrg -unos*) 1753692f60a7Smrg vendor=crds 1754692f60a7Smrg ;; 1755692f60a7Smrg -dgux*) 1756692f60a7Smrg vendor=dg 1757692f60a7Smrg ;; 1758692f60a7Smrg -luna*) 1759692f60a7Smrg vendor=omron 1760692f60a7Smrg ;; 1761692f60a7Smrg -genix*) 1762692f60a7Smrg vendor=ns 1763692f60a7Smrg ;; 1764692f60a7Smrg -mvs* | -opened*) 1765692f60a7Smrg vendor=ibm 1766692f60a7Smrg ;; 176754569438Smrg -os400*) 176854569438Smrg vendor=ibm 176954569438Smrg ;; 1770692f60a7Smrg -ptx*) 1771692f60a7Smrg vendor=sequent 1772692f60a7Smrg ;; 177354569438Smrg -tpf*) 177454569438Smrg vendor=ibm 177554569438Smrg ;; 1776692f60a7Smrg -vxsim* | -vxworks* | -windiss*) 1777692f60a7Smrg vendor=wrs 1778692f60a7Smrg ;; 1779692f60a7Smrg -aux*) 1780692f60a7Smrg vendor=apple 1781692f60a7Smrg ;; 1782692f60a7Smrg -hms*) 1783692f60a7Smrg vendor=hitachi 1784692f60a7Smrg ;; 1785692f60a7Smrg -mpw* | -macos*) 1786692f60a7Smrg vendor=apple 1787692f60a7Smrg ;; 1788692f60a7Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1789692f60a7Smrg vendor=atari 1790692f60a7Smrg ;; 1791692f60a7Smrg -vos*) 1792692f60a7Smrg vendor=stratus 1793692f60a7Smrg ;; 1794692f60a7Smrg esac 1795692f60a7Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1796692f60a7Smrg ;; 1797692f60a7Smrgesac 1798692f60a7Smrg 1799692f60a7Smrgecho $basic_machine$os 180054569438Smrgexit 1801692f60a7Smrg 1802692f60a7Smrg# Local variables: 1803692f60a7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1804692f60a7Smrg# time-stamp-start: "timestamp='" 1805692f60a7Smrg# time-stamp-format: "%:y-%02m-%02d" 1806692f60a7Smrg# time-stamp-end: "'" 1807692f60a7Smrg# End: 1808