config.sub revision 7dff02fe
1a850946eSmrg#! /bin/sh 2a850946eSmrg# Configuration validation subroutine script. 3a850946eSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 47dff02feSmrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 570f7c90cSmrg# Free Software Foundation, Inc. 6a850946eSmrg 77dff02feSmrgtimestamp='2009-11-20' 8a850946eSmrg 9a850946eSmrg# This file is (in principle) common to ALL GNU software. 10a850946eSmrg# The presence of a machine in this file suggests that SOME GNU software 11a850946eSmrg# can handle that machine. It does not imply ALL GNU software can. 12a850946eSmrg# 13a850946eSmrg# This file is free software; you can redistribute it and/or modify 14a850946eSmrg# it under the terms of the GNU General Public License as published by 15a850946eSmrg# the Free Software Foundation; either version 2 of the License, or 16a850946eSmrg# (at your option) any later version. 17a850946eSmrg# 18a850946eSmrg# This program is distributed in the hope that it will be useful, 19a850946eSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20a850946eSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21a850946eSmrg# GNU General Public License for more details. 22a850946eSmrg# 23a850946eSmrg# You should have received a copy of the GNU General Public License 24a850946eSmrg# along with this program; if not, write to the Free Software 2570f7c90cSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 2670f7c90cSmrg# 02110-1301, USA. 2770f7c90cSmrg# 28a850946eSmrg# As a special exception to the GNU General Public License, if you 29a850946eSmrg# distribute this file as part of a program that contains a 30a850946eSmrg# configuration script generated by Autoconf, you may include it under 31a850946eSmrg# the same distribution terms that you use for the rest of that program. 32a850946eSmrg 3370f7c90cSmrg 34a850946eSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 357dff02feSmrg# diff and a properly formatted GNU ChangeLog entry. 36a850946eSmrg# 37a850946eSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38a850946eSmrg# Supply the specified configuration type as an argument. 39a850946eSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40a850946eSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41a850946eSmrg 427dff02feSmrg# You can get the latest version of this script from: 437dff02feSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 447dff02feSmrg 45a850946eSmrg# This file is supposed to be the same for all GNU packages 46a850946eSmrg# and recognize all the CPU types, system types and aliases 47a850946eSmrg# that are meaningful with *any* GNU software. 48a850946eSmrg# Each package is responsible for reporting which valid configurations 49a850946eSmrg# it does not support. The user should be able to distinguish 50a850946eSmrg# a failure to support a valid configuration from a meaningless 51a850946eSmrg# configuration. 52a850946eSmrg 53a850946eSmrg# The goal of this file is to map all the various variations of a given 54a850946eSmrg# machine specification into a single specification in the form: 55a850946eSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56a850946eSmrg# or in some cases, the newer four-part form: 57a850946eSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58a850946eSmrg# It is wrong to echo any other type of specification. 59a850946eSmrg 60a850946eSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61a850946eSmrg 62a850946eSmrgusage="\ 63a850946eSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64a850946eSmrg $0 [OPTION] ALIAS 65a850946eSmrg 66a850946eSmrgCanonicalize a configuration name. 67a850946eSmrg 68a850946eSmrgOperation modes: 69a850946eSmrg -h, --help print this help, then exit 70a850946eSmrg -t, --time-stamp print date of last modification, then exit 71a850946eSmrg -v, --version print version number, then exit 72a850946eSmrg 73a850946eSmrgReport bugs and patches to <config-patches@gnu.org>." 74a850946eSmrg 75a850946eSmrgversion="\ 76a850946eSmrgGNU config.sub ($timestamp) 77a850946eSmrg 7870f7c90cSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 7970f7c90cSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 80a850946eSmrg 81a850946eSmrgThis is free software; see the source for copying conditions. There is NO 82a850946eSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 83a850946eSmrg 84a850946eSmrghelp=" 85a850946eSmrgTry \`$me --help' for more information." 86a850946eSmrg 87a850946eSmrg# Parse command line 88a850946eSmrgwhile test $# -gt 0 ; do 89a850946eSmrg case $1 in 90a850946eSmrg --time-stamp | --time* | -t ) 9170f7c90cSmrg echo "$timestamp" ; exit ;; 92a850946eSmrg --version | -v ) 9370f7c90cSmrg echo "$version" ; exit ;; 94a850946eSmrg --help | --h* | -h ) 9570f7c90cSmrg echo "$usage"; exit ;; 96a850946eSmrg -- ) # Stop option processing 97a850946eSmrg shift; break ;; 98a850946eSmrg - ) # Use stdin as input. 99a850946eSmrg break ;; 100a850946eSmrg -* ) 101a850946eSmrg echo "$me: invalid option $1$help" 102a850946eSmrg exit 1 ;; 103a850946eSmrg 104a850946eSmrg *local*) 105a850946eSmrg # First pass through any local machine types. 106a850946eSmrg echo $1 10770f7c90cSmrg exit ;; 108a850946eSmrg 109a850946eSmrg * ) 110a850946eSmrg break ;; 111a850946eSmrg esac 112a850946eSmrgdone 113a850946eSmrg 114a850946eSmrgcase $# in 115a850946eSmrg 0) echo "$me: missing argument$help" >&2 116a850946eSmrg exit 1;; 117a850946eSmrg 1) ;; 118a850946eSmrg *) echo "$me: too many arguments$help" >&2 119a850946eSmrg exit 1;; 120a850946eSmrgesac 121a850946eSmrg 122a850946eSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 123a850946eSmrg# Here we must recognize all the valid KERNEL-OS combinations. 124a850946eSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 125a850946eSmrgcase $maybe_os in 12670f7c90cSmrg nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 12770f7c90cSmrg uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 12870f7c90cSmrg kopensolaris*-gnu* | \ 12970f7c90cSmrg storm-chaos* | os2-emx* | rtmk-nova*) 130a850946eSmrg os=-$maybe_os 131a850946eSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 132a850946eSmrg ;; 133a850946eSmrg *) 134a850946eSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 135a850946eSmrg if [ $basic_machine != $1 ] 136a850946eSmrg then os=`echo $1 | sed 's/.*-/-/'` 137a850946eSmrg else os=; fi 138a850946eSmrg ;; 139a850946eSmrgesac 140a850946eSmrg 141a850946eSmrg### Let's recognize common machines as not being operating systems so 142a850946eSmrg### that things like config.sub decstation-3100 work. We also 143a850946eSmrg### recognize some manufacturers as not being operating systems, so we 144a850946eSmrg### can provide default operating systems below. 145a850946eSmrgcase $os in 146a850946eSmrg -sun*os*) 147a850946eSmrg # Prevent following clause from handling this invalid input. 148a850946eSmrg ;; 149a850946eSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 150a850946eSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 151a850946eSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 152a850946eSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 153a850946eSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 154a850946eSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1557dff02feSmrg -apple | -axis | -knuth | -cray | -microblaze) 156a850946eSmrg os= 157a850946eSmrg basic_machine=$1 158a850946eSmrg ;; 1597dff02feSmrg -bluegene*) 1607dff02feSmrg os=-cnk 1617dff02feSmrg ;; 162a850946eSmrg -sim | -cisco | -oki | -wec | -winbond) 163a850946eSmrg os= 164a850946eSmrg basic_machine=$1 165a850946eSmrg ;; 166a850946eSmrg -scout) 167a850946eSmrg ;; 168a850946eSmrg -wrs) 169a850946eSmrg os=-vxworks 170a850946eSmrg basic_machine=$1 171a850946eSmrg ;; 172a850946eSmrg -chorusos*) 173a850946eSmrg os=-chorusos 174a850946eSmrg basic_machine=$1 175a850946eSmrg ;; 176a850946eSmrg -chorusrdb) 177a850946eSmrg os=-chorusrdb 178a850946eSmrg basic_machine=$1 179a850946eSmrg ;; 180a850946eSmrg -hiux*) 181a850946eSmrg os=-hiuxwe2 182a850946eSmrg ;; 18370f7c90cSmrg -sco6) 18470f7c90cSmrg os=-sco5v6 18570f7c90cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18670f7c90cSmrg ;; 187a850946eSmrg -sco5) 188a850946eSmrg os=-sco3.2v5 189a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 190a850946eSmrg ;; 191a850946eSmrg -sco4) 192a850946eSmrg os=-sco3.2v4 193a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 194a850946eSmrg ;; 195a850946eSmrg -sco3.2.[4-9]*) 196a850946eSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 197a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 198a850946eSmrg ;; 199a850946eSmrg -sco3.2v[4-9]*) 200a850946eSmrg # Don't forget version if it is 3.2v4 or newer. 201a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 202a850946eSmrg ;; 20370f7c90cSmrg -sco5v6*) 20470f7c90cSmrg # Don't forget version if it is 3.2v4 or newer. 20570f7c90cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20670f7c90cSmrg ;; 207a850946eSmrg -sco*) 208a850946eSmrg os=-sco3.2v2 209a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210a850946eSmrg ;; 211a850946eSmrg -udk*) 212a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 213a850946eSmrg ;; 214a850946eSmrg -isc) 215a850946eSmrg os=-isc2.2 216a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 217a850946eSmrg ;; 218a850946eSmrg -clix*) 219a850946eSmrg basic_machine=clipper-intergraph 220a850946eSmrg ;; 221a850946eSmrg -isc*) 222a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 223a850946eSmrg ;; 224a850946eSmrg -lynx*) 225a850946eSmrg os=-lynxos 226a850946eSmrg ;; 227a850946eSmrg -ptx*) 228a850946eSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 229a850946eSmrg ;; 230a850946eSmrg -windowsnt*) 231a850946eSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 232a850946eSmrg ;; 233a850946eSmrg -psos*) 234a850946eSmrg os=-psos 235a850946eSmrg ;; 236a850946eSmrg -mint | -mint[0-9]*) 237a850946eSmrg basic_machine=m68k-atari 238a850946eSmrg os=-mint 239a850946eSmrg ;; 240a850946eSmrgesac 241a850946eSmrg 242a850946eSmrg# Decode aliases for certain CPU-COMPANY combinations. 243a850946eSmrgcase $basic_machine in 244a850946eSmrg # Recognize the basic CPU types without company name. 245a850946eSmrg # Some are omitted here because they have special meanings below. 246a850946eSmrg 1750a | 580 \ 247a850946eSmrg | a29k \ 248a850946eSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 249a850946eSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25070f7c90cSmrg | am33_2.0 \ 25170f7c90cSmrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 25270f7c90cSmrg | bfin \ 253a850946eSmrg | c4x | clipper \ 254a850946eSmrg | d10v | d30v | dlx | dsp16xx \ 25570f7c90cSmrg | fido | fr30 | frv \ 256a850946eSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 257a850946eSmrg | i370 | i860 | i960 | ia64 \ 25870f7c90cSmrg | ip2k | iq2000 \ 25970f7c90cSmrg | lm32 \ 26070f7c90cSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26170f7c90cSmrg | maxq | mb | microblaze | mcore | mep | metag \ 262a850946eSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 263a850946eSmrg | mips16 \ 264a850946eSmrg | mips64 | mips64el \ 26570f7c90cSmrg | mips64octeon | mips64octeonel \ 266a850946eSmrg | mips64orion | mips64orionel \ 26770f7c90cSmrg | mips64r5900 | mips64r5900el \ 26870f7c90cSmrg | mips64vr | mips64vrel \ 269a850946eSmrg | mips64vr4100 | mips64vr4100el \ 270a850946eSmrg | mips64vr4300 | mips64vr4300el \ 271a850946eSmrg | mips64vr5000 | mips64vr5000el \ 27270f7c90cSmrg | mips64vr5900 | mips64vr5900el \ 273a850946eSmrg | mipsisa32 | mipsisa32el \ 274a850946eSmrg | mipsisa32r2 | mipsisa32r2el \ 275a850946eSmrg | mipsisa64 | mipsisa64el \ 27670f7c90cSmrg | mipsisa64r2 | mipsisa64r2el \ 277a850946eSmrg | mipsisa64sb1 | mipsisa64sb1el \ 278a850946eSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 279a850946eSmrg | mipstx39 | mipstx39el \ 280a850946eSmrg | mn10200 | mn10300 \ 28170f7c90cSmrg | moxie \ 28270f7c90cSmrg | mt \ 283a850946eSmrg | msp430 \ 28470f7c90cSmrg | nios | nios2 \ 285a850946eSmrg | ns16k | ns32k \ 28670f7c90cSmrg | or32 \ 287a850946eSmrg | pdp10 | pdp11 | pj | pjl \ 288a850946eSmrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 289a850946eSmrg | pyramid \ 2907dff02feSmrg | rx \ 29170f7c90cSmrg | score \ 29270f7c90cSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 293a850946eSmrg | sh64 | sh64le \ 29470f7c90cSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 29570f7c90cSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 29670f7c90cSmrg | spu | strongarm \ 297a850946eSmrg | tahoe | thumb | tic4x | tic80 | tron \ 2987dff02feSmrg | ubicom32 \ 299a850946eSmrg | v850 | v850e \ 300a850946eSmrg | we32k \ 30170f7c90cSmrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 30270f7c90cSmrg | z8k | z80) 303a850946eSmrg basic_machine=$basic_machine-unknown 304a850946eSmrg ;; 3057dff02feSmrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 306a850946eSmrg # Motorola 68HC11/12. 307a850946eSmrg basic_machine=$basic_machine-unknown 308a850946eSmrg os=-none 309a850946eSmrg ;; 310a850946eSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 311a850946eSmrg ;; 31270f7c90cSmrg ms1) 31370f7c90cSmrg basic_machine=mt-unknown 31470f7c90cSmrg ;; 315a850946eSmrg 316a850946eSmrg # We use `pc' rather than `unknown' 317a850946eSmrg # because (1) that's what they normally are, and 318a850946eSmrg # (2) the word "unknown" tends to confuse beginning users. 319a850946eSmrg i*86 | x86_64) 320a850946eSmrg basic_machine=$basic_machine-pc 321a850946eSmrg ;; 322a850946eSmrg # Object if more than one company name word. 323a850946eSmrg *-*-*) 324a850946eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 325a850946eSmrg exit 1 326a850946eSmrg ;; 327a850946eSmrg # Recognize the basic CPU types with company name. 328a850946eSmrg 580-* \ 329a850946eSmrg | a29k-* \ 330a850946eSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 331a850946eSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 332a850946eSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 333a850946eSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 33470f7c90cSmrg | avr-* | avr32-* \ 33570f7c90cSmrg | bfin-* | bs2000-* \ 336a850946eSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 33770f7c90cSmrg | clipper-* | craynv-* | cydra-* \ 338a850946eSmrg | d10v-* | d30v-* | dlx-* \ 339a850946eSmrg | elxsi-* \ 34070f7c90cSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 341a850946eSmrg | h8300-* | h8500-* \ 342a850946eSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 343a850946eSmrg | i*86-* | i860-* | i960-* | ia64-* \ 34470f7c90cSmrg | ip2k-* | iq2000-* \ 34570f7c90cSmrg | lm32-* \ 34670f7c90cSmrg | m32c-* | m32r-* | m32rle-* \ 347a850946eSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3487dff02feSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 349a850946eSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 350a850946eSmrg | mips16-* \ 351a850946eSmrg | mips64-* | mips64el-* \ 35270f7c90cSmrg | mips64octeon-* | mips64octeonel-* \ 353a850946eSmrg | mips64orion-* | mips64orionel-* \ 35470f7c90cSmrg | mips64r5900-* | mips64r5900el-* \ 35570f7c90cSmrg | mips64vr-* | mips64vrel-* \ 356a850946eSmrg | mips64vr4100-* | mips64vr4100el-* \ 357a850946eSmrg | mips64vr4300-* | mips64vr4300el-* \ 358a850946eSmrg | mips64vr5000-* | mips64vr5000el-* \ 35970f7c90cSmrg | mips64vr5900-* | mips64vr5900el-* \ 360a850946eSmrg | mipsisa32-* | mipsisa32el-* \ 361a850946eSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 362a850946eSmrg | mipsisa64-* | mipsisa64el-* \ 36370f7c90cSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 364a850946eSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 365a850946eSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 366a850946eSmrg | mipstx39-* | mipstx39el-* \ 36770f7c90cSmrg | mmix-* \ 36870f7c90cSmrg | mt-* \ 369a850946eSmrg | msp430-* \ 37070f7c90cSmrg | nios-* | nios2-* \ 37170f7c90cSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 372a850946eSmrg | orion-* \ 373a850946eSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 374a850946eSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 375a850946eSmrg | pyramid-* \ 3767dff02feSmrg | romp-* | rs6000-* | rx-* \ 37770f7c90cSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 378a850946eSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 37970f7c90cSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 38070f7c90cSmrg | sparclite-* \ 38170f7c90cSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 382a850946eSmrg | tahoe-* | thumb-* \ 38370f7c90cSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ 384a850946eSmrg | tron-* \ 3857dff02feSmrg | ubicom32-* \ 386a850946eSmrg | v850-* | v850e-* | vax-* \ 387a850946eSmrg | we32k-* \ 38870f7c90cSmrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 38970f7c90cSmrg | xstormy16-* | xtensa*-* \ 390a850946eSmrg | ymp-* \ 39170f7c90cSmrg | z8k-* | z80-*) 39270f7c90cSmrg ;; 39370f7c90cSmrg # Recognize the basic CPU types without company name, with glob match. 39470f7c90cSmrg xtensa*) 39570f7c90cSmrg basic_machine=$basic_machine-unknown 396a850946eSmrg ;; 397a850946eSmrg # Recognize the various machine names and aliases which stand 398a850946eSmrg # for a CPU type and a company and sometimes even an OS. 399a850946eSmrg 386bsd) 400a850946eSmrg basic_machine=i386-unknown 401a850946eSmrg os=-bsd 402a850946eSmrg ;; 403a850946eSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 404a850946eSmrg basic_machine=m68000-att 405a850946eSmrg ;; 406a850946eSmrg 3b*) 407a850946eSmrg basic_machine=we32k-att 408a850946eSmrg ;; 409a850946eSmrg a29khif) 410a850946eSmrg basic_machine=a29k-amd 411a850946eSmrg os=-udi 412a850946eSmrg ;; 41370f7c90cSmrg abacus) 41470f7c90cSmrg basic_machine=abacus-unknown 41570f7c90cSmrg ;; 416a850946eSmrg adobe68k) 417a850946eSmrg basic_machine=m68010-adobe 418a850946eSmrg os=-scout 419a850946eSmrg ;; 420a850946eSmrg alliant | fx80) 421a850946eSmrg basic_machine=fx80-alliant 422a850946eSmrg ;; 423a850946eSmrg altos | altos3068) 424a850946eSmrg basic_machine=m68k-altos 425a850946eSmrg ;; 426a850946eSmrg am29k) 427a850946eSmrg basic_machine=a29k-none 428a850946eSmrg os=-bsd 429a850946eSmrg ;; 430a850946eSmrg amd64) 431a850946eSmrg basic_machine=x86_64-pc 432a850946eSmrg ;; 43370f7c90cSmrg amd64-*) 43470f7c90cSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 43570f7c90cSmrg ;; 436a850946eSmrg amdahl) 437a850946eSmrg basic_machine=580-amdahl 438a850946eSmrg os=-sysv 439a850946eSmrg ;; 440a850946eSmrg amiga | amiga-*) 441a850946eSmrg basic_machine=m68k-unknown 442a850946eSmrg ;; 443a850946eSmrg amigaos | amigados) 444a850946eSmrg basic_machine=m68k-unknown 445a850946eSmrg os=-amigaos 446a850946eSmrg ;; 447a850946eSmrg amigaunix | amix) 448a850946eSmrg basic_machine=m68k-unknown 449a850946eSmrg os=-sysv4 450a850946eSmrg ;; 451a850946eSmrg apollo68) 452a850946eSmrg basic_machine=m68k-apollo 453a850946eSmrg os=-sysv 454a850946eSmrg ;; 455a850946eSmrg apollo68bsd) 456a850946eSmrg basic_machine=m68k-apollo 457a850946eSmrg os=-bsd 458a850946eSmrg ;; 45970f7c90cSmrg aros) 46070f7c90cSmrg basic_machine=i386-pc 46170f7c90cSmrg os=-aros 46270f7c90cSmrg ;; 463a850946eSmrg aux) 464a850946eSmrg basic_machine=m68k-apple 465a850946eSmrg os=-aux 466a850946eSmrg ;; 467a850946eSmrg balance) 468a850946eSmrg basic_machine=ns32k-sequent 469a850946eSmrg os=-dynix 470a850946eSmrg ;; 47170f7c90cSmrg blackfin) 47270f7c90cSmrg basic_machine=bfin-unknown 47370f7c90cSmrg os=-linux 47470f7c90cSmrg ;; 47570f7c90cSmrg blackfin-*) 47670f7c90cSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 47770f7c90cSmrg os=-linux 47870f7c90cSmrg ;; 4797dff02feSmrg bluegene*) 4807dff02feSmrg basic_machine=powerpc-ibm 4817dff02feSmrg os=-cnk 4827dff02feSmrg ;; 483a850946eSmrg c90) 484a850946eSmrg basic_machine=c90-cray 485a850946eSmrg os=-unicos 486a850946eSmrg ;; 48770f7c90cSmrg cegcc) 48870f7c90cSmrg basic_machine=arm-unknown 48970f7c90cSmrg os=-cegcc 49070f7c90cSmrg ;; 491a850946eSmrg convex-c1) 492a850946eSmrg basic_machine=c1-convex 493a850946eSmrg os=-bsd 494a850946eSmrg ;; 495a850946eSmrg convex-c2) 496a850946eSmrg basic_machine=c2-convex 497a850946eSmrg os=-bsd 498a850946eSmrg ;; 499a850946eSmrg convex-c32) 500a850946eSmrg basic_machine=c32-convex 501a850946eSmrg os=-bsd 502a850946eSmrg ;; 503a850946eSmrg convex-c34) 504a850946eSmrg basic_machine=c34-convex 505a850946eSmrg os=-bsd 506a850946eSmrg ;; 507a850946eSmrg convex-c38) 508a850946eSmrg basic_machine=c38-convex 509a850946eSmrg os=-bsd 510a850946eSmrg ;; 511a850946eSmrg cray | j90) 512a850946eSmrg basic_machine=j90-cray 513a850946eSmrg os=-unicos 514a850946eSmrg ;; 51570f7c90cSmrg craynv) 51670f7c90cSmrg basic_machine=craynv-cray 51770f7c90cSmrg os=-unicosmp 51870f7c90cSmrg ;; 51970f7c90cSmrg cr16) 52070f7c90cSmrg basic_machine=cr16-unknown 52170f7c90cSmrg os=-elf 52270f7c90cSmrg ;; 523a850946eSmrg crds | unos) 524a850946eSmrg basic_machine=m68k-crds 525a850946eSmrg ;; 52670f7c90cSmrg crisv32 | crisv32-* | etraxfs*) 52770f7c90cSmrg basic_machine=crisv32-axis 52870f7c90cSmrg ;; 529a850946eSmrg cris | cris-* | etrax*) 530a850946eSmrg basic_machine=cris-axis 531a850946eSmrg ;; 53270f7c90cSmrg crx) 53370f7c90cSmrg basic_machine=crx-unknown 53470f7c90cSmrg os=-elf 53570f7c90cSmrg ;; 536a850946eSmrg da30 | da30-*) 537a850946eSmrg basic_machine=m68k-da30 538a850946eSmrg ;; 539a850946eSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 540a850946eSmrg basic_machine=mips-dec 541a850946eSmrg ;; 542a850946eSmrg decsystem10* | dec10*) 543a850946eSmrg basic_machine=pdp10-dec 544a850946eSmrg os=-tops10 545a850946eSmrg ;; 546a850946eSmrg decsystem20* | dec20*) 547a850946eSmrg basic_machine=pdp10-dec 548a850946eSmrg os=-tops20 549a850946eSmrg ;; 550a850946eSmrg delta | 3300 | motorola-3300 | motorola-delta \ 551a850946eSmrg | 3300-motorola | delta-motorola) 552a850946eSmrg basic_machine=m68k-motorola 553a850946eSmrg ;; 554a850946eSmrg delta88) 555a850946eSmrg basic_machine=m88k-motorola 556a850946eSmrg os=-sysv3 557a850946eSmrg ;; 55870f7c90cSmrg dicos) 55970f7c90cSmrg basic_machine=i686-pc 56070f7c90cSmrg os=-dicos 56170f7c90cSmrg ;; 56270f7c90cSmrg djgpp) 56370f7c90cSmrg basic_machine=i586-pc 56470f7c90cSmrg os=-msdosdjgpp 56570f7c90cSmrg ;; 566a850946eSmrg dpx20 | dpx20-*) 567a850946eSmrg basic_machine=rs6000-bull 568a850946eSmrg os=-bosx 569a850946eSmrg ;; 570a850946eSmrg dpx2* | dpx2*-bull) 571a850946eSmrg basic_machine=m68k-bull 572a850946eSmrg os=-sysv3 573a850946eSmrg ;; 574a850946eSmrg ebmon29k) 575a850946eSmrg basic_machine=a29k-amd 576a850946eSmrg os=-ebmon 577a850946eSmrg ;; 578a850946eSmrg elxsi) 579a850946eSmrg basic_machine=elxsi-elxsi 580a850946eSmrg os=-bsd 581a850946eSmrg ;; 582a850946eSmrg encore | umax | mmax) 583a850946eSmrg basic_machine=ns32k-encore 584a850946eSmrg ;; 585a850946eSmrg es1800 | OSE68k | ose68k | ose | OSE) 586a850946eSmrg basic_machine=m68k-ericsson 587a850946eSmrg os=-ose 588a850946eSmrg ;; 589a850946eSmrg fx2800) 590a850946eSmrg basic_machine=i860-alliant 591a850946eSmrg ;; 592a850946eSmrg genix) 593a850946eSmrg basic_machine=ns32k-ns 594a850946eSmrg ;; 595a850946eSmrg gmicro) 596a850946eSmrg basic_machine=tron-gmicro 597a850946eSmrg os=-sysv 598a850946eSmrg ;; 599a850946eSmrg go32) 600a850946eSmrg basic_machine=i386-pc 601a850946eSmrg os=-go32 602a850946eSmrg ;; 603a850946eSmrg h3050r* | hiux*) 604a850946eSmrg basic_machine=hppa1.1-hitachi 605a850946eSmrg os=-hiuxwe2 606a850946eSmrg ;; 607a850946eSmrg h8300hms) 608a850946eSmrg basic_machine=h8300-hitachi 609a850946eSmrg os=-hms 610a850946eSmrg ;; 611a850946eSmrg h8300xray) 612a850946eSmrg basic_machine=h8300-hitachi 613a850946eSmrg os=-xray 614a850946eSmrg ;; 615a850946eSmrg h8500hms) 616a850946eSmrg basic_machine=h8500-hitachi 617a850946eSmrg os=-hms 618a850946eSmrg ;; 619a850946eSmrg harris) 620a850946eSmrg basic_machine=m88k-harris 621a850946eSmrg os=-sysv3 622a850946eSmrg ;; 623a850946eSmrg hp300-*) 624a850946eSmrg basic_machine=m68k-hp 625a850946eSmrg ;; 626a850946eSmrg hp300bsd) 627a850946eSmrg basic_machine=m68k-hp 628a850946eSmrg os=-bsd 629a850946eSmrg ;; 630a850946eSmrg hp300hpux) 631a850946eSmrg basic_machine=m68k-hp 632a850946eSmrg os=-hpux 633a850946eSmrg ;; 634a850946eSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 635a850946eSmrg basic_machine=hppa1.0-hp 636a850946eSmrg ;; 637a850946eSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 638a850946eSmrg basic_machine=m68000-hp 639a850946eSmrg ;; 640a850946eSmrg hp9k3[2-9][0-9]) 641a850946eSmrg basic_machine=m68k-hp 642a850946eSmrg ;; 643a850946eSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 644a850946eSmrg basic_machine=hppa1.0-hp 645a850946eSmrg ;; 646a850946eSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 647a850946eSmrg basic_machine=hppa1.1-hp 648a850946eSmrg ;; 649a850946eSmrg hp9k78[0-9] | hp78[0-9]) 650a850946eSmrg # FIXME: really hppa2.0-hp 651a850946eSmrg basic_machine=hppa1.1-hp 652a850946eSmrg ;; 653a850946eSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 654a850946eSmrg # FIXME: really hppa2.0-hp 655a850946eSmrg basic_machine=hppa1.1-hp 656a850946eSmrg ;; 657a850946eSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 658a850946eSmrg basic_machine=hppa1.1-hp 659a850946eSmrg ;; 660a850946eSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 661a850946eSmrg basic_machine=hppa1.0-hp 662a850946eSmrg ;; 663a850946eSmrg hppa-next) 664a850946eSmrg os=-nextstep3 665a850946eSmrg ;; 666a850946eSmrg hppaosf) 667a850946eSmrg basic_machine=hppa1.1-hp 668a850946eSmrg os=-osf 669a850946eSmrg ;; 670a850946eSmrg hppro) 671a850946eSmrg basic_machine=hppa1.1-hp 672a850946eSmrg os=-proelf 673a850946eSmrg ;; 674a850946eSmrg i370-ibm* | ibm*) 675a850946eSmrg basic_machine=i370-ibm 676a850946eSmrg ;; 677a850946eSmrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 678a850946eSmrg i*86v32) 679a850946eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 680a850946eSmrg os=-sysv32 681a850946eSmrg ;; 682a850946eSmrg i*86v4*) 683a850946eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 684a850946eSmrg os=-sysv4 685a850946eSmrg ;; 686a850946eSmrg i*86v) 687a850946eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 688a850946eSmrg os=-sysv 689a850946eSmrg ;; 690a850946eSmrg i*86sol2) 691a850946eSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 692a850946eSmrg os=-solaris2 693a850946eSmrg ;; 694a850946eSmrg i386mach) 695a850946eSmrg basic_machine=i386-mach 696a850946eSmrg os=-mach 697a850946eSmrg ;; 698a850946eSmrg i386-vsta | vsta) 699a850946eSmrg basic_machine=i386-unknown 700a850946eSmrg os=-vsta 701a850946eSmrg ;; 702a850946eSmrg iris | iris4d) 703a850946eSmrg basic_machine=mips-sgi 704a850946eSmrg case $os in 705a850946eSmrg -irix*) 706a850946eSmrg ;; 707a850946eSmrg *) 708a850946eSmrg os=-irix4 709a850946eSmrg ;; 710a850946eSmrg esac 711a850946eSmrg ;; 712a850946eSmrg isi68 | isi) 713a850946eSmrg basic_machine=m68k-isi 714a850946eSmrg os=-sysv 715a850946eSmrg ;; 71670f7c90cSmrg m68knommu) 71770f7c90cSmrg basic_machine=m68k-unknown 71870f7c90cSmrg os=-linux 71970f7c90cSmrg ;; 72070f7c90cSmrg m68knommu-*) 72170f7c90cSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 72270f7c90cSmrg os=-linux 72370f7c90cSmrg ;; 724a850946eSmrg m88k-omron*) 725a850946eSmrg basic_machine=m88k-omron 726a850946eSmrg ;; 727a850946eSmrg magnum | m3230) 728a850946eSmrg basic_machine=mips-mips 729a850946eSmrg os=-sysv 730a850946eSmrg ;; 731a850946eSmrg merlin) 732a850946eSmrg basic_machine=ns32k-utek 733a850946eSmrg os=-sysv 734a850946eSmrg ;; 7357dff02feSmrg microblaze) 7367dff02feSmrg basic_machine=microblaze-xilinx 7377dff02feSmrg ;; 738a850946eSmrg mingw32) 739a850946eSmrg basic_machine=i386-pc 740a850946eSmrg os=-mingw32 741a850946eSmrg ;; 74270f7c90cSmrg mingw32ce) 74370f7c90cSmrg basic_machine=arm-unknown 74470f7c90cSmrg os=-mingw32ce 74570f7c90cSmrg ;; 746a850946eSmrg miniframe) 747a850946eSmrg basic_machine=m68000-convergent 748a850946eSmrg ;; 749a850946eSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 750a850946eSmrg basic_machine=m68k-atari 751a850946eSmrg os=-mint 752a850946eSmrg ;; 753a850946eSmrg mips3*-*) 754a850946eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 755a850946eSmrg ;; 756a850946eSmrg mips3*) 757a850946eSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 758a850946eSmrg ;; 759a850946eSmrg monitor) 760a850946eSmrg basic_machine=m68k-rom68k 761a850946eSmrg os=-coff 762a850946eSmrg ;; 763a850946eSmrg morphos) 764a850946eSmrg basic_machine=powerpc-unknown 765a850946eSmrg os=-morphos 766a850946eSmrg ;; 767a850946eSmrg msdos) 768a850946eSmrg basic_machine=i386-pc 769a850946eSmrg os=-msdos 770a850946eSmrg ;; 77170f7c90cSmrg ms1-*) 77270f7c90cSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 77370f7c90cSmrg ;; 774a850946eSmrg mvs) 775a850946eSmrg basic_machine=i370-ibm 776a850946eSmrg os=-mvs 777a850946eSmrg ;; 778a850946eSmrg ncr3000) 779a850946eSmrg basic_machine=i486-ncr 780a850946eSmrg os=-sysv4 781a850946eSmrg ;; 782a850946eSmrg netbsd386) 783a850946eSmrg basic_machine=i386-unknown 784a850946eSmrg os=-netbsd 785a850946eSmrg ;; 786a850946eSmrg netwinder) 787a850946eSmrg basic_machine=armv4l-rebel 788a850946eSmrg os=-linux 789a850946eSmrg ;; 790a850946eSmrg news | news700 | news800 | news900) 791a850946eSmrg basic_machine=m68k-sony 792a850946eSmrg os=-newsos 793a850946eSmrg ;; 794a850946eSmrg news1000) 795a850946eSmrg basic_machine=m68030-sony 796a850946eSmrg os=-newsos 797a850946eSmrg ;; 798a850946eSmrg news-3600 | risc-news) 799a850946eSmrg basic_machine=mips-sony 800a850946eSmrg os=-newsos 801a850946eSmrg ;; 802a850946eSmrg necv70) 803a850946eSmrg basic_machine=v70-nec 804a850946eSmrg os=-sysv 805a850946eSmrg ;; 806a850946eSmrg next | m*-next ) 807a850946eSmrg basic_machine=m68k-next 808a850946eSmrg case $os in 809a850946eSmrg -nextstep* ) 810a850946eSmrg ;; 811a850946eSmrg -ns2*) 812a850946eSmrg os=-nextstep2 813a850946eSmrg ;; 814a850946eSmrg *) 815a850946eSmrg os=-nextstep3 816a850946eSmrg ;; 817a850946eSmrg esac 818a850946eSmrg ;; 819a850946eSmrg nh3000) 820a850946eSmrg basic_machine=m68k-harris 821a850946eSmrg os=-cxux 822a850946eSmrg ;; 823a850946eSmrg nh[45]000) 824a850946eSmrg basic_machine=m88k-harris 825a850946eSmrg os=-cxux 826a850946eSmrg ;; 827a850946eSmrg nindy960) 828a850946eSmrg basic_machine=i960-intel 829a850946eSmrg os=-nindy 830a850946eSmrg ;; 831a850946eSmrg mon960) 832a850946eSmrg basic_machine=i960-intel 833a850946eSmrg os=-mon960 834a850946eSmrg ;; 835a850946eSmrg nonstopux) 836a850946eSmrg basic_machine=mips-compaq 837a850946eSmrg os=-nonstopux 838a850946eSmrg ;; 839a850946eSmrg np1) 840a850946eSmrg basic_machine=np1-gould 841a850946eSmrg ;; 842a850946eSmrg nsr-tandem) 843a850946eSmrg basic_machine=nsr-tandem 844a850946eSmrg ;; 845a850946eSmrg op50n-* | op60c-*) 846a850946eSmrg basic_machine=hppa1.1-oki 847a850946eSmrg os=-proelf 848a850946eSmrg ;; 84970f7c90cSmrg openrisc | openrisc-*) 850a850946eSmrg basic_machine=or32-unknown 85170f7c90cSmrg ;; 85270f7c90cSmrg os400) 85370f7c90cSmrg basic_machine=powerpc-ibm 85470f7c90cSmrg os=-os400 855a850946eSmrg ;; 856a850946eSmrg OSE68000 | ose68000) 857a850946eSmrg basic_machine=m68000-ericsson 858a850946eSmrg os=-ose 859a850946eSmrg ;; 860a850946eSmrg os68k) 861a850946eSmrg basic_machine=m68k-none 862a850946eSmrg os=-os68k 863a850946eSmrg ;; 864a850946eSmrg pa-hitachi) 865a850946eSmrg basic_machine=hppa1.1-hitachi 866a850946eSmrg os=-hiuxwe2 867a850946eSmrg ;; 868a850946eSmrg paragon) 869a850946eSmrg basic_machine=i860-intel 870a850946eSmrg os=-osf 871a850946eSmrg ;; 87270f7c90cSmrg parisc) 87370f7c90cSmrg basic_machine=hppa-unknown 87470f7c90cSmrg os=-linux 87570f7c90cSmrg ;; 87670f7c90cSmrg parisc-*) 87770f7c90cSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 87870f7c90cSmrg os=-linux 87970f7c90cSmrg ;; 880a850946eSmrg pbd) 881a850946eSmrg basic_machine=sparc-tti 882a850946eSmrg ;; 883a850946eSmrg pbb) 884a850946eSmrg basic_machine=m68k-tti 885a850946eSmrg ;; 886a850946eSmrg pc532 | pc532-*) 887a850946eSmrg basic_machine=ns32k-pc532 888a850946eSmrg ;; 88970f7c90cSmrg pc98) 89070f7c90cSmrg basic_machine=i386-pc 89170f7c90cSmrg ;; 89270f7c90cSmrg pc98-*) 89370f7c90cSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 89470f7c90cSmrg ;; 895a850946eSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 896a850946eSmrg basic_machine=i586-pc 897a850946eSmrg ;; 898a850946eSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 899a850946eSmrg basic_machine=i686-pc 900a850946eSmrg ;; 901a850946eSmrg pentiumii | pentium2 | pentiumiii | pentium3) 902a850946eSmrg basic_machine=i686-pc 903a850946eSmrg ;; 904a850946eSmrg pentium4) 905a850946eSmrg basic_machine=i786-pc 906a850946eSmrg ;; 907a850946eSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 908a850946eSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 909a850946eSmrg ;; 910a850946eSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 911a850946eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 912a850946eSmrg ;; 913a850946eSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 914a850946eSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 915a850946eSmrg ;; 916a850946eSmrg pentium4-*) 917a850946eSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 918a850946eSmrg ;; 919a850946eSmrg pn) 920a850946eSmrg basic_machine=pn-gould 921a850946eSmrg ;; 922a850946eSmrg power) basic_machine=power-ibm 923a850946eSmrg ;; 924a850946eSmrg ppc) basic_machine=powerpc-unknown 925a850946eSmrg ;; 926a850946eSmrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 927a850946eSmrg ;; 928a850946eSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 929a850946eSmrg basic_machine=powerpcle-unknown 930a850946eSmrg ;; 931a850946eSmrg ppcle-* | powerpclittle-*) 932a850946eSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 933a850946eSmrg ;; 934a850946eSmrg ppc64) basic_machine=powerpc64-unknown 935a850946eSmrg ;; 936a850946eSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 937a850946eSmrg ;; 938a850946eSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 939a850946eSmrg basic_machine=powerpc64le-unknown 940a850946eSmrg ;; 941a850946eSmrg ppc64le-* | powerpc64little-*) 942a850946eSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 943a850946eSmrg ;; 944a850946eSmrg ps2) 945a850946eSmrg basic_machine=i386-ibm 946a850946eSmrg ;; 947a850946eSmrg pw32) 948a850946eSmrg basic_machine=i586-unknown 949a850946eSmrg os=-pw32 950a850946eSmrg ;; 95170f7c90cSmrg rdos) 95270f7c90cSmrg basic_machine=i386-pc 95370f7c90cSmrg os=-rdos 95470f7c90cSmrg ;; 955a850946eSmrg rom68k) 956a850946eSmrg basic_machine=m68k-rom68k 957a850946eSmrg os=-coff 958a850946eSmrg ;; 959a850946eSmrg rm[46]00) 960a850946eSmrg basic_machine=mips-siemens 961a850946eSmrg ;; 962a850946eSmrg rtpc | rtpc-*) 963a850946eSmrg basic_machine=romp-ibm 964a850946eSmrg ;; 96570f7c90cSmrg s390 | s390-*) 96670f7c90cSmrg basic_machine=s390-ibm 96770f7c90cSmrg ;; 96870f7c90cSmrg s390x | s390x-*) 96970f7c90cSmrg basic_machine=s390x-ibm 97070f7c90cSmrg ;; 971a850946eSmrg sa29200) 972a850946eSmrg basic_machine=a29k-amd 973a850946eSmrg os=-udi 974a850946eSmrg ;; 975a850946eSmrg sb1) 976a850946eSmrg basic_machine=mipsisa64sb1-unknown 977a850946eSmrg ;; 978a850946eSmrg sb1el) 979a850946eSmrg basic_machine=mipsisa64sb1el-unknown 980a850946eSmrg ;; 98170f7c90cSmrg sde) 98270f7c90cSmrg basic_machine=mipsisa32-sde 98370f7c90cSmrg os=-elf 98470f7c90cSmrg ;; 985a850946eSmrg sei) 986a850946eSmrg basic_machine=mips-sei 987a850946eSmrg os=-seiux 988a850946eSmrg ;; 989a850946eSmrg sequent) 990a850946eSmrg basic_machine=i386-sequent 991a850946eSmrg ;; 992a850946eSmrg sh) 993a850946eSmrg basic_machine=sh-hitachi 994a850946eSmrg os=-hms 995a850946eSmrg ;; 99670f7c90cSmrg sh5el) 99770f7c90cSmrg basic_machine=sh5le-unknown 99870f7c90cSmrg ;; 999a850946eSmrg sh64) 1000a850946eSmrg basic_machine=sh64-unknown 1001a850946eSmrg ;; 1002a850946eSmrg sparclite-wrs | simso-wrs) 1003a850946eSmrg basic_machine=sparclite-wrs 1004a850946eSmrg os=-vxworks 1005a850946eSmrg ;; 1006a850946eSmrg sps7) 1007a850946eSmrg basic_machine=m68k-bull 1008a850946eSmrg os=-sysv2 1009a850946eSmrg ;; 1010a850946eSmrg spur) 1011a850946eSmrg basic_machine=spur-unknown 1012a850946eSmrg ;; 1013a850946eSmrg st2000) 1014a850946eSmrg basic_machine=m68k-tandem 1015a850946eSmrg ;; 1016a850946eSmrg stratus) 1017a850946eSmrg basic_machine=i860-stratus 1018a850946eSmrg os=-sysv4 1019a850946eSmrg ;; 1020a850946eSmrg sun2) 1021a850946eSmrg basic_machine=m68000-sun 1022a850946eSmrg ;; 1023a850946eSmrg sun2os3) 1024a850946eSmrg basic_machine=m68000-sun 1025a850946eSmrg os=-sunos3 1026a850946eSmrg ;; 1027a850946eSmrg sun2os4) 1028a850946eSmrg basic_machine=m68000-sun 1029a850946eSmrg os=-sunos4 1030a850946eSmrg ;; 1031a850946eSmrg sun3os3) 1032a850946eSmrg basic_machine=m68k-sun 1033a850946eSmrg os=-sunos3 1034a850946eSmrg ;; 1035a850946eSmrg sun3os4) 1036a850946eSmrg basic_machine=m68k-sun 1037a850946eSmrg os=-sunos4 1038a850946eSmrg ;; 1039a850946eSmrg sun4os3) 1040a850946eSmrg basic_machine=sparc-sun 1041a850946eSmrg os=-sunos3 1042a850946eSmrg ;; 1043a850946eSmrg sun4os4) 1044a850946eSmrg basic_machine=sparc-sun 1045a850946eSmrg os=-sunos4 1046a850946eSmrg ;; 1047a850946eSmrg sun4sol2) 1048a850946eSmrg basic_machine=sparc-sun 1049a850946eSmrg os=-solaris2 1050a850946eSmrg ;; 1051a850946eSmrg sun3 | sun3-*) 1052a850946eSmrg basic_machine=m68k-sun 1053a850946eSmrg ;; 1054a850946eSmrg sun4) 1055a850946eSmrg basic_machine=sparc-sun 1056a850946eSmrg ;; 1057a850946eSmrg sun386 | sun386i | roadrunner) 1058a850946eSmrg basic_machine=i386-sun 1059a850946eSmrg ;; 1060a850946eSmrg sv1) 1061a850946eSmrg basic_machine=sv1-cray 1062a850946eSmrg os=-unicos 1063a850946eSmrg ;; 1064a850946eSmrg symmetry) 1065a850946eSmrg basic_machine=i386-sequent 1066a850946eSmrg os=-dynix 1067a850946eSmrg ;; 1068a850946eSmrg t3e) 1069a850946eSmrg basic_machine=alphaev5-cray 1070a850946eSmrg os=-unicos 1071a850946eSmrg ;; 1072a850946eSmrg t90) 1073a850946eSmrg basic_machine=t90-cray 1074a850946eSmrg os=-unicos 1075a850946eSmrg ;; 1076a850946eSmrg tic54x | c54x*) 1077a850946eSmrg basic_machine=tic54x-unknown 1078a850946eSmrg os=-coff 1079a850946eSmrg ;; 1080a850946eSmrg tic55x | c55x*) 1081a850946eSmrg basic_machine=tic55x-unknown 1082a850946eSmrg os=-coff 1083a850946eSmrg ;; 1084a850946eSmrg tic6x | c6x*) 1085a850946eSmrg basic_machine=tic6x-unknown 1086a850946eSmrg os=-coff 1087a850946eSmrg ;; 108870f7c90cSmrg tile*) 108970f7c90cSmrg basic_machine=tile-unknown 109070f7c90cSmrg os=-linux-gnu 109170f7c90cSmrg ;; 1092a850946eSmrg tx39) 1093a850946eSmrg basic_machine=mipstx39-unknown 1094a850946eSmrg ;; 1095a850946eSmrg tx39el) 1096a850946eSmrg basic_machine=mipstx39el-unknown 1097a850946eSmrg ;; 1098a850946eSmrg toad1) 1099a850946eSmrg basic_machine=pdp10-xkl 1100a850946eSmrg os=-tops20 1101a850946eSmrg ;; 1102a850946eSmrg tower | tower-32) 1103a850946eSmrg basic_machine=m68k-ncr 1104a850946eSmrg ;; 110570f7c90cSmrg tpf) 110670f7c90cSmrg basic_machine=s390x-ibm 110770f7c90cSmrg os=-tpf 110870f7c90cSmrg ;; 1109a850946eSmrg udi29k) 1110a850946eSmrg basic_machine=a29k-amd 1111a850946eSmrg os=-udi 1112a850946eSmrg ;; 1113a850946eSmrg ultra3) 1114a850946eSmrg basic_machine=a29k-nyu 1115a850946eSmrg os=-sym1 1116a850946eSmrg ;; 1117a850946eSmrg v810 | necv810) 1118a850946eSmrg basic_machine=v810-nec 1119a850946eSmrg os=-none 1120a850946eSmrg ;; 1121a850946eSmrg vaxv) 1122a850946eSmrg basic_machine=vax-dec 1123a850946eSmrg os=-sysv 1124a850946eSmrg ;; 1125a850946eSmrg vms) 1126a850946eSmrg basic_machine=vax-dec 1127a850946eSmrg os=-vms 1128a850946eSmrg ;; 1129a850946eSmrg vpp*|vx|vx-*) 1130a850946eSmrg basic_machine=f301-fujitsu 1131a850946eSmrg ;; 1132a850946eSmrg vxworks960) 1133a850946eSmrg basic_machine=i960-wrs 1134a850946eSmrg os=-vxworks 1135a850946eSmrg ;; 1136a850946eSmrg vxworks68) 1137a850946eSmrg basic_machine=m68k-wrs 1138a850946eSmrg os=-vxworks 1139a850946eSmrg ;; 1140a850946eSmrg vxworks29k) 1141a850946eSmrg basic_machine=a29k-wrs 1142a850946eSmrg os=-vxworks 1143a850946eSmrg ;; 1144a850946eSmrg w65*) 1145a850946eSmrg basic_machine=w65-wdc 1146a850946eSmrg os=-none 1147a850946eSmrg ;; 1148a850946eSmrg w89k-*) 1149a850946eSmrg basic_machine=hppa1.1-winbond 1150a850946eSmrg os=-proelf 1151a850946eSmrg ;; 115270f7c90cSmrg xbox) 115370f7c90cSmrg basic_machine=i686-pc 115470f7c90cSmrg os=-mingw32 115570f7c90cSmrg ;; 1156a850946eSmrg xps | xps100) 1157a850946eSmrg basic_machine=xps100-honeywell 1158a850946eSmrg ;; 1159a850946eSmrg ymp) 1160a850946eSmrg basic_machine=ymp-cray 1161a850946eSmrg os=-unicos 1162a850946eSmrg ;; 1163a850946eSmrg z8k-*-coff) 1164a850946eSmrg basic_machine=z8k-unknown 1165a850946eSmrg os=-sim 1166a850946eSmrg ;; 116770f7c90cSmrg z80-*-coff) 116870f7c90cSmrg basic_machine=z80-unknown 116970f7c90cSmrg os=-sim 117070f7c90cSmrg ;; 1171a850946eSmrg none) 1172a850946eSmrg basic_machine=none-none 1173a850946eSmrg os=-none 1174a850946eSmrg ;; 1175a850946eSmrg 1176a850946eSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1177a850946eSmrg# some cases the only manufacturer, in others, it is the most popular. 1178a850946eSmrg w89k) 1179a850946eSmrg basic_machine=hppa1.1-winbond 1180a850946eSmrg ;; 1181a850946eSmrg op50n) 1182a850946eSmrg basic_machine=hppa1.1-oki 1183a850946eSmrg ;; 1184a850946eSmrg op60c) 1185a850946eSmrg basic_machine=hppa1.1-oki 1186a850946eSmrg ;; 1187a850946eSmrg romp) 1188a850946eSmrg basic_machine=romp-ibm 1189a850946eSmrg ;; 119070f7c90cSmrg mmix) 119170f7c90cSmrg basic_machine=mmix-knuth 119270f7c90cSmrg ;; 1193a850946eSmrg rs6000) 1194a850946eSmrg basic_machine=rs6000-ibm 1195a850946eSmrg ;; 1196a850946eSmrg vax) 1197a850946eSmrg basic_machine=vax-dec 1198a850946eSmrg ;; 1199a850946eSmrg pdp10) 1200a850946eSmrg # there are many clones, so DEC is not a safe bet 1201a850946eSmrg basic_machine=pdp10-unknown 1202a850946eSmrg ;; 1203a850946eSmrg pdp11) 1204a850946eSmrg basic_machine=pdp11-dec 1205a850946eSmrg ;; 1206a850946eSmrg we32k) 1207a850946eSmrg basic_machine=we32k-att 1208a850946eSmrg ;; 120970f7c90cSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1210a850946eSmrg basic_machine=sh-unknown 1211a850946eSmrg ;; 121270f7c90cSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1213a850946eSmrg basic_machine=sparc-sun 1214a850946eSmrg ;; 1215a850946eSmrg cydra) 1216a850946eSmrg basic_machine=cydra-cydrome 1217a850946eSmrg ;; 1218a850946eSmrg orion) 1219a850946eSmrg basic_machine=orion-highlevel 1220a850946eSmrg ;; 1221a850946eSmrg orion105) 1222a850946eSmrg basic_machine=clipper-highlevel 1223a850946eSmrg ;; 1224a850946eSmrg mac | mpw | mac-mpw) 1225a850946eSmrg basic_machine=m68k-apple 1226a850946eSmrg ;; 1227a850946eSmrg pmac | pmac-mpw) 1228a850946eSmrg basic_machine=powerpc-apple 1229a850946eSmrg ;; 1230a850946eSmrg *-unknown) 1231a850946eSmrg # Make sure to match an already-canonicalized machine name. 1232a850946eSmrg ;; 1233a850946eSmrg *) 1234a850946eSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1235a850946eSmrg exit 1 1236a850946eSmrg ;; 1237a850946eSmrgesac 1238a850946eSmrg 1239a850946eSmrg# Here we canonicalize certain aliases for manufacturers. 1240a850946eSmrgcase $basic_machine in 1241a850946eSmrg *-digital*) 1242a850946eSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1243a850946eSmrg ;; 1244a850946eSmrg *-commodore*) 1245a850946eSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1246a850946eSmrg ;; 1247a850946eSmrg *) 1248a850946eSmrg ;; 1249a850946eSmrgesac 1250a850946eSmrg 1251a850946eSmrg# Decode manufacturer-specific aliases for certain operating systems. 1252a850946eSmrg 1253a850946eSmrgif [ x"$os" != x"" ] 1254a850946eSmrgthen 1255a850946eSmrgcase $os in 1256a850946eSmrg # First match some system type aliases 1257a850946eSmrg # that might get confused with valid system types. 1258a850946eSmrg # -solaris* is a basic system type, with this one exception. 12597dff02feSmrg -auroraux) 12607dff02feSmrg os=-auroraux 12617dff02feSmrg ;; 1262a850946eSmrg -solaris1 | -solaris1.*) 1263a850946eSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1264a850946eSmrg ;; 1265a850946eSmrg -solaris) 1266a850946eSmrg os=-solaris2 1267a850946eSmrg ;; 1268a850946eSmrg -svr4*) 1269a850946eSmrg os=-sysv4 1270a850946eSmrg ;; 1271a850946eSmrg -unixware*) 1272a850946eSmrg os=-sysv4.2uw 1273a850946eSmrg ;; 1274a850946eSmrg -gnu/linux*) 1275a850946eSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1276a850946eSmrg ;; 1277a850946eSmrg # First accept the basic system types. 1278a850946eSmrg # The portable systems comes first. 1279a850946eSmrg # Each alternative MUST END IN A *, to match a version number. 1280a850946eSmrg # -sysv* is not here because it comes later, after sysvr4. 1281a850946eSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 12827dff02feSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 12837dff02feSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 12847dff02feSmrg | -sym* | -kopensolaris* \ 1285a850946eSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 128670f7c90cSmrg | -aos* | -aros* \ 1287a850946eSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1288a850946eSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 128970f7c90cSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 129070f7c90cSmrg | -openbsd* | -solidbsd* \ 129170f7c90cSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 129270f7c90cSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1293a850946eSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1294a850946eSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 129570f7c90cSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 1296a850946eSmrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 129770f7c90cSmrg | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ 129870f7c90cSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1299a850946eSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1300a850946eSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1301a850946eSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1302a850946eSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1303a850946eSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 130470f7c90cSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13057dff02feSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1306a850946eSmrg # Remember, each alternative MUST END IN *, to match a version number. 1307a850946eSmrg ;; 1308a850946eSmrg -qnx*) 1309a850946eSmrg case $basic_machine in 1310a850946eSmrg x86-* | i*86-*) 1311a850946eSmrg ;; 1312a850946eSmrg *) 1313a850946eSmrg os=-nto$os 1314a850946eSmrg ;; 1315a850946eSmrg esac 1316a850946eSmrg ;; 1317a850946eSmrg -nto-qnx*) 1318a850946eSmrg ;; 1319a850946eSmrg -nto*) 1320a850946eSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1321a850946eSmrg ;; 1322a850946eSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 132370f7c90cSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1324a850946eSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1325a850946eSmrg ;; 1326a850946eSmrg -mac*) 1327a850946eSmrg os=`echo $os | sed -e 's|mac|macos|'` 1328a850946eSmrg ;; 132970f7c90cSmrg -linux-dietlibc) 133070f7c90cSmrg os=-linux-dietlibc 133170f7c90cSmrg ;; 1332a850946eSmrg -linux*) 1333a850946eSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1334a850946eSmrg ;; 1335a850946eSmrg -sunos5*) 1336a850946eSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1337a850946eSmrg ;; 1338a850946eSmrg -sunos6*) 1339a850946eSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1340a850946eSmrg ;; 1341a850946eSmrg -opened*) 1342a850946eSmrg os=-openedition 1343a850946eSmrg ;; 134470f7c90cSmrg -os400*) 134570f7c90cSmrg os=-os400 134670f7c90cSmrg ;; 1347a850946eSmrg -wince*) 1348a850946eSmrg os=-wince 1349a850946eSmrg ;; 1350a850946eSmrg -osfrose*) 1351a850946eSmrg os=-osfrose 1352a850946eSmrg ;; 1353a850946eSmrg -osf*) 1354a850946eSmrg os=-osf 1355a850946eSmrg ;; 1356a850946eSmrg -utek*) 1357a850946eSmrg os=-bsd 1358a850946eSmrg ;; 1359a850946eSmrg -dynix*) 1360a850946eSmrg os=-bsd 1361a850946eSmrg ;; 1362a850946eSmrg -acis*) 1363a850946eSmrg os=-aos 1364a850946eSmrg ;; 1365a850946eSmrg -atheos*) 1366a850946eSmrg os=-atheos 1367a850946eSmrg ;; 136870f7c90cSmrg -syllable*) 136970f7c90cSmrg os=-syllable 137070f7c90cSmrg ;; 1371a850946eSmrg -386bsd) 1372a850946eSmrg os=-bsd 1373a850946eSmrg ;; 1374a850946eSmrg -ctix* | -uts*) 1375a850946eSmrg os=-sysv 1376a850946eSmrg ;; 1377a850946eSmrg -nova*) 1378a850946eSmrg os=-rtmk-nova 1379a850946eSmrg ;; 1380a850946eSmrg -ns2 ) 1381a850946eSmrg os=-nextstep2 1382a850946eSmrg ;; 1383a850946eSmrg -nsk*) 1384a850946eSmrg os=-nsk 1385a850946eSmrg ;; 1386a850946eSmrg # Preserve the version number of sinix5. 1387a850946eSmrg -sinix5.*) 1388a850946eSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1389a850946eSmrg ;; 1390a850946eSmrg -sinix*) 1391a850946eSmrg os=-sysv4 1392a850946eSmrg ;; 139370f7c90cSmrg -tpf*) 139470f7c90cSmrg os=-tpf 139570f7c90cSmrg ;; 1396a850946eSmrg -triton*) 1397a850946eSmrg os=-sysv3 1398a850946eSmrg ;; 1399a850946eSmrg -oss*) 1400a850946eSmrg os=-sysv3 1401a850946eSmrg ;; 1402a850946eSmrg -svr4) 1403a850946eSmrg os=-sysv4 1404a850946eSmrg ;; 1405a850946eSmrg -svr3) 1406a850946eSmrg os=-sysv3 1407a850946eSmrg ;; 1408a850946eSmrg -sysvr4) 1409a850946eSmrg os=-sysv4 1410a850946eSmrg ;; 1411a850946eSmrg # This must come after -sysvr4. 1412a850946eSmrg -sysv*) 1413a850946eSmrg ;; 1414a850946eSmrg -ose*) 1415a850946eSmrg os=-ose 1416a850946eSmrg ;; 1417a850946eSmrg -es1800*) 1418a850946eSmrg os=-ose 1419a850946eSmrg ;; 1420a850946eSmrg -xenix) 1421a850946eSmrg os=-xenix 1422a850946eSmrg ;; 1423a850946eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1424a850946eSmrg os=-mint 1425a850946eSmrg ;; 1426a850946eSmrg -aros*) 1427a850946eSmrg os=-aros 1428a850946eSmrg ;; 1429a850946eSmrg -kaos*) 1430a850946eSmrg os=-kaos 1431a850946eSmrg ;; 143270f7c90cSmrg -zvmoe) 143370f7c90cSmrg os=-zvmoe 143470f7c90cSmrg ;; 143570f7c90cSmrg -dicos*) 143670f7c90cSmrg os=-dicos 143770f7c90cSmrg ;; 1438a850946eSmrg -none) 1439a850946eSmrg ;; 1440a850946eSmrg *) 1441a850946eSmrg # Get rid of the `-' at the beginning of $os. 1442a850946eSmrg os=`echo $os | sed 's/[^-]*-//'` 1443a850946eSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1444a850946eSmrg exit 1 1445a850946eSmrg ;; 1446a850946eSmrgesac 1447a850946eSmrgelse 1448a850946eSmrg 1449a850946eSmrg# Here we handle the default operating systems that come with various machines. 1450a850946eSmrg# The value should be what the vendor currently ships out the door with their 1451a850946eSmrg# machine or put another way, the most popular os provided with the machine. 1452a850946eSmrg 1453a850946eSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1454a850946eSmrg# "-sun"), then you have to tell the case statement up towards the top 1455a850946eSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1456a850946eSmrg# will signal an error saying that MANUFACTURER isn't an operating 1457a850946eSmrg# system, and we'll never get to this point. 1458a850946eSmrg 1459a850946eSmrgcase $basic_machine in 146070f7c90cSmrg score-*) 146170f7c90cSmrg os=-elf 146270f7c90cSmrg ;; 146370f7c90cSmrg spu-*) 146470f7c90cSmrg os=-elf 146570f7c90cSmrg ;; 1466a850946eSmrg *-acorn) 1467a850946eSmrg os=-riscix1.2 1468a850946eSmrg ;; 1469a850946eSmrg arm*-rebel) 1470a850946eSmrg os=-linux 1471a850946eSmrg ;; 1472a850946eSmrg arm*-semi) 1473a850946eSmrg os=-aout 1474a850946eSmrg ;; 147570f7c90cSmrg c4x-* | tic4x-*) 147670f7c90cSmrg os=-coff 1477a850946eSmrg ;; 1478a850946eSmrg # This must come before the *-dec entry. 1479a850946eSmrg pdp10-*) 1480a850946eSmrg os=-tops20 1481a850946eSmrg ;; 1482a850946eSmrg pdp11-*) 1483a850946eSmrg os=-none 1484a850946eSmrg ;; 1485a850946eSmrg *-dec | vax-*) 1486a850946eSmrg os=-ultrix4.2 1487a850946eSmrg ;; 1488a850946eSmrg m68*-apollo) 1489a850946eSmrg os=-domain 1490a850946eSmrg ;; 1491a850946eSmrg i386-sun) 1492a850946eSmrg os=-sunos4.0.2 1493a850946eSmrg ;; 1494a850946eSmrg m68000-sun) 1495a850946eSmrg os=-sunos3 1496a850946eSmrg # This also exists in the configure program, but was not the 1497a850946eSmrg # default. 1498a850946eSmrg # os=-sunos4 1499a850946eSmrg ;; 1500a850946eSmrg m68*-cisco) 1501a850946eSmrg os=-aout 1502a850946eSmrg ;; 150370f7c90cSmrg mep-*) 150470f7c90cSmrg os=-elf 150570f7c90cSmrg ;; 1506a850946eSmrg mips*-cisco) 1507a850946eSmrg os=-elf 1508a850946eSmrg ;; 1509a850946eSmrg mips*-*) 1510a850946eSmrg os=-elf 1511a850946eSmrg ;; 1512a850946eSmrg or32-*) 1513a850946eSmrg os=-coff 1514a850946eSmrg ;; 1515a850946eSmrg *-tti) # must be before sparc entry or we get the wrong os. 1516a850946eSmrg os=-sysv3 1517a850946eSmrg ;; 1518a850946eSmrg sparc-* | *-sun) 1519a850946eSmrg os=-sunos4.1.1 1520a850946eSmrg ;; 1521a850946eSmrg *-be) 1522a850946eSmrg os=-beos 1523a850946eSmrg ;; 152470f7c90cSmrg *-haiku) 152570f7c90cSmrg os=-haiku 152670f7c90cSmrg ;; 1527a850946eSmrg *-ibm) 1528a850946eSmrg os=-aix 1529a850946eSmrg ;; 153070f7c90cSmrg *-knuth) 153170f7c90cSmrg os=-mmixware 153270f7c90cSmrg ;; 1533a850946eSmrg *-wec) 1534a850946eSmrg os=-proelf 1535a850946eSmrg ;; 1536a850946eSmrg *-winbond) 1537a850946eSmrg os=-proelf 1538a850946eSmrg ;; 1539a850946eSmrg *-oki) 1540a850946eSmrg os=-proelf 1541a850946eSmrg ;; 1542a850946eSmrg *-hp) 1543a850946eSmrg os=-hpux 1544a850946eSmrg ;; 1545a850946eSmrg *-hitachi) 1546a850946eSmrg os=-hiux 1547a850946eSmrg ;; 1548a850946eSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1549a850946eSmrg os=-sysv 1550a850946eSmrg ;; 1551a850946eSmrg *-cbm) 1552a850946eSmrg os=-amigaos 1553a850946eSmrg ;; 1554a850946eSmrg *-dg) 1555a850946eSmrg os=-dgux 1556a850946eSmrg ;; 1557a850946eSmrg *-dolphin) 1558a850946eSmrg os=-sysv3 1559a850946eSmrg ;; 1560a850946eSmrg m68k-ccur) 1561a850946eSmrg os=-rtu 1562a850946eSmrg ;; 1563a850946eSmrg m88k-omron*) 1564a850946eSmrg os=-luna 1565a850946eSmrg ;; 1566a850946eSmrg *-next ) 1567a850946eSmrg os=-nextstep 1568a850946eSmrg ;; 1569a850946eSmrg *-sequent) 1570a850946eSmrg os=-ptx 1571a850946eSmrg ;; 1572a850946eSmrg *-crds) 1573a850946eSmrg os=-unos 1574a850946eSmrg ;; 1575a850946eSmrg *-ns) 1576a850946eSmrg os=-genix 1577a850946eSmrg ;; 1578a850946eSmrg i370-*) 1579a850946eSmrg os=-mvs 1580a850946eSmrg ;; 1581a850946eSmrg *-next) 1582a850946eSmrg os=-nextstep3 1583a850946eSmrg ;; 1584a850946eSmrg *-gould) 1585a850946eSmrg os=-sysv 1586a850946eSmrg ;; 1587a850946eSmrg *-highlevel) 1588a850946eSmrg os=-bsd 1589a850946eSmrg ;; 1590a850946eSmrg *-encore) 1591a850946eSmrg os=-bsd 1592a850946eSmrg ;; 1593a850946eSmrg *-sgi) 1594a850946eSmrg os=-irix 1595a850946eSmrg ;; 1596a850946eSmrg *-siemens) 1597a850946eSmrg os=-sysv4 1598a850946eSmrg ;; 1599a850946eSmrg *-masscomp) 1600a850946eSmrg os=-rtu 1601a850946eSmrg ;; 1602a850946eSmrg f30[01]-fujitsu | f700-fujitsu) 1603a850946eSmrg os=-uxpv 1604a850946eSmrg ;; 1605a850946eSmrg *-rom68k) 1606a850946eSmrg os=-coff 1607a850946eSmrg ;; 1608a850946eSmrg *-*bug) 1609a850946eSmrg os=-coff 1610a850946eSmrg ;; 1611a850946eSmrg *-apple) 1612a850946eSmrg os=-macos 1613a850946eSmrg ;; 1614a850946eSmrg *-atari*) 1615a850946eSmrg os=-mint 1616a850946eSmrg ;; 1617a850946eSmrg *) 1618a850946eSmrg os=-none 1619a850946eSmrg ;; 1620a850946eSmrgesac 1621a850946eSmrgfi 1622a850946eSmrg 1623a850946eSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1624a850946eSmrg# manufacturer. We pick the logical manufacturer. 1625a850946eSmrgvendor=unknown 1626a850946eSmrgcase $basic_machine in 1627a850946eSmrg *-unknown) 1628a850946eSmrg case $os in 1629a850946eSmrg -riscix*) 1630a850946eSmrg vendor=acorn 1631a850946eSmrg ;; 1632a850946eSmrg -sunos*) 1633a850946eSmrg vendor=sun 1634a850946eSmrg ;; 16357dff02feSmrg -cnk*|-aix*) 1636a850946eSmrg vendor=ibm 1637a850946eSmrg ;; 1638a850946eSmrg -beos*) 1639a850946eSmrg vendor=be 1640a850946eSmrg ;; 1641a850946eSmrg -hpux*) 1642a850946eSmrg vendor=hp 1643a850946eSmrg ;; 1644a850946eSmrg -mpeix*) 1645a850946eSmrg vendor=hp 1646a850946eSmrg ;; 1647a850946eSmrg -hiux*) 1648a850946eSmrg vendor=hitachi 1649a850946eSmrg ;; 1650a850946eSmrg -unos*) 1651a850946eSmrg vendor=crds 1652a850946eSmrg ;; 1653a850946eSmrg -dgux*) 1654a850946eSmrg vendor=dg 1655a850946eSmrg ;; 1656a850946eSmrg -luna*) 1657a850946eSmrg vendor=omron 1658a850946eSmrg ;; 1659a850946eSmrg -genix*) 1660a850946eSmrg vendor=ns 1661a850946eSmrg ;; 1662a850946eSmrg -mvs* | -opened*) 1663a850946eSmrg vendor=ibm 1664a850946eSmrg ;; 166570f7c90cSmrg -os400*) 166670f7c90cSmrg vendor=ibm 166770f7c90cSmrg ;; 1668a850946eSmrg -ptx*) 1669a850946eSmrg vendor=sequent 1670a850946eSmrg ;; 167170f7c90cSmrg -tpf*) 167270f7c90cSmrg vendor=ibm 167370f7c90cSmrg ;; 1674a850946eSmrg -vxsim* | -vxworks* | -windiss*) 1675a850946eSmrg vendor=wrs 1676a850946eSmrg ;; 1677a850946eSmrg -aux*) 1678a850946eSmrg vendor=apple 1679a850946eSmrg ;; 1680a850946eSmrg -hms*) 1681a850946eSmrg vendor=hitachi 1682a850946eSmrg ;; 1683a850946eSmrg -mpw* | -macos*) 1684a850946eSmrg vendor=apple 1685a850946eSmrg ;; 1686a850946eSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1687a850946eSmrg vendor=atari 1688a850946eSmrg ;; 1689a850946eSmrg -vos*) 1690a850946eSmrg vendor=stratus 1691a850946eSmrg ;; 1692a850946eSmrg esac 1693a850946eSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1694a850946eSmrg ;; 1695a850946eSmrgesac 1696a850946eSmrg 1697a850946eSmrgecho $basic_machine$os 169870f7c90cSmrgexit 1699a850946eSmrg 1700a850946eSmrg# Local variables: 1701a850946eSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1702a850946eSmrg# time-stamp-start: "timestamp='" 1703a850946eSmrg# time-stamp-format: "%:y-%02m-%02d" 1704a850946eSmrg# time-stamp-end: "'" 1705a850946eSmrg# End: 1706