config.sub revision 55acc8fc
13da084b3Smrg#! /bin/sh
23da084b3Smrg# Configuration validation subroutine script.
33da084b3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
455acc8fcSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5d63fdb69Smrg#   Free Software Foundation, Inc.
63da084b3Smrg
755acc8fcSmrgtimestamp='2010-09-11'
83da084b3Smrg
93da084b3Smrg# This file is (in principle) common to ALL GNU software.
103da084b3Smrg# The presence of a machine in this file suggests that SOME GNU software
113da084b3Smrg# can handle that machine.  It does not imply ALL GNU software can.
123da084b3Smrg#
133da084b3Smrg# This file is free software; you can redistribute it and/or modify
143da084b3Smrg# it under the terms of the GNU General Public License as published by
153da084b3Smrg# the Free Software Foundation; either version 2 of the License, or
163da084b3Smrg# (at your option) any later version.
173da084b3Smrg#
183da084b3Smrg# This program is distributed in the hope that it will be useful,
193da084b3Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
203da084b3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
213da084b3Smrg# GNU General Public License for more details.
223da084b3Smrg#
233da084b3Smrg# You should have received a copy of the GNU General Public License
243da084b3Smrg# along with this program; if not, write to the Free Software
253da084b3Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
263da084b3Smrg# 02110-1301, USA.
273da084b3Smrg#
283da084b3Smrg# As a special exception to the GNU General Public License, if you
293da084b3Smrg# distribute this file as part of a program that contains a
303da084b3Smrg# configuration script generated by Autoconf, you may include it under
313da084b3Smrg# the same distribution terms that you use for the rest of that program.
323da084b3Smrg
333da084b3Smrg
343da084b3Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3555acc8fcSmrg# diff and a properly formatted GNU ChangeLog entry.
363da084b3Smrg#
373da084b3Smrg# Configuration subroutine to validate and canonicalize a configuration type.
383da084b3Smrg# Supply the specified configuration type as an argument.
393da084b3Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
403da084b3Smrg# Otherwise, we print the canonical config type on stdout and succeed.
413da084b3Smrg
4255acc8fcSmrg# You can get the latest version of this script from:
4355acc8fcSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4455acc8fcSmrg
453da084b3Smrg# This file is supposed to be the same for all GNU packages
463da084b3Smrg# and recognize all the CPU types, system types and aliases
473da084b3Smrg# that are meaningful with *any* GNU software.
483da084b3Smrg# Each package is responsible for reporting which valid configurations
493da084b3Smrg# it does not support.  The user should be able to distinguish
503da084b3Smrg# a failure to support a valid configuration from a meaningless
513da084b3Smrg# configuration.
523da084b3Smrg
533da084b3Smrg# The goal of this file is to map all the various variations of a given
543da084b3Smrg# machine specification into a single specification in the form:
553da084b3Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
563da084b3Smrg# or in some cases, the newer four-part form:
573da084b3Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
583da084b3Smrg# It is wrong to echo any other type of specification.
593da084b3Smrg
603da084b3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
613da084b3Smrg
623da084b3Smrgusage="\
633da084b3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
643da084b3Smrg       $0 [OPTION] ALIAS
653da084b3Smrg
663da084b3SmrgCanonicalize a configuration name.
673da084b3Smrg
683da084b3SmrgOperation modes:
693da084b3Smrg  -h, --help         print this help, then exit
703da084b3Smrg  -t, --time-stamp   print date of last modification, then exit
713da084b3Smrg  -v, --version      print version number, then exit
723da084b3Smrg
733da084b3SmrgReport bugs and patches to <config-patches@gnu.org>."
743da084b3Smrg
753da084b3Smrgversion="\
763da084b3SmrgGNU config.sub ($timestamp)
773da084b3Smrg
7855acc8fcSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7955acc8fcSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8055acc8fcSmrgSoftware Foundation, Inc.
813da084b3Smrg
823da084b3SmrgThis is free software; see the source for copying conditions.  There is NO
833da084b3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
843da084b3Smrg
853da084b3Smrghelp="
863da084b3SmrgTry \`$me --help' for more information."
873da084b3Smrg
883da084b3Smrg# Parse command line
893da084b3Smrgwhile test $# -gt 0 ; do
903da084b3Smrg  case $1 in
913da084b3Smrg    --time-stamp | --time* | -t )
923da084b3Smrg       echo "$timestamp" ; exit ;;
933da084b3Smrg    --version | -v )
943da084b3Smrg       echo "$version" ; exit ;;
953da084b3Smrg    --help | --h* | -h )
963da084b3Smrg       echo "$usage"; exit ;;
973da084b3Smrg    -- )     # Stop option processing
983da084b3Smrg       shift; break ;;
993da084b3Smrg    - )	# Use stdin as input.
1003da084b3Smrg       break ;;
1013da084b3Smrg    -* )
1023da084b3Smrg       echo "$me: invalid option $1$help"
1033da084b3Smrg       exit 1 ;;
1043da084b3Smrg
1053da084b3Smrg    *local*)
1063da084b3Smrg       # First pass through any local machine types.
1073da084b3Smrg       echo $1
1083da084b3Smrg       exit ;;
1093da084b3Smrg
1103da084b3Smrg    * )
1113da084b3Smrg       break ;;
1123da084b3Smrg  esac
1133da084b3Smrgdone
1143da084b3Smrg
1153da084b3Smrgcase $# in
1163da084b3Smrg 0) echo "$me: missing argument$help" >&2
1173da084b3Smrg    exit 1;;
1183da084b3Smrg 1) ;;
1193da084b3Smrg *) echo "$me: too many arguments$help" >&2
1203da084b3Smrg    exit 1;;
1213da084b3Smrgesac
1223da084b3Smrg
1233da084b3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1243da084b3Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1253da084b3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1263da084b3Smrgcase $maybe_os in
12755acc8fcSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12855acc8fcSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12955acc8fcSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
13055acc8fcSmrg  kopensolaris*-gnu* | \
1313da084b3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1323da084b3Smrg    os=-$maybe_os
1333da084b3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1343da084b3Smrg    ;;
1353da084b3Smrg  *)
1363da084b3Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1373da084b3Smrg    if [ $basic_machine != $1 ]
1383da084b3Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1393da084b3Smrg    else os=; fi
1403da084b3Smrg    ;;
1413da084b3Smrgesac
1423da084b3Smrg
1433da084b3Smrg### Let's recognize common machines as not being operating systems so
1443da084b3Smrg### that things like config.sub decstation-3100 work.  We also
1453da084b3Smrg### recognize some manufacturers as not being operating systems, so we
1463da084b3Smrg### can provide default operating systems below.
1473da084b3Smrgcase $os in
1483da084b3Smrg	-sun*os*)
1493da084b3Smrg		# Prevent following clause from handling this invalid input.
1503da084b3Smrg		;;
1513da084b3Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1523da084b3Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1533da084b3Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1543da084b3Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1553da084b3Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1563da084b3Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15755acc8fcSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1583da084b3Smrg		os=
1593da084b3Smrg		basic_machine=$1
1603da084b3Smrg		;;
16155acc8fcSmrg        -bluegene*)
16255acc8fcSmrg	        os=-cnk
16355acc8fcSmrg		;;
1643da084b3Smrg	-sim | -cisco | -oki | -wec | -winbond)
1653da084b3Smrg		os=
1663da084b3Smrg		basic_machine=$1
1673da084b3Smrg		;;
1683da084b3Smrg	-scout)
1693da084b3Smrg		;;
1703da084b3Smrg	-wrs)
1713da084b3Smrg		os=-vxworks
1723da084b3Smrg		basic_machine=$1
1733da084b3Smrg		;;
1743da084b3Smrg	-chorusos*)
1753da084b3Smrg		os=-chorusos
1763da084b3Smrg		basic_machine=$1
1773da084b3Smrg		;;
1783da084b3Smrg 	-chorusrdb)
1793da084b3Smrg 		os=-chorusrdb
1803da084b3Smrg		basic_machine=$1
1813da084b3Smrg 		;;
1823da084b3Smrg	-hiux*)
1833da084b3Smrg		os=-hiuxwe2
1843da084b3Smrg		;;
1853da084b3Smrg	-sco6)
1863da084b3Smrg		os=-sco5v6
1873da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1883da084b3Smrg		;;
1893da084b3Smrg	-sco5)
1903da084b3Smrg		os=-sco3.2v5
1913da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1923da084b3Smrg		;;
1933da084b3Smrg	-sco4)
1943da084b3Smrg		os=-sco3.2v4
1953da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1963da084b3Smrg		;;
1973da084b3Smrg	-sco3.2.[4-9]*)
1983da084b3Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1993da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2003da084b3Smrg		;;
2013da084b3Smrg	-sco3.2v[4-9]*)
2023da084b3Smrg		# Don't forget version if it is 3.2v4 or newer.
2033da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2043da084b3Smrg		;;
2053da084b3Smrg	-sco5v6*)
2063da084b3Smrg		# Don't forget version if it is 3.2v4 or newer.
2073da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2083da084b3Smrg		;;
2093da084b3Smrg	-sco*)
2103da084b3Smrg		os=-sco3.2v2
2113da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2123da084b3Smrg		;;
2133da084b3Smrg	-udk*)
2143da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2153da084b3Smrg		;;
2163da084b3Smrg	-isc)
2173da084b3Smrg		os=-isc2.2
2183da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2193da084b3Smrg		;;
2203da084b3Smrg	-clix*)
2213da084b3Smrg		basic_machine=clipper-intergraph
2223da084b3Smrg		;;
2233da084b3Smrg	-isc*)
2243da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2253da084b3Smrg		;;
2263da084b3Smrg	-lynx*)
2273da084b3Smrg		os=-lynxos
2283da084b3Smrg		;;
2293da084b3Smrg	-ptx*)
2303da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2313da084b3Smrg		;;
2323da084b3Smrg	-windowsnt*)
2333da084b3Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2343da084b3Smrg		;;
2353da084b3Smrg	-psos*)
2363da084b3Smrg		os=-psos
2373da084b3Smrg		;;
2383da084b3Smrg	-mint | -mint[0-9]*)
2393da084b3Smrg		basic_machine=m68k-atari
2403da084b3Smrg		os=-mint
2413da084b3Smrg		;;
2423da084b3Smrgesac
2433da084b3Smrg
2443da084b3Smrg# Decode aliases for certain CPU-COMPANY combinations.
2453da084b3Smrgcase $basic_machine in
2463da084b3Smrg	# Recognize the basic CPU types without company name.
2473da084b3Smrg	# Some are omitted here because they have special meanings below.
2483da084b3Smrg	1750a | 580 \
2493da084b3Smrg	| a29k \
2503da084b3Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2513da084b3Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2523da084b3Smrg	| am33_2.0 \
253d63fdb69Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2543da084b3Smrg	| bfin \
2553da084b3Smrg	| c4x | clipper \
2563da084b3Smrg	| d10v | d30v | dlx | dsp16xx \
257d63fdb69Smrg	| fido | fr30 | frv \
2583da084b3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2593da084b3Smrg	| i370 | i860 | i960 | ia64 \
2603da084b3Smrg	| ip2k | iq2000 \
26155acc8fcSmrg	| lm32 \
262d63fdb69Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26355acc8fcSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2643da084b3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2653da084b3Smrg	| mips16 \
2663da084b3Smrg	| mips64 | mips64el \
26755acc8fcSmrg	| mips64octeon | mips64octeonel \
2683da084b3Smrg	| mips64orion | mips64orionel \
26955acc8fcSmrg	| mips64r5900 | mips64r5900el \
27055acc8fcSmrg	| mips64vr | mips64vrel \
2713da084b3Smrg	| mips64vr4100 | mips64vr4100el \
2723da084b3Smrg	| mips64vr4300 | mips64vr4300el \
2733da084b3Smrg	| mips64vr5000 | mips64vr5000el \
2743da084b3Smrg	| mips64vr5900 | mips64vr5900el \
2753da084b3Smrg	| mipsisa32 | mipsisa32el \
2763da084b3Smrg	| mipsisa32r2 | mipsisa32r2el \
2773da084b3Smrg	| mipsisa64 | mipsisa64el \
2783da084b3Smrg	| mipsisa64r2 | mipsisa64r2el \
2793da084b3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2803da084b3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2813da084b3Smrg	| mipstx39 | mipstx39el \
2823da084b3Smrg	| mn10200 | mn10300 \
28355acc8fcSmrg	| moxie \
2843da084b3Smrg	| mt \
2853da084b3Smrg	| msp430 \
28655acc8fcSmrg	| nds32 | nds32le | nds32be \
2873da084b3Smrg	| nios | nios2 \
2883da084b3Smrg	| ns16k | ns32k \
2893da084b3Smrg	| or32 \
2903da084b3Smrg	| pdp10 | pdp11 | pj | pjl \
2913da084b3Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2923da084b3Smrg	| pyramid \
29355acc8fcSmrg	| rx \
294d63fdb69Smrg	| score \
29555acc8fcSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2963da084b3Smrg	| sh64 | sh64le \
297d63fdb69Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298d63fdb69Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299d63fdb69Smrg	| spu | strongarm \
30055acc8fcSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30155acc8fcSmrg	| ubicom32 \
3023da084b3Smrg	| v850 | v850e \
3033da084b3Smrg	| we32k \
304d63fdb69Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30555acc8fcSmrg	| z8k | z80)
3063da084b3Smrg		basic_machine=$basic_machine-unknown
3073da084b3Smrg		;;
30855acc8fcSmrg	c54x)
30955acc8fcSmrg		basic_machine=tic54x-unknown
31055acc8fcSmrg		;;
31155acc8fcSmrg	c55x)
31255acc8fcSmrg		basic_machine=tic55x-unknown
31355acc8fcSmrg		;;
31455acc8fcSmrg	c6x)
31555acc8fcSmrg		basic_machine=tic6x-unknown
31655acc8fcSmrg		;;
31755acc8fcSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3183da084b3Smrg		# Motorola 68HC11/12.
3193da084b3Smrg		basic_machine=$basic_machine-unknown
3203da084b3Smrg		os=-none
3213da084b3Smrg		;;
3223da084b3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3233da084b3Smrg		;;
3243da084b3Smrg	ms1)
3253da084b3Smrg		basic_machine=mt-unknown
3263da084b3Smrg		;;
3273da084b3Smrg
3283da084b3Smrg	# We use `pc' rather than `unknown'
3293da084b3Smrg	# because (1) that's what they normally are, and
3303da084b3Smrg	# (2) the word "unknown" tends to confuse beginning users.
3313da084b3Smrg	i*86 | x86_64)
3323da084b3Smrg	  basic_machine=$basic_machine-pc
3333da084b3Smrg	  ;;
3343da084b3Smrg	# Object if more than one company name word.
3353da084b3Smrg	*-*-*)
3363da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3373da084b3Smrg		exit 1
3383da084b3Smrg		;;
3393da084b3Smrg	# Recognize the basic CPU types with company name.
3403da084b3Smrg	580-* \
3413da084b3Smrg	| a29k-* \
3423da084b3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3433da084b3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3443da084b3Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3453da084b3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346d63fdb69Smrg	| avr-* | avr32-* \
3473da084b3Smrg	| bfin-* | bs2000-* \
34855acc8fcSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3493da084b3Smrg	| clipper-* | craynv-* | cydra-* \
3503da084b3Smrg	| d10v-* | d30v-* | dlx-* \
3513da084b3Smrg	| elxsi-* \
352d63fdb69Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3533da084b3Smrg	| h8300-* | h8500-* \
3543da084b3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3553da084b3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3563da084b3Smrg	| ip2k-* | iq2000-* \
35755acc8fcSmrg	| lm32-* \
358d63fdb69Smrg	| m32c-* | m32r-* | m32rle-* \
3593da084b3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36055acc8fcSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3613da084b3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3623da084b3Smrg	| mips16-* \
3633da084b3Smrg	| mips64-* | mips64el-* \
36455acc8fcSmrg	| mips64octeon-* | mips64octeonel-* \
3653da084b3Smrg	| mips64orion-* | mips64orionel-* \
36655acc8fcSmrg	| mips64r5900-* | mips64r5900el-* \
36755acc8fcSmrg	| mips64vr-* | mips64vrel-* \
3683da084b3Smrg	| mips64vr4100-* | mips64vr4100el-* \
3693da084b3Smrg	| mips64vr4300-* | mips64vr4300el-* \
3703da084b3Smrg	| mips64vr5000-* | mips64vr5000el-* \
3713da084b3Smrg	| mips64vr5900-* | mips64vr5900el-* \
3723da084b3Smrg	| mipsisa32-* | mipsisa32el-* \
3733da084b3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3743da084b3Smrg	| mipsisa64-* | mipsisa64el-* \
3753da084b3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3763da084b3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3773da084b3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3783da084b3Smrg	| mipstx39-* | mipstx39el-* \
3793da084b3Smrg	| mmix-* \
3803da084b3Smrg	| mt-* \
3813da084b3Smrg	| msp430-* \
38255acc8fcSmrg	| nds32-* | nds32le-* | nds32be-* \
3833da084b3Smrg	| nios-* | nios2-* \
3843da084b3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3853da084b3Smrg	| orion-* \
3863da084b3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3873da084b3Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3883da084b3Smrg	| pyramid-* \
38955acc8fcSmrg	| romp-* | rs6000-* | rx-* \
39055acc8fcSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3913da084b3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392d63fdb69Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3933da084b3Smrg	| sparclite-* \
394d63fdb69Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3953da084b3Smrg	| tahoe-* | thumb-* \
3963da084b3Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39755acc8fcSmrg	| tile-* | tilegx-* \
3983da084b3Smrg	| tron-* \
39955acc8fcSmrg	| ubicom32-* \
4003da084b3Smrg	| v850-* | v850e-* | vax-* \
4013da084b3Smrg	| we32k-* \
402d63fdb69Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403d63fdb69Smrg	| xstormy16-* | xtensa*-* \
4043da084b3Smrg	| ymp-* \
40555acc8fcSmrg	| z8k-* | z80-*)
4063da084b3Smrg		;;
407d63fdb69Smrg	# Recognize the basic CPU types without company name, with glob match.
408d63fdb69Smrg	xtensa*)
409d63fdb69Smrg		basic_machine=$basic_machine-unknown
4103da084b3Smrg		;;
4113da084b3Smrg	# Recognize the various machine names and aliases which stand
4123da084b3Smrg	# for a CPU type and a company and sometimes even an OS.
4133da084b3Smrg	386bsd)
4143da084b3Smrg		basic_machine=i386-unknown
4153da084b3Smrg		os=-bsd
4163da084b3Smrg		;;
4173da084b3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4183da084b3Smrg		basic_machine=m68000-att
4193da084b3Smrg		;;
4203da084b3Smrg	3b*)
4213da084b3Smrg		basic_machine=we32k-att
4223da084b3Smrg		;;
4233da084b3Smrg	a29khif)
4243da084b3Smrg		basic_machine=a29k-amd
4253da084b3Smrg		os=-udi
4263da084b3Smrg		;;
4273da084b3Smrg    	abacus)
4283da084b3Smrg		basic_machine=abacus-unknown
4293da084b3Smrg		;;
4303da084b3Smrg	adobe68k)
4313da084b3Smrg		basic_machine=m68010-adobe
4323da084b3Smrg		os=-scout
4333da084b3Smrg		;;
4343da084b3Smrg	alliant | fx80)
4353da084b3Smrg		basic_machine=fx80-alliant
4363da084b3Smrg		;;
4373da084b3Smrg	altos | altos3068)
4383da084b3Smrg		basic_machine=m68k-altos
4393da084b3Smrg		;;
4403da084b3Smrg	am29k)
4413da084b3Smrg		basic_machine=a29k-none
4423da084b3Smrg		os=-bsd
4433da084b3Smrg		;;
4443da084b3Smrg	amd64)
4453da084b3Smrg		basic_machine=x86_64-pc
4463da084b3Smrg		;;
4473da084b3Smrg	amd64-*)
4483da084b3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4493da084b3Smrg		;;
4503da084b3Smrg	amdahl)
4513da084b3Smrg		basic_machine=580-amdahl
4523da084b3Smrg		os=-sysv
4533da084b3Smrg		;;
4543da084b3Smrg	amiga | amiga-*)
4553da084b3Smrg		basic_machine=m68k-unknown
4563da084b3Smrg		;;
4573da084b3Smrg	amigaos | amigados)
4583da084b3Smrg		basic_machine=m68k-unknown
4593da084b3Smrg		os=-amigaos
4603da084b3Smrg		;;
4613da084b3Smrg	amigaunix | amix)
4623da084b3Smrg		basic_machine=m68k-unknown
4633da084b3Smrg		os=-sysv4
4643da084b3Smrg		;;
4653da084b3Smrg	apollo68)
4663da084b3Smrg		basic_machine=m68k-apollo
4673da084b3Smrg		os=-sysv
4683da084b3Smrg		;;
4693da084b3Smrg	apollo68bsd)
4703da084b3Smrg		basic_machine=m68k-apollo
4713da084b3Smrg		os=-bsd
4723da084b3Smrg		;;
47355acc8fcSmrg	aros)
47455acc8fcSmrg		basic_machine=i386-pc
47555acc8fcSmrg		os=-aros
47655acc8fcSmrg		;;
4773da084b3Smrg	aux)
4783da084b3Smrg		basic_machine=m68k-apple
4793da084b3Smrg		os=-aux
4803da084b3Smrg		;;
4813da084b3Smrg	balance)
4823da084b3Smrg		basic_machine=ns32k-sequent
4833da084b3Smrg		os=-dynix
4843da084b3Smrg		;;
485d63fdb69Smrg	blackfin)
486d63fdb69Smrg		basic_machine=bfin-unknown
487d63fdb69Smrg		os=-linux
488d63fdb69Smrg		;;
489d63fdb69Smrg	blackfin-*)
490d63fdb69Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491d63fdb69Smrg		os=-linux
492d63fdb69Smrg		;;
49355acc8fcSmrg	bluegene*)
49455acc8fcSmrg		basic_machine=powerpc-ibm
49555acc8fcSmrg		os=-cnk
49655acc8fcSmrg		;;
49755acc8fcSmrg	c54x-*)
49855acc8fcSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49955acc8fcSmrg		;;
50055acc8fcSmrg	c55x-*)
50155acc8fcSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50255acc8fcSmrg		;;
50355acc8fcSmrg	c6x-*)
50455acc8fcSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50555acc8fcSmrg		;;
5063da084b3Smrg	c90)
5073da084b3Smrg		basic_machine=c90-cray
5083da084b3Smrg		os=-unicos
5093da084b3Smrg		;;
51055acc8fcSmrg        cegcc)
51155acc8fcSmrg		basic_machine=arm-unknown
51255acc8fcSmrg		os=-cegcc
51355acc8fcSmrg		;;
5143da084b3Smrg	convex-c1)
5153da084b3Smrg		basic_machine=c1-convex
5163da084b3Smrg		os=-bsd
5173da084b3Smrg		;;
5183da084b3Smrg	convex-c2)
5193da084b3Smrg		basic_machine=c2-convex
5203da084b3Smrg		os=-bsd
5213da084b3Smrg		;;
5223da084b3Smrg	convex-c32)
5233da084b3Smrg		basic_machine=c32-convex
5243da084b3Smrg		os=-bsd
5253da084b3Smrg		;;
5263da084b3Smrg	convex-c34)
5273da084b3Smrg		basic_machine=c34-convex
5283da084b3Smrg		os=-bsd
5293da084b3Smrg		;;
5303da084b3Smrg	convex-c38)
5313da084b3Smrg		basic_machine=c38-convex
5323da084b3Smrg		os=-bsd
5333da084b3Smrg		;;
5343da084b3Smrg	cray | j90)
5353da084b3Smrg		basic_machine=j90-cray
5363da084b3Smrg		os=-unicos
5373da084b3Smrg		;;
5383da084b3Smrg	craynv)
5393da084b3Smrg		basic_machine=craynv-cray
5403da084b3Smrg		os=-unicosmp
5413da084b3Smrg		;;
542d63fdb69Smrg	cr16)
543d63fdb69Smrg		basic_machine=cr16-unknown
5443da084b3Smrg		os=-elf
5453da084b3Smrg		;;
5463da084b3Smrg	crds | unos)
5473da084b3Smrg		basic_machine=m68k-crds
5483da084b3Smrg		;;
5493da084b3Smrg	crisv32 | crisv32-* | etraxfs*)
5503da084b3Smrg		basic_machine=crisv32-axis
5513da084b3Smrg		;;
5523da084b3Smrg	cris | cris-* | etrax*)
5533da084b3Smrg		basic_machine=cris-axis
5543da084b3Smrg		;;
5553da084b3Smrg	crx)
5563da084b3Smrg		basic_machine=crx-unknown
5573da084b3Smrg		os=-elf
5583da084b3Smrg		;;
5593da084b3Smrg	da30 | da30-*)
5603da084b3Smrg		basic_machine=m68k-da30
5613da084b3Smrg		;;
5623da084b3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5633da084b3Smrg		basic_machine=mips-dec
5643da084b3Smrg		;;
5653da084b3Smrg	decsystem10* | dec10*)
5663da084b3Smrg		basic_machine=pdp10-dec
5673da084b3Smrg		os=-tops10
5683da084b3Smrg		;;
5693da084b3Smrg	decsystem20* | dec20*)
5703da084b3Smrg		basic_machine=pdp10-dec
5713da084b3Smrg		os=-tops20
5723da084b3Smrg		;;
5733da084b3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5743da084b3Smrg	      | 3300-motorola | delta-motorola)
5753da084b3Smrg		basic_machine=m68k-motorola
5763da084b3Smrg		;;
5773da084b3Smrg	delta88)
5783da084b3Smrg		basic_machine=m88k-motorola
5793da084b3Smrg		os=-sysv3
5803da084b3Smrg		;;
58155acc8fcSmrg	dicos)
58255acc8fcSmrg		basic_machine=i686-pc
58355acc8fcSmrg		os=-dicos
58455acc8fcSmrg		;;
5853da084b3Smrg	djgpp)
5863da084b3Smrg		basic_machine=i586-pc
5873da084b3Smrg		os=-msdosdjgpp
5883da084b3Smrg		;;
5893da084b3Smrg	dpx20 | dpx20-*)
5903da084b3Smrg		basic_machine=rs6000-bull
5913da084b3Smrg		os=-bosx
5923da084b3Smrg		;;
5933da084b3Smrg	dpx2* | dpx2*-bull)
5943da084b3Smrg		basic_machine=m68k-bull
5953da084b3Smrg		os=-sysv3
5963da084b3Smrg		;;
5973da084b3Smrg	ebmon29k)
5983da084b3Smrg		basic_machine=a29k-amd
5993da084b3Smrg		os=-ebmon
6003da084b3Smrg		;;
6013da084b3Smrg	elxsi)
6023da084b3Smrg		basic_machine=elxsi-elxsi
6033da084b3Smrg		os=-bsd
6043da084b3Smrg		;;
6053da084b3Smrg	encore | umax | mmax)
6063da084b3Smrg		basic_machine=ns32k-encore
6073da084b3Smrg		;;
6083da084b3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6093da084b3Smrg		basic_machine=m68k-ericsson
6103da084b3Smrg		os=-ose
6113da084b3Smrg		;;
6123da084b3Smrg	fx2800)
6133da084b3Smrg		basic_machine=i860-alliant
6143da084b3Smrg		;;
6153da084b3Smrg	genix)
6163da084b3Smrg		basic_machine=ns32k-ns
6173da084b3Smrg		;;
6183da084b3Smrg	gmicro)
6193da084b3Smrg		basic_machine=tron-gmicro
6203da084b3Smrg		os=-sysv
6213da084b3Smrg		;;
6223da084b3Smrg	go32)
6233da084b3Smrg		basic_machine=i386-pc
6243da084b3Smrg		os=-go32
6253da084b3Smrg		;;
6263da084b3Smrg	h3050r* | hiux*)
6273da084b3Smrg		basic_machine=hppa1.1-hitachi
6283da084b3Smrg		os=-hiuxwe2
6293da084b3Smrg		;;
6303da084b3Smrg	h8300hms)
6313da084b3Smrg		basic_machine=h8300-hitachi
6323da084b3Smrg		os=-hms
6333da084b3Smrg		;;
6343da084b3Smrg	h8300xray)
6353da084b3Smrg		basic_machine=h8300-hitachi
6363da084b3Smrg		os=-xray
6373da084b3Smrg		;;
6383da084b3Smrg	h8500hms)
6393da084b3Smrg		basic_machine=h8500-hitachi
6403da084b3Smrg		os=-hms
6413da084b3Smrg		;;
6423da084b3Smrg	harris)
6433da084b3Smrg		basic_machine=m88k-harris
6443da084b3Smrg		os=-sysv3
6453da084b3Smrg		;;
6463da084b3Smrg	hp300-*)
6473da084b3Smrg		basic_machine=m68k-hp
6483da084b3Smrg		;;
6493da084b3Smrg	hp300bsd)
6503da084b3Smrg		basic_machine=m68k-hp
6513da084b3Smrg		os=-bsd
6523da084b3Smrg		;;
6533da084b3Smrg	hp300hpux)
6543da084b3Smrg		basic_machine=m68k-hp
6553da084b3Smrg		os=-hpux
6563da084b3Smrg		;;
6573da084b3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6583da084b3Smrg		basic_machine=hppa1.0-hp
6593da084b3Smrg		;;
6603da084b3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6613da084b3Smrg		basic_machine=m68000-hp
6623da084b3Smrg		;;
6633da084b3Smrg	hp9k3[2-9][0-9])
6643da084b3Smrg		basic_machine=m68k-hp
6653da084b3Smrg		;;
6663da084b3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6673da084b3Smrg		basic_machine=hppa1.0-hp
6683da084b3Smrg		;;
6693da084b3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6703da084b3Smrg		basic_machine=hppa1.1-hp
6713da084b3Smrg		;;
6723da084b3Smrg	hp9k78[0-9] | hp78[0-9])
6733da084b3Smrg		# FIXME: really hppa2.0-hp
6743da084b3Smrg		basic_machine=hppa1.1-hp
6753da084b3Smrg		;;
6763da084b3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6773da084b3Smrg		# FIXME: really hppa2.0-hp
6783da084b3Smrg		basic_machine=hppa1.1-hp
6793da084b3Smrg		;;
6803da084b3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6813da084b3Smrg		basic_machine=hppa1.1-hp
6823da084b3Smrg		;;
6833da084b3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6843da084b3Smrg		basic_machine=hppa1.0-hp
6853da084b3Smrg		;;
6863da084b3Smrg	hppa-next)
6873da084b3Smrg		os=-nextstep3
6883da084b3Smrg		;;
6893da084b3Smrg	hppaosf)
6903da084b3Smrg		basic_machine=hppa1.1-hp
6913da084b3Smrg		os=-osf
6923da084b3Smrg		;;
6933da084b3Smrg	hppro)
6943da084b3Smrg		basic_machine=hppa1.1-hp
6953da084b3Smrg		os=-proelf
6963da084b3Smrg		;;
6973da084b3Smrg	i370-ibm* | ibm*)
6983da084b3Smrg		basic_machine=i370-ibm
6993da084b3Smrg		;;
7003da084b3Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7013da084b3Smrg	i*86v32)
7023da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7033da084b3Smrg		os=-sysv32
7043da084b3Smrg		;;
7053da084b3Smrg	i*86v4*)
7063da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7073da084b3Smrg		os=-sysv4
7083da084b3Smrg		;;
7093da084b3Smrg	i*86v)
7103da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7113da084b3Smrg		os=-sysv
7123da084b3Smrg		;;
7133da084b3Smrg	i*86sol2)
7143da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7153da084b3Smrg		os=-solaris2
7163da084b3Smrg		;;
7173da084b3Smrg	i386mach)
7183da084b3Smrg		basic_machine=i386-mach
7193da084b3Smrg		os=-mach
7203da084b3Smrg		;;
7213da084b3Smrg	i386-vsta | vsta)
7223da084b3Smrg		basic_machine=i386-unknown
7233da084b3Smrg		os=-vsta
7243da084b3Smrg		;;
7253da084b3Smrg	iris | iris4d)
7263da084b3Smrg		basic_machine=mips-sgi
7273da084b3Smrg		case $os in
7283da084b3Smrg		    -irix*)
7293da084b3Smrg			;;
7303da084b3Smrg		    *)
7313da084b3Smrg			os=-irix4
7323da084b3Smrg			;;
7333da084b3Smrg		esac
7343da084b3Smrg		;;
7353da084b3Smrg	isi68 | isi)
7363da084b3Smrg		basic_machine=m68k-isi
7373da084b3Smrg		os=-sysv
7383da084b3Smrg		;;
739d63fdb69Smrg	m68knommu)
740d63fdb69Smrg		basic_machine=m68k-unknown
741d63fdb69Smrg		os=-linux
742d63fdb69Smrg		;;
743d63fdb69Smrg	m68knommu-*)
744d63fdb69Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745d63fdb69Smrg		os=-linux
746d63fdb69Smrg		;;
7473da084b3Smrg	m88k-omron*)
7483da084b3Smrg		basic_machine=m88k-omron
7493da084b3Smrg		;;
7503da084b3Smrg	magnum | m3230)
7513da084b3Smrg		basic_machine=mips-mips
7523da084b3Smrg		os=-sysv
7533da084b3Smrg		;;
7543da084b3Smrg	merlin)
7553da084b3Smrg		basic_machine=ns32k-utek
7563da084b3Smrg		os=-sysv
7573da084b3Smrg		;;
75855acc8fcSmrg        microblaze)
75955acc8fcSmrg		basic_machine=microblaze-xilinx
76055acc8fcSmrg		;;
7613da084b3Smrg	mingw32)
7623da084b3Smrg		basic_machine=i386-pc
7633da084b3Smrg		os=-mingw32
7643da084b3Smrg		;;
765d63fdb69Smrg	mingw32ce)
766d63fdb69Smrg		basic_machine=arm-unknown
767d63fdb69Smrg		os=-mingw32ce
768d63fdb69Smrg		;;
7693da084b3Smrg	miniframe)
7703da084b3Smrg		basic_machine=m68000-convergent
7713da084b3Smrg		;;
7723da084b3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7733da084b3Smrg		basic_machine=m68k-atari
7743da084b3Smrg		os=-mint
7753da084b3Smrg		;;
7763da084b3Smrg	mips3*-*)
7773da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7783da084b3Smrg		;;
7793da084b3Smrg	mips3*)
7803da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7813da084b3Smrg		;;
7823da084b3Smrg	monitor)
7833da084b3Smrg		basic_machine=m68k-rom68k
7843da084b3Smrg		os=-coff
7853da084b3Smrg		;;
7863da084b3Smrg	morphos)
7873da084b3Smrg		basic_machine=powerpc-unknown
7883da084b3Smrg		os=-morphos
7893da084b3Smrg		;;
7903da084b3Smrg	msdos)
7913da084b3Smrg		basic_machine=i386-pc
7923da084b3Smrg		os=-msdos
7933da084b3Smrg		;;
7943da084b3Smrg	ms1-*)
7953da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7963da084b3Smrg		;;
7973da084b3Smrg	mvs)
7983da084b3Smrg		basic_machine=i370-ibm
7993da084b3Smrg		os=-mvs
8003da084b3Smrg		;;
8013da084b3Smrg	ncr3000)
8023da084b3Smrg		basic_machine=i486-ncr
8033da084b3Smrg		os=-sysv4
8043da084b3Smrg		;;
8053da084b3Smrg	netbsd386)
8063da084b3Smrg		basic_machine=i386-unknown
8073da084b3Smrg		os=-netbsd
8083da084b3Smrg		;;
8093da084b3Smrg	netwinder)
8103da084b3Smrg		basic_machine=armv4l-rebel
8113da084b3Smrg		os=-linux
8123da084b3Smrg		;;
8133da084b3Smrg	news | news700 | news800 | news900)
8143da084b3Smrg		basic_machine=m68k-sony
8153da084b3Smrg		os=-newsos
8163da084b3Smrg		;;
8173da084b3Smrg	news1000)
8183da084b3Smrg		basic_machine=m68030-sony
8193da084b3Smrg		os=-newsos
8203da084b3Smrg		;;
8213da084b3Smrg	news-3600 | risc-news)
8223da084b3Smrg		basic_machine=mips-sony
8233da084b3Smrg		os=-newsos
8243da084b3Smrg		;;
8253da084b3Smrg	necv70)
8263da084b3Smrg		basic_machine=v70-nec
8273da084b3Smrg		os=-sysv
8283da084b3Smrg		;;
8293da084b3Smrg	next | m*-next )
8303da084b3Smrg		basic_machine=m68k-next
8313da084b3Smrg		case $os in
8323da084b3Smrg		    -nextstep* )
8333da084b3Smrg			;;
8343da084b3Smrg		    -ns2*)
8353da084b3Smrg		      os=-nextstep2
8363da084b3Smrg			;;
8373da084b3Smrg		    *)
8383da084b3Smrg		      os=-nextstep3
8393da084b3Smrg			;;
8403da084b3Smrg		esac
8413da084b3Smrg		;;
8423da084b3Smrg	nh3000)
8433da084b3Smrg		basic_machine=m68k-harris
8443da084b3Smrg		os=-cxux
8453da084b3Smrg		;;
8463da084b3Smrg	nh[45]000)
8473da084b3Smrg		basic_machine=m88k-harris
8483da084b3Smrg		os=-cxux
8493da084b3Smrg		;;
8503da084b3Smrg	nindy960)
8513da084b3Smrg		basic_machine=i960-intel
8523da084b3Smrg		os=-nindy
8533da084b3Smrg		;;
8543da084b3Smrg	mon960)
8553da084b3Smrg		basic_machine=i960-intel
8563da084b3Smrg		os=-mon960
8573da084b3Smrg		;;
8583da084b3Smrg	nonstopux)
8593da084b3Smrg		basic_machine=mips-compaq
8603da084b3Smrg		os=-nonstopux
8613da084b3Smrg		;;
8623da084b3Smrg	np1)
8633da084b3Smrg		basic_machine=np1-gould
8643da084b3Smrg		;;
86555acc8fcSmrg        neo-tandem)
86655acc8fcSmrg		basic_machine=neo-tandem
86755acc8fcSmrg		;;
86855acc8fcSmrg        nse-tandem)
86955acc8fcSmrg		basic_machine=nse-tandem
87055acc8fcSmrg		;;
8713da084b3Smrg	nsr-tandem)
8723da084b3Smrg		basic_machine=nsr-tandem
8733da084b3Smrg		;;
8743da084b3Smrg	op50n-* | op60c-*)
8753da084b3Smrg		basic_machine=hppa1.1-oki
8763da084b3Smrg		os=-proelf
8773da084b3Smrg		;;
8783da084b3Smrg	openrisc | openrisc-*)
8793da084b3Smrg		basic_machine=or32-unknown
8803da084b3Smrg		;;
8813da084b3Smrg	os400)
8823da084b3Smrg		basic_machine=powerpc-ibm
8833da084b3Smrg		os=-os400
8843da084b3Smrg		;;
8853da084b3Smrg	OSE68000 | ose68000)
8863da084b3Smrg		basic_machine=m68000-ericsson
8873da084b3Smrg		os=-ose
8883da084b3Smrg		;;
8893da084b3Smrg	os68k)
8903da084b3Smrg		basic_machine=m68k-none
8913da084b3Smrg		os=-os68k
8923da084b3Smrg		;;
8933da084b3Smrg	pa-hitachi)
8943da084b3Smrg		basic_machine=hppa1.1-hitachi
8953da084b3Smrg		os=-hiuxwe2
8963da084b3Smrg		;;
8973da084b3Smrg	paragon)
8983da084b3Smrg		basic_machine=i860-intel
8993da084b3Smrg		os=-osf
9003da084b3Smrg		;;
901d63fdb69Smrg	parisc)
902d63fdb69Smrg		basic_machine=hppa-unknown
903d63fdb69Smrg		os=-linux
904d63fdb69Smrg		;;
905d63fdb69Smrg	parisc-*)
906d63fdb69Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907d63fdb69Smrg		os=-linux
908d63fdb69Smrg		;;
9093da084b3Smrg	pbd)
9103da084b3Smrg		basic_machine=sparc-tti
9113da084b3Smrg		;;
9123da084b3Smrg	pbb)
9133da084b3Smrg		basic_machine=m68k-tti
9143da084b3Smrg		;;
9153da084b3Smrg	pc532 | pc532-*)
9163da084b3Smrg		basic_machine=ns32k-pc532
9173da084b3Smrg		;;
9183da084b3Smrg	pc98)
9193da084b3Smrg		basic_machine=i386-pc
9203da084b3Smrg		;;
9213da084b3Smrg	pc98-*)
9223da084b3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9233da084b3Smrg		;;
9243da084b3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9253da084b3Smrg		basic_machine=i586-pc
9263da084b3Smrg		;;
9273da084b3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9283da084b3Smrg		basic_machine=i686-pc
9293da084b3Smrg		;;
9303da084b3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9313da084b3Smrg		basic_machine=i686-pc
9323da084b3Smrg		;;
9333da084b3Smrg	pentium4)
9343da084b3Smrg		basic_machine=i786-pc
9353da084b3Smrg		;;
9363da084b3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9373da084b3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9383da084b3Smrg		;;
9393da084b3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9403da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9413da084b3Smrg		;;
9423da084b3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9433da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9443da084b3Smrg		;;
9453da084b3Smrg	pentium4-*)
9463da084b3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9473da084b3Smrg		;;
9483da084b3Smrg	pn)
9493da084b3Smrg		basic_machine=pn-gould
9503da084b3Smrg		;;
9513da084b3Smrg	power)	basic_machine=power-ibm
9523da084b3Smrg		;;
9533da084b3Smrg	ppc)	basic_machine=powerpc-unknown
9543da084b3Smrg		;;
9553da084b3Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9563da084b3Smrg		;;
9573da084b3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9583da084b3Smrg		basic_machine=powerpcle-unknown
9593da084b3Smrg		;;
9603da084b3Smrg	ppcle-* | powerpclittle-*)
9613da084b3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9623da084b3Smrg		;;
9633da084b3Smrg	ppc64)	basic_machine=powerpc64-unknown
9643da084b3Smrg		;;
9653da084b3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9663da084b3Smrg		;;
9673da084b3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9683da084b3Smrg		basic_machine=powerpc64le-unknown
9693da084b3Smrg		;;
9703da084b3Smrg	ppc64le-* | powerpc64little-*)
9713da084b3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9723da084b3Smrg		;;
9733da084b3Smrg	ps2)
9743da084b3Smrg		basic_machine=i386-ibm
9753da084b3Smrg		;;
9763da084b3Smrg	pw32)
9773da084b3Smrg		basic_machine=i586-unknown
9783da084b3Smrg		os=-pw32
9793da084b3Smrg		;;
9803da084b3Smrg	rdos)
9813da084b3Smrg		basic_machine=i386-pc
9823da084b3Smrg		os=-rdos
9833da084b3Smrg		;;
9843da084b3Smrg	rom68k)
9853da084b3Smrg		basic_machine=m68k-rom68k
9863da084b3Smrg		os=-coff
9873da084b3Smrg		;;
9883da084b3Smrg	rm[46]00)
9893da084b3Smrg		basic_machine=mips-siemens
9903da084b3Smrg		;;
9913da084b3Smrg	rtpc | rtpc-*)
9923da084b3Smrg		basic_machine=romp-ibm
9933da084b3Smrg		;;
9943da084b3Smrg	s390 | s390-*)
9953da084b3Smrg		basic_machine=s390-ibm
9963da084b3Smrg		;;
9973da084b3Smrg	s390x | s390x-*)
9983da084b3Smrg		basic_machine=s390x-ibm
9993da084b3Smrg		;;
10003da084b3Smrg	sa29200)
10013da084b3Smrg		basic_machine=a29k-amd
10023da084b3Smrg		os=-udi
10033da084b3Smrg		;;
10043da084b3Smrg	sb1)
10053da084b3Smrg		basic_machine=mipsisa64sb1-unknown
10063da084b3Smrg		;;
10073da084b3Smrg	sb1el)
10083da084b3Smrg		basic_machine=mipsisa64sb1el-unknown
10093da084b3Smrg		;;
1010d63fdb69Smrg	sde)
1011d63fdb69Smrg		basic_machine=mipsisa32-sde
1012d63fdb69Smrg		os=-elf
1013d63fdb69Smrg		;;
10143da084b3Smrg	sei)
10153da084b3Smrg		basic_machine=mips-sei
10163da084b3Smrg		os=-seiux
10173da084b3Smrg		;;
10183da084b3Smrg	sequent)
10193da084b3Smrg		basic_machine=i386-sequent
10203da084b3Smrg		;;
10213da084b3Smrg	sh)
10223da084b3Smrg		basic_machine=sh-hitachi
10233da084b3Smrg		os=-hms
10243da084b3Smrg		;;
1025d63fdb69Smrg	sh5el)
1026d63fdb69Smrg		basic_machine=sh5le-unknown
1027d63fdb69Smrg		;;
10283da084b3Smrg	sh64)
10293da084b3Smrg		basic_machine=sh64-unknown
10303da084b3Smrg		;;
10313da084b3Smrg	sparclite-wrs | simso-wrs)
10323da084b3Smrg		basic_machine=sparclite-wrs
10333da084b3Smrg		os=-vxworks
10343da084b3Smrg		;;
10353da084b3Smrg	sps7)
10363da084b3Smrg		basic_machine=m68k-bull
10373da084b3Smrg		os=-sysv2
10383da084b3Smrg		;;
10393da084b3Smrg	spur)
10403da084b3Smrg		basic_machine=spur-unknown
10413da084b3Smrg		;;
10423da084b3Smrg	st2000)
10433da084b3Smrg		basic_machine=m68k-tandem
10443da084b3Smrg		;;
10453da084b3Smrg	stratus)
10463da084b3Smrg		basic_machine=i860-stratus
10473da084b3Smrg		os=-sysv4
10483da084b3Smrg		;;
10493da084b3Smrg	sun2)
10503da084b3Smrg		basic_machine=m68000-sun
10513da084b3Smrg		;;
10523da084b3Smrg	sun2os3)
10533da084b3Smrg		basic_machine=m68000-sun
10543da084b3Smrg		os=-sunos3
10553da084b3Smrg		;;
10563da084b3Smrg	sun2os4)
10573da084b3Smrg		basic_machine=m68000-sun
10583da084b3Smrg		os=-sunos4
10593da084b3Smrg		;;
10603da084b3Smrg	sun3os3)
10613da084b3Smrg		basic_machine=m68k-sun
10623da084b3Smrg		os=-sunos3
10633da084b3Smrg		;;
10643da084b3Smrg	sun3os4)
10653da084b3Smrg		basic_machine=m68k-sun
10663da084b3Smrg		os=-sunos4
10673da084b3Smrg		;;
10683da084b3Smrg	sun4os3)
10693da084b3Smrg		basic_machine=sparc-sun
10703da084b3Smrg		os=-sunos3
10713da084b3Smrg		;;
10723da084b3Smrg	sun4os4)
10733da084b3Smrg		basic_machine=sparc-sun
10743da084b3Smrg		os=-sunos4
10753da084b3Smrg		;;
10763da084b3Smrg	sun4sol2)
10773da084b3Smrg		basic_machine=sparc-sun
10783da084b3Smrg		os=-solaris2
10793da084b3Smrg		;;
10803da084b3Smrg	sun3 | sun3-*)
10813da084b3Smrg		basic_machine=m68k-sun
10823da084b3Smrg		;;
10833da084b3Smrg	sun4)
10843da084b3Smrg		basic_machine=sparc-sun
10853da084b3Smrg		;;
10863da084b3Smrg	sun386 | sun386i | roadrunner)
10873da084b3Smrg		basic_machine=i386-sun
10883da084b3Smrg		;;
10893da084b3Smrg	sv1)
10903da084b3Smrg		basic_machine=sv1-cray
10913da084b3Smrg		os=-unicos
10923da084b3Smrg		;;
10933da084b3Smrg	symmetry)
10943da084b3Smrg		basic_machine=i386-sequent
10953da084b3Smrg		os=-dynix
10963da084b3Smrg		;;
10973da084b3Smrg	t3e)
10983da084b3Smrg		basic_machine=alphaev5-cray
10993da084b3Smrg		os=-unicos
11003da084b3Smrg		;;
11013da084b3Smrg	t90)
11023da084b3Smrg		basic_machine=t90-cray
11033da084b3Smrg		os=-unicos
11043da084b3Smrg		;;
110555acc8fcSmrg        # This must be matched before tile*.
110655acc8fcSmrg        tilegx*)
110755acc8fcSmrg		basic_machine=tilegx-unknown
110855acc8fcSmrg		os=-linux-gnu
11093da084b3Smrg		;;
1110d63fdb69Smrg	tile*)
1111d63fdb69Smrg		basic_machine=tile-unknown
1112d63fdb69Smrg		os=-linux-gnu
1113d63fdb69Smrg		;;
11143da084b3Smrg	tx39)
11153da084b3Smrg		basic_machine=mipstx39-unknown
11163da084b3Smrg		;;
11173da084b3Smrg	tx39el)
11183da084b3Smrg		basic_machine=mipstx39el-unknown
11193da084b3Smrg		;;
11203da084b3Smrg	toad1)
11213da084b3Smrg		basic_machine=pdp10-xkl
11223da084b3Smrg		os=-tops20
11233da084b3Smrg		;;
11243da084b3Smrg	tower | tower-32)
11253da084b3Smrg		basic_machine=m68k-ncr
11263da084b3Smrg		;;
11273da084b3Smrg	tpf)
11283da084b3Smrg		basic_machine=s390x-ibm
11293da084b3Smrg		os=-tpf
11303da084b3Smrg		;;
11313da084b3Smrg	udi29k)
11323da084b3Smrg		basic_machine=a29k-amd
11333da084b3Smrg		os=-udi
11343da084b3Smrg		;;
11353da084b3Smrg	ultra3)
11363da084b3Smrg		basic_machine=a29k-nyu
11373da084b3Smrg		os=-sym1
11383da084b3Smrg		;;
11393da084b3Smrg	v810 | necv810)
11403da084b3Smrg		basic_machine=v810-nec
11413da084b3Smrg		os=-none
11423da084b3Smrg		;;
11433da084b3Smrg	vaxv)
11443da084b3Smrg		basic_machine=vax-dec
11453da084b3Smrg		os=-sysv
11463da084b3Smrg		;;
11473da084b3Smrg	vms)
11483da084b3Smrg		basic_machine=vax-dec
11493da084b3Smrg		os=-vms
11503da084b3Smrg		;;
11513da084b3Smrg	vpp*|vx|vx-*)
11523da084b3Smrg		basic_machine=f301-fujitsu
11533da084b3Smrg		;;
11543da084b3Smrg	vxworks960)
11553da084b3Smrg		basic_machine=i960-wrs
11563da084b3Smrg		os=-vxworks
11573da084b3Smrg		;;
11583da084b3Smrg	vxworks68)
11593da084b3Smrg		basic_machine=m68k-wrs
11603da084b3Smrg		os=-vxworks
11613da084b3Smrg		;;
11623da084b3Smrg	vxworks29k)
11633da084b3Smrg		basic_machine=a29k-wrs
11643da084b3Smrg		os=-vxworks
11653da084b3Smrg		;;
11663da084b3Smrg	w65*)
11673da084b3Smrg		basic_machine=w65-wdc
11683da084b3Smrg		os=-none
11693da084b3Smrg		;;
11703da084b3Smrg	w89k-*)
11713da084b3Smrg		basic_machine=hppa1.1-winbond
11723da084b3Smrg		os=-proelf
11733da084b3Smrg		;;
11743da084b3Smrg	xbox)
11753da084b3Smrg		basic_machine=i686-pc
11763da084b3Smrg		os=-mingw32
11773da084b3Smrg		;;
11783da084b3Smrg	xps | xps100)
11793da084b3Smrg		basic_machine=xps100-honeywell
11803da084b3Smrg		;;
11813da084b3Smrg	ymp)
11823da084b3Smrg		basic_machine=ymp-cray
11833da084b3Smrg		os=-unicos
11843da084b3Smrg		;;
11853da084b3Smrg	z8k-*-coff)
11863da084b3Smrg		basic_machine=z8k-unknown
11873da084b3Smrg		os=-sim
11883da084b3Smrg		;;
118955acc8fcSmrg	z80-*-coff)
119055acc8fcSmrg		basic_machine=z80-unknown
119155acc8fcSmrg		os=-sim
119255acc8fcSmrg		;;
11933da084b3Smrg	none)
11943da084b3Smrg		basic_machine=none-none
11953da084b3Smrg		os=-none
11963da084b3Smrg		;;
11973da084b3Smrg
11983da084b3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11993da084b3Smrg# some cases the only manufacturer, in others, it is the most popular.
12003da084b3Smrg	w89k)
12013da084b3Smrg		basic_machine=hppa1.1-winbond
12023da084b3Smrg		;;
12033da084b3Smrg	op50n)
12043da084b3Smrg		basic_machine=hppa1.1-oki
12053da084b3Smrg		;;
12063da084b3Smrg	op60c)
12073da084b3Smrg		basic_machine=hppa1.1-oki
12083da084b3Smrg		;;
12093da084b3Smrg	romp)
12103da084b3Smrg		basic_machine=romp-ibm
12113da084b3Smrg		;;
12123da084b3Smrg	mmix)
12133da084b3Smrg		basic_machine=mmix-knuth
12143da084b3Smrg		;;
12153da084b3Smrg	rs6000)
12163da084b3Smrg		basic_machine=rs6000-ibm
12173da084b3Smrg		;;
12183da084b3Smrg	vax)
12193da084b3Smrg		basic_machine=vax-dec
12203da084b3Smrg		;;
12213da084b3Smrg	pdp10)
12223da084b3Smrg		# there are many clones, so DEC is not a safe bet
12233da084b3Smrg		basic_machine=pdp10-unknown
12243da084b3Smrg		;;
12253da084b3Smrg	pdp11)
12263da084b3Smrg		basic_machine=pdp11-dec
12273da084b3Smrg		;;
12283da084b3Smrg	we32k)
12293da084b3Smrg		basic_machine=we32k-att
12303da084b3Smrg		;;
123155acc8fcSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12323da084b3Smrg		basic_machine=sh-unknown
12333da084b3Smrg		;;
1234d63fdb69Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12353da084b3Smrg		basic_machine=sparc-sun
12363da084b3Smrg		;;
12373da084b3Smrg	cydra)
12383da084b3Smrg		basic_machine=cydra-cydrome
12393da084b3Smrg		;;
12403da084b3Smrg	orion)
12413da084b3Smrg		basic_machine=orion-highlevel
12423da084b3Smrg		;;
12433da084b3Smrg	orion105)
12443da084b3Smrg		basic_machine=clipper-highlevel
12453da084b3Smrg		;;
12463da084b3Smrg	mac | mpw | mac-mpw)
12473da084b3Smrg		basic_machine=m68k-apple
12483da084b3Smrg		;;
12493da084b3Smrg	pmac | pmac-mpw)
12503da084b3Smrg		basic_machine=powerpc-apple
12513da084b3Smrg		;;
12523da084b3Smrg	*-unknown)
12533da084b3Smrg		# Make sure to match an already-canonicalized machine name.
12543da084b3Smrg		;;
12553da084b3Smrg	*)
12563da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12573da084b3Smrg		exit 1
12583da084b3Smrg		;;
12593da084b3Smrgesac
12603da084b3Smrg
12613da084b3Smrg# Here we canonicalize certain aliases for manufacturers.
12623da084b3Smrgcase $basic_machine in
12633da084b3Smrg	*-digital*)
12643da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12653da084b3Smrg		;;
12663da084b3Smrg	*-commodore*)
12673da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12683da084b3Smrg		;;
12693da084b3Smrg	*)
12703da084b3Smrg		;;
12713da084b3Smrgesac
12723da084b3Smrg
12733da084b3Smrg# Decode manufacturer-specific aliases for certain operating systems.
12743da084b3Smrg
12753da084b3Smrgif [ x"$os" != x"" ]
12763da084b3Smrgthen
12773da084b3Smrgcase $os in
12783da084b3Smrg        # First match some system type aliases
12793da084b3Smrg        # that might get confused with valid system types.
12803da084b3Smrg	# -solaris* is a basic system type, with this one exception.
128155acc8fcSmrg        -auroraux)
128255acc8fcSmrg	        os=-auroraux
128355acc8fcSmrg		;;
12843da084b3Smrg	-solaris1 | -solaris1.*)
12853da084b3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12863da084b3Smrg		;;
12873da084b3Smrg	-solaris)
12883da084b3Smrg		os=-solaris2
12893da084b3Smrg		;;
12903da084b3Smrg	-svr4*)
12913da084b3Smrg		os=-sysv4
12923da084b3Smrg		;;
12933da084b3Smrg	-unixware*)
12943da084b3Smrg		os=-sysv4.2uw
12953da084b3Smrg		;;
12963da084b3Smrg	-gnu/linux*)
12973da084b3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12983da084b3Smrg		;;
12993da084b3Smrg	# First accept the basic system types.
13003da084b3Smrg	# The portable systems comes first.
13013da084b3Smrg	# Each alternative MUST END IN A *, to match a version number.
13023da084b3Smrg	# -sysv* is not here because it comes later, after sysvr4.
13033da084b3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130455acc8fcSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130555acc8fcSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130655acc8fcSmrg	      | -sym* | -kopensolaris* \
13073da084b3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
130855acc8fcSmrg	      | -aos* | -aros* \
13093da084b3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13103da084b3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13113da084b3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13123da084b3Smrg	      | -openbsd* | -solidbsd* \
13133da084b3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13143da084b3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13153da084b3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13163da084b3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
131755acc8fcSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13183da084b3Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131955acc8fcSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132055acc8fcSmrg	      | -linux-newlib* | -linux-uclibc* \
13213da084b3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13223da084b3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13233da084b3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13243da084b3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13253da084b3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13263da084b3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13273da084b3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132855acc8fcSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13293da084b3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13303da084b3Smrg		;;
13313da084b3Smrg	-qnx*)
13323da084b3Smrg		case $basic_machine in
13333da084b3Smrg		    x86-* | i*86-*)
13343da084b3Smrg			;;
13353da084b3Smrg		    *)
13363da084b3Smrg			os=-nto$os
13373da084b3Smrg			;;
13383da084b3Smrg		esac
13393da084b3Smrg		;;
13403da084b3Smrg	-nto-qnx*)
13413da084b3Smrg		;;
13423da084b3Smrg	-nto*)
13433da084b3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13443da084b3Smrg		;;
13453da084b3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13463da084b3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13473da084b3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13483da084b3Smrg		;;
13493da084b3Smrg	-mac*)
13503da084b3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13513da084b3Smrg		;;
13523da084b3Smrg	-linux-dietlibc)
13533da084b3Smrg		os=-linux-dietlibc
13543da084b3Smrg		;;
13553da084b3Smrg	-linux*)
13563da084b3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13573da084b3Smrg		;;
13583da084b3Smrg	-sunos5*)
13593da084b3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13603da084b3Smrg		;;
13613da084b3Smrg	-sunos6*)
13623da084b3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13633da084b3Smrg		;;
13643da084b3Smrg	-opened*)
13653da084b3Smrg		os=-openedition
13663da084b3Smrg		;;
13673da084b3Smrg        -os400*)
13683da084b3Smrg		os=-os400
13693da084b3Smrg		;;
13703da084b3Smrg	-wince*)
13713da084b3Smrg		os=-wince
13723da084b3Smrg		;;
13733da084b3Smrg	-osfrose*)
13743da084b3Smrg		os=-osfrose
13753da084b3Smrg		;;
13763da084b3Smrg	-osf*)
13773da084b3Smrg		os=-osf
13783da084b3Smrg		;;
13793da084b3Smrg	-utek*)
13803da084b3Smrg		os=-bsd
13813da084b3Smrg		;;
13823da084b3Smrg	-dynix*)
13833da084b3Smrg		os=-bsd
13843da084b3Smrg		;;
13853da084b3Smrg	-acis*)
13863da084b3Smrg		os=-aos
13873da084b3Smrg		;;
13883da084b3Smrg	-atheos*)
13893da084b3Smrg		os=-atheos
13903da084b3Smrg		;;
13913da084b3Smrg	-syllable*)
13923da084b3Smrg		os=-syllable
13933da084b3Smrg		;;
13943da084b3Smrg	-386bsd)
13953da084b3Smrg		os=-bsd
13963da084b3Smrg		;;
13973da084b3Smrg	-ctix* | -uts*)
13983da084b3Smrg		os=-sysv
13993da084b3Smrg		;;
14003da084b3Smrg	-nova*)
14013da084b3Smrg		os=-rtmk-nova
14023da084b3Smrg		;;
14033da084b3Smrg	-ns2 )
14043da084b3Smrg		os=-nextstep2
14053da084b3Smrg		;;
14063da084b3Smrg	-nsk*)
14073da084b3Smrg		os=-nsk
14083da084b3Smrg		;;
14093da084b3Smrg	# Preserve the version number of sinix5.
14103da084b3Smrg	-sinix5.*)
14113da084b3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14123da084b3Smrg		;;
14133da084b3Smrg	-sinix*)
14143da084b3Smrg		os=-sysv4
14153da084b3Smrg		;;
14163da084b3Smrg        -tpf*)
14173da084b3Smrg		os=-tpf
14183da084b3Smrg		;;
14193da084b3Smrg	-triton*)
14203da084b3Smrg		os=-sysv3
14213da084b3Smrg		;;
14223da084b3Smrg	-oss*)
14233da084b3Smrg		os=-sysv3
14243da084b3Smrg		;;
14253da084b3Smrg	-svr4)
14263da084b3Smrg		os=-sysv4
14273da084b3Smrg		;;
14283da084b3Smrg	-svr3)
14293da084b3Smrg		os=-sysv3
14303da084b3Smrg		;;
14313da084b3Smrg	-sysvr4)
14323da084b3Smrg		os=-sysv4
14333da084b3Smrg		;;
14343da084b3Smrg	# This must come after -sysvr4.
14353da084b3Smrg	-sysv*)
14363da084b3Smrg		;;
14373da084b3Smrg	-ose*)
14383da084b3Smrg		os=-ose
14393da084b3Smrg		;;
14403da084b3Smrg	-es1800*)
14413da084b3Smrg		os=-ose
14423da084b3Smrg		;;
14433da084b3Smrg	-xenix)
14443da084b3Smrg		os=-xenix
14453da084b3Smrg		;;
14463da084b3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14473da084b3Smrg		os=-mint
14483da084b3Smrg		;;
14493da084b3Smrg	-aros*)
14503da084b3Smrg		os=-aros
14513da084b3Smrg		;;
14523da084b3Smrg	-kaos*)
14533da084b3Smrg		os=-kaos
14543da084b3Smrg		;;
14553da084b3Smrg	-zvmoe)
14563da084b3Smrg		os=-zvmoe
14573da084b3Smrg		;;
145855acc8fcSmrg	-dicos*)
145955acc8fcSmrg		os=-dicos
146055acc8fcSmrg		;;
146155acc8fcSmrg        -nacl*)
146255acc8fcSmrg	        ;;
14633da084b3Smrg	-none)
14643da084b3Smrg		;;
14653da084b3Smrg	*)
14663da084b3Smrg		# Get rid of the `-' at the beginning of $os.
14673da084b3Smrg		os=`echo $os | sed 's/[^-]*-//'`
14683da084b3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14693da084b3Smrg		exit 1
14703da084b3Smrg		;;
14713da084b3Smrgesac
14723da084b3Smrgelse
14733da084b3Smrg
14743da084b3Smrg# Here we handle the default operating systems that come with various machines.
14753da084b3Smrg# The value should be what the vendor currently ships out the door with their
14763da084b3Smrg# machine or put another way, the most popular os provided with the machine.
14773da084b3Smrg
14783da084b3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14793da084b3Smrg# "-sun"), then you have to tell the case statement up towards the top
14803da084b3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14813da084b3Smrg# will signal an error saying that MANUFACTURER isn't an operating
14823da084b3Smrg# system, and we'll never get to this point.
14833da084b3Smrg
14843da084b3Smrgcase $basic_machine in
1485d63fdb69Smrg        score-*)
1486d63fdb69Smrg		os=-elf
1487d63fdb69Smrg		;;
1488d63fdb69Smrg        spu-*)
1489d63fdb69Smrg		os=-elf
1490d63fdb69Smrg		;;
14913da084b3Smrg	*-acorn)
14923da084b3Smrg		os=-riscix1.2
14933da084b3Smrg		;;
14943da084b3Smrg	arm*-rebel)
14953da084b3Smrg		os=-linux
14963da084b3Smrg		;;
14973da084b3Smrg	arm*-semi)
14983da084b3Smrg		os=-aout
14993da084b3Smrg		;;
1500d63fdb69Smrg        c4x-* | tic4x-*)
1501d63fdb69Smrg        	os=-coff
1502d63fdb69Smrg		;;
150355acc8fcSmrg	tic54x-*)
150455acc8fcSmrg		os=-coff
150555acc8fcSmrg		;;
150655acc8fcSmrg	tic55x-*)
150755acc8fcSmrg		os=-coff
150855acc8fcSmrg		;;
150955acc8fcSmrg	tic6x-*)
151055acc8fcSmrg		os=-coff
151155acc8fcSmrg		;;
15123da084b3Smrg	# This must come before the *-dec entry.
15133da084b3Smrg	pdp10-*)
15143da084b3Smrg		os=-tops20
15153da084b3Smrg		;;
15163da084b3Smrg	pdp11-*)
15173da084b3Smrg		os=-none
15183da084b3Smrg		;;
15193da084b3Smrg	*-dec | vax-*)
15203da084b3Smrg		os=-ultrix4.2
15213da084b3Smrg		;;
15223da084b3Smrg	m68*-apollo)
15233da084b3Smrg		os=-domain
15243da084b3Smrg		;;
15253da084b3Smrg	i386-sun)
15263da084b3Smrg		os=-sunos4.0.2
15273da084b3Smrg		;;
15283da084b3Smrg	m68000-sun)
15293da084b3Smrg		os=-sunos3
15303da084b3Smrg		# This also exists in the configure program, but was not the
15313da084b3Smrg		# default.
15323da084b3Smrg		# os=-sunos4
15333da084b3Smrg		;;
15343da084b3Smrg	m68*-cisco)
15353da084b3Smrg		os=-aout
15363da084b3Smrg		;;
1537d63fdb69Smrg        mep-*)
1538d63fdb69Smrg		os=-elf
1539d63fdb69Smrg		;;
15403da084b3Smrg	mips*-cisco)
15413da084b3Smrg		os=-elf
15423da084b3Smrg		;;
15433da084b3Smrg	mips*-*)
15443da084b3Smrg		os=-elf
15453da084b3Smrg		;;
15463da084b3Smrg	or32-*)
15473da084b3Smrg		os=-coff
15483da084b3Smrg		;;
15493da084b3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15503da084b3Smrg		os=-sysv3
15513da084b3Smrg		;;
15523da084b3Smrg	sparc-* | *-sun)
15533da084b3Smrg		os=-sunos4.1.1
15543da084b3Smrg		;;
15553da084b3Smrg	*-be)
15563da084b3Smrg		os=-beos
15573da084b3Smrg		;;
15583da084b3Smrg	*-haiku)
15593da084b3Smrg		os=-haiku
15603da084b3Smrg		;;
15613da084b3Smrg	*-ibm)
15623da084b3Smrg		os=-aix
15633da084b3Smrg		;;
15643da084b3Smrg    	*-knuth)
15653da084b3Smrg		os=-mmixware
15663da084b3Smrg		;;
15673da084b3Smrg	*-wec)
15683da084b3Smrg		os=-proelf
15693da084b3Smrg		;;
15703da084b3Smrg	*-winbond)
15713da084b3Smrg		os=-proelf
15723da084b3Smrg		;;
15733da084b3Smrg	*-oki)
15743da084b3Smrg		os=-proelf
15753da084b3Smrg		;;
15763da084b3Smrg	*-hp)
15773da084b3Smrg		os=-hpux
15783da084b3Smrg		;;
15793da084b3Smrg	*-hitachi)
15803da084b3Smrg		os=-hiux
15813da084b3Smrg		;;
15823da084b3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15833da084b3Smrg		os=-sysv
15843da084b3Smrg		;;
15853da084b3Smrg	*-cbm)
15863da084b3Smrg		os=-amigaos
15873da084b3Smrg		;;
15883da084b3Smrg	*-dg)
15893da084b3Smrg		os=-dgux
15903da084b3Smrg		;;
15913da084b3Smrg	*-dolphin)
15923da084b3Smrg		os=-sysv3
15933da084b3Smrg		;;
15943da084b3Smrg	m68k-ccur)
15953da084b3Smrg		os=-rtu
15963da084b3Smrg		;;
15973da084b3Smrg	m88k-omron*)
15983da084b3Smrg		os=-luna
15993da084b3Smrg		;;
16003da084b3Smrg	*-next )
16013da084b3Smrg		os=-nextstep
16023da084b3Smrg		;;
16033da084b3Smrg	*-sequent)
16043da084b3Smrg		os=-ptx
16053da084b3Smrg		;;
16063da084b3Smrg	*-crds)
16073da084b3Smrg		os=-unos
16083da084b3Smrg		;;
16093da084b3Smrg	*-ns)
16103da084b3Smrg		os=-genix
16113da084b3Smrg		;;
16123da084b3Smrg	i370-*)
16133da084b3Smrg		os=-mvs
16143da084b3Smrg		;;
16153da084b3Smrg	*-next)
16163da084b3Smrg		os=-nextstep3
16173da084b3Smrg		;;
16183da084b3Smrg	*-gould)
16193da084b3Smrg		os=-sysv
16203da084b3Smrg		;;
16213da084b3Smrg	*-highlevel)
16223da084b3Smrg		os=-bsd
16233da084b3Smrg		;;
16243da084b3Smrg	*-encore)
16253da084b3Smrg		os=-bsd
16263da084b3Smrg		;;
16273da084b3Smrg	*-sgi)
16283da084b3Smrg		os=-irix
16293da084b3Smrg		;;
16303da084b3Smrg	*-siemens)
16313da084b3Smrg		os=-sysv4
16323da084b3Smrg		;;
16333da084b3Smrg	*-masscomp)
16343da084b3Smrg		os=-rtu
16353da084b3Smrg		;;
16363da084b3Smrg	f30[01]-fujitsu | f700-fujitsu)
16373da084b3Smrg		os=-uxpv
16383da084b3Smrg		;;
16393da084b3Smrg	*-rom68k)
16403da084b3Smrg		os=-coff
16413da084b3Smrg		;;
16423da084b3Smrg	*-*bug)
16433da084b3Smrg		os=-coff
16443da084b3Smrg		;;
16453da084b3Smrg	*-apple)
16463da084b3Smrg		os=-macos
16473da084b3Smrg		;;
16483da084b3Smrg	*-atari*)
16493da084b3Smrg		os=-mint
16503da084b3Smrg		;;
16513da084b3Smrg	*)
16523da084b3Smrg		os=-none
16533da084b3Smrg		;;
16543da084b3Smrgesac
16553da084b3Smrgfi
16563da084b3Smrg
16573da084b3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16583da084b3Smrg# manufacturer.  We pick the logical manufacturer.
16593da084b3Smrgvendor=unknown
16603da084b3Smrgcase $basic_machine in
16613da084b3Smrg	*-unknown)
16623da084b3Smrg		case $os in
16633da084b3Smrg			-riscix*)
16643da084b3Smrg				vendor=acorn
16653da084b3Smrg				;;
16663da084b3Smrg			-sunos*)
16673da084b3Smrg				vendor=sun
16683da084b3Smrg				;;
166955acc8fcSmrg			-cnk*|-aix*)
16703da084b3Smrg				vendor=ibm
16713da084b3Smrg				;;
16723da084b3Smrg			-beos*)
16733da084b3Smrg				vendor=be
16743da084b3Smrg				;;
16753da084b3Smrg			-hpux*)
16763da084b3Smrg				vendor=hp
16773da084b3Smrg				;;
16783da084b3Smrg			-mpeix*)
16793da084b3Smrg				vendor=hp
16803da084b3Smrg				;;
16813da084b3Smrg			-hiux*)
16823da084b3Smrg				vendor=hitachi
16833da084b3Smrg				;;
16843da084b3Smrg			-unos*)
16853da084b3Smrg				vendor=crds
16863da084b3Smrg				;;
16873da084b3Smrg			-dgux*)
16883da084b3Smrg				vendor=dg
16893da084b3Smrg				;;
16903da084b3Smrg			-luna*)
16913da084b3Smrg				vendor=omron
16923da084b3Smrg				;;
16933da084b3Smrg			-genix*)
16943da084b3Smrg				vendor=ns
16953da084b3Smrg				;;
16963da084b3Smrg			-mvs* | -opened*)
16973da084b3Smrg				vendor=ibm
16983da084b3Smrg				;;
16993da084b3Smrg			-os400*)
17003da084b3Smrg				vendor=ibm
17013da084b3Smrg				;;
17023da084b3Smrg			-ptx*)
17033da084b3Smrg				vendor=sequent
17043da084b3Smrg				;;
17053da084b3Smrg			-tpf*)
17063da084b3Smrg				vendor=ibm
17073da084b3Smrg				;;
17083da084b3Smrg			-vxsim* | -vxworks* | -windiss*)
17093da084b3Smrg				vendor=wrs
17103da084b3Smrg				;;
17113da084b3Smrg			-aux*)
17123da084b3Smrg				vendor=apple
17133da084b3Smrg				;;
17143da084b3Smrg			-hms*)
17153da084b3Smrg				vendor=hitachi
17163da084b3Smrg				;;
17173da084b3Smrg			-mpw* | -macos*)
17183da084b3Smrg				vendor=apple
17193da084b3Smrg				;;
17203da084b3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17213da084b3Smrg				vendor=atari
17223da084b3Smrg				;;
17233da084b3Smrg			-vos*)
17243da084b3Smrg				vendor=stratus
17253da084b3Smrg				;;
17263da084b3Smrg		esac
17273da084b3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17283da084b3Smrg		;;
17293da084b3Smrgesac
17303da084b3Smrg
17313da084b3Smrgecho $basic_machine$os
17323da084b3Smrgexit
17333da084b3Smrg
17343da084b3Smrg# Local variables:
17353da084b3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17363da084b3Smrg# time-stamp-start: "timestamp='"
17373da084b3Smrg# time-stamp-format: "%:y-%02m-%02d"
17383da084b3Smrg# time-stamp-end: "'"
17393da084b3Smrg# End:
1740