config.sub revision 0cc67336
1301ea0f4Smrg#! /bin/sh 2301ea0f4Smrg# Configuration validation subroutine script. 3301ea0f4Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 40cc67336Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 50cc67336Smrg# Free Software Foundation, Inc. 6301ea0f4Smrg 70cc67336Smrgtimestamp='2008-01-16' 8301ea0f4Smrg 9301ea0f4Smrg# This file is (in principle) common to ALL GNU software. 10301ea0f4Smrg# The presence of a machine in this file suggests that SOME GNU software 11301ea0f4Smrg# can handle that machine. It does not imply ALL GNU software can. 12301ea0f4Smrg# 13301ea0f4Smrg# This file is free software; you can redistribute it and/or modify 14301ea0f4Smrg# it under the terms of the GNU General Public License as published by 15301ea0f4Smrg# the Free Software Foundation; either version 2 of the License, or 16301ea0f4Smrg# (at your option) any later version. 17301ea0f4Smrg# 18301ea0f4Smrg# This program is distributed in the hope that it will be useful, 19301ea0f4Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 20301ea0f4Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21301ea0f4Smrg# GNU General Public License for more details. 22301ea0f4Smrg# 23301ea0f4Smrg# You should have received a copy of the GNU General Public License 24301ea0f4Smrg# along with this program; if not, write to the Free Software 250cc67336Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 260cc67336Smrg# 02110-1301, USA. 270cc67336Smrg# 28301ea0f4Smrg# As a special exception to the GNU General Public License, if you 29301ea0f4Smrg# distribute this file as part of a program that contains a 30301ea0f4Smrg# configuration script generated by Autoconf, you may include it under 31301ea0f4Smrg# the same distribution terms that you use for the rest of that program. 32301ea0f4Smrg 330cc67336Smrg 34301ea0f4Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 35301ea0f4Smrg# diff and a properly formatted ChangeLog entry. 36301ea0f4Smrg# 37301ea0f4Smrg# Configuration subroutine to validate and canonicalize a configuration type. 38301ea0f4Smrg# Supply the specified configuration type as an argument. 39301ea0f4Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 40301ea0f4Smrg# Otherwise, we print the canonical config type on stdout and succeed. 41301ea0f4Smrg 42301ea0f4Smrg# This file is supposed to be the same for all GNU packages 43301ea0f4Smrg# and recognize all the CPU types, system types and aliases 44301ea0f4Smrg# that are meaningful with *any* GNU software. 45301ea0f4Smrg# Each package is responsible for reporting which valid configurations 46301ea0f4Smrg# it does not support. The user should be able to distinguish 47301ea0f4Smrg# a failure to support a valid configuration from a meaningless 48301ea0f4Smrg# configuration. 49301ea0f4Smrg 50301ea0f4Smrg# The goal of this file is to map all the various variations of a given 51301ea0f4Smrg# machine specification into a single specification in the form: 52301ea0f4Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 53301ea0f4Smrg# or in some cases, the newer four-part form: 54301ea0f4Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 55301ea0f4Smrg# It is wrong to echo any other type of specification. 56301ea0f4Smrg 57301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'` 58301ea0f4Smrg 59301ea0f4Smrgusage="\ 60301ea0f4SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 61301ea0f4Smrg $0 [OPTION] ALIAS 62301ea0f4Smrg 63301ea0f4SmrgCanonicalize a configuration name. 64301ea0f4Smrg 65301ea0f4SmrgOperation modes: 66301ea0f4Smrg -h, --help print this help, then exit 67301ea0f4Smrg -t, --time-stamp print date of last modification, then exit 68301ea0f4Smrg -v, --version print version number, then exit 69301ea0f4Smrg 70301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>." 71301ea0f4Smrg 72301ea0f4Smrgversion="\ 73301ea0f4SmrgGNU config.sub ($timestamp) 74301ea0f4Smrg 750cc67336SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 760cc67336Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 77301ea0f4Smrg 78301ea0f4SmrgThis is free software; see the source for copying conditions. There is NO 79301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 80301ea0f4Smrg 81301ea0f4Smrghelp=" 82301ea0f4SmrgTry \`$me --help' for more information." 83301ea0f4Smrg 84301ea0f4Smrg# Parse command line 85301ea0f4Smrgwhile test $# -gt 0 ; do 86301ea0f4Smrg case $1 in 87301ea0f4Smrg --time-stamp | --time* | -t ) 880cc67336Smrg echo "$timestamp" ; exit ;; 89301ea0f4Smrg --version | -v ) 900cc67336Smrg echo "$version" ; exit ;; 91301ea0f4Smrg --help | --h* | -h ) 920cc67336Smrg echo "$usage"; exit ;; 93301ea0f4Smrg -- ) # Stop option processing 94301ea0f4Smrg shift; break ;; 95301ea0f4Smrg - ) # Use stdin as input. 96301ea0f4Smrg break ;; 97301ea0f4Smrg -* ) 98301ea0f4Smrg echo "$me: invalid option $1$help" 99301ea0f4Smrg exit 1 ;; 100301ea0f4Smrg 101301ea0f4Smrg *local*) 102301ea0f4Smrg # First pass through any local machine types. 103301ea0f4Smrg echo $1 1040cc67336Smrg exit ;; 105301ea0f4Smrg 106301ea0f4Smrg * ) 107301ea0f4Smrg break ;; 108301ea0f4Smrg esac 109301ea0f4Smrgdone 110301ea0f4Smrg 111301ea0f4Smrgcase $# in 112301ea0f4Smrg 0) echo "$me: missing argument$help" >&2 113301ea0f4Smrg exit 1;; 114301ea0f4Smrg 1) ;; 115301ea0f4Smrg *) echo "$me: too many arguments$help" >&2 116301ea0f4Smrg exit 1;; 117301ea0f4Smrgesac 118301ea0f4Smrg 119301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 120301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations. 121301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 122301ea0f4Smrgcase $maybe_os in 1230cc67336Smrg nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 1240cc67336Smrg uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 1250cc67336Smrg storm-chaos* | os2-emx* | rtmk-nova*) 126301ea0f4Smrg os=-$maybe_os 127301ea0f4Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 128301ea0f4Smrg ;; 129301ea0f4Smrg *) 130301ea0f4Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 131301ea0f4Smrg if [ $basic_machine != $1 ] 132301ea0f4Smrg then os=`echo $1 | sed 's/.*-/-/'` 133301ea0f4Smrg else os=; fi 134301ea0f4Smrg ;; 135301ea0f4Smrgesac 136301ea0f4Smrg 137301ea0f4Smrg### Let's recognize common machines as not being operating systems so 138301ea0f4Smrg### that things like config.sub decstation-3100 work. We also 139301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we 140301ea0f4Smrg### can provide default operating systems below. 141301ea0f4Smrgcase $os in 142301ea0f4Smrg -sun*os*) 143301ea0f4Smrg # Prevent following clause from handling this invalid input. 144301ea0f4Smrg ;; 145301ea0f4Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 146301ea0f4Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 147301ea0f4Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 148301ea0f4Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 149301ea0f4Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 150301ea0f4Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1510cc67336Smrg -apple | -axis | -knuth | -cray) 152301ea0f4Smrg os= 153301ea0f4Smrg basic_machine=$1 154301ea0f4Smrg ;; 155301ea0f4Smrg -sim | -cisco | -oki | -wec | -winbond) 156301ea0f4Smrg os= 157301ea0f4Smrg basic_machine=$1 158301ea0f4Smrg ;; 159301ea0f4Smrg -scout) 160301ea0f4Smrg ;; 161301ea0f4Smrg -wrs) 162301ea0f4Smrg os=-vxworks 163301ea0f4Smrg basic_machine=$1 164301ea0f4Smrg ;; 165301ea0f4Smrg -chorusos*) 166301ea0f4Smrg os=-chorusos 167301ea0f4Smrg basic_machine=$1 168301ea0f4Smrg ;; 169301ea0f4Smrg -chorusrdb) 170301ea0f4Smrg os=-chorusrdb 171301ea0f4Smrg basic_machine=$1 172301ea0f4Smrg ;; 173301ea0f4Smrg -hiux*) 174301ea0f4Smrg os=-hiuxwe2 175301ea0f4Smrg ;; 1760cc67336Smrg -sco6) 1770cc67336Smrg os=-sco5v6 1780cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1790cc67336Smrg ;; 180301ea0f4Smrg -sco5) 181301ea0f4Smrg os=-sco3.2v5 182301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 183301ea0f4Smrg ;; 184301ea0f4Smrg -sco4) 185301ea0f4Smrg os=-sco3.2v4 186301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 187301ea0f4Smrg ;; 188301ea0f4Smrg -sco3.2.[4-9]*) 189301ea0f4Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 190301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 191301ea0f4Smrg ;; 192301ea0f4Smrg -sco3.2v[4-9]*) 193301ea0f4Smrg # Don't forget version if it is 3.2v4 or newer. 194301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 195301ea0f4Smrg ;; 1960cc67336Smrg -sco5v6*) 1970cc67336Smrg # Don't forget version if it is 3.2v4 or newer. 1980cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1990cc67336Smrg ;; 200301ea0f4Smrg -sco*) 201301ea0f4Smrg os=-sco3.2v2 202301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 203301ea0f4Smrg ;; 204301ea0f4Smrg -udk*) 205301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 206301ea0f4Smrg ;; 207301ea0f4Smrg -isc) 208301ea0f4Smrg os=-isc2.2 209301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 210301ea0f4Smrg ;; 211301ea0f4Smrg -clix*) 212301ea0f4Smrg basic_machine=clipper-intergraph 213301ea0f4Smrg ;; 214301ea0f4Smrg -isc*) 215301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 216301ea0f4Smrg ;; 217301ea0f4Smrg -lynx*) 218301ea0f4Smrg os=-lynxos 219301ea0f4Smrg ;; 220301ea0f4Smrg -ptx*) 221301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 222301ea0f4Smrg ;; 223301ea0f4Smrg -windowsnt*) 224301ea0f4Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 225301ea0f4Smrg ;; 226301ea0f4Smrg -psos*) 227301ea0f4Smrg os=-psos 228301ea0f4Smrg ;; 229301ea0f4Smrg -mint | -mint[0-9]*) 230301ea0f4Smrg basic_machine=m68k-atari 231301ea0f4Smrg os=-mint 232301ea0f4Smrg ;; 233301ea0f4Smrgesac 234301ea0f4Smrg 235301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations. 236301ea0f4Smrgcase $basic_machine in 237301ea0f4Smrg # Recognize the basic CPU types without company name. 238301ea0f4Smrg # Some are omitted here because they have special meanings below. 239301ea0f4Smrg 1750a | 580 \ 240301ea0f4Smrg | a29k \ 241301ea0f4Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 242301ea0f4Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2430cc67336Smrg | am33_2.0 \ 2440cc67336Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2450cc67336Smrg | bfin \ 246301ea0f4Smrg | c4x | clipper \ 247301ea0f4Smrg | d10v | d30v | dlx | dsp16xx \ 2480cc67336Smrg | fido | fr30 | frv \ 249301ea0f4Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 250301ea0f4Smrg | i370 | i860 | i960 | ia64 \ 2510cc67336Smrg | ip2k | iq2000 \ 2520cc67336Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2530cc67336Smrg | maxq | mb | microblaze | mcore | mep \ 254301ea0f4Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 255301ea0f4Smrg | mips16 \ 256301ea0f4Smrg | mips64 | mips64el \ 257301ea0f4Smrg | mips64vr | mips64vrel \ 258301ea0f4Smrg | mips64orion | mips64orionel \ 259301ea0f4Smrg | mips64vr4100 | mips64vr4100el \ 260301ea0f4Smrg | mips64vr4300 | mips64vr4300el \ 261301ea0f4Smrg | mips64vr5000 | mips64vr5000el \ 2620cc67336Smrg | mips64vr5900 | mips64vr5900el \ 263301ea0f4Smrg | mipsisa32 | mipsisa32el \ 264301ea0f4Smrg | mipsisa32r2 | mipsisa32r2el \ 265301ea0f4Smrg | mipsisa64 | mipsisa64el \ 2660cc67336Smrg | mipsisa64r2 | mipsisa64r2el \ 267301ea0f4Smrg | mipsisa64sb1 | mipsisa64sb1el \ 268301ea0f4Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 269301ea0f4Smrg | mipstx39 | mipstx39el \ 270301ea0f4Smrg | mn10200 | mn10300 \ 2710cc67336Smrg | mt \ 272301ea0f4Smrg | msp430 \ 2730cc67336Smrg | nios | nios2 \ 274301ea0f4Smrg | ns16k | ns32k \ 2750cc67336Smrg | or32 \ 276301ea0f4Smrg | pdp10 | pdp11 | pj | pjl \ 277301ea0f4Smrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 278301ea0f4Smrg | pyramid \ 2790cc67336Smrg | score \ 2800cc67336Smrg | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 281301ea0f4Smrg | sh64 | sh64le \ 2820cc67336Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 2830cc67336Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 2840cc67336Smrg | spu | strongarm \ 285301ea0f4Smrg | tahoe | thumb | tic4x | tic80 | tron \ 286301ea0f4Smrg | v850 | v850e \ 287301ea0f4Smrg | we32k \ 2880cc67336Smrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 289301ea0f4Smrg | z8k) 290301ea0f4Smrg basic_machine=$basic_machine-unknown 291301ea0f4Smrg ;; 292301ea0f4Smrg m6811 | m68hc11 | m6812 | m68hc12) 293301ea0f4Smrg # Motorola 68HC11/12. 294301ea0f4Smrg basic_machine=$basic_machine-unknown 295301ea0f4Smrg os=-none 296301ea0f4Smrg ;; 297301ea0f4Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 298301ea0f4Smrg ;; 2990cc67336Smrg ms1) 3000cc67336Smrg basic_machine=mt-unknown 3010cc67336Smrg ;; 302301ea0f4Smrg 303301ea0f4Smrg # We use `pc' rather than `unknown' 304301ea0f4Smrg # because (1) that's what they normally are, and 305301ea0f4Smrg # (2) the word "unknown" tends to confuse beginning users. 306301ea0f4Smrg i*86 | x86_64) 307301ea0f4Smrg basic_machine=$basic_machine-pc 308301ea0f4Smrg ;; 309301ea0f4Smrg # Object if more than one company name word. 310301ea0f4Smrg *-*-*) 311301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 312301ea0f4Smrg exit 1 313301ea0f4Smrg ;; 314301ea0f4Smrg # Recognize the basic CPU types with company name. 315301ea0f4Smrg 580-* \ 316301ea0f4Smrg | a29k-* \ 317301ea0f4Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 318301ea0f4Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 319301ea0f4Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 320301ea0f4Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3210cc67336Smrg | avr-* | avr32-* \ 3220cc67336Smrg | bfin-* | bs2000-* \ 323301ea0f4Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ 3240cc67336Smrg | clipper-* | craynv-* | cydra-* \ 325301ea0f4Smrg | d10v-* | d30v-* | dlx-* \ 326301ea0f4Smrg | elxsi-* \ 3270cc67336Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 328301ea0f4Smrg | h8300-* | h8500-* \ 329301ea0f4Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 330301ea0f4Smrg | i*86-* | i860-* | i960-* | ia64-* \ 3310cc67336Smrg | ip2k-* | iq2000-* \ 3320cc67336Smrg | m32c-* | m32r-* | m32rle-* \ 333301ea0f4Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3340cc67336Smrg | m88110-* | m88k-* | maxq-* | mcore-* \ 335301ea0f4Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 336301ea0f4Smrg | mips16-* \ 337301ea0f4Smrg | mips64-* | mips64el-* \ 338301ea0f4Smrg | mips64vr-* | mips64vrel-* \ 339301ea0f4Smrg | mips64orion-* | mips64orionel-* \ 340301ea0f4Smrg | mips64vr4100-* | mips64vr4100el-* \ 341301ea0f4Smrg | mips64vr4300-* | mips64vr4300el-* \ 342301ea0f4Smrg | mips64vr5000-* | mips64vr5000el-* \ 3430cc67336Smrg | mips64vr5900-* | mips64vr5900el-* \ 344301ea0f4Smrg | mipsisa32-* | mipsisa32el-* \ 345301ea0f4Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 346301ea0f4Smrg | mipsisa64-* | mipsisa64el-* \ 3470cc67336Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 348301ea0f4Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 349301ea0f4Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 350301ea0f4Smrg | mipstx39-* | mipstx39el-* \ 3510cc67336Smrg | mmix-* \ 3520cc67336Smrg | mt-* \ 353301ea0f4Smrg | msp430-* \ 3540cc67336Smrg | nios-* | nios2-* \ 3550cc67336Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 356301ea0f4Smrg | orion-* \ 357301ea0f4Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 358301ea0f4Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 359301ea0f4Smrg | pyramid-* \ 360301ea0f4Smrg | romp-* | rs6000-* \ 3610cc67336Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 362301ea0f4Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 3630cc67336Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 3640cc67336Smrg | sparclite-* \ 3650cc67336Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 366301ea0f4Smrg | tahoe-* | thumb-* \ 367301ea0f4Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 368301ea0f4Smrg | tron-* \ 369301ea0f4Smrg | v850-* | v850e-* | vax-* \ 370301ea0f4Smrg | we32k-* \ 3710cc67336Smrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 3720cc67336Smrg | xstormy16-* | xtensa*-* \ 373301ea0f4Smrg | ymp-* \ 374301ea0f4Smrg | z8k-*) 375301ea0f4Smrg ;; 3760cc67336Smrg # Recognize the basic CPU types without company name, with glob match. 3770cc67336Smrg xtensa*) 3780cc67336Smrg basic_machine=$basic_machine-unknown 3790cc67336Smrg ;; 380301ea0f4Smrg # Recognize the various machine names and aliases which stand 381301ea0f4Smrg # for a CPU type and a company and sometimes even an OS. 382301ea0f4Smrg 386bsd) 383301ea0f4Smrg basic_machine=i386-unknown 384301ea0f4Smrg os=-bsd 385301ea0f4Smrg ;; 386301ea0f4Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 387301ea0f4Smrg basic_machine=m68000-att 388301ea0f4Smrg ;; 389301ea0f4Smrg 3b*) 390301ea0f4Smrg basic_machine=we32k-att 391301ea0f4Smrg ;; 392301ea0f4Smrg a29khif) 393301ea0f4Smrg basic_machine=a29k-amd 394301ea0f4Smrg os=-udi 395301ea0f4Smrg ;; 3960cc67336Smrg abacus) 3970cc67336Smrg basic_machine=abacus-unknown 3980cc67336Smrg ;; 399301ea0f4Smrg adobe68k) 400301ea0f4Smrg basic_machine=m68010-adobe 401301ea0f4Smrg os=-scout 402301ea0f4Smrg ;; 403301ea0f4Smrg alliant | fx80) 404301ea0f4Smrg basic_machine=fx80-alliant 405301ea0f4Smrg ;; 406301ea0f4Smrg altos | altos3068) 407301ea0f4Smrg basic_machine=m68k-altos 408301ea0f4Smrg ;; 409301ea0f4Smrg am29k) 410301ea0f4Smrg basic_machine=a29k-none 411301ea0f4Smrg os=-bsd 412301ea0f4Smrg ;; 413301ea0f4Smrg amd64) 414301ea0f4Smrg basic_machine=x86_64-pc 415301ea0f4Smrg ;; 4160cc67336Smrg amd64-*) 4170cc67336Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4180cc67336Smrg ;; 419301ea0f4Smrg amdahl) 420301ea0f4Smrg basic_machine=580-amdahl 421301ea0f4Smrg os=-sysv 422301ea0f4Smrg ;; 423301ea0f4Smrg amiga | amiga-*) 424301ea0f4Smrg basic_machine=m68k-unknown 425301ea0f4Smrg ;; 426301ea0f4Smrg amigaos | amigados) 427301ea0f4Smrg basic_machine=m68k-unknown 428301ea0f4Smrg os=-amigaos 429301ea0f4Smrg ;; 430301ea0f4Smrg amigaunix | amix) 431301ea0f4Smrg basic_machine=m68k-unknown 432301ea0f4Smrg os=-sysv4 433301ea0f4Smrg ;; 434301ea0f4Smrg apollo68) 435301ea0f4Smrg basic_machine=m68k-apollo 436301ea0f4Smrg os=-sysv 437301ea0f4Smrg ;; 438301ea0f4Smrg apollo68bsd) 439301ea0f4Smrg basic_machine=m68k-apollo 440301ea0f4Smrg os=-bsd 441301ea0f4Smrg ;; 442301ea0f4Smrg aux) 443301ea0f4Smrg basic_machine=m68k-apple 444301ea0f4Smrg os=-aux 445301ea0f4Smrg ;; 446301ea0f4Smrg balance) 447301ea0f4Smrg basic_machine=ns32k-sequent 448301ea0f4Smrg os=-dynix 449301ea0f4Smrg ;; 4500cc67336Smrg blackfin) 4510cc67336Smrg basic_machine=bfin-unknown 4520cc67336Smrg os=-linux 4530cc67336Smrg ;; 4540cc67336Smrg blackfin-*) 4550cc67336Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 4560cc67336Smrg os=-linux 4570cc67336Smrg ;; 458301ea0f4Smrg c90) 459301ea0f4Smrg basic_machine=c90-cray 460301ea0f4Smrg os=-unicos 461301ea0f4Smrg ;; 462301ea0f4Smrg convex-c1) 463301ea0f4Smrg basic_machine=c1-convex 464301ea0f4Smrg os=-bsd 465301ea0f4Smrg ;; 466301ea0f4Smrg convex-c2) 467301ea0f4Smrg basic_machine=c2-convex 468301ea0f4Smrg os=-bsd 469301ea0f4Smrg ;; 470301ea0f4Smrg convex-c32) 471301ea0f4Smrg basic_machine=c32-convex 472301ea0f4Smrg os=-bsd 473301ea0f4Smrg ;; 474301ea0f4Smrg convex-c34) 475301ea0f4Smrg basic_machine=c34-convex 476301ea0f4Smrg os=-bsd 477301ea0f4Smrg ;; 478301ea0f4Smrg convex-c38) 479301ea0f4Smrg basic_machine=c38-convex 480301ea0f4Smrg os=-bsd 481301ea0f4Smrg ;; 482301ea0f4Smrg cray | j90) 483301ea0f4Smrg basic_machine=j90-cray 484301ea0f4Smrg os=-unicos 485301ea0f4Smrg ;; 4860cc67336Smrg craynv) 4870cc67336Smrg basic_machine=craynv-cray 4880cc67336Smrg os=-unicosmp 4890cc67336Smrg ;; 4900cc67336Smrg cr16) 4910cc67336Smrg basic_machine=cr16-unknown 4920cc67336Smrg os=-elf 4930cc67336Smrg ;; 494301ea0f4Smrg crds | unos) 495301ea0f4Smrg basic_machine=m68k-crds 496301ea0f4Smrg ;; 4970cc67336Smrg crisv32 | crisv32-* | etraxfs*) 4980cc67336Smrg basic_machine=crisv32-axis 4990cc67336Smrg ;; 500301ea0f4Smrg cris | cris-* | etrax*) 501301ea0f4Smrg basic_machine=cris-axis 502301ea0f4Smrg ;; 5030cc67336Smrg crx) 5040cc67336Smrg basic_machine=crx-unknown 5050cc67336Smrg os=-elf 5060cc67336Smrg ;; 507301ea0f4Smrg da30 | da30-*) 508301ea0f4Smrg basic_machine=m68k-da30 509301ea0f4Smrg ;; 510301ea0f4Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 511301ea0f4Smrg basic_machine=mips-dec 512301ea0f4Smrg ;; 513301ea0f4Smrg decsystem10* | dec10*) 514301ea0f4Smrg basic_machine=pdp10-dec 515301ea0f4Smrg os=-tops10 516301ea0f4Smrg ;; 517301ea0f4Smrg decsystem20* | dec20*) 518301ea0f4Smrg basic_machine=pdp10-dec 519301ea0f4Smrg os=-tops20 520301ea0f4Smrg ;; 521301ea0f4Smrg delta | 3300 | motorola-3300 | motorola-delta \ 522301ea0f4Smrg | 3300-motorola | delta-motorola) 523301ea0f4Smrg basic_machine=m68k-motorola 524301ea0f4Smrg ;; 525301ea0f4Smrg delta88) 526301ea0f4Smrg basic_machine=m88k-motorola 527301ea0f4Smrg os=-sysv3 528301ea0f4Smrg ;; 5290cc67336Smrg djgpp) 5300cc67336Smrg basic_machine=i586-pc 5310cc67336Smrg os=-msdosdjgpp 5320cc67336Smrg ;; 533301ea0f4Smrg dpx20 | dpx20-*) 534301ea0f4Smrg basic_machine=rs6000-bull 535301ea0f4Smrg os=-bosx 536301ea0f4Smrg ;; 537301ea0f4Smrg dpx2* | dpx2*-bull) 538301ea0f4Smrg basic_machine=m68k-bull 539301ea0f4Smrg os=-sysv3 540301ea0f4Smrg ;; 541301ea0f4Smrg ebmon29k) 542301ea0f4Smrg basic_machine=a29k-amd 543301ea0f4Smrg os=-ebmon 544301ea0f4Smrg ;; 545301ea0f4Smrg elxsi) 546301ea0f4Smrg basic_machine=elxsi-elxsi 547301ea0f4Smrg os=-bsd 548301ea0f4Smrg ;; 549301ea0f4Smrg encore | umax | mmax) 550301ea0f4Smrg basic_machine=ns32k-encore 551301ea0f4Smrg ;; 552301ea0f4Smrg es1800 | OSE68k | ose68k | ose | OSE) 553301ea0f4Smrg basic_machine=m68k-ericsson 554301ea0f4Smrg os=-ose 555301ea0f4Smrg ;; 556301ea0f4Smrg fx2800) 557301ea0f4Smrg basic_machine=i860-alliant 558301ea0f4Smrg ;; 559301ea0f4Smrg genix) 560301ea0f4Smrg basic_machine=ns32k-ns 561301ea0f4Smrg ;; 562301ea0f4Smrg gmicro) 563301ea0f4Smrg basic_machine=tron-gmicro 564301ea0f4Smrg os=-sysv 565301ea0f4Smrg ;; 566301ea0f4Smrg go32) 567301ea0f4Smrg basic_machine=i386-pc 568301ea0f4Smrg os=-go32 569301ea0f4Smrg ;; 570301ea0f4Smrg h3050r* | hiux*) 571301ea0f4Smrg basic_machine=hppa1.1-hitachi 572301ea0f4Smrg os=-hiuxwe2 573301ea0f4Smrg ;; 574301ea0f4Smrg h8300hms) 575301ea0f4Smrg basic_machine=h8300-hitachi 576301ea0f4Smrg os=-hms 577301ea0f4Smrg ;; 578301ea0f4Smrg h8300xray) 579301ea0f4Smrg basic_machine=h8300-hitachi 580301ea0f4Smrg os=-xray 581301ea0f4Smrg ;; 582301ea0f4Smrg h8500hms) 583301ea0f4Smrg basic_machine=h8500-hitachi 584301ea0f4Smrg os=-hms 585301ea0f4Smrg ;; 586301ea0f4Smrg harris) 587301ea0f4Smrg basic_machine=m88k-harris 588301ea0f4Smrg os=-sysv3 589301ea0f4Smrg ;; 590301ea0f4Smrg hp300-*) 591301ea0f4Smrg basic_machine=m68k-hp 592301ea0f4Smrg ;; 593301ea0f4Smrg hp300bsd) 594301ea0f4Smrg basic_machine=m68k-hp 595301ea0f4Smrg os=-bsd 596301ea0f4Smrg ;; 597301ea0f4Smrg hp300hpux) 598301ea0f4Smrg basic_machine=m68k-hp 599301ea0f4Smrg os=-hpux 600301ea0f4Smrg ;; 601301ea0f4Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 602301ea0f4Smrg basic_machine=hppa1.0-hp 603301ea0f4Smrg ;; 604301ea0f4Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 605301ea0f4Smrg basic_machine=m68000-hp 606301ea0f4Smrg ;; 607301ea0f4Smrg hp9k3[2-9][0-9]) 608301ea0f4Smrg basic_machine=m68k-hp 609301ea0f4Smrg ;; 610301ea0f4Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 611301ea0f4Smrg basic_machine=hppa1.0-hp 612301ea0f4Smrg ;; 613301ea0f4Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 614301ea0f4Smrg basic_machine=hppa1.1-hp 615301ea0f4Smrg ;; 616301ea0f4Smrg hp9k78[0-9] | hp78[0-9]) 617301ea0f4Smrg # FIXME: really hppa2.0-hp 618301ea0f4Smrg basic_machine=hppa1.1-hp 619301ea0f4Smrg ;; 620301ea0f4Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 621301ea0f4Smrg # FIXME: really hppa2.0-hp 622301ea0f4Smrg basic_machine=hppa1.1-hp 623301ea0f4Smrg ;; 624301ea0f4Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 625301ea0f4Smrg basic_machine=hppa1.1-hp 626301ea0f4Smrg ;; 627301ea0f4Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 628301ea0f4Smrg basic_machine=hppa1.0-hp 629301ea0f4Smrg ;; 630301ea0f4Smrg hppa-next) 631301ea0f4Smrg os=-nextstep3 632301ea0f4Smrg ;; 633301ea0f4Smrg hppaosf) 634301ea0f4Smrg basic_machine=hppa1.1-hp 635301ea0f4Smrg os=-osf 636301ea0f4Smrg ;; 637301ea0f4Smrg hppro) 638301ea0f4Smrg basic_machine=hppa1.1-hp 639301ea0f4Smrg os=-proelf 640301ea0f4Smrg ;; 641301ea0f4Smrg i370-ibm* | ibm*) 642301ea0f4Smrg basic_machine=i370-ibm 643301ea0f4Smrg ;; 644301ea0f4Smrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 645301ea0f4Smrg i*86v32) 646301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 647301ea0f4Smrg os=-sysv32 648301ea0f4Smrg ;; 649301ea0f4Smrg i*86v4*) 650301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 651301ea0f4Smrg os=-sysv4 652301ea0f4Smrg ;; 653301ea0f4Smrg i*86v) 654301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 655301ea0f4Smrg os=-sysv 656301ea0f4Smrg ;; 657301ea0f4Smrg i*86sol2) 658301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 659301ea0f4Smrg os=-solaris2 660301ea0f4Smrg ;; 661301ea0f4Smrg i386mach) 662301ea0f4Smrg basic_machine=i386-mach 663301ea0f4Smrg os=-mach 664301ea0f4Smrg ;; 665301ea0f4Smrg i386-vsta | vsta) 666301ea0f4Smrg basic_machine=i386-unknown 667301ea0f4Smrg os=-vsta 668301ea0f4Smrg ;; 669301ea0f4Smrg iris | iris4d) 670301ea0f4Smrg basic_machine=mips-sgi 671301ea0f4Smrg case $os in 672301ea0f4Smrg -irix*) 673301ea0f4Smrg ;; 674301ea0f4Smrg *) 675301ea0f4Smrg os=-irix4 676301ea0f4Smrg ;; 677301ea0f4Smrg esac 678301ea0f4Smrg ;; 679301ea0f4Smrg isi68 | isi) 680301ea0f4Smrg basic_machine=m68k-isi 681301ea0f4Smrg os=-sysv 682301ea0f4Smrg ;; 6830cc67336Smrg m68knommu) 6840cc67336Smrg basic_machine=m68k-unknown 6850cc67336Smrg os=-linux 6860cc67336Smrg ;; 6870cc67336Smrg m68knommu-*) 6880cc67336Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 6890cc67336Smrg os=-linux 6900cc67336Smrg ;; 691301ea0f4Smrg m88k-omron*) 692301ea0f4Smrg basic_machine=m88k-omron 693301ea0f4Smrg ;; 694301ea0f4Smrg magnum | m3230) 695301ea0f4Smrg basic_machine=mips-mips 696301ea0f4Smrg os=-sysv 697301ea0f4Smrg ;; 698301ea0f4Smrg merlin) 699301ea0f4Smrg basic_machine=ns32k-utek 700301ea0f4Smrg os=-sysv 701301ea0f4Smrg ;; 702301ea0f4Smrg mingw32) 703301ea0f4Smrg basic_machine=i386-pc 704301ea0f4Smrg os=-mingw32 705301ea0f4Smrg ;; 7060cc67336Smrg mingw32ce) 7070cc67336Smrg basic_machine=arm-unknown 7080cc67336Smrg os=-mingw32ce 7090cc67336Smrg ;; 710301ea0f4Smrg miniframe) 711301ea0f4Smrg basic_machine=m68000-convergent 712301ea0f4Smrg ;; 713301ea0f4Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 714301ea0f4Smrg basic_machine=m68k-atari 715301ea0f4Smrg os=-mint 716301ea0f4Smrg ;; 717301ea0f4Smrg mips3*-*) 718301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 719301ea0f4Smrg ;; 720301ea0f4Smrg mips3*) 721301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 722301ea0f4Smrg ;; 723301ea0f4Smrg monitor) 724301ea0f4Smrg basic_machine=m68k-rom68k 725301ea0f4Smrg os=-coff 726301ea0f4Smrg ;; 727301ea0f4Smrg morphos) 728301ea0f4Smrg basic_machine=powerpc-unknown 729301ea0f4Smrg os=-morphos 730301ea0f4Smrg ;; 731301ea0f4Smrg msdos) 732301ea0f4Smrg basic_machine=i386-pc 733301ea0f4Smrg os=-msdos 734301ea0f4Smrg ;; 7350cc67336Smrg ms1-*) 7360cc67336Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 7370cc67336Smrg ;; 738301ea0f4Smrg mvs) 739301ea0f4Smrg basic_machine=i370-ibm 740301ea0f4Smrg os=-mvs 741301ea0f4Smrg ;; 742301ea0f4Smrg ncr3000) 743301ea0f4Smrg basic_machine=i486-ncr 744301ea0f4Smrg os=-sysv4 745301ea0f4Smrg ;; 746301ea0f4Smrg netbsd386) 747301ea0f4Smrg basic_machine=i386-unknown 748301ea0f4Smrg os=-netbsd 749301ea0f4Smrg ;; 750301ea0f4Smrg netwinder) 751301ea0f4Smrg basic_machine=armv4l-rebel 752301ea0f4Smrg os=-linux 753301ea0f4Smrg ;; 754301ea0f4Smrg news | news700 | news800 | news900) 755301ea0f4Smrg basic_machine=m68k-sony 756301ea0f4Smrg os=-newsos 757301ea0f4Smrg ;; 758301ea0f4Smrg news1000) 759301ea0f4Smrg basic_machine=m68030-sony 760301ea0f4Smrg os=-newsos 761301ea0f4Smrg ;; 762301ea0f4Smrg news-3600 | risc-news) 763301ea0f4Smrg basic_machine=mips-sony 764301ea0f4Smrg os=-newsos 765301ea0f4Smrg ;; 766301ea0f4Smrg necv70) 767301ea0f4Smrg basic_machine=v70-nec 768301ea0f4Smrg os=-sysv 769301ea0f4Smrg ;; 770301ea0f4Smrg next | m*-next ) 771301ea0f4Smrg basic_machine=m68k-next 772301ea0f4Smrg case $os in 773301ea0f4Smrg -nextstep* ) 774301ea0f4Smrg ;; 775301ea0f4Smrg -ns2*) 776301ea0f4Smrg os=-nextstep2 777301ea0f4Smrg ;; 778301ea0f4Smrg *) 779301ea0f4Smrg os=-nextstep3 780301ea0f4Smrg ;; 781301ea0f4Smrg esac 782301ea0f4Smrg ;; 783301ea0f4Smrg nh3000) 784301ea0f4Smrg basic_machine=m68k-harris 785301ea0f4Smrg os=-cxux 786301ea0f4Smrg ;; 787301ea0f4Smrg nh[45]000) 788301ea0f4Smrg basic_machine=m88k-harris 789301ea0f4Smrg os=-cxux 790301ea0f4Smrg ;; 791301ea0f4Smrg nindy960) 792301ea0f4Smrg basic_machine=i960-intel 793301ea0f4Smrg os=-nindy 794301ea0f4Smrg ;; 795301ea0f4Smrg mon960) 796301ea0f4Smrg basic_machine=i960-intel 797301ea0f4Smrg os=-mon960 798301ea0f4Smrg ;; 799301ea0f4Smrg nonstopux) 800301ea0f4Smrg basic_machine=mips-compaq 801301ea0f4Smrg os=-nonstopux 802301ea0f4Smrg ;; 803301ea0f4Smrg np1) 804301ea0f4Smrg basic_machine=np1-gould 805301ea0f4Smrg ;; 806301ea0f4Smrg nsr-tandem) 807301ea0f4Smrg basic_machine=nsr-tandem 808301ea0f4Smrg ;; 809301ea0f4Smrg op50n-* | op60c-*) 810301ea0f4Smrg basic_machine=hppa1.1-oki 811301ea0f4Smrg os=-proelf 812301ea0f4Smrg ;; 8130cc67336Smrg openrisc | openrisc-*) 814301ea0f4Smrg basic_machine=or32-unknown 8150cc67336Smrg ;; 8160cc67336Smrg os400) 8170cc67336Smrg basic_machine=powerpc-ibm 8180cc67336Smrg os=-os400 819301ea0f4Smrg ;; 820301ea0f4Smrg OSE68000 | ose68000) 821301ea0f4Smrg basic_machine=m68000-ericsson 822301ea0f4Smrg os=-ose 823301ea0f4Smrg ;; 824301ea0f4Smrg os68k) 825301ea0f4Smrg basic_machine=m68k-none 826301ea0f4Smrg os=-os68k 827301ea0f4Smrg ;; 828301ea0f4Smrg pa-hitachi) 829301ea0f4Smrg basic_machine=hppa1.1-hitachi 830301ea0f4Smrg os=-hiuxwe2 831301ea0f4Smrg ;; 832301ea0f4Smrg paragon) 833301ea0f4Smrg basic_machine=i860-intel 834301ea0f4Smrg os=-osf 835301ea0f4Smrg ;; 8360cc67336Smrg parisc) 8370cc67336Smrg basic_machine=hppa-unknown 8380cc67336Smrg os=-linux 8390cc67336Smrg ;; 8400cc67336Smrg parisc-*) 8410cc67336Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 8420cc67336Smrg os=-linux 8430cc67336Smrg ;; 844301ea0f4Smrg pbd) 845301ea0f4Smrg basic_machine=sparc-tti 846301ea0f4Smrg ;; 847301ea0f4Smrg pbb) 848301ea0f4Smrg basic_machine=m68k-tti 849301ea0f4Smrg ;; 850301ea0f4Smrg pc532 | pc532-*) 851301ea0f4Smrg basic_machine=ns32k-pc532 852301ea0f4Smrg ;; 8530cc67336Smrg pc98) 8540cc67336Smrg basic_machine=i386-pc 8550cc67336Smrg ;; 8560cc67336Smrg pc98-*) 8570cc67336Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 8580cc67336Smrg ;; 859301ea0f4Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 860301ea0f4Smrg basic_machine=i586-pc 861301ea0f4Smrg ;; 862301ea0f4Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 863301ea0f4Smrg basic_machine=i686-pc 864301ea0f4Smrg ;; 865301ea0f4Smrg pentiumii | pentium2 | pentiumiii | pentium3) 866301ea0f4Smrg basic_machine=i686-pc 867301ea0f4Smrg ;; 868301ea0f4Smrg pentium4) 869301ea0f4Smrg basic_machine=i786-pc 870301ea0f4Smrg ;; 871301ea0f4Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 872301ea0f4Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 873301ea0f4Smrg ;; 874301ea0f4Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 875301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 876301ea0f4Smrg ;; 877301ea0f4Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 878301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 879301ea0f4Smrg ;; 880301ea0f4Smrg pentium4-*) 881301ea0f4Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 882301ea0f4Smrg ;; 883301ea0f4Smrg pn) 884301ea0f4Smrg basic_machine=pn-gould 885301ea0f4Smrg ;; 886301ea0f4Smrg power) basic_machine=power-ibm 887301ea0f4Smrg ;; 888301ea0f4Smrg ppc) basic_machine=powerpc-unknown 889301ea0f4Smrg ;; 890301ea0f4Smrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 891301ea0f4Smrg ;; 892301ea0f4Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 893301ea0f4Smrg basic_machine=powerpcle-unknown 894301ea0f4Smrg ;; 895301ea0f4Smrg ppcle-* | powerpclittle-*) 896301ea0f4Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 897301ea0f4Smrg ;; 898301ea0f4Smrg ppc64) basic_machine=powerpc64-unknown 899301ea0f4Smrg ;; 900301ea0f4Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 901301ea0f4Smrg ;; 902301ea0f4Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 903301ea0f4Smrg basic_machine=powerpc64le-unknown 904301ea0f4Smrg ;; 905301ea0f4Smrg ppc64le-* | powerpc64little-*) 906301ea0f4Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 907301ea0f4Smrg ;; 908301ea0f4Smrg ps2) 909301ea0f4Smrg basic_machine=i386-ibm 910301ea0f4Smrg ;; 911301ea0f4Smrg pw32) 912301ea0f4Smrg basic_machine=i586-unknown 913301ea0f4Smrg os=-pw32 914301ea0f4Smrg ;; 9150cc67336Smrg rdos) 9160cc67336Smrg basic_machine=i386-pc 9170cc67336Smrg os=-rdos 9180cc67336Smrg ;; 919301ea0f4Smrg rom68k) 920301ea0f4Smrg basic_machine=m68k-rom68k 921301ea0f4Smrg os=-coff 922301ea0f4Smrg ;; 923301ea0f4Smrg rm[46]00) 924301ea0f4Smrg basic_machine=mips-siemens 925301ea0f4Smrg ;; 926301ea0f4Smrg rtpc | rtpc-*) 927301ea0f4Smrg basic_machine=romp-ibm 928301ea0f4Smrg ;; 9290cc67336Smrg s390 | s390-*) 9300cc67336Smrg basic_machine=s390-ibm 9310cc67336Smrg ;; 9320cc67336Smrg s390x | s390x-*) 9330cc67336Smrg basic_machine=s390x-ibm 9340cc67336Smrg ;; 935301ea0f4Smrg sa29200) 936301ea0f4Smrg basic_machine=a29k-amd 937301ea0f4Smrg os=-udi 938301ea0f4Smrg ;; 939301ea0f4Smrg sb1) 940301ea0f4Smrg basic_machine=mipsisa64sb1-unknown 941301ea0f4Smrg ;; 942301ea0f4Smrg sb1el) 943301ea0f4Smrg basic_machine=mipsisa64sb1el-unknown 944301ea0f4Smrg ;; 9450cc67336Smrg sde) 9460cc67336Smrg basic_machine=mipsisa32-sde 9470cc67336Smrg os=-elf 9480cc67336Smrg ;; 949301ea0f4Smrg sei) 950301ea0f4Smrg basic_machine=mips-sei 951301ea0f4Smrg os=-seiux 952301ea0f4Smrg ;; 953301ea0f4Smrg sequent) 954301ea0f4Smrg basic_machine=i386-sequent 955301ea0f4Smrg ;; 956301ea0f4Smrg sh) 957301ea0f4Smrg basic_machine=sh-hitachi 958301ea0f4Smrg os=-hms 959301ea0f4Smrg ;; 9600cc67336Smrg sh5el) 9610cc67336Smrg basic_machine=sh5le-unknown 9620cc67336Smrg ;; 963301ea0f4Smrg sh64) 964301ea0f4Smrg basic_machine=sh64-unknown 965301ea0f4Smrg ;; 966301ea0f4Smrg sparclite-wrs | simso-wrs) 967301ea0f4Smrg basic_machine=sparclite-wrs 968301ea0f4Smrg os=-vxworks 969301ea0f4Smrg ;; 970301ea0f4Smrg sps7) 971301ea0f4Smrg basic_machine=m68k-bull 972301ea0f4Smrg os=-sysv2 973301ea0f4Smrg ;; 974301ea0f4Smrg spur) 975301ea0f4Smrg basic_machine=spur-unknown 976301ea0f4Smrg ;; 977301ea0f4Smrg st2000) 978301ea0f4Smrg basic_machine=m68k-tandem 979301ea0f4Smrg ;; 980301ea0f4Smrg stratus) 981301ea0f4Smrg basic_machine=i860-stratus 982301ea0f4Smrg os=-sysv4 983301ea0f4Smrg ;; 984301ea0f4Smrg sun2) 985301ea0f4Smrg basic_machine=m68000-sun 986301ea0f4Smrg ;; 987301ea0f4Smrg sun2os3) 988301ea0f4Smrg basic_machine=m68000-sun 989301ea0f4Smrg os=-sunos3 990301ea0f4Smrg ;; 991301ea0f4Smrg sun2os4) 992301ea0f4Smrg basic_machine=m68000-sun 993301ea0f4Smrg os=-sunos4 994301ea0f4Smrg ;; 995301ea0f4Smrg sun3os3) 996301ea0f4Smrg basic_machine=m68k-sun 997301ea0f4Smrg os=-sunos3 998301ea0f4Smrg ;; 999301ea0f4Smrg sun3os4) 1000301ea0f4Smrg basic_machine=m68k-sun 1001301ea0f4Smrg os=-sunos4 1002301ea0f4Smrg ;; 1003301ea0f4Smrg sun4os3) 1004301ea0f4Smrg basic_machine=sparc-sun 1005301ea0f4Smrg os=-sunos3 1006301ea0f4Smrg ;; 1007301ea0f4Smrg sun4os4) 1008301ea0f4Smrg basic_machine=sparc-sun 1009301ea0f4Smrg os=-sunos4 1010301ea0f4Smrg ;; 1011301ea0f4Smrg sun4sol2) 1012301ea0f4Smrg basic_machine=sparc-sun 1013301ea0f4Smrg os=-solaris2 1014301ea0f4Smrg ;; 1015301ea0f4Smrg sun3 | sun3-*) 1016301ea0f4Smrg basic_machine=m68k-sun 1017301ea0f4Smrg ;; 1018301ea0f4Smrg sun4) 1019301ea0f4Smrg basic_machine=sparc-sun 1020301ea0f4Smrg ;; 1021301ea0f4Smrg sun386 | sun386i | roadrunner) 1022301ea0f4Smrg basic_machine=i386-sun 1023301ea0f4Smrg ;; 1024301ea0f4Smrg sv1) 1025301ea0f4Smrg basic_machine=sv1-cray 1026301ea0f4Smrg os=-unicos 1027301ea0f4Smrg ;; 1028301ea0f4Smrg symmetry) 1029301ea0f4Smrg basic_machine=i386-sequent 1030301ea0f4Smrg os=-dynix 1031301ea0f4Smrg ;; 1032301ea0f4Smrg t3e) 1033301ea0f4Smrg basic_machine=alphaev5-cray 1034301ea0f4Smrg os=-unicos 1035301ea0f4Smrg ;; 1036301ea0f4Smrg t90) 1037301ea0f4Smrg basic_machine=t90-cray 1038301ea0f4Smrg os=-unicos 1039301ea0f4Smrg ;; 1040301ea0f4Smrg tic54x | c54x*) 1041301ea0f4Smrg basic_machine=tic54x-unknown 1042301ea0f4Smrg os=-coff 1043301ea0f4Smrg ;; 1044301ea0f4Smrg tic55x | c55x*) 1045301ea0f4Smrg basic_machine=tic55x-unknown 1046301ea0f4Smrg os=-coff 1047301ea0f4Smrg ;; 1048301ea0f4Smrg tic6x | c6x*) 1049301ea0f4Smrg basic_machine=tic6x-unknown 1050301ea0f4Smrg os=-coff 1051301ea0f4Smrg ;; 10520cc67336Smrg tile*) 10530cc67336Smrg basic_machine=tile-unknown 10540cc67336Smrg os=-linux-gnu 10550cc67336Smrg ;; 1056301ea0f4Smrg tx39) 1057301ea0f4Smrg basic_machine=mipstx39-unknown 1058301ea0f4Smrg ;; 1059301ea0f4Smrg tx39el) 1060301ea0f4Smrg basic_machine=mipstx39el-unknown 1061301ea0f4Smrg ;; 1062301ea0f4Smrg toad1) 1063301ea0f4Smrg basic_machine=pdp10-xkl 1064301ea0f4Smrg os=-tops20 1065301ea0f4Smrg ;; 1066301ea0f4Smrg tower | tower-32) 1067301ea0f4Smrg basic_machine=m68k-ncr 1068301ea0f4Smrg ;; 10690cc67336Smrg tpf) 10700cc67336Smrg basic_machine=s390x-ibm 10710cc67336Smrg os=-tpf 10720cc67336Smrg ;; 1073301ea0f4Smrg udi29k) 1074301ea0f4Smrg basic_machine=a29k-amd 1075301ea0f4Smrg os=-udi 1076301ea0f4Smrg ;; 1077301ea0f4Smrg ultra3) 1078301ea0f4Smrg basic_machine=a29k-nyu 1079301ea0f4Smrg os=-sym1 1080301ea0f4Smrg ;; 1081301ea0f4Smrg v810 | necv810) 1082301ea0f4Smrg basic_machine=v810-nec 1083301ea0f4Smrg os=-none 1084301ea0f4Smrg ;; 1085301ea0f4Smrg vaxv) 1086301ea0f4Smrg basic_machine=vax-dec 1087301ea0f4Smrg os=-sysv 1088301ea0f4Smrg ;; 1089301ea0f4Smrg vms) 1090301ea0f4Smrg basic_machine=vax-dec 1091301ea0f4Smrg os=-vms 1092301ea0f4Smrg ;; 1093301ea0f4Smrg vpp*|vx|vx-*) 1094301ea0f4Smrg basic_machine=f301-fujitsu 1095301ea0f4Smrg ;; 1096301ea0f4Smrg vxworks960) 1097301ea0f4Smrg basic_machine=i960-wrs 1098301ea0f4Smrg os=-vxworks 1099301ea0f4Smrg ;; 1100301ea0f4Smrg vxworks68) 1101301ea0f4Smrg basic_machine=m68k-wrs 1102301ea0f4Smrg os=-vxworks 1103301ea0f4Smrg ;; 1104301ea0f4Smrg vxworks29k) 1105301ea0f4Smrg basic_machine=a29k-wrs 1106301ea0f4Smrg os=-vxworks 1107301ea0f4Smrg ;; 1108301ea0f4Smrg w65*) 1109301ea0f4Smrg basic_machine=w65-wdc 1110301ea0f4Smrg os=-none 1111301ea0f4Smrg ;; 1112301ea0f4Smrg w89k-*) 1113301ea0f4Smrg basic_machine=hppa1.1-winbond 1114301ea0f4Smrg os=-proelf 1115301ea0f4Smrg ;; 11160cc67336Smrg xbox) 11170cc67336Smrg basic_machine=i686-pc 11180cc67336Smrg os=-mingw32 11190cc67336Smrg ;; 1120301ea0f4Smrg xps | xps100) 1121301ea0f4Smrg basic_machine=xps100-honeywell 1122301ea0f4Smrg ;; 1123301ea0f4Smrg ymp) 1124301ea0f4Smrg basic_machine=ymp-cray 1125301ea0f4Smrg os=-unicos 1126301ea0f4Smrg ;; 1127301ea0f4Smrg z8k-*-coff) 1128301ea0f4Smrg basic_machine=z8k-unknown 1129301ea0f4Smrg os=-sim 1130301ea0f4Smrg ;; 1131301ea0f4Smrg none) 1132301ea0f4Smrg basic_machine=none-none 1133301ea0f4Smrg os=-none 1134301ea0f4Smrg ;; 1135301ea0f4Smrg 1136301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1137301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular. 1138301ea0f4Smrg w89k) 1139301ea0f4Smrg basic_machine=hppa1.1-winbond 1140301ea0f4Smrg ;; 1141301ea0f4Smrg op50n) 1142301ea0f4Smrg basic_machine=hppa1.1-oki 1143301ea0f4Smrg ;; 1144301ea0f4Smrg op60c) 1145301ea0f4Smrg basic_machine=hppa1.1-oki 1146301ea0f4Smrg ;; 1147301ea0f4Smrg romp) 1148301ea0f4Smrg basic_machine=romp-ibm 1149301ea0f4Smrg ;; 11500cc67336Smrg mmix) 11510cc67336Smrg basic_machine=mmix-knuth 11520cc67336Smrg ;; 1153301ea0f4Smrg rs6000) 1154301ea0f4Smrg basic_machine=rs6000-ibm 1155301ea0f4Smrg ;; 1156301ea0f4Smrg vax) 1157301ea0f4Smrg basic_machine=vax-dec 1158301ea0f4Smrg ;; 1159301ea0f4Smrg pdp10) 1160301ea0f4Smrg # there are many clones, so DEC is not a safe bet 1161301ea0f4Smrg basic_machine=pdp10-unknown 1162301ea0f4Smrg ;; 1163301ea0f4Smrg pdp11) 1164301ea0f4Smrg basic_machine=pdp11-dec 1165301ea0f4Smrg ;; 1166301ea0f4Smrg we32k) 1167301ea0f4Smrg basic_machine=we32k-att 1168301ea0f4Smrg ;; 11690cc67336Smrg sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) 1170301ea0f4Smrg basic_machine=sh-unknown 1171301ea0f4Smrg ;; 11720cc67336Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1173301ea0f4Smrg basic_machine=sparc-sun 1174301ea0f4Smrg ;; 1175301ea0f4Smrg cydra) 1176301ea0f4Smrg basic_machine=cydra-cydrome 1177301ea0f4Smrg ;; 1178301ea0f4Smrg orion) 1179301ea0f4Smrg basic_machine=orion-highlevel 1180301ea0f4Smrg ;; 1181301ea0f4Smrg orion105) 1182301ea0f4Smrg basic_machine=clipper-highlevel 1183301ea0f4Smrg ;; 1184301ea0f4Smrg mac | mpw | mac-mpw) 1185301ea0f4Smrg basic_machine=m68k-apple 1186301ea0f4Smrg ;; 1187301ea0f4Smrg pmac | pmac-mpw) 1188301ea0f4Smrg basic_machine=powerpc-apple 1189301ea0f4Smrg ;; 1190301ea0f4Smrg *-unknown) 1191301ea0f4Smrg # Make sure to match an already-canonicalized machine name. 1192301ea0f4Smrg ;; 1193301ea0f4Smrg *) 1194301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1195301ea0f4Smrg exit 1 1196301ea0f4Smrg ;; 1197301ea0f4Smrgesac 1198301ea0f4Smrg 1199301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers. 1200301ea0f4Smrgcase $basic_machine in 1201301ea0f4Smrg *-digital*) 1202301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1203301ea0f4Smrg ;; 1204301ea0f4Smrg *-commodore*) 1205301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1206301ea0f4Smrg ;; 1207301ea0f4Smrg *) 1208301ea0f4Smrg ;; 1209301ea0f4Smrgesac 1210301ea0f4Smrg 1211301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems. 1212301ea0f4Smrg 1213301ea0f4Smrgif [ x"$os" != x"" ] 1214301ea0f4Smrgthen 1215301ea0f4Smrgcase $os in 1216301ea0f4Smrg # First match some system type aliases 1217301ea0f4Smrg # that might get confused with valid system types. 1218301ea0f4Smrg # -solaris* is a basic system type, with this one exception. 1219301ea0f4Smrg -solaris1 | -solaris1.*) 1220301ea0f4Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1221301ea0f4Smrg ;; 1222301ea0f4Smrg -solaris) 1223301ea0f4Smrg os=-solaris2 1224301ea0f4Smrg ;; 1225301ea0f4Smrg -svr4*) 1226301ea0f4Smrg os=-sysv4 1227301ea0f4Smrg ;; 1228301ea0f4Smrg -unixware*) 1229301ea0f4Smrg os=-sysv4.2uw 1230301ea0f4Smrg ;; 1231301ea0f4Smrg -gnu/linux*) 1232301ea0f4Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1233301ea0f4Smrg ;; 1234301ea0f4Smrg # First accept the basic system types. 1235301ea0f4Smrg # The portable systems comes first. 1236301ea0f4Smrg # Each alternative MUST END IN A *, to match a version number. 1237301ea0f4Smrg # -sysv* is not here because it comes later, after sysvr4. 1238301ea0f4Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1239301ea0f4Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 1240301ea0f4Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 1241301ea0f4Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1242301ea0f4Smrg | -aos* \ 1243301ea0f4Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1244301ea0f4Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 12450cc67336Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 12460cc67336Smrg | -openbsd* | -solidbsd* \ 12470cc67336Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 12480cc67336Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1249301ea0f4Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1250301ea0f4Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1251301ea0f4Smrg | -chorusos* | -chorusrdb* \ 1252301ea0f4Smrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 12530cc67336Smrg | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ 12540cc67336Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1255301ea0f4Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1256301ea0f4Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1257301ea0f4Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1258301ea0f4Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1259301ea0f4Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 12600cc67336Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 12610cc67336Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) 1262301ea0f4Smrg # Remember, each alternative MUST END IN *, to match a version number. 1263301ea0f4Smrg ;; 1264301ea0f4Smrg -qnx*) 1265301ea0f4Smrg case $basic_machine in 1266301ea0f4Smrg x86-* | i*86-*) 1267301ea0f4Smrg ;; 1268301ea0f4Smrg *) 1269301ea0f4Smrg os=-nto$os 1270301ea0f4Smrg ;; 1271301ea0f4Smrg esac 1272301ea0f4Smrg ;; 1273301ea0f4Smrg -nto-qnx*) 1274301ea0f4Smrg ;; 1275301ea0f4Smrg -nto*) 1276301ea0f4Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1277301ea0f4Smrg ;; 1278301ea0f4Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 12790cc67336Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1280301ea0f4Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1281301ea0f4Smrg ;; 1282301ea0f4Smrg -mac*) 1283301ea0f4Smrg os=`echo $os | sed -e 's|mac|macos|'` 1284301ea0f4Smrg ;; 12850cc67336Smrg -linux-dietlibc) 12860cc67336Smrg os=-linux-dietlibc 12870cc67336Smrg ;; 1288301ea0f4Smrg -linux*) 1289301ea0f4Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1290301ea0f4Smrg ;; 1291301ea0f4Smrg -sunos5*) 1292301ea0f4Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1293301ea0f4Smrg ;; 1294301ea0f4Smrg -sunos6*) 1295301ea0f4Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1296301ea0f4Smrg ;; 1297301ea0f4Smrg -opened*) 1298301ea0f4Smrg os=-openedition 1299301ea0f4Smrg ;; 13000cc67336Smrg -os400*) 13010cc67336Smrg os=-os400 13020cc67336Smrg ;; 1303301ea0f4Smrg -wince*) 1304301ea0f4Smrg os=-wince 1305301ea0f4Smrg ;; 1306301ea0f4Smrg -osfrose*) 1307301ea0f4Smrg os=-osfrose 1308301ea0f4Smrg ;; 1309301ea0f4Smrg -osf*) 1310301ea0f4Smrg os=-osf 1311301ea0f4Smrg ;; 1312301ea0f4Smrg -utek*) 1313301ea0f4Smrg os=-bsd 1314301ea0f4Smrg ;; 1315301ea0f4Smrg -dynix*) 1316301ea0f4Smrg os=-bsd 1317301ea0f4Smrg ;; 1318301ea0f4Smrg -acis*) 1319301ea0f4Smrg os=-aos 1320301ea0f4Smrg ;; 1321301ea0f4Smrg -atheos*) 1322301ea0f4Smrg os=-atheos 1323301ea0f4Smrg ;; 13240cc67336Smrg -syllable*) 13250cc67336Smrg os=-syllable 13260cc67336Smrg ;; 1327301ea0f4Smrg -386bsd) 1328301ea0f4Smrg os=-bsd 1329301ea0f4Smrg ;; 1330301ea0f4Smrg -ctix* | -uts*) 1331301ea0f4Smrg os=-sysv 1332301ea0f4Smrg ;; 1333301ea0f4Smrg -nova*) 1334301ea0f4Smrg os=-rtmk-nova 1335301ea0f4Smrg ;; 1336301ea0f4Smrg -ns2 ) 1337301ea0f4Smrg os=-nextstep2 1338301ea0f4Smrg ;; 1339301ea0f4Smrg -nsk*) 1340301ea0f4Smrg os=-nsk 1341301ea0f4Smrg ;; 1342301ea0f4Smrg # Preserve the version number of sinix5. 1343301ea0f4Smrg -sinix5.*) 1344301ea0f4Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1345301ea0f4Smrg ;; 1346301ea0f4Smrg -sinix*) 1347301ea0f4Smrg os=-sysv4 1348301ea0f4Smrg ;; 13490cc67336Smrg -tpf*) 13500cc67336Smrg os=-tpf 13510cc67336Smrg ;; 1352301ea0f4Smrg -triton*) 1353301ea0f4Smrg os=-sysv3 1354301ea0f4Smrg ;; 1355301ea0f4Smrg -oss*) 1356301ea0f4Smrg os=-sysv3 1357301ea0f4Smrg ;; 1358301ea0f4Smrg -svr4) 1359301ea0f4Smrg os=-sysv4 1360301ea0f4Smrg ;; 1361301ea0f4Smrg -svr3) 1362301ea0f4Smrg os=-sysv3 1363301ea0f4Smrg ;; 1364301ea0f4Smrg -sysvr4) 1365301ea0f4Smrg os=-sysv4 1366301ea0f4Smrg ;; 1367301ea0f4Smrg # This must come after -sysvr4. 1368301ea0f4Smrg -sysv*) 1369301ea0f4Smrg ;; 1370301ea0f4Smrg -ose*) 1371301ea0f4Smrg os=-ose 1372301ea0f4Smrg ;; 1373301ea0f4Smrg -es1800*) 1374301ea0f4Smrg os=-ose 1375301ea0f4Smrg ;; 1376301ea0f4Smrg -xenix) 1377301ea0f4Smrg os=-xenix 1378301ea0f4Smrg ;; 1379301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1380301ea0f4Smrg os=-mint 1381301ea0f4Smrg ;; 1382301ea0f4Smrg -aros*) 1383301ea0f4Smrg os=-aros 1384301ea0f4Smrg ;; 1385301ea0f4Smrg -kaos*) 1386301ea0f4Smrg os=-kaos 1387301ea0f4Smrg ;; 13880cc67336Smrg -zvmoe) 13890cc67336Smrg os=-zvmoe 13900cc67336Smrg ;; 1391301ea0f4Smrg -none) 1392301ea0f4Smrg ;; 1393301ea0f4Smrg *) 1394301ea0f4Smrg # Get rid of the `-' at the beginning of $os. 1395301ea0f4Smrg os=`echo $os | sed 's/[^-]*-//'` 1396301ea0f4Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1397301ea0f4Smrg exit 1 1398301ea0f4Smrg ;; 1399301ea0f4Smrgesac 1400301ea0f4Smrgelse 1401301ea0f4Smrg 1402301ea0f4Smrg# Here we handle the default operating systems that come with various machines. 1403301ea0f4Smrg# The value should be what the vendor currently ships out the door with their 1404301ea0f4Smrg# machine or put another way, the most popular os provided with the machine. 1405301ea0f4Smrg 1406301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1407301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top 1408301ea0f4Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1409301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating 1410301ea0f4Smrg# system, and we'll never get to this point. 1411301ea0f4Smrg 1412301ea0f4Smrgcase $basic_machine in 14130cc67336Smrg score-*) 14140cc67336Smrg os=-elf 14150cc67336Smrg ;; 14160cc67336Smrg spu-*) 14170cc67336Smrg os=-elf 14180cc67336Smrg ;; 1419301ea0f4Smrg *-acorn) 1420301ea0f4Smrg os=-riscix1.2 1421301ea0f4Smrg ;; 1422301ea0f4Smrg arm*-rebel) 1423301ea0f4Smrg os=-linux 1424301ea0f4Smrg ;; 1425301ea0f4Smrg arm*-semi) 1426301ea0f4Smrg os=-aout 1427301ea0f4Smrg ;; 14280cc67336Smrg c4x-* | tic4x-*) 14290cc67336Smrg os=-coff 1430301ea0f4Smrg ;; 1431301ea0f4Smrg # This must come before the *-dec entry. 1432301ea0f4Smrg pdp10-*) 1433301ea0f4Smrg os=-tops20 1434301ea0f4Smrg ;; 1435301ea0f4Smrg pdp11-*) 1436301ea0f4Smrg os=-none 1437301ea0f4Smrg ;; 1438301ea0f4Smrg *-dec | vax-*) 1439301ea0f4Smrg os=-ultrix4.2 1440301ea0f4Smrg ;; 1441301ea0f4Smrg m68*-apollo) 1442301ea0f4Smrg os=-domain 1443301ea0f4Smrg ;; 1444301ea0f4Smrg i386-sun) 1445301ea0f4Smrg os=-sunos4.0.2 1446301ea0f4Smrg ;; 1447301ea0f4Smrg m68000-sun) 1448301ea0f4Smrg os=-sunos3 1449301ea0f4Smrg # This also exists in the configure program, but was not the 1450301ea0f4Smrg # default. 1451301ea0f4Smrg # os=-sunos4 1452301ea0f4Smrg ;; 1453301ea0f4Smrg m68*-cisco) 1454301ea0f4Smrg os=-aout 1455301ea0f4Smrg ;; 14560cc67336Smrg mep-*) 14570cc67336Smrg os=-elf 14580cc67336Smrg ;; 1459301ea0f4Smrg mips*-cisco) 1460301ea0f4Smrg os=-elf 1461301ea0f4Smrg ;; 1462301ea0f4Smrg mips*-*) 1463301ea0f4Smrg os=-elf 1464301ea0f4Smrg ;; 1465301ea0f4Smrg or32-*) 1466301ea0f4Smrg os=-coff 1467301ea0f4Smrg ;; 1468301ea0f4Smrg *-tti) # must be before sparc entry or we get the wrong os. 1469301ea0f4Smrg os=-sysv3 1470301ea0f4Smrg ;; 1471301ea0f4Smrg sparc-* | *-sun) 1472301ea0f4Smrg os=-sunos4.1.1 1473301ea0f4Smrg ;; 1474301ea0f4Smrg *-be) 1475301ea0f4Smrg os=-beos 1476301ea0f4Smrg ;; 14770cc67336Smrg *-haiku) 14780cc67336Smrg os=-haiku 14790cc67336Smrg ;; 1480301ea0f4Smrg *-ibm) 1481301ea0f4Smrg os=-aix 1482301ea0f4Smrg ;; 14830cc67336Smrg *-knuth) 14840cc67336Smrg os=-mmixware 14850cc67336Smrg ;; 1486301ea0f4Smrg *-wec) 1487301ea0f4Smrg os=-proelf 1488301ea0f4Smrg ;; 1489301ea0f4Smrg *-winbond) 1490301ea0f4Smrg os=-proelf 1491301ea0f4Smrg ;; 1492301ea0f4Smrg *-oki) 1493301ea0f4Smrg os=-proelf 1494301ea0f4Smrg ;; 1495301ea0f4Smrg *-hp) 1496301ea0f4Smrg os=-hpux 1497301ea0f4Smrg ;; 1498301ea0f4Smrg *-hitachi) 1499301ea0f4Smrg os=-hiux 1500301ea0f4Smrg ;; 1501301ea0f4Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1502301ea0f4Smrg os=-sysv 1503301ea0f4Smrg ;; 1504301ea0f4Smrg *-cbm) 1505301ea0f4Smrg os=-amigaos 1506301ea0f4Smrg ;; 1507301ea0f4Smrg *-dg) 1508301ea0f4Smrg os=-dgux 1509301ea0f4Smrg ;; 1510301ea0f4Smrg *-dolphin) 1511301ea0f4Smrg os=-sysv3 1512301ea0f4Smrg ;; 1513301ea0f4Smrg m68k-ccur) 1514301ea0f4Smrg os=-rtu 1515301ea0f4Smrg ;; 1516301ea0f4Smrg m88k-omron*) 1517301ea0f4Smrg os=-luna 1518301ea0f4Smrg ;; 1519301ea0f4Smrg *-next ) 1520301ea0f4Smrg os=-nextstep 1521301ea0f4Smrg ;; 1522301ea0f4Smrg *-sequent) 1523301ea0f4Smrg os=-ptx 1524301ea0f4Smrg ;; 1525301ea0f4Smrg *-crds) 1526301ea0f4Smrg os=-unos 1527301ea0f4Smrg ;; 1528301ea0f4Smrg *-ns) 1529301ea0f4Smrg os=-genix 1530301ea0f4Smrg ;; 1531301ea0f4Smrg i370-*) 1532301ea0f4Smrg os=-mvs 1533301ea0f4Smrg ;; 1534301ea0f4Smrg *-next) 1535301ea0f4Smrg os=-nextstep3 1536301ea0f4Smrg ;; 1537301ea0f4Smrg *-gould) 1538301ea0f4Smrg os=-sysv 1539301ea0f4Smrg ;; 1540301ea0f4Smrg *-highlevel) 1541301ea0f4Smrg os=-bsd 1542301ea0f4Smrg ;; 1543301ea0f4Smrg *-encore) 1544301ea0f4Smrg os=-bsd 1545301ea0f4Smrg ;; 1546301ea0f4Smrg *-sgi) 1547301ea0f4Smrg os=-irix 1548301ea0f4Smrg ;; 1549301ea0f4Smrg *-siemens) 1550301ea0f4Smrg os=-sysv4 1551301ea0f4Smrg ;; 1552301ea0f4Smrg *-masscomp) 1553301ea0f4Smrg os=-rtu 1554301ea0f4Smrg ;; 1555301ea0f4Smrg f30[01]-fujitsu | f700-fujitsu) 1556301ea0f4Smrg os=-uxpv 1557301ea0f4Smrg ;; 1558301ea0f4Smrg *-rom68k) 1559301ea0f4Smrg os=-coff 1560301ea0f4Smrg ;; 1561301ea0f4Smrg *-*bug) 1562301ea0f4Smrg os=-coff 1563301ea0f4Smrg ;; 1564301ea0f4Smrg *-apple) 1565301ea0f4Smrg os=-macos 1566301ea0f4Smrg ;; 1567301ea0f4Smrg *-atari*) 1568301ea0f4Smrg os=-mint 1569301ea0f4Smrg ;; 1570301ea0f4Smrg *) 1571301ea0f4Smrg os=-none 1572301ea0f4Smrg ;; 1573301ea0f4Smrgesac 1574301ea0f4Smrgfi 1575301ea0f4Smrg 1576301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1577301ea0f4Smrg# manufacturer. We pick the logical manufacturer. 1578301ea0f4Smrgvendor=unknown 1579301ea0f4Smrgcase $basic_machine in 1580301ea0f4Smrg *-unknown) 1581301ea0f4Smrg case $os in 1582301ea0f4Smrg -riscix*) 1583301ea0f4Smrg vendor=acorn 1584301ea0f4Smrg ;; 1585301ea0f4Smrg -sunos*) 1586301ea0f4Smrg vendor=sun 1587301ea0f4Smrg ;; 1588301ea0f4Smrg -aix*) 1589301ea0f4Smrg vendor=ibm 1590301ea0f4Smrg ;; 1591301ea0f4Smrg -beos*) 1592301ea0f4Smrg vendor=be 1593301ea0f4Smrg ;; 1594301ea0f4Smrg -hpux*) 1595301ea0f4Smrg vendor=hp 1596301ea0f4Smrg ;; 1597301ea0f4Smrg -mpeix*) 1598301ea0f4Smrg vendor=hp 1599301ea0f4Smrg ;; 1600301ea0f4Smrg -hiux*) 1601301ea0f4Smrg vendor=hitachi 1602301ea0f4Smrg ;; 1603301ea0f4Smrg -unos*) 1604301ea0f4Smrg vendor=crds 1605301ea0f4Smrg ;; 1606301ea0f4Smrg -dgux*) 1607301ea0f4Smrg vendor=dg 1608301ea0f4Smrg ;; 1609301ea0f4Smrg -luna*) 1610301ea0f4Smrg vendor=omron 1611301ea0f4Smrg ;; 1612301ea0f4Smrg -genix*) 1613301ea0f4Smrg vendor=ns 1614301ea0f4Smrg ;; 1615301ea0f4Smrg -mvs* | -opened*) 1616301ea0f4Smrg vendor=ibm 1617301ea0f4Smrg ;; 16180cc67336Smrg -os400*) 16190cc67336Smrg vendor=ibm 16200cc67336Smrg ;; 1621301ea0f4Smrg -ptx*) 1622301ea0f4Smrg vendor=sequent 1623301ea0f4Smrg ;; 16240cc67336Smrg -tpf*) 16250cc67336Smrg vendor=ibm 16260cc67336Smrg ;; 1627301ea0f4Smrg -vxsim* | -vxworks* | -windiss*) 1628301ea0f4Smrg vendor=wrs 1629301ea0f4Smrg ;; 1630301ea0f4Smrg -aux*) 1631301ea0f4Smrg vendor=apple 1632301ea0f4Smrg ;; 1633301ea0f4Smrg -hms*) 1634301ea0f4Smrg vendor=hitachi 1635301ea0f4Smrg ;; 1636301ea0f4Smrg -mpw* | -macos*) 1637301ea0f4Smrg vendor=apple 1638301ea0f4Smrg ;; 1639301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1640301ea0f4Smrg vendor=atari 1641301ea0f4Smrg ;; 1642301ea0f4Smrg -vos*) 1643301ea0f4Smrg vendor=stratus 1644301ea0f4Smrg ;; 1645301ea0f4Smrg esac 1646301ea0f4Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1647301ea0f4Smrg ;; 1648301ea0f4Smrgesac 1649301ea0f4Smrg 1650301ea0f4Smrgecho $basic_machine$os 16510cc67336Smrgexit 1652301ea0f4Smrg 1653301ea0f4Smrg# Local variables: 1654301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1655301ea0f4Smrg# time-stamp-start: "timestamp='" 1656301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d" 1657301ea0f4Smrg# time-stamp-end: "'" 1658301ea0f4Smrg# End: 1659