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