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