config.sub revision 4b9470b1
1d983712dSmrg#! /bin/sh 2d983712dSmrg# Configuration validation subroutine script. 3d983712dSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 44b9470b1Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 54b9470b1Smrg# 2011, 2012 Free Software Foundation, Inc. 6d983712dSmrg 74b9470b1Smrgtimestamp='2012-01-01' 8d983712dSmrg 9d983712dSmrg# This file is (in principle) common to ALL GNU software. 10d983712dSmrg# The presence of a machine in this file suggests that SOME GNU software 11d983712dSmrg# can handle that machine. It does not imply ALL GNU software can. 12d983712dSmrg# 13d983712dSmrg# This file is free software; you can redistribute it and/or modify 14d983712dSmrg# it under the terms of the GNU General Public License as published by 15d983712dSmrg# the Free Software Foundation; either version 2 of the License, or 16d983712dSmrg# (at your option) any later version. 17d983712dSmrg# 18d983712dSmrg# This program is distributed in the hope that it will be useful, 19d983712dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20d983712dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21d983712dSmrg# GNU General Public License for more details. 22d983712dSmrg# 23d983712dSmrg# You should have received a copy of the GNU General Public License 24d983712dSmrg# along with this program; if not, write to the Free Software 25962c3257Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 26962c3257Smrg# 02110-1301, USA. 27962c3257Smrg# 28d983712dSmrg# As a special exception to the GNU General Public License, if you 29d983712dSmrg# distribute this file as part of a program that contains a 30d983712dSmrg# configuration script generated by Autoconf, you may include it under 31d983712dSmrg# the same distribution terms that you use for the rest of that program. 32d983712dSmrg 33962c3257Smrg 34d983712dSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 354b9470b1Smrg# diff and a properly formatted GNU ChangeLog entry. 36d983712dSmrg# 37d983712dSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38d983712dSmrg# Supply the specified configuration type as an argument. 39d983712dSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40d983712dSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41d983712dSmrg 424b9470b1Smrg# You can get the latest version of this script from: 434b9470b1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 444b9470b1Smrg 45d983712dSmrg# This file is supposed to be the same for all GNU packages 46d983712dSmrg# and recognize all the CPU types, system types and aliases 47d983712dSmrg# that are meaningful with *any* GNU software. 48d983712dSmrg# Each package is responsible for reporting which valid configurations 49d983712dSmrg# it does not support. The user should be able to distinguish 50d983712dSmrg# a failure to support a valid configuration from a meaningless 51d983712dSmrg# configuration. 52d983712dSmrg 53d983712dSmrg# The goal of this file is to map all the various variations of a given 54d983712dSmrg# machine specification into a single specification in the form: 55d983712dSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56d983712dSmrg# or in some cases, the newer four-part form: 57d983712dSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58d983712dSmrg# It is wrong to echo any other type of specification. 59d983712dSmrg 60d983712dSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61d983712dSmrg 62d983712dSmrgusage="\ 63d983712dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64d983712dSmrg $0 [OPTION] ALIAS 65d983712dSmrg 66d983712dSmrgCanonicalize a configuration name. 67d983712dSmrg 68d983712dSmrgOperation modes: 69d983712dSmrg -h, --help print this help, then exit 70d983712dSmrg -t, --time-stamp print date of last modification, then exit 71d983712dSmrg -v, --version print version number, then exit 72d983712dSmrg 73d983712dSmrgReport bugs and patches to <config-patches@gnu.org>." 74d983712dSmrg 75d983712dSmrgversion="\ 76d983712dSmrgGNU config.sub ($timestamp) 77d983712dSmrg 784b9470b1SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 794b9470b1Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 804b9470b1SmrgFree Software Foundation, Inc. 81d983712dSmrg 82d983712dSmrgThis is free software; see the source for copying conditions. There is NO 83d983712dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84d983712dSmrg 85d983712dSmrghelp=" 86d983712dSmrgTry \`$me --help' for more information." 87d983712dSmrg 88d983712dSmrg# Parse command line 89d983712dSmrgwhile test $# -gt 0 ; do 90d983712dSmrg case $1 in 91d983712dSmrg --time-stamp | --time* | -t ) 92962c3257Smrg echo "$timestamp" ; exit ;; 93d983712dSmrg --version | -v ) 94962c3257Smrg echo "$version" ; exit ;; 95d983712dSmrg --help | --h* | -h ) 96962c3257Smrg echo "$usage"; exit ;; 97d983712dSmrg -- ) # Stop option processing 98d983712dSmrg shift; break ;; 99d983712dSmrg - ) # Use stdin as input. 100d983712dSmrg break ;; 101d983712dSmrg -* ) 102d983712dSmrg echo "$me: invalid option $1$help" 103d983712dSmrg exit 1 ;; 104d983712dSmrg 105d983712dSmrg *local*) 106d983712dSmrg # First pass through any local machine types. 107d983712dSmrg echo $1 108962c3257Smrg exit ;; 109d983712dSmrg 110d983712dSmrg * ) 111d983712dSmrg break ;; 112d983712dSmrg esac 113d983712dSmrgdone 114d983712dSmrg 115d983712dSmrgcase $# in 116d983712dSmrg 0) echo "$me: missing argument$help" >&2 117d983712dSmrg exit 1;; 118d983712dSmrg 1) ;; 119d983712dSmrg *) echo "$me: too many arguments$help" >&2 120d983712dSmrg exit 1;; 121d983712dSmrgesac 122d983712dSmrg 123d983712dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124d983712dSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125d983712dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126d983712dSmrgcase $maybe_os in 1274b9470b1Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1284b9470b1Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1294b9470b1Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 1304b9470b1Smrg kopensolaris*-gnu* | \ 131962c3257Smrg storm-chaos* | os2-emx* | rtmk-nova*) 132d983712dSmrg os=-$maybe_os 133d983712dSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134d983712dSmrg ;; 135d983712dSmrg *) 136d983712dSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137d983712dSmrg if [ $basic_machine != $1 ] 138d983712dSmrg then os=`echo $1 | sed 's/.*-/-/'` 139d983712dSmrg else os=; fi 140d983712dSmrg ;; 141d983712dSmrgesac 142d983712dSmrg 143d983712dSmrg### Let's recognize common machines as not being operating systems so 144d983712dSmrg### that things like config.sub decstation-3100 work. We also 145d983712dSmrg### recognize some manufacturers as not being operating systems, so we 146d983712dSmrg### can provide default operating systems below. 147d983712dSmrgcase $os in 148d983712dSmrg -sun*os*) 149d983712dSmrg # Prevent following clause from handling this invalid input. 150d983712dSmrg ;; 151d983712dSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152d983712dSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153d983712dSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154d983712dSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155d983712dSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156d983712dSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1574b9470b1Smrg -apple | -axis | -knuth | -cray | -microblaze) 158d983712dSmrg os= 159d983712dSmrg basic_machine=$1 160d983712dSmrg ;; 1614b9470b1Smrg -bluegene*) 1624b9470b1Smrg os=-cnk 1634b9470b1Smrg ;; 164d983712dSmrg -sim | -cisco | -oki | -wec | -winbond) 165d983712dSmrg os= 166d983712dSmrg basic_machine=$1 167d983712dSmrg ;; 168d983712dSmrg -scout) 169d983712dSmrg ;; 170d983712dSmrg -wrs) 171d983712dSmrg os=-vxworks 172d983712dSmrg basic_machine=$1 173d983712dSmrg ;; 174d983712dSmrg -chorusos*) 175d983712dSmrg os=-chorusos 176d983712dSmrg basic_machine=$1 177d983712dSmrg ;; 1784b9470b1Smrg -chorusrdb) 1794b9470b1Smrg os=-chorusrdb 180d983712dSmrg basic_machine=$1 1814b9470b1Smrg ;; 182d983712dSmrg -hiux*) 183d983712dSmrg os=-hiuxwe2 184d983712dSmrg ;; 185962c3257Smrg -sco6) 186962c3257Smrg os=-sco5v6 187962c3257Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 188962c3257Smrg ;; 189d983712dSmrg -sco5) 190d983712dSmrg os=-sco3.2v5 191d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192d983712dSmrg ;; 193d983712dSmrg -sco4) 194d983712dSmrg os=-sco3.2v4 195d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196d983712dSmrg ;; 197d983712dSmrg -sco3.2.[4-9]*) 198d983712dSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200d983712dSmrg ;; 201d983712dSmrg -sco3.2v[4-9]*) 202d983712dSmrg # Don't forget version if it is 3.2v4 or newer. 203d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204d983712dSmrg ;; 205962c3257Smrg -sco5v6*) 206962c3257Smrg # Don't forget version if it is 3.2v4 or newer. 207962c3257Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 208962c3257Smrg ;; 209d983712dSmrg -sco*) 210d983712dSmrg os=-sco3.2v2 211d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212d983712dSmrg ;; 213d983712dSmrg -udk*) 214d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215d983712dSmrg ;; 216d983712dSmrg -isc) 217d983712dSmrg os=-isc2.2 218d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219d983712dSmrg ;; 220d983712dSmrg -clix*) 221d983712dSmrg basic_machine=clipper-intergraph 222d983712dSmrg ;; 223d983712dSmrg -isc*) 224d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225d983712dSmrg ;; 226d983712dSmrg -lynx*) 227d983712dSmrg os=-lynxos 228d983712dSmrg ;; 229d983712dSmrg -ptx*) 230d983712dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231d983712dSmrg ;; 232d983712dSmrg -windowsnt*) 233d983712dSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234d983712dSmrg ;; 235d983712dSmrg -psos*) 236d983712dSmrg os=-psos 237d983712dSmrg ;; 238d983712dSmrg -mint | -mint[0-9]*) 239d983712dSmrg basic_machine=m68k-atari 240d983712dSmrg os=-mint 241d983712dSmrg ;; 242d983712dSmrgesac 243d983712dSmrg 244d983712dSmrg# Decode aliases for certain CPU-COMPANY combinations. 245d983712dSmrgcase $basic_machine in 246d983712dSmrg # Recognize the basic CPU types without company name. 247d983712dSmrg # Some are omitted here because they have special meanings below. 248d983712dSmrg 1750a | 580 \ 249d983712dSmrg | a29k \ 250d983712dSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251d983712dSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 252962c3257Smrg | am33_2.0 \ 253962c3257Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2544b9470b1Smrg | be32 | be64 \ 255962c3257Smrg | bfin \ 256d983712dSmrg | c4x | clipper \ 257d983712dSmrg | d10v | d30v | dlx | dsp16xx \ 2584b9470b1Smrg | epiphany \ 259962c3257Smrg | fido | fr30 | frv \ 260d983712dSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2614b9470b1Smrg | hexagon \ 262d983712dSmrg | i370 | i860 | i960 | ia64 \ 263962c3257Smrg | ip2k | iq2000 \ 2644b9470b1Smrg | le32 | le64 \ 2654b9470b1Smrg | lm32 \ 266962c3257Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2674b9470b1Smrg | maxq | mb | microblaze | mcore | mep | metag \ 268d983712dSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 269d983712dSmrg | mips16 \ 270d983712dSmrg | mips64 | mips64el \ 2714b9470b1Smrg | mips64octeon | mips64octeonel \ 272d03ff4acSmrg | mips64orion | mips64orionel \ 2734b9470b1Smrg | mips64r5900 | mips64r5900el \ 2744b9470b1Smrg | mips64vr | mips64vrel \ 275d983712dSmrg | mips64vr4100 | mips64vr4100el \ 276d983712dSmrg | mips64vr4300 | mips64vr4300el \ 277d983712dSmrg | mips64vr5000 | mips64vr5000el \ 278962c3257Smrg | mips64vr5900 | mips64vr5900el \ 279d983712dSmrg | mipsisa32 | mipsisa32el \ 280d983712dSmrg | mipsisa32r2 | mipsisa32r2el \ 281d983712dSmrg | mipsisa64 | mipsisa64el \ 282962c3257Smrg | mipsisa64r2 | mipsisa64r2el \ 283d983712dSmrg | mipsisa64sb1 | mipsisa64sb1el \ 284d983712dSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 285d983712dSmrg | mipstx39 | mipstx39el \ 286d983712dSmrg | mn10200 | mn10300 \ 2874b9470b1Smrg | moxie \ 288962c3257Smrg | mt \ 289d983712dSmrg | msp430 \ 2904b9470b1Smrg | nds32 | nds32le | nds32be \ 291962c3257Smrg | nios | nios2 \ 292d983712dSmrg | ns16k | ns32k \ 2934b9470b1Smrg | open8 \ 294962c3257Smrg | or32 \ 295d983712dSmrg | pdp10 | pdp11 | pj | pjl \ 2964b9470b1Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 297d983712dSmrg | pyramid \ 2984b9470b1Smrg | rl78 | rx \ 299962c3257Smrg | score \ 3004b9470b1Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301d983712dSmrg | sh64 | sh64le \ 302962c3257Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 303962c3257Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3044b9470b1Smrg | spu \ 3054b9470b1Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3064b9470b1Smrg | ubicom32 \ 3074b9470b1Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308d983712dSmrg | we32k \ 3094b9470b1Smrg | x86 | xc16x | xstormy16 | xtensa \ 3104b9470b1Smrg | z8k | z80) 311d983712dSmrg basic_machine=$basic_machine-unknown 312d983712dSmrg ;; 3134b9470b1Smrg c54x) 3144b9470b1Smrg basic_machine=tic54x-unknown 3154b9470b1Smrg ;; 3164b9470b1Smrg c55x) 3174b9470b1Smrg basic_machine=tic55x-unknown 3184b9470b1Smrg ;; 3194b9470b1Smrg c6x) 3204b9470b1Smrg basic_machine=tic6x-unknown 3214b9470b1Smrg ;; 3224b9470b1Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323d983712dSmrg basic_machine=$basic_machine-unknown 324d983712dSmrg os=-none 325d983712dSmrg ;; 326d983712dSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 327d983712dSmrg ;; 328962c3257Smrg ms1) 329962c3257Smrg basic_machine=mt-unknown 330962c3257Smrg ;; 331d983712dSmrg 3324b9470b1Smrg strongarm | thumb | xscale) 3334b9470b1Smrg basic_machine=arm-unknown 3344b9470b1Smrg ;; 3354b9470b1Smrg 3364b9470b1Smrg xscaleeb) 3374b9470b1Smrg basic_machine=armeb-unknown 3384b9470b1Smrg ;; 3394b9470b1Smrg 3404b9470b1Smrg xscaleel) 3414b9470b1Smrg basic_machine=armel-unknown 3424b9470b1Smrg ;; 3434b9470b1Smrg 344d983712dSmrg # We use `pc' rather than `unknown' 345d983712dSmrg # because (1) that's what they normally are, and 346d983712dSmrg # (2) the word "unknown" tends to confuse beginning users. 347d983712dSmrg i*86 | x86_64) 348d983712dSmrg basic_machine=$basic_machine-pc 349d983712dSmrg ;; 350d983712dSmrg # Object if more than one company name word. 351d983712dSmrg *-*-*) 352d983712dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 353d983712dSmrg exit 1 354d983712dSmrg ;; 355d983712dSmrg # Recognize the basic CPU types with company name. 356d983712dSmrg 580-* \ 357d983712dSmrg | a29k-* \ 358d983712dSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 359d983712dSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 360d983712dSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 361d983712dSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 362962c3257Smrg | avr-* | avr32-* \ 3634b9470b1Smrg | be32-* | be64-* \ 364962c3257Smrg | bfin-* | bs2000-* \ 3654b9470b1Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 366962c3257Smrg | clipper-* | craynv-* | cydra-* \ 367d983712dSmrg | d10v-* | d30v-* | dlx-* \ 368d983712dSmrg | elxsi-* \ 369962c3257Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 370d983712dSmrg | h8300-* | h8500-* \ 371d983712dSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3724b9470b1Smrg | hexagon-* \ 373d983712dSmrg | i*86-* | i860-* | i960-* | ia64-* \ 374962c3257Smrg | ip2k-* | iq2000-* \ 3754b9470b1Smrg | le32-* | le64-* \ 3764b9470b1Smrg | lm32-* \ 377962c3257Smrg | m32c-* | m32r-* | m32rle-* \ 378d983712dSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3794b9470b1Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 380d983712dSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 381d983712dSmrg | mips16-* \ 382d983712dSmrg | mips64-* | mips64el-* \ 3834b9470b1Smrg | mips64octeon-* | mips64octeonel-* \ 384d03ff4acSmrg | mips64orion-* | mips64orionel-* \ 3854b9470b1Smrg | mips64r5900-* | mips64r5900el-* \ 3864b9470b1Smrg | mips64vr-* | mips64vrel-* \ 387d983712dSmrg | mips64vr4100-* | mips64vr4100el-* \ 388d983712dSmrg | mips64vr4300-* | mips64vr4300el-* \ 389d983712dSmrg | mips64vr5000-* | mips64vr5000el-* \ 390962c3257Smrg | mips64vr5900-* | mips64vr5900el-* \ 391d983712dSmrg | mipsisa32-* | mipsisa32el-* \ 392d983712dSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 393d983712dSmrg | mipsisa64-* | mipsisa64el-* \ 394962c3257Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 395d983712dSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 396d983712dSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 397d983712dSmrg | mipstx39-* | mipstx39el-* \ 398962c3257Smrg | mmix-* \ 399962c3257Smrg | mt-* \ 400d983712dSmrg | msp430-* \ 4014b9470b1Smrg | nds32-* | nds32le-* | nds32be-* \ 402962c3257Smrg | nios-* | nios2-* \ 403962c3257Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4044b9470b1Smrg | open8-* \ 405d983712dSmrg | orion-* \ 406d983712dSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4074b9470b1Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 408d983712dSmrg | pyramid-* \ 4094b9470b1Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4104b9470b1Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 411d983712dSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 412962c3257Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 413962c3257Smrg | sparclite-* \ 4144b9470b1Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4154b9470b1Smrg | tahoe-* \ 416d03ff4acSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4174b9470b1Smrg | tile*-* \ 418d983712dSmrg | tron-* \ 4194b9470b1Smrg | ubicom32-* \ 4204b9470b1Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4214b9470b1Smrg | vax-* \ 422d983712dSmrg | we32k-* \ 4234b9470b1Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 424962c3257Smrg | xstormy16-* | xtensa*-* \ 425d983712dSmrg | ymp-* \ 4264b9470b1Smrg | z8k-* | z80-*) 427d983712dSmrg ;; 428962c3257Smrg # Recognize the basic CPU types without company name, with glob match. 429962c3257Smrg xtensa*) 430962c3257Smrg basic_machine=$basic_machine-unknown 431962c3257Smrg ;; 432d983712dSmrg # Recognize the various machine names and aliases which stand 433d983712dSmrg # for a CPU type and a company and sometimes even an OS. 434d983712dSmrg 386bsd) 435d983712dSmrg basic_machine=i386-unknown 436d983712dSmrg os=-bsd 437d983712dSmrg ;; 438d983712dSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 439d983712dSmrg basic_machine=m68000-att 440d983712dSmrg ;; 441d983712dSmrg 3b*) 442d983712dSmrg basic_machine=we32k-att 443d983712dSmrg ;; 444d983712dSmrg a29khif) 445d983712dSmrg basic_machine=a29k-amd 446d983712dSmrg os=-udi 447d983712dSmrg ;; 4484b9470b1Smrg abacus) 449962c3257Smrg basic_machine=abacus-unknown 450962c3257Smrg ;; 451d983712dSmrg adobe68k) 452d983712dSmrg basic_machine=m68010-adobe 453d983712dSmrg os=-scout 454d983712dSmrg ;; 455d983712dSmrg alliant | fx80) 456d983712dSmrg basic_machine=fx80-alliant 457d983712dSmrg ;; 458d983712dSmrg altos | altos3068) 459d983712dSmrg basic_machine=m68k-altos 460d983712dSmrg ;; 461d983712dSmrg am29k) 462d983712dSmrg basic_machine=a29k-none 463d983712dSmrg os=-bsd 464d983712dSmrg ;; 465d983712dSmrg amd64) 466d983712dSmrg basic_machine=x86_64-pc 467d983712dSmrg ;; 468962c3257Smrg amd64-*) 469962c3257Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 470962c3257Smrg ;; 471d983712dSmrg amdahl) 472d983712dSmrg basic_machine=580-amdahl 473d983712dSmrg os=-sysv 474d983712dSmrg ;; 475d983712dSmrg amiga | amiga-*) 476d983712dSmrg basic_machine=m68k-unknown 477d983712dSmrg ;; 478d983712dSmrg amigaos | amigados) 479d983712dSmrg basic_machine=m68k-unknown 480d983712dSmrg os=-amigaos 481d983712dSmrg ;; 482d983712dSmrg amigaunix | amix) 483d983712dSmrg basic_machine=m68k-unknown 484d983712dSmrg os=-sysv4 485d983712dSmrg ;; 486d983712dSmrg apollo68) 487d983712dSmrg basic_machine=m68k-apollo 488d983712dSmrg os=-sysv 489d983712dSmrg ;; 490d983712dSmrg apollo68bsd) 491d983712dSmrg basic_machine=m68k-apollo 492d983712dSmrg os=-bsd 493d983712dSmrg ;; 4944b9470b1Smrg aros) 4954b9470b1Smrg basic_machine=i386-pc 4964b9470b1Smrg os=-aros 4974b9470b1Smrg ;; 498d983712dSmrg aux) 499d983712dSmrg basic_machine=m68k-apple 500d983712dSmrg os=-aux 501d983712dSmrg ;; 502d983712dSmrg balance) 503d983712dSmrg basic_machine=ns32k-sequent 504d983712dSmrg os=-dynix 505d983712dSmrg ;; 506962c3257Smrg blackfin) 507962c3257Smrg basic_machine=bfin-unknown 508962c3257Smrg os=-linux 509962c3257Smrg ;; 510962c3257Smrg blackfin-*) 511962c3257Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 512962c3257Smrg os=-linux 513962c3257Smrg ;; 5144b9470b1Smrg bluegene*) 5154b9470b1Smrg basic_machine=powerpc-ibm 5164b9470b1Smrg os=-cnk 5174b9470b1Smrg ;; 5184b9470b1Smrg c54x-*) 5194b9470b1Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5204b9470b1Smrg ;; 5214b9470b1Smrg c55x-*) 5224b9470b1Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5234b9470b1Smrg ;; 5244b9470b1Smrg c6x-*) 5254b9470b1Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5264b9470b1Smrg ;; 527d983712dSmrg c90) 528d983712dSmrg basic_machine=c90-cray 529d983712dSmrg os=-unicos 530d983712dSmrg ;; 5314b9470b1Smrg cegcc) 5324b9470b1Smrg basic_machine=arm-unknown 5334b9470b1Smrg os=-cegcc 5344b9470b1Smrg ;; 535d983712dSmrg convex-c1) 536d983712dSmrg basic_machine=c1-convex 537d983712dSmrg os=-bsd 538d983712dSmrg ;; 539d983712dSmrg convex-c2) 540d983712dSmrg basic_machine=c2-convex 541d983712dSmrg os=-bsd 542d983712dSmrg ;; 543d983712dSmrg convex-c32) 544d983712dSmrg basic_machine=c32-convex 545d983712dSmrg os=-bsd 546d983712dSmrg ;; 547d983712dSmrg convex-c34) 548d983712dSmrg basic_machine=c34-convex 549d983712dSmrg os=-bsd 550d983712dSmrg ;; 551d983712dSmrg convex-c38) 552d983712dSmrg basic_machine=c38-convex 553d983712dSmrg os=-bsd 554d983712dSmrg ;; 555d983712dSmrg cray | j90) 556d983712dSmrg basic_machine=j90-cray 557d983712dSmrg os=-unicos 558d983712dSmrg ;; 559962c3257Smrg craynv) 560962c3257Smrg basic_machine=craynv-cray 561962c3257Smrg os=-unicosmp 562962c3257Smrg ;; 5634b9470b1Smrg cr16 | cr16-*) 564962c3257Smrg basic_machine=cr16-unknown 565962c3257Smrg os=-elf 566962c3257Smrg ;; 567d983712dSmrg crds | unos) 568d983712dSmrg basic_machine=m68k-crds 569d983712dSmrg ;; 570962c3257Smrg crisv32 | crisv32-* | etraxfs*) 571962c3257Smrg basic_machine=crisv32-axis 572962c3257Smrg ;; 573d983712dSmrg cris | cris-* | etrax*) 574d983712dSmrg basic_machine=cris-axis 575d983712dSmrg ;; 576962c3257Smrg crx) 577962c3257Smrg basic_machine=crx-unknown 578962c3257Smrg os=-elf 579962c3257Smrg ;; 580d983712dSmrg da30 | da30-*) 581d983712dSmrg basic_machine=m68k-da30 582d983712dSmrg ;; 583d983712dSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 584d983712dSmrg basic_machine=mips-dec 585d983712dSmrg ;; 586d983712dSmrg decsystem10* | dec10*) 587d983712dSmrg basic_machine=pdp10-dec 588d983712dSmrg os=-tops10 589d983712dSmrg ;; 590d983712dSmrg decsystem20* | dec20*) 591d983712dSmrg basic_machine=pdp10-dec 592d983712dSmrg os=-tops20 593d983712dSmrg ;; 594d983712dSmrg delta | 3300 | motorola-3300 | motorola-delta \ 595d983712dSmrg | 3300-motorola | delta-motorola) 596d983712dSmrg basic_machine=m68k-motorola 597d983712dSmrg ;; 598d983712dSmrg delta88) 599d983712dSmrg basic_machine=m88k-motorola 600d983712dSmrg os=-sysv3 601d983712dSmrg ;; 6024b9470b1Smrg dicos) 6034b9470b1Smrg basic_machine=i686-pc 6044b9470b1Smrg os=-dicos 6054b9470b1Smrg ;; 606962c3257Smrg djgpp) 607962c3257Smrg basic_machine=i586-pc 608962c3257Smrg os=-msdosdjgpp 609962c3257Smrg ;; 610d983712dSmrg dpx20 | dpx20-*) 611d983712dSmrg basic_machine=rs6000-bull 612d983712dSmrg os=-bosx 613d983712dSmrg ;; 614d983712dSmrg dpx2* | dpx2*-bull) 615d983712dSmrg basic_machine=m68k-bull 616d983712dSmrg os=-sysv3 617d983712dSmrg ;; 618d983712dSmrg ebmon29k) 619d983712dSmrg basic_machine=a29k-amd 620d983712dSmrg os=-ebmon 621d983712dSmrg ;; 622d983712dSmrg elxsi) 623d983712dSmrg basic_machine=elxsi-elxsi 624d983712dSmrg os=-bsd 625d983712dSmrg ;; 626d983712dSmrg encore | umax | mmax) 627d983712dSmrg basic_machine=ns32k-encore 628d983712dSmrg ;; 629d983712dSmrg es1800 | OSE68k | ose68k | ose | OSE) 630d983712dSmrg basic_machine=m68k-ericsson 631d983712dSmrg os=-ose 632d983712dSmrg ;; 633d983712dSmrg fx2800) 634d983712dSmrg basic_machine=i860-alliant 635d983712dSmrg ;; 636d983712dSmrg genix) 637d983712dSmrg basic_machine=ns32k-ns 638d983712dSmrg ;; 639d983712dSmrg gmicro) 640d983712dSmrg basic_machine=tron-gmicro 641d983712dSmrg os=-sysv 642d983712dSmrg ;; 643d983712dSmrg go32) 644d983712dSmrg basic_machine=i386-pc 645d983712dSmrg os=-go32 646d983712dSmrg ;; 647d983712dSmrg h3050r* | hiux*) 648d983712dSmrg basic_machine=hppa1.1-hitachi 649d983712dSmrg os=-hiuxwe2 650d983712dSmrg ;; 651d983712dSmrg h8300hms) 652d983712dSmrg basic_machine=h8300-hitachi 653d983712dSmrg os=-hms 654d983712dSmrg ;; 655d983712dSmrg h8300xray) 656d983712dSmrg basic_machine=h8300-hitachi 657d983712dSmrg os=-xray 658d983712dSmrg ;; 659d983712dSmrg h8500hms) 660d983712dSmrg basic_machine=h8500-hitachi 661d983712dSmrg os=-hms 662d983712dSmrg ;; 663d983712dSmrg harris) 664d983712dSmrg basic_machine=m88k-harris 665d983712dSmrg os=-sysv3 666d983712dSmrg ;; 667d983712dSmrg hp300-*) 668d983712dSmrg basic_machine=m68k-hp 669d983712dSmrg ;; 670d983712dSmrg hp300bsd) 671d983712dSmrg basic_machine=m68k-hp 672d983712dSmrg os=-bsd 673d983712dSmrg ;; 674d983712dSmrg hp300hpux) 675d983712dSmrg basic_machine=m68k-hp 676d983712dSmrg os=-hpux 677d983712dSmrg ;; 678d983712dSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 679d983712dSmrg basic_machine=hppa1.0-hp 680d983712dSmrg ;; 681d983712dSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 682d983712dSmrg basic_machine=m68000-hp 683d983712dSmrg ;; 684d983712dSmrg hp9k3[2-9][0-9]) 685d983712dSmrg basic_machine=m68k-hp 686d983712dSmrg ;; 687d983712dSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 688d983712dSmrg basic_machine=hppa1.0-hp 689d983712dSmrg ;; 690d983712dSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 691d983712dSmrg basic_machine=hppa1.1-hp 692d983712dSmrg ;; 693d983712dSmrg hp9k78[0-9] | hp78[0-9]) 694d983712dSmrg # FIXME: really hppa2.0-hp 695d983712dSmrg basic_machine=hppa1.1-hp 696d983712dSmrg ;; 697d983712dSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 698d983712dSmrg # FIXME: really hppa2.0-hp 699d983712dSmrg basic_machine=hppa1.1-hp 700d983712dSmrg ;; 701d983712dSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 702d983712dSmrg basic_machine=hppa1.1-hp 703d983712dSmrg ;; 704d983712dSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 705d983712dSmrg basic_machine=hppa1.0-hp 706d983712dSmrg ;; 707d983712dSmrg hppa-next) 708d983712dSmrg os=-nextstep3 709d983712dSmrg ;; 710d983712dSmrg hppaosf) 711d983712dSmrg basic_machine=hppa1.1-hp 712d983712dSmrg os=-osf 713d983712dSmrg ;; 714d983712dSmrg hppro) 715d983712dSmrg basic_machine=hppa1.1-hp 716d983712dSmrg os=-proelf 717d983712dSmrg ;; 718d983712dSmrg i370-ibm* | ibm*) 719d983712dSmrg basic_machine=i370-ibm 720d983712dSmrg ;; 721d983712dSmrg i*86v32) 722d983712dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 723d983712dSmrg os=-sysv32 724d983712dSmrg ;; 725d983712dSmrg i*86v4*) 726d983712dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 727d983712dSmrg os=-sysv4 728d983712dSmrg ;; 729d983712dSmrg i*86v) 730d983712dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 731d983712dSmrg os=-sysv 732d983712dSmrg ;; 733d983712dSmrg i*86sol2) 734d983712dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 735d983712dSmrg os=-solaris2 736d983712dSmrg ;; 737d983712dSmrg i386mach) 738d983712dSmrg basic_machine=i386-mach 739d983712dSmrg os=-mach 740d983712dSmrg ;; 741d983712dSmrg i386-vsta | vsta) 742d983712dSmrg basic_machine=i386-unknown 743d983712dSmrg os=-vsta 744d983712dSmrg ;; 745d983712dSmrg iris | iris4d) 746d983712dSmrg basic_machine=mips-sgi 747d983712dSmrg case $os in 748d983712dSmrg -irix*) 749d983712dSmrg ;; 750d983712dSmrg *) 751d983712dSmrg os=-irix4 752d983712dSmrg ;; 753d983712dSmrg esac 754d983712dSmrg ;; 755d983712dSmrg isi68 | isi) 756d983712dSmrg basic_machine=m68k-isi 757d983712dSmrg os=-sysv 758d983712dSmrg ;; 759962c3257Smrg m68knommu) 760962c3257Smrg basic_machine=m68k-unknown 761962c3257Smrg os=-linux 762962c3257Smrg ;; 763962c3257Smrg m68knommu-*) 764962c3257Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 765962c3257Smrg os=-linux 766962c3257Smrg ;; 767d983712dSmrg m88k-omron*) 768d983712dSmrg basic_machine=m88k-omron 769d983712dSmrg ;; 770d983712dSmrg magnum | m3230) 771d983712dSmrg basic_machine=mips-mips 772d983712dSmrg os=-sysv 773d983712dSmrg ;; 774d983712dSmrg merlin) 775d983712dSmrg basic_machine=ns32k-utek 776d983712dSmrg os=-sysv 777d983712dSmrg ;; 7784b9470b1Smrg microblaze) 7794b9470b1Smrg basic_machine=microblaze-xilinx 7804b9470b1Smrg ;; 781d983712dSmrg mingw32) 782d983712dSmrg basic_machine=i386-pc 783d983712dSmrg os=-mingw32 784d983712dSmrg ;; 785962c3257Smrg mingw32ce) 786962c3257Smrg basic_machine=arm-unknown 787962c3257Smrg os=-mingw32ce 788962c3257Smrg ;; 789d983712dSmrg miniframe) 790d983712dSmrg basic_machine=m68000-convergent 791d983712dSmrg ;; 792d983712dSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 793d983712dSmrg basic_machine=m68k-atari 794d983712dSmrg os=-mint 795d983712dSmrg ;; 796d983712dSmrg mips3*-*) 797d983712dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 798d983712dSmrg ;; 799d983712dSmrg mips3*) 800d983712dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 801d983712dSmrg ;; 802d983712dSmrg monitor) 803d983712dSmrg basic_machine=m68k-rom68k 804d983712dSmrg os=-coff 805d983712dSmrg ;; 806d983712dSmrg morphos) 807d983712dSmrg basic_machine=powerpc-unknown 808d983712dSmrg os=-morphos 809d983712dSmrg ;; 810d983712dSmrg msdos) 811d983712dSmrg basic_machine=i386-pc 812d983712dSmrg os=-msdos 813d983712dSmrg ;; 814962c3257Smrg ms1-*) 815962c3257Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 816962c3257Smrg ;; 8174b9470b1Smrg msys) 8184b9470b1Smrg basic_machine=i386-pc 8194b9470b1Smrg os=-msys 8204b9470b1Smrg ;; 821d983712dSmrg mvs) 822d983712dSmrg basic_machine=i370-ibm 823d983712dSmrg os=-mvs 824d983712dSmrg ;; 8254b9470b1Smrg nacl) 8264b9470b1Smrg basic_machine=le32-unknown 8274b9470b1Smrg os=-nacl 8284b9470b1Smrg ;; 829d983712dSmrg ncr3000) 830d983712dSmrg basic_machine=i486-ncr 831d983712dSmrg os=-sysv4 832d983712dSmrg ;; 833d983712dSmrg netbsd386) 834d983712dSmrg basic_machine=i386-unknown 835d983712dSmrg os=-netbsd 836d983712dSmrg ;; 837d983712dSmrg netwinder) 838d983712dSmrg basic_machine=armv4l-rebel 839d983712dSmrg os=-linux 840d983712dSmrg ;; 841d983712dSmrg news | news700 | news800 | news900) 842d983712dSmrg basic_machine=m68k-sony 843d983712dSmrg os=-newsos 844d983712dSmrg ;; 845d983712dSmrg news1000) 846d983712dSmrg basic_machine=m68030-sony 847d983712dSmrg os=-newsos 848d983712dSmrg ;; 849d983712dSmrg news-3600 | risc-news) 850d983712dSmrg basic_machine=mips-sony 851d983712dSmrg os=-newsos 852d983712dSmrg ;; 853d983712dSmrg necv70) 854d983712dSmrg basic_machine=v70-nec 855d983712dSmrg os=-sysv 856d983712dSmrg ;; 857d983712dSmrg next | m*-next ) 858d983712dSmrg basic_machine=m68k-next 859d983712dSmrg case $os in 860d983712dSmrg -nextstep* ) 861d983712dSmrg ;; 862d983712dSmrg -ns2*) 863d983712dSmrg os=-nextstep2 864d983712dSmrg ;; 865d983712dSmrg *) 866d983712dSmrg os=-nextstep3 867d983712dSmrg ;; 868d983712dSmrg esac 869d983712dSmrg ;; 870d983712dSmrg nh3000) 871d983712dSmrg basic_machine=m68k-harris 872d983712dSmrg os=-cxux 873d983712dSmrg ;; 874d983712dSmrg nh[45]000) 875d983712dSmrg basic_machine=m88k-harris 876d983712dSmrg os=-cxux 877d983712dSmrg ;; 878d983712dSmrg nindy960) 879d983712dSmrg basic_machine=i960-intel 880d983712dSmrg os=-nindy 881d983712dSmrg ;; 882d983712dSmrg mon960) 883d983712dSmrg basic_machine=i960-intel 884d983712dSmrg os=-mon960 885d983712dSmrg ;; 886d983712dSmrg nonstopux) 887d983712dSmrg basic_machine=mips-compaq 888d983712dSmrg os=-nonstopux 889d983712dSmrg ;; 890d983712dSmrg np1) 891d983712dSmrg basic_machine=np1-gould 892d983712dSmrg ;; 8934b9470b1Smrg neo-tandem) 8944b9470b1Smrg basic_machine=neo-tandem 8954b9470b1Smrg ;; 8964b9470b1Smrg nse-tandem) 8974b9470b1Smrg basic_machine=nse-tandem 8984b9470b1Smrg ;; 899d983712dSmrg nsr-tandem) 900d983712dSmrg basic_machine=nsr-tandem 901d983712dSmrg ;; 902d983712dSmrg op50n-* | op60c-*) 903d983712dSmrg basic_machine=hppa1.1-oki 904d983712dSmrg os=-proelf 905d983712dSmrg ;; 906962c3257Smrg openrisc | openrisc-*) 907d983712dSmrg basic_machine=or32-unknown 908962c3257Smrg ;; 909962c3257Smrg os400) 910962c3257Smrg basic_machine=powerpc-ibm 911962c3257Smrg os=-os400 912d983712dSmrg ;; 913d983712dSmrg OSE68000 | ose68000) 914d983712dSmrg basic_machine=m68000-ericsson 915d983712dSmrg os=-ose 916d983712dSmrg ;; 917d983712dSmrg os68k) 918d983712dSmrg basic_machine=m68k-none 919d983712dSmrg os=-os68k 920d983712dSmrg ;; 921d983712dSmrg pa-hitachi) 922d983712dSmrg basic_machine=hppa1.1-hitachi 923d983712dSmrg os=-hiuxwe2 924d983712dSmrg ;; 925d983712dSmrg paragon) 926d983712dSmrg basic_machine=i860-intel 927d983712dSmrg os=-osf 928d983712dSmrg ;; 929962c3257Smrg parisc) 930962c3257Smrg basic_machine=hppa-unknown 931962c3257Smrg os=-linux 932962c3257Smrg ;; 933962c3257Smrg parisc-*) 934962c3257Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 935962c3257Smrg os=-linux 936962c3257Smrg ;; 937d983712dSmrg pbd) 938d983712dSmrg basic_machine=sparc-tti 939d983712dSmrg ;; 940d983712dSmrg pbb) 941d983712dSmrg basic_machine=m68k-tti 942d983712dSmrg ;; 943d983712dSmrg pc532 | pc532-*) 944d983712dSmrg basic_machine=ns32k-pc532 945d983712dSmrg ;; 946962c3257Smrg pc98) 947962c3257Smrg basic_machine=i386-pc 948962c3257Smrg ;; 949962c3257Smrg pc98-*) 950962c3257Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 951962c3257Smrg ;; 952d983712dSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 953d983712dSmrg basic_machine=i586-pc 954d983712dSmrg ;; 955d983712dSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 956d983712dSmrg basic_machine=i686-pc 957d983712dSmrg ;; 958d983712dSmrg pentiumii | pentium2 | pentiumiii | pentium3) 959d983712dSmrg basic_machine=i686-pc 960d983712dSmrg ;; 961d983712dSmrg pentium4) 962d983712dSmrg basic_machine=i786-pc 963d983712dSmrg ;; 964d983712dSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 965d983712dSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 966d983712dSmrg ;; 967d983712dSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 968d983712dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 969d983712dSmrg ;; 970d983712dSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 971d983712dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 972d983712dSmrg ;; 973d983712dSmrg pentium4-*) 974d983712dSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 975d983712dSmrg ;; 976d983712dSmrg pn) 977d983712dSmrg basic_machine=pn-gould 978d983712dSmrg ;; 979d983712dSmrg power) basic_machine=power-ibm 980d983712dSmrg ;; 9814b9470b1Smrg ppc | ppcbe) basic_machine=powerpc-unknown 982d983712dSmrg ;; 9834b9470b1Smrg ppc-* | ppcbe-*) 9844b9470b1Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 985d983712dSmrg ;; 986d983712dSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 987d983712dSmrg basic_machine=powerpcle-unknown 988d983712dSmrg ;; 989d983712dSmrg ppcle-* | powerpclittle-*) 990d983712dSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 991d983712dSmrg ;; 992d983712dSmrg ppc64) basic_machine=powerpc64-unknown 993d983712dSmrg ;; 994d983712dSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 995d983712dSmrg ;; 996d983712dSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 997d983712dSmrg basic_machine=powerpc64le-unknown 998d983712dSmrg ;; 999d983712dSmrg ppc64le-* | powerpc64little-*) 1000d983712dSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1001d983712dSmrg ;; 1002d983712dSmrg ps2) 1003d983712dSmrg basic_machine=i386-ibm 1004d983712dSmrg ;; 1005d983712dSmrg pw32) 1006d983712dSmrg basic_machine=i586-unknown 1007d983712dSmrg os=-pw32 1008d983712dSmrg ;; 1009962c3257Smrg rdos) 1010962c3257Smrg basic_machine=i386-pc 1011962c3257Smrg os=-rdos 1012962c3257Smrg ;; 1013d983712dSmrg rom68k) 1014d983712dSmrg basic_machine=m68k-rom68k 1015d983712dSmrg os=-coff 1016d983712dSmrg ;; 1017d983712dSmrg rm[46]00) 1018d983712dSmrg basic_machine=mips-siemens 1019d983712dSmrg ;; 1020d983712dSmrg rtpc | rtpc-*) 1021d983712dSmrg basic_machine=romp-ibm 1022d983712dSmrg ;; 1023962c3257Smrg s390 | s390-*) 1024962c3257Smrg basic_machine=s390-ibm 1025962c3257Smrg ;; 1026962c3257Smrg s390x | s390x-*) 1027962c3257Smrg basic_machine=s390x-ibm 1028962c3257Smrg ;; 1029d983712dSmrg sa29200) 1030d983712dSmrg basic_machine=a29k-amd 1031d983712dSmrg os=-udi 1032d983712dSmrg ;; 1033d983712dSmrg sb1) 1034d983712dSmrg basic_machine=mipsisa64sb1-unknown 1035d983712dSmrg ;; 1036d983712dSmrg sb1el) 1037d983712dSmrg basic_machine=mipsisa64sb1el-unknown 1038d983712dSmrg ;; 1039962c3257Smrg sde) 1040962c3257Smrg basic_machine=mipsisa32-sde 1041962c3257Smrg os=-elf 1042962c3257Smrg ;; 1043d983712dSmrg sei) 1044d983712dSmrg basic_machine=mips-sei 1045d983712dSmrg os=-seiux 1046d983712dSmrg ;; 1047d983712dSmrg sequent) 1048d983712dSmrg basic_machine=i386-sequent 1049d983712dSmrg ;; 1050d983712dSmrg sh) 1051d983712dSmrg basic_machine=sh-hitachi 1052d983712dSmrg os=-hms 1053d983712dSmrg ;; 1054962c3257Smrg sh5el) 1055962c3257Smrg basic_machine=sh5le-unknown 1056962c3257Smrg ;; 1057d983712dSmrg sh64) 1058d983712dSmrg basic_machine=sh64-unknown 1059d983712dSmrg ;; 1060d983712dSmrg sparclite-wrs | simso-wrs) 1061d983712dSmrg basic_machine=sparclite-wrs 1062d983712dSmrg os=-vxworks 1063d983712dSmrg ;; 1064d983712dSmrg sps7) 1065d983712dSmrg basic_machine=m68k-bull 1066d983712dSmrg os=-sysv2 1067d983712dSmrg ;; 1068d983712dSmrg spur) 1069d983712dSmrg basic_machine=spur-unknown 1070d983712dSmrg ;; 1071d983712dSmrg st2000) 1072d983712dSmrg basic_machine=m68k-tandem 1073d983712dSmrg ;; 1074d983712dSmrg stratus) 1075d983712dSmrg basic_machine=i860-stratus 1076d983712dSmrg os=-sysv4 1077d983712dSmrg ;; 10784b9470b1Smrg strongarm-* | thumb-*) 10794b9470b1Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 10804b9470b1Smrg ;; 1081d983712dSmrg sun2) 1082d983712dSmrg basic_machine=m68000-sun 1083d983712dSmrg ;; 1084d983712dSmrg sun2os3) 1085d983712dSmrg basic_machine=m68000-sun 1086d983712dSmrg os=-sunos3 1087d983712dSmrg ;; 1088d983712dSmrg sun2os4) 1089d983712dSmrg basic_machine=m68000-sun 1090d983712dSmrg os=-sunos4 1091d983712dSmrg ;; 1092d983712dSmrg sun3os3) 1093d983712dSmrg basic_machine=m68k-sun 1094d983712dSmrg os=-sunos3 1095d983712dSmrg ;; 1096d983712dSmrg sun3os4) 1097d983712dSmrg basic_machine=m68k-sun 1098d983712dSmrg os=-sunos4 1099d983712dSmrg ;; 1100d983712dSmrg sun4os3) 1101d983712dSmrg basic_machine=sparc-sun 1102d983712dSmrg os=-sunos3 1103d983712dSmrg ;; 1104d983712dSmrg sun4os4) 1105d983712dSmrg basic_machine=sparc-sun 1106d983712dSmrg os=-sunos4 1107d983712dSmrg ;; 1108d983712dSmrg sun4sol2) 1109d983712dSmrg basic_machine=sparc-sun 1110d983712dSmrg os=-solaris2 1111d983712dSmrg ;; 1112d983712dSmrg sun3 | sun3-*) 1113d983712dSmrg basic_machine=m68k-sun 1114d983712dSmrg ;; 1115d983712dSmrg sun4) 1116d983712dSmrg basic_machine=sparc-sun 1117d983712dSmrg ;; 1118d983712dSmrg sun386 | sun386i | roadrunner) 1119d983712dSmrg basic_machine=i386-sun 1120d983712dSmrg ;; 1121d983712dSmrg sv1) 1122d983712dSmrg basic_machine=sv1-cray 1123d983712dSmrg os=-unicos 1124d983712dSmrg ;; 1125d983712dSmrg symmetry) 1126d983712dSmrg basic_machine=i386-sequent 1127d983712dSmrg os=-dynix 1128d983712dSmrg ;; 1129d983712dSmrg t3e) 1130d983712dSmrg basic_machine=alphaev5-cray 1131d983712dSmrg os=-unicos 1132d983712dSmrg ;; 1133d983712dSmrg t90) 1134d983712dSmrg basic_machine=t90-cray 1135d983712dSmrg os=-unicos 1136d983712dSmrg ;; 1137962c3257Smrg tile*) 11384b9470b1Smrg basic_machine=$basic_machine-unknown 1139962c3257Smrg os=-linux-gnu 1140962c3257Smrg ;; 1141d983712dSmrg tx39) 1142d983712dSmrg basic_machine=mipstx39-unknown 1143d983712dSmrg ;; 1144d983712dSmrg tx39el) 1145d983712dSmrg basic_machine=mipstx39el-unknown 1146d983712dSmrg ;; 1147d983712dSmrg toad1) 1148d983712dSmrg basic_machine=pdp10-xkl 1149d983712dSmrg os=-tops20 1150d983712dSmrg ;; 1151d983712dSmrg tower | tower-32) 1152d983712dSmrg basic_machine=m68k-ncr 1153d983712dSmrg ;; 1154962c3257Smrg tpf) 1155962c3257Smrg basic_machine=s390x-ibm 1156962c3257Smrg os=-tpf 1157962c3257Smrg ;; 1158d983712dSmrg udi29k) 1159d983712dSmrg basic_machine=a29k-amd 1160d983712dSmrg os=-udi 1161d983712dSmrg ;; 1162d983712dSmrg ultra3) 1163d983712dSmrg basic_machine=a29k-nyu 1164d983712dSmrg os=-sym1 1165d983712dSmrg ;; 1166d983712dSmrg v810 | necv810) 1167d983712dSmrg basic_machine=v810-nec 1168d983712dSmrg os=-none 1169d983712dSmrg ;; 1170d983712dSmrg vaxv) 1171d983712dSmrg basic_machine=vax-dec 1172d983712dSmrg os=-sysv 1173d983712dSmrg ;; 1174d983712dSmrg vms) 1175d983712dSmrg basic_machine=vax-dec 1176d983712dSmrg os=-vms 1177d983712dSmrg ;; 1178d983712dSmrg vpp*|vx|vx-*) 1179d983712dSmrg basic_machine=f301-fujitsu 1180d983712dSmrg ;; 1181d983712dSmrg vxworks960) 1182d983712dSmrg basic_machine=i960-wrs 1183d983712dSmrg os=-vxworks 1184d983712dSmrg ;; 1185d983712dSmrg vxworks68) 1186d983712dSmrg basic_machine=m68k-wrs 1187d983712dSmrg os=-vxworks 1188d983712dSmrg ;; 1189d983712dSmrg vxworks29k) 1190d983712dSmrg basic_machine=a29k-wrs 1191d983712dSmrg os=-vxworks 1192d983712dSmrg ;; 1193d983712dSmrg w65*) 1194d983712dSmrg basic_machine=w65-wdc 1195d983712dSmrg os=-none 1196d983712dSmrg ;; 1197d983712dSmrg w89k-*) 1198d983712dSmrg basic_machine=hppa1.1-winbond 1199d983712dSmrg os=-proelf 1200d983712dSmrg ;; 1201962c3257Smrg xbox) 1202962c3257Smrg basic_machine=i686-pc 1203962c3257Smrg os=-mingw32 1204962c3257Smrg ;; 1205d983712dSmrg xps | xps100) 1206d983712dSmrg basic_machine=xps100-honeywell 1207d983712dSmrg ;; 12084b9470b1Smrg xscale-* | xscalee[bl]-*) 12094b9470b1Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12104b9470b1Smrg ;; 1211d983712dSmrg ymp) 1212d983712dSmrg basic_machine=ymp-cray 1213d983712dSmrg os=-unicos 1214d983712dSmrg ;; 1215d983712dSmrg z8k-*-coff) 1216d983712dSmrg basic_machine=z8k-unknown 1217d983712dSmrg os=-sim 1218d983712dSmrg ;; 12194b9470b1Smrg z80-*-coff) 12204b9470b1Smrg basic_machine=z80-unknown 12214b9470b1Smrg os=-sim 12224b9470b1Smrg ;; 1223d983712dSmrg none) 1224d983712dSmrg basic_machine=none-none 1225d983712dSmrg os=-none 1226d983712dSmrg ;; 1227d983712dSmrg 1228d983712dSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1229d983712dSmrg# some cases the only manufacturer, in others, it is the most popular. 1230d983712dSmrg w89k) 1231d983712dSmrg basic_machine=hppa1.1-winbond 1232d983712dSmrg ;; 1233d983712dSmrg op50n) 1234d983712dSmrg basic_machine=hppa1.1-oki 1235d983712dSmrg ;; 1236d983712dSmrg op60c) 1237d983712dSmrg basic_machine=hppa1.1-oki 1238d983712dSmrg ;; 1239d983712dSmrg romp) 1240d983712dSmrg basic_machine=romp-ibm 1241d983712dSmrg ;; 1242962c3257Smrg mmix) 1243962c3257Smrg basic_machine=mmix-knuth 1244962c3257Smrg ;; 1245d983712dSmrg rs6000) 1246d983712dSmrg basic_machine=rs6000-ibm 1247d983712dSmrg ;; 1248d983712dSmrg vax) 1249d983712dSmrg basic_machine=vax-dec 1250d983712dSmrg ;; 1251d983712dSmrg pdp10) 1252d983712dSmrg # there are many clones, so DEC is not a safe bet 1253d983712dSmrg basic_machine=pdp10-unknown 1254d983712dSmrg ;; 1255d983712dSmrg pdp11) 1256d983712dSmrg basic_machine=pdp11-dec 1257d983712dSmrg ;; 1258d983712dSmrg we32k) 1259d983712dSmrg basic_machine=we32k-att 1260d983712dSmrg ;; 12614b9470b1Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1262d983712dSmrg basic_machine=sh-unknown 1263d983712dSmrg ;; 1264962c3257Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1265d983712dSmrg basic_machine=sparc-sun 1266d983712dSmrg ;; 1267d983712dSmrg cydra) 1268d983712dSmrg basic_machine=cydra-cydrome 1269d983712dSmrg ;; 1270d983712dSmrg orion) 1271d983712dSmrg basic_machine=orion-highlevel 1272d983712dSmrg ;; 1273d983712dSmrg orion105) 1274d983712dSmrg basic_machine=clipper-highlevel 1275d983712dSmrg ;; 1276d983712dSmrg mac | mpw | mac-mpw) 1277d983712dSmrg basic_machine=m68k-apple 1278d983712dSmrg ;; 1279d983712dSmrg pmac | pmac-mpw) 1280d983712dSmrg basic_machine=powerpc-apple 1281d983712dSmrg ;; 1282d983712dSmrg *-unknown) 1283d983712dSmrg # Make sure to match an already-canonicalized machine name. 1284d983712dSmrg ;; 1285d983712dSmrg *) 1286d983712dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1287d983712dSmrg exit 1 1288d983712dSmrg ;; 1289d983712dSmrgesac 1290d983712dSmrg 1291d983712dSmrg# Here we canonicalize certain aliases for manufacturers. 1292d983712dSmrgcase $basic_machine in 1293d983712dSmrg *-digital*) 1294d983712dSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1295d983712dSmrg ;; 1296d983712dSmrg *-commodore*) 1297d983712dSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1298d983712dSmrg ;; 1299d983712dSmrg *) 1300d983712dSmrg ;; 1301d983712dSmrgesac 1302d983712dSmrg 1303d983712dSmrg# Decode manufacturer-specific aliases for certain operating systems. 1304d983712dSmrg 1305d983712dSmrgif [ x"$os" != x"" ] 1306d983712dSmrgthen 1307d983712dSmrgcase $os in 13084b9470b1Smrg # First match some system type aliases 13094b9470b1Smrg # that might get confused with valid system types. 1310d983712dSmrg # -solaris* is a basic system type, with this one exception. 13114b9470b1Smrg -auroraux) 13124b9470b1Smrg os=-auroraux 13134b9470b1Smrg ;; 1314d983712dSmrg -solaris1 | -solaris1.*) 1315d983712dSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1316d983712dSmrg ;; 1317d983712dSmrg -solaris) 1318d983712dSmrg os=-solaris2 1319d983712dSmrg ;; 1320d983712dSmrg -svr4*) 1321d983712dSmrg os=-sysv4 1322d983712dSmrg ;; 1323d983712dSmrg -unixware*) 1324d983712dSmrg os=-sysv4.2uw 1325d983712dSmrg ;; 1326d983712dSmrg -gnu/linux*) 1327d983712dSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1328d983712dSmrg ;; 1329d983712dSmrg # First accept the basic system types. 1330d983712dSmrg # The portable systems comes first. 1331d983712dSmrg # Each alternative MUST END IN A *, to match a version number. 1332d983712dSmrg # -sysv* is not here because it comes later, after sysvr4. 1333d983712dSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13344b9470b1Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13354b9470b1Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13364b9470b1Smrg | -sym* | -kopensolaris* \ 1337d983712dSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13384b9470b1Smrg | -aos* | -aros* \ 1339d983712dSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1340d983712dSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1341962c3257Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1342962c3257Smrg | -openbsd* | -solidbsd* \ 1343962c3257Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 1344962c3257Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1345d983712dSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1346d983712dSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13474b9470b1Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 13484b9470b1Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13494b9470b1Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 13504b9470b1Smrg | -linux-newlib* | -linux-uclibc* \ 1351962c3257Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1352d983712dSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1353d983712dSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1354d983712dSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1355d983712dSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1356d983712dSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1357962c3257Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13584b9470b1Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1359d983712dSmrg # Remember, each alternative MUST END IN *, to match a version number. 1360d983712dSmrg ;; 1361d983712dSmrg -qnx*) 1362d983712dSmrg case $basic_machine in 1363d983712dSmrg x86-* | i*86-*) 1364d983712dSmrg ;; 1365d983712dSmrg *) 1366d983712dSmrg os=-nto$os 1367d983712dSmrg ;; 1368d983712dSmrg esac 1369d983712dSmrg ;; 1370d983712dSmrg -nto-qnx*) 1371d983712dSmrg ;; 1372d983712dSmrg -nto*) 1373d983712dSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1374d983712dSmrg ;; 1375d983712dSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 1376962c3257Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1377d983712dSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1378d983712dSmrg ;; 1379d983712dSmrg -mac*) 1380d983712dSmrg os=`echo $os | sed -e 's|mac|macos|'` 1381d983712dSmrg ;; 1382962c3257Smrg -linux-dietlibc) 1383962c3257Smrg os=-linux-dietlibc 1384962c3257Smrg ;; 1385d983712dSmrg -linux*) 1386d983712dSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1387d983712dSmrg ;; 1388d983712dSmrg -sunos5*) 1389d983712dSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1390d983712dSmrg ;; 1391d983712dSmrg -sunos6*) 1392d983712dSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1393d983712dSmrg ;; 1394d983712dSmrg -opened*) 1395d983712dSmrg os=-openedition 1396d983712dSmrg ;; 13974b9470b1Smrg -os400*) 1398962c3257Smrg os=-os400 1399962c3257Smrg ;; 1400d983712dSmrg -wince*) 1401d983712dSmrg os=-wince 1402d983712dSmrg ;; 1403d983712dSmrg -osfrose*) 1404d983712dSmrg os=-osfrose 1405d983712dSmrg ;; 1406d983712dSmrg -osf*) 1407d983712dSmrg os=-osf 1408d983712dSmrg ;; 1409d983712dSmrg -utek*) 1410d983712dSmrg os=-bsd 1411d983712dSmrg ;; 1412d983712dSmrg -dynix*) 1413d983712dSmrg os=-bsd 1414d983712dSmrg ;; 1415d983712dSmrg -acis*) 1416d983712dSmrg os=-aos 1417d983712dSmrg ;; 1418d983712dSmrg -atheos*) 1419d983712dSmrg os=-atheos 1420d983712dSmrg ;; 1421962c3257Smrg -syllable*) 1422962c3257Smrg os=-syllable 1423962c3257Smrg ;; 1424d983712dSmrg -386bsd) 1425d983712dSmrg os=-bsd 1426d983712dSmrg ;; 1427d983712dSmrg -ctix* | -uts*) 1428d983712dSmrg os=-sysv 1429d983712dSmrg ;; 1430d983712dSmrg -nova*) 1431d983712dSmrg os=-rtmk-nova 1432d983712dSmrg ;; 1433d983712dSmrg -ns2 ) 1434d983712dSmrg os=-nextstep2 1435d983712dSmrg ;; 1436d983712dSmrg -nsk*) 1437d983712dSmrg os=-nsk 1438d983712dSmrg ;; 1439d983712dSmrg # Preserve the version number of sinix5. 1440d983712dSmrg -sinix5.*) 1441d983712dSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1442d983712dSmrg ;; 1443d983712dSmrg -sinix*) 1444d983712dSmrg os=-sysv4 1445d983712dSmrg ;; 14464b9470b1Smrg -tpf*) 1447962c3257Smrg os=-tpf 1448962c3257Smrg ;; 1449d983712dSmrg -triton*) 1450d983712dSmrg os=-sysv3 1451d983712dSmrg ;; 1452d983712dSmrg -oss*) 1453d983712dSmrg os=-sysv3 1454d983712dSmrg ;; 1455d983712dSmrg -svr4) 1456d983712dSmrg os=-sysv4 1457d983712dSmrg ;; 1458d983712dSmrg -svr3) 1459d983712dSmrg os=-sysv3 1460d983712dSmrg ;; 1461d983712dSmrg -sysvr4) 1462d983712dSmrg os=-sysv4 1463d983712dSmrg ;; 1464d983712dSmrg # This must come after -sysvr4. 1465d983712dSmrg -sysv*) 1466d983712dSmrg ;; 1467d983712dSmrg -ose*) 1468d983712dSmrg os=-ose 1469d983712dSmrg ;; 1470d983712dSmrg -es1800*) 1471d983712dSmrg os=-ose 1472d983712dSmrg ;; 1473d983712dSmrg -xenix) 1474d983712dSmrg os=-xenix 1475d983712dSmrg ;; 1476d983712dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1477d983712dSmrg os=-mint 1478d983712dSmrg ;; 1479d983712dSmrg -aros*) 1480d983712dSmrg os=-aros 1481d983712dSmrg ;; 1482d983712dSmrg -kaos*) 1483d983712dSmrg os=-kaos 1484d983712dSmrg ;; 1485962c3257Smrg -zvmoe) 1486962c3257Smrg os=-zvmoe 1487962c3257Smrg ;; 14884b9470b1Smrg -dicos*) 14894b9470b1Smrg os=-dicos 14904b9470b1Smrg ;; 14914b9470b1Smrg -nacl*) 14924b9470b1Smrg ;; 1493d983712dSmrg -none) 1494d983712dSmrg ;; 1495d983712dSmrg *) 1496d983712dSmrg # Get rid of the `-' at the beginning of $os. 1497d983712dSmrg os=`echo $os | sed 's/[^-]*-//'` 1498d983712dSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1499d983712dSmrg exit 1 1500d983712dSmrg ;; 1501d983712dSmrgesac 1502d983712dSmrgelse 1503d983712dSmrg 1504d983712dSmrg# Here we handle the default operating systems that come with various machines. 1505d983712dSmrg# The value should be what the vendor currently ships out the door with their 1506d983712dSmrg# machine or put another way, the most popular os provided with the machine. 1507d983712dSmrg 1508d983712dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1509d983712dSmrg# "-sun"), then you have to tell the case statement up towards the top 1510d983712dSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1511d983712dSmrg# will signal an error saying that MANUFACTURER isn't an operating 1512d983712dSmrg# system, and we'll never get to this point. 1513d983712dSmrg 1514d983712dSmrgcase $basic_machine in 15154b9470b1Smrg score-*) 1516962c3257Smrg os=-elf 1517962c3257Smrg ;; 15184b9470b1Smrg spu-*) 1519962c3257Smrg os=-elf 1520962c3257Smrg ;; 1521d983712dSmrg *-acorn) 1522d983712dSmrg os=-riscix1.2 1523d983712dSmrg ;; 1524d983712dSmrg arm*-rebel) 1525d983712dSmrg os=-linux 1526d983712dSmrg ;; 1527d983712dSmrg arm*-semi) 1528d983712dSmrg os=-aout 1529d983712dSmrg ;; 15304b9470b1Smrg c4x-* | tic4x-*) 15314b9470b1Smrg os=-coff 15324b9470b1Smrg ;; 15334b9470b1Smrg tic54x-*) 15344b9470b1Smrg os=-coff 15354b9470b1Smrg ;; 15364b9470b1Smrg tic55x-*) 15374b9470b1Smrg os=-coff 15384b9470b1Smrg ;; 15394b9470b1Smrg tic6x-*) 15404b9470b1Smrg os=-coff 1541d983712dSmrg ;; 1542d983712dSmrg # This must come before the *-dec entry. 1543d983712dSmrg pdp10-*) 1544d983712dSmrg os=-tops20 1545d983712dSmrg ;; 1546d983712dSmrg pdp11-*) 1547d983712dSmrg os=-none 1548d983712dSmrg ;; 1549d983712dSmrg *-dec | vax-*) 1550d983712dSmrg os=-ultrix4.2 1551d983712dSmrg ;; 1552d983712dSmrg m68*-apollo) 1553d983712dSmrg os=-domain 1554d983712dSmrg ;; 1555d983712dSmrg i386-sun) 1556d983712dSmrg os=-sunos4.0.2 1557d983712dSmrg ;; 1558d983712dSmrg m68000-sun) 1559d983712dSmrg os=-sunos3 1560d983712dSmrg ;; 1561d983712dSmrg m68*-cisco) 1562d983712dSmrg os=-aout 1563d983712dSmrg ;; 15644b9470b1Smrg mep-*) 1565962c3257Smrg os=-elf 1566962c3257Smrg ;; 1567d983712dSmrg mips*-cisco) 1568d983712dSmrg os=-elf 1569d983712dSmrg ;; 1570d983712dSmrg mips*-*) 1571d983712dSmrg os=-elf 1572d983712dSmrg ;; 1573d983712dSmrg or32-*) 1574d983712dSmrg os=-coff 1575d983712dSmrg ;; 1576d983712dSmrg *-tti) # must be before sparc entry or we get the wrong os. 1577d983712dSmrg os=-sysv3 1578d983712dSmrg ;; 1579d983712dSmrg sparc-* | *-sun) 1580d983712dSmrg os=-sunos4.1.1 1581d983712dSmrg ;; 1582d983712dSmrg *-be) 1583d983712dSmrg os=-beos 1584d983712dSmrg ;; 1585962c3257Smrg *-haiku) 1586962c3257Smrg os=-haiku 1587962c3257Smrg ;; 1588d983712dSmrg *-ibm) 1589d983712dSmrg os=-aix 1590d983712dSmrg ;; 15914b9470b1Smrg *-knuth) 1592962c3257Smrg os=-mmixware 1593962c3257Smrg ;; 1594d983712dSmrg *-wec) 1595d983712dSmrg os=-proelf 1596d983712dSmrg ;; 1597d983712dSmrg *-winbond) 1598d983712dSmrg os=-proelf 1599d983712dSmrg ;; 1600d983712dSmrg *-oki) 1601d983712dSmrg os=-proelf 1602d983712dSmrg ;; 1603d983712dSmrg *-hp) 1604d983712dSmrg os=-hpux 1605d983712dSmrg ;; 1606d983712dSmrg *-hitachi) 1607d983712dSmrg os=-hiux 1608d983712dSmrg ;; 1609d983712dSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1610d983712dSmrg os=-sysv 1611d983712dSmrg ;; 1612d983712dSmrg *-cbm) 1613d983712dSmrg os=-amigaos 1614d983712dSmrg ;; 1615d983712dSmrg *-dg) 1616d983712dSmrg os=-dgux 1617d983712dSmrg ;; 1618d983712dSmrg *-dolphin) 1619d983712dSmrg os=-sysv3 1620d983712dSmrg ;; 1621d983712dSmrg m68k-ccur) 1622d983712dSmrg os=-rtu 1623d983712dSmrg ;; 1624d983712dSmrg m88k-omron*) 1625d983712dSmrg os=-luna 1626d983712dSmrg ;; 1627d983712dSmrg *-next ) 1628d983712dSmrg os=-nextstep 1629d983712dSmrg ;; 1630d983712dSmrg *-sequent) 1631d983712dSmrg os=-ptx 1632d983712dSmrg ;; 1633d983712dSmrg *-crds) 1634d983712dSmrg os=-unos 1635d983712dSmrg ;; 1636d983712dSmrg *-ns) 1637d983712dSmrg os=-genix 1638d983712dSmrg ;; 1639d983712dSmrg i370-*) 1640d983712dSmrg os=-mvs 1641d983712dSmrg ;; 1642d983712dSmrg *-next) 1643d983712dSmrg os=-nextstep3 1644d983712dSmrg ;; 1645d983712dSmrg *-gould) 1646d983712dSmrg os=-sysv 1647d983712dSmrg ;; 1648d983712dSmrg *-highlevel) 1649d983712dSmrg os=-bsd 1650d983712dSmrg ;; 1651d983712dSmrg *-encore) 1652d983712dSmrg os=-bsd 1653d983712dSmrg ;; 1654d983712dSmrg *-sgi) 1655d983712dSmrg os=-irix 1656d983712dSmrg ;; 1657d983712dSmrg *-siemens) 1658d983712dSmrg os=-sysv4 1659d983712dSmrg ;; 1660d983712dSmrg *-masscomp) 1661d983712dSmrg os=-rtu 1662d983712dSmrg ;; 1663d983712dSmrg f30[01]-fujitsu | f700-fujitsu) 1664d983712dSmrg os=-uxpv 1665d983712dSmrg ;; 1666d983712dSmrg *-rom68k) 1667d983712dSmrg os=-coff 1668d983712dSmrg ;; 1669d983712dSmrg *-*bug) 1670d983712dSmrg os=-coff 1671d983712dSmrg ;; 1672d983712dSmrg *-apple) 1673d983712dSmrg os=-macos 1674d983712dSmrg ;; 1675d983712dSmrg *-atari*) 1676d983712dSmrg os=-mint 1677d983712dSmrg ;; 1678d983712dSmrg *) 1679d983712dSmrg os=-none 1680d983712dSmrg ;; 1681d983712dSmrgesac 1682d983712dSmrgfi 1683d983712dSmrg 1684d983712dSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1685d983712dSmrg# manufacturer. We pick the logical manufacturer. 1686d983712dSmrgvendor=unknown 1687d983712dSmrgcase $basic_machine in 1688d983712dSmrg *-unknown) 1689d983712dSmrg case $os in 1690d983712dSmrg -riscix*) 1691d983712dSmrg vendor=acorn 1692d983712dSmrg ;; 1693d983712dSmrg -sunos*) 1694d983712dSmrg vendor=sun 1695d983712dSmrg ;; 16964b9470b1Smrg -cnk*|-aix*) 1697d983712dSmrg vendor=ibm 1698d983712dSmrg ;; 1699d983712dSmrg -beos*) 1700d983712dSmrg vendor=be 1701d983712dSmrg ;; 1702d983712dSmrg -hpux*) 1703d983712dSmrg vendor=hp 1704d983712dSmrg ;; 1705d983712dSmrg -mpeix*) 1706d983712dSmrg vendor=hp 1707d983712dSmrg ;; 1708d983712dSmrg -hiux*) 1709d983712dSmrg vendor=hitachi 1710d983712dSmrg ;; 1711d983712dSmrg -unos*) 1712d983712dSmrg vendor=crds 1713d983712dSmrg ;; 1714d983712dSmrg -dgux*) 1715d983712dSmrg vendor=dg 1716d983712dSmrg ;; 1717d983712dSmrg -luna*) 1718d983712dSmrg vendor=omron 1719d983712dSmrg ;; 1720d983712dSmrg -genix*) 1721d983712dSmrg vendor=ns 1722d983712dSmrg ;; 1723d983712dSmrg -mvs* | -opened*) 1724d983712dSmrg vendor=ibm 1725d983712dSmrg ;; 1726962c3257Smrg -os400*) 1727962c3257Smrg vendor=ibm 1728962c3257Smrg ;; 1729d983712dSmrg -ptx*) 1730d983712dSmrg vendor=sequent 1731d983712dSmrg ;; 1732962c3257Smrg -tpf*) 1733962c3257Smrg vendor=ibm 1734962c3257Smrg ;; 1735d983712dSmrg -vxsim* | -vxworks* | -windiss*) 1736d983712dSmrg vendor=wrs 1737d983712dSmrg ;; 1738d983712dSmrg -aux*) 1739d983712dSmrg vendor=apple 1740d983712dSmrg ;; 1741d983712dSmrg -hms*) 1742d983712dSmrg vendor=hitachi 1743d983712dSmrg ;; 1744d983712dSmrg -mpw* | -macos*) 1745d983712dSmrg vendor=apple 1746d983712dSmrg ;; 1747d983712dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1748d983712dSmrg vendor=atari 1749d983712dSmrg ;; 1750d983712dSmrg -vos*) 1751d983712dSmrg vendor=stratus 1752d983712dSmrg ;; 1753d983712dSmrg esac 1754d983712dSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1755d983712dSmrg ;; 1756d983712dSmrgesac 1757d983712dSmrg 1758d983712dSmrgecho $basic_machine$os 1759962c3257Smrgexit 1760d983712dSmrg 1761d983712dSmrg# Local variables: 1762d983712dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1763d983712dSmrg# time-stamp-start: "timestamp='" 1764d983712dSmrg# time-stamp-format: "%:y-%02m-%02d" 1765d983712dSmrg# time-stamp-end: "'" 1766d983712dSmrg# End: 1767