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