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