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