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