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