config.sub revision 48c85eb7
13da084b3Smrg#! /bin/sh
23da084b3Smrg# Configuration validation subroutine script.
33da084b3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
448c85eb7Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
548c85eb7Smrg#   2011 Free Software Foundation, Inc.
63da084b3Smrg
748c85eb7Smrgtimestamp='2011-11-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,
7948c85eb7Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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		;;
16148c85eb7Smrg	-bluegene*)
16248c85eb7Smrg		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		;;
17848c85eb7Smrg	-chorusrdb)
17948c85eb7Smrg		os=-chorusrdb
1803da084b3Smrg		basic_machine=$1
18148c85eb7Smrg		;;
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 \
25448c85eb7Smrg        | be32 | be64 \
2553da084b3Smrg	| bfin \
2563da084b3Smrg	| c4x | clipper \
2573da084b3Smrg	| d10v | d30v | dlx | dsp16xx \
25848c85eb7Smrg	| epiphany \
259d63fdb69Smrg	| fido | fr30 | frv \
2603da084b3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26148c85eb7Smrg	| hexagon \
2623da084b3Smrg	| i370 | i860 | i960 | ia64 \
2633da084b3Smrg	| ip2k | iq2000 \
26448c85eb7Smrg	| le32 | le64 \
26555acc8fcSmrg	| lm32 \
266d63fdb69Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26755acc8fcSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2683da084b3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2693da084b3Smrg	| mips16 \
2703da084b3Smrg	| mips64 | mips64el \
27155acc8fcSmrg	| mips64octeon | mips64octeonel \
2723da084b3Smrg	| mips64orion | mips64orionel \
27355acc8fcSmrg	| mips64r5900 | mips64r5900el \
27455acc8fcSmrg	| mips64vr | mips64vrel \
2753da084b3Smrg	| mips64vr4100 | mips64vr4100el \
2763da084b3Smrg	| mips64vr4300 | mips64vr4300el \
2773da084b3Smrg	| mips64vr5000 | mips64vr5000el \
2783da084b3Smrg	| mips64vr5900 | mips64vr5900el \
2793da084b3Smrg	| mipsisa32 | mipsisa32el \
2803da084b3Smrg	| mipsisa32r2 | mipsisa32r2el \
2813da084b3Smrg	| mipsisa64 | mipsisa64el \
2823da084b3Smrg	| mipsisa64r2 | mipsisa64r2el \
2833da084b3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2843da084b3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2853da084b3Smrg	| mipstx39 | mipstx39el \
2863da084b3Smrg	| mn10200 | mn10300 \
28755acc8fcSmrg	| moxie \
2883da084b3Smrg	| mt \
2893da084b3Smrg	| msp430 \
29055acc8fcSmrg	| nds32 | nds32le | nds32be \
2913da084b3Smrg	| nios | nios2 \
2923da084b3Smrg	| ns16k | ns32k \
29348c85eb7Smrg	| open8 \
2943da084b3Smrg	| or32 \
2953da084b3Smrg	| pdp10 | pdp11 | pj | pjl \
29648c85eb7Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
2973da084b3Smrg	| pyramid \
29848c85eb7Smrg	| rl78 | rx \
299d63fdb69Smrg	| score \
30055acc8fcSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3013da084b3Smrg	| sh64 | sh64le \
302d63fdb69Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303d63fdb69Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
30448c85eb7Smrg	| spu \
30548c85eb7Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30655acc8fcSmrg	| ubicom32 \
30748c85eb7Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3083da084b3Smrg	| we32k \
30948c85eb7Smrg	| x86 | xc16x | xstormy16 | xtensa \
31055acc8fcSmrg	| z8k | z80)
3113da084b3Smrg		basic_machine=$basic_machine-unknown
3123da084b3Smrg		;;
31355acc8fcSmrg	c54x)
31455acc8fcSmrg		basic_machine=tic54x-unknown
31555acc8fcSmrg		;;
31655acc8fcSmrg	c55x)
31755acc8fcSmrg		basic_machine=tic55x-unknown
31855acc8fcSmrg		;;
31955acc8fcSmrg	c6x)
32055acc8fcSmrg		basic_machine=tic6x-unknown
32155acc8fcSmrg		;;
32255acc8fcSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3233da084b3Smrg		# Motorola 68HC11/12.
3243da084b3Smrg		basic_machine=$basic_machine-unknown
3253da084b3Smrg		os=-none
3263da084b3Smrg		;;
3273da084b3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3283da084b3Smrg		;;
3293da084b3Smrg	ms1)
3303da084b3Smrg		basic_machine=mt-unknown
3313da084b3Smrg		;;
3323da084b3Smrg
33348c85eb7Smrg	strongarm | thumb | xscale)
33448c85eb7Smrg		basic_machine=arm-unknown
33548c85eb7Smrg		;;
33648c85eb7Smrg
33748c85eb7Smrg	xscaleeb)
33848c85eb7Smrg		basic_machine=armeb-unknown
33948c85eb7Smrg		;;
34048c85eb7Smrg
34148c85eb7Smrg	xscaleel)
34248c85eb7Smrg		basic_machine=armel-unknown
34348c85eb7Smrg		;;
34448c85eb7Smrg
3453da084b3Smrg	# We use `pc' rather than `unknown'
3463da084b3Smrg	# because (1) that's what they normally are, and
3473da084b3Smrg	# (2) the word "unknown" tends to confuse beginning users.
3483da084b3Smrg	i*86 | x86_64)
3493da084b3Smrg	  basic_machine=$basic_machine-pc
3503da084b3Smrg	  ;;
3513da084b3Smrg	# Object if more than one company name word.
3523da084b3Smrg	*-*-*)
3533da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3543da084b3Smrg		exit 1
3553da084b3Smrg		;;
3563da084b3Smrg	# Recognize the basic CPU types with company name.
3573da084b3Smrg	580-* \
3583da084b3Smrg	| a29k-* \
3593da084b3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3603da084b3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3613da084b3Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3623da084b3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
363d63fdb69Smrg	| avr-* | avr32-* \
36448c85eb7Smrg	| be32-* | be64-* \
3653da084b3Smrg	| bfin-* | bs2000-* \
36655acc8fcSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3673da084b3Smrg	| clipper-* | craynv-* | cydra-* \
3683da084b3Smrg	| d10v-* | d30v-* | dlx-* \
3693da084b3Smrg	| elxsi-* \
370d63fdb69Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3713da084b3Smrg	| h8300-* | h8500-* \
3723da084b3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
37348c85eb7Smrg	| hexagon-* \
3743da084b3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3753da084b3Smrg	| ip2k-* | iq2000-* \
37648c85eb7Smrg	| le32-* | le64-* \
37755acc8fcSmrg	| lm32-* \
378d63fdb69Smrg	| m32c-* | m32r-* | m32rle-* \
3793da084b3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
38055acc8fcSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3813da084b3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3823da084b3Smrg	| mips16-* \
3833da084b3Smrg	| mips64-* | mips64el-* \
38455acc8fcSmrg	| mips64octeon-* | mips64octeonel-* \
3853da084b3Smrg	| mips64orion-* | mips64orionel-* \
38655acc8fcSmrg	| mips64r5900-* | mips64r5900el-* \
38755acc8fcSmrg	| mips64vr-* | mips64vrel-* \
3883da084b3Smrg	| mips64vr4100-* | mips64vr4100el-* \
3893da084b3Smrg	| mips64vr4300-* | mips64vr4300el-* \
3903da084b3Smrg	| mips64vr5000-* | mips64vr5000el-* \
3913da084b3Smrg	| mips64vr5900-* | mips64vr5900el-* \
3923da084b3Smrg	| mipsisa32-* | mipsisa32el-* \
3933da084b3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3943da084b3Smrg	| mipsisa64-* | mipsisa64el-* \
3953da084b3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3963da084b3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3973da084b3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3983da084b3Smrg	| mipstx39-* | mipstx39el-* \
3993da084b3Smrg	| mmix-* \
4003da084b3Smrg	| mt-* \
4013da084b3Smrg	| msp430-* \
40255acc8fcSmrg	| nds32-* | nds32le-* | nds32be-* \
4033da084b3Smrg	| nios-* | nios2-* \
4043da084b3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
40548c85eb7Smrg	| open8-* \
4063da084b3Smrg	| orion-* \
4073da084b3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
40848c85eb7Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4093da084b3Smrg	| pyramid-* \
41048c85eb7Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
41155acc8fcSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4123da084b3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
413d63fdb69Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4143da084b3Smrg	| sparclite-* \
41548c85eb7Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
41648c85eb7Smrg	| tahoe-* \
4173da084b3Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
41848c85eb7Smrg	| tile*-* \
4193da084b3Smrg	| tron-* \
42055acc8fcSmrg	| ubicom32-* \
42148c85eb7Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
42248c85eb7Smrg	| vax-* \
4233da084b3Smrg	| we32k-* \
42448c85eb7Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425d63fdb69Smrg	| xstormy16-* | xtensa*-* \
4263da084b3Smrg	| ymp-* \
42755acc8fcSmrg	| z8k-* | z80-*)
4283da084b3Smrg		;;
429d63fdb69Smrg	# Recognize the basic CPU types without company name, with glob match.
430d63fdb69Smrg	xtensa*)
431d63fdb69Smrg		basic_machine=$basic_machine-unknown
4323da084b3Smrg		;;
4333da084b3Smrg	# Recognize the various machine names and aliases which stand
4343da084b3Smrg	# for a CPU type and a company and sometimes even an OS.
4353da084b3Smrg	386bsd)
4363da084b3Smrg		basic_machine=i386-unknown
4373da084b3Smrg		os=-bsd
4383da084b3Smrg		;;
4393da084b3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4403da084b3Smrg		basic_machine=m68000-att
4413da084b3Smrg		;;
4423da084b3Smrg	3b*)
4433da084b3Smrg		basic_machine=we32k-att
4443da084b3Smrg		;;
4453da084b3Smrg	a29khif)
4463da084b3Smrg		basic_machine=a29k-amd
4473da084b3Smrg		os=-udi
4483da084b3Smrg		;;
44948c85eb7Smrg	abacus)
4503da084b3Smrg		basic_machine=abacus-unknown
4513da084b3Smrg		;;
4523da084b3Smrg	adobe68k)
4533da084b3Smrg		basic_machine=m68010-adobe
4543da084b3Smrg		os=-scout
4553da084b3Smrg		;;
4563da084b3Smrg	alliant | fx80)
4573da084b3Smrg		basic_machine=fx80-alliant
4583da084b3Smrg		;;
4593da084b3Smrg	altos | altos3068)
4603da084b3Smrg		basic_machine=m68k-altos
4613da084b3Smrg		;;
4623da084b3Smrg	am29k)
4633da084b3Smrg		basic_machine=a29k-none
4643da084b3Smrg		os=-bsd
4653da084b3Smrg		;;
4663da084b3Smrg	amd64)
4673da084b3Smrg		basic_machine=x86_64-pc
4683da084b3Smrg		;;
4693da084b3Smrg	amd64-*)
4703da084b3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4713da084b3Smrg		;;
4723da084b3Smrg	amdahl)
4733da084b3Smrg		basic_machine=580-amdahl
4743da084b3Smrg		os=-sysv
4753da084b3Smrg		;;
4763da084b3Smrg	amiga | amiga-*)
4773da084b3Smrg		basic_machine=m68k-unknown
4783da084b3Smrg		;;
4793da084b3Smrg	amigaos | amigados)
4803da084b3Smrg		basic_machine=m68k-unknown
4813da084b3Smrg		os=-amigaos
4823da084b3Smrg		;;
4833da084b3Smrg	amigaunix | amix)
4843da084b3Smrg		basic_machine=m68k-unknown
4853da084b3Smrg		os=-sysv4
4863da084b3Smrg		;;
4873da084b3Smrg	apollo68)
4883da084b3Smrg		basic_machine=m68k-apollo
4893da084b3Smrg		os=-sysv
4903da084b3Smrg		;;
4913da084b3Smrg	apollo68bsd)
4923da084b3Smrg		basic_machine=m68k-apollo
4933da084b3Smrg		os=-bsd
4943da084b3Smrg		;;
49555acc8fcSmrg	aros)
49655acc8fcSmrg		basic_machine=i386-pc
49755acc8fcSmrg		os=-aros
49855acc8fcSmrg		;;
4993da084b3Smrg	aux)
5003da084b3Smrg		basic_machine=m68k-apple
5013da084b3Smrg		os=-aux
5023da084b3Smrg		;;
5033da084b3Smrg	balance)
5043da084b3Smrg		basic_machine=ns32k-sequent
5053da084b3Smrg		os=-dynix
5063da084b3Smrg		;;
507d63fdb69Smrg	blackfin)
508d63fdb69Smrg		basic_machine=bfin-unknown
509d63fdb69Smrg		os=-linux
510d63fdb69Smrg		;;
511d63fdb69Smrg	blackfin-*)
512d63fdb69Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513d63fdb69Smrg		os=-linux
514d63fdb69Smrg		;;
51555acc8fcSmrg	bluegene*)
51655acc8fcSmrg		basic_machine=powerpc-ibm
51755acc8fcSmrg		os=-cnk
51855acc8fcSmrg		;;
51955acc8fcSmrg	c54x-*)
52055acc8fcSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
52155acc8fcSmrg		;;
52255acc8fcSmrg	c55x-*)
52355acc8fcSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
52455acc8fcSmrg		;;
52555acc8fcSmrg	c6x-*)
52655acc8fcSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
52755acc8fcSmrg		;;
5283da084b3Smrg	c90)
5293da084b3Smrg		basic_machine=c90-cray
5303da084b3Smrg		os=-unicos
5313da084b3Smrg		;;
53248c85eb7Smrg	cegcc)
53355acc8fcSmrg		basic_machine=arm-unknown
53455acc8fcSmrg		os=-cegcc
53555acc8fcSmrg		;;
5363da084b3Smrg	convex-c1)
5373da084b3Smrg		basic_machine=c1-convex
5383da084b3Smrg		os=-bsd
5393da084b3Smrg		;;
5403da084b3Smrg	convex-c2)
5413da084b3Smrg		basic_machine=c2-convex
5423da084b3Smrg		os=-bsd
5433da084b3Smrg		;;
5443da084b3Smrg	convex-c32)
5453da084b3Smrg		basic_machine=c32-convex
5463da084b3Smrg		os=-bsd
5473da084b3Smrg		;;
5483da084b3Smrg	convex-c34)
5493da084b3Smrg		basic_machine=c34-convex
5503da084b3Smrg		os=-bsd
5513da084b3Smrg		;;
5523da084b3Smrg	convex-c38)
5533da084b3Smrg		basic_machine=c38-convex
5543da084b3Smrg		os=-bsd
5553da084b3Smrg		;;
5563da084b3Smrg	cray | j90)
5573da084b3Smrg		basic_machine=j90-cray
5583da084b3Smrg		os=-unicos
5593da084b3Smrg		;;
5603da084b3Smrg	craynv)
5613da084b3Smrg		basic_machine=craynv-cray
5623da084b3Smrg		os=-unicosmp
5633da084b3Smrg		;;
56448c85eb7Smrg	cr16 | cr16-*)
565d63fdb69Smrg		basic_machine=cr16-unknown
5663da084b3Smrg		os=-elf
5673da084b3Smrg		;;
5683da084b3Smrg	crds | unos)
5693da084b3Smrg		basic_machine=m68k-crds
5703da084b3Smrg		;;
5713da084b3Smrg	crisv32 | crisv32-* | etraxfs*)
5723da084b3Smrg		basic_machine=crisv32-axis
5733da084b3Smrg		;;
5743da084b3Smrg	cris | cris-* | etrax*)
5753da084b3Smrg		basic_machine=cris-axis
5763da084b3Smrg		;;
5773da084b3Smrg	crx)
5783da084b3Smrg		basic_machine=crx-unknown
5793da084b3Smrg		os=-elf
5803da084b3Smrg		;;
5813da084b3Smrg	da30 | da30-*)
5823da084b3Smrg		basic_machine=m68k-da30
5833da084b3Smrg		;;
5843da084b3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5853da084b3Smrg		basic_machine=mips-dec
5863da084b3Smrg		;;
5873da084b3Smrg	decsystem10* | dec10*)
5883da084b3Smrg		basic_machine=pdp10-dec
5893da084b3Smrg		os=-tops10
5903da084b3Smrg		;;
5913da084b3Smrg	decsystem20* | dec20*)
5923da084b3Smrg		basic_machine=pdp10-dec
5933da084b3Smrg		os=-tops20
5943da084b3Smrg		;;
5953da084b3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5963da084b3Smrg	      | 3300-motorola | delta-motorola)
5973da084b3Smrg		basic_machine=m68k-motorola
5983da084b3Smrg		;;
5993da084b3Smrg	delta88)
6003da084b3Smrg		basic_machine=m88k-motorola
6013da084b3Smrg		os=-sysv3
6023da084b3Smrg		;;
60355acc8fcSmrg	dicos)
60455acc8fcSmrg		basic_machine=i686-pc
60555acc8fcSmrg		os=-dicos
60655acc8fcSmrg		;;
6073da084b3Smrg	djgpp)
6083da084b3Smrg		basic_machine=i586-pc
6093da084b3Smrg		os=-msdosdjgpp
6103da084b3Smrg		;;
6113da084b3Smrg	dpx20 | dpx20-*)
6123da084b3Smrg		basic_machine=rs6000-bull
6133da084b3Smrg		os=-bosx
6143da084b3Smrg		;;
6153da084b3Smrg	dpx2* | dpx2*-bull)
6163da084b3Smrg		basic_machine=m68k-bull
6173da084b3Smrg		os=-sysv3
6183da084b3Smrg		;;
6193da084b3Smrg	ebmon29k)
6203da084b3Smrg		basic_machine=a29k-amd
6213da084b3Smrg		os=-ebmon
6223da084b3Smrg		;;
6233da084b3Smrg	elxsi)
6243da084b3Smrg		basic_machine=elxsi-elxsi
6253da084b3Smrg		os=-bsd
6263da084b3Smrg		;;
6273da084b3Smrg	encore | umax | mmax)
6283da084b3Smrg		basic_machine=ns32k-encore
6293da084b3Smrg		;;
6303da084b3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6313da084b3Smrg		basic_machine=m68k-ericsson
6323da084b3Smrg		os=-ose
6333da084b3Smrg		;;
6343da084b3Smrg	fx2800)
6353da084b3Smrg		basic_machine=i860-alliant
6363da084b3Smrg		;;
6373da084b3Smrg	genix)
6383da084b3Smrg		basic_machine=ns32k-ns
6393da084b3Smrg		;;
6403da084b3Smrg	gmicro)
6413da084b3Smrg		basic_machine=tron-gmicro
6423da084b3Smrg		os=-sysv
6433da084b3Smrg		;;
6443da084b3Smrg	go32)
6453da084b3Smrg		basic_machine=i386-pc
6463da084b3Smrg		os=-go32
6473da084b3Smrg		;;
6483da084b3Smrg	h3050r* | hiux*)
6493da084b3Smrg		basic_machine=hppa1.1-hitachi
6503da084b3Smrg		os=-hiuxwe2
6513da084b3Smrg		;;
6523da084b3Smrg	h8300hms)
6533da084b3Smrg		basic_machine=h8300-hitachi
6543da084b3Smrg		os=-hms
6553da084b3Smrg		;;
6563da084b3Smrg	h8300xray)
6573da084b3Smrg		basic_machine=h8300-hitachi
6583da084b3Smrg		os=-xray
6593da084b3Smrg		;;
6603da084b3Smrg	h8500hms)
6613da084b3Smrg		basic_machine=h8500-hitachi
6623da084b3Smrg		os=-hms
6633da084b3Smrg		;;
6643da084b3Smrg	harris)
6653da084b3Smrg		basic_machine=m88k-harris
6663da084b3Smrg		os=-sysv3
6673da084b3Smrg		;;
6683da084b3Smrg	hp300-*)
6693da084b3Smrg		basic_machine=m68k-hp
6703da084b3Smrg		;;
6713da084b3Smrg	hp300bsd)
6723da084b3Smrg		basic_machine=m68k-hp
6733da084b3Smrg		os=-bsd
6743da084b3Smrg		;;
6753da084b3Smrg	hp300hpux)
6763da084b3Smrg		basic_machine=m68k-hp
6773da084b3Smrg		os=-hpux
6783da084b3Smrg		;;
6793da084b3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6803da084b3Smrg		basic_machine=hppa1.0-hp
6813da084b3Smrg		;;
6823da084b3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6833da084b3Smrg		basic_machine=m68000-hp
6843da084b3Smrg		;;
6853da084b3Smrg	hp9k3[2-9][0-9])
6863da084b3Smrg		basic_machine=m68k-hp
6873da084b3Smrg		;;
6883da084b3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6893da084b3Smrg		basic_machine=hppa1.0-hp
6903da084b3Smrg		;;
6913da084b3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6923da084b3Smrg		basic_machine=hppa1.1-hp
6933da084b3Smrg		;;
6943da084b3Smrg	hp9k78[0-9] | hp78[0-9])
6953da084b3Smrg		# FIXME: really hppa2.0-hp
6963da084b3Smrg		basic_machine=hppa1.1-hp
6973da084b3Smrg		;;
6983da084b3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6993da084b3Smrg		# FIXME: really hppa2.0-hp
7003da084b3Smrg		basic_machine=hppa1.1-hp
7013da084b3Smrg		;;
7023da084b3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7033da084b3Smrg		basic_machine=hppa1.1-hp
7043da084b3Smrg		;;
7053da084b3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7063da084b3Smrg		basic_machine=hppa1.0-hp
7073da084b3Smrg		;;
7083da084b3Smrg	hppa-next)
7093da084b3Smrg		os=-nextstep3
7103da084b3Smrg		;;
7113da084b3Smrg	hppaosf)
7123da084b3Smrg		basic_machine=hppa1.1-hp
7133da084b3Smrg		os=-osf
7143da084b3Smrg		;;
7153da084b3Smrg	hppro)
7163da084b3Smrg		basic_machine=hppa1.1-hp
7173da084b3Smrg		os=-proelf
7183da084b3Smrg		;;
7193da084b3Smrg	i370-ibm* | ibm*)
7203da084b3Smrg		basic_machine=i370-ibm
7213da084b3Smrg		;;
7223da084b3Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7233da084b3Smrg	i*86v32)
7243da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7253da084b3Smrg		os=-sysv32
7263da084b3Smrg		;;
7273da084b3Smrg	i*86v4*)
7283da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7293da084b3Smrg		os=-sysv4
7303da084b3Smrg		;;
7313da084b3Smrg	i*86v)
7323da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7333da084b3Smrg		os=-sysv
7343da084b3Smrg		;;
7353da084b3Smrg	i*86sol2)
7363da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7373da084b3Smrg		os=-solaris2
7383da084b3Smrg		;;
7393da084b3Smrg	i386mach)
7403da084b3Smrg		basic_machine=i386-mach
7413da084b3Smrg		os=-mach
7423da084b3Smrg		;;
7433da084b3Smrg	i386-vsta | vsta)
7443da084b3Smrg		basic_machine=i386-unknown
7453da084b3Smrg		os=-vsta
7463da084b3Smrg		;;
7473da084b3Smrg	iris | iris4d)
7483da084b3Smrg		basic_machine=mips-sgi
7493da084b3Smrg		case $os in
7503da084b3Smrg		    -irix*)
7513da084b3Smrg			;;
7523da084b3Smrg		    *)
7533da084b3Smrg			os=-irix4
7543da084b3Smrg			;;
7553da084b3Smrg		esac
7563da084b3Smrg		;;
7573da084b3Smrg	isi68 | isi)
7583da084b3Smrg		basic_machine=m68k-isi
7593da084b3Smrg		os=-sysv
7603da084b3Smrg		;;
761d63fdb69Smrg	m68knommu)
762d63fdb69Smrg		basic_machine=m68k-unknown
763d63fdb69Smrg		os=-linux
764d63fdb69Smrg		;;
765d63fdb69Smrg	m68knommu-*)
766d63fdb69Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767d63fdb69Smrg		os=-linux
768d63fdb69Smrg		;;
7693da084b3Smrg	m88k-omron*)
7703da084b3Smrg		basic_machine=m88k-omron
7713da084b3Smrg		;;
7723da084b3Smrg	magnum | m3230)
7733da084b3Smrg		basic_machine=mips-mips
7743da084b3Smrg		os=-sysv
7753da084b3Smrg		;;
7763da084b3Smrg	merlin)
7773da084b3Smrg		basic_machine=ns32k-utek
7783da084b3Smrg		os=-sysv
7793da084b3Smrg		;;
78048c85eb7Smrg	microblaze)
78155acc8fcSmrg		basic_machine=microblaze-xilinx
78255acc8fcSmrg		;;
7833da084b3Smrg	mingw32)
7843da084b3Smrg		basic_machine=i386-pc
7853da084b3Smrg		os=-mingw32
7863da084b3Smrg		;;
787d63fdb69Smrg	mingw32ce)
788d63fdb69Smrg		basic_machine=arm-unknown
789d63fdb69Smrg		os=-mingw32ce
790d63fdb69Smrg		;;
7913da084b3Smrg	miniframe)
7923da084b3Smrg		basic_machine=m68000-convergent
7933da084b3Smrg		;;
7943da084b3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7953da084b3Smrg		basic_machine=m68k-atari
7963da084b3Smrg		os=-mint
7973da084b3Smrg		;;
7983da084b3Smrg	mips3*-*)
7993da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8003da084b3Smrg		;;
8013da084b3Smrg	mips3*)
8023da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8033da084b3Smrg		;;
8043da084b3Smrg	monitor)
8053da084b3Smrg		basic_machine=m68k-rom68k
8063da084b3Smrg		os=-coff
8073da084b3Smrg		;;
8083da084b3Smrg	morphos)
8093da084b3Smrg		basic_machine=powerpc-unknown
8103da084b3Smrg		os=-morphos
8113da084b3Smrg		;;
8123da084b3Smrg	msdos)
8133da084b3Smrg		basic_machine=i386-pc
8143da084b3Smrg		os=-msdos
8153da084b3Smrg		;;
8163da084b3Smrg	ms1-*)
8173da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8183da084b3Smrg		;;
81948c85eb7Smrg	msys)
82048c85eb7Smrg		basic_machine=i386-pc
82148c85eb7Smrg		os=-msys
82248c85eb7Smrg		;;
8233da084b3Smrg	mvs)
8243da084b3Smrg		basic_machine=i370-ibm
8253da084b3Smrg		os=-mvs
8263da084b3Smrg		;;
82748c85eb7Smrg	nacl)
82848c85eb7Smrg		basic_machine=le32-unknown
82948c85eb7Smrg		os=-nacl
83048c85eb7Smrg		;;
8313da084b3Smrg	ncr3000)
8323da084b3Smrg		basic_machine=i486-ncr
8333da084b3Smrg		os=-sysv4
8343da084b3Smrg		;;
8353da084b3Smrg	netbsd386)
8363da084b3Smrg		basic_machine=i386-unknown
8373da084b3Smrg		os=-netbsd
8383da084b3Smrg		;;
8393da084b3Smrg	netwinder)
8403da084b3Smrg		basic_machine=armv4l-rebel
8413da084b3Smrg		os=-linux
8423da084b3Smrg		;;
8433da084b3Smrg	news | news700 | news800 | news900)
8443da084b3Smrg		basic_machine=m68k-sony
8453da084b3Smrg		os=-newsos
8463da084b3Smrg		;;
8473da084b3Smrg	news1000)
8483da084b3Smrg		basic_machine=m68030-sony
8493da084b3Smrg		os=-newsos
8503da084b3Smrg		;;
8513da084b3Smrg	news-3600 | risc-news)
8523da084b3Smrg		basic_machine=mips-sony
8533da084b3Smrg		os=-newsos
8543da084b3Smrg		;;
8553da084b3Smrg	necv70)
8563da084b3Smrg		basic_machine=v70-nec
8573da084b3Smrg		os=-sysv
8583da084b3Smrg		;;
8593da084b3Smrg	next | m*-next )
8603da084b3Smrg		basic_machine=m68k-next
8613da084b3Smrg		case $os in
8623da084b3Smrg		    -nextstep* )
8633da084b3Smrg			;;
8643da084b3Smrg		    -ns2*)
8653da084b3Smrg		      os=-nextstep2
8663da084b3Smrg			;;
8673da084b3Smrg		    *)
8683da084b3Smrg		      os=-nextstep3
8693da084b3Smrg			;;
8703da084b3Smrg		esac
8713da084b3Smrg		;;
8723da084b3Smrg	nh3000)
8733da084b3Smrg		basic_machine=m68k-harris
8743da084b3Smrg		os=-cxux
8753da084b3Smrg		;;
8763da084b3Smrg	nh[45]000)
8773da084b3Smrg		basic_machine=m88k-harris
8783da084b3Smrg		os=-cxux
8793da084b3Smrg		;;
8803da084b3Smrg	nindy960)
8813da084b3Smrg		basic_machine=i960-intel
8823da084b3Smrg		os=-nindy
8833da084b3Smrg		;;
8843da084b3Smrg	mon960)
8853da084b3Smrg		basic_machine=i960-intel
8863da084b3Smrg		os=-mon960
8873da084b3Smrg		;;
8883da084b3Smrg	nonstopux)
8893da084b3Smrg		basic_machine=mips-compaq
8903da084b3Smrg		os=-nonstopux
8913da084b3Smrg		;;
8923da084b3Smrg	np1)
8933da084b3Smrg		basic_machine=np1-gould
8943da084b3Smrg		;;
89548c85eb7Smrg	neo-tandem)
89655acc8fcSmrg		basic_machine=neo-tandem
89755acc8fcSmrg		;;
89848c85eb7Smrg	nse-tandem)
89955acc8fcSmrg		basic_machine=nse-tandem
90055acc8fcSmrg		;;
9013da084b3Smrg	nsr-tandem)
9023da084b3Smrg		basic_machine=nsr-tandem
9033da084b3Smrg		;;
9043da084b3Smrg	op50n-* | op60c-*)
9053da084b3Smrg		basic_machine=hppa1.1-oki
9063da084b3Smrg		os=-proelf
9073da084b3Smrg		;;
9083da084b3Smrg	openrisc | openrisc-*)
9093da084b3Smrg		basic_machine=or32-unknown
9103da084b3Smrg		;;
9113da084b3Smrg	os400)
9123da084b3Smrg		basic_machine=powerpc-ibm
9133da084b3Smrg		os=-os400
9143da084b3Smrg		;;
9153da084b3Smrg	OSE68000 | ose68000)
9163da084b3Smrg		basic_machine=m68000-ericsson
9173da084b3Smrg		os=-ose
9183da084b3Smrg		;;
9193da084b3Smrg	os68k)
9203da084b3Smrg		basic_machine=m68k-none
9213da084b3Smrg		os=-os68k
9223da084b3Smrg		;;
9233da084b3Smrg	pa-hitachi)
9243da084b3Smrg		basic_machine=hppa1.1-hitachi
9253da084b3Smrg		os=-hiuxwe2
9263da084b3Smrg		;;
9273da084b3Smrg	paragon)
9283da084b3Smrg		basic_machine=i860-intel
9293da084b3Smrg		os=-osf
9303da084b3Smrg		;;
931d63fdb69Smrg	parisc)
932d63fdb69Smrg		basic_machine=hppa-unknown
933d63fdb69Smrg		os=-linux
934d63fdb69Smrg		;;
935d63fdb69Smrg	parisc-*)
936d63fdb69Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937d63fdb69Smrg		os=-linux
938d63fdb69Smrg		;;
9393da084b3Smrg	pbd)
9403da084b3Smrg		basic_machine=sparc-tti
9413da084b3Smrg		;;
9423da084b3Smrg	pbb)
9433da084b3Smrg		basic_machine=m68k-tti
9443da084b3Smrg		;;
9453da084b3Smrg	pc532 | pc532-*)
9463da084b3Smrg		basic_machine=ns32k-pc532
9473da084b3Smrg		;;
9483da084b3Smrg	pc98)
9493da084b3Smrg		basic_machine=i386-pc
9503da084b3Smrg		;;
9513da084b3Smrg	pc98-*)
9523da084b3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9533da084b3Smrg		;;
9543da084b3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9553da084b3Smrg		basic_machine=i586-pc
9563da084b3Smrg		;;
9573da084b3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9583da084b3Smrg		basic_machine=i686-pc
9593da084b3Smrg		;;
9603da084b3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9613da084b3Smrg		basic_machine=i686-pc
9623da084b3Smrg		;;
9633da084b3Smrg	pentium4)
9643da084b3Smrg		basic_machine=i786-pc
9653da084b3Smrg		;;
9663da084b3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9673da084b3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9683da084b3Smrg		;;
9693da084b3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9703da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9713da084b3Smrg		;;
9723da084b3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9733da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9743da084b3Smrg		;;
9753da084b3Smrg	pentium4-*)
9763da084b3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9773da084b3Smrg		;;
9783da084b3Smrg	pn)
9793da084b3Smrg		basic_machine=pn-gould
9803da084b3Smrg		;;
9813da084b3Smrg	power)	basic_machine=power-ibm
9823da084b3Smrg		;;
98348c85eb7Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9843da084b3Smrg		;;
98548c85eb7Smrg	ppc-* | ppcbe-*)
98648c85eb7Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9873da084b3Smrg		;;
9883da084b3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9893da084b3Smrg		basic_machine=powerpcle-unknown
9903da084b3Smrg		;;
9913da084b3Smrg	ppcle-* | powerpclittle-*)
9923da084b3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9933da084b3Smrg		;;
9943da084b3Smrg	ppc64)	basic_machine=powerpc64-unknown
9953da084b3Smrg		;;
9963da084b3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9973da084b3Smrg		;;
9983da084b3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9993da084b3Smrg		basic_machine=powerpc64le-unknown
10003da084b3Smrg		;;
10013da084b3Smrg	ppc64le-* | powerpc64little-*)
10023da084b3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10033da084b3Smrg		;;
10043da084b3Smrg	ps2)
10053da084b3Smrg		basic_machine=i386-ibm
10063da084b3Smrg		;;
10073da084b3Smrg	pw32)
10083da084b3Smrg		basic_machine=i586-unknown
10093da084b3Smrg		os=-pw32
10103da084b3Smrg		;;
10113da084b3Smrg	rdos)
10123da084b3Smrg		basic_machine=i386-pc
10133da084b3Smrg		os=-rdos
10143da084b3Smrg		;;
10153da084b3Smrg	rom68k)
10163da084b3Smrg		basic_machine=m68k-rom68k
10173da084b3Smrg		os=-coff
10183da084b3Smrg		;;
10193da084b3Smrg	rm[46]00)
10203da084b3Smrg		basic_machine=mips-siemens
10213da084b3Smrg		;;
10223da084b3Smrg	rtpc | rtpc-*)
10233da084b3Smrg		basic_machine=romp-ibm
10243da084b3Smrg		;;
10253da084b3Smrg	s390 | s390-*)
10263da084b3Smrg		basic_machine=s390-ibm
10273da084b3Smrg		;;
10283da084b3Smrg	s390x | s390x-*)
10293da084b3Smrg		basic_machine=s390x-ibm
10303da084b3Smrg		;;
10313da084b3Smrg	sa29200)
10323da084b3Smrg		basic_machine=a29k-amd
10333da084b3Smrg		os=-udi
10343da084b3Smrg		;;
10353da084b3Smrg	sb1)
10363da084b3Smrg		basic_machine=mipsisa64sb1-unknown
10373da084b3Smrg		;;
10383da084b3Smrg	sb1el)
10393da084b3Smrg		basic_machine=mipsisa64sb1el-unknown
10403da084b3Smrg		;;
1041d63fdb69Smrg	sde)
1042d63fdb69Smrg		basic_machine=mipsisa32-sde
1043d63fdb69Smrg		os=-elf
1044d63fdb69Smrg		;;
10453da084b3Smrg	sei)
10463da084b3Smrg		basic_machine=mips-sei
10473da084b3Smrg		os=-seiux
10483da084b3Smrg		;;
10493da084b3Smrg	sequent)
10503da084b3Smrg		basic_machine=i386-sequent
10513da084b3Smrg		;;
10523da084b3Smrg	sh)
10533da084b3Smrg		basic_machine=sh-hitachi
10543da084b3Smrg		os=-hms
10553da084b3Smrg		;;
1056d63fdb69Smrg	sh5el)
1057d63fdb69Smrg		basic_machine=sh5le-unknown
1058d63fdb69Smrg		;;
10593da084b3Smrg	sh64)
10603da084b3Smrg		basic_machine=sh64-unknown
10613da084b3Smrg		;;
10623da084b3Smrg	sparclite-wrs | simso-wrs)
10633da084b3Smrg		basic_machine=sparclite-wrs
10643da084b3Smrg		os=-vxworks
10653da084b3Smrg		;;
10663da084b3Smrg	sps7)
10673da084b3Smrg		basic_machine=m68k-bull
10683da084b3Smrg		os=-sysv2
10693da084b3Smrg		;;
10703da084b3Smrg	spur)
10713da084b3Smrg		basic_machine=spur-unknown
10723da084b3Smrg		;;
10733da084b3Smrg	st2000)
10743da084b3Smrg		basic_machine=m68k-tandem
10753da084b3Smrg		;;
10763da084b3Smrg	stratus)
10773da084b3Smrg		basic_machine=i860-stratus
10783da084b3Smrg		os=-sysv4
10793da084b3Smrg		;;
108048c85eb7Smrg	strongarm-* | thumb-*)
108148c85eb7Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
108248c85eb7Smrg		;;
10833da084b3Smrg	sun2)
10843da084b3Smrg		basic_machine=m68000-sun
10853da084b3Smrg		;;
10863da084b3Smrg	sun2os3)
10873da084b3Smrg		basic_machine=m68000-sun
10883da084b3Smrg		os=-sunos3
10893da084b3Smrg		;;
10903da084b3Smrg	sun2os4)
10913da084b3Smrg		basic_machine=m68000-sun
10923da084b3Smrg		os=-sunos4
10933da084b3Smrg		;;
10943da084b3Smrg	sun3os3)
10953da084b3Smrg		basic_machine=m68k-sun
10963da084b3Smrg		os=-sunos3
10973da084b3Smrg		;;
10983da084b3Smrg	sun3os4)
10993da084b3Smrg		basic_machine=m68k-sun
11003da084b3Smrg		os=-sunos4
11013da084b3Smrg		;;
11023da084b3Smrg	sun4os3)
11033da084b3Smrg		basic_machine=sparc-sun
11043da084b3Smrg		os=-sunos3
11053da084b3Smrg		;;
11063da084b3Smrg	sun4os4)
11073da084b3Smrg		basic_machine=sparc-sun
11083da084b3Smrg		os=-sunos4
11093da084b3Smrg		;;
11103da084b3Smrg	sun4sol2)
11113da084b3Smrg		basic_machine=sparc-sun
11123da084b3Smrg		os=-solaris2
11133da084b3Smrg		;;
11143da084b3Smrg	sun3 | sun3-*)
11153da084b3Smrg		basic_machine=m68k-sun
11163da084b3Smrg		;;
11173da084b3Smrg	sun4)
11183da084b3Smrg		basic_machine=sparc-sun
11193da084b3Smrg		;;
11203da084b3Smrg	sun386 | sun386i | roadrunner)
11213da084b3Smrg		basic_machine=i386-sun
11223da084b3Smrg		;;
11233da084b3Smrg	sv1)
11243da084b3Smrg		basic_machine=sv1-cray
11253da084b3Smrg		os=-unicos
11263da084b3Smrg		;;
11273da084b3Smrg	symmetry)
11283da084b3Smrg		basic_machine=i386-sequent
11293da084b3Smrg		os=-dynix
11303da084b3Smrg		;;
11313da084b3Smrg	t3e)
11323da084b3Smrg		basic_machine=alphaev5-cray
11333da084b3Smrg		os=-unicos
11343da084b3Smrg		;;
11353da084b3Smrg	t90)
11363da084b3Smrg		basic_machine=t90-cray
11373da084b3Smrg		os=-unicos
11383da084b3Smrg		;;
1139d63fdb69Smrg	tile*)
114048c85eb7Smrg		basic_machine=$basic_machine-unknown
1141d63fdb69Smrg		os=-linux-gnu
1142d63fdb69Smrg		;;
11433da084b3Smrg	tx39)
11443da084b3Smrg		basic_machine=mipstx39-unknown
11453da084b3Smrg		;;
11463da084b3Smrg	tx39el)
11473da084b3Smrg		basic_machine=mipstx39el-unknown
11483da084b3Smrg		;;
11493da084b3Smrg	toad1)
11503da084b3Smrg		basic_machine=pdp10-xkl
11513da084b3Smrg		os=-tops20
11523da084b3Smrg		;;
11533da084b3Smrg	tower | tower-32)
11543da084b3Smrg		basic_machine=m68k-ncr
11553da084b3Smrg		;;
11563da084b3Smrg	tpf)
11573da084b3Smrg		basic_machine=s390x-ibm
11583da084b3Smrg		os=-tpf
11593da084b3Smrg		;;
11603da084b3Smrg	udi29k)
11613da084b3Smrg		basic_machine=a29k-amd
11623da084b3Smrg		os=-udi
11633da084b3Smrg		;;
11643da084b3Smrg	ultra3)
11653da084b3Smrg		basic_machine=a29k-nyu
11663da084b3Smrg		os=-sym1
11673da084b3Smrg		;;
11683da084b3Smrg	v810 | necv810)
11693da084b3Smrg		basic_machine=v810-nec
11703da084b3Smrg		os=-none
11713da084b3Smrg		;;
11723da084b3Smrg	vaxv)
11733da084b3Smrg		basic_machine=vax-dec
11743da084b3Smrg		os=-sysv
11753da084b3Smrg		;;
11763da084b3Smrg	vms)
11773da084b3Smrg		basic_machine=vax-dec
11783da084b3Smrg		os=-vms
11793da084b3Smrg		;;
11803da084b3Smrg	vpp*|vx|vx-*)
11813da084b3Smrg		basic_machine=f301-fujitsu
11823da084b3Smrg		;;
11833da084b3Smrg	vxworks960)
11843da084b3Smrg		basic_machine=i960-wrs
11853da084b3Smrg		os=-vxworks
11863da084b3Smrg		;;
11873da084b3Smrg	vxworks68)
11883da084b3Smrg		basic_machine=m68k-wrs
11893da084b3Smrg		os=-vxworks
11903da084b3Smrg		;;
11913da084b3Smrg	vxworks29k)
11923da084b3Smrg		basic_machine=a29k-wrs
11933da084b3Smrg		os=-vxworks
11943da084b3Smrg		;;
11953da084b3Smrg	w65*)
11963da084b3Smrg		basic_machine=w65-wdc
11973da084b3Smrg		os=-none
11983da084b3Smrg		;;
11993da084b3Smrg	w89k-*)
12003da084b3Smrg		basic_machine=hppa1.1-winbond
12013da084b3Smrg		os=-proelf
12023da084b3Smrg		;;
12033da084b3Smrg	xbox)
12043da084b3Smrg		basic_machine=i686-pc
12053da084b3Smrg		os=-mingw32
12063da084b3Smrg		;;
12073da084b3Smrg	xps | xps100)
12083da084b3Smrg		basic_machine=xps100-honeywell
12093da084b3Smrg		;;
121048c85eb7Smrg	xscale-* | xscalee[bl]-*)
121148c85eb7Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
121248c85eb7Smrg		;;
12133da084b3Smrg	ymp)
12143da084b3Smrg		basic_machine=ymp-cray
12153da084b3Smrg		os=-unicos
12163da084b3Smrg		;;
12173da084b3Smrg	z8k-*-coff)
12183da084b3Smrg		basic_machine=z8k-unknown
12193da084b3Smrg		os=-sim
12203da084b3Smrg		;;
122155acc8fcSmrg	z80-*-coff)
122255acc8fcSmrg		basic_machine=z80-unknown
122355acc8fcSmrg		os=-sim
122455acc8fcSmrg		;;
12253da084b3Smrg	none)
12263da084b3Smrg		basic_machine=none-none
12273da084b3Smrg		os=-none
12283da084b3Smrg		;;
12293da084b3Smrg
12303da084b3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12313da084b3Smrg# some cases the only manufacturer, in others, it is the most popular.
12323da084b3Smrg	w89k)
12333da084b3Smrg		basic_machine=hppa1.1-winbond
12343da084b3Smrg		;;
12353da084b3Smrg	op50n)
12363da084b3Smrg		basic_machine=hppa1.1-oki
12373da084b3Smrg		;;
12383da084b3Smrg	op60c)
12393da084b3Smrg		basic_machine=hppa1.1-oki
12403da084b3Smrg		;;
12413da084b3Smrg	romp)
12423da084b3Smrg		basic_machine=romp-ibm
12433da084b3Smrg		;;
12443da084b3Smrg	mmix)
12453da084b3Smrg		basic_machine=mmix-knuth
12463da084b3Smrg		;;
12473da084b3Smrg	rs6000)
12483da084b3Smrg		basic_machine=rs6000-ibm
12493da084b3Smrg		;;
12503da084b3Smrg	vax)
12513da084b3Smrg		basic_machine=vax-dec
12523da084b3Smrg		;;
12533da084b3Smrg	pdp10)
12543da084b3Smrg		# there are many clones, so DEC is not a safe bet
12553da084b3Smrg		basic_machine=pdp10-unknown
12563da084b3Smrg		;;
12573da084b3Smrg	pdp11)
12583da084b3Smrg		basic_machine=pdp11-dec
12593da084b3Smrg		;;
12603da084b3Smrg	we32k)
12613da084b3Smrg		basic_machine=we32k-att
12623da084b3Smrg		;;
126355acc8fcSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12643da084b3Smrg		basic_machine=sh-unknown
12653da084b3Smrg		;;
1266d63fdb69Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12673da084b3Smrg		basic_machine=sparc-sun
12683da084b3Smrg		;;
12693da084b3Smrg	cydra)
12703da084b3Smrg		basic_machine=cydra-cydrome
12713da084b3Smrg		;;
12723da084b3Smrg	orion)
12733da084b3Smrg		basic_machine=orion-highlevel
12743da084b3Smrg		;;
12753da084b3Smrg	orion105)
12763da084b3Smrg		basic_machine=clipper-highlevel
12773da084b3Smrg		;;
12783da084b3Smrg	mac | mpw | mac-mpw)
12793da084b3Smrg		basic_machine=m68k-apple
12803da084b3Smrg		;;
12813da084b3Smrg	pmac | pmac-mpw)
12823da084b3Smrg		basic_machine=powerpc-apple
12833da084b3Smrg		;;
12843da084b3Smrg	*-unknown)
12853da084b3Smrg		# Make sure to match an already-canonicalized machine name.
12863da084b3Smrg		;;
12873da084b3Smrg	*)
12883da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12893da084b3Smrg		exit 1
12903da084b3Smrg		;;
12913da084b3Smrgesac
12923da084b3Smrg
12933da084b3Smrg# Here we canonicalize certain aliases for manufacturers.
12943da084b3Smrgcase $basic_machine in
12953da084b3Smrg	*-digital*)
12963da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12973da084b3Smrg		;;
12983da084b3Smrg	*-commodore*)
12993da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13003da084b3Smrg		;;
13013da084b3Smrg	*)
13023da084b3Smrg		;;
13033da084b3Smrgesac
13043da084b3Smrg
13053da084b3Smrg# Decode manufacturer-specific aliases for certain operating systems.
13063da084b3Smrg
13073da084b3Smrgif [ x"$os" != x"" ]
13083da084b3Smrgthen
13093da084b3Smrgcase $os in
131048c85eb7Smrg	# First match some system type aliases
131148c85eb7Smrg	# that might get confused with valid system types.
13123da084b3Smrg	# -solaris* is a basic system type, with this one exception.
131348c85eb7Smrg	-auroraux)
131448c85eb7Smrg		os=-auroraux
131555acc8fcSmrg		;;
13163da084b3Smrg	-solaris1 | -solaris1.*)
13173da084b3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13183da084b3Smrg		;;
13193da084b3Smrg	-solaris)
13203da084b3Smrg		os=-solaris2
13213da084b3Smrg		;;
13223da084b3Smrg	-svr4*)
13233da084b3Smrg		os=-sysv4
13243da084b3Smrg		;;
13253da084b3Smrg	-unixware*)
13263da084b3Smrg		os=-sysv4.2uw
13273da084b3Smrg		;;
13283da084b3Smrg	-gnu/linux*)
13293da084b3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13303da084b3Smrg		;;
13313da084b3Smrg	# First accept the basic system types.
13323da084b3Smrg	# The portable systems comes first.
13333da084b3Smrg	# Each alternative MUST END IN A *, to match a version number.
13343da084b3Smrg	# -sysv* is not here because it comes later, after sysvr4.
13353da084b3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
133655acc8fcSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
133755acc8fcSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
133855acc8fcSmrg	      | -sym* | -kopensolaris* \
13393da084b3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
134055acc8fcSmrg	      | -aos* | -aros* \
13413da084b3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13423da084b3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13433da084b3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13443da084b3Smrg	      | -openbsd* | -solidbsd* \
13453da084b3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13463da084b3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13473da084b3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13483da084b3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
134955acc8fcSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
135048c85eb7Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
135155acc8fcSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
135255acc8fcSmrg	      | -linux-newlib* | -linux-uclibc* \
13533da084b3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13543da084b3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13553da084b3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13563da084b3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13573da084b3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13583da084b3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13593da084b3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
136055acc8fcSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13613da084b3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13623da084b3Smrg		;;
13633da084b3Smrg	-qnx*)
13643da084b3Smrg		case $basic_machine in
13653da084b3Smrg		    x86-* | i*86-*)
13663da084b3Smrg			;;
13673da084b3Smrg		    *)
13683da084b3Smrg			os=-nto$os
13693da084b3Smrg			;;
13703da084b3Smrg		esac
13713da084b3Smrg		;;
13723da084b3Smrg	-nto-qnx*)
13733da084b3Smrg		;;
13743da084b3Smrg	-nto*)
13753da084b3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13763da084b3Smrg		;;
13773da084b3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13783da084b3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13793da084b3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13803da084b3Smrg		;;
13813da084b3Smrg	-mac*)
13823da084b3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13833da084b3Smrg		;;
13843da084b3Smrg	-linux-dietlibc)
13853da084b3Smrg		os=-linux-dietlibc
13863da084b3Smrg		;;
13873da084b3Smrg	-linux*)
13883da084b3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13893da084b3Smrg		;;
13903da084b3Smrg	-sunos5*)
13913da084b3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13923da084b3Smrg		;;
13933da084b3Smrg	-sunos6*)
13943da084b3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13953da084b3Smrg		;;
13963da084b3Smrg	-opened*)
13973da084b3Smrg		os=-openedition
13983da084b3Smrg		;;
139948c85eb7Smrg	-os400*)
14003da084b3Smrg		os=-os400
14013da084b3Smrg		;;
14023da084b3Smrg	-wince*)
14033da084b3Smrg		os=-wince
14043da084b3Smrg		;;
14053da084b3Smrg	-osfrose*)
14063da084b3Smrg		os=-osfrose
14073da084b3Smrg		;;
14083da084b3Smrg	-osf*)
14093da084b3Smrg		os=-osf
14103da084b3Smrg		;;
14113da084b3Smrg	-utek*)
14123da084b3Smrg		os=-bsd
14133da084b3Smrg		;;
14143da084b3Smrg	-dynix*)
14153da084b3Smrg		os=-bsd
14163da084b3Smrg		;;
14173da084b3Smrg	-acis*)
14183da084b3Smrg		os=-aos
14193da084b3Smrg		;;
14203da084b3Smrg	-atheos*)
14213da084b3Smrg		os=-atheos
14223da084b3Smrg		;;
14233da084b3Smrg	-syllable*)
14243da084b3Smrg		os=-syllable
14253da084b3Smrg		;;
14263da084b3Smrg	-386bsd)
14273da084b3Smrg		os=-bsd
14283da084b3Smrg		;;
14293da084b3Smrg	-ctix* | -uts*)
14303da084b3Smrg		os=-sysv
14313da084b3Smrg		;;
14323da084b3Smrg	-nova*)
14333da084b3Smrg		os=-rtmk-nova
14343da084b3Smrg		;;
14353da084b3Smrg	-ns2 )
14363da084b3Smrg		os=-nextstep2
14373da084b3Smrg		;;
14383da084b3Smrg	-nsk*)
14393da084b3Smrg		os=-nsk
14403da084b3Smrg		;;
14413da084b3Smrg	# Preserve the version number of sinix5.
14423da084b3Smrg	-sinix5.*)
14433da084b3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14443da084b3Smrg		;;
14453da084b3Smrg	-sinix*)
14463da084b3Smrg		os=-sysv4
14473da084b3Smrg		;;
144848c85eb7Smrg	-tpf*)
14493da084b3Smrg		os=-tpf
14503da084b3Smrg		;;
14513da084b3Smrg	-triton*)
14523da084b3Smrg		os=-sysv3
14533da084b3Smrg		;;
14543da084b3Smrg	-oss*)
14553da084b3Smrg		os=-sysv3
14563da084b3Smrg		;;
14573da084b3Smrg	-svr4)
14583da084b3Smrg		os=-sysv4
14593da084b3Smrg		;;
14603da084b3Smrg	-svr3)
14613da084b3Smrg		os=-sysv3
14623da084b3Smrg		;;
14633da084b3Smrg	-sysvr4)
14643da084b3Smrg		os=-sysv4
14653da084b3Smrg		;;
14663da084b3Smrg	# This must come after -sysvr4.
14673da084b3Smrg	-sysv*)
14683da084b3Smrg		;;
14693da084b3Smrg	-ose*)
14703da084b3Smrg		os=-ose
14713da084b3Smrg		;;
14723da084b3Smrg	-es1800*)
14733da084b3Smrg		os=-ose
14743da084b3Smrg		;;
14753da084b3Smrg	-xenix)
14763da084b3Smrg		os=-xenix
14773da084b3Smrg		;;
14783da084b3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14793da084b3Smrg		os=-mint
14803da084b3Smrg		;;
14813da084b3Smrg	-aros*)
14823da084b3Smrg		os=-aros
14833da084b3Smrg		;;
14843da084b3Smrg	-kaos*)
14853da084b3Smrg		os=-kaos
14863da084b3Smrg		;;
14873da084b3Smrg	-zvmoe)
14883da084b3Smrg		os=-zvmoe
14893da084b3Smrg		;;
149055acc8fcSmrg	-dicos*)
149155acc8fcSmrg		os=-dicos
149255acc8fcSmrg		;;
149348c85eb7Smrg	-nacl*)
149448c85eb7Smrg		;;
14953da084b3Smrg	-none)
14963da084b3Smrg		;;
14973da084b3Smrg	*)
14983da084b3Smrg		# Get rid of the `-' at the beginning of $os.
14993da084b3Smrg		os=`echo $os | sed 's/[^-]*-//'`
15003da084b3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15013da084b3Smrg		exit 1
15023da084b3Smrg		;;
15033da084b3Smrgesac
15043da084b3Smrgelse
15053da084b3Smrg
15063da084b3Smrg# Here we handle the default operating systems that come with various machines.
15073da084b3Smrg# The value should be what the vendor currently ships out the door with their
15083da084b3Smrg# machine or put another way, the most popular os provided with the machine.
15093da084b3Smrg
15103da084b3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15113da084b3Smrg# "-sun"), then you have to tell the case statement up towards the top
15123da084b3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15133da084b3Smrg# will signal an error saying that MANUFACTURER isn't an operating
15143da084b3Smrg# system, and we'll never get to this point.
15153da084b3Smrg
15163da084b3Smrgcase $basic_machine in
151748c85eb7Smrg	score-*)
1518d63fdb69Smrg		os=-elf
1519d63fdb69Smrg		;;
152048c85eb7Smrg	spu-*)
1521d63fdb69Smrg		os=-elf
1522d63fdb69Smrg		;;
15233da084b3Smrg	*-acorn)
15243da084b3Smrg		os=-riscix1.2
15253da084b3Smrg		;;
15263da084b3Smrg	arm*-rebel)
15273da084b3Smrg		os=-linux
15283da084b3Smrg		;;
15293da084b3Smrg	arm*-semi)
15303da084b3Smrg		os=-aout
15313da084b3Smrg		;;
153248c85eb7Smrg	c4x-* | tic4x-*)
153348c85eb7Smrg		os=-coff
1534d63fdb69Smrg		;;
153555acc8fcSmrg	tic54x-*)
153655acc8fcSmrg		os=-coff
153755acc8fcSmrg		;;
153855acc8fcSmrg	tic55x-*)
153955acc8fcSmrg		os=-coff
154055acc8fcSmrg		;;
154155acc8fcSmrg	tic6x-*)
154255acc8fcSmrg		os=-coff
154355acc8fcSmrg		;;
15443da084b3Smrg	# This must come before the *-dec entry.
15453da084b3Smrg	pdp10-*)
15463da084b3Smrg		os=-tops20
15473da084b3Smrg		;;
15483da084b3Smrg	pdp11-*)
15493da084b3Smrg		os=-none
15503da084b3Smrg		;;
15513da084b3Smrg	*-dec | vax-*)
15523da084b3Smrg		os=-ultrix4.2
15533da084b3Smrg		;;
15543da084b3Smrg	m68*-apollo)
15553da084b3Smrg		os=-domain
15563da084b3Smrg		;;
15573da084b3Smrg	i386-sun)
15583da084b3Smrg		os=-sunos4.0.2
15593da084b3Smrg		;;
15603da084b3Smrg	m68000-sun)
15613da084b3Smrg		os=-sunos3
15623da084b3Smrg		# This also exists in the configure program, but was not the
15633da084b3Smrg		# default.
15643da084b3Smrg		# os=-sunos4
15653da084b3Smrg		;;
15663da084b3Smrg	m68*-cisco)
15673da084b3Smrg		os=-aout
15683da084b3Smrg		;;
156948c85eb7Smrg	mep-*)
1570d63fdb69Smrg		os=-elf
1571d63fdb69Smrg		;;
15723da084b3Smrg	mips*-cisco)
15733da084b3Smrg		os=-elf
15743da084b3Smrg		;;
15753da084b3Smrg	mips*-*)
15763da084b3Smrg		os=-elf
15773da084b3Smrg		;;
15783da084b3Smrg	or32-*)
15793da084b3Smrg		os=-coff
15803da084b3Smrg		;;
15813da084b3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15823da084b3Smrg		os=-sysv3
15833da084b3Smrg		;;
15843da084b3Smrg	sparc-* | *-sun)
15853da084b3Smrg		os=-sunos4.1.1
15863da084b3Smrg		;;
15873da084b3Smrg	*-be)
15883da084b3Smrg		os=-beos
15893da084b3Smrg		;;
15903da084b3Smrg	*-haiku)
15913da084b3Smrg		os=-haiku
15923da084b3Smrg		;;
15933da084b3Smrg	*-ibm)
15943da084b3Smrg		os=-aix
15953da084b3Smrg		;;
159648c85eb7Smrg	*-knuth)
15973da084b3Smrg		os=-mmixware
15983da084b3Smrg		;;
15993da084b3Smrg	*-wec)
16003da084b3Smrg		os=-proelf
16013da084b3Smrg		;;
16023da084b3Smrg	*-winbond)
16033da084b3Smrg		os=-proelf
16043da084b3Smrg		;;
16053da084b3Smrg	*-oki)
16063da084b3Smrg		os=-proelf
16073da084b3Smrg		;;
16083da084b3Smrg	*-hp)
16093da084b3Smrg		os=-hpux
16103da084b3Smrg		;;
16113da084b3Smrg	*-hitachi)
16123da084b3Smrg		os=-hiux
16133da084b3Smrg		;;
16143da084b3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16153da084b3Smrg		os=-sysv
16163da084b3Smrg		;;
16173da084b3Smrg	*-cbm)
16183da084b3Smrg		os=-amigaos
16193da084b3Smrg		;;
16203da084b3Smrg	*-dg)
16213da084b3Smrg		os=-dgux
16223da084b3Smrg		;;
16233da084b3Smrg	*-dolphin)
16243da084b3Smrg		os=-sysv3
16253da084b3Smrg		;;
16263da084b3Smrg	m68k-ccur)
16273da084b3Smrg		os=-rtu
16283da084b3Smrg		;;
16293da084b3Smrg	m88k-omron*)
16303da084b3Smrg		os=-luna
16313da084b3Smrg		;;
16323da084b3Smrg	*-next )
16333da084b3Smrg		os=-nextstep
16343da084b3Smrg		;;
16353da084b3Smrg	*-sequent)
16363da084b3Smrg		os=-ptx
16373da084b3Smrg		;;
16383da084b3Smrg	*-crds)
16393da084b3Smrg		os=-unos
16403da084b3Smrg		;;
16413da084b3Smrg	*-ns)
16423da084b3Smrg		os=-genix
16433da084b3Smrg		;;
16443da084b3Smrg	i370-*)
16453da084b3Smrg		os=-mvs
16463da084b3Smrg		;;
16473da084b3Smrg	*-next)
16483da084b3Smrg		os=-nextstep3
16493da084b3Smrg		;;
16503da084b3Smrg	*-gould)
16513da084b3Smrg		os=-sysv
16523da084b3Smrg		;;
16533da084b3Smrg	*-highlevel)
16543da084b3Smrg		os=-bsd
16553da084b3Smrg		;;
16563da084b3Smrg	*-encore)
16573da084b3Smrg		os=-bsd
16583da084b3Smrg		;;
16593da084b3Smrg	*-sgi)
16603da084b3Smrg		os=-irix
16613da084b3Smrg		;;
16623da084b3Smrg	*-siemens)
16633da084b3Smrg		os=-sysv4
16643da084b3Smrg		;;
16653da084b3Smrg	*-masscomp)
16663da084b3Smrg		os=-rtu
16673da084b3Smrg		;;
16683da084b3Smrg	f30[01]-fujitsu | f700-fujitsu)
16693da084b3Smrg		os=-uxpv
16703da084b3Smrg		;;
16713da084b3Smrg	*-rom68k)
16723da084b3Smrg		os=-coff
16733da084b3Smrg		;;
16743da084b3Smrg	*-*bug)
16753da084b3Smrg		os=-coff
16763da084b3Smrg		;;
16773da084b3Smrg	*-apple)
16783da084b3Smrg		os=-macos
16793da084b3Smrg		;;
16803da084b3Smrg	*-atari*)
16813da084b3Smrg		os=-mint
16823da084b3Smrg		;;
16833da084b3Smrg	*)
16843da084b3Smrg		os=-none
16853da084b3Smrg		;;
16863da084b3Smrgesac
16873da084b3Smrgfi
16883da084b3Smrg
16893da084b3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16903da084b3Smrg# manufacturer.  We pick the logical manufacturer.
16913da084b3Smrgvendor=unknown
16923da084b3Smrgcase $basic_machine in
16933da084b3Smrg	*-unknown)
16943da084b3Smrg		case $os in
16953da084b3Smrg			-riscix*)
16963da084b3Smrg				vendor=acorn
16973da084b3Smrg				;;
16983da084b3Smrg			-sunos*)
16993da084b3Smrg				vendor=sun
17003da084b3Smrg				;;
170155acc8fcSmrg			-cnk*|-aix*)
17023da084b3Smrg				vendor=ibm
17033da084b3Smrg				;;
17043da084b3Smrg			-beos*)
17053da084b3Smrg				vendor=be
17063da084b3Smrg				;;
17073da084b3Smrg			-hpux*)
17083da084b3Smrg				vendor=hp
17093da084b3Smrg				;;
17103da084b3Smrg			-mpeix*)
17113da084b3Smrg				vendor=hp
17123da084b3Smrg				;;
17133da084b3Smrg			-hiux*)
17143da084b3Smrg				vendor=hitachi
17153da084b3Smrg				;;
17163da084b3Smrg			-unos*)
17173da084b3Smrg				vendor=crds
17183da084b3Smrg				;;
17193da084b3Smrg			-dgux*)
17203da084b3Smrg				vendor=dg
17213da084b3Smrg				;;
17223da084b3Smrg			-luna*)
17233da084b3Smrg				vendor=omron
17243da084b3Smrg				;;
17253da084b3Smrg			-genix*)
17263da084b3Smrg				vendor=ns
17273da084b3Smrg				;;
17283da084b3Smrg			-mvs* | -opened*)
17293da084b3Smrg				vendor=ibm
17303da084b3Smrg				;;
17313da084b3Smrg			-os400*)
17323da084b3Smrg				vendor=ibm
17333da084b3Smrg				;;
17343da084b3Smrg			-ptx*)
17353da084b3Smrg				vendor=sequent
17363da084b3Smrg				;;
17373da084b3Smrg			-tpf*)
17383da084b3Smrg				vendor=ibm
17393da084b3Smrg				;;
17403da084b3Smrg			-vxsim* | -vxworks* | -windiss*)
17413da084b3Smrg				vendor=wrs
17423da084b3Smrg				;;
17433da084b3Smrg			-aux*)
17443da084b3Smrg				vendor=apple
17453da084b3Smrg				;;
17463da084b3Smrg			-hms*)
17473da084b3Smrg				vendor=hitachi
17483da084b3Smrg				;;
17493da084b3Smrg			-mpw* | -macos*)
17503da084b3Smrg				vendor=apple
17513da084b3Smrg				;;
17523da084b3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17533da084b3Smrg				vendor=atari
17543da084b3Smrg				;;
17553da084b3Smrg			-vos*)
17563da084b3Smrg				vendor=stratus
17573da084b3Smrg				;;
17583da084b3Smrg		esac
17593da084b3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17603da084b3Smrg		;;
17613da084b3Smrgesac
17623da084b3Smrg
17633da084b3Smrgecho $basic_machine$os
17643da084b3Smrgexit
17653da084b3Smrg
17663da084b3Smrg# Local variables:
17673da084b3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17683da084b3Smrg# time-stamp-start: "timestamp='"
17693da084b3Smrg# time-stamp-format: "%:y-%02m-%02d"
17703da084b3Smrg# time-stamp-end: "'"
17713da084b3Smrg# End:
1772