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