config.sub revision 1fb744b4
1c35d236eSmrg#! /bin/sh 2c35d236eSmrg# Configuration validation subroutine script. 3c35d236eSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 41fb744b4Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 51fb744b4Smrg# 2011, 2012 Free Software Foundation, Inc. 6c35d236eSmrg 71fb744b4Smrgtimestamp='2012-01-01' 8c35d236eSmrg 9c35d236eSmrg# This file is (in principle) common to ALL GNU software. 10c35d236eSmrg# The presence of a machine in this file suggests that SOME GNU software 11c35d236eSmrg# can handle that machine. It does not imply ALL GNU software can. 12c35d236eSmrg# 13c35d236eSmrg# This file is free software; you can redistribute it and/or modify 14c35d236eSmrg# it under the terms of the GNU General Public License as published by 15c35d236eSmrg# the Free Software Foundation; either version 2 of the License, or 16c35d236eSmrg# (at your option) any later version. 17c35d236eSmrg# 18c35d236eSmrg# This program is distributed in the hope that it will be useful, 19c35d236eSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20c35d236eSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21c35d236eSmrg# GNU General Public License for more details. 22c35d236eSmrg# 23c35d236eSmrg# You should have received a copy of the GNU General Public License 24c35d236eSmrg# along with this program; if not, write to the Free Software 254f6cd06fSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 264f6cd06fSmrg# 02110-1301, USA. 274f6cd06fSmrg# 28c35d236eSmrg# As a special exception to the GNU General Public License, if you 29c35d236eSmrg# distribute this file as part of a program that contains a 30c35d236eSmrg# configuration script generated by Autoconf, you may include it under 31c35d236eSmrg# the same distribution terms that you use for the rest of that program. 32c35d236eSmrg 334f6cd06fSmrg 34c35d236eSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 351fb744b4Smrg# diff and a properly formatted GNU ChangeLog entry. 36c35d236eSmrg# 37c35d236eSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38c35d236eSmrg# Supply the specified configuration type as an argument. 39c35d236eSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40c35d236eSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41c35d236eSmrg 421fb744b4Smrg# You can get the latest version of this script from: 431fb744b4Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 441fb744b4Smrg 45c35d236eSmrg# This file is supposed to be the same for all GNU packages 46c35d236eSmrg# and recognize all the CPU types, system types and aliases 47c35d236eSmrg# that are meaningful with *any* GNU software. 48c35d236eSmrg# Each package is responsible for reporting which valid configurations 49c35d236eSmrg# it does not support. The user should be able to distinguish 50c35d236eSmrg# a failure to support a valid configuration from a meaningless 51c35d236eSmrg# configuration. 52c35d236eSmrg 53c35d236eSmrg# The goal of this file is to map all the various variations of a given 54c35d236eSmrg# machine specification into a single specification in the form: 55c35d236eSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56c35d236eSmrg# or in some cases, the newer four-part form: 57c35d236eSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58c35d236eSmrg# It is wrong to echo any other type of specification. 59c35d236eSmrg 60c35d236eSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61c35d236eSmrg 62c35d236eSmrgusage="\ 63c35d236eSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64c35d236eSmrg $0 [OPTION] ALIAS 65c35d236eSmrg 66c35d236eSmrgCanonicalize a configuration name. 67c35d236eSmrg 68c35d236eSmrgOperation modes: 69c35d236eSmrg -h, --help print this help, then exit 70c35d236eSmrg -t, --time-stamp print date of last modification, then exit 71c35d236eSmrg -v, --version print version number, then exit 72c35d236eSmrg 73c35d236eSmrgReport bugs and patches to <config-patches@gnu.org>." 74c35d236eSmrg 75c35d236eSmrgversion="\ 76c35d236eSmrgGNU config.sub ($timestamp) 77c35d236eSmrg 781fb744b4SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 791fb744b4Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 801fb744b4SmrgFree Software Foundation, Inc. 81c35d236eSmrg 82c35d236eSmrgThis is free software; see the source for copying conditions. There is NO 83c35d236eSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84c35d236eSmrg 85c35d236eSmrghelp=" 86c35d236eSmrgTry \`$me --help' for more information." 87c35d236eSmrg 88c35d236eSmrg# Parse command line 89c35d236eSmrgwhile test $# -gt 0 ; do 90c35d236eSmrg case $1 in 91c35d236eSmrg --time-stamp | --time* | -t ) 924f6cd06fSmrg echo "$timestamp" ; exit ;; 93c35d236eSmrg --version | -v ) 944f6cd06fSmrg echo "$version" ; exit ;; 95c35d236eSmrg --help | --h* | -h ) 964f6cd06fSmrg echo "$usage"; exit ;; 97c35d236eSmrg -- ) # Stop option processing 98c35d236eSmrg shift; break ;; 99c35d236eSmrg - ) # Use stdin as input. 100c35d236eSmrg break ;; 101c35d236eSmrg -* ) 102c35d236eSmrg echo "$me: invalid option $1$help" 103c35d236eSmrg exit 1 ;; 104c35d236eSmrg 105c35d236eSmrg *local*) 106c35d236eSmrg # First pass through any local machine types. 107c35d236eSmrg echo $1 1084f6cd06fSmrg exit ;; 109c35d236eSmrg 110c35d236eSmrg * ) 111c35d236eSmrg break ;; 112c35d236eSmrg esac 113c35d236eSmrgdone 114c35d236eSmrg 115c35d236eSmrgcase $# in 116c35d236eSmrg 0) echo "$me: missing argument$help" >&2 117c35d236eSmrg exit 1;; 118c35d236eSmrg 1) ;; 119c35d236eSmrg *) echo "$me: too many arguments$help" >&2 120c35d236eSmrg exit 1;; 121c35d236eSmrgesac 122c35d236eSmrg 123c35d236eSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124c35d236eSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125c35d236eSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126c35d236eSmrgcase $maybe_os in 1271fb744b4Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1281fb744b4Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1291fb744b4Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 1301fb744b4Smrg kopensolaris*-gnu* | \ 1314f6cd06fSmrg storm-chaos* | os2-emx* | rtmk-nova*) 132c35d236eSmrg os=-$maybe_os 133c35d236eSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134c35d236eSmrg ;; 135c35d236eSmrg *) 136c35d236eSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137c35d236eSmrg if [ $basic_machine != $1 ] 138c35d236eSmrg then os=`echo $1 | sed 's/.*-/-/'` 139c35d236eSmrg else os=; fi 140c35d236eSmrg ;; 141c35d236eSmrgesac 142c35d236eSmrg 143c35d236eSmrg### Let's recognize common machines as not being operating systems so 144c35d236eSmrg### that things like config.sub decstation-3100 work. We also 145c35d236eSmrg### recognize some manufacturers as not being operating systems, so we 146c35d236eSmrg### can provide default operating systems below. 147c35d236eSmrgcase $os in 148c35d236eSmrg -sun*os*) 149c35d236eSmrg # Prevent following clause from handling this invalid input. 150c35d236eSmrg ;; 151c35d236eSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152c35d236eSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153c35d236eSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154c35d236eSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155c35d236eSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156c35d236eSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1571fb744b4Smrg -apple | -axis | -knuth | -cray | -microblaze) 158c35d236eSmrg os= 159c35d236eSmrg basic_machine=$1 160c35d236eSmrg ;; 1611fb744b4Smrg -bluegene*) 1621fb744b4Smrg os=-cnk 1631fb744b4Smrg ;; 164c35d236eSmrg -sim | -cisco | -oki | -wec | -winbond) 165c35d236eSmrg os= 166c35d236eSmrg basic_machine=$1 167c35d236eSmrg ;; 168c35d236eSmrg -scout) 169c35d236eSmrg ;; 170c35d236eSmrg -wrs) 171c35d236eSmrg os=-vxworks 172c35d236eSmrg basic_machine=$1 173c35d236eSmrg ;; 174c35d236eSmrg -chorusos*) 175c35d236eSmrg os=-chorusos 176c35d236eSmrg basic_machine=$1 177c35d236eSmrg ;; 1781fb744b4Smrg -chorusrdb) 1791fb744b4Smrg os=-chorusrdb 180c35d236eSmrg basic_machine=$1 1811fb744b4Smrg ;; 182c35d236eSmrg -hiux*) 183c35d236eSmrg os=-hiuxwe2 184c35d236eSmrg ;; 1854f6cd06fSmrg -sco6) 1864f6cd06fSmrg os=-sco5v6 1874f6cd06fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1884f6cd06fSmrg ;; 189c35d236eSmrg -sco5) 190c35d236eSmrg os=-sco3.2v5 191c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192c35d236eSmrg ;; 193c35d236eSmrg -sco4) 194c35d236eSmrg os=-sco3.2v4 195c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196c35d236eSmrg ;; 197c35d236eSmrg -sco3.2.[4-9]*) 198c35d236eSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200c35d236eSmrg ;; 201c35d236eSmrg -sco3.2v[4-9]*) 202c35d236eSmrg # Don't forget version if it is 3.2v4 or newer. 203c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204c35d236eSmrg ;; 2054f6cd06fSmrg -sco5v6*) 2064f6cd06fSmrg # Don't forget version if it is 3.2v4 or newer. 2074f6cd06fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2084f6cd06fSmrg ;; 209c35d236eSmrg -sco*) 210c35d236eSmrg os=-sco3.2v2 211c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212c35d236eSmrg ;; 213c35d236eSmrg -udk*) 214c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215c35d236eSmrg ;; 216c35d236eSmrg -isc) 217c35d236eSmrg os=-isc2.2 218c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219c35d236eSmrg ;; 220c35d236eSmrg -clix*) 221c35d236eSmrg basic_machine=clipper-intergraph 222c35d236eSmrg ;; 223c35d236eSmrg -isc*) 224c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225c35d236eSmrg ;; 226c35d236eSmrg -lynx*) 227c35d236eSmrg os=-lynxos 228c35d236eSmrg ;; 229c35d236eSmrg -ptx*) 230c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231c35d236eSmrg ;; 232c35d236eSmrg -windowsnt*) 233c35d236eSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234c35d236eSmrg ;; 235c35d236eSmrg -psos*) 236c35d236eSmrg os=-psos 237c35d236eSmrg ;; 238c35d236eSmrg -mint | -mint[0-9]*) 239c35d236eSmrg basic_machine=m68k-atari 240c35d236eSmrg os=-mint 241c35d236eSmrg ;; 242c35d236eSmrgesac 243c35d236eSmrg 244c35d236eSmrg# Decode aliases for certain CPU-COMPANY combinations. 245c35d236eSmrgcase $basic_machine in 246c35d236eSmrg # Recognize the basic CPU types without company name. 247c35d236eSmrg # Some are omitted here because they have special meanings below. 248c35d236eSmrg 1750a | 580 \ 249c35d236eSmrg | a29k \ 250c35d236eSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251c35d236eSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2524f6cd06fSmrg | am33_2.0 \ 2534f6cd06fSmrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2541fb744b4Smrg | be32 | be64 \ 2554f6cd06fSmrg | bfin \ 256c35d236eSmrg | c4x | clipper \ 257c35d236eSmrg | d10v | d30v | dlx | dsp16xx \ 2581fb744b4Smrg | epiphany \ 259f55e6a01Smrg | fido | fr30 | frv \ 260c35d236eSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2611fb744b4Smrg | hexagon \ 262c35d236eSmrg | i370 | i860 | i960 | ia64 \ 2634f6cd06fSmrg | ip2k | iq2000 \ 2641fb744b4Smrg | le32 | le64 \ 2651fb744b4Smrg | lm32 \ 2664f6cd06fSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2671fb744b4Smrg | maxq | mb | microblaze | mcore | mep | metag \ 268c35d236eSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 269c35d236eSmrg | mips16 \ 270c35d236eSmrg | mips64 | mips64el \ 2711fb744b4Smrg | mips64octeon | mips64octeonel \ 272c35d236eSmrg | mips64orion | mips64orionel \ 2731fb744b4Smrg | mips64r5900 | mips64r5900el \ 2741fb744b4Smrg | mips64vr | mips64vrel \ 275c35d236eSmrg | mips64vr4100 | mips64vr4100el \ 276c35d236eSmrg | mips64vr4300 | mips64vr4300el \ 277c35d236eSmrg | mips64vr5000 | mips64vr5000el \ 2784f6cd06fSmrg | mips64vr5900 | mips64vr5900el \ 279c35d236eSmrg | mipsisa32 | mipsisa32el \ 280c35d236eSmrg | mipsisa32r2 | mipsisa32r2el \ 281c35d236eSmrg | mipsisa64 | mipsisa64el \ 2824f6cd06fSmrg | mipsisa64r2 | mipsisa64r2el \ 283c35d236eSmrg | mipsisa64sb1 | mipsisa64sb1el \ 284c35d236eSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 285c35d236eSmrg | mipstx39 | mipstx39el \ 286c35d236eSmrg | mn10200 | mn10300 \ 2871fb744b4Smrg | moxie \ 2884f6cd06fSmrg | mt \ 289c35d236eSmrg | msp430 \ 2901fb744b4Smrg | nds32 | nds32le | nds32be \ 2914f6cd06fSmrg | nios | nios2 \ 292c35d236eSmrg | ns16k | ns32k \ 2931fb744b4Smrg | open8 \ 2944f6cd06fSmrg | or32 \ 295c35d236eSmrg | pdp10 | pdp11 | pj | pjl \ 2961fb744b4Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 297c35d236eSmrg | pyramid \ 2981fb744b4Smrg | rl78 | rx \ 2994f6cd06fSmrg | score \ 3001fb744b4Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301c35d236eSmrg | sh64 | sh64le \ 3024f6cd06fSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3034f6cd06fSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3041fb744b4Smrg | spu \ 3051fb744b4Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3061fb744b4Smrg | ubicom32 \ 3071fb744b4Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308c35d236eSmrg | we32k \ 3091fb744b4Smrg | x86 | xc16x | xstormy16 | xtensa \ 3101fb744b4Smrg | z8k | z80) 311c35d236eSmrg basic_machine=$basic_machine-unknown 312c35d236eSmrg ;; 3131fb744b4Smrg c54x) 3141fb744b4Smrg basic_machine=tic54x-unknown 3151fb744b4Smrg ;; 3161fb744b4Smrg c55x) 3171fb744b4Smrg basic_machine=tic55x-unknown 3181fb744b4Smrg ;; 3191fb744b4Smrg c6x) 3201fb744b4Smrg basic_machine=tic6x-unknown 3211fb744b4Smrg ;; 3221fb744b4Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323c35d236eSmrg basic_machine=$basic_machine-unknown 324c35d236eSmrg os=-none 325c35d236eSmrg ;; 326c35d236eSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 327c35d236eSmrg ;; 3284f6cd06fSmrg ms1) 3294f6cd06fSmrg basic_machine=mt-unknown 3304f6cd06fSmrg ;; 331c35d236eSmrg 3321fb744b4Smrg strongarm | thumb | xscale) 3331fb744b4Smrg basic_machine=arm-unknown 3341fb744b4Smrg ;; 3351fb744b4Smrg 3361fb744b4Smrg xscaleeb) 3371fb744b4Smrg basic_machine=armeb-unknown 3381fb744b4Smrg ;; 3391fb744b4Smrg 3401fb744b4Smrg xscaleel) 3411fb744b4Smrg basic_machine=armel-unknown 3421fb744b4Smrg ;; 3431fb744b4Smrg 344c35d236eSmrg # We use `pc' rather than `unknown' 345c35d236eSmrg # because (1) that's what they normally are, and 346c35d236eSmrg # (2) the word "unknown" tends to confuse beginning users. 347c35d236eSmrg i*86 | x86_64) 348c35d236eSmrg basic_machine=$basic_machine-pc 349c35d236eSmrg ;; 350c35d236eSmrg # Object if more than one company name word. 351c35d236eSmrg *-*-*) 352c35d236eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 353c35d236eSmrg exit 1 354c35d236eSmrg ;; 355c35d236eSmrg # Recognize the basic CPU types with company name. 356c35d236eSmrg 580-* \ 357c35d236eSmrg | a29k-* \ 358c35d236eSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 359c35d236eSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 360c35d236eSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 361c35d236eSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3624f6cd06fSmrg | avr-* | avr32-* \ 3631fb744b4Smrg | be32-* | be64-* \ 3644f6cd06fSmrg | bfin-* | bs2000-* \ 3651fb744b4Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3664f6cd06fSmrg | clipper-* | craynv-* | cydra-* \ 367c35d236eSmrg | d10v-* | d30v-* | dlx-* \ 368c35d236eSmrg | elxsi-* \ 369f55e6a01Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 370c35d236eSmrg | h8300-* | h8500-* \ 371c35d236eSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3721fb744b4Smrg | hexagon-* \ 373c35d236eSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3744f6cd06fSmrg | ip2k-* | iq2000-* \ 3751fb744b4Smrg | le32-* | le64-* \ 3761fb744b4Smrg | lm32-* \ 3774f6cd06fSmrg | m32c-* | m32r-* | m32rle-* \ 378c35d236eSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3791fb744b4Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 380c35d236eSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 381c35d236eSmrg | mips16-* \ 382c35d236eSmrg | mips64-* | mips64el-* \ 3831fb744b4Smrg | mips64octeon-* | mips64octeonel-* \ 384c35d236eSmrg | mips64orion-* | mips64orionel-* \ 3851fb744b4Smrg | mips64r5900-* | mips64r5900el-* \ 3861fb744b4Smrg | mips64vr-* | mips64vrel-* \ 387c35d236eSmrg | mips64vr4100-* | mips64vr4100el-* \ 388c35d236eSmrg | mips64vr4300-* | mips64vr4300el-* \ 389c35d236eSmrg | mips64vr5000-* | mips64vr5000el-* \ 3904f6cd06fSmrg | mips64vr5900-* | mips64vr5900el-* \ 391c35d236eSmrg | mipsisa32-* | mipsisa32el-* \ 392c35d236eSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 393c35d236eSmrg | mipsisa64-* | mipsisa64el-* \ 3944f6cd06fSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 395c35d236eSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 396c35d236eSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 397c35d236eSmrg | mipstx39-* | mipstx39el-* \ 3984f6cd06fSmrg | mmix-* \ 3994f6cd06fSmrg | mt-* \ 400c35d236eSmrg | msp430-* \ 4011fb744b4Smrg | nds32-* | nds32le-* | nds32be-* \ 4024f6cd06fSmrg | nios-* | nios2-* \ 4034f6cd06fSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 4041fb744b4Smrg | open8-* \ 405c35d236eSmrg | orion-* \ 406c35d236eSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4071fb744b4Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 408c35d236eSmrg | pyramid-* \ 4091fb744b4Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4101fb744b4Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 411c35d236eSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4124f6cd06fSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4134f6cd06fSmrg | sparclite-* \ 4141fb744b4Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4151fb744b4Smrg | tahoe-* \ 416c35d236eSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4171fb744b4Smrg | tile*-* \ 418c35d236eSmrg | tron-* \ 4191fb744b4Smrg | ubicom32-* \ 4201fb744b4Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4211fb744b4Smrg | vax-* \ 422c35d236eSmrg | we32k-* \ 4231fb744b4Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 424f55e6a01Smrg | xstormy16-* | xtensa*-* \ 425c35d236eSmrg | ymp-* \ 4261fb744b4Smrg | z8k-* | z80-*) 427c35d236eSmrg ;; 428f55e6a01Smrg # Recognize the basic CPU types without company name, with glob match. 429f55e6a01Smrg xtensa*) 430f55e6a01Smrg basic_machine=$basic_machine-unknown 431f55e6a01Smrg ;; 432c35d236eSmrg # Recognize the various machine names and aliases which stand 433c35d236eSmrg # for a CPU type and a company and sometimes even an OS. 434c35d236eSmrg 386bsd) 435c35d236eSmrg basic_machine=i386-unknown 436c35d236eSmrg os=-bsd 437c35d236eSmrg ;; 438c35d236eSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 439c35d236eSmrg basic_machine=m68000-att 440c35d236eSmrg ;; 441c35d236eSmrg 3b*) 442c35d236eSmrg basic_machine=we32k-att 443c35d236eSmrg ;; 444c35d236eSmrg a29khif) 445c35d236eSmrg basic_machine=a29k-amd 446c35d236eSmrg os=-udi 447c35d236eSmrg ;; 4481fb744b4Smrg abacus) 4494f6cd06fSmrg basic_machine=abacus-unknown 4504f6cd06fSmrg ;; 451c35d236eSmrg adobe68k) 452c35d236eSmrg basic_machine=m68010-adobe 453c35d236eSmrg os=-scout 454c35d236eSmrg ;; 455c35d236eSmrg alliant | fx80) 456c35d236eSmrg basic_machine=fx80-alliant 457c35d236eSmrg ;; 458c35d236eSmrg altos | altos3068) 459c35d236eSmrg basic_machine=m68k-altos 460c35d236eSmrg ;; 461c35d236eSmrg am29k) 462c35d236eSmrg basic_machine=a29k-none 463c35d236eSmrg os=-bsd 464c35d236eSmrg ;; 465c35d236eSmrg amd64) 466c35d236eSmrg basic_machine=x86_64-pc 467c35d236eSmrg ;; 4684f6cd06fSmrg amd64-*) 4694f6cd06fSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4704f6cd06fSmrg ;; 471c35d236eSmrg amdahl) 472c35d236eSmrg basic_machine=580-amdahl 473c35d236eSmrg os=-sysv 474c35d236eSmrg ;; 475c35d236eSmrg amiga | amiga-*) 476c35d236eSmrg basic_machine=m68k-unknown 477c35d236eSmrg ;; 478c35d236eSmrg amigaos | amigados) 479c35d236eSmrg basic_machine=m68k-unknown 480c35d236eSmrg os=-amigaos 481c35d236eSmrg ;; 482c35d236eSmrg amigaunix | amix) 483c35d236eSmrg basic_machine=m68k-unknown 484c35d236eSmrg os=-sysv4 485c35d236eSmrg ;; 486c35d236eSmrg apollo68) 487c35d236eSmrg basic_machine=m68k-apollo 488c35d236eSmrg os=-sysv 489c35d236eSmrg ;; 490c35d236eSmrg apollo68bsd) 491c35d236eSmrg basic_machine=m68k-apollo 492c35d236eSmrg os=-bsd 493c35d236eSmrg ;; 4941fb744b4Smrg aros) 4951fb744b4Smrg basic_machine=i386-pc 4961fb744b4Smrg os=-aros 4971fb744b4Smrg ;; 498c35d236eSmrg aux) 499c35d236eSmrg basic_machine=m68k-apple 500c35d236eSmrg os=-aux 501c35d236eSmrg ;; 502c35d236eSmrg balance) 503c35d236eSmrg basic_machine=ns32k-sequent 504c35d236eSmrg os=-dynix 505c35d236eSmrg ;; 506f55e6a01Smrg blackfin) 507f55e6a01Smrg basic_machine=bfin-unknown 508f55e6a01Smrg os=-linux 509f55e6a01Smrg ;; 510f55e6a01Smrg blackfin-*) 511f55e6a01Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 512f55e6a01Smrg os=-linux 513f55e6a01Smrg ;; 5141fb744b4Smrg bluegene*) 5151fb744b4Smrg basic_machine=powerpc-ibm 5161fb744b4Smrg os=-cnk 5171fb744b4Smrg ;; 5181fb744b4Smrg c54x-*) 5191fb744b4Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5201fb744b4Smrg ;; 5211fb744b4Smrg c55x-*) 5221fb744b4Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5231fb744b4Smrg ;; 5241fb744b4Smrg c6x-*) 5251fb744b4Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5261fb744b4Smrg ;; 527c35d236eSmrg c90) 528c35d236eSmrg basic_machine=c90-cray 529c35d236eSmrg os=-unicos 530c35d236eSmrg ;; 5311fb744b4Smrg cegcc) 5321fb744b4Smrg basic_machine=arm-unknown 5331fb744b4Smrg os=-cegcc 5341fb744b4Smrg ;; 535c35d236eSmrg convex-c1) 536c35d236eSmrg basic_machine=c1-convex 537c35d236eSmrg os=-bsd 538c35d236eSmrg ;; 539c35d236eSmrg convex-c2) 540c35d236eSmrg basic_machine=c2-convex 541c35d236eSmrg os=-bsd 542c35d236eSmrg ;; 543c35d236eSmrg convex-c32) 544c35d236eSmrg basic_machine=c32-convex 545c35d236eSmrg os=-bsd 546c35d236eSmrg ;; 547c35d236eSmrg convex-c34) 548c35d236eSmrg basic_machine=c34-convex 549c35d236eSmrg os=-bsd 550c35d236eSmrg ;; 551c35d236eSmrg convex-c38) 552c35d236eSmrg basic_machine=c38-convex 553c35d236eSmrg os=-bsd 554c35d236eSmrg ;; 555c35d236eSmrg cray | j90) 556c35d236eSmrg basic_machine=j90-cray 557c35d236eSmrg os=-unicos 558c35d236eSmrg ;; 5594f6cd06fSmrg craynv) 5604f6cd06fSmrg basic_machine=craynv-cray 5614f6cd06fSmrg os=-unicosmp 5624f6cd06fSmrg ;; 5631fb744b4Smrg cr16 | cr16-*) 564f55e6a01Smrg basic_machine=cr16-unknown 5654f6cd06fSmrg os=-elf 5664f6cd06fSmrg ;; 567c35d236eSmrg crds | unos) 568c35d236eSmrg basic_machine=m68k-crds 569c35d236eSmrg ;; 5704f6cd06fSmrg crisv32 | crisv32-* | etraxfs*) 5714f6cd06fSmrg basic_machine=crisv32-axis 5724f6cd06fSmrg ;; 573c35d236eSmrg cris | cris-* | etrax*) 574c35d236eSmrg basic_machine=cris-axis 575c35d236eSmrg ;; 5764f6cd06fSmrg crx) 5774f6cd06fSmrg basic_machine=crx-unknown 5784f6cd06fSmrg os=-elf 5794f6cd06fSmrg ;; 580c35d236eSmrg da30 | da30-*) 581c35d236eSmrg basic_machine=m68k-da30 582c35d236eSmrg ;; 583c35d236eSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 584c35d236eSmrg basic_machine=mips-dec 585c35d236eSmrg ;; 586c35d236eSmrg decsystem10* | dec10*) 587c35d236eSmrg basic_machine=pdp10-dec 588c35d236eSmrg os=-tops10 589c35d236eSmrg ;; 590c35d236eSmrg decsystem20* | dec20*) 591c35d236eSmrg basic_machine=pdp10-dec 592c35d236eSmrg os=-tops20 593c35d236eSmrg ;; 594c35d236eSmrg delta | 3300 | motorola-3300 | motorola-delta \ 595c35d236eSmrg | 3300-motorola | delta-motorola) 596c35d236eSmrg basic_machine=m68k-motorola 597c35d236eSmrg ;; 598c35d236eSmrg delta88) 599c35d236eSmrg basic_machine=m88k-motorola 600c35d236eSmrg os=-sysv3 601c35d236eSmrg ;; 6021fb744b4Smrg dicos) 6031fb744b4Smrg basic_machine=i686-pc 6041fb744b4Smrg os=-dicos 6051fb744b4Smrg ;; 6064f6cd06fSmrg djgpp) 6074f6cd06fSmrg basic_machine=i586-pc 6084f6cd06fSmrg os=-msdosdjgpp 6094f6cd06fSmrg ;; 610c35d236eSmrg dpx20 | dpx20-*) 611c35d236eSmrg basic_machine=rs6000-bull 612c35d236eSmrg os=-bosx 613c35d236eSmrg ;; 614c35d236eSmrg dpx2* | dpx2*-bull) 615c35d236eSmrg basic_machine=m68k-bull 616c35d236eSmrg os=-sysv3 617c35d236eSmrg ;; 618c35d236eSmrg ebmon29k) 619c35d236eSmrg basic_machine=a29k-amd 620c35d236eSmrg os=-ebmon 621c35d236eSmrg ;; 622c35d236eSmrg elxsi) 623c35d236eSmrg basic_machine=elxsi-elxsi 624c35d236eSmrg os=-bsd 625c35d236eSmrg ;; 626c35d236eSmrg encore | umax | mmax) 627c35d236eSmrg basic_machine=ns32k-encore 628c35d236eSmrg ;; 629c35d236eSmrg es1800 | OSE68k | ose68k | ose | OSE) 630c35d236eSmrg basic_machine=m68k-ericsson 631c35d236eSmrg os=-ose 632c35d236eSmrg ;; 633c35d236eSmrg fx2800) 634c35d236eSmrg basic_machine=i860-alliant 635c35d236eSmrg ;; 636c35d236eSmrg genix) 637c35d236eSmrg basic_machine=ns32k-ns 638c35d236eSmrg ;; 639c35d236eSmrg gmicro) 640c35d236eSmrg basic_machine=tron-gmicro 641c35d236eSmrg os=-sysv 642c35d236eSmrg ;; 643c35d236eSmrg go32) 644c35d236eSmrg basic_machine=i386-pc 645c35d236eSmrg os=-go32 646c35d236eSmrg ;; 647c35d236eSmrg h3050r* | hiux*) 648c35d236eSmrg basic_machine=hppa1.1-hitachi 649c35d236eSmrg os=-hiuxwe2 650c35d236eSmrg ;; 651c35d236eSmrg h8300hms) 652c35d236eSmrg basic_machine=h8300-hitachi 653c35d236eSmrg os=-hms 654c35d236eSmrg ;; 655c35d236eSmrg h8300xray) 656c35d236eSmrg basic_machine=h8300-hitachi 657c35d236eSmrg os=-xray 658c35d236eSmrg ;; 659c35d236eSmrg h8500hms) 660c35d236eSmrg basic_machine=h8500-hitachi 661c35d236eSmrg os=-hms 662c35d236eSmrg ;; 663c35d236eSmrg harris) 664c35d236eSmrg basic_machine=m88k-harris 665c35d236eSmrg os=-sysv3 666c35d236eSmrg ;; 667c35d236eSmrg hp300-*) 668c35d236eSmrg basic_machine=m68k-hp 669c35d236eSmrg ;; 670c35d236eSmrg hp300bsd) 671c35d236eSmrg basic_machine=m68k-hp 672c35d236eSmrg os=-bsd 673c35d236eSmrg ;; 674c35d236eSmrg hp300hpux) 675c35d236eSmrg basic_machine=m68k-hp 676c35d236eSmrg os=-hpux 677c35d236eSmrg ;; 678c35d236eSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 679c35d236eSmrg basic_machine=hppa1.0-hp 680c35d236eSmrg ;; 681c35d236eSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 682c35d236eSmrg basic_machine=m68000-hp 683c35d236eSmrg ;; 684c35d236eSmrg hp9k3[2-9][0-9]) 685c35d236eSmrg basic_machine=m68k-hp 686c35d236eSmrg ;; 687c35d236eSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 688c35d236eSmrg basic_machine=hppa1.0-hp 689c35d236eSmrg ;; 690c35d236eSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 691c35d236eSmrg basic_machine=hppa1.1-hp 692c35d236eSmrg ;; 693c35d236eSmrg hp9k78[0-9] | hp78[0-9]) 694c35d236eSmrg # FIXME: really hppa2.0-hp 695c35d236eSmrg basic_machine=hppa1.1-hp 696c35d236eSmrg ;; 697c35d236eSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 698c35d236eSmrg # FIXME: really hppa2.0-hp 699c35d236eSmrg basic_machine=hppa1.1-hp 700c35d236eSmrg ;; 701c35d236eSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 702c35d236eSmrg basic_machine=hppa1.1-hp 703c35d236eSmrg ;; 704c35d236eSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 705c35d236eSmrg basic_machine=hppa1.0-hp 706c35d236eSmrg ;; 707c35d236eSmrg hppa-next) 708c35d236eSmrg os=-nextstep3 709c35d236eSmrg ;; 710c35d236eSmrg hppaosf) 711c35d236eSmrg basic_machine=hppa1.1-hp 712c35d236eSmrg os=-osf 713c35d236eSmrg ;; 714c35d236eSmrg hppro) 715c35d236eSmrg basic_machine=hppa1.1-hp 716c35d236eSmrg os=-proelf 717c35d236eSmrg ;; 718c35d236eSmrg i370-ibm* | ibm*) 719c35d236eSmrg basic_machine=i370-ibm 720c35d236eSmrg ;; 721c35d236eSmrg i*86v32) 722c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 723c35d236eSmrg os=-sysv32 724c35d236eSmrg ;; 725c35d236eSmrg i*86v4*) 726c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 727c35d236eSmrg os=-sysv4 728c35d236eSmrg ;; 729c35d236eSmrg i*86v) 730c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 731c35d236eSmrg os=-sysv 732c35d236eSmrg ;; 733c35d236eSmrg i*86sol2) 734c35d236eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 735c35d236eSmrg os=-solaris2 736c35d236eSmrg ;; 737c35d236eSmrg i386mach) 738c35d236eSmrg basic_machine=i386-mach 739c35d236eSmrg os=-mach 740c35d236eSmrg ;; 741c35d236eSmrg i386-vsta | vsta) 742c35d236eSmrg basic_machine=i386-unknown 743c35d236eSmrg os=-vsta 744c35d236eSmrg ;; 745c35d236eSmrg iris | iris4d) 746c35d236eSmrg basic_machine=mips-sgi 747c35d236eSmrg case $os in 748c35d236eSmrg -irix*) 749c35d236eSmrg ;; 750c35d236eSmrg *) 751c35d236eSmrg os=-irix4 752c35d236eSmrg ;; 753c35d236eSmrg esac 754c35d236eSmrg ;; 755c35d236eSmrg isi68 | isi) 756c35d236eSmrg basic_machine=m68k-isi 757c35d236eSmrg os=-sysv 758c35d236eSmrg ;; 759f55e6a01Smrg m68knommu) 760f55e6a01Smrg basic_machine=m68k-unknown 761f55e6a01Smrg os=-linux 762f55e6a01Smrg ;; 763f55e6a01Smrg m68knommu-*) 764f55e6a01Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 765f55e6a01Smrg os=-linux 766f55e6a01Smrg ;; 767c35d236eSmrg m88k-omron*) 768c35d236eSmrg basic_machine=m88k-omron 769c35d236eSmrg ;; 770c35d236eSmrg magnum | m3230) 771c35d236eSmrg basic_machine=mips-mips 772c35d236eSmrg os=-sysv 773c35d236eSmrg ;; 774c35d236eSmrg merlin) 775c35d236eSmrg basic_machine=ns32k-utek 776c35d236eSmrg os=-sysv 777c35d236eSmrg ;; 7781fb744b4Smrg microblaze) 7791fb744b4Smrg basic_machine=microblaze-xilinx 7801fb744b4Smrg ;; 781c35d236eSmrg mingw32) 782c35d236eSmrg basic_machine=i386-pc 783c35d236eSmrg os=-mingw32 784c35d236eSmrg ;; 785f55e6a01Smrg mingw32ce) 786f55e6a01Smrg basic_machine=arm-unknown 787f55e6a01Smrg os=-mingw32ce 788f55e6a01Smrg ;; 789c35d236eSmrg miniframe) 790c35d236eSmrg basic_machine=m68000-convergent 791c35d236eSmrg ;; 792c35d236eSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 793c35d236eSmrg basic_machine=m68k-atari 794c35d236eSmrg os=-mint 795c35d236eSmrg ;; 796c35d236eSmrg mips3*-*) 797c35d236eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 798c35d236eSmrg ;; 799c35d236eSmrg mips3*) 800c35d236eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 801c35d236eSmrg ;; 802c35d236eSmrg monitor) 803c35d236eSmrg basic_machine=m68k-rom68k 804c35d236eSmrg os=-coff 805c35d236eSmrg ;; 806c35d236eSmrg morphos) 807c35d236eSmrg basic_machine=powerpc-unknown 808c35d236eSmrg os=-morphos 809c35d236eSmrg ;; 810c35d236eSmrg msdos) 811c35d236eSmrg basic_machine=i386-pc 812c35d236eSmrg os=-msdos 813c35d236eSmrg ;; 8144f6cd06fSmrg ms1-*) 8154f6cd06fSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8164f6cd06fSmrg ;; 8171fb744b4Smrg msys) 8181fb744b4Smrg basic_machine=i386-pc 8191fb744b4Smrg os=-msys 8201fb744b4Smrg ;; 821c35d236eSmrg mvs) 822c35d236eSmrg basic_machine=i370-ibm 823c35d236eSmrg os=-mvs 824c35d236eSmrg ;; 8251fb744b4Smrg nacl) 8261fb744b4Smrg basic_machine=le32-unknown 8271fb744b4Smrg os=-nacl 8281fb744b4Smrg ;; 829c35d236eSmrg ncr3000) 830c35d236eSmrg basic_machine=i486-ncr 831c35d236eSmrg os=-sysv4 832c35d236eSmrg ;; 833c35d236eSmrg netbsd386) 834c35d236eSmrg basic_machine=i386-unknown 835c35d236eSmrg os=-netbsd 836c35d236eSmrg ;; 837c35d236eSmrg netwinder) 838c35d236eSmrg basic_machine=armv4l-rebel 839c35d236eSmrg os=-linux 840c35d236eSmrg ;; 841c35d236eSmrg news | news700 | news800 | news900) 842c35d236eSmrg basic_machine=m68k-sony 843c35d236eSmrg os=-newsos 844c35d236eSmrg ;; 845c35d236eSmrg news1000) 846c35d236eSmrg basic_machine=m68030-sony 847c35d236eSmrg os=-newsos 848c35d236eSmrg ;; 849c35d236eSmrg news-3600 | risc-news) 850c35d236eSmrg basic_machine=mips-sony 851c35d236eSmrg os=-newsos 852c35d236eSmrg ;; 853c35d236eSmrg necv70) 854c35d236eSmrg basic_machine=v70-nec 855c35d236eSmrg os=-sysv 856c35d236eSmrg ;; 857c35d236eSmrg next | m*-next ) 858c35d236eSmrg basic_machine=m68k-next 859c35d236eSmrg case $os in 860c35d236eSmrg -nextstep* ) 861c35d236eSmrg ;; 862c35d236eSmrg -ns2*) 863c35d236eSmrg os=-nextstep2 864c35d236eSmrg ;; 865c35d236eSmrg *) 866c35d236eSmrg os=-nextstep3 867c35d236eSmrg ;; 868c35d236eSmrg esac 869c35d236eSmrg ;; 870c35d236eSmrg nh3000) 871c35d236eSmrg basic_machine=m68k-harris 872c35d236eSmrg os=-cxux 873c35d236eSmrg ;; 874c35d236eSmrg nh[45]000) 875c35d236eSmrg basic_machine=m88k-harris 876c35d236eSmrg os=-cxux 877c35d236eSmrg ;; 878c35d236eSmrg nindy960) 879c35d236eSmrg basic_machine=i960-intel 880c35d236eSmrg os=-nindy 881c35d236eSmrg ;; 882c35d236eSmrg mon960) 883c35d236eSmrg basic_machine=i960-intel 884c35d236eSmrg os=-mon960 885c35d236eSmrg ;; 886c35d236eSmrg nonstopux) 887c35d236eSmrg basic_machine=mips-compaq 888c35d236eSmrg os=-nonstopux 889c35d236eSmrg ;; 890c35d236eSmrg np1) 891c35d236eSmrg basic_machine=np1-gould 892c35d236eSmrg ;; 8931fb744b4Smrg neo-tandem) 8941fb744b4Smrg basic_machine=neo-tandem 8951fb744b4Smrg ;; 8961fb744b4Smrg nse-tandem) 8971fb744b4Smrg basic_machine=nse-tandem 8981fb744b4Smrg ;; 899c35d236eSmrg nsr-tandem) 900c35d236eSmrg basic_machine=nsr-tandem 901c35d236eSmrg ;; 902c35d236eSmrg op50n-* | op60c-*) 903c35d236eSmrg basic_machine=hppa1.1-oki 904c35d236eSmrg os=-proelf 905c35d236eSmrg ;; 9064f6cd06fSmrg openrisc | openrisc-*) 907c35d236eSmrg basic_machine=or32-unknown 9084f6cd06fSmrg ;; 9094f6cd06fSmrg os400) 9104f6cd06fSmrg basic_machine=powerpc-ibm 9114f6cd06fSmrg os=-os400 912c35d236eSmrg ;; 913c35d236eSmrg OSE68000 | ose68000) 914c35d236eSmrg basic_machine=m68000-ericsson 915c35d236eSmrg os=-ose 916c35d236eSmrg ;; 917c35d236eSmrg os68k) 918c35d236eSmrg basic_machine=m68k-none 919c35d236eSmrg os=-os68k 920c35d236eSmrg ;; 921c35d236eSmrg pa-hitachi) 922c35d236eSmrg basic_machine=hppa1.1-hitachi 923c35d236eSmrg os=-hiuxwe2 924c35d236eSmrg ;; 925c35d236eSmrg paragon) 926c35d236eSmrg basic_machine=i860-intel 927c35d236eSmrg os=-osf 928c35d236eSmrg ;; 929f55e6a01Smrg parisc) 930f55e6a01Smrg basic_machine=hppa-unknown 931f55e6a01Smrg os=-linux 932f55e6a01Smrg ;; 933f55e6a01Smrg parisc-*) 934f55e6a01Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 935f55e6a01Smrg os=-linux 936f55e6a01Smrg ;; 937c35d236eSmrg pbd) 938c35d236eSmrg basic_machine=sparc-tti 939c35d236eSmrg ;; 940c35d236eSmrg pbb) 941c35d236eSmrg basic_machine=m68k-tti 942c35d236eSmrg ;; 943c35d236eSmrg pc532 | pc532-*) 944c35d236eSmrg basic_machine=ns32k-pc532 945c35d236eSmrg ;; 9464f6cd06fSmrg pc98) 9474f6cd06fSmrg basic_machine=i386-pc 9484f6cd06fSmrg ;; 9494f6cd06fSmrg pc98-*) 9504f6cd06fSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9514f6cd06fSmrg ;; 952c35d236eSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 953c35d236eSmrg basic_machine=i586-pc 954c35d236eSmrg ;; 955c35d236eSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 956c35d236eSmrg basic_machine=i686-pc 957c35d236eSmrg ;; 958c35d236eSmrg pentiumii | pentium2 | pentiumiii | pentium3) 959c35d236eSmrg basic_machine=i686-pc 960c35d236eSmrg ;; 961c35d236eSmrg pentium4) 962c35d236eSmrg basic_machine=i786-pc 963c35d236eSmrg ;; 964c35d236eSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 965c35d236eSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 966c35d236eSmrg ;; 967c35d236eSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 968c35d236eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 969c35d236eSmrg ;; 970c35d236eSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 971c35d236eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 972c35d236eSmrg ;; 973c35d236eSmrg pentium4-*) 974c35d236eSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 975c35d236eSmrg ;; 976c35d236eSmrg pn) 977c35d236eSmrg basic_machine=pn-gould 978c35d236eSmrg ;; 979c35d236eSmrg power) basic_machine=power-ibm 980c35d236eSmrg ;; 9811fb744b4Smrg ppc | ppcbe) basic_machine=powerpc-unknown 982c35d236eSmrg ;; 9831fb744b4Smrg ppc-* | ppcbe-*) 9841fb744b4Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 985c35d236eSmrg ;; 986c35d236eSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 987c35d236eSmrg basic_machine=powerpcle-unknown 988c35d236eSmrg ;; 989c35d236eSmrg ppcle-* | powerpclittle-*) 990c35d236eSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 991c35d236eSmrg ;; 992c35d236eSmrg ppc64) basic_machine=powerpc64-unknown 993c35d236eSmrg ;; 994c35d236eSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 995c35d236eSmrg ;; 996c35d236eSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 997c35d236eSmrg basic_machine=powerpc64le-unknown 998c35d236eSmrg ;; 999c35d236eSmrg ppc64le-* | powerpc64little-*) 1000c35d236eSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1001c35d236eSmrg ;; 1002c35d236eSmrg ps2) 1003c35d236eSmrg basic_machine=i386-ibm 1004c35d236eSmrg ;; 1005c35d236eSmrg pw32) 1006c35d236eSmrg basic_machine=i586-unknown 1007c35d236eSmrg os=-pw32 1008c35d236eSmrg ;; 10094f6cd06fSmrg rdos) 10104f6cd06fSmrg basic_machine=i386-pc 10114f6cd06fSmrg os=-rdos 10124f6cd06fSmrg ;; 1013c35d236eSmrg rom68k) 1014c35d236eSmrg basic_machine=m68k-rom68k 1015c35d236eSmrg os=-coff 1016c35d236eSmrg ;; 1017c35d236eSmrg rm[46]00) 1018c35d236eSmrg basic_machine=mips-siemens 1019c35d236eSmrg ;; 1020c35d236eSmrg rtpc | rtpc-*) 1021c35d236eSmrg basic_machine=romp-ibm 1022c35d236eSmrg ;; 10234f6cd06fSmrg s390 | s390-*) 10244f6cd06fSmrg basic_machine=s390-ibm 10254f6cd06fSmrg ;; 10264f6cd06fSmrg s390x | s390x-*) 10274f6cd06fSmrg basic_machine=s390x-ibm 10284f6cd06fSmrg ;; 1029c35d236eSmrg sa29200) 1030c35d236eSmrg basic_machine=a29k-amd 1031c35d236eSmrg os=-udi 1032c35d236eSmrg ;; 1033c35d236eSmrg sb1) 1034c35d236eSmrg basic_machine=mipsisa64sb1-unknown 1035c35d236eSmrg ;; 1036c35d236eSmrg sb1el) 1037c35d236eSmrg basic_machine=mipsisa64sb1el-unknown 1038c35d236eSmrg ;; 10394f6cd06fSmrg sde) 10404f6cd06fSmrg basic_machine=mipsisa32-sde 10414f6cd06fSmrg os=-elf 10424f6cd06fSmrg ;; 1043c35d236eSmrg sei) 1044c35d236eSmrg basic_machine=mips-sei 1045c35d236eSmrg os=-seiux 1046c35d236eSmrg ;; 1047c35d236eSmrg sequent) 1048c35d236eSmrg basic_machine=i386-sequent 1049c35d236eSmrg ;; 1050c35d236eSmrg sh) 1051c35d236eSmrg basic_machine=sh-hitachi 1052c35d236eSmrg os=-hms 1053c35d236eSmrg ;; 1054f55e6a01Smrg sh5el) 1055f55e6a01Smrg basic_machine=sh5le-unknown 1056f55e6a01Smrg ;; 1057c35d236eSmrg sh64) 1058c35d236eSmrg basic_machine=sh64-unknown 1059c35d236eSmrg ;; 1060c35d236eSmrg sparclite-wrs | simso-wrs) 1061c35d236eSmrg basic_machine=sparclite-wrs 1062c35d236eSmrg os=-vxworks 1063c35d236eSmrg ;; 1064c35d236eSmrg sps7) 1065c35d236eSmrg basic_machine=m68k-bull 1066c35d236eSmrg os=-sysv2 1067c35d236eSmrg ;; 1068c35d236eSmrg spur) 1069c35d236eSmrg basic_machine=spur-unknown 1070c35d236eSmrg ;; 1071c35d236eSmrg st2000) 1072c35d236eSmrg basic_machine=m68k-tandem 1073c35d236eSmrg ;; 1074c35d236eSmrg stratus) 1075c35d236eSmrg basic_machine=i860-stratus 1076c35d236eSmrg os=-sysv4 1077c35d236eSmrg ;; 10781fb744b4Smrg strongarm-* | thumb-*) 10791fb744b4Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 10801fb744b4Smrg ;; 1081c35d236eSmrg sun2) 1082c35d236eSmrg basic_machine=m68000-sun 1083c35d236eSmrg ;; 1084c35d236eSmrg sun2os3) 1085c35d236eSmrg basic_machine=m68000-sun 1086c35d236eSmrg os=-sunos3 1087c35d236eSmrg ;; 1088c35d236eSmrg sun2os4) 1089c35d236eSmrg basic_machine=m68000-sun 1090c35d236eSmrg os=-sunos4 1091c35d236eSmrg ;; 1092c35d236eSmrg sun3os3) 1093c35d236eSmrg basic_machine=m68k-sun 1094c35d236eSmrg os=-sunos3 1095c35d236eSmrg ;; 1096c35d236eSmrg sun3os4) 1097c35d236eSmrg basic_machine=m68k-sun 1098c35d236eSmrg os=-sunos4 1099c35d236eSmrg ;; 1100c35d236eSmrg sun4os3) 1101c35d236eSmrg basic_machine=sparc-sun 1102c35d236eSmrg os=-sunos3 1103c35d236eSmrg ;; 1104c35d236eSmrg sun4os4) 1105c35d236eSmrg basic_machine=sparc-sun 1106c35d236eSmrg os=-sunos4 1107c35d236eSmrg ;; 1108c35d236eSmrg sun4sol2) 1109c35d236eSmrg basic_machine=sparc-sun 1110c35d236eSmrg os=-solaris2 1111c35d236eSmrg ;; 1112c35d236eSmrg sun3 | sun3-*) 1113c35d236eSmrg basic_machine=m68k-sun 1114c35d236eSmrg ;; 1115c35d236eSmrg sun4) 1116c35d236eSmrg basic_machine=sparc-sun 1117c35d236eSmrg ;; 1118c35d236eSmrg sun386 | sun386i | roadrunner) 1119c35d236eSmrg basic_machine=i386-sun 1120c35d236eSmrg ;; 1121c35d236eSmrg sv1) 1122c35d236eSmrg basic_machine=sv1-cray 1123c35d236eSmrg os=-unicos 1124c35d236eSmrg ;; 1125c35d236eSmrg symmetry) 1126c35d236eSmrg basic_machine=i386-sequent 1127c35d236eSmrg os=-dynix 1128c35d236eSmrg ;; 1129c35d236eSmrg t3e) 1130c35d236eSmrg basic_machine=alphaev5-cray 1131c35d236eSmrg os=-unicos 1132c35d236eSmrg ;; 1133c35d236eSmrg t90) 1134c35d236eSmrg basic_machine=t90-cray 1135c35d236eSmrg os=-unicos 1136c35d236eSmrg ;; 1137f55e6a01Smrg tile*) 11381fb744b4Smrg basic_machine=$basic_machine-unknown 1139f55e6a01Smrg os=-linux-gnu 1140f55e6a01Smrg ;; 1141c35d236eSmrg tx39) 1142c35d236eSmrg basic_machine=mipstx39-unknown 1143c35d236eSmrg ;; 1144c35d236eSmrg tx39el) 1145c35d236eSmrg basic_machine=mipstx39el-unknown 1146c35d236eSmrg ;; 1147c35d236eSmrg toad1) 1148c35d236eSmrg basic_machine=pdp10-xkl 1149c35d236eSmrg os=-tops20 1150c35d236eSmrg ;; 1151c35d236eSmrg tower | tower-32) 1152c35d236eSmrg basic_machine=m68k-ncr 1153c35d236eSmrg ;; 11544f6cd06fSmrg tpf) 11554f6cd06fSmrg basic_machine=s390x-ibm 11564f6cd06fSmrg os=-tpf 11574f6cd06fSmrg ;; 1158c35d236eSmrg udi29k) 1159c35d236eSmrg basic_machine=a29k-amd 1160c35d236eSmrg os=-udi 1161c35d236eSmrg ;; 1162c35d236eSmrg ultra3) 1163c35d236eSmrg basic_machine=a29k-nyu 1164c35d236eSmrg os=-sym1 1165c35d236eSmrg ;; 1166c35d236eSmrg v810 | necv810) 1167c35d236eSmrg basic_machine=v810-nec 1168c35d236eSmrg os=-none 1169c35d236eSmrg ;; 1170c35d236eSmrg vaxv) 1171c35d236eSmrg basic_machine=vax-dec 1172c35d236eSmrg os=-sysv 1173c35d236eSmrg ;; 1174c35d236eSmrg vms) 1175c35d236eSmrg basic_machine=vax-dec 1176c35d236eSmrg os=-vms 1177c35d236eSmrg ;; 1178c35d236eSmrg vpp*|vx|vx-*) 1179c35d236eSmrg basic_machine=f301-fujitsu 1180c35d236eSmrg ;; 1181c35d236eSmrg vxworks960) 1182c35d236eSmrg basic_machine=i960-wrs 1183c35d236eSmrg os=-vxworks 1184c35d236eSmrg ;; 1185c35d236eSmrg vxworks68) 1186c35d236eSmrg basic_machine=m68k-wrs 1187c35d236eSmrg os=-vxworks 1188c35d236eSmrg ;; 1189c35d236eSmrg vxworks29k) 1190c35d236eSmrg basic_machine=a29k-wrs 1191c35d236eSmrg os=-vxworks 1192c35d236eSmrg ;; 1193c35d236eSmrg w65*) 1194c35d236eSmrg basic_machine=w65-wdc 1195c35d236eSmrg os=-none 1196c35d236eSmrg ;; 1197c35d236eSmrg w89k-*) 1198c35d236eSmrg basic_machine=hppa1.1-winbond 1199c35d236eSmrg os=-proelf 1200c35d236eSmrg ;; 12014f6cd06fSmrg xbox) 12024f6cd06fSmrg basic_machine=i686-pc 12034f6cd06fSmrg os=-mingw32 12044f6cd06fSmrg ;; 1205c35d236eSmrg xps | xps100) 1206c35d236eSmrg basic_machine=xps100-honeywell 1207c35d236eSmrg ;; 12081fb744b4Smrg xscale-* | xscalee[bl]-*) 12091fb744b4Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12101fb744b4Smrg ;; 1211c35d236eSmrg ymp) 1212c35d236eSmrg basic_machine=ymp-cray 1213c35d236eSmrg os=-unicos 1214c35d236eSmrg ;; 1215c35d236eSmrg z8k-*-coff) 1216c35d236eSmrg basic_machine=z8k-unknown 1217c35d236eSmrg os=-sim 1218c35d236eSmrg ;; 12191fb744b4Smrg z80-*-coff) 12201fb744b4Smrg basic_machine=z80-unknown 12211fb744b4Smrg os=-sim 12221fb744b4Smrg ;; 1223c35d236eSmrg none) 1224c35d236eSmrg basic_machine=none-none 1225c35d236eSmrg os=-none 1226c35d236eSmrg ;; 1227c35d236eSmrg 1228c35d236eSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1229c35d236eSmrg# some cases the only manufacturer, in others, it is the most popular. 1230c35d236eSmrg w89k) 1231c35d236eSmrg basic_machine=hppa1.1-winbond 1232c35d236eSmrg ;; 1233c35d236eSmrg op50n) 1234c35d236eSmrg basic_machine=hppa1.1-oki 1235c35d236eSmrg ;; 1236c35d236eSmrg op60c) 1237c35d236eSmrg basic_machine=hppa1.1-oki 1238c35d236eSmrg ;; 1239c35d236eSmrg romp) 1240c35d236eSmrg basic_machine=romp-ibm 1241c35d236eSmrg ;; 12424f6cd06fSmrg mmix) 12434f6cd06fSmrg basic_machine=mmix-knuth 12444f6cd06fSmrg ;; 1245c35d236eSmrg rs6000) 1246c35d236eSmrg basic_machine=rs6000-ibm 1247c35d236eSmrg ;; 1248c35d236eSmrg vax) 1249c35d236eSmrg basic_machine=vax-dec 1250c35d236eSmrg ;; 1251c35d236eSmrg pdp10) 1252c35d236eSmrg # there are many clones, so DEC is not a safe bet 1253c35d236eSmrg basic_machine=pdp10-unknown 1254c35d236eSmrg ;; 1255c35d236eSmrg pdp11) 1256c35d236eSmrg basic_machine=pdp11-dec 1257c35d236eSmrg ;; 1258c35d236eSmrg we32k) 1259c35d236eSmrg basic_machine=we32k-att 1260c35d236eSmrg ;; 12611fb744b4Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1262c35d236eSmrg basic_machine=sh-unknown 1263c35d236eSmrg ;; 12644f6cd06fSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1265c35d236eSmrg basic_machine=sparc-sun 1266c35d236eSmrg ;; 1267c35d236eSmrg cydra) 1268c35d236eSmrg basic_machine=cydra-cydrome 1269c35d236eSmrg ;; 1270c35d236eSmrg orion) 1271c35d236eSmrg basic_machine=orion-highlevel 1272c35d236eSmrg ;; 1273c35d236eSmrg orion105) 1274c35d236eSmrg basic_machine=clipper-highlevel 1275c35d236eSmrg ;; 1276c35d236eSmrg mac | mpw | mac-mpw) 1277c35d236eSmrg basic_machine=m68k-apple 1278c35d236eSmrg ;; 1279c35d236eSmrg pmac | pmac-mpw) 1280c35d236eSmrg basic_machine=powerpc-apple 1281c35d236eSmrg ;; 1282c35d236eSmrg *-unknown) 1283c35d236eSmrg # Make sure to match an already-canonicalized machine name. 1284c35d236eSmrg ;; 1285c35d236eSmrg *) 1286c35d236eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1287c35d236eSmrg exit 1 1288c35d236eSmrg ;; 1289c35d236eSmrgesac 1290c35d236eSmrg 1291c35d236eSmrg# Here we canonicalize certain aliases for manufacturers. 1292c35d236eSmrgcase $basic_machine in 1293c35d236eSmrg *-digital*) 1294c35d236eSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1295c35d236eSmrg ;; 1296c35d236eSmrg *-commodore*) 1297c35d236eSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1298c35d236eSmrg ;; 1299c35d236eSmrg *) 1300c35d236eSmrg ;; 1301c35d236eSmrgesac 1302c35d236eSmrg 1303c35d236eSmrg# Decode manufacturer-specific aliases for certain operating systems. 1304c35d236eSmrg 1305c35d236eSmrgif [ x"$os" != x"" ] 1306c35d236eSmrgthen 1307c35d236eSmrgcase $os in 13081fb744b4Smrg # First match some system type aliases 13091fb744b4Smrg # that might get confused with valid system types. 1310c35d236eSmrg # -solaris* is a basic system type, with this one exception. 13111fb744b4Smrg -auroraux) 13121fb744b4Smrg os=-auroraux 13131fb744b4Smrg ;; 1314c35d236eSmrg -solaris1 | -solaris1.*) 1315c35d236eSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1316c35d236eSmrg ;; 1317c35d236eSmrg -solaris) 1318c35d236eSmrg os=-solaris2 1319c35d236eSmrg ;; 1320c35d236eSmrg -svr4*) 1321c35d236eSmrg os=-sysv4 1322c35d236eSmrg ;; 1323c35d236eSmrg -unixware*) 1324c35d236eSmrg os=-sysv4.2uw 1325c35d236eSmrg ;; 1326c35d236eSmrg -gnu/linux*) 1327c35d236eSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1328c35d236eSmrg ;; 1329c35d236eSmrg # First accept the basic system types. 1330c35d236eSmrg # The portable systems comes first. 1331c35d236eSmrg # Each alternative MUST END IN A *, to match a version number. 1332c35d236eSmrg # -sysv* is not here because it comes later, after sysvr4. 1333c35d236eSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13341fb744b4Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13351fb744b4Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13361fb744b4Smrg | -sym* | -kopensolaris* \ 1337c35d236eSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13381fb744b4Smrg | -aos* | -aros* \ 1339c35d236eSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1340c35d236eSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13414f6cd06fSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 13424f6cd06fSmrg | -openbsd* | -solidbsd* \ 13434f6cd06fSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13444f6cd06fSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1345c35d236eSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1346c35d236eSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13471fb744b4Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 13481fb744b4Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13491fb744b4Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 13501fb744b4Smrg | -linux-newlib* | -linux-uclibc* \ 13514f6cd06fSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1352c35d236eSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1353c35d236eSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1354c35d236eSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1355c35d236eSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1356c35d236eSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13574f6cd06fSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13581fb744b4Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1359c35d236eSmrg # Remember, each alternative MUST END IN *, to match a version number. 1360c35d236eSmrg ;; 1361c35d236eSmrg -qnx*) 1362c35d236eSmrg case $basic_machine in 1363c35d236eSmrg x86-* | i*86-*) 1364c35d236eSmrg ;; 1365c35d236eSmrg *) 1366c35d236eSmrg os=-nto$os 1367c35d236eSmrg ;; 1368c35d236eSmrg esac 1369c35d236eSmrg ;; 1370c35d236eSmrg -nto-qnx*) 1371c35d236eSmrg ;; 1372c35d236eSmrg -nto*) 1373c35d236eSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1374c35d236eSmrg ;; 1375c35d236eSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 13764f6cd06fSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1377c35d236eSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1378c35d236eSmrg ;; 1379c35d236eSmrg -mac*) 1380c35d236eSmrg os=`echo $os | sed -e 's|mac|macos|'` 1381c35d236eSmrg ;; 13824f6cd06fSmrg -linux-dietlibc) 13834f6cd06fSmrg os=-linux-dietlibc 13844f6cd06fSmrg ;; 1385c35d236eSmrg -linux*) 1386c35d236eSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1387c35d236eSmrg ;; 1388c35d236eSmrg -sunos5*) 1389c35d236eSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1390c35d236eSmrg ;; 1391c35d236eSmrg -sunos6*) 1392c35d236eSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1393c35d236eSmrg ;; 1394c35d236eSmrg -opened*) 1395c35d236eSmrg os=-openedition 1396c35d236eSmrg ;; 13971fb744b4Smrg -os400*) 13984f6cd06fSmrg os=-os400 13994f6cd06fSmrg ;; 1400c35d236eSmrg -wince*) 1401c35d236eSmrg os=-wince 1402c35d236eSmrg ;; 1403c35d236eSmrg -osfrose*) 1404c35d236eSmrg os=-osfrose 1405c35d236eSmrg ;; 1406c35d236eSmrg -osf*) 1407c35d236eSmrg os=-osf 1408c35d236eSmrg ;; 1409c35d236eSmrg -utek*) 1410c35d236eSmrg os=-bsd 1411c35d236eSmrg ;; 1412c35d236eSmrg -dynix*) 1413c35d236eSmrg os=-bsd 1414c35d236eSmrg ;; 1415c35d236eSmrg -acis*) 1416c35d236eSmrg os=-aos 1417c35d236eSmrg ;; 1418c35d236eSmrg -atheos*) 1419c35d236eSmrg os=-atheos 1420c35d236eSmrg ;; 14214f6cd06fSmrg -syllable*) 14224f6cd06fSmrg os=-syllable 14234f6cd06fSmrg ;; 1424c35d236eSmrg -386bsd) 1425c35d236eSmrg os=-bsd 1426c35d236eSmrg ;; 1427c35d236eSmrg -ctix* | -uts*) 1428c35d236eSmrg os=-sysv 1429c35d236eSmrg ;; 1430c35d236eSmrg -nova*) 1431c35d236eSmrg os=-rtmk-nova 1432c35d236eSmrg ;; 1433c35d236eSmrg -ns2 ) 1434c35d236eSmrg os=-nextstep2 1435c35d236eSmrg ;; 1436c35d236eSmrg -nsk*) 1437c35d236eSmrg os=-nsk 1438c35d236eSmrg ;; 1439c35d236eSmrg # Preserve the version number of sinix5. 1440c35d236eSmrg -sinix5.*) 1441c35d236eSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1442c35d236eSmrg ;; 1443c35d236eSmrg -sinix*) 1444c35d236eSmrg os=-sysv4 1445c35d236eSmrg ;; 14461fb744b4Smrg -tpf*) 14474f6cd06fSmrg os=-tpf 14484f6cd06fSmrg ;; 1449c35d236eSmrg -triton*) 1450c35d236eSmrg os=-sysv3 1451c35d236eSmrg ;; 1452c35d236eSmrg -oss*) 1453c35d236eSmrg os=-sysv3 1454c35d236eSmrg ;; 1455c35d236eSmrg -svr4) 1456c35d236eSmrg os=-sysv4 1457c35d236eSmrg ;; 1458c35d236eSmrg -svr3) 1459c35d236eSmrg os=-sysv3 1460c35d236eSmrg ;; 1461c35d236eSmrg -sysvr4) 1462c35d236eSmrg os=-sysv4 1463c35d236eSmrg ;; 1464c35d236eSmrg # This must come after -sysvr4. 1465c35d236eSmrg -sysv*) 1466c35d236eSmrg ;; 1467c35d236eSmrg -ose*) 1468c35d236eSmrg os=-ose 1469c35d236eSmrg ;; 1470c35d236eSmrg -es1800*) 1471c35d236eSmrg os=-ose 1472c35d236eSmrg ;; 1473c35d236eSmrg -xenix) 1474c35d236eSmrg os=-xenix 1475c35d236eSmrg ;; 1476c35d236eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1477c35d236eSmrg os=-mint 1478c35d236eSmrg ;; 1479c35d236eSmrg -aros*) 1480c35d236eSmrg os=-aros 1481c35d236eSmrg ;; 1482c35d236eSmrg -kaos*) 1483c35d236eSmrg os=-kaos 1484c35d236eSmrg ;; 14854f6cd06fSmrg -zvmoe) 14864f6cd06fSmrg os=-zvmoe 14874f6cd06fSmrg ;; 14881fb744b4Smrg -dicos*) 14891fb744b4Smrg os=-dicos 14901fb744b4Smrg ;; 14911fb744b4Smrg -nacl*) 14921fb744b4Smrg ;; 1493c35d236eSmrg -none) 1494c35d236eSmrg ;; 1495c35d236eSmrg *) 1496c35d236eSmrg # Get rid of the `-' at the beginning of $os. 1497c35d236eSmrg os=`echo $os | sed 's/[^-]*-//'` 1498c35d236eSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1499c35d236eSmrg exit 1 1500c35d236eSmrg ;; 1501c35d236eSmrgesac 1502c35d236eSmrgelse 1503c35d236eSmrg 1504c35d236eSmrg# Here we handle the default operating systems that come with various machines. 1505c35d236eSmrg# The value should be what the vendor currently ships out the door with their 1506c35d236eSmrg# machine or put another way, the most popular os provided with the machine. 1507c35d236eSmrg 1508c35d236eSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1509c35d236eSmrg# "-sun"), then you have to tell the case statement up towards the top 1510c35d236eSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1511c35d236eSmrg# will signal an error saying that MANUFACTURER isn't an operating 1512c35d236eSmrg# system, and we'll never get to this point. 1513c35d236eSmrg 1514c35d236eSmrgcase $basic_machine in 15151fb744b4Smrg score-*) 15164f6cd06fSmrg os=-elf 15174f6cd06fSmrg ;; 15181fb744b4Smrg spu-*) 15194f6cd06fSmrg os=-elf 15204f6cd06fSmrg ;; 1521c35d236eSmrg *-acorn) 1522c35d236eSmrg os=-riscix1.2 1523c35d236eSmrg ;; 1524c35d236eSmrg arm*-rebel) 1525c35d236eSmrg os=-linux 1526c35d236eSmrg ;; 1527c35d236eSmrg arm*-semi) 1528c35d236eSmrg os=-aout 1529c35d236eSmrg ;; 15301fb744b4Smrg c4x-* | tic4x-*) 15311fb744b4Smrg os=-coff 15321fb744b4Smrg ;; 15331fb744b4Smrg tic54x-*) 15341fb744b4Smrg os=-coff 15351fb744b4Smrg ;; 15361fb744b4Smrg tic55x-*) 15371fb744b4Smrg os=-coff 15381fb744b4Smrg ;; 15391fb744b4Smrg tic6x-*) 15401fb744b4Smrg os=-coff 1541c35d236eSmrg ;; 1542c35d236eSmrg # This must come before the *-dec entry. 1543c35d236eSmrg pdp10-*) 1544c35d236eSmrg os=-tops20 1545c35d236eSmrg ;; 1546c35d236eSmrg pdp11-*) 1547c35d236eSmrg os=-none 1548c35d236eSmrg ;; 1549c35d236eSmrg *-dec | vax-*) 1550c35d236eSmrg os=-ultrix4.2 1551c35d236eSmrg ;; 1552c35d236eSmrg m68*-apollo) 1553c35d236eSmrg os=-domain 1554c35d236eSmrg ;; 1555c35d236eSmrg i386-sun) 1556c35d236eSmrg os=-sunos4.0.2 1557c35d236eSmrg ;; 1558c35d236eSmrg m68000-sun) 1559c35d236eSmrg os=-sunos3 1560c35d236eSmrg ;; 1561c35d236eSmrg m68*-cisco) 1562c35d236eSmrg os=-aout 1563c35d236eSmrg ;; 15641fb744b4Smrg mep-*) 1565f55e6a01Smrg os=-elf 1566f55e6a01Smrg ;; 1567c35d236eSmrg mips*-cisco) 1568c35d236eSmrg os=-elf 1569c35d236eSmrg ;; 1570c35d236eSmrg mips*-*) 1571c35d236eSmrg os=-elf 1572c35d236eSmrg ;; 1573c35d236eSmrg or32-*) 1574c35d236eSmrg os=-coff 1575c35d236eSmrg ;; 1576c35d236eSmrg *-tti) # must be before sparc entry or we get the wrong os. 1577c35d236eSmrg os=-sysv3 1578c35d236eSmrg ;; 1579c35d236eSmrg sparc-* | *-sun) 1580c35d236eSmrg os=-sunos4.1.1 1581c35d236eSmrg ;; 1582c35d236eSmrg *-be) 1583c35d236eSmrg os=-beos 1584c35d236eSmrg ;; 15854f6cd06fSmrg *-haiku) 15864f6cd06fSmrg os=-haiku 15874f6cd06fSmrg ;; 1588c35d236eSmrg *-ibm) 1589c35d236eSmrg os=-aix 1590c35d236eSmrg ;; 15911fb744b4Smrg *-knuth) 15924f6cd06fSmrg os=-mmixware 15934f6cd06fSmrg ;; 1594c35d236eSmrg *-wec) 1595c35d236eSmrg os=-proelf 1596c35d236eSmrg ;; 1597c35d236eSmrg *-winbond) 1598c35d236eSmrg os=-proelf 1599c35d236eSmrg ;; 1600c35d236eSmrg *-oki) 1601c35d236eSmrg os=-proelf 1602c35d236eSmrg ;; 1603c35d236eSmrg *-hp) 1604c35d236eSmrg os=-hpux 1605c35d236eSmrg ;; 1606c35d236eSmrg *-hitachi) 1607c35d236eSmrg os=-hiux 1608c35d236eSmrg ;; 1609c35d236eSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1610c35d236eSmrg os=-sysv 1611c35d236eSmrg ;; 1612c35d236eSmrg *-cbm) 1613c35d236eSmrg os=-amigaos 1614c35d236eSmrg ;; 1615c35d236eSmrg *-dg) 1616c35d236eSmrg os=-dgux 1617c35d236eSmrg ;; 1618c35d236eSmrg *-dolphin) 1619c35d236eSmrg os=-sysv3 1620c35d236eSmrg ;; 1621c35d236eSmrg m68k-ccur) 1622c35d236eSmrg os=-rtu 1623c35d236eSmrg ;; 1624c35d236eSmrg m88k-omron*) 1625c35d236eSmrg os=-luna 1626c35d236eSmrg ;; 1627c35d236eSmrg *-next ) 1628c35d236eSmrg os=-nextstep 1629c35d236eSmrg ;; 1630c35d236eSmrg *-sequent) 1631c35d236eSmrg os=-ptx 1632c35d236eSmrg ;; 1633c35d236eSmrg *-crds) 1634c35d236eSmrg os=-unos 1635c35d236eSmrg ;; 1636c35d236eSmrg *-ns) 1637c35d236eSmrg os=-genix 1638c35d236eSmrg ;; 1639c35d236eSmrg i370-*) 1640c35d236eSmrg os=-mvs 1641c35d236eSmrg ;; 1642c35d236eSmrg *-next) 1643c35d236eSmrg os=-nextstep3 1644c35d236eSmrg ;; 1645c35d236eSmrg *-gould) 1646c35d236eSmrg os=-sysv 1647c35d236eSmrg ;; 1648c35d236eSmrg *-highlevel) 1649c35d236eSmrg os=-bsd 1650c35d236eSmrg ;; 1651c35d236eSmrg *-encore) 1652c35d236eSmrg os=-bsd 1653c35d236eSmrg ;; 1654c35d236eSmrg *-sgi) 1655c35d236eSmrg os=-irix 1656c35d236eSmrg ;; 1657c35d236eSmrg *-siemens) 1658c35d236eSmrg os=-sysv4 1659c35d236eSmrg ;; 1660c35d236eSmrg *-masscomp) 1661c35d236eSmrg os=-rtu 1662c35d236eSmrg ;; 1663c35d236eSmrg f30[01]-fujitsu | f700-fujitsu) 1664c35d236eSmrg os=-uxpv 1665c35d236eSmrg ;; 1666c35d236eSmrg *-rom68k) 1667c35d236eSmrg os=-coff 1668c35d236eSmrg ;; 1669c35d236eSmrg *-*bug) 1670c35d236eSmrg os=-coff 1671c35d236eSmrg ;; 1672c35d236eSmrg *-apple) 1673c35d236eSmrg os=-macos 1674c35d236eSmrg ;; 1675c35d236eSmrg *-atari*) 1676c35d236eSmrg os=-mint 1677c35d236eSmrg ;; 1678c35d236eSmrg *) 1679c35d236eSmrg os=-none 1680c35d236eSmrg ;; 1681c35d236eSmrgesac 1682c35d236eSmrgfi 1683c35d236eSmrg 1684c35d236eSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1685c35d236eSmrg# manufacturer. We pick the logical manufacturer. 1686c35d236eSmrgvendor=unknown 1687c35d236eSmrgcase $basic_machine in 1688c35d236eSmrg *-unknown) 1689c35d236eSmrg case $os in 1690c35d236eSmrg -riscix*) 1691c35d236eSmrg vendor=acorn 1692c35d236eSmrg ;; 1693c35d236eSmrg -sunos*) 1694c35d236eSmrg vendor=sun 1695c35d236eSmrg ;; 16961fb744b4Smrg -cnk*|-aix*) 1697c35d236eSmrg vendor=ibm 1698c35d236eSmrg ;; 1699c35d236eSmrg -beos*) 1700c35d236eSmrg vendor=be 1701c35d236eSmrg ;; 1702c35d236eSmrg -hpux*) 1703c35d236eSmrg vendor=hp 1704c35d236eSmrg ;; 1705c35d236eSmrg -mpeix*) 1706c35d236eSmrg vendor=hp 1707c35d236eSmrg ;; 1708c35d236eSmrg -hiux*) 1709c35d236eSmrg vendor=hitachi 1710c35d236eSmrg ;; 1711c35d236eSmrg -unos*) 1712c35d236eSmrg vendor=crds 1713c35d236eSmrg ;; 1714c35d236eSmrg -dgux*) 1715c35d236eSmrg vendor=dg 1716c35d236eSmrg ;; 1717c35d236eSmrg -luna*) 1718c35d236eSmrg vendor=omron 1719c35d236eSmrg ;; 1720c35d236eSmrg -genix*) 1721c35d236eSmrg vendor=ns 1722c35d236eSmrg ;; 1723c35d236eSmrg -mvs* | -opened*) 1724c35d236eSmrg vendor=ibm 1725c35d236eSmrg ;; 17264f6cd06fSmrg -os400*) 17274f6cd06fSmrg vendor=ibm 17284f6cd06fSmrg ;; 1729c35d236eSmrg -ptx*) 1730c35d236eSmrg vendor=sequent 1731c35d236eSmrg ;; 17324f6cd06fSmrg -tpf*) 17334f6cd06fSmrg vendor=ibm 17344f6cd06fSmrg ;; 1735c35d236eSmrg -vxsim* | -vxworks* | -windiss*) 1736c35d236eSmrg vendor=wrs 1737c35d236eSmrg ;; 1738c35d236eSmrg -aux*) 1739c35d236eSmrg vendor=apple 1740c35d236eSmrg ;; 1741c35d236eSmrg -hms*) 1742c35d236eSmrg vendor=hitachi 1743c35d236eSmrg ;; 1744c35d236eSmrg -mpw* | -macos*) 1745c35d236eSmrg vendor=apple 1746c35d236eSmrg ;; 1747c35d236eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1748c35d236eSmrg vendor=atari 1749c35d236eSmrg ;; 1750c35d236eSmrg -vos*) 1751c35d236eSmrg vendor=stratus 1752c35d236eSmrg ;; 1753c35d236eSmrg esac 1754c35d236eSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1755c35d236eSmrg ;; 1756c35d236eSmrgesac 1757c35d236eSmrg 1758c35d236eSmrgecho $basic_machine$os 17594f6cd06fSmrgexit 1760c35d236eSmrg 1761c35d236eSmrg# Local variables: 1762c35d236eSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1763c35d236eSmrg# time-stamp-start: "timestamp='" 1764c35d236eSmrg# time-stamp-format: "%:y-%02m-%02d" 1765c35d236eSmrg# time-stamp-end: "'" 1766c35d236eSmrg# End: 1767