config.sub revision 706b6b52
1b042e37fSmrg#! /bin/sh 2b042e37fSmrg# Configuration validation subroutine script. 3b042e37fSmrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4706b6b52Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 5706b6b52Smrg# Free Software Foundation, Inc. 6b042e37fSmrg 7706b6b52Smrgtimestamp='2010-09-11' 8b042e37fSmrg 9b042e37fSmrg# This file is (in principle) common to ALL GNU software. 10b042e37fSmrg# The presence of a machine in this file suggests that SOME GNU software 11b042e37fSmrg# can handle that machine. It does not imply ALL GNU software can. 12b042e37fSmrg# 13b042e37fSmrg# This file is free software; you can redistribute it and/or modify 14b042e37fSmrg# it under the terms of the GNU General Public License as published by 15b042e37fSmrg# the Free Software Foundation; either version 2 of the License, or 16b042e37fSmrg# (at your option) any later version. 17b042e37fSmrg# 18b042e37fSmrg# This program is distributed in the hope that it will be useful, 19b042e37fSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20b042e37fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21b042e37fSmrg# GNU General Public License for more details. 22b042e37fSmrg# 23b042e37fSmrg# You should have received a copy of the GNU General Public License 24b042e37fSmrg# along with this program; if not, write to the Free Software 258c4a8e55Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 268c4a8e55Smrg# 02110-1301, USA. 278c4a8e55Smrg# 28b042e37fSmrg# As a special exception to the GNU General Public License, if you 29b042e37fSmrg# distribute this file as part of a program that contains a 30b042e37fSmrg# configuration script generated by Autoconf, you may include it under 31b042e37fSmrg# the same distribution terms that you use for the rest of that program. 32b042e37fSmrg 338c4a8e55Smrg 34b042e37fSmrg# Please send patches to <config-patches@gnu.org>. Submit a context 35706b6b52Smrg# diff and a properly formatted GNU ChangeLog entry. 36b042e37fSmrg# 37b042e37fSmrg# Configuration subroutine to validate and canonicalize a configuration type. 38b042e37fSmrg# Supply the specified configuration type as an argument. 39b042e37fSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 40b042e37fSmrg# Otherwise, we print the canonical config type on stdout and succeed. 41b042e37fSmrg 42706b6b52Smrg# You can get the latest version of this script from: 43706b6b52Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 44706b6b52Smrg 45b042e37fSmrg# This file is supposed to be the same for all GNU packages 46b042e37fSmrg# and recognize all the CPU types, system types and aliases 47b042e37fSmrg# that are meaningful with *any* GNU software. 48b042e37fSmrg# Each package is responsible for reporting which valid configurations 49b042e37fSmrg# it does not support. The user should be able to distinguish 50b042e37fSmrg# a failure to support a valid configuration from a meaningless 51b042e37fSmrg# configuration. 52b042e37fSmrg 53b042e37fSmrg# The goal of this file is to map all the various variations of a given 54b042e37fSmrg# machine specification into a single specification in the form: 55b042e37fSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56b042e37fSmrg# or in some cases, the newer four-part form: 57b042e37fSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58b042e37fSmrg# It is wrong to echo any other type of specification. 59b042e37fSmrg 60b042e37fSmrgme=`echo "$0" | sed -e 's,.*/,,'` 61b042e37fSmrg 62b042e37fSmrgusage="\ 63b042e37fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64b042e37fSmrg $0 [OPTION] ALIAS 65b042e37fSmrg 66b042e37fSmrgCanonicalize a configuration name. 67b042e37fSmrg 68b042e37fSmrgOperation modes: 69b042e37fSmrg -h, --help print this help, then exit 70b042e37fSmrg -t, --time-stamp print date of last modification, then exit 71b042e37fSmrg -v, --version print version number, then exit 72b042e37fSmrg 73b042e37fSmrgReport bugs and patches to <config-patches@gnu.org>." 74b042e37fSmrg 75b042e37fSmrgversion="\ 76b042e37fSmrgGNU config.sub ($timestamp) 77b042e37fSmrg 78706b6b52SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 79706b6b52Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 80706b6b52SmrgSoftware Foundation, Inc. 81b042e37fSmrg 82b042e37fSmrgThis is free software; see the source for copying conditions. There is NO 83b042e37fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84b042e37fSmrg 85b042e37fSmrghelp=" 86b042e37fSmrgTry \`$me --help' for more information." 87b042e37fSmrg 88b042e37fSmrg# Parse command line 89b042e37fSmrgwhile test $# -gt 0 ; do 90b042e37fSmrg case $1 in 91b042e37fSmrg --time-stamp | --time* | -t ) 928c4a8e55Smrg echo "$timestamp" ; exit ;; 93b042e37fSmrg --version | -v ) 948c4a8e55Smrg echo "$version" ; exit ;; 95b042e37fSmrg --help | --h* | -h ) 968c4a8e55Smrg echo "$usage"; exit ;; 97b042e37fSmrg -- ) # Stop option processing 98b042e37fSmrg shift; break ;; 99b042e37fSmrg - ) # Use stdin as input. 100b042e37fSmrg break ;; 101b042e37fSmrg -* ) 102b042e37fSmrg echo "$me: invalid option $1$help" 103b042e37fSmrg exit 1 ;; 104b042e37fSmrg 105b042e37fSmrg *local*) 106b042e37fSmrg # First pass through any local machine types. 107b042e37fSmrg echo $1 1088c4a8e55Smrg exit ;; 109b042e37fSmrg 110b042e37fSmrg * ) 111b042e37fSmrg break ;; 112b042e37fSmrg esac 113b042e37fSmrgdone 114b042e37fSmrg 115b042e37fSmrgcase $# in 116b042e37fSmrg 0) echo "$me: missing argument$help" >&2 117b042e37fSmrg exit 1;; 118b042e37fSmrg 1) ;; 119b042e37fSmrg *) echo "$me: too many arguments$help" >&2 120b042e37fSmrg exit 1;; 121b042e37fSmrgesac 122b042e37fSmrg 123b042e37fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124b042e37fSmrg# Here we must recognize all the valid KERNEL-OS combinations. 125b042e37fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126b042e37fSmrgcase $maybe_os in 127706b6b52Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 128706b6b52Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 129706b6b52Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 130706b6b52Smrg kopensolaris*-gnu* | \ 1318c4a8e55Smrg storm-chaos* | os2-emx* | rtmk-nova*) 132b042e37fSmrg os=-$maybe_os 133b042e37fSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134b042e37fSmrg ;; 135b042e37fSmrg *) 136b042e37fSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137b042e37fSmrg if [ $basic_machine != $1 ] 138b042e37fSmrg then os=`echo $1 | sed 's/.*-/-/'` 139b042e37fSmrg else os=; fi 140b042e37fSmrg ;; 141b042e37fSmrgesac 142b042e37fSmrg 143b042e37fSmrg### Let's recognize common machines as not being operating systems so 144b042e37fSmrg### that things like config.sub decstation-3100 work. We also 145b042e37fSmrg### recognize some manufacturers as not being operating systems, so we 146b042e37fSmrg### can provide default operating systems below. 147b042e37fSmrgcase $os in 148b042e37fSmrg -sun*os*) 149b042e37fSmrg # Prevent following clause from handling this invalid input. 150b042e37fSmrg ;; 151b042e37fSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152b042e37fSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153b042e37fSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154b042e37fSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155b042e37fSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156b042e37fSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 157706b6b52Smrg -apple | -axis | -knuth | -cray | -microblaze) 158b042e37fSmrg os= 159b042e37fSmrg basic_machine=$1 160b042e37fSmrg ;; 161706b6b52Smrg -bluegene*) 162706b6b52Smrg os=-cnk 163706b6b52Smrg ;; 164b042e37fSmrg -sim | -cisco | -oki | -wec | -winbond) 165b042e37fSmrg os= 166b042e37fSmrg basic_machine=$1 167b042e37fSmrg ;; 168b042e37fSmrg -scout) 169b042e37fSmrg ;; 170b042e37fSmrg -wrs) 171b042e37fSmrg os=-vxworks 172b042e37fSmrg basic_machine=$1 173b042e37fSmrg ;; 174b042e37fSmrg -chorusos*) 175b042e37fSmrg os=-chorusos 176b042e37fSmrg basic_machine=$1 177b042e37fSmrg ;; 178b042e37fSmrg -chorusrdb) 179b042e37fSmrg os=-chorusrdb 180b042e37fSmrg basic_machine=$1 181b042e37fSmrg ;; 182b042e37fSmrg -hiux*) 183b042e37fSmrg os=-hiuxwe2 184b042e37fSmrg ;; 1858c4a8e55Smrg -sco6) 1868c4a8e55Smrg os=-sco5v6 1878c4a8e55Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1888c4a8e55Smrg ;; 189b042e37fSmrg -sco5) 190b042e37fSmrg os=-sco3.2v5 191b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192b042e37fSmrg ;; 193b042e37fSmrg -sco4) 194b042e37fSmrg os=-sco3.2v4 195b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196b042e37fSmrg ;; 197b042e37fSmrg -sco3.2.[4-9]*) 198b042e37fSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200b042e37fSmrg ;; 201b042e37fSmrg -sco3.2v[4-9]*) 202b042e37fSmrg # Don't forget version if it is 3.2v4 or newer. 203b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204b042e37fSmrg ;; 2058c4a8e55Smrg -sco5v6*) 2068c4a8e55Smrg # Don't forget version if it is 3.2v4 or newer. 2078c4a8e55Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2088c4a8e55Smrg ;; 209b042e37fSmrg -sco*) 210b042e37fSmrg os=-sco3.2v2 211b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212b042e37fSmrg ;; 213b042e37fSmrg -udk*) 214b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215b042e37fSmrg ;; 216b042e37fSmrg -isc) 217b042e37fSmrg os=-isc2.2 218b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219b042e37fSmrg ;; 220b042e37fSmrg -clix*) 221b042e37fSmrg basic_machine=clipper-intergraph 222b042e37fSmrg ;; 223b042e37fSmrg -isc*) 224b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225b042e37fSmrg ;; 226b042e37fSmrg -lynx*) 227b042e37fSmrg os=-lynxos 228b042e37fSmrg ;; 229b042e37fSmrg -ptx*) 230b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231b042e37fSmrg ;; 232b042e37fSmrg -windowsnt*) 233b042e37fSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234b042e37fSmrg ;; 235b042e37fSmrg -psos*) 236b042e37fSmrg os=-psos 237b042e37fSmrg ;; 238b042e37fSmrg -mint | -mint[0-9]*) 239b042e37fSmrg basic_machine=m68k-atari 240b042e37fSmrg os=-mint 241b042e37fSmrg ;; 242b042e37fSmrgesac 243b042e37fSmrg 244b042e37fSmrg# Decode aliases for certain CPU-COMPANY combinations. 245b042e37fSmrgcase $basic_machine in 246b042e37fSmrg # Recognize the basic CPU types without company name. 247b042e37fSmrg # Some are omitted here because they have special meanings below. 248b042e37fSmrg 1750a | 580 \ 249b042e37fSmrg | a29k \ 250b042e37fSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251b042e37fSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2528c4a8e55Smrg | am33_2.0 \ 2538c4a8e55Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2548c4a8e55Smrg | bfin \ 255b042e37fSmrg | c4x | clipper \ 256b042e37fSmrg | d10v | d30v | dlx | dsp16xx \ 257706b6b52Smrg | fido | fr30 | frv \ 258b042e37fSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 259b042e37fSmrg | i370 | i860 | i960 | ia64 \ 2608c4a8e55Smrg | ip2k | iq2000 \ 261706b6b52Smrg | lm32 \ 2628c4a8e55Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 263706b6b52Smrg | maxq | mb | microblaze | mcore | mep | metag \ 264b042e37fSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 265b042e37fSmrg | mips16 \ 266b042e37fSmrg | mips64 | mips64el \ 267706b6b52Smrg | mips64octeon | mips64octeonel \ 268b042e37fSmrg | mips64orion | mips64orionel \ 269706b6b52Smrg | mips64r5900 | mips64r5900el \ 270706b6b52Smrg | mips64vr | mips64vrel \ 271b042e37fSmrg | mips64vr4100 | mips64vr4100el \ 272b042e37fSmrg | mips64vr4300 | mips64vr4300el \ 273b042e37fSmrg | mips64vr5000 | mips64vr5000el \ 2748c4a8e55Smrg | mips64vr5900 | mips64vr5900el \ 275b042e37fSmrg | mipsisa32 | mipsisa32el \ 276b042e37fSmrg | mipsisa32r2 | mipsisa32r2el \ 277b042e37fSmrg | mipsisa64 | mipsisa64el \ 2788c4a8e55Smrg | mipsisa64r2 | mipsisa64r2el \ 279b042e37fSmrg | mipsisa64sb1 | mipsisa64sb1el \ 280b042e37fSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 281b042e37fSmrg | mipstx39 | mipstx39el \ 282b042e37fSmrg | mn10200 | mn10300 \ 283706b6b52Smrg | moxie \ 2848c4a8e55Smrg | mt \ 285b042e37fSmrg | msp430 \ 286706b6b52Smrg | nds32 | nds32le | nds32be \ 2878c4a8e55Smrg | nios | nios2 \ 288b042e37fSmrg | ns16k | ns32k \ 2898c4a8e55Smrg | or32 \ 290b042e37fSmrg | pdp10 | pdp11 | pj | pjl \ 291b042e37fSmrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 292b042e37fSmrg | pyramid \ 293706b6b52Smrg | rx \ 2948c4a8e55Smrg | score \ 295706b6b52Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 296b042e37fSmrg | sh64 | sh64le \ 2978c4a8e55Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 2988c4a8e55Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 2998c4a8e55Smrg | spu | strongarm \ 300706b6b52Smrg | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 301706b6b52Smrg | ubicom32 \ 302b042e37fSmrg | v850 | v850e \ 303b042e37fSmrg | we32k \ 3048c4a8e55Smrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 305706b6b52Smrg | z8k | z80) 306b042e37fSmrg basic_machine=$basic_machine-unknown 307b042e37fSmrg ;; 308706b6b52Smrg c54x) 309706b6b52Smrg basic_machine=tic54x-unknown 310706b6b52Smrg ;; 311706b6b52Smrg c55x) 312706b6b52Smrg basic_machine=tic55x-unknown 313706b6b52Smrg ;; 314706b6b52Smrg c6x) 315706b6b52Smrg basic_machine=tic6x-unknown 316706b6b52Smrg ;; 317706b6b52Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 318b042e37fSmrg # Motorola 68HC11/12. 319b042e37fSmrg basic_machine=$basic_machine-unknown 320b042e37fSmrg os=-none 321b042e37fSmrg ;; 322b042e37fSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 323b042e37fSmrg ;; 3248c4a8e55Smrg ms1) 3258c4a8e55Smrg basic_machine=mt-unknown 3268c4a8e55Smrg ;; 327b042e37fSmrg 328b042e37fSmrg # We use `pc' rather than `unknown' 329b042e37fSmrg # because (1) that's what they normally are, and 330b042e37fSmrg # (2) the word "unknown" tends to confuse beginning users. 331b042e37fSmrg i*86 | x86_64) 332b042e37fSmrg basic_machine=$basic_machine-pc 333b042e37fSmrg ;; 334b042e37fSmrg # Object if more than one company name word. 335b042e37fSmrg *-*-*) 336b042e37fSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 337b042e37fSmrg exit 1 338b042e37fSmrg ;; 339b042e37fSmrg # Recognize the basic CPU types with company name. 340b042e37fSmrg 580-* \ 341b042e37fSmrg | a29k-* \ 342b042e37fSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 343b042e37fSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3448c4a8e55Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 345b042e37fSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3468c4a8e55Smrg | avr-* | avr32-* \ 3478c4a8e55Smrg | bfin-* | bs2000-* \ 348706b6b52Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3498c4a8e55Smrg | clipper-* | craynv-* | cydra-* \ 350b042e37fSmrg | d10v-* | d30v-* | dlx-* \ 351b042e37fSmrg | elxsi-* \ 352706b6b52Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 353b042e37fSmrg | h8300-* | h8500-* \ 354b042e37fSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 355b042e37fSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3568c4a8e55Smrg | ip2k-* | iq2000-* \ 357706b6b52Smrg | lm32-* \ 3588c4a8e55Smrg | m32c-* | m32r-* | m32rle-* \ 359b042e37fSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 360706b6b52Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 361b042e37fSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 362b042e37fSmrg | mips16-* \ 363b042e37fSmrg | mips64-* | mips64el-* \ 364706b6b52Smrg | mips64octeon-* | mips64octeonel-* \ 365b042e37fSmrg | mips64orion-* | mips64orionel-* \ 366706b6b52Smrg | mips64r5900-* | mips64r5900el-* \ 367706b6b52Smrg | mips64vr-* | mips64vrel-* \ 368b042e37fSmrg | mips64vr4100-* | mips64vr4100el-* \ 369b042e37fSmrg | mips64vr4300-* | mips64vr4300el-* \ 370b042e37fSmrg | mips64vr5000-* | mips64vr5000el-* \ 3718c4a8e55Smrg | mips64vr5900-* | mips64vr5900el-* \ 372b042e37fSmrg | mipsisa32-* | mipsisa32el-* \ 373b042e37fSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 374b042e37fSmrg | mipsisa64-* | mipsisa64el-* \ 3758c4a8e55Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 376b042e37fSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 377b042e37fSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 378b042e37fSmrg | mipstx39-* | mipstx39el-* \ 3798c4a8e55Smrg | mmix-* \ 3808c4a8e55Smrg | mt-* \ 381b042e37fSmrg | msp430-* \ 382706b6b52Smrg | nds32-* | nds32le-* | nds32be-* \ 3838c4a8e55Smrg | nios-* | nios2-* \ 3848c4a8e55Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 385b042e37fSmrg | orion-* \ 386b042e37fSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 387b042e37fSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 388b042e37fSmrg | pyramid-* \ 389706b6b52Smrg | romp-* | rs6000-* | rx-* \ 390706b6b52Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 391b042e37fSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 3928c4a8e55Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 3938c4a8e55Smrg | sparclite-* \ 3948c4a8e55Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 395b042e37fSmrg | tahoe-* | thumb-* \ 396b042e37fSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 397706b6b52Smrg | tile-* | tilegx-* \ 398b042e37fSmrg | tron-* \ 399706b6b52Smrg | ubicom32-* \ 400b042e37fSmrg | v850-* | v850e-* | vax-* \ 401b042e37fSmrg | we32k-* \ 4028c4a8e55Smrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 403706b6b52Smrg | xstormy16-* | xtensa*-* \ 404b042e37fSmrg | ymp-* \ 405706b6b52Smrg | z8k-* | z80-*) 406706b6b52Smrg ;; 407706b6b52Smrg # Recognize the basic CPU types without company name, with glob match. 408706b6b52Smrg xtensa*) 409706b6b52Smrg basic_machine=$basic_machine-unknown 410b042e37fSmrg ;; 411b042e37fSmrg # Recognize the various machine names and aliases which stand 412b042e37fSmrg # for a CPU type and a company and sometimes even an OS. 413b042e37fSmrg 386bsd) 414b042e37fSmrg basic_machine=i386-unknown 415b042e37fSmrg os=-bsd 416b042e37fSmrg ;; 417b042e37fSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 418b042e37fSmrg basic_machine=m68000-att 419b042e37fSmrg ;; 420b042e37fSmrg 3b*) 421b042e37fSmrg basic_machine=we32k-att 422b042e37fSmrg ;; 423b042e37fSmrg a29khif) 424b042e37fSmrg basic_machine=a29k-amd 425b042e37fSmrg os=-udi 426b042e37fSmrg ;; 4278c4a8e55Smrg abacus) 4288c4a8e55Smrg basic_machine=abacus-unknown 4298c4a8e55Smrg ;; 430b042e37fSmrg adobe68k) 431b042e37fSmrg basic_machine=m68010-adobe 432b042e37fSmrg os=-scout 433b042e37fSmrg ;; 434b042e37fSmrg alliant | fx80) 435b042e37fSmrg basic_machine=fx80-alliant 436b042e37fSmrg ;; 437b042e37fSmrg altos | altos3068) 438b042e37fSmrg basic_machine=m68k-altos 439b042e37fSmrg ;; 440b042e37fSmrg am29k) 441b042e37fSmrg basic_machine=a29k-none 442b042e37fSmrg os=-bsd 443b042e37fSmrg ;; 444b042e37fSmrg amd64) 445b042e37fSmrg basic_machine=x86_64-pc 446b042e37fSmrg ;; 4478c4a8e55Smrg amd64-*) 4488c4a8e55Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4498c4a8e55Smrg ;; 450b042e37fSmrg amdahl) 451b042e37fSmrg basic_machine=580-amdahl 452b042e37fSmrg os=-sysv 453b042e37fSmrg ;; 454b042e37fSmrg amiga | amiga-*) 455b042e37fSmrg basic_machine=m68k-unknown 456b042e37fSmrg ;; 457b042e37fSmrg amigaos | amigados) 458b042e37fSmrg basic_machine=m68k-unknown 459b042e37fSmrg os=-amigaos 460b042e37fSmrg ;; 461b042e37fSmrg amigaunix | amix) 462b042e37fSmrg basic_machine=m68k-unknown 463b042e37fSmrg os=-sysv4 464b042e37fSmrg ;; 465b042e37fSmrg apollo68) 466b042e37fSmrg basic_machine=m68k-apollo 467b042e37fSmrg os=-sysv 468b042e37fSmrg ;; 469b042e37fSmrg apollo68bsd) 470b042e37fSmrg basic_machine=m68k-apollo 471b042e37fSmrg os=-bsd 472b042e37fSmrg ;; 473706b6b52Smrg aros) 474706b6b52Smrg basic_machine=i386-pc 475706b6b52Smrg os=-aros 476706b6b52Smrg ;; 477b042e37fSmrg aux) 478b042e37fSmrg basic_machine=m68k-apple 479b042e37fSmrg os=-aux 480b042e37fSmrg ;; 481b042e37fSmrg balance) 482b042e37fSmrg basic_machine=ns32k-sequent 483b042e37fSmrg os=-dynix 484b042e37fSmrg ;; 485706b6b52Smrg blackfin) 486706b6b52Smrg basic_machine=bfin-unknown 487706b6b52Smrg os=-linux 488706b6b52Smrg ;; 489706b6b52Smrg blackfin-*) 490706b6b52Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 491706b6b52Smrg os=-linux 492706b6b52Smrg ;; 493706b6b52Smrg bluegene*) 494706b6b52Smrg basic_machine=powerpc-ibm 495706b6b52Smrg os=-cnk 496706b6b52Smrg ;; 497706b6b52Smrg c54x-*) 498706b6b52Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 499706b6b52Smrg ;; 500706b6b52Smrg c55x-*) 501706b6b52Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 502706b6b52Smrg ;; 503706b6b52Smrg c6x-*) 504706b6b52Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 505706b6b52Smrg ;; 506b042e37fSmrg c90) 507b042e37fSmrg basic_machine=c90-cray 508b042e37fSmrg os=-unicos 509b042e37fSmrg ;; 510706b6b52Smrg cegcc) 511706b6b52Smrg basic_machine=arm-unknown 512706b6b52Smrg os=-cegcc 513706b6b52Smrg ;; 514b042e37fSmrg convex-c1) 515b042e37fSmrg basic_machine=c1-convex 516b042e37fSmrg os=-bsd 517b042e37fSmrg ;; 518b042e37fSmrg convex-c2) 519b042e37fSmrg basic_machine=c2-convex 520b042e37fSmrg os=-bsd 521b042e37fSmrg ;; 522b042e37fSmrg convex-c32) 523b042e37fSmrg basic_machine=c32-convex 524b042e37fSmrg os=-bsd 525b042e37fSmrg ;; 526b042e37fSmrg convex-c34) 527b042e37fSmrg basic_machine=c34-convex 528b042e37fSmrg os=-bsd 529b042e37fSmrg ;; 530b042e37fSmrg convex-c38) 531b042e37fSmrg basic_machine=c38-convex 532b042e37fSmrg os=-bsd 533b042e37fSmrg ;; 534b042e37fSmrg cray | j90) 535b042e37fSmrg basic_machine=j90-cray 536b042e37fSmrg os=-unicos 537b042e37fSmrg ;; 5388c4a8e55Smrg craynv) 5398c4a8e55Smrg basic_machine=craynv-cray 5408c4a8e55Smrg os=-unicosmp 5418c4a8e55Smrg ;; 542706b6b52Smrg cr16) 543706b6b52Smrg basic_machine=cr16-unknown 5448c4a8e55Smrg os=-elf 5458c4a8e55Smrg ;; 546b042e37fSmrg crds | unos) 547b042e37fSmrg basic_machine=m68k-crds 548b042e37fSmrg ;; 5498c4a8e55Smrg crisv32 | crisv32-* | etraxfs*) 5508c4a8e55Smrg basic_machine=crisv32-axis 5518c4a8e55Smrg ;; 552b042e37fSmrg cris | cris-* | etrax*) 553b042e37fSmrg basic_machine=cris-axis 554b042e37fSmrg ;; 5558c4a8e55Smrg crx) 5568c4a8e55Smrg basic_machine=crx-unknown 5578c4a8e55Smrg os=-elf 5588c4a8e55Smrg ;; 559b042e37fSmrg da30 | da30-*) 560b042e37fSmrg basic_machine=m68k-da30 561b042e37fSmrg ;; 562b042e37fSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 563b042e37fSmrg basic_machine=mips-dec 564b042e37fSmrg ;; 565b042e37fSmrg decsystem10* | dec10*) 566b042e37fSmrg basic_machine=pdp10-dec 567b042e37fSmrg os=-tops10 568b042e37fSmrg ;; 569b042e37fSmrg decsystem20* | dec20*) 570b042e37fSmrg basic_machine=pdp10-dec 571b042e37fSmrg os=-tops20 572b042e37fSmrg ;; 573b042e37fSmrg delta | 3300 | motorola-3300 | motorola-delta \ 574b042e37fSmrg | 3300-motorola | delta-motorola) 575b042e37fSmrg basic_machine=m68k-motorola 576b042e37fSmrg ;; 577b042e37fSmrg delta88) 578b042e37fSmrg basic_machine=m88k-motorola 579b042e37fSmrg os=-sysv3 580b042e37fSmrg ;; 581706b6b52Smrg dicos) 582706b6b52Smrg basic_machine=i686-pc 583706b6b52Smrg os=-dicos 584706b6b52Smrg ;; 5858c4a8e55Smrg djgpp) 5868c4a8e55Smrg basic_machine=i586-pc 5878c4a8e55Smrg os=-msdosdjgpp 5888c4a8e55Smrg ;; 589b042e37fSmrg dpx20 | dpx20-*) 590b042e37fSmrg basic_machine=rs6000-bull 591b042e37fSmrg os=-bosx 592b042e37fSmrg ;; 593b042e37fSmrg dpx2* | dpx2*-bull) 594b042e37fSmrg basic_machine=m68k-bull 595b042e37fSmrg os=-sysv3 596b042e37fSmrg ;; 597b042e37fSmrg ebmon29k) 598b042e37fSmrg basic_machine=a29k-amd 599b042e37fSmrg os=-ebmon 600b042e37fSmrg ;; 601b042e37fSmrg elxsi) 602b042e37fSmrg basic_machine=elxsi-elxsi 603b042e37fSmrg os=-bsd 604b042e37fSmrg ;; 605b042e37fSmrg encore | umax | mmax) 606b042e37fSmrg basic_machine=ns32k-encore 607b042e37fSmrg ;; 608b042e37fSmrg es1800 | OSE68k | ose68k | ose | OSE) 609b042e37fSmrg basic_machine=m68k-ericsson 610b042e37fSmrg os=-ose 611b042e37fSmrg ;; 612b042e37fSmrg fx2800) 613b042e37fSmrg basic_machine=i860-alliant 614b042e37fSmrg ;; 615b042e37fSmrg genix) 616b042e37fSmrg basic_machine=ns32k-ns 617b042e37fSmrg ;; 618b042e37fSmrg gmicro) 619b042e37fSmrg basic_machine=tron-gmicro 620b042e37fSmrg os=-sysv 621b042e37fSmrg ;; 622b042e37fSmrg go32) 623b042e37fSmrg basic_machine=i386-pc 624b042e37fSmrg os=-go32 625b042e37fSmrg ;; 626b042e37fSmrg h3050r* | hiux*) 627b042e37fSmrg basic_machine=hppa1.1-hitachi 628b042e37fSmrg os=-hiuxwe2 629b042e37fSmrg ;; 630b042e37fSmrg h8300hms) 631b042e37fSmrg basic_machine=h8300-hitachi 632b042e37fSmrg os=-hms 633b042e37fSmrg ;; 634b042e37fSmrg h8300xray) 635b042e37fSmrg basic_machine=h8300-hitachi 636b042e37fSmrg os=-xray 637b042e37fSmrg ;; 638b042e37fSmrg h8500hms) 639b042e37fSmrg basic_machine=h8500-hitachi 640b042e37fSmrg os=-hms 641b042e37fSmrg ;; 642b042e37fSmrg harris) 643b042e37fSmrg basic_machine=m88k-harris 644b042e37fSmrg os=-sysv3 645b042e37fSmrg ;; 646b042e37fSmrg hp300-*) 647b042e37fSmrg basic_machine=m68k-hp 648b042e37fSmrg ;; 649b042e37fSmrg hp300bsd) 650b042e37fSmrg basic_machine=m68k-hp 651b042e37fSmrg os=-bsd 652b042e37fSmrg ;; 653b042e37fSmrg hp300hpux) 654b042e37fSmrg basic_machine=m68k-hp 655b042e37fSmrg os=-hpux 656b042e37fSmrg ;; 657b042e37fSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 658b042e37fSmrg basic_machine=hppa1.0-hp 659b042e37fSmrg ;; 660b042e37fSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 661b042e37fSmrg basic_machine=m68000-hp 662b042e37fSmrg ;; 663b042e37fSmrg hp9k3[2-9][0-9]) 664b042e37fSmrg basic_machine=m68k-hp 665b042e37fSmrg ;; 666b042e37fSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 667b042e37fSmrg basic_machine=hppa1.0-hp 668b042e37fSmrg ;; 669b042e37fSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 670b042e37fSmrg basic_machine=hppa1.1-hp 671b042e37fSmrg ;; 672b042e37fSmrg hp9k78[0-9] | hp78[0-9]) 673b042e37fSmrg # FIXME: really hppa2.0-hp 674b042e37fSmrg basic_machine=hppa1.1-hp 675b042e37fSmrg ;; 676b042e37fSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 677b042e37fSmrg # FIXME: really hppa2.0-hp 678b042e37fSmrg basic_machine=hppa1.1-hp 679b042e37fSmrg ;; 680b042e37fSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 681b042e37fSmrg basic_machine=hppa1.1-hp 682b042e37fSmrg ;; 683b042e37fSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 684b042e37fSmrg basic_machine=hppa1.0-hp 685b042e37fSmrg ;; 686b042e37fSmrg hppa-next) 687b042e37fSmrg os=-nextstep3 688b042e37fSmrg ;; 689b042e37fSmrg hppaosf) 690b042e37fSmrg basic_machine=hppa1.1-hp 691b042e37fSmrg os=-osf 692b042e37fSmrg ;; 693b042e37fSmrg hppro) 694b042e37fSmrg basic_machine=hppa1.1-hp 695b042e37fSmrg os=-proelf 696b042e37fSmrg ;; 697b042e37fSmrg i370-ibm* | ibm*) 698b042e37fSmrg basic_machine=i370-ibm 699b042e37fSmrg ;; 700b042e37fSmrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 701b042e37fSmrg i*86v32) 702b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 703b042e37fSmrg os=-sysv32 704b042e37fSmrg ;; 705b042e37fSmrg i*86v4*) 706b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 707b042e37fSmrg os=-sysv4 708b042e37fSmrg ;; 709b042e37fSmrg i*86v) 710b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 711b042e37fSmrg os=-sysv 712b042e37fSmrg ;; 713b042e37fSmrg i*86sol2) 714b042e37fSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 715b042e37fSmrg os=-solaris2 716b042e37fSmrg ;; 717b042e37fSmrg i386mach) 718b042e37fSmrg basic_machine=i386-mach 719b042e37fSmrg os=-mach 720b042e37fSmrg ;; 721b042e37fSmrg i386-vsta | vsta) 722b042e37fSmrg basic_machine=i386-unknown 723b042e37fSmrg os=-vsta 724b042e37fSmrg ;; 725b042e37fSmrg iris | iris4d) 726b042e37fSmrg basic_machine=mips-sgi 727b042e37fSmrg case $os in 728b042e37fSmrg -irix*) 729b042e37fSmrg ;; 730b042e37fSmrg *) 731b042e37fSmrg os=-irix4 732b042e37fSmrg ;; 733b042e37fSmrg esac 734b042e37fSmrg ;; 735b042e37fSmrg isi68 | isi) 736b042e37fSmrg basic_machine=m68k-isi 737b042e37fSmrg os=-sysv 738b042e37fSmrg ;; 739706b6b52Smrg m68knommu) 740706b6b52Smrg basic_machine=m68k-unknown 741706b6b52Smrg os=-linux 742706b6b52Smrg ;; 743706b6b52Smrg m68knommu-*) 744706b6b52Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 745706b6b52Smrg os=-linux 746706b6b52Smrg ;; 747b042e37fSmrg m88k-omron*) 748b042e37fSmrg basic_machine=m88k-omron 749b042e37fSmrg ;; 750b042e37fSmrg magnum | m3230) 751b042e37fSmrg basic_machine=mips-mips 752b042e37fSmrg os=-sysv 753b042e37fSmrg ;; 754b042e37fSmrg merlin) 755b042e37fSmrg basic_machine=ns32k-utek 756b042e37fSmrg os=-sysv 757b042e37fSmrg ;; 758706b6b52Smrg microblaze) 759706b6b52Smrg basic_machine=microblaze-xilinx 760706b6b52Smrg ;; 761b042e37fSmrg mingw32) 762b042e37fSmrg basic_machine=i386-pc 763b042e37fSmrg os=-mingw32 764b042e37fSmrg ;; 765706b6b52Smrg mingw32ce) 766706b6b52Smrg basic_machine=arm-unknown 767706b6b52Smrg os=-mingw32ce 768706b6b52Smrg ;; 769b042e37fSmrg miniframe) 770b042e37fSmrg basic_machine=m68000-convergent 771b042e37fSmrg ;; 772b042e37fSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 773b042e37fSmrg basic_machine=m68k-atari 774b042e37fSmrg os=-mint 775b042e37fSmrg ;; 776b042e37fSmrg mips3*-*) 777b042e37fSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 778b042e37fSmrg ;; 779b042e37fSmrg mips3*) 780b042e37fSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 781b042e37fSmrg ;; 782b042e37fSmrg monitor) 783b042e37fSmrg basic_machine=m68k-rom68k 784b042e37fSmrg os=-coff 785b042e37fSmrg ;; 786b042e37fSmrg morphos) 787b042e37fSmrg basic_machine=powerpc-unknown 788b042e37fSmrg os=-morphos 789b042e37fSmrg ;; 790b042e37fSmrg msdos) 791b042e37fSmrg basic_machine=i386-pc 792b042e37fSmrg os=-msdos 793b042e37fSmrg ;; 7948c4a8e55Smrg ms1-*) 7958c4a8e55Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 7968c4a8e55Smrg ;; 797b042e37fSmrg mvs) 798b042e37fSmrg basic_machine=i370-ibm 799b042e37fSmrg os=-mvs 800b042e37fSmrg ;; 801b042e37fSmrg ncr3000) 802b042e37fSmrg basic_machine=i486-ncr 803b042e37fSmrg os=-sysv4 804b042e37fSmrg ;; 805b042e37fSmrg netbsd386) 806b042e37fSmrg basic_machine=i386-unknown 807b042e37fSmrg os=-netbsd 808b042e37fSmrg ;; 809b042e37fSmrg netwinder) 810b042e37fSmrg basic_machine=armv4l-rebel 811b042e37fSmrg os=-linux 812b042e37fSmrg ;; 813b042e37fSmrg news | news700 | news800 | news900) 814b042e37fSmrg basic_machine=m68k-sony 815b042e37fSmrg os=-newsos 816b042e37fSmrg ;; 817b042e37fSmrg news1000) 818b042e37fSmrg basic_machine=m68030-sony 819b042e37fSmrg os=-newsos 820b042e37fSmrg ;; 821b042e37fSmrg news-3600 | risc-news) 822b042e37fSmrg basic_machine=mips-sony 823b042e37fSmrg os=-newsos 824b042e37fSmrg ;; 825b042e37fSmrg necv70) 826b042e37fSmrg basic_machine=v70-nec 827b042e37fSmrg os=-sysv 828b042e37fSmrg ;; 829b042e37fSmrg next | m*-next ) 830b042e37fSmrg basic_machine=m68k-next 831b042e37fSmrg case $os in 832b042e37fSmrg -nextstep* ) 833b042e37fSmrg ;; 834b042e37fSmrg -ns2*) 835b042e37fSmrg os=-nextstep2 836b042e37fSmrg ;; 837b042e37fSmrg *) 838b042e37fSmrg os=-nextstep3 839b042e37fSmrg ;; 840b042e37fSmrg esac 841b042e37fSmrg ;; 842b042e37fSmrg nh3000) 843b042e37fSmrg basic_machine=m68k-harris 844b042e37fSmrg os=-cxux 845b042e37fSmrg ;; 846b042e37fSmrg nh[45]000) 847b042e37fSmrg basic_machine=m88k-harris 848b042e37fSmrg os=-cxux 849b042e37fSmrg ;; 850b042e37fSmrg nindy960) 851b042e37fSmrg basic_machine=i960-intel 852b042e37fSmrg os=-nindy 853b042e37fSmrg ;; 854b042e37fSmrg mon960) 855b042e37fSmrg basic_machine=i960-intel 856b042e37fSmrg os=-mon960 857b042e37fSmrg ;; 858b042e37fSmrg nonstopux) 859b042e37fSmrg basic_machine=mips-compaq 860b042e37fSmrg os=-nonstopux 861b042e37fSmrg ;; 862b042e37fSmrg np1) 863b042e37fSmrg basic_machine=np1-gould 864b042e37fSmrg ;; 865706b6b52Smrg neo-tandem) 866706b6b52Smrg basic_machine=neo-tandem 867706b6b52Smrg ;; 868706b6b52Smrg nse-tandem) 869706b6b52Smrg basic_machine=nse-tandem 870706b6b52Smrg ;; 871b042e37fSmrg nsr-tandem) 872b042e37fSmrg basic_machine=nsr-tandem 873b042e37fSmrg ;; 874b042e37fSmrg op50n-* | op60c-*) 875b042e37fSmrg basic_machine=hppa1.1-oki 876b042e37fSmrg os=-proelf 877b042e37fSmrg ;; 8788c4a8e55Smrg openrisc | openrisc-*) 879b042e37fSmrg basic_machine=or32-unknown 8808c4a8e55Smrg ;; 8818c4a8e55Smrg os400) 8828c4a8e55Smrg basic_machine=powerpc-ibm 8838c4a8e55Smrg os=-os400 884b042e37fSmrg ;; 885b042e37fSmrg OSE68000 | ose68000) 886b042e37fSmrg basic_machine=m68000-ericsson 887b042e37fSmrg os=-ose 888b042e37fSmrg ;; 889b042e37fSmrg os68k) 890b042e37fSmrg basic_machine=m68k-none 891b042e37fSmrg os=-os68k 892b042e37fSmrg ;; 893b042e37fSmrg pa-hitachi) 894b042e37fSmrg basic_machine=hppa1.1-hitachi 895b042e37fSmrg os=-hiuxwe2 896b042e37fSmrg ;; 897b042e37fSmrg paragon) 898b042e37fSmrg basic_machine=i860-intel 899b042e37fSmrg os=-osf 900b042e37fSmrg ;; 901706b6b52Smrg parisc) 902706b6b52Smrg basic_machine=hppa-unknown 903706b6b52Smrg os=-linux 904706b6b52Smrg ;; 905706b6b52Smrg parisc-*) 906706b6b52Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 907706b6b52Smrg os=-linux 908706b6b52Smrg ;; 909b042e37fSmrg pbd) 910b042e37fSmrg basic_machine=sparc-tti 911b042e37fSmrg ;; 912b042e37fSmrg pbb) 913b042e37fSmrg basic_machine=m68k-tti 914b042e37fSmrg ;; 915b042e37fSmrg pc532 | pc532-*) 916b042e37fSmrg basic_machine=ns32k-pc532 917b042e37fSmrg ;; 9188c4a8e55Smrg pc98) 9198c4a8e55Smrg basic_machine=i386-pc 9208c4a8e55Smrg ;; 9218c4a8e55Smrg pc98-*) 9228c4a8e55Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9238c4a8e55Smrg ;; 924b042e37fSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 925b042e37fSmrg basic_machine=i586-pc 926b042e37fSmrg ;; 927b042e37fSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 928b042e37fSmrg basic_machine=i686-pc 929b042e37fSmrg ;; 930b042e37fSmrg pentiumii | pentium2 | pentiumiii | pentium3) 931b042e37fSmrg basic_machine=i686-pc 932b042e37fSmrg ;; 933b042e37fSmrg pentium4) 934b042e37fSmrg basic_machine=i786-pc 935b042e37fSmrg ;; 936b042e37fSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 937b042e37fSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 938b042e37fSmrg ;; 939b042e37fSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 940b042e37fSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 941b042e37fSmrg ;; 942b042e37fSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 943b042e37fSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 944b042e37fSmrg ;; 945b042e37fSmrg pentium4-*) 946b042e37fSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 947b042e37fSmrg ;; 948b042e37fSmrg pn) 949b042e37fSmrg basic_machine=pn-gould 950b042e37fSmrg ;; 951b042e37fSmrg power) basic_machine=power-ibm 952b042e37fSmrg ;; 953b042e37fSmrg ppc) basic_machine=powerpc-unknown 954b042e37fSmrg ;; 955b042e37fSmrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 956b042e37fSmrg ;; 957b042e37fSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 958b042e37fSmrg basic_machine=powerpcle-unknown 959b042e37fSmrg ;; 960b042e37fSmrg ppcle-* | powerpclittle-*) 961b042e37fSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 962b042e37fSmrg ;; 963b042e37fSmrg ppc64) basic_machine=powerpc64-unknown 964b042e37fSmrg ;; 965b042e37fSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 966b042e37fSmrg ;; 967b042e37fSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 968b042e37fSmrg basic_machine=powerpc64le-unknown 969b042e37fSmrg ;; 970b042e37fSmrg ppc64le-* | powerpc64little-*) 971b042e37fSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 972b042e37fSmrg ;; 973b042e37fSmrg ps2) 974b042e37fSmrg basic_machine=i386-ibm 975b042e37fSmrg ;; 976b042e37fSmrg pw32) 977b042e37fSmrg basic_machine=i586-unknown 978b042e37fSmrg os=-pw32 979b042e37fSmrg ;; 9808c4a8e55Smrg rdos) 9818c4a8e55Smrg basic_machine=i386-pc 9828c4a8e55Smrg os=-rdos 9838c4a8e55Smrg ;; 984b042e37fSmrg rom68k) 985b042e37fSmrg basic_machine=m68k-rom68k 986b042e37fSmrg os=-coff 987b042e37fSmrg ;; 988b042e37fSmrg rm[46]00) 989b042e37fSmrg basic_machine=mips-siemens 990b042e37fSmrg ;; 991b042e37fSmrg rtpc | rtpc-*) 992b042e37fSmrg basic_machine=romp-ibm 993b042e37fSmrg ;; 994b042e37fSmrg s390 | s390-*) 995b042e37fSmrg basic_machine=s390-ibm 996b042e37fSmrg ;; 997b042e37fSmrg s390x | s390x-*) 998b042e37fSmrg basic_machine=s390x-ibm 999b042e37fSmrg ;; 1000b042e37fSmrg sa29200) 1001b042e37fSmrg basic_machine=a29k-amd 1002b042e37fSmrg os=-udi 1003b042e37fSmrg ;; 1004b042e37fSmrg sb1) 1005b042e37fSmrg basic_machine=mipsisa64sb1-unknown 1006b042e37fSmrg ;; 1007b042e37fSmrg sb1el) 1008b042e37fSmrg basic_machine=mipsisa64sb1el-unknown 1009b042e37fSmrg ;; 10108c4a8e55Smrg sde) 10118c4a8e55Smrg basic_machine=mipsisa32-sde 10128c4a8e55Smrg os=-elf 10138c4a8e55Smrg ;; 1014b042e37fSmrg sei) 1015b042e37fSmrg basic_machine=mips-sei 1016b042e37fSmrg os=-seiux 1017b042e37fSmrg ;; 1018b042e37fSmrg sequent) 1019b042e37fSmrg basic_machine=i386-sequent 1020b042e37fSmrg ;; 1021b042e37fSmrg sh) 1022b042e37fSmrg basic_machine=sh-hitachi 1023b042e37fSmrg os=-hms 1024b042e37fSmrg ;; 1025706b6b52Smrg sh5el) 1026706b6b52Smrg basic_machine=sh5le-unknown 1027706b6b52Smrg ;; 1028b042e37fSmrg sh64) 1029b042e37fSmrg basic_machine=sh64-unknown 1030b042e37fSmrg ;; 1031b042e37fSmrg sparclite-wrs | simso-wrs) 1032b042e37fSmrg basic_machine=sparclite-wrs 1033b042e37fSmrg os=-vxworks 1034b042e37fSmrg ;; 1035b042e37fSmrg sps7) 1036b042e37fSmrg basic_machine=m68k-bull 1037b042e37fSmrg os=-sysv2 1038b042e37fSmrg ;; 1039b042e37fSmrg spur) 1040b042e37fSmrg basic_machine=spur-unknown 1041b042e37fSmrg ;; 1042b042e37fSmrg st2000) 1043b042e37fSmrg basic_machine=m68k-tandem 1044b042e37fSmrg ;; 1045b042e37fSmrg stratus) 1046b042e37fSmrg basic_machine=i860-stratus 1047b042e37fSmrg os=-sysv4 1048b042e37fSmrg ;; 1049b042e37fSmrg sun2) 1050b042e37fSmrg basic_machine=m68000-sun 1051b042e37fSmrg ;; 1052b042e37fSmrg sun2os3) 1053b042e37fSmrg basic_machine=m68000-sun 1054b042e37fSmrg os=-sunos3 1055b042e37fSmrg ;; 1056b042e37fSmrg sun2os4) 1057b042e37fSmrg basic_machine=m68000-sun 1058b042e37fSmrg os=-sunos4 1059b042e37fSmrg ;; 1060b042e37fSmrg sun3os3) 1061b042e37fSmrg basic_machine=m68k-sun 1062b042e37fSmrg os=-sunos3 1063b042e37fSmrg ;; 1064b042e37fSmrg sun3os4) 1065b042e37fSmrg basic_machine=m68k-sun 1066b042e37fSmrg os=-sunos4 1067b042e37fSmrg ;; 1068b042e37fSmrg sun4os3) 1069b042e37fSmrg basic_machine=sparc-sun 1070b042e37fSmrg os=-sunos3 1071b042e37fSmrg ;; 1072b042e37fSmrg sun4os4) 1073b042e37fSmrg basic_machine=sparc-sun 1074b042e37fSmrg os=-sunos4 1075b042e37fSmrg ;; 1076b042e37fSmrg sun4sol2) 1077b042e37fSmrg basic_machine=sparc-sun 1078b042e37fSmrg os=-solaris2 1079b042e37fSmrg ;; 1080b042e37fSmrg sun3 | sun3-*) 1081b042e37fSmrg basic_machine=m68k-sun 1082b042e37fSmrg ;; 1083b042e37fSmrg sun4) 1084b042e37fSmrg basic_machine=sparc-sun 1085b042e37fSmrg ;; 1086b042e37fSmrg sun386 | sun386i | roadrunner) 1087b042e37fSmrg basic_machine=i386-sun 1088b042e37fSmrg ;; 1089b042e37fSmrg sv1) 1090b042e37fSmrg basic_machine=sv1-cray 1091b042e37fSmrg os=-unicos 1092b042e37fSmrg ;; 1093b042e37fSmrg symmetry) 1094b042e37fSmrg basic_machine=i386-sequent 1095b042e37fSmrg os=-dynix 1096b042e37fSmrg ;; 1097b042e37fSmrg t3e) 1098b042e37fSmrg basic_machine=alphaev5-cray 1099b042e37fSmrg os=-unicos 1100b042e37fSmrg ;; 1101b042e37fSmrg t90) 1102b042e37fSmrg basic_machine=t90-cray 1103b042e37fSmrg os=-unicos 1104b042e37fSmrg ;; 1105706b6b52Smrg # This must be matched before tile*. 1106706b6b52Smrg tilegx*) 1107706b6b52Smrg basic_machine=tilegx-unknown 1108706b6b52Smrg os=-linux-gnu 1109b042e37fSmrg ;; 1110706b6b52Smrg tile*) 1111706b6b52Smrg basic_machine=tile-unknown 1112706b6b52Smrg os=-linux-gnu 1113b042e37fSmrg ;; 1114b042e37fSmrg tx39) 1115b042e37fSmrg basic_machine=mipstx39-unknown 1116b042e37fSmrg ;; 1117b042e37fSmrg tx39el) 1118b042e37fSmrg basic_machine=mipstx39el-unknown 1119b042e37fSmrg ;; 1120b042e37fSmrg toad1) 1121b042e37fSmrg basic_machine=pdp10-xkl 1122b042e37fSmrg os=-tops20 1123b042e37fSmrg ;; 1124b042e37fSmrg tower | tower-32) 1125b042e37fSmrg basic_machine=m68k-ncr 1126b042e37fSmrg ;; 11278c4a8e55Smrg tpf) 11288c4a8e55Smrg basic_machine=s390x-ibm 11298c4a8e55Smrg os=-tpf 11308c4a8e55Smrg ;; 1131b042e37fSmrg udi29k) 1132b042e37fSmrg basic_machine=a29k-amd 1133b042e37fSmrg os=-udi 1134b042e37fSmrg ;; 1135b042e37fSmrg ultra3) 1136b042e37fSmrg basic_machine=a29k-nyu 1137b042e37fSmrg os=-sym1 1138b042e37fSmrg ;; 1139b042e37fSmrg v810 | necv810) 1140b042e37fSmrg basic_machine=v810-nec 1141b042e37fSmrg os=-none 1142b042e37fSmrg ;; 1143b042e37fSmrg vaxv) 1144b042e37fSmrg basic_machine=vax-dec 1145b042e37fSmrg os=-sysv 1146b042e37fSmrg ;; 1147b042e37fSmrg vms) 1148b042e37fSmrg basic_machine=vax-dec 1149b042e37fSmrg os=-vms 1150b042e37fSmrg ;; 1151b042e37fSmrg vpp*|vx|vx-*) 1152b042e37fSmrg basic_machine=f301-fujitsu 1153b042e37fSmrg ;; 1154b042e37fSmrg vxworks960) 1155b042e37fSmrg basic_machine=i960-wrs 1156b042e37fSmrg os=-vxworks 1157b042e37fSmrg ;; 1158b042e37fSmrg vxworks68) 1159b042e37fSmrg basic_machine=m68k-wrs 1160b042e37fSmrg os=-vxworks 1161b042e37fSmrg ;; 1162b042e37fSmrg vxworks29k) 1163b042e37fSmrg basic_machine=a29k-wrs 1164b042e37fSmrg os=-vxworks 1165b042e37fSmrg ;; 1166b042e37fSmrg w65*) 1167b042e37fSmrg basic_machine=w65-wdc 1168b042e37fSmrg os=-none 1169b042e37fSmrg ;; 1170b042e37fSmrg w89k-*) 1171b042e37fSmrg basic_machine=hppa1.1-winbond 1172b042e37fSmrg os=-proelf 1173b042e37fSmrg ;; 11748c4a8e55Smrg xbox) 11758c4a8e55Smrg basic_machine=i686-pc 11768c4a8e55Smrg os=-mingw32 11778c4a8e55Smrg ;; 1178b042e37fSmrg xps | xps100) 1179b042e37fSmrg basic_machine=xps100-honeywell 1180b042e37fSmrg ;; 1181b042e37fSmrg ymp) 1182b042e37fSmrg basic_machine=ymp-cray 1183b042e37fSmrg os=-unicos 1184b042e37fSmrg ;; 1185b042e37fSmrg z8k-*-coff) 1186b042e37fSmrg basic_machine=z8k-unknown 1187b042e37fSmrg os=-sim 1188b042e37fSmrg ;; 1189706b6b52Smrg z80-*-coff) 1190706b6b52Smrg basic_machine=z80-unknown 1191706b6b52Smrg os=-sim 1192706b6b52Smrg ;; 1193b042e37fSmrg none) 1194b042e37fSmrg basic_machine=none-none 1195b042e37fSmrg os=-none 1196b042e37fSmrg ;; 1197b042e37fSmrg 1198b042e37fSmrg# Here we handle the default manufacturer of certain CPU types. It is in 1199b042e37fSmrg# some cases the only manufacturer, in others, it is the most popular. 1200b042e37fSmrg w89k) 1201b042e37fSmrg basic_machine=hppa1.1-winbond 1202b042e37fSmrg ;; 1203b042e37fSmrg op50n) 1204b042e37fSmrg basic_machine=hppa1.1-oki 1205b042e37fSmrg ;; 1206b042e37fSmrg op60c) 1207b042e37fSmrg basic_machine=hppa1.1-oki 1208b042e37fSmrg ;; 1209b042e37fSmrg romp) 1210b042e37fSmrg basic_machine=romp-ibm 1211b042e37fSmrg ;; 12128c4a8e55Smrg mmix) 12138c4a8e55Smrg basic_machine=mmix-knuth 12148c4a8e55Smrg ;; 1215b042e37fSmrg rs6000) 1216b042e37fSmrg basic_machine=rs6000-ibm 1217b042e37fSmrg ;; 1218b042e37fSmrg vax) 1219b042e37fSmrg basic_machine=vax-dec 1220b042e37fSmrg ;; 1221b042e37fSmrg pdp10) 1222b042e37fSmrg # there are many clones, so DEC is not a safe bet 1223b042e37fSmrg basic_machine=pdp10-unknown 1224b042e37fSmrg ;; 1225b042e37fSmrg pdp11) 1226b042e37fSmrg basic_machine=pdp11-dec 1227b042e37fSmrg ;; 1228b042e37fSmrg we32k) 1229b042e37fSmrg basic_machine=we32k-att 1230b042e37fSmrg ;; 1231706b6b52Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1232b042e37fSmrg basic_machine=sh-unknown 1233b042e37fSmrg ;; 12348c4a8e55Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1235b042e37fSmrg basic_machine=sparc-sun 1236b042e37fSmrg ;; 1237b042e37fSmrg cydra) 1238b042e37fSmrg basic_machine=cydra-cydrome 1239b042e37fSmrg ;; 1240b042e37fSmrg orion) 1241b042e37fSmrg basic_machine=orion-highlevel 1242b042e37fSmrg ;; 1243b042e37fSmrg orion105) 1244b042e37fSmrg basic_machine=clipper-highlevel 1245b042e37fSmrg ;; 1246b042e37fSmrg mac | mpw | mac-mpw) 1247b042e37fSmrg basic_machine=m68k-apple 1248b042e37fSmrg ;; 1249b042e37fSmrg pmac | pmac-mpw) 1250b042e37fSmrg basic_machine=powerpc-apple 1251b042e37fSmrg ;; 1252b042e37fSmrg *-unknown) 1253b042e37fSmrg # Make sure to match an already-canonicalized machine name. 1254b042e37fSmrg ;; 1255b042e37fSmrg *) 1256b042e37fSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1257b042e37fSmrg exit 1 1258b042e37fSmrg ;; 1259b042e37fSmrgesac 1260b042e37fSmrg 1261b042e37fSmrg# Here we canonicalize certain aliases for manufacturers. 1262b042e37fSmrgcase $basic_machine in 1263b042e37fSmrg *-digital*) 1264b042e37fSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1265b042e37fSmrg ;; 1266b042e37fSmrg *-commodore*) 1267b042e37fSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1268b042e37fSmrg ;; 1269b042e37fSmrg *) 1270b042e37fSmrg ;; 1271b042e37fSmrgesac 1272b042e37fSmrg 1273b042e37fSmrg# Decode manufacturer-specific aliases for certain operating systems. 1274b042e37fSmrg 1275b042e37fSmrgif [ x"$os" != x"" ] 1276b042e37fSmrgthen 1277b042e37fSmrgcase $os in 1278b042e37fSmrg # First match some system type aliases 1279b042e37fSmrg # that might get confused with valid system types. 1280b042e37fSmrg # -solaris* is a basic system type, with this one exception. 1281706b6b52Smrg -auroraux) 1282706b6b52Smrg os=-auroraux 1283706b6b52Smrg ;; 1284b042e37fSmrg -solaris1 | -solaris1.*) 1285b042e37fSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1286b042e37fSmrg ;; 1287b042e37fSmrg -solaris) 1288b042e37fSmrg os=-solaris2 1289b042e37fSmrg ;; 1290b042e37fSmrg -svr4*) 1291b042e37fSmrg os=-sysv4 1292b042e37fSmrg ;; 1293b042e37fSmrg -unixware*) 1294b042e37fSmrg os=-sysv4.2uw 1295b042e37fSmrg ;; 1296b042e37fSmrg -gnu/linux*) 1297b042e37fSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1298b042e37fSmrg ;; 1299b042e37fSmrg # First accept the basic system types. 1300b042e37fSmrg # The portable systems comes first. 1301b042e37fSmrg # Each alternative MUST END IN A *, to match a version number. 1302b042e37fSmrg # -sysv* is not here because it comes later, after sysvr4. 1303b042e37fSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1304706b6b52Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1305706b6b52Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1306706b6b52Smrg | -sym* | -kopensolaris* \ 1307b042e37fSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1308706b6b52Smrg | -aos* | -aros* \ 1309b042e37fSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1310b042e37fSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13118c4a8e55Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 13128c4a8e55Smrg | -openbsd* | -solidbsd* \ 13138c4a8e55Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13148c4a8e55Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1315b042e37fSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1316b042e37fSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1317706b6b52Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1318b042e37fSmrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1319706b6b52Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 1320706b6b52Smrg | -linux-newlib* | -linux-uclibc* \ 13218c4a8e55Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1322b042e37fSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1323b042e37fSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1324b042e37fSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1325b042e37fSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1326b042e37fSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13278c4a8e55Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1328706b6b52Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1329b042e37fSmrg # Remember, each alternative MUST END IN *, to match a version number. 1330b042e37fSmrg ;; 1331b042e37fSmrg -qnx*) 1332b042e37fSmrg case $basic_machine in 1333b042e37fSmrg x86-* | i*86-*) 1334b042e37fSmrg ;; 1335b042e37fSmrg *) 1336b042e37fSmrg os=-nto$os 1337b042e37fSmrg ;; 1338b042e37fSmrg esac 1339b042e37fSmrg ;; 1340b042e37fSmrg -nto-qnx*) 1341b042e37fSmrg ;; 1342b042e37fSmrg -nto*) 1343b042e37fSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1344b042e37fSmrg ;; 1345b042e37fSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 13468c4a8e55Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1347b042e37fSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1348b042e37fSmrg ;; 1349b042e37fSmrg -mac*) 1350b042e37fSmrg os=`echo $os | sed -e 's|mac|macos|'` 1351b042e37fSmrg ;; 13528c4a8e55Smrg -linux-dietlibc) 13538c4a8e55Smrg os=-linux-dietlibc 13548c4a8e55Smrg ;; 1355b042e37fSmrg -linux*) 1356b042e37fSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1357b042e37fSmrg ;; 1358b042e37fSmrg -sunos5*) 1359b042e37fSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1360b042e37fSmrg ;; 1361b042e37fSmrg -sunos6*) 1362b042e37fSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1363b042e37fSmrg ;; 1364b042e37fSmrg -opened*) 1365b042e37fSmrg os=-openedition 1366b042e37fSmrg ;; 13678c4a8e55Smrg -os400*) 13688c4a8e55Smrg os=-os400 13698c4a8e55Smrg ;; 1370b042e37fSmrg -wince*) 1371b042e37fSmrg os=-wince 1372b042e37fSmrg ;; 1373b042e37fSmrg -osfrose*) 1374b042e37fSmrg os=-osfrose 1375b042e37fSmrg ;; 1376b042e37fSmrg -osf*) 1377b042e37fSmrg os=-osf 1378b042e37fSmrg ;; 1379b042e37fSmrg -utek*) 1380b042e37fSmrg os=-bsd 1381b042e37fSmrg ;; 1382b042e37fSmrg -dynix*) 1383b042e37fSmrg os=-bsd 1384b042e37fSmrg ;; 1385b042e37fSmrg -acis*) 1386b042e37fSmrg os=-aos 1387b042e37fSmrg ;; 1388b042e37fSmrg -atheos*) 1389b042e37fSmrg os=-atheos 1390b042e37fSmrg ;; 13918c4a8e55Smrg -syllable*) 13928c4a8e55Smrg os=-syllable 13938c4a8e55Smrg ;; 1394b042e37fSmrg -386bsd) 1395b042e37fSmrg os=-bsd 1396b042e37fSmrg ;; 1397b042e37fSmrg -ctix* | -uts*) 1398b042e37fSmrg os=-sysv 1399b042e37fSmrg ;; 1400b042e37fSmrg -nova*) 1401b042e37fSmrg os=-rtmk-nova 1402b042e37fSmrg ;; 1403b042e37fSmrg -ns2 ) 1404b042e37fSmrg os=-nextstep2 1405b042e37fSmrg ;; 1406b042e37fSmrg -nsk*) 1407b042e37fSmrg os=-nsk 1408b042e37fSmrg ;; 1409b042e37fSmrg # Preserve the version number of sinix5. 1410b042e37fSmrg -sinix5.*) 1411b042e37fSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 1412b042e37fSmrg ;; 1413b042e37fSmrg -sinix*) 1414b042e37fSmrg os=-sysv4 1415b042e37fSmrg ;; 14168c4a8e55Smrg -tpf*) 14178c4a8e55Smrg os=-tpf 14188c4a8e55Smrg ;; 1419b042e37fSmrg -triton*) 1420b042e37fSmrg os=-sysv3 1421b042e37fSmrg ;; 1422b042e37fSmrg -oss*) 1423b042e37fSmrg os=-sysv3 1424b042e37fSmrg ;; 1425b042e37fSmrg -svr4) 1426b042e37fSmrg os=-sysv4 1427b042e37fSmrg ;; 1428b042e37fSmrg -svr3) 1429b042e37fSmrg os=-sysv3 1430b042e37fSmrg ;; 1431b042e37fSmrg -sysvr4) 1432b042e37fSmrg os=-sysv4 1433b042e37fSmrg ;; 1434b042e37fSmrg # This must come after -sysvr4. 1435b042e37fSmrg -sysv*) 1436b042e37fSmrg ;; 1437b042e37fSmrg -ose*) 1438b042e37fSmrg os=-ose 1439b042e37fSmrg ;; 1440b042e37fSmrg -es1800*) 1441b042e37fSmrg os=-ose 1442b042e37fSmrg ;; 1443b042e37fSmrg -xenix) 1444b042e37fSmrg os=-xenix 1445b042e37fSmrg ;; 1446b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1447b042e37fSmrg os=-mint 1448b042e37fSmrg ;; 1449b042e37fSmrg -aros*) 1450b042e37fSmrg os=-aros 1451b042e37fSmrg ;; 1452b042e37fSmrg -kaos*) 1453b042e37fSmrg os=-kaos 1454b042e37fSmrg ;; 14558c4a8e55Smrg -zvmoe) 14568c4a8e55Smrg os=-zvmoe 14578c4a8e55Smrg ;; 1458706b6b52Smrg -dicos*) 1459706b6b52Smrg os=-dicos 1460706b6b52Smrg ;; 1461706b6b52Smrg -nacl*) 1462706b6b52Smrg ;; 1463b042e37fSmrg -none) 1464b042e37fSmrg ;; 1465b042e37fSmrg *) 1466b042e37fSmrg # Get rid of the `-' at the beginning of $os. 1467b042e37fSmrg os=`echo $os | sed 's/[^-]*-//'` 1468b042e37fSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1469b042e37fSmrg exit 1 1470b042e37fSmrg ;; 1471b042e37fSmrgesac 1472b042e37fSmrgelse 1473b042e37fSmrg 1474b042e37fSmrg# Here we handle the default operating systems that come with various machines. 1475b042e37fSmrg# The value should be what the vendor currently ships out the door with their 1476b042e37fSmrg# machine or put another way, the most popular os provided with the machine. 1477b042e37fSmrg 1478b042e37fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1479b042e37fSmrg# "-sun"), then you have to tell the case statement up towards the top 1480b042e37fSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1481b042e37fSmrg# will signal an error saying that MANUFACTURER isn't an operating 1482b042e37fSmrg# system, and we'll never get to this point. 1483b042e37fSmrg 1484b042e37fSmrgcase $basic_machine in 14858c4a8e55Smrg score-*) 14868c4a8e55Smrg os=-elf 14878c4a8e55Smrg ;; 14888c4a8e55Smrg spu-*) 14898c4a8e55Smrg os=-elf 14908c4a8e55Smrg ;; 1491b042e37fSmrg *-acorn) 1492b042e37fSmrg os=-riscix1.2 1493b042e37fSmrg ;; 1494b042e37fSmrg arm*-rebel) 1495b042e37fSmrg os=-linux 1496b042e37fSmrg ;; 1497b042e37fSmrg arm*-semi) 1498b042e37fSmrg os=-aout 1499b042e37fSmrg ;; 15008c4a8e55Smrg c4x-* | tic4x-*) 15018c4a8e55Smrg os=-coff 15028c4a8e55Smrg ;; 1503706b6b52Smrg tic54x-*) 1504706b6b52Smrg os=-coff 1505706b6b52Smrg ;; 1506706b6b52Smrg tic55x-*) 1507706b6b52Smrg os=-coff 1508706b6b52Smrg ;; 1509706b6b52Smrg tic6x-*) 1510706b6b52Smrg os=-coff 1511706b6b52Smrg ;; 1512b042e37fSmrg # This must come before the *-dec entry. 1513b042e37fSmrg pdp10-*) 1514b042e37fSmrg os=-tops20 1515b042e37fSmrg ;; 1516b042e37fSmrg pdp11-*) 1517b042e37fSmrg os=-none 1518b042e37fSmrg ;; 1519b042e37fSmrg *-dec | vax-*) 1520b042e37fSmrg os=-ultrix4.2 1521b042e37fSmrg ;; 1522b042e37fSmrg m68*-apollo) 1523b042e37fSmrg os=-domain 1524b042e37fSmrg ;; 1525b042e37fSmrg i386-sun) 1526b042e37fSmrg os=-sunos4.0.2 1527b042e37fSmrg ;; 1528b042e37fSmrg m68000-sun) 1529b042e37fSmrg os=-sunos3 1530b042e37fSmrg # This also exists in the configure program, but was not the 1531b042e37fSmrg # default. 1532b042e37fSmrg # os=-sunos4 1533b042e37fSmrg ;; 1534b042e37fSmrg m68*-cisco) 1535b042e37fSmrg os=-aout 1536b042e37fSmrg ;; 1537706b6b52Smrg mep-*) 1538706b6b52Smrg os=-elf 1539706b6b52Smrg ;; 1540b042e37fSmrg mips*-cisco) 1541b042e37fSmrg os=-elf 1542b042e37fSmrg ;; 1543b042e37fSmrg mips*-*) 1544b042e37fSmrg os=-elf 1545b042e37fSmrg ;; 1546b042e37fSmrg or32-*) 1547b042e37fSmrg os=-coff 1548b042e37fSmrg ;; 1549b042e37fSmrg *-tti) # must be before sparc entry or we get the wrong os. 1550b042e37fSmrg os=-sysv3 1551b042e37fSmrg ;; 1552b042e37fSmrg sparc-* | *-sun) 1553b042e37fSmrg os=-sunos4.1.1 1554b042e37fSmrg ;; 1555b042e37fSmrg *-be) 1556b042e37fSmrg os=-beos 1557b042e37fSmrg ;; 15588c4a8e55Smrg *-haiku) 15598c4a8e55Smrg os=-haiku 15608c4a8e55Smrg ;; 1561b042e37fSmrg *-ibm) 1562b042e37fSmrg os=-aix 1563b042e37fSmrg ;; 15648c4a8e55Smrg *-knuth) 15658c4a8e55Smrg os=-mmixware 15668c4a8e55Smrg ;; 1567b042e37fSmrg *-wec) 1568b042e37fSmrg os=-proelf 1569b042e37fSmrg ;; 1570b042e37fSmrg *-winbond) 1571b042e37fSmrg os=-proelf 1572b042e37fSmrg ;; 1573b042e37fSmrg *-oki) 1574b042e37fSmrg os=-proelf 1575b042e37fSmrg ;; 1576b042e37fSmrg *-hp) 1577b042e37fSmrg os=-hpux 1578b042e37fSmrg ;; 1579b042e37fSmrg *-hitachi) 1580b042e37fSmrg os=-hiux 1581b042e37fSmrg ;; 1582b042e37fSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1583b042e37fSmrg os=-sysv 1584b042e37fSmrg ;; 1585b042e37fSmrg *-cbm) 1586b042e37fSmrg os=-amigaos 1587b042e37fSmrg ;; 1588b042e37fSmrg *-dg) 1589b042e37fSmrg os=-dgux 1590b042e37fSmrg ;; 1591b042e37fSmrg *-dolphin) 1592b042e37fSmrg os=-sysv3 1593b042e37fSmrg ;; 1594b042e37fSmrg m68k-ccur) 1595b042e37fSmrg os=-rtu 1596b042e37fSmrg ;; 1597b042e37fSmrg m88k-omron*) 1598b042e37fSmrg os=-luna 1599b042e37fSmrg ;; 1600b042e37fSmrg *-next ) 1601b042e37fSmrg os=-nextstep 1602b042e37fSmrg ;; 1603b042e37fSmrg *-sequent) 1604b042e37fSmrg os=-ptx 1605b042e37fSmrg ;; 1606b042e37fSmrg *-crds) 1607b042e37fSmrg os=-unos 1608b042e37fSmrg ;; 1609b042e37fSmrg *-ns) 1610b042e37fSmrg os=-genix 1611b042e37fSmrg ;; 1612b042e37fSmrg i370-*) 1613b042e37fSmrg os=-mvs 1614b042e37fSmrg ;; 1615b042e37fSmrg *-next) 1616b042e37fSmrg os=-nextstep3 1617b042e37fSmrg ;; 1618b042e37fSmrg *-gould) 1619b042e37fSmrg os=-sysv 1620b042e37fSmrg ;; 1621b042e37fSmrg *-highlevel) 1622b042e37fSmrg os=-bsd 1623b042e37fSmrg ;; 1624b042e37fSmrg *-encore) 1625b042e37fSmrg os=-bsd 1626b042e37fSmrg ;; 1627b042e37fSmrg *-sgi) 1628b042e37fSmrg os=-irix 1629b042e37fSmrg ;; 1630b042e37fSmrg *-siemens) 1631b042e37fSmrg os=-sysv4 1632b042e37fSmrg ;; 1633b042e37fSmrg *-masscomp) 1634b042e37fSmrg os=-rtu 1635b042e37fSmrg ;; 1636b042e37fSmrg f30[01]-fujitsu | f700-fujitsu) 1637b042e37fSmrg os=-uxpv 1638b042e37fSmrg ;; 1639b042e37fSmrg *-rom68k) 1640b042e37fSmrg os=-coff 1641b042e37fSmrg ;; 1642b042e37fSmrg *-*bug) 1643b042e37fSmrg os=-coff 1644b042e37fSmrg ;; 1645b042e37fSmrg *-apple) 1646b042e37fSmrg os=-macos 1647b042e37fSmrg ;; 1648b042e37fSmrg *-atari*) 1649b042e37fSmrg os=-mint 1650b042e37fSmrg ;; 1651b042e37fSmrg *) 1652b042e37fSmrg os=-none 1653b042e37fSmrg ;; 1654b042e37fSmrgesac 1655b042e37fSmrgfi 1656b042e37fSmrg 1657b042e37fSmrg# Here we handle the case where we know the os, and the CPU type, but not the 1658b042e37fSmrg# manufacturer. We pick the logical manufacturer. 1659b042e37fSmrgvendor=unknown 1660b042e37fSmrgcase $basic_machine in 1661b042e37fSmrg *-unknown) 1662b042e37fSmrg case $os in 1663b042e37fSmrg -riscix*) 1664b042e37fSmrg vendor=acorn 1665b042e37fSmrg ;; 1666b042e37fSmrg -sunos*) 1667b042e37fSmrg vendor=sun 1668b042e37fSmrg ;; 1669706b6b52Smrg -cnk*|-aix*) 1670b042e37fSmrg vendor=ibm 1671b042e37fSmrg ;; 1672b042e37fSmrg -beos*) 1673b042e37fSmrg vendor=be 1674b042e37fSmrg ;; 1675b042e37fSmrg -hpux*) 1676b042e37fSmrg vendor=hp 1677b042e37fSmrg ;; 1678b042e37fSmrg -mpeix*) 1679b042e37fSmrg vendor=hp 1680b042e37fSmrg ;; 1681b042e37fSmrg -hiux*) 1682b042e37fSmrg vendor=hitachi 1683b042e37fSmrg ;; 1684b042e37fSmrg -unos*) 1685b042e37fSmrg vendor=crds 1686b042e37fSmrg ;; 1687b042e37fSmrg -dgux*) 1688b042e37fSmrg vendor=dg 1689b042e37fSmrg ;; 1690b042e37fSmrg -luna*) 1691b042e37fSmrg vendor=omron 1692b042e37fSmrg ;; 1693b042e37fSmrg -genix*) 1694b042e37fSmrg vendor=ns 1695b042e37fSmrg ;; 1696b042e37fSmrg -mvs* | -opened*) 1697b042e37fSmrg vendor=ibm 1698b042e37fSmrg ;; 16998c4a8e55Smrg -os400*) 17008c4a8e55Smrg vendor=ibm 17018c4a8e55Smrg ;; 1702b042e37fSmrg -ptx*) 1703b042e37fSmrg vendor=sequent 1704b042e37fSmrg ;; 17058c4a8e55Smrg -tpf*) 17068c4a8e55Smrg vendor=ibm 17078c4a8e55Smrg ;; 1708b042e37fSmrg -vxsim* | -vxworks* | -windiss*) 1709b042e37fSmrg vendor=wrs 1710b042e37fSmrg ;; 1711b042e37fSmrg -aux*) 1712b042e37fSmrg vendor=apple 1713b042e37fSmrg ;; 1714b042e37fSmrg -hms*) 1715b042e37fSmrg vendor=hitachi 1716b042e37fSmrg ;; 1717b042e37fSmrg -mpw* | -macos*) 1718b042e37fSmrg vendor=apple 1719b042e37fSmrg ;; 1720b042e37fSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1721b042e37fSmrg vendor=atari 1722b042e37fSmrg ;; 1723b042e37fSmrg -vos*) 1724b042e37fSmrg vendor=stratus 1725b042e37fSmrg ;; 1726b042e37fSmrg esac 1727b042e37fSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1728b042e37fSmrg ;; 1729b042e37fSmrgesac 1730b042e37fSmrg 1731b042e37fSmrgecho $basic_machine$os 17328c4a8e55Smrgexit 1733b042e37fSmrg 1734b042e37fSmrg# Local variables: 1735b042e37fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1736b042e37fSmrg# time-stamp-start: "timestamp='" 1737b042e37fSmrg# time-stamp-format: "%:y-%02m-%02d" 1738b042e37fSmrg# time-stamp-end: "'" 1739b042e37fSmrg# End: 1740