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