config.sub revision 213fdd94
1301ea0f4Smrg#! /bin/sh 2301ea0f4Smrg# Configuration validation subroutine script. 3301ea0f4Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 4213fdd94Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 5213fdd94Smrg# 2011, 2012 Free Software Foundation, Inc. 6301ea0f4Smrg 7213fdd94Smrgtimestamp='2012-01-01' 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 35213fdd94Smrg# diff and a properly formatted GNU 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 42213fdd94Smrg# You can get the latest version of this script from: 43213fdd94Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 44213fdd94Smrg 45301ea0f4Smrg# This file is supposed to be the same for all GNU packages 46301ea0f4Smrg# and recognize all the CPU types, system types and aliases 47301ea0f4Smrg# that are meaningful with *any* GNU software. 48301ea0f4Smrg# Each package is responsible for reporting which valid configurations 49301ea0f4Smrg# it does not support. The user should be able to distinguish 50301ea0f4Smrg# a failure to support a valid configuration from a meaningless 51301ea0f4Smrg# configuration. 52301ea0f4Smrg 53301ea0f4Smrg# The goal of this file is to map all the various variations of a given 54301ea0f4Smrg# machine specification into a single specification in the form: 55301ea0f4Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 56301ea0f4Smrg# or in some cases, the newer four-part form: 57301ea0f4Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 58301ea0f4Smrg# It is wrong to echo any other type of specification. 59301ea0f4Smrg 60301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'` 61301ea0f4Smrg 62301ea0f4Smrgusage="\ 63301ea0f4SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 64301ea0f4Smrg $0 [OPTION] ALIAS 65301ea0f4Smrg 66301ea0f4SmrgCanonicalize a configuration name. 67301ea0f4Smrg 68301ea0f4SmrgOperation modes: 69301ea0f4Smrg -h, --help print this help, then exit 70301ea0f4Smrg -t, --time-stamp print date of last modification, then exit 71301ea0f4Smrg -v, --version print version number, then exit 72301ea0f4Smrg 73301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>." 74301ea0f4Smrg 75301ea0f4Smrgversion="\ 76301ea0f4SmrgGNU config.sub ($timestamp) 77301ea0f4Smrg 78213fdd94SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 79213fdd94Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 80213fdd94SmrgFree Software Foundation, Inc. 81301ea0f4Smrg 82301ea0f4SmrgThis is free software; see the source for copying conditions. There is NO 83301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 84301ea0f4Smrg 85301ea0f4Smrghelp=" 86301ea0f4SmrgTry \`$me --help' for more information." 87301ea0f4Smrg 88301ea0f4Smrg# Parse command line 89301ea0f4Smrgwhile test $# -gt 0 ; do 90301ea0f4Smrg case $1 in 91301ea0f4Smrg --time-stamp | --time* | -t ) 920cc67336Smrg echo "$timestamp" ; exit ;; 93301ea0f4Smrg --version | -v ) 940cc67336Smrg echo "$version" ; exit ;; 95301ea0f4Smrg --help | --h* | -h ) 960cc67336Smrg echo "$usage"; exit ;; 97301ea0f4Smrg -- ) # Stop option processing 98301ea0f4Smrg shift; break ;; 99301ea0f4Smrg - ) # Use stdin as input. 100301ea0f4Smrg break ;; 101301ea0f4Smrg -* ) 102301ea0f4Smrg echo "$me: invalid option $1$help" 103301ea0f4Smrg exit 1 ;; 104301ea0f4Smrg 105301ea0f4Smrg *local*) 106301ea0f4Smrg # First pass through any local machine types. 107301ea0f4Smrg echo $1 1080cc67336Smrg exit ;; 109301ea0f4Smrg 110301ea0f4Smrg * ) 111301ea0f4Smrg break ;; 112301ea0f4Smrg esac 113301ea0f4Smrgdone 114301ea0f4Smrg 115301ea0f4Smrgcase $# in 116301ea0f4Smrg 0) echo "$me: missing argument$help" >&2 117301ea0f4Smrg exit 1;; 118301ea0f4Smrg 1) ;; 119301ea0f4Smrg *) echo "$me: too many arguments$help" >&2 120301ea0f4Smrg exit 1;; 121301ea0f4Smrgesac 122301ea0f4Smrg 123301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 124301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations. 125301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 126301ea0f4Smrgcase $maybe_os in 127213fdd94Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 128213fdd94Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 129213fdd94Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 130213fdd94Smrg kopensolaris*-gnu* | \ 1310cc67336Smrg storm-chaos* | os2-emx* | rtmk-nova*) 132301ea0f4Smrg os=-$maybe_os 133301ea0f4Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 134301ea0f4Smrg ;; 135301ea0f4Smrg *) 136301ea0f4Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 137301ea0f4Smrg if [ $basic_machine != $1 ] 138301ea0f4Smrg then os=`echo $1 | sed 's/.*-/-/'` 139301ea0f4Smrg else os=; fi 140301ea0f4Smrg ;; 141301ea0f4Smrgesac 142301ea0f4Smrg 143301ea0f4Smrg### Let's recognize common machines as not being operating systems so 144301ea0f4Smrg### that things like config.sub decstation-3100 work. We also 145301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we 146301ea0f4Smrg### can provide default operating systems below. 147301ea0f4Smrgcase $os in 148301ea0f4Smrg -sun*os*) 149301ea0f4Smrg # Prevent following clause from handling this invalid input. 150301ea0f4Smrg ;; 151301ea0f4Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 152301ea0f4Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 153301ea0f4Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 154301ea0f4Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 155301ea0f4Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 156301ea0f4Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 157213fdd94Smrg -apple | -axis | -knuth | -cray | -microblaze) 158301ea0f4Smrg os= 159301ea0f4Smrg basic_machine=$1 160301ea0f4Smrg ;; 161213fdd94Smrg -bluegene*) 162213fdd94Smrg os=-cnk 163213fdd94Smrg ;; 164301ea0f4Smrg -sim | -cisco | -oki | -wec | -winbond) 165301ea0f4Smrg os= 166301ea0f4Smrg basic_machine=$1 167301ea0f4Smrg ;; 168301ea0f4Smrg -scout) 169301ea0f4Smrg ;; 170301ea0f4Smrg -wrs) 171301ea0f4Smrg os=-vxworks 172301ea0f4Smrg basic_machine=$1 173301ea0f4Smrg ;; 174301ea0f4Smrg -chorusos*) 175301ea0f4Smrg os=-chorusos 176301ea0f4Smrg basic_machine=$1 177301ea0f4Smrg ;; 178213fdd94Smrg -chorusrdb) 179213fdd94Smrg os=-chorusrdb 180301ea0f4Smrg basic_machine=$1 181213fdd94Smrg ;; 182301ea0f4Smrg -hiux*) 183301ea0f4Smrg os=-hiuxwe2 184301ea0f4Smrg ;; 1850cc67336Smrg -sco6) 1860cc67336Smrg os=-sco5v6 1870cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1880cc67336Smrg ;; 189301ea0f4Smrg -sco5) 190301ea0f4Smrg os=-sco3.2v5 191301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 192301ea0f4Smrg ;; 193301ea0f4Smrg -sco4) 194301ea0f4Smrg os=-sco3.2v4 195301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 196301ea0f4Smrg ;; 197301ea0f4Smrg -sco3.2.[4-9]*) 198301ea0f4Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 199301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 200301ea0f4Smrg ;; 201301ea0f4Smrg -sco3.2v[4-9]*) 202301ea0f4Smrg # Don't forget version if it is 3.2v4 or newer. 203301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 204301ea0f4Smrg ;; 2050cc67336Smrg -sco5v6*) 2060cc67336Smrg # Don't forget version if it is 3.2v4 or newer. 2070cc67336Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2080cc67336Smrg ;; 209301ea0f4Smrg -sco*) 210301ea0f4Smrg os=-sco3.2v2 211301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 212301ea0f4Smrg ;; 213301ea0f4Smrg -udk*) 214301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 215301ea0f4Smrg ;; 216301ea0f4Smrg -isc) 217301ea0f4Smrg os=-isc2.2 218301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 219301ea0f4Smrg ;; 220301ea0f4Smrg -clix*) 221301ea0f4Smrg basic_machine=clipper-intergraph 222301ea0f4Smrg ;; 223301ea0f4Smrg -isc*) 224301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 225301ea0f4Smrg ;; 226301ea0f4Smrg -lynx*) 227301ea0f4Smrg os=-lynxos 228301ea0f4Smrg ;; 229301ea0f4Smrg -ptx*) 230301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 231301ea0f4Smrg ;; 232301ea0f4Smrg -windowsnt*) 233301ea0f4Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 234301ea0f4Smrg ;; 235301ea0f4Smrg -psos*) 236301ea0f4Smrg os=-psos 237301ea0f4Smrg ;; 238301ea0f4Smrg -mint | -mint[0-9]*) 239301ea0f4Smrg basic_machine=m68k-atari 240301ea0f4Smrg os=-mint 241301ea0f4Smrg ;; 242301ea0f4Smrgesac 243301ea0f4Smrg 244301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations. 245301ea0f4Smrgcase $basic_machine in 246301ea0f4Smrg # Recognize the basic CPU types without company name. 247301ea0f4Smrg # Some are omitted here because they have special meanings below. 248301ea0f4Smrg 1750a | 580 \ 249301ea0f4Smrg | a29k \ 250301ea0f4Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 251301ea0f4Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2520cc67336Smrg | am33_2.0 \ 2530cc67336Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 254213fdd94Smrg | be32 | be64 \ 2550cc67336Smrg | bfin \ 256301ea0f4Smrg | c4x | clipper \ 257301ea0f4Smrg | d10v | d30v | dlx | dsp16xx \ 258213fdd94Smrg | epiphany \ 2590cc67336Smrg | fido | fr30 | frv \ 260301ea0f4Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 261213fdd94Smrg | hexagon \ 262301ea0f4Smrg | i370 | i860 | i960 | ia64 \ 2630cc67336Smrg | ip2k | iq2000 \ 264213fdd94Smrg | le32 | le64 \ 265213fdd94Smrg | lm32 \ 2660cc67336Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 267213fdd94Smrg | maxq | mb | microblaze | mcore | mep | metag \ 268301ea0f4Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 269301ea0f4Smrg | mips16 \ 270301ea0f4Smrg | mips64 | mips64el \ 271213fdd94Smrg | mips64octeon | mips64octeonel \ 272301ea0f4Smrg | mips64orion | mips64orionel \ 273213fdd94Smrg | mips64r5900 | mips64r5900el \ 274213fdd94Smrg | mips64vr | mips64vrel \ 275301ea0f4Smrg | mips64vr4100 | mips64vr4100el \ 276301ea0f4Smrg | mips64vr4300 | mips64vr4300el \ 277301ea0f4Smrg | mips64vr5000 | mips64vr5000el \ 2780cc67336Smrg | mips64vr5900 | mips64vr5900el \ 279301ea0f4Smrg | mipsisa32 | mipsisa32el \ 280301ea0f4Smrg | mipsisa32r2 | mipsisa32r2el \ 281301ea0f4Smrg | mipsisa64 | mipsisa64el \ 2820cc67336Smrg | mipsisa64r2 | mipsisa64r2el \ 283301ea0f4Smrg | mipsisa64sb1 | mipsisa64sb1el \ 284301ea0f4Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 285301ea0f4Smrg | mipstx39 | mipstx39el \ 286301ea0f4Smrg | mn10200 | mn10300 \ 287213fdd94Smrg | moxie \ 2880cc67336Smrg | mt \ 289301ea0f4Smrg | msp430 \ 290213fdd94Smrg | nds32 | nds32le | nds32be \ 2910cc67336Smrg | nios | nios2 \ 292301ea0f4Smrg | ns16k | ns32k \ 293213fdd94Smrg | open8 \ 2940cc67336Smrg | or32 \ 295301ea0f4Smrg | pdp10 | pdp11 | pj | pjl \ 296213fdd94Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 297301ea0f4Smrg | pyramid \ 298213fdd94Smrg | rl78 | rx \ 2990cc67336Smrg | score \ 300213fdd94Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 301301ea0f4Smrg | sh64 | sh64le \ 3020cc67336Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3030cc67336Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 304213fdd94Smrg | spu \ 305213fdd94Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 306213fdd94Smrg | ubicom32 \ 307213fdd94Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 308301ea0f4Smrg | we32k \ 309213fdd94Smrg | x86 | xc16x | xstormy16 | xtensa \ 310213fdd94Smrg | z8k | z80) 311301ea0f4Smrg basic_machine=$basic_machine-unknown 312301ea0f4Smrg ;; 313213fdd94Smrg c54x) 314213fdd94Smrg basic_machine=tic54x-unknown 315213fdd94Smrg ;; 316213fdd94Smrg c55x) 317213fdd94Smrg basic_machine=tic55x-unknown 318213fdd94Smrg ;; 319213fdd94Smrg c6x) 320213fdd94Smrg basic_machine=tic6x-unknown 321213fdd94Smrg ;; 322213fdd94Smrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 323301ea0f4Smrg basic_machine=$basic_machine-unknown 324301ea0f4Smrg os=-none 325301ea0f4Smrg ;; 326301ea0f4Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 327301ea0f4Smrg ;; 3280cc67336Smrg ms1) 3290cc67336Smrg basic_machine=mt-unknown 3300cc67336Smrg ;; 331301ea0f4Smrg 332213fdd94Smrg strongarm | thumb | xscale) 333213fdd94Smrg basic_machine=arm-unknown 334213fdd94Smrg ;; 335213fdd94Smrg 336213fdd94Smrg xscaleeb) 337213fdd94Smrg basic_machine=armeb-unknown 338213fdd94Smrg ;; 339213fdd94Smrg 340213fdd94Smrg xscaleel) 341213fdd94Smrg basic_machine=armel-unknown 342213fdd94Smrg ;; 343213fdd94Smrg 344301ea0f4Smrg # We use `pc' rather than `unknown' 345301ea0f4Smrg # because (1) that's what they normally are, and 346301ea0f4Smrg # (2) the word "unknown" tends to confuse beginning users. 347301ea0f4Smrg i*86 | x86_64) 348301ea0f4Smrg basic_machine=$basic_machine-pc 349301ea0f4Smrg ;; 350301ea0f4Smrg # Object if more than one company name word. 351301ea0f4Smrg *-*-*) 352301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 353301ea0f4Smrg exit 1 354301ea0f4Smrg ;; 355301ea0f4Smrg # Recognize the basic CPU types with company name. 356301ea0f4Smrg 580-* \ 357301ea0f4Smrg | a29k-* \ 358301ea0f4Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 359301ea0f4Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 360301ea0f4Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 361301ea0f4Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3620cc67336Smrg | avr-* | avr32-* \ 363213fdd94Smrg | be32-* | be64-* \ 3640cc67336Smrg | bfin-* | bs2000-* \ 365213fdd94Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3660cc67336Smrg | clipper-* | craynv-* | cydra-* \ 367301ea0f4Smrg | d10v-* | d30v-* | dlx-* \ 368301ea0f4Smrg | elxsi-* \ 3690cc67336Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 370301ea0f4Smrg | h8300-* | h8500-* \ 371301ea0f4Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 372213fdd94Smrg | hexagon-* \ 373301ea0f4Smrg | i*86-* | i860-* | i960-* | ia64-* \ 3740cc67336Smrg | ip2k-* | iq2000-* \ 375213fdd94Smrg | le32-* | le64-* \ 376213fdd94Smrg | lm32-* \ 3770cc67336Smrg | m32c-* | m32r-* | m32rle-* \ 378301ea0f4Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 379213fdd94Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 380301ea0f4Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 381301ea0f4Smrg | mips16-* \ 382301ea0f4Smrg | mips64-* | mips64el-* \ 383213fdd94Smrg | mips64octeon-* | mips64octeonel-* \ 384301ea0f4Smrg | mips64orion-* | mips64orionel-* \ 385213fdd94Smrg | mips64r5900-* | mips64r5900el-* \ 386213fdd94Smrg | mips64vr-* | mips64vrel-* \ 387301ea0f4Smrg | mips64vr4100-* | mips64vr4100el-* \ 388301ea0f4Smrg | mips64vr4300-* | mips64vr4300el-* \ 389301ea0f4Smrg | mips64vr5000-* | mips64vr5000el-* \ 3900cc67336Smrg | mips64vr5900-* | mips64vr5900el-* \ 391301ea0f4Smrg | mipsisa32-* | mipsisa32el-* \ 392301ea0f4Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 393301ea0f4Smrg | mipsisa64-* | mipsisa64el-* \ 3940cc67336Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 395301ea0f4Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 396301ea0f4Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 397301ea0f4Smrg | mipstx39-* | mipstx39el-* \ 3980cc67336Smrg | mmix-* \ 3990cc67336Smrg | mt-* \ 400301ea0f4Smrg | msp430-* \ 401213fdd94Smrg | nds32-* | nds32le-* | nds32be-* \ 4020cc67336Smrg | nios-* | nios2-* \ 4030cc67336Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 404213fdd94Smrg | open8-* \ 405301ea0f4Smrg | orion-* \ 406301ea0f4Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 407213fdd94Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 408301ea0f4Smrg | pyramid-* \ 409213fdd94Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 410213fdd94Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 411301ea0f4Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4120cc67336Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4130cc67336Smrg | sparclite-* \ 414213fdd94Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 415213fdd94Smrg | tahoe-* \ 416301ea0f4Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 417213fdd94Smrg | tile*-* \ 418301ea0f4Smrg | tron-* \ 419213fdd94Smrg | ubicom32-* \ 420213fdd94Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 421213fdd94Smrg | vax-* \ 422301ea0f4Smrg | we32k-* \ 423213fdd94Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4240cc67336Smrg | xstormy16-* | xtensa*-* \ 425301ea0f4Smrg | ymp-* \ 426213fdd94Smrg | z8k-* | z80-*) 427301ea0f4Smrg ;; 4280cc67336Smrg # Recognize the basic CPU types without company name, with glob match. 4290cc67336Smrg xtensa*) 4300cc67336Smrg basic_machine=$basic_machine-unknown 4310cc67336Smrg ;; 432301ea0f4Smrg # Recognize the various machine names and aliases which stand 433301ea0f4Smrg # for a CPU type and a company and sometimes even an OS. 434301ea0f4Smrg 386bsd) 435301ea0f4Smrg basic_machine=i386-unknown 436301ea0f4Smrg os=-bsd 437301ea0f4Smrg ;; 438301ea0f4Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 439301ea0f4Smrg basic_machine=m68000-att 440301ea0f4Smrg ;; 441301ea0f4Smrg 3b*) 442301ea0f4Smrg basic_machine=we32k-att 443301ea0f4Smrg ;; 444301ea0f4Smrg a29khif) 445301ea0f4Smrg basic_machine=a29k-amd 446301ea0f4Smrg os=-udi 447301ea0f4Smrg ;; 448213fdd94Smrg abacus) 4490cc67336Smrg basic_machine=abacus-unknown 4500cc67336Smrg ;; 451301ea0f4Smrg adobe68k) 452301ea0f4Smrg basic_machine=m68010-adobe 453301ea0f4Smrg os=-scout 454301ea0f4Smrg ;; 455301ea0f4Smrg alliant | fx80) 456301ea0f4Smrg basic_machine=fx80-alliant 457301ea0f4Smrg ;; 458301ea0f4Smrg altos | altos3068) 459301ea0f4Smrg basic_machine=m68k-altos 460301ea0f4Smrg ;; 461301ea0f4Smrg am29k) 462301ea0f4Smrg basic_machine=a29k-none 463301ea0f4Smrg os=-bsd 464301ea0f4Smrg ;; 465301ea0f4Smrg amd64) 466301ea0f4Smrg basic_machine=x86_64-pc 467301ea0f4Smrg ;; 4680cc67336Smrg amd64-*) 4690cc67336Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4700cc67336Smrg ;; 471301ea0f4Smrg amdahl) 472301ea0f4Smrg basic_machine=580-amdahl 473301ea0f4Smrg os=-sysv 474301ea0f4Smrg ;; 475301ea0f4Smrg amiga | amiga-*) 476301ea0f4Smrg basic_machine=m68k-unknown 477301ea0f4Smrg ;; 478301ea0f4Smrg amigaos | amigados) 479301ea0f4Smrg basic_machine=m68k-unknown 480301ea0f4Smrg os=-amigaos 481301ea0f4Smrg ;; 482301ea0f4Smrg amigaunix | amix) 483301ea0f4Smrg basic_machine=m68k-unknown 484301ea0f4Smrg os=-sysv4 485301ea0f4Smrg ;; 486301ea0f4Smrg apollo68) 487301ea0f4Smrg basic_machine=m68k-apollo 488301ea0f4Smrg os=-sysv 489301ea0f4Smrg ;; 490301ea0f4Smrg apollo68bsd) 491301ea0f4Smrg basic_machine=m68k-apollo 492301ea0f4Smrg os=-bsd 493301ea0f4Smrg ;; 494213fdd94Smrg aros) 495213fdd94Smrg basic_machine=i386-pc 496213fdd94Smrg os=-aros 497213fdd94Smrg ;; 498301ea0f4Smrg aux) 499301ea0f4Smrg basic_machine=m68k-apple 500301ea0f4Smrg os=-aux 501301ea0f4Smrg ;; 502301ea0f4Smrg balance) 503301ea0f4Smrg basic_machine=ns32k-sequent 504301ea0f4Smrg os=-dynix 505301ea0f4Smrg ;; 5060cc67336Smrg blackfin) 5070cc67336Smrg basic_machine=bfin-unknown 5080cc67336Smrg os=-linux 5090cc67336Smrg ;; 5100cc67336Smrg blackfin-*) 5110cc67336Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5120cc67336Smrg os=-linux 5130cc67336Smrg ;; 514213fdd94Smrg bluegene*) 515213fdd94Smrg basic_machine=powerpc-ibm 516213fdd94Smrg os=-cnk 517213fdd94Smrg ;; 518213fdd94Smrg c54x-*) 519213fdd94Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 520213fdd94Smrg ;; 521213fdd94Smrg c55x-*) 522213fdd94Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 523213fdd94Smrg ;; 524213fdd94Smrg c6x-*) 525213fdd94Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 526213fdd94Smrg ;; 527301ea0f4Smrg c90) 528301ea0f4Smrg basic_machine=c90-cray 529301ea0f4Smrg os=-unicos 530301ea0f4Smrg ;; 531213fdd94Smrg cegcc) 532213fdd94Smrg basic_machine=arm-unknown 533213fdd94Smrg os=-cegcc 534213fdd94Smrg ;; 535301ea0f4Smrg convex-c1) 536301ea0f4Smrg basic_machine=c1-convex 537301ea0f4Smrg os=-bsd 538301ea0f4Smrg ;; 539301ea0f4Smrg convex-c2) 540301ea0f4Smrg basic_machine=c2-convex 541301ea0f4Smrg os=-bsd 542301ea0f4Smrg ;; 543301ea0f4Smrg convex-c32) 544301ea0f4Smrg basic_machine=c32-convex 545301ea0f4Smrg os=-bsd 546301ea0f4Smrg ;; 547301ea0f4Smrg convex-c34) 548301ea0f4Smrg basic_machine=c34-convex 549301ea0f4Smrg os=-bsd 550301ea0f4Smrg ;; 551301ea0f4Smrg convex-c38) 552301ea0f4Smrg basic_machine=c38-convex 553301ea0f4Smrg os=-bsd 554301ea0f4Smrg ;; 555301ea0f4Smrg cray | j90) 556301ea0f4Smrg basic_machine=j90-cray 557301ea0f4Smrg os=-unicos 558301ea0f4Smrg ;; 5590cc67336Smrg craynv) 5600cc67336Smrg basic_machine=craynv-cray 5610cc67336Smrg os=-unicosmp 5620cc67336Smrg ;; 563213fdd94Smrg cr16 | cr16-*) 5640cc67336Smrg basic_machine=cr16-unknown 5650cc67336Smrg os=-elf 5660cc67336Smrg ;; 567301ea0f4Smrg crds | unos) 568301ea0f4Smrg basic_machine=m68k-crds 569301ea0f4Smrg ;; 5700cc67336Smrg crisv32 | crisv32-* | etraxfs*) 5710cc67336Smrg basic_machine=crisv32-axis 5720cc67336Smrg ;; 573301ea0f4Smrg cris | cris-* | etrax*) 574301ea0f4Smrg basic_machine=cris-axis 575301ea0f4Smrg ;; 5760cc67336Smrg crx) 5770cc67336Smrg basic_machine=crx-unknown 5780cc67336Smrg os=-elf 5790cc67336Smrg ;; 580301ea0f4Smrg da30 | da30-*) 581301ea0f4Smrg basic_machine=m68k-da30 582301ea0f4Smrg ;; 583301ea0f4Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 584301ea0f4Smrg basic_machine=mips-dec 585301ea0f4Smrg ;; 586301ea0f4Smrg decsystem10* | dec10*) 587301ea0f4Smrg basic_machine=pdp10-dec 588301ea0f4Smrg os=-tops10 589301ea0f4Smrg ;; 590301ea0f4Smrg decsystem20* | dec20*) 591301ea0f4Smrg basic_machine=pdp10-dec 592301ea0f4Smrg os=-tops20 593301ea0f4Smrg ;; 594301ea0f4Smrg delta | 3300 | motorola-3300 | motorola-delta \ 595301ea0f4Smrg | 3300-motorola | delta-motorola) 596301ea0f4Smrg basic_machine=m68k-motorola 597301ea0f4Smrg ;; 598301ea0f4Smrg delta88) 599301ea0f4Smrg basic_machine=m88k-motorola 600301ea0f4Smrg os=-sysv3 601301ea0f4Smrg ;; 602213fdd94Smrg dicos) 603213fdd94Smrg basic_machine=i686-pc 604213fdd94Smrg os=-dicos 605213fdd94Smrg ;; 6060cc67336Smrg djgpp) 6070cc67336Smrg basic_machine=i586-pc 6080cc67336Smrg os=-msdosdjgpp 6090cc67336Smrg ;; 610301ea0f4Smrg dpx20 | dpx20-*) 611301ea0f4Smrg basic_machine=rs6000-bull 612301ea0f4Smrg os=-bosx 613301ea0f4Smrg ;; 614301ea0f4Smrg dpx2* | dpx2*-bull) 615301ea0f4Smrg basic_machine=m68k-bull 616301ea0f4Smrg os=-sysv3 617301ea0f4Smrg ;; 618301ea0f4Smrg ebmon29k) 619301ea0f4Smrg basic_machine=a29k-amd 620301ea0f4Smrg os=-ebmon 621301ea0f4Smrg ;; 622301ea0f4Smrg elxsi) 623301ea0f4Smrg basic_machine=elxsi-elxsi 624301ea0f4Smrg os=-bsd 625301ea0f4Smrg ;; 626301ea0f4Smrg encore | umax | mmax) 627301ea0f4Smrg basic_machine=ns32k-encore 628301ea0f4Smrg ;; 629301ea0f4Smrg es1800 | OSE68k | ose68k | ose | OSE) 630301ea0f4Smrg basic_machine=m68k-ericsson 631301ea0f4Smrg os=-ose 632301ea0f4Smrg ;; 633301ea0f4Smrg fx2800) 634301ea0f4Smrg basic_machine=i860-alliant 635301ea0f4Smrg ;; 636301ea0f4Smrg genix) 637301ea0f4Smrg basic_machine=ns32k-ns 638301ea0f4Smrg ;; 639301ea0f4Smrg gmicro) 640301ea0f4Smrg basic_machine=tron-gmicro 641301ea0f4Smrg os=-sysv 642301ea0f4Smrg ;; 643301ea0f4Smrg go32) 644301ea0f4Smrg basic_machine=i386-pc 645301ea0f4Smrg os=-go32 646301ea0f4Smrg ;; 647301ea0f4Smrg h3050r* | hiux*) 648301ea0f4Smrg basic_machine=hppa1.1-hitachi 649301ea0f4Smrg os=-hiuxwe2 650301ea0f4Smrg ;; 651301ea0f4Smrg h8300hms) 652301ea0f4Smrg basic_machine=h8300-hitachi 653301ea0f4Smrg os=-hms 654301ea0f4Smrg ;; 655301ea0f4Smrg h8300xray) 656301ea0f4Smrg basic_machine=h8300-hitachi 657301ea0f4Smrg os=-xray 658301ea0f4Smrg ;; 659301ea0f4Smrg h8500hms) 660301ea0f4Smrg basic_machine=h8500-hitachi 661301ea0f4Smrg os=-hms 662301ea0f4Smrg ;; 663301ea0f4Smrg harris) 664301ea0f4Smrg basic_machine=m88k-harris 665301ea0f4Smrg os=-sysv3 666301ea0f4Smrg ;; 667301ea0f4Smrg hp300-*) 668301ea0f4Smrg basic_machine=m68k-hp 669301ea0f4Smrg ;; 670301ea0f4Smrg hp300bsd) 671301ea0f4Smrg basic_machine=m68k-hp 672301ea0f4Smrg os=-bsd 673301ea0f4Smrg ;; 674301ea0f4Smrg hp300hpux) 675301ea0f4Smrg basic_machine=m68k-hp 676301ea0f4Smrg os=-hpux 677301ea0f4Smrg ;; 678301ea0f4Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 679301ea0f4Smrg basic_machine=hppa1.0-hp 680301ea0f4Smrg ;; 681301ea0f4Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 682301ea0f4Smrg basic_machine=m68000-hp 683301ea0f4Smrg ;; 684301ea0f4Smrg hp9k3[2-9][0-9]) 685301ea0f4Smrg basic_machine=m68k-hp 686301ea0f4Smrg ;; 687301ea0f4Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 688301ea0f4Smrg basic_machine=hppa1.0-hp 689301ea0f4Smrg ;; 690301ea0f4Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 691301ea0f4Smrg basic_machine=hppa1.1-hp 692301ea0f4Smrg ;; 693301ea0f4Smrg hp9k78[0-9] | hp78[0-9]) 694301ea0f4Smrg # FIXME: really hppa2.0-hp 695301ea0f4Smrg basic_machine=hppa1.1-hp 696301ea0f4Smrg ;; 697301ea0f4Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 698301ea0f4Smrg # FIXME: really hppa2.0-hp 699301ea0f4Smrg basic_machine=hppa1.1-hp 700301ea0f4Smrg ;; 701301ea0f4Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 702301ea0f4Smrg basic_machine=hppa1.1-hp 703301ea0f4Smrg ;; 704301ea0f4Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 705301ea0f4Smrg basic_machine=hppa1.0-hp 706301ea0f4Smrg ;; 707301ea0f4Smrg hppa-next) 708301ea0f4Smrg os=-nextstep3 709301ea0f4Smrg ;; 710301ea0f4Smrg hppaosf) 711301ea0f4Smrg basic_machine=hppa1.1-hp 712301ea0f4Smrg os=-osf 713301ea0f4Smrg ;; 714301ea0f4Smrg hppro) 715301ea0f4Smrg basic_machine=hppa1.1-hp 716301ea0f4Smrg os=-proelf 717301ea0f4Smrg ;; 718301ea0f4Smrg i370-ibm* | ibm*) 719301ea0f4Smrg basic_machine=i370-ibm 720301ea0f4Smrg ;; 721301ea0f4Smrg i*86v32) 722301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 723301ea0f4Smrg os=-sysv32 724301ea0f4Smrg ;; 725301ea0f4Smrg i*86v4*) 726301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 727301ea0f4Smrg os=-sysv4 728301ea0f4Smrg ;; 729301ea0f4Smrg i*86v) 730301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 731301ea0f4Smrg os=-sysv 732301ea0f4Smrg ;; 733301ea0f4Smrg i*86sol2) 734301ea0f4Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 735301ea0f4Smrg os=-solaris2 736301ea0f4Smrg ;; 737301ea0f4Smrg i386mach) 738301ea0f4Smrg basic_machine=i386-mach 739301ea0f4Smrg os=-mach 740301ea0f4Smrg ;; 741301ea0f4Smrg i386-vsta | vsta) 742301ea0f4Smrg basic_machine=i386-unknown 743301ea0f4Smrg os=-vsta 744301ea0f4Smrg ;; 745301ea0f4Smrg iris | iris4d) 746301ea0f4Smrg basic_machine=mips-sgi 747301ea0f4Smrg case $os in 748301ea0f4Smrg -irix*) 749301ea0f4Smrg ;; 750301ea0f4Smrg *) 751301ea0f4Smrg os=-irix4 752301ea0f4Smrg ;; 753301ea0f4Smrg esac 754301ea0f4Smrg ;; 755301ea0f4Smrg isi68 | isi) 756301ea0f4Smrg basic_machine=m68k-isi 757301ea0f4Smrg os=-sysv 758301ea0f4Smrg ;; 7590cc67336Smrg m68knommu) 7600cc67336Smrg basic_machine=m68k-unknown 7610cc67336Smrg os=-linux 7620cc67336Smrg ;; 7630cc67336Smrg m68knommu-*) 7640cc67336Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7650cc67336Smrg os=-linux 7660cc67336Smrg ;; 767301ea0f4Smrg m88k-omron*) 768301ea0f4Smrg basic_machine=m88k-omron 769301ea0f4Smrg ;; 770301ea0f4Smrg magnum | m3230) 771301ea0f4Smrg basic_machine=mips-mips 772301ea0f4Smrg os=-sysv 773301ea0f4Smrg ;; 774301ea0f4Smrg merlin) 775301ea0f4Smrg basic_machine=ns32k-utek 776301ea0f4Smrg os=-sysv 777301ea0f4Smrg ;; 778213fdd94Smrg microblaze) 779213fdd94Smrg basic_machine=microblaze-xilinx 780213fdd94Smrg ;; 781301ea0f4Smrg mingw32) 782301ea0f4Smrg basic_machine=i386-pc 783301ea0f4Smrg os=-mingw32 784301ea0f4Smrg ;; 7850cc67336Smrg mingw32ce) 7860cc67336Smrg basic_machine=arm-unknown 7870cc67336Smrg os=-mingw32ce 7880cc67336Smrg ;; 789301ea0f4Smrg miniframe) 790301ea0f4Smrg basic_machine=m68000-convergent 791301ea0f4Smrg ;; 792301ea0f4Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 793301ea0f4Smrg basic_machine=m68k-atari 794301ea0f4Smrg os=-mint 795301ea0f4Smrg ;; 796301ea0f4Smrg mips3*-*) 797301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 798301ea0f4Smrg ;; 799301ea0f4Smrg mips3*) 800301ea0f4Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 801301ea0f4Smrg ;; 802301ea0f4Smrg monitor) 803301ea0f4Smrg basic_machine=m68k-rom68k 804301ea0f4Smrg os=-coff 805301ea0f4Smrg ;; 806301ea0f4Smrg morphos) 807301ea0f4Smrg basic_machine=powerpc-unknown 808301ea0f4Smrg os=-morphos 809301ea0f4Smrg ;; 810301ea0f4Smrg msdos) 811301ea0f4Smrg basic_machine=i386-pc 812301ea0f4Smrg os=-msdos 813301ea0f4Smrg ;; 8140cc67336Smrg ms1-*) 8150cc67336Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8160cc67336Smrg ;; 817213fdd94Smrg msys) 818213fdd94Smrg basic_machine=i386-pc 819213fdd94Smrg os=-msys 820213fdd94Smrg ;; 821301ea0f4Smrg mvs) 822301ea0f4Smrg basic_machine=i370-ibm 823301ea0f4Smrg os=-mvs 824301ea0f4Smrg ;; 825213fdd94Smrg nacl) 826213fdd94Smrg basic_machine=le32-unknown 827213fdd94Smrg os=-nacl 828213fdd94Smrg ;; 829301ea0f4Smrg ncr3000) 830301ea0f4Smrg basic_machine=i486-ncr 831301ea0f4Smrg os=-sysv4 832301ea0f4Smrg ;; 833301ea0f4Smrg netbsd386) 834301ea0f4Smrg basic_machine=i386-unknown 835301ea0f4Smrg os=-netbsd 836301ea0f4Smrg ;; 837301ea0f4Smrg netwinder) 838301ea0f4Smrg basic_machine=armv4l-rebel 839301ea0f4Smrg os=-linux 840301ea0f4Smrg ;; 841301ea0f4Smrg news | news700 | news800 | news900) 842301ea0f4Smrg basic_machine=m68k-sony 843301ea0f4Smrg os=-newsos 844301ea0f4Smrg ;; 845301ea0f4Smrg news1000) 846301ea0f4Smrg basic_machine=m68030-sony 847301ea0f4Smrg os=-newsos 848301ea0f4Smrg ;; 849301ea0f4Smrg news-3600 | risc-news) 850301ea0f4Smrg basic_machine=mips-sony 851301ea0f4Smrg os=-newsos 852301ea0f4Smrg ;; 853301ea0f4Smrg necv70) 854301ea0f4Smrg basic_machine=v70-nec 855301ea0f4Smrg os=-sysv 856301ea0f4Smrg ;; 857301ea0f4Smrg next | m*-next ) 858301ea0f4Smrg basic_machine=m68k-next 859301ea0f4Smrg case $os in 860301ea0f4Smrg -nextstep* ) 861301ea0f4Smrg ;; 862301ea0f4Smrg -ns2*) 863301ea0f4Smrg os=-nextstep2 864301ea0f4Smrg ;; 865301ea0f4Smrg *) 866301ea0f4Smrg os=-nextstep3 867301ea0f4Smrg ;; 868301ea0f4Smrg esac 869301ea0f4Smrg ;; 870301ea0f4Smrg nh3000) 871301ea0f4Smrg basic_machine=m68k-harris 872301ea0f4Smrg os=-cxux 873301ea0f4Smrg ;; 874301ea0f4Smrg nh[45]000) 875301ea0f4Smrg basic_machine=m88k-harris 876301ea0f4Smrg os=-cxux 877301ea0f4Smrg ;; 878301ea0f4Smrg nindy960) 879301ea0f4Smrg basic_machine=i960-intel 880301ea0f4Smrg os=-nindy 881301ea0f4Smrg ;; 882301ea0f4Smrg mon960) 883301ea0f4Smrg basic_machine=i960-intel 884301ea0f4Smrg os=-mon960 885301ea0f4Smrg ;; 886301ea0f4Smrg nonstopux) 887301ea0f4Smrg basic_machine=mips-compaq 888301ea0f4Smrg os=-nonstopux 889301ea0f4Smrg ;; 890301ea0f4Smrg np1) 891301ea0f4Smrg basic_machine=np1-gould 892301ea0f4Smrg ;; 893213fdd94Smrg neo-tandem) 894213fdd94Smrg basic_machine=neo-tandem 895213fdd94Smrg ;; 896213fdd94Smrg nse-tandem) 897213fdd94Smrg basic_machine=nse-tandem 898213fdd94Smrg ;; 899301ea0f4Smrg nsr-tandem) 900301ea0f4Smrg basic_machine=nsr-tandem 901301ea0f4Smrg ;; 902301ea0f4Smrg op50n-* | op60c-*) 903301ea0f4Smrg basic_machine=hppa1.1-oki 904301ea0f4Smrg os=-proelf 905301ea0f4Smrg ;; 9060cc67336Smrg openrisc | openrisc-*) 907301ea0f4Smrg basic_machine=or32-unknown 9080cc67336Smrg ;; 9090cc67336Smrg os400) 9100cc67336Smrg basic_machine=powerpc-ibm 9110cc67336Smrg os=-os400 912301ea0f4Smrg ;; 913301ea0f4Smrg OSE68000 | ose68000) 914301ea0f4Smrg basic_machine=m68000-ericsson 915301ea0f4Smrg os=-ose 916301ea0f4Smrg ;; 917301ea0f4Smrg os68k) 918301ea0f4Smrg basic_machine=m68k-none 919301ea0f4Smrg os=-os68k 920301ea0f4Smrg ;; 921301ea0f4Smrg pa-hitachi) 922301ea0f4Smrg basic_machine=hppa1.1-hitachi 923301ea0f4Smrg os=-hiuxwe2 924301ea0f4Smrg ;; 925301ea0f4Smrg paragon) 926301ea0f4Smrg basic_machine=i860-intel 927301ea0f4Smrg os=-osf 928301ea0f4Smrg ;; 9290cc67336Smrg parisc) 9300cc67336Smrg basic_machine=hppa-unknown 9310cc67336Smrg os=-linux 9320cc67336Smrg ;; 9330cc67336Smrg parisc-*) 9340cc67336Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9350cc67336Smrg os=-linux 9360cc67336Smrg ;; 937301ea0f4Smrg pbd) 938301ea0f4Smrg basic_machine=sparc-tti 939301ea0f4Smrg ;; 940301ea0f4Smrg pbb) 941301ea0f4Smrg basic_machine=m68k-tti 942301ea0f4Smrg ;; 943301ea0f4Smrg pc532 | pc532-*) 944301ea0f4Smrg basic_machine=ns32k-pc532 945301ea0f4Smrg ;; 9460cc67336Smrg pc98) 9470cc67336Smrg basic_machine=i386-pc 9480cc67336Smrg ;; 9490cc67336Smrg pc98-*) 9500cc67336Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9510cc67336Smrg ;; 952301ea0f4Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 953301ea0f4Smrg basic_machine=i586-pc 954301ea0f4Smrg ;; 955301ea0f4Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 956301ea0f4Smrg basic_machine=i686-pc 957301ea0f4Smrg ;; 958301ea0f4Smrg pentiumii | pentium2 | pentiumiii | pentium3) 959301ea0f4Smrg basic_machine=i686-pc 960301ea0f4Smrg ;; 961301ea0f4Smrg pentium4) 962301ea0f4Smrg basic_machine=i786-pc 963301ea0f4Smrg ;; 964301ea0f4Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 965301ea0f4Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 966301ea0f4Smrg ;; 967301ea0f4Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 968301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 969301ea0f4Smrg ;; 970301ea0f4Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 971301ea0f4Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 972301ea0f4Smrg ;; 973301ea0f4Smrg pentium4-*) 974301ea0f4Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 975301ea0f4Smrg ;; 976301ea0f4Smrg pn) 977301ea0f4Smrg basic_machine=pn-gould 978301ea0f4Smrg ;; 979301ea0f4Smrg power) basic_machine=power-ibm 980301ea0f4Smrg ;; 981213fdd94Smrg ppc | ppcbe) basic_machine=powerpc-unknown 982301ea0f4Smrg ;; 983213fdd94Smrg ppc-* | ppcbe-*) 984213fdd94Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 985301ea0f4Smrg ;; 986301ea0f4Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 987301ea0f4Smrg basic_machine=powerpcle-unknown 988301ea0f4Smrg ;; 989301ea0f4Smrg ppcle-* | powerpclittle-*) 990301ea0f4Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 991301ea0f4Smrg ;; 992301ea0f4Smrg ppc64) basic_machine=powerpc64-unknown 993301ea0f4Smrg ;; 994301ea0f4Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 995301ea0f4Smrg ;; 996301ea0f4Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 997301ea0f4Smrg basic_machine=powerpc64le-unknown 998301ea0f4Smrg ;; 999301ea0f4Smrg ppc64le-* | powerpc64little-*) 1000301ea0f4Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 1001301ea0f4Smrg ;; 1002301ea0f4Smrg ps2) 1003301ea0f4Smrg basic_machine=i386-ibm 1004301ea0f4Smrg ;; 1005301ea0f4Smrg pw32) 1006301ea0f4Smrg basic_machine=i586-unknown 1007301ea0f4Smrg os=-pw32 1008301ea0f4Smrg ;; 10090cc67336Smrg rdos) 10100cc67336Smrg basic_machine=i386-pc 10110cc67336Smrg os=-rdos 10120cc67336Smrg ;; 1013301ea0f4Smrg rom68k) 1014301ea0f4Smrg basic_machine=m68k-rom68k 1015301ea0f4Smrg os=-coff 1016301ea0f4Smrg ;; 1017301ea0f4Smrg rm[46]00) 1018301ea0f4Smrg basic_machine=mips-siemens 1019301ea0f4Smrg ;; 1020301ea0f4Smrg rtpc | rtpc-*) 1021301ea0f4Smrg basic_machine=romp-ibm 1022301ea0f4Smrg ;; 10230cc67336Smrg s390 | s390-*) 10240cc67336Smrg basic_machine=s390-ibm 10250cc67336Smrg ;; 10260cc67336Smrg s390x | s390x-*) 10270cc67336Smrg basic_machine=s390x-ibm 10280cc67336Smrg ;; 1029301ea0f4Smrg sa29200) 1030301ea0f4Smrg basic_machine=a29k-amd 1031301ea0f4Smrg os=-udi 1032301ea0f4Smrg ;; 1033301ea0f4Smrg sb1) 1034301ea0f4Smrg basic_machine=mipsisa64sb1-unknown 1035301ea0f4Smrg ;; 1036301ea0f4Smrg sb1el) 1037301ea0f4Smrg basic_machine=mipsisa64sb1el-unknown 1038301ea0f4Smrg ;; 10390cc67336Smrg sde) 10400cc67336Smrg basic_machine=mipsisa32-sde 10410cc67336Smrg os=-elf 10420cc67336Smrg ;; 1043301ea0f4Smrg sei) 1044301ea0f4Smrg basic_machine=mips-sei 1045301ea0f4Smrg os=-seiux 1046301ea0f4Smrg ;; 1047301ea0f4Smrg sequent) 1048301ea0f4Smrg basic_machine=i386-sequent 1049301ea0f4Smrg ;; 1050301ea0f4Smrg sh) 1051301ea0f4Smrg basic_machine=sh-hitachi 1052301ea0f4Smrg os=-hms 1053301ea0f4Smrg ;; 10540cc67336Smrg sh5el) 10550cc67336Smrg basic_machine=sh5le-unknown 10560cc67336Smrg ;; 1057301ea0f4Smrg sh64) 1058301ea0f4Smrg basic_machine=sh64-unknown 1059301ea0f4Smrg ;; 1060301ea0f4Smrg sparclite-wrs | simso-wrs) 1061301ea0f4Smrg basic_machine=sparclite-wrs 1062301ea0f4Smrg os=-vxworks 1063301ea0f4Smrg ;; 1064301ea0f4Smrg sps7) 1065301ea0f4Smrg basic_machine=m68k-bull 1066301ea0f4Smrg os=-sysv2 1067301ea0f4Smrg ;; 1068301ea0f4Smrg spur) 1069301ea0f4Smrg basic_machine=spur-unknown 1070301ea0f4Smrg ;; 1071301ea0f4Smrg st2000) 1072301ea0f4Smrg basic_machine=m68k-tandem 1073301ea0f4Smrg ;; 1074301ea0f4Smrg stratus) 1075301ea0f4Smrg basic_machine=i860-stratus 1076301ea0f4Smrg os=-sysv4 1077301ea0f4Smrg ;; 1078213fdd94Smrg strongarm-* | thumb-*) 1079213fdd94Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1080213fdd94Smrg ;; 1081301ea0f4Smrg sun2) 1082301ea0f4Smrg basic_machine=m68000-sun 1083301ea0f4Smrg ;; 1084301ea0f4Smrg sun2os3) 1085301ea0f4Smrg basic_machine=m68000-sun 1086301ea0f4Smrg os=-sunos3 1087301ea0f4Smrg ;; 1088301ea0f4Smrg sun2os4) 1089301ea0f4Smrg basic_machine=m68000-sun 1090301ea0f4Smrg os=-sunos4 1091301ea0f4Smrg ;; 1092301ea0f4Smrg sun3os3) 1093301ea0f4Smrg basic_machine=m68k-sun 1094301ea0f4Smrg os=-sunos3 1095301ea0f4Smrg ;; 1096301ea0f4Smrg sun3os4) 1097301ea0f4Smrg basic_machine=m68k-sun 1098301ea0f4Smrg os=-sunos4 1099301ea0f4Smrg ;; 1100301ea0f4Smrg sun4os3) 1101301ea0f4Smrg basic_machine=sparc-sun 1102301ea0f4Smrg os=-sunos3 1103301ea0f4Smrg ;; 1104301ea0f4Smrg sun4os4) 1105301ea0f4Smrg basic_machine=sparc-sun 1106301ea0f4Smrg os=-sunos4 1107301ea0f4Smrg ;; 1108301ea0f4Smrg sun4sol2) 1109301ea0f4Smrg basic_machine=sparc-sun 1110301ea0f4Smrg os=-solaris2 1111301ea0f4Smrg ;; 1112301ea0f4Smrg sun3 | sun3-*) 1113301ea0f4Smrg basic_machine=m68k-sun 1114301ea0f4Smrg ;; 1115301ea0f4Smrg sun4) 1116301ea0f4Smrg basic_machine=sparc-sun 1117301ea0f4Smrg ;; 1118301ea0f4Smrg sun386 | sun386i | roadrunner) 1119301ea0f4Smrg basic_machine=i386-sun 1120301ea0f4Smrg ;; 1121301ea0f4Smrg sv1) 1122301ea0f4Smrg basic_machine=sv1-cray 1123301ea0f4Smrg os=-unicos 1124301ea0f4Smrg ;; 1125301ea0f4Smrg symmetry) 1126301ea0f4Smrg basic_machine=i386-sequent 1127301ea0f4Smrg os=-dynix 1128301ea0f4Smrg ;; 1129301ea0f4Smrg t3e) 1130301ea0f4Smrg basic_machine=alphaev5-cray 1131301ea0f4Smrg os=-unicos 1132301ea0f4Smrg ;; 1133301ea0f4Smrg t90) 1134301ea0f4Smrg basic_machine=t90-cray 1135301ea0f4Smrg os=-unicos 1136301ea0f4Smrg ;; 11370cc67336Smrg tile*) 1138213fdd94Smrg basic_machine=$basic_machine-unknown 11390cc67336Smrg os=-linux-gnu 11400cc67336Smrg ;; 1141301ea0f4Smrg tx39) 1142301ea0f4Smrg basic_machine=mipstx39-unknown 1143301ea0f4Smrg ;; 1144301ea0f4Smrg tx39el) 1145301ea0f4Smrg basic_machine=mipstx39el-unknown 1146301ea0f4Smrg ;; 1147301ea0f4Smrg toad1) 1148301ea0f4Smrg basic_machine=pdp10-xkl 1149301ea0f4Smrg os=-tops20 1150301ea0f4Smrg ;; 1151301ea0f4Smrg tower | tower-32) 1152301ea0f4Smrg basic_machine=m68k-ncr 1153301ea0f4Smrg ;; 11540cc67336Smrg tpf) 11550cc67336Smrg basic_machine=s390x-ibm 11560cc67336Smrg os=-tpf 11570cc67336Smrg ;; 1158301ea0f4Smrg udi29k) 1159301ea0f4Smrg basic_machine=a29k-amd 1160301ea0f4Smrg os=-udi 1161301ea0f4Smrg ;; 1162301ea0f4Smrg ultra3) 1163301ea0f4Smrg basic_machine=a29k-nyu 1164301ea0f4Smrg os=-sym1 1165301ea0f4Smrg ;; 1166301ea0f4Smrg v810 | necv810) 1167301ea0f4Smrg basic_machine=v810-nec 1168301ea0f4Smrg os=-none 1169301ea0f4Smrg ;; 1170301ea0f4Smrg vaxv) 1171301ea0f4Smrg basic_machine=vax-dec 1172301ea0f4Smrg os=-sysv 1173301ea0f4Smrg ;; 1174301ea0f4Smrg vms) 1175301ea0f4Smrg basic_machine=vax-dec 1176301ea0f4Smrg os=-vms 1177301ea0f4Smrg ;; 1178301ea0f4Smrg vpp*|vx|vx-*) 1179301ea0f4Smrg basic_machine=f301-fujitsu 1180301ea0f4Smrg ;; 1181301ea0f4Smrg vxworks960) 1182301ea0f4Smrg basic_machine=i960-wrs 1183301ea0f4Smrg os=-vxworks 1184301ea0f4Smrg ;; 1185301ea0f4Smrg vxworks68) 1186301ea0f4Smrg basic_machine=m68k-wrs 1187301ea0f4Smrg os=-vxworks 1188301ea0f4Smrg ;; 1189301ea0f4Smrg vxworks29k) 1190301ea0f4Smrg basic_machine=a29k-wrs 1191301ea0f4Smrg os=-vxworks 1192301ea0f4Smrg ;; 1193301ea0f4Smrg w65*) 1194301ea0f4Smrg basic_machine=w65-wdc 1195301ea0f4Smrg os=-none 1196301ea0f4Smrg ;; 1197301ea0f4Smrg w89k-*) 1198301ea0f4Smrg basic_machine=hppa1.1-winbond 1199301ea0f4Smrg os=-proelf 1200301ea0f4Smrg ;; 12010cc67336Smrg xbox) 12020cc67336Smrg basic_machine=i686-pc 12030cc67336Smrg os=-mingw32 12040cc67336Smrg ;; 1205301ea0f4Smrg xps | xps100) 1206301ea0f4Smrg basic_machine=xps100-honeywell 1207301ea0f4Smrg ;; 1208213fdd94Smrg xscale-* | xscalee[bl]-*) 1209213fdd94Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1210213fdd94Smrg ;; 1211301ea0f4Smrg ymp) 1212301ea0f4Smrg basic_machine=ymp-cray 1213301ea0f4Smrg os=-unicos 1214301ea0f4Smrg ;; 1215301ea0f4Smrg z8k-*-coff) 1216301ea0f4Smrg basic_machine=z8k-unknown 1217301ea0f4Smrg os=-sim 1218301ea0f4Smrg ;; 1219213fdd94Smrg z80-*-coff) 1220213fdd94Smrg basic_machine=z80-unknown 1221213fdd94Smrg os=-sim 1222213fdd94Smrg ;; 1223301ea0f4Smrg none) 1224301ea0f4Smrg basic_machine=none-none 1225301ea0f4Smrg os=-none 1226301ea0f4Smrg ;; 1227301ea0f4Smrg 1228301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types. It is in 1229301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular. 1230301ea0f4Smrg w89k) 1231301ea0f4Smrg basic_machine=hppa1.1-winbond 1232301ea0f4Smrg ;; 1233301ea0f4Smrg op50n) 1234301ea0f4Smrg basic_machine=hppa1.1-oki 1235301ea0f4Smrg ;; 1236301ea0f4Smrg op60c) 1237301ea0f4Smrg basic_machine=hppa1.1-oki 1238301ea0f4Smrg ;; 1239301ea0f4Smrg romp) 1240301ea0f4Smrg basic_machine=romp-ibm 1241301ea0f4Smrg ;; 12420cc67336Smrg mmix) 12430cc67336Smrg basic_machine=mmix-knuth 12440cc67336Smrg ;; 1245301ea0f4Smrg rs6000) 1246301ea0f4Smrg basic_machine=rs6000-ibm 1247301ea0f4Smrg ;; 1248301ea0f4Smrg vax) 1249301ea0f4Smrg basic_machine=vax-dec 1250301ea0f4Smrg ;; 1251301ea0f4Smrg pdp10) 1252301ea0f4Smrg # there are many clones, so DEC is not a safe bet 1253301ea0f4Smrg basic_machine=pdp10-unknown 1254301ea0f4Smrg ;; 1255301ea0f4Smrg pdp11) 1256301ea0f4Smrg basic_machine=pdp11-dec 1257301ea0f4Smrg ;; 1258301ea0f4Smrg we32k) 1259301ea0f4Smrg basic_machine=we32k-att 1260301ea0f4Smrg ;; 1261213fdd94Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1262301ea0f4Smrg basic_machine=sh-unknown 1263301ea0f4Smrg ;; 12640cc67336Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1265301ea0f4Smrg basic_machine=sparc-sun 1266301ea0f4Smrg ;; 1267301ea0f4Smrg cydra) 1268301ea0f4Smrg basic_machine=cydra-cydrome 1269301ea0f4Smrg ;; 1270301ea0f4Smrg orion) 1271301ea0f4Smrg basic_machine=orion-highlevel 1272301ea0f4Smrg ;; 1273301ea0f4Smrg orion105) 1274301ea0f4Smrg basic_machine=clipper-highlevel 1275301ea0f4Smrg ;; 1276301ea0f4Smrg mac | mpw | mac-mpw) 1277301ea0f4Smrg basic_machine=m68k-apple 1278301ea0f4Smrg ;; 1279301ea0f4Smrg pmac | pmac-mpw) 1280301ea0f4Smrg basic_machine=powerpc-apple 1281301ea0f4Smrg ;; 1282301ea0f4Smrg *-unknown) 1283301ea0f4Smrg # Make sure to match an already-canonicalized machine name. 1284301ea0f4Smrg ;; 1285301ea0f4Smrg *) 1286301ea0f4Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 1287301ea0f4Smrg exit 1 1288301ea0f4Smrg ;; 1289301ea0f4Smrgesac 1290301ea0f4Smrg 1291301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers. 1292301ea0f4Smrgcase $basic_machine in 1293301ea0f4Smrg *-digital*) 1294301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 1295301ea0f4Smrg ;; 1296301ea0f4Smrg *-commodore*) 1297301ea0f4Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 1298301ea0f4Smrg ;; 1299301ea0f4Smrg *) 1300301ea0f4Smrg ;; 1301301ea0f4Smrgesac 1302301ea0f4Smrg 1303301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems. 1304301ea0f4Smrg 1305301ea0f4Smrgif [ x"$os" != x"" ] 1306301ea0f4Smrgthen 1307301ea0f4Smrgcase $os in 1308213fdd94Smrg # First match some system type aliases 1309213fdd94Smrg # that might get confused with valid system types. 1310301ea0f4Smrg # -solaris* is a basic system type, with this one exception. 1311213fdd94Smrg -auroraux) 1312213fdd94Smrg os=-auroraux 1313213fdd94Smrg ;; 1314301ea0f4Smrg -solaris1 | -solaris1.*) 1315301ea0f4Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 1316301ea0f4Smrg ;; 1317301ea0f4Smrg -solaris) 1318301ea0f4Smrg os=-solaris2 1319301ea0f4Smrg ;; 1320301ea0f4Smrg -svr4*) 1321301ea0f4Smrg os=-sysv4 1322301ea0f4Smrg ;; 1323301ea0f4Smrg -unixware*) 1324301ea0f4Smrg os=-sysv4.2uw 1325301ea0f4Smrg ;; 1326301ea0f4Smrg -gnu/linux*) 1327301ea0f4Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1328301ea0f4Smrg ;; 1329301ea0f4Smrg # First accept the basic system types. 1330301ea0f4Smrg # The portable systems comes first. 1331301ea0f4Smrg # Each alternative MUST END IN A *, to match a version number. 1332301ea0f4Smrg # -sysv* is not here because it comes later, after sysvr4. 1333301ea0f4Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1334213fdd94Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1335213fdd94Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1336213fdd94Smrg | -sym* | -kopensolaris* \ 1337301ea0f4Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1338213fdd94Smrg | -aos* | -aros* \ 1339301ea0f4Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1340301ea0f4Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13410cc67336Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 13420cc67336Smrg | -openbsd* | -solidbsd* \ 13430cc67336Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13440cc67336Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 1345301ea0f4Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 1346301ea0f4Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 1347213fdd94Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1348213fdd94Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1349213fdd94Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 1350213fdd94Smrg | -linux-newlib* | -linux-uclibc* \ 13510cc67336Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 1352301ea0f4Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 1353301ea0f4Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 1354301ea0f4Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 1355301ea0f4Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1356301ea0f4Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13570cc67336Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1358213fdd94Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 1359301ea0f4Smrg # Remember, each alternative MUST END IN *, to match a version number. 1360301ea0f4Smrg ;; 1361301ea0f4Smrg -qnx*) 1362301ea0f4Smrg case $basic_machine in 1363301ea0f4Smrg x86-* | i*86-*) 1364301ea0f4Smrg ;; 1365301ea0f4Smrg *) 1366301ea0f4Smrg os=-nto$os 1367301ea0f4Smrg ;; 1368301ea0f4Smrg esac 1369301ea0f4Smrg ;; 1370301ea0f4Smrg -nto-qnx*) 1371301ea0f4Smrg ;; 1372301ea0f4Smrg -nto*) 1373301ea0f4Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 1374301ea0f4Smrg ;; 1375301ea0f4Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 13760cc67336Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 1377301ea0f4Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 1378301ea0f4Smrg ;; 1379301ea0f4Smrg -mac*) 1380301ea0f4Smrg os=`echo $os | sed -e 's|mac|macos|'` 1381301ea0f4Smrg ;; 13820cc67336Smrg -linux-dietlibc) 13830cc67336Smrg os=-linux-dietlibc 13840cc67336Smrg ;; 1385301ea0f4Smrg -linux*) 1386301ea0f4Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 1387301ea0f4Smrg ;; 1388301ea0f4Smrg -sunos5*) 1389301ea0f4Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 1390301ea0f4Smrg ;; 1391301ea0f4Smrg -sunos6*) 1392301ea0f4Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 1393301ea0f4Smrg ;; 1394301ea0f4Smrg -opened*) 1395301ea0f4Smrg os=-openedition 1396301ea0f4Smrg ;; 1397213fdd94Smrg -os400*) 13980cc67336Smrg os=-os400 13990cc67336Smrg ;; 1400301ea0f4Smrg -wince*) 1401301ea0f4Smrg os=-wince 1402301ea0f4Smrg ;; 1403301ea0f4Smrg -osfrose*) 1404301ea0f4Smrg os=-osfrose 1405301ea0f4Smrg ;; 1406301ea0f4Smrg -osf*) 1407301ea0f4Smrg os=-osf 1408301ea0f4Smrg ;; 1409301ea0f4Smrg -utek*) 1410301ea0f4Smrg os=-bsd 1411301ea0f4Smrg ;; 1412301ea0f4Smrg -dynix*) 1413301ea0f4Smrg os=-bsd 1414301ea0f4Smrg ;; 1415301ea0f4Smrg -acis*) 1416301ea0f4Smrg os=-aos 1417301ea0f4Smrg ;; 1418301ea0f4Smrg -atheos*) 1419301ea0f4Smrg os=-atheos 1420301ea0f4Smrg ;; 14210cc67336Smrg -syllable*) 14220cc67336Smrg os=-syllable 14230cc67336Smrg ;; 1424301ea0f4Smrg -386bsd) 1425301ea0f4Smrg os=-bsd 1426301ea0f4Smrg ;; 1427301ea0f4Smrg -ctix* | -uts*) 1428301ea0f4Smrg os=-sysv 1429301ea0f4Smrg ;; 1430301ea0f4Smrg -nova*) 1431301ea0f4Smrg os=-rtmk-nova 1432301ea0f4Smrg ;; 1433301ea0f4Smrg -ns2 ) 1434301ea0f4Smrg os=-nextstep2 1435301ea0f4Smrg ;; 1436301ea0f4Smrg -nsk*) 1437301ea0f4Smrg os=-nsk 1438301ea0f4Smrg ;; 1439301ea0f4Smrg # Preserve the version number of sinix5. 1440301ea0f4Smrg -sinix5.*) 1441301ea0f4Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 1442301ea0f4Smrg ;; 1443301ea0f4Smrg -sinix*) 1444301ea0f4Smrg os=-sysv4 1445301ea0f4Smrg ;; 1446213fdd94Smrg -tpf*) 14470cc67336Smrg os=-tpf 14480cc67336Smrg ;; 1449301ea0f4Smrg -triton*) 1450301ea0f4Smrg os=-sysv3 1451301ea0f4Smrg ;; 1452301ea0f4Smrg -oss*) 1453301ea0f4Smrg os=-sysv3 1454301ea0f4Smrg ;; 1455301ea0f4Smrg -svr4) 1456301ea0f4Smrg os=-sysv4 1457301ea0f4Smrg ;; 1458301ea0f4Smrg -svr3) 1459301ea0f4Smrg os=-sysv3 1460301ea0f4Smrg ;; 1461301ea0f4Smrg -sysvr4) 1462301ea0f4Smrg os=-sysv4 1463301ea0f4Smrg ;; 1464301ea0f4Smrg # This must come after -sysvr4. 1465301ea0f4Smrg -sysv*) 1466301ea0f4Smrg ;; 1467301ea0f4Smrg -ose*) 1468301ea0f4Smrg os=-ose 1469301ea0f4Smrg ;; 1470301ea0f4Smrg -es1800*) 1471301ea0f4Smrg os=-ose 1472301ea0f4Smrg ;; 1473301ea0f4Smrg -xenix) 1474301ea0f4Smrg os=-xenix 1475301ea0f4Smrg ;; 1476301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1477301ea0f4Smrg os=-mint 1478301ea0f4Smrg ;; 1479301ea0f4Smrg -aros*) 1480301ea0f4Smrg os=-aros 1481301ea0f4Smrg ;; 1482301ea0f4Smrg -kaos*) 1483301ea0f4Smrg os=-kaos 1484301ea0f4Smrg ;; 14850cc67336Smrg -zvmoe) 14860cc67336Smrg os=-zvmoe 14870cc67336Smrg ;; 1488213fdd94Smrg -dicos*) 1489213fdd94Smrg os=-dicos 1490213fdd94Smrg ;; 1491213fdd94Smrg -nacl*) 1492213fdd94Smrg ;; 1493301ea0f4Smrg -none) 1494301ea0f4Smrg ;; 1495301ea0f4Smrg *) 1496301ea0f4Smrg # Get rid of the `-' at the beginning of $os. 1497301ea0f4Smrg os=`echo $os | sed 's/[^-]*-//'` 1498301ea0f4Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 1499301ea0f4Smrg exit 1 1500301ea0f4Smrg ;; 1501301ea0f4Smrgesac 1502301ea0f4Smrgelse 1503301ea0f4Smrg 1504301ea0f4Smrg# Here we handle the default operating systems that come with various machines. 1505301ea0f4Smrg# The value should be what the vendor currently ships out the door with their 1506301ea0f4Smrg# machine or put another way, the most popular os provided with the machine. 1507301ea0f4Smrg 1508301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 1509301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top 1510301ea0f4Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 1511301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating 1512301ea0f4Smrg# system, and we'll never get to this point. 1513301ea0f4Smrg 1514301ea0f4Smrgcase $basic_machine in 1515213fdd94Smrg score-*) 15160cc67336Smrg os=-elf 15170cc67336Smrg ;; 1518213fdd94Smrg spu-*) 15190cc67336Smrg os=-elf 15200cc67336Smrg ;; 1521301ea0f4Smrg *-acorn) 1522301ea0f4Smrg os=-riscix1.2 1523301ea0f4Smrg ;; 1524301ea0f4Smrg arm*-rebel) 1525301ea0f4Smrg os=-linux 1526301ea0f4Smrg ;; 1527301ea0f4Smrg arm*-semi) 1528301ea0f4Smrg os=-aout 1529301ea0f4Smrg ;; 1530213fdd94Smrg c4x-* | tic4x-*) 1531213fdd94Smrg os=-coff 1532213fdd94Smrg ;; 1533213fdd94Smrg tic54x-*) 1534213fdd94Smrg os=-coff 1535213fdd94Smrg ;; 1536213fdd94Smrg tic55x-*) 1537213fdd94Smrg os=-coff 1538213fdd94Smrg ;; 1539213fdd94Smrg tic6x-*) 1540213fdd94Smrg os=-coff 1541301ea0f4Smrg ;; 1542301ea0f4Smrg # This must come before the *-dec entry. 1543301ea0f4Smrg pdp10-*) 1544301ea0f4Smrg os=-tops20 1545301ea0f4Smrg ;; 1546301ea0f4Smrg pdp11-*) 1547301ea0f4Smrg os=-none 1548301ea0f4Smrg ;; 1549301ea0f4Smrg *-dec | vax-*) 1550301ea0f4Smrg os=-ultrix4.2 1551301ea0f4Smrg ;; 1552301ea0f4Smrg m68*-apollo) 1553301ea0f4Smrg os=-domain 1554301ea0f4Smrg ;; 1555301ea0f4Smrg i386-sun) 1556301ea0f4Smrg os=-sunos4.0.2 1557301ea0f4Smrg ;; 1558301ea0f4Smrg m68000-sun) 1559301ea0f4Smrg os=-sunos3 1560301ea0f4Smrg ;; 1561301ea0f4Smrg m68*-cisco) 1562301ea0f4Smrg os=-aout 1563301ea0f4Smrg ;; 1564213fdd94Smrg mep-*) 15650cc67336Smrg os=-elf 15660cc67336Smrg ;; 1567301ea0f4Smrg mips*-cisco) 1568301ea0f4Smrg os=-elf 1569301ea0f4Smrg ;; 1570301ea0f4Smrg mips*-*) 1571301ea0f4Smrg os=-elf 1572301ea0f4Smrg ;; 1573301ea0f4Smrg or32-*) 1574301ea0f4Smrg os=-coff 1575301ea0f4Smrg ;; 1576301ea0f4Smrg *-tti) # must be before sparc entry or we get the wrong os. 1577301ea0f4Smrg os=-sysv3 1578301ea0f4Smrg ;; 1579301ea0f4Smrg sparc-* | *-sun) 1580301ea0f4Smrg os=-sunos4.1.1 1581301ea0f4Smrg ;; 1582301ea0f4Smrg *-be) 1583301ea0f4Smrg os=-beos 1584301ea0f4Smrg ;; 15850cc67336Smrg *-haiku) 15860cc67336Smrg os=-haiku 15870cc67336Smrg ;; 1588301ea0f4Smrg *-ibm) 1589301ea0f4Smrg os=-aix 1590301ea0f4Smrg ;; 1591213fdd94Smrg *-knuth) 15920cc67336Smrg os=-mmixware 15930cc67336Smrg ;; 1594301ea0f4Smrg *-wec) 1595301ea0f4Smrg os=-proelf 1596301ea0f4Smrg ;; 1597301ea0f4Smrg *-winbond) 1598301ea0f4Smrg os=-proelf 1599301ea0f4Smrg ;; 1600301ea0f4Smrg *-oki) 1601301ea0f4Smrg os=-proelf 1602301ea0f4Smrg ;; 1603301ea0f4Smrg *-hp) 1604301ea0f4Smrg os=-hpux 1605301ea0f4Smrg ;; 1606301ea0f4Smrg *-hitachi) 1607301ea0f4Smrg os=-hiux 1608301ea0f4Smrg ;; 1609301ea0f4Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1610301ea0f4Smrg os=-sysv 1611301ea0f4Smrg ;; 1612301ea0f4Smrg *-cbm) 1613301ea0f4Smrg os=-amigaos 1614301ea0f4Smrg ;; 1615301ea0f4Smrg *-dg) 1616301ea0f4Smrg os=-dgux 1617301ea0f4Smrg ;; 1618301ea0f4Smrg *-dolphin) 1619301ea0f4Smrg os=-sysv3 1620301ea0f4Smrg ;; 1621301ea0f4Smrg m68k-ccur) 1622301ea0f4Smrg os=-rtu 1623301ea0f4Smrg ;; 1624301ea0f4Smrg m88k-omron*) 1625301ea0f4Smrg os=-luna 1626301ea0f4Smrg ;; 1627301ea0f4Smrg *-next ) 1628301ea0f4Smrg os=-nextstep 1629301ea0f4Smrg ;; 1630301ea0f4Smrg *-sequent) 1631301ea0f4Smrg os=-ptx 1632301ea0f4Smrg ;; 1633301ea0f4Smrg *-crds) 1634301ea0f4Smrg os=-unos 1635301ea0f4Smrg ;; 1636301ea0f4Smrg *-ns) 1637301ea0f4Smrg os=-genix 1638301ea0f4Smrg ;; 1639301ea0f4Smrg i370-*) 1640301ea0f4Smrg os=-mvs 1641301ea0f4Smrg ;; 1642301ea0f4Smrg *-next) 1643301ea0f4Smrg os=-nextstep3 1644301ea0f4Smrg ;; 1645301ea0f4Smrg *-gould) 1646301ea0f4Smrg os=-sysv 1647301ea0f4Smrg ;; 1648301ea0f4Smrg *-highlevel) 1649301ea0f4Smrg os=-bsd 1650301ea0f4Smrg ;; 1651301ea0f4Smrg *-encore) 1652301ea0f4Smrg os=-bsd 1653301ea0f4Smrg ;; 1654301ea0f4Smrg *-sgi) 1655301ea0f4Smrg os=-irix 1656301ea0f4Smrg ;; 1657301ea0f4Smrg *-siemens) 1658301ea0f4Smrg os=-sysv4 1659301ea0f4Smrg ;; 1660301ea0f4Smrg *-masscomp) 1661301ea0f4Smrg os=-rtu 1662301ea0f4Smrg ;; 1663301ea0f4Smrg f30[01]-fujitsu | f700-fujitsu) 1664301ea0f4Smrg os=-uxpv 1665301ea0f4Smrg ;; 1666301ea0f4Smrg *-rom68k) 1667301ea0f4Smrg os=-coff 1668301ea0f4Smrg ;; 1669301ea0f4Smrg *-*bug) 1670301ea0f4Smrg os=-coff 1671301ea0f4Smrg ;; 1672301ea0f4Smrg *-apple) 1673301ea0f4Smrg os=-macos 1674301ea0f4Smrg ;; 1675301ea0f4Smrg *-atari*) 1676301ea0f4Smrg os=-mint 1677301ea0f4Smrg ;; 1678301ea0f4Smrg *) 1679301ea0f4Smrg os=-none 1680301ea0f4Smrg ;; 1681301ea0f4Smrgesac 1682301ea0f4Smrgfi 1683301ea0f4Smrg 1684301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the 1685301ea0f4Smrg# manufacturer. We pick the logical manufacturer. 1686301ea0f4Smrgvendor=unknown 1687301ea0f4Smrgcase $basic_machine in 1688301ea0f4Smrg *-unknown) 1689301ea0f4Smrg case $os in 1690301ea0f4Smrg -riscix*) 1691301ea0f4Smrg vendor=acorn 1692301ea0f4Smrg ;; 1693301ea0f4Smrg -sunos*) 1694301ea0f4Smrg vendor=sun 1695301ea0f4Smrg ;; 1696213fdd94Smrg -cnk*|-aix*) 1697301ea0f4Smrg vendor=ibm 1698301ea0f4Smrg ;; 1699301ea0f4Smrg -beos*) 1700301ea0f4Smrg vendor=be 1701301ea0f4Smrg ;; 1702301ea0f4Smrg -hpux*) 1703301ea0f4Smrg vendor=hp 1704301ea0f4Smrg ;; 1705301ea0f4Smrg -mpeix*) 1706301ea0f4Smrg vendor=hp 1707301ea0f4Smrg ;; 1708301ea0f4Smrg -hiux*) 1709301ea0f4Smrg vendor=hitachi 1710301ea0f4Smrg ;; 1711301ea0f4Smrg -unos*) 1712301ea0f4Smrg vendor=crds 1713301ea0f4Smrg ;; 1714301ea0f4Smrg -dgux*) 1715301ea0f4Smrg vendor=dg 1716301ea0f4Smrg ;; 1717301ea0f4Smrg -luna*) 1718301ea0f4Smrg vendor=omron 1719301ea0f4Smrg ;; 1720301ea0f4Smrg -genix*) 1721301ea0f4Smrg vendor=ns 1722301ea0f4Smrg ;; 1723301ea0f4Smrg -mvs* | -opened*) 1724301ea0f4Smrg vendor=ibm 1725301ea0f4Smrg ;; 17260cc67336Smrg -os400*) 17270cc67336Smrg vendor=ibm 17280cc67336Smrg ;; 1729301ea0f4Smrg -ptx*) 1730301ea0f4Smrg vendor=sequent 1731301ea0f4Smrg ;; 17320cc67336Smrg -tpf*) 17330cc67336Smrg vendor=ibm 17340cc67336Smrg ;; 1735301ea0f4Smrg -vxsim* | -vxworks* | -windiss*) 1736301ea0f4Smrg vendor=wrs 1737301ea0f4Smrg ;; 1738301ea0f4Smrg -aux*) 1739301ea0f4Smrg vendor=apple 1740301ea0f4Smrg ;; 1741301ea0f4Smrg -hms*) 1742301ea0f4Smrg vendor=hitachi 1743301ea0f4Smrg ;; 1744301ea0f4Smrg -mpw* | -macos*) 1745301ea0f4Smrg vendor=apple 1746301ea0f4Smrg ;; 1747301ea0f4Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 1748301ea0f4Smrg vendor=atari 1749301ea0f4Smrg ;; 1750301ea0f4Smrg -vos*) 1751301ea0f4Smrg vendor=stratus 1752301ea0f4Smrg ;; 1753301ea0f4Smrg esac 1754301ea0f4Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 1755301ea0f4Smrg ;; 1756301ea0f4Smrgesac 1757301ea0f4Smrg 1758301ea0f4Smrgecho $basic_machine$os 17590cc67336Smrgexit 1760301ea0f4Smrg 1761301ea0f4Smrg# Local variables: 1762301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 1763301ea0f4Smrg# time-stamp-start: "timestamp='" 1764301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d" 1765301ea0f4Smrg# time-stamp-end: "'" 1766301ea0f4Smrg# End: 1767