config.sub revision 82e12b1b
121c2f794Smrg#! /bin/sh
221c2f794Smrg# Configuration validation subroutine script.
321c2f794Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
482e12b1bSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
582e12b1bSmrg#   2011 Free Software Foundation, Inc.
621c2f794Smrg
782e12b1bSmrgtimestamp='2011-11-11'
821c2f794Smrg
921c2f794Smrg# This file is (in principle) common to ALL GNU software.
1021c2f794Smrg# The presence of a machine in this file suggests that SOME GNU software
1121c2f794Smrg# can handle that machine.  It does not imply ALL GNU software can.
1221c2f794Smrg#
1321c2f794Smrg# This file is free software; you can redistribute it and/or modify
1421c2f794Smrg# it under the terms of the GNU General Public License as published by
1521c2f794Smrg# the Free Software Foundation; either version 2 of the License, or
1621c2f794Smrg# (at your option) any later version.
1721c2f794Smrg#
1821c2f794Smrg# This program is distributed in the hope that it will be useful,
1921c2f794Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2021c2f794Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2121c2f794Smrg# GNU General Public License for more details.
2221c2f794Smrg#
2321c2f794Smrg# You should have received a copy of the GNU General Public License
2421c2f794Smrg# along with this program; if not, write to the Free Software
2521c2f794Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2621c2f794Smrg# 02110-1301, USA.
2721c2f794Smrg#
2821c2f794Smrg# As a special exception to the GNU General Public License, if you
2921c2f794Smrg# distribute this file as part of a program that contains a
3021c2f794Smrg# configuration script generated by Autoconf, you may include it under
3121c2f794Smrg# the same distribution terms that you use for the rest of that program.
3221c2f794Smrg
3321c2f794Smrg
3421c2f794Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3512391620Smrg# diff and a properly formatted GNU ChangeLog entry.
3621c2f794Smrg#
3721c2f794Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3821c2f794Smrg# Supply the specified configuration type as an argument.
3921c2f794Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4021c2f794Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4121c2f794Smrg
4212391620Smrg# You can get the latest version of this script from:
4312391620Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4412391620Smrg
4521c2f794Smrg# This file is supposed to be the same for all GNU packages
4621c2f794Smrg# and recognize all the CPU types, system types and aliases
4721c2f794Smrg# that are meaningful with *any* GNU software.
4821c2f794Smrg# Each package is responsible for reporting which valid configurations
4921c2f794Smrg# it does not support.  The user should be able to distinguish
5021c2f794Smrg# a failure to support a valid configuration from a meaningless
5121c2f794Smrg# configuration.
5221c2f794Smrg
5321c2f794Smrg# The goal of this file is to map all the various variations of a given
5421c2f794Smrg# machine specification into a single specification in the form:
5521c2f794Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5621c2f794Smrg# or in some cases, the newer four-part form:
5721c2f794Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5821c2f794Smrg# It is wrong to echo any other type of specification.
5921c2f794Smrg
6021c2f794Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6121c2f794Smrg
6221c2f794Smrgusage="\
6321c2f794SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6421c2f794Smrg       $0 [OPTION] ALIAS
6521c2f794Smrg
6621c2f794SmrgCanonicalize a configuration name.
6721c2f794Smrg
6821c2f794SmrgOperation modes:
6921c2f794Smrg  -h, --help         print this help, then exit
7021c2f794Smrg  -t, --time-stamp   print date of last modification, then exit
7121c2f794Smrg  -v, --version      print version number, then exit
7221c2f794Smrg
7321c2f794SmrgReport bugs and patches to <config-patches@gnu.org>."
7421c2f794Smrg
7521c2f794Smrgversion="\
7621c2f794SmrgGNU config.sub ($timestamp)
7721c2f794Smrg
7812391620SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7982e12b1bSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
8012391620SmrgSoftware Foundation, Inc.
8121c2f794Smrg
8221c2f794SmrgThis is free software; see the source for copying conditions.  There is NO
8321c2f794Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8421c2f794Smrg
8521c2f794Smrghelp="
8621c2f794SmrgTry \`$me --help' for more information."
8721c2f794Smrg
8821c2f794Smrg# Parse command line
8921c2f794Smrgwhile test $# -gt 0 ; do
9021c2f794Smrg  case $1 in
9121c2f794Smrg    --time-stamp | --time* | -t )
9221c2f794Smrg       echo "$timestamp" ; exit ;;
9321c2f794Smrg    --version | -v )
9421c2f794Smrg       echo "$version" ; exit ;;
9521c2f794Smrg    --help | --h* | -h )
9621c2f794Smrg       echo "$usage"; exit ;;
9721c2f794Smrg    -- )     # Stop option processing
9821c2f794Smrg       shift; break ;;
9921c2f794Smrg    - )	# Use stdin as input.
10021c2f794Smrg       break ;;
10121c2f794Smrg    -* )
10221c2f794Smrg       echo "$me: invalid option $1$help"
10321c2f794Smrg       exit 1 ;;
10421c2f794Smrg
10521c2f794Smrg    *local*)
10621c2f794Smrg       # First pass through any local machine types.
10721c2f794Smrg       echo $1
10821c2f794Smrg       exit ;;
10921c2f794Smrg
11021c2f794Smrg    * )
11121c2f794Smrg       break ;;
11221c2f794Smrg  esac
11321c2f794Smrgdone
11421c2f794Smrg
11521c2f794Smrgcase $# in
11621c2f794Smrg 0) echo "$me: missing argument$help" >&2
11721c2f794Smrg    exit 1;;
11821c2f794Smrg 1) ;;
11921c2f794Smrg *) echo "$me: too many arguments$help" >&2
12021c2f794Smrg    exit 1;;
12121c2f794Smrgesac
12221c2f794Smrg
12321c2f794Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12421c2f794Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12521c2f794Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12621c2f794Smrgcase $maybe_os in
12712391620Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12812391620Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12912391620Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13012391620Smrg  kopensolaris*-gnu* | \
13121c2f794Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13221c2f794Smrg    os=-$maybe_os
13321c2f794Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13421c2f794Smrg    ;;
13521c2f794Smrg  *)
13621c2f794Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13721c2f794Smrg    if [ $basic_machine != $1 ]
13821c2f794Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13921c2f794Smrg    else os=; fi
14021c2f794Smrg    ;;
14121c2f794Smrgesac
14221c2f794Smrg
14321c2f794Smrg### Let's recognize common machines as not being operating systems so
14421c2f794Smrg### that things like config.sub decstation-3100 work.  We also
14521c2f794Smrg### recognize some manufacturers as not being operating systems, so we
14621c2f794Smrg### can provide default operating systems below.
14721c2f794Smrgcase $os in
14821c2f794Smrg	-sun*os*)
14921c2f794Smrg		# Prevent following clause from handling this invalid input.
15021c2f794Smrg		;;
15121c2f794Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15221c2f794Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15321c2f794Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15421c2f794Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15521c2f794Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15621c2f794Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15712391620Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15821c2f794Smrg		os=
15921c2f794Smrg		basic_machine=$1
16021c2f794Smrg		;;
16182e12b1bSmrg	-bluegene*)
16282e12b1bSmrg		os=-cnk
16312391620Smrg		;;
16421c2f794Smrg	-sim | -cisco | -oki | -wec | -winbond)
16521c2f794Smrg		os=
16621c2f794Smrg		basic_machine=$1
16721c2f794Smrg		;;
16821c2f794Smrg	-scout)
16921c2f794Smrg		;;
17021c2f794Smrg	-wrs)
17121c2f794Smrg		os=-vxworks
17221c2f794Smrg		basic_machine=$1
17321c2f794Smrg		;;
17421c2f794Smrg	-chorusos*)
17521c2f794Smrg		os=-chorusos
17621c2f794Smrg		basic_machine=$1
17721c2f794Smrg		;;
17882e12b1bSmrg	-chorusrdb)
17982e12b1bSmrg		os=-chorusrdb
18021c2f794Smrg		basic_machine=$1
18182e12b1bSmrg		;;
18221c2f794Smrg	-hiux*)
18321c2f794Smrg		os=-hiuxwe2
18421c2f794Smrg		;;
18521c2f794Smrg	-sco6)
18621c2f794Smrg		os=-sco5v6
18721c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18821c2f794Smrg		;;
18921c2f794Smrg	-sco5)
19021c2f794Smrg		os=-sco3.2v5
19121c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19221c2f794Smrg		;;
19321c2f794Smrg	-sco4)
19421c2f794Smrg		os=-sco3.2v4
19521c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19621c2f794Smrg		;;
19721c2f794Smrg	-sco3.2.[4-9]*)
19821c2f794Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19921c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20021c2f794Smrg		;;
20121c2f794Smrg	-sco3.2v[4-9]*)
20221c2f794Smrg		# Don't forget version if it is 3.2v4 or newer.
20321c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20421c2f794Smrg		;;
20521c2f794Smrg	-sco5v6*)
20621c2f794Smrg		# Don't forget version if it is 3.2v4 or newer.
20721c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20821c2f794Smrg		;;
20921c2f794Smrg	-sco*)
21021c2f794Smrg		os=-sco3.2v2
21121c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21221c2f794Smrg		;;
21321c2f794Smrg	-udk*)
21421c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21521c2f794Smrg		;;
21621c2f794Smrg	-isc)
21721c2f794Smrg		os=-isc2.2
21821c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21921c2f794Smrg		;;
22021c2f794Smrg	-clix*)
22121c2f794Smrg		basic_machine=clipper-intergraph
22221c2f794Smrg		;;
22321c2f794Smrg	-isc*)
22421c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22521c2f794Smrg		;;
22621c2f794Smrg	-lynx*)
22721c2f794Smrg		os=-lynxos
22821c2f794Smrg		;;
22921c2f794Smrg	-ptx*)
23021c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23121c2f794Smrg		;;
23221c2f794Smrg	-windowsnt*)
23321c2f794Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23421c2f794Smrg		;;
23521c2f794Smrg	-psos*)
23621c2f794Smrg		os=-psos
23721c2f794Smrg		;;
23821c2f794Smrg	-mint | -mint[0-9]*)
23921c2f794Smrg		basic_machine=m68k-atari
24021c2f794Smrg		os=-mint
24121c2f794Smrg		;;
24221c2f794Smrgesac
24321c2f794Smrg
24421c2f794Smrg# Decode aliases for certain CPU-COMPANY combinations.
24521c2f794Smrgcase $basic_machine in
24621c2f794Smrg	# Recognize the basic CPU types without company name.
24721c2f794Smrg	# Some are omitted here because they have special meanings below.
24821c2f794Smrg	1750a | 580 \
24921c2f794Smrg	| a29k \
25021c2f794Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25121c2f794Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25221c2f794Smrg	| am33_2.0 \
25321c2f794Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25482e12b1bSmrg        | be32 | be64 \
25521c2f794Smrg	| bfin \
25621c2f794Smrg	| c4x | clipper \
25721c2f794Smrg	| d10v | d30v | dlx | dsp16xx \
25882e12b1bSmrg	| epiphany \
25921c2f794Smrg	| fido | fr30 | frv \
26021c2f794Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26182e12b1bSmrg	| hexagon \
26221c2f794Smrg	| i370 | i860 | i960 | ia64 \
26321c2f794Smrg	| ip2k | iq2000 \
26482e12b1bSmrg	| le32 | le64 \
26512391620Smrg	| lm32 \
26621c2f794Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26712391620Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26821c2f794Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26921c2f794Smrg	| mips16 \
27021c2f794Smrg	| mips64 | mips64el \
27112391620Smrg	| mips64octeon | mips64octeonel \
27221c2f794Smrg	| mips64orion | mips64orionel \
27312391620Smrg	| mips64r5900 | mips64r5900el \
27412391620Smrg	| mips64vr | mips64vrel \
27521c2f794Smrg	| mips64vr4100 | mips64vr4100el \
27621c2f794Smrg	| mips64vr4300 | mips64vr4300el \
27721c2f794Smrg	| mips64vr5000 | mips64vr5000el \
27821c2f794Smrg	| mips64vr5900 | mips64vr5900el \
27921c2f794Smrg	| mipsisa32 | mipsisa32el \
28021c2f794Smrg	| mipsisa32r2 | mipsisa32r2el \
28121c2f794Smrg	| mipsisa64 | mipsisa64el \
28221c2f794Smrg	| mipsisa64r2 | mipsisa64r2el \
28321c2f794Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28421c2f794Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28521c2f794Smrg	| mipstx39 | mipstx39el \
28621c2f794Smrg	| mn10200 | mn10300 \
28712391620Smrg	| moxie \
28821c2f794Smrg	| mt \
28921c2f794Smrg	| msp430 \
29012391620Smrg	| nds32 | nds32le | nds32be \
29121c2f794Smrg	| nios | nios2 \
29221c2f794Smrg	| ns16k | ns32k \
29382e12b1bSmrg	| open8 \
29421c2f794Smrg	| or32 \
29521c2f794Smrg	| pdp10 | pdp11 | pj | pjl \
29682e12b1bSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29721c2f794Smrg	| pyramid \
29882e12b1bSmrg	| rl78 | rx \
29921c2f794Smrg	| score \
30012391620Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30121c2f794Smrg	| sh64 | sh64le \
30221c2f794Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30321c2f794Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
30482e12b1bSmrg	| spu \
30582e12b1bSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30612391620Smrg	| ubicom32 \
30782e12b1bSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30821c2f794Smrg	| we32k \
30982e12b1bSmrg	| x86 | xc16x | xstormy16 | xtensa \
31012391620Smrg	| z8k | z80)
31121c2f794Smrg		basic_machine=$basic_machine-unknown
31221c2f794Smrg		;;
31312391620Smrg	c54x)
31412391620Smrg		basic_machine=tic54x-unknown
31512391620Smrg		;;
31612391620Smrg	c55x)
31712391620Smrg		basic_machine=tic55x-unknown
31812391620Smrg		;;
31912391620Smrg	c6x)
32012391620Smrg		basic_machine=tic6x-unknown
32112391620Smrg		;;
32212391620Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32321c2f794Smrg		# Motorola 68HC11/12.
32421c2f794Smrg		basic_machine=$basic_machine-unknown
32521c2f794Smrg		os=-none
32621c2f794Smrg		;;
32721c2f794Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32821c2f794Smrg		;;
32921c2f794Smrg	ms1)
33021c2f794Smrg		basic_machine=mt-unknown
33121c2f794Smrg		;;
33221c2f794Smrg
33382e12b1bSmrg	strongarm | thumb | xscale)
33482e12b1bSmrg		basic_machine=arm-unknown
33582e12b1bSmrg		;;
33682e12b1bSmrg
33782e12b1bSmrg	xscaleeb)
33882e12b1bSmrg		basic_machine=armeb-unknown
33982e12b1bSmrg		;;
34082e12b1bSmrg
34182e12b1bSmrg	xscaleel)
34282e12b1bSmrg		basic_machine=armel-unknown
34382e12b1bSmrg		;;
34482e12b1bSmrg
34521c2f794Smrg	# We use `pc' rather than `unknown'
34621c2f794Smrg	# because (1) that's what they normally are, and
34721c2f794Smrg	# (2) the word "unknown" tends to confuse beginning users.
34821c2f794Smrg	i*86 | x86_64)
34921c2f794Smrg	  basic_machine=$basic_machine-pc
35021c2f794Smrg	  ;;
35121c2f794Smrg	# Object if more than one company name word.
35221c2f794Smrg	*-*-*)
35321c2f794Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35421c2f794Smrg		exit 1
35521c2f794Smrg		;;
35621c2f794Smrg	# Recognize the basic CPU types with company name.
35721c2f794Smrg	580-* \
35821c2f794Smrg	| a29k-* \
35921c2f794Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36021c2f794Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36121c2f794Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36221c2f794Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36321c2f794Smrg	| avr-* | avr32-* \
36482e12b1bSmrg	| be32-* | be64-* \
36521c2f794Smrg	| bfin-* | bs2000-* \
36612391620Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36721c2f794Smrg	| clipper-* | craynv-* | cydra-* \
36821c2f794Smrg	| d10v-* | d30v-* | dlx-* \
36921c2f794Smrg	| elxsi-* \
37021c2f794Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37121c2f794Smrg	| h8300-* | h8500-* \
37221c2f794Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
37382e12b1bSmrg	| hexagon-* \
37421c2f794Smrg	| i*86-* | i860-* | i960-* | ia64-* \
37521c2f794Smrg	| ip2k-* | iq2000-* \
37682e12b1bSmrg	| le32-* | le64-* \
37712391620Smrg	| lm32-* \
37821c2f794Smrg	| m32c-* | m32r-* | m32rle-* \
37921c2f794Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
38012391620Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38121c2f794Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38221c2f794Smrg	| mips16-* \
38321c2f794Smrg	| mips64-* | mips64el-* \
38412391620Smrg	| mips64octeon-* | mips64octeonel-* \
38521c2f794Smrg	| mips64orion-* | mips64orionel-* \
38612391620Smrg	| mips64r5900-* | mips64r5900el-* \
38712391620Smrg	| mips64vr-* | mips64vrel-* \
38821c2f794Smrg	| mips64vr4100-* | mips64vr4100el-* \
38921c2f794Smrg	| mips64vr4300-* | mips64vr4300el-* \
39021c2f794Smrg	| mips64vr5000-* | mips64vr5000el-* \
39121c2f794Smrg	| mips64vr5900-* | mips64vr5900el-* \
39221c2f794Smrg	| mipsisa32-* | mipsisa32el-* \
39321c2f794Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39421c2f794Smrg	| mipsisa64-* | mipsisa64el-* \
39521c2f794Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39621c2f794Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39721c2f794Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39821c2f794Smrg	| mipstx39-* | mipstx39el-* \
39921c2f794Smrg	| mmix-* \
40021c2f794Smrg	| mt-* \
40121c2f794Smrg	| msp430-* \
40212391620Smrg	| nds32-* | nds32le-* | nds32be-* \
40321c2f794Smrg	| nios-* | nios2-* \
40421c2f794Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
40582e12b1bSmrg	| open8-* \
40621c2f794Smrg	| orion-* \
40721c2f794Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
40882e12b1bSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40921c2f794Smrg	| pyramid-* \
41082e12b1bSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
41112391620Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41221c2f794Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41321c2f794Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41421c2f794Smrg	| sparclite-* \
41582e12b1bSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
41682e12b1bSmrg	| tahoe-* \
41721c2f794Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
41882e12b1bSmrg	| tile*-* \
41921c2f794Smrg	| tron-* \
42012391620Smrg	| ubicom32-* \
42182e12b1bSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
42282e12b1bSmrg	| vax-* \
42321c2f794Smrg	| we32k-* \
42482e12b1bSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
42521c2f794Smrg	| xstormy16-* | xtensa*-* \
42621c2f794Smrg	| ymp-* \
42712391620Smrg	| z8k-* | z80-*)
42821c2f794Smrg		;;
42921c2f794Smrg	# Recognize the basic CPU types without company name, with glob match.
43021c2f794Smrg	xtensa*)
43121c2f794Smrg		basic_machine=$basic_machine-unknown
43221c2f794Smrg		;;
43321c2f794Smrg	# Recognize the various machine names and aliases which stand
43421c2f794Smrg	# for a CPU type and a company and sometimes even an OS.
43521c2f794Smrg	386bsd)
43621c2f794Smrg		basic_machine=i386-unknown
43721c2f794Smrg		os=-bsd
43821c2f794Smrg		;;
43921c2f794Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
44021c2f794Smrg		basic_machine=m68000-att
44121c2f794Smrg		;;
44221c2f794Smrg	3b*)
44321c2f794Smrg		basic_machine=we32k-att
44421c2f794Smrg		;;
44521c2f794Smrg	a29khif)
44621c2f794Smrg		basic_machine=a29k-amd
44721c2f794Smrg		os=-udi
44821c2f794Smrg		;;
44982e12b1bSmrg	abacus)
45021c2f794Smrg		basic_machine=abacus-unknown
45121c2f794Smrg		;;
45221c2f794Smrg	adobe68k)
45321c2f794Smrg		basic_machine=m68010-adobe
45421c2f794Smrg		os=-scout
45521c2f794Smrg		;;
45621c2f794Smrg	alliant | fx80)
45721c2f794Smrg		basic_machine=fx80-alliant
45821c2f794Smrg		;;
45921c2f794Smrg	altos | altos3068)
46021c2f794Smrg		basic_machine=m68k-altos
46121c2f794Smrg		;;
46221c2f794Smrg	am29k)
46321c2f794Smrg		basic_machine=a29k-none
46421c2f794Smrg		os=-bsd
46521c2f794Smrg		;;
46621c2f794Smrg	amd64)
46721c2f794Smrg		basic_machine=x86_64-pc
46821c2f794Smrg		;;
46921c2f794Smrg	amd64-*)
47021c2f794Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47121c2f794Smrg		;;
47221c2f794Smrg	amdahl)
47321c2f794Smrg		basic_machine=580-amdahl
47421c2f794Smrg		os=-sysv
47521c2f794Smrg		;;
47621c2f794Smrg	amiga | amiga-*)
47721c2f794Smrg		basic_machine=m68k-unknown
47821c2f794Smrg		;;
47921c2f794Smrg	amigaos | amigados)
48021c2f794Smrg		basic_machine=m68k-unknown
48121c2f794Smrg		os=-amigaos
48221c2f794Smrg		;;
48321c2f794Smrg	amigaunix | amix)
48421c2f794Smrg		basic_machine=m68k-unknown
48521c2f794Smrg		os=-sysv4
48621c2f794Smrg		;;
48721c2f794Smrg	apollo68)
48821c2f794Smrg		basic_machine=m68k-apollo
48921c2f794Smrg		os=-sysv
49021c2f794Smrg		;;
49121c2f794Smrg	apollo68bsd)
49221c2f794Smrg		basic_machine=m68k-apollo
49321c2f794Smrg		os=-bsd
49421c2f794Smrg		;;
49512391620Smrg	aros)
49612391620Smrg		basic_machine=i386-pc
49712391620Smrg		os=-aros
49812391620Smrg		;;
49921c2f794Smrg	aux)
50021c2f794Smrg		basic_machine=m68k-apple
50121c2f794Smrg		os=-aux
50221c2f794Smrg		;;
50321c2f794Smrg	balance)
50421c2f794Smrg		basic_machine=ns32k-sequent
50521c2f794Smrg		os=-dynix
50621c2f794Smrg		;;
50721c2f794Smrg	blackfin)
50821c2f794Smrg		basic_machine=bfin-unknown
50921c2f794Smrg		os=-linux
51021c2f794Smrg		;;
51121c2f794Smrg	blackfin-*)
51221c2f794Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
51321c2f794Smrg		os=-linux
51421c2f794Smrg		;;
51512391620Smrg	bluegene*)
51612391620Smrg		basic_machine=powerpc-ibm
51712391620Smrg		os=-cnk
51812391620Smrg		;;
51912391620Smrg	c54x-*)
52012391620Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
52112391620Smrg		;;
52212391620Smrg	c55x-*)
52312391620Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
52412391620Smrg		;;
52512391620Smrg	c6x-*)
52612391620Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
52712391620Smrg		;;
52821c2f794Smrg	c90)
52921c2f794Smrg		basic_machine=c90-cray
53021c2f794Smrg		os=-unicos
53121c2f794Smrg		;;
53282e12b1bSmrg	cegcc)
53312391620Smrg		basic_machine=arm-unknown
53412391620Smrg		os=-cegcc
53512391620Smrg		;;
53621c2f794Smrg	convex-c1)
53721c2f794Smrg		basic_machine=c1-convex
53821c2f794Smrg		os=-bsd
53921c2f794Smrg		;;
54021c2f794Smrg	convex-c2)
54121c2f794Smrg		basic_machine=c2-convex
54221c2f794Smrg		os=-bsd
54321c2f794Smrg		;;
54421c2f794Smrg	convex-c32)
54521c2f794Smrg		basic_machine=c32-convex
54621c2f794Smrg		os=-bsd
54721c2f794Smrg		;;
54821c2f794Smrg	convex-c34)
54921c2f794Smrg		basic_machine=c34-convex
55021c2f794Smrg		os=-bsd
55121c2f794Smrg		;;
55221c2f794Smrg	convex-c38)
55321c2f794Smrg		basic_machine=c38-convex
55421c2f794Smrg		os=-bsd
55521c2f794Smrg		;;
55621c2f794Smrg	cray | j90)
55721c2f794Smrg		basic_machine=j90-cray
55821c2f794Smrg		os=-unicos
55921c2f794Smrg		;;
56021c2f794Smrg	craynv)
56121c2f794Smrg		basic_machine=craynv-cray
56221c2f794Smrg		os=-unicosmp
56321c2f794Smrg		;;
56482e12b1bSmrg	cr16 | cr16-*)
56521c2f794Smrg		basic_machine=cr16-unknown
56621c2f794Smrg		os=-elf
56721c2f794Smrg		;;
56821c2f794Smrg	crds | unos)
56921c2f794Smrg		basic_machine=m68k-crds
57021c2f794Smrg		;;
57121c2f794Smrg	crisv32 | crisv32-* | etraxfs*)
57221c2f794Smrg		basic_machine=crisv32-axis
57321c2f794Smrg		;;
57421c2f794Smrg	cris | cris-* | etrax*)
57521c2f794Smrg		basic_machine=cris-axis
57621c2f794Smrg		;;
57721c2f794Smrg	crx)
57821c2f794Smrg		basic_machine=crx-unknown
57921c2f794Smrg		os=-elf
58021c2f794Smrg		;;
58121c2f794Smrg	da30 | da30-*)
58221c2f794Smrg		basic_machine=m68k-da30
58321c2f794Smrg		;;
58421c2f794Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58521c2f794Smrg		basic_machine=mips-dec
58621c2f794Smrg		;;
58721c2f794Smrg	decsystem10* | dec10*)
58821c2f794Smrg		basic_machine=pdp10-dec
58921c2f794Smrg		os=-tops10
59021c2f794Smrg		;;
59121c2f794Smrg	decsystem20* | dec20*)
59221c2f794Smrg		basic_machine=pdp10-dec
59321c2f794Smrg		os=-tops20
59421c2f794Smrg		;;
59521c2f794Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59621c2f794Smrg	      | 3300-motorola | delta-motorola)
59721c2f794Smrg		basic_machine=m68k-motorola
59821c2f794Smrg		;;
59921c2f794Smrg	delta88)
60021c2f794Smrg		basic_machine=m88k-motorola
60121c2f794Smrg		os=-sysv3
60221c2f794Smrg		;;
60312391620Smrg	dicos)
60412391620Smrg		basic_machine=i686-pc
60512391620Smrg		os=-dicos
60612391620Smrg		;;
60721c2f794Smrg	djgpp)
60821c2f794Smrg		basic_machine=i586-pc
60921c2f794Smrg		os=-msdosdjgpp
61021c2f794Smrg		;;
61121c2f794Smrg	dpx20 | dpx20-*)
61221c2f794Smrg		basic_machine=rs6000-bull
61321c2f794Smrg		os=-bosx
61421c2f794Smrg		;;
61521c2f794Smrg	dpx2* | dpx2*-bull)
61621c2f794Smrg		basic_machine=m68k-bull
61721c2f794Smrg		os=-sysv3
61821c2f794Smrg		;;
61921c2f794Smrg	ebmon29k)
62021c2f794Smrg		basic_machine=a29k-amd
62121c2f794Smrg		os=-ebmon
62221c2f794Smrg		;;
62321c2f794Smrg	elxsi)
62421c2f794Smrg		basic_machine=elxsi-elxsi
62521c2f794Smrg		os=-bsd
62621c2f794Smrg		;;
62721c2f794Smrg	encore | umax | mmax)
62821c2f794Smrg		basic_machine=ns32k-encore
62921c2f794Smrg		;;
63021c2f794Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63121c2f794Smrg		basic_machine=m68k-ericsson
63221c2f794Smrg		os=-ose
63321c2f794Smrg		;;
63421c2f794Smrg	fx2800)
63521c2f794Smrg		basic_machine=i860-alliant
63621c2f794Smrg		;;
63721c2f794Smrg	genix)
63821c2f794Smrg		basic_machine=ns32k-ns
63921c2f794Smrg		;;
64021c2f794Smrg	gmicro)
64121c2f794Smrg		basic_machine=tron-gmicro
64221c2f794Smrg		os=-sysv
64321c2f794Smrg		;;
64421c2f794Smrg	go32)
64521c2f794Smrg		basic_machine=i386-pc
64621c2f794Smrg		os=-go32
64721c2f794Smrg		;;
64821c2f794Smrg	h3050r* | hiux*)
64921c2f794Smrg		basic_machine=hppa1.1-hitachi
65021c2f794Smrg		os=-hiuxwe2
65121c2f794Smrg		;;
65221c2f794Smrg	h8300hms)
65321c2f794Smrg		basic_machine=h8300-hitachi
65421c2f794Smrg		os=-hms
65521c2f794Smrg		;;
65621c2f794Smrg	h8300xray)
65721c2f794Smrg		basic_machine=h8300-hitachi
65821c2f794Smrg		os=-xray
65921c2f794Smrg		;;
66021c2f794Smrg	h8500hms)
66121c2f794Smrg		basic_machine=h8500-hitachi
66221c2f794Smrg		os=-hms
66321c2f794Smrg		;;
66421c2f794Smrg	harris)
66521c2f794Smrg		basic_machine=m88k-harris
66621c2f794Smrg		os=-sysv3
66721c2f794Smrg		;;
66821c2f794Smrg	hp300-*)
66921c2f794Smrg		basic_machine=m68k-hp
67021c2f794Smrg		;;
67121c2f794Smrg	hp300bsd)
67221c2f794Smrg		basic_machine=m68k-hp
67321c2f794Smrg		os=-bsd
67421c2f794Smrg		;;
67521c2f794Smrg	hp300hpux)
67621c2f794Smrg		basic_machine=m68k-hp
67721c2f794Smrg		os=-hpux
67821c2f794Smrg		;;
67921c2f794Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
68021c2f794Smrg		basic_machine=hppa1.0-hp
68121c2f794Smrg		;;
68221c2f794Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68321c2f794Smrg		basic_machine=m68000-hp
68421c2f794Smrg		;;
68521c2f794Smrg	hp9k3[2-9][0-9])
68621c2f794Smrg		basic_machine=m68k-hp
68721c2f794Smrg		;;
68821c2f794Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68921c2f794Smrg		basic_machine=hppa1.0-hp
69021c2f794Smrg		;;
69121c2f794Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69221c2f794Smrg		basic_machine=hppa1.1-hp
69321c2f794Smrg		;;
69421c2f794Smrg	hp9k78[0-9] | hp78[0-9])
69521c2f794Smrg		# FIXME: really hppa2.0-hp
69621c2f794Smrg		basic_machine=hppa1.1-hp
69721c2f794Smrg		;;
69821c2f794Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69921c2f794Smrg		# FIXME: really hppa2.0-hp
70021c2f794Smrg		basic_machine=hppa1.1-hp
70121c2f794Smrg		;;
70221c2f794Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70321c2f794Smrg		basic_machine=hppa1.1-hp
70421c2f794Smrg		;;
70521c2f794Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70621c2f794Smrg		basic_machine=hppa1.0-hp
70721c2f794Smrg		;;
70821c2f794Smrg	hppa-next)
70921c2f794Smrg		os=-nextstep3
71021c2f794Smrg		;;
71121c2f794Smrg	hppaosf)
71221c2f794Smrg		basic_machine=hppa1.1-hp
71321c2f794Smrg		os=-osf
71421c2f794Smrg		;;
71521c2f794Smrg	hppro)
71621c2f794Smrg		basic_machine=hppa1.1-hp
71721c2f794Smrg		os=-proelf
71821c2f794Smrg		;;
71921c2f794Smrg	i370-ibm* | ibm*)
72021c2f794Smrg		basic_machine=i370-ibm
72121c2f794Smrg		;;
72221c2f794Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
72321c2f794Smrg	i*86v32)
72421c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72521c2f794Smrg		os=-sysv32
72621c2f794Smrg		;;
72721c2f794Smrg	i*86v4*)
72821c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72921c2f794Smrg		os=-sysv4
73021c2f794Smrg		;;
73121c2f794Smrg	i*86v)
73221c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73321c2f794Smrg		os=-sysv
73421c2f794Smrg		;;
73521c2f794Smrg	i*86sol2)
73621c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73721c2f794Smrg		os=-solaris2
73821c2f794Smrg		;;
73921c2f794Smrg	i386mach)
74021c2f794Smrg		basic_machine=i386-mach
74121c2f794Smrg		os=-mach
74221c2f794Smrg		;;
74321c2f794Smrg	i386-vsta | vsta)
74421c2f794Smrg		basic_machine=i386-unknown
74521c2f794Smrg		os=-vsta
74621c2f794Smrg		;;
74721c2f794Smrg	iris | iris4d)
74821c2f794Smrg		basic_machine=mips-sgi
74921c2f794Smrg		case $os in
75021c2f794Smrg		    -irix*)
75121c2f794Smrg			;;
75221c2f794Smrg		    *)
75321c2f794Smrg			os=-irix4
75421c2f794Smrg			;;
75521c2f794Smrg		esac
75621c2f794Smrg		;;
75721c2f794Smrg	isi68 | isi)
75821c2f794Smrg		basic_machine=m68k-isi
75921c2f794Smrg		os=-sysv
76021c2f794Smrg		;;
76121c2f794Smrg	m68knommu)
76221c2f794Smrg		basic_machine=m68k-unknown
76321c2f794Smrg		os=-linux
76421c2f794Smrg		;;
76521c2f794Smrg	m68knommu-*)
76621c2f794Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
76721c2f794Smrg		os=-linux
76821c2f794Smrg		;;
76921c2f794Smrg	m88k-omron*)
77021c2f794Smrg		basic_machine=m88k-omron
77121c2f794Smrg		;;
77221c2f794Smrg	magnum | m3230)
77321c2f794Smrg		basic_machine=mips-mips
77421c2f794Smrg		os=-sysv
77521c2f794Smrg		;;
77621c2f794Smrg	merlin)
77721c2f794Smrg		basic_machine=ns32k-utek
77821c2f794Smrg		os=-sysv
77921c2f794Smrg		;;
78082e12b1bSmrg	microblaze)
78112391620Smrg		basic_machine=microblaze-xilinx
78212391620Smrg		;;
78321c2f794Smrg	mingw32)
78421c2f794Smrg		basic_machine=i386-pc
78521c2f794Smrg		os=-mingw32
78621c2f794Smrg		;;
78721c2f794Smrg	mingw32ce)
78821c2f794Smrg		basic_machine=arm-unknown
78921c2f794Smrg		os=-mingw32ce
79021c2f794Smrg		;;
79121c2f794Smrg	miniframe)
79221c2f794Smrg		basic_machine=m68000-convergent
79321c2f794Smrg		;;
79421c2f794Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79521c2f794Smrg		basic_machine=m68k-atari
79621c2f794Smrg		os=-mint
79721c2f794Smrg		;;
79821c2f794Smrg	mips3*-*)
79921c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
80021c2f794Smrg		;;
80121c2f794Smrg	mips3*)
80221c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80321c2f794Smrg		;;
80421c2f794Smrg	monitor)
80521c2f794Smrg		basic_machine=m68k-rom68k
80621c2f794Smrg		os=-coff
80721c2f794Smrg		;;
80821c2f794Smrg	morphos)
80921c2f794Smrg		basic_machine=powerpc-unknown
81021c2f794Smrg		os=-morphos
81121c2f794Smrg		;;
81221c2f794Smrg	msdos)
81321c2f794Smrg		basic_machine=i386-pc
81421c2f794Smrg		os=-msdos
81521c2f794Smrg		;;
81621c2f794Smrg	ms1-*)
81721c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81821c2f794Smrg		;;
81982e12b1bSmrg	msys)
82082e12b1bSmrg		basic_machine=i386-pc
82182e12b1bSmrg		os=-msys
82282e12b1bSmrg		;;
82321c2f794Smrg	mvs)
82421c2f794Smrg		basic_machine=i370-ibm
82521c2f794Smrg		os=-mvs
82621c2f794Smrg		;;
82782e12b1bSmrg	nacl)
82882e12b1bSmrg		basic_machine=le32-unknown
82982e12b1bSmrg		os=-nacl
83082e12b1bSmrg		;;
83121c2f794Smrg	ncr3000)
83221c2f794Smrg		basic_machine=i486-ncr
83321c2f794Smrg		os=-sysv4
83421c2f794Smrg		;;
83521c2f794Smrg	netbsd386)
83621c2f794Smrg		basic_machine=i386-unknown
83721c2f794Smrg		os=-netbsd
83821c2f794Smrg		;;
83921c2f794Smrg	netwinder)
84021c2f794Smrg		basic_machine=armv4l-rebel
84121c2f794Smrg		os=-linux
84221c2f794Smrg		;;
84321c2f794Smrg	news | news700 | news800 | news900)
84421c2f794Smrg		basic_machine=m68k-sony
84521c2f794Smrg		os=-newsos
84621c2f794Smrg		;;
84721c2f794Smrg	news1000)
84821c2f794Smrg		basic_machine=m68030-sony
84921c2f794Smrg		os=-newsos
85021c2f794Smrg		;;
85121c2f794Smrg	news-3600 | risc-news)
85221c2f794Smrg		basic_machine=mips-sony
85321c2f794Smrg		os=-newsos
85421c2f794Smrg		;;
85521c2f794Smrg	necv70)
85621c2f794Smrg		basic_machine=v70-nec
85721c2f794Smrg		os=-sysv
85821c2f794Smrg		;;
85921c2f794Smrg	next | m*-next )
86021c2f794Smrg		basic_machine=m68k-next
86121c2f794Smrg		case $os in
86221c2f794Smrg		    -nextstep* )
86321c2f794Smrg			;;
86421c2f794Smrg		    -ns2*)
86521c2f794Smrg		      os=-nextstep2
86621c2f794Smrg			;;
86721c2f794Smrg		    *)
86821c2f794Smrg		      os=-nextstep3
86921c2f794Smrg			;;
87021c2f794Smrg		esac
87121c2f794Smrg		;;
87221c2f794Smrg	nh3000)
87321c2f794Smrg		basic_machine=m68k-harris
87421c2f794Smrg		os=-cxux
87521c2f794Smrg		;;
87621c2f794Smrg	nh[45]000)
87721c2f794Smrg		basic_machine=m88k-harris
87821c2f794Smrg		os=-cxux
87921c2f794Smrg		;;
88021c2f794Smrg	nindy960)
88121c2f794Smrg		basic_machine=i960-intel
88221c2f794Smrg		os=-nindy
88321c2f794Smrg		;;
88421c2f794Smrg	mon960)
88521c2f794Smrg		basic_machine=i960-intel
88621c2f794Smrg		os=-mon960
88721c2f794Smrg		;;
88821c2f794Smrg	nonstopux)
88921c2f794Smrg		basic_machine=mips-compaq
89021c2f794Smrg		os=-nonstopux
89121c2f794Smrg		;;
89221c2f794Smrg	np1)
89321c2f794Smrg		basic_machine=np1-gould
89421c2f794Smrg		;;
89582e12b1bSmrg	neo-tandem)
89612391620Smrg		basic_machine=neo-tandem
89712391620Smrg		;;
89882e12b1bSmrg	nse-tandem)
89912391620Smrg		basic_machine=nse-tandem
90012391620Smrg		;;
90121c2f794Smrg	nsr-tandem)
90221c2f794Smrg		basic_machine=nsr-tandem
90321c2f794Smrg		;;
90421c2f794Smrg	op50n-* | op60c-*)
90521c2f794Smrg		basic_machine=hppa1.1-oki
90621c2f794Smrg		os=-proelf
90721c2f794Smrg		;;
90821c2f794Smrg	openrisc | openrisc-*)
90921c2f794Smrg		basic_machine=or32-unknown
91021c2f794Smrg		;;
91121c2f794Smrg	os400)
91221c2f794Smrg		basic_machine=powerpc-ibm
91321c2f794Smrg		os=-os400
91421c2f794Smrg		;;
91521c2f794Smrg	OSE68000 | ose68000)
91621c2f794Smrg		basic_machine=m68000-ericsson
91721c2f794Smrg		os=-ose
91821c2f794Smrg		;;
91921c2f794Smrg	os68k)
92021c2f794Smrg		basic_machine=m68k-none
92121c2f794Smrg		os=-os68k
92221c2f794Smrg		;;
92321c2f794Smrg	pa-hitachi)
92421c2f794Smrg		basic_machine=hppa1.1-hitachi
92521c2f794Smrg		os=-hiuxwe2
92621c2f794Smrg		;;
92721c2f794Smrg	paragon)
92821c2f794Smrg		basic_machine=i860-intel
92921c2f794Smrg		os=-osf
93021c2f794Smrg		;;
93121c2f794Smrg	parisc)
93221c2f794Smrg		basic_machine=hppa-unknown
93321c2f794Smrg		os=-linux
93421c2f794Smrg		;;
93521c2f794Smrg	parisc-*)
93621c2f794Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
93721c2f794Smrg		os=-linux
93821c2f794Smrg		;;
93921c2f794Smrg	pbd)
94021c2f794Smrg		basic_machine=sparc-tti
94121c2f794Smrg		;;
94221c2f794Smrg	pbb)
94321c2f794Smrg		basic_machine=m68k-tti
94421c2f794Smrg		;;
94521c2f794Smrg	pc532 | pc532-*)
94621c2f794Smrg		basic_machine=ns32k-pc532
94721c2f794Smrg		;;
94821c2f794Smrg	pc98)
94921c2f794Smrg		basic_machine=i386-pc
95021c2f794Smrg		;;
95121c2f794Smrg	pc98-*)
95221c2f794Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95321c2f794Smrg		;;
95421c2f794Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95521c2f794Smrg		basic_machine=i586-pc
95621c2f794Smrg		;;
95721c2f794Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95821c2f794Smrg		basic_machine=i686-pc
95921c2f794Smrg		;;
96021c2f794Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
96121c2f794Smrg		basic_machine=i686-pc
96221c2f794Smrg		;;
96321c2f794Smrg	pentium4)
96421c2f794Smrg		basic_machine=i786-pc
96521c2f794Smrg		;;
96621c2f794Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96721c2f794Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96821c2f794Smrg		;;
96921c2f794Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
97021c2f794Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97121c2f794Smrg		;;
97221c2f794Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97321c2f794Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97421c2f794Smrg		;;
97521c2f794Smrg	pentium4-*)
97621c2f794Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97721c2f794Smrg		;;
97821c2f794Smrg	pn)
97921c2f794Smrg		basic_machine=pn-gould
98021c2f794Smrg		;;
98121c2f794Smrg	power)	basic_machine=power-ibm
98221c2f794Smrg		;;
98382e12b1bSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98421c2f794Smrg		;;
98582e12b1bSmrg	ppc-* | ppcbe-*)
98682e12b1bSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98721c2f794Smrg		;;
98821c2f794Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98921c2f794Smrg		basic_machine=powerpcle-unknown
99021c2f794Smrg		;;
99121c2f794Smrg	ppcle-* | powerpclittle-*)
99221c2f794Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99321c2f794Smrg		;;
99421c2f794Smrg	ppc64)	basic_machine=powerpc64-unknown
99521c2f794Smrg		;;
99621c2f794Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99721c2f794Smrg		;;
99821c2f794Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99921c2f794Smrg		basic_machine=powerpc64le-unknown
100021c2f794Smrg		;;
100121c2f794Smrg	ppc64le-* | powerpc64little-*)
100221c2f794Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100321c2f794Smrg		;;
100421c2f794Smrg	ps2)
100521c2f794Smrg		basic_machine=i386-ibm
100621c2f794Smrg		;;
100721c2f794Smrg	pw32)
100821c2f794Smrg		basic_machine=i586-unknown
100921c2f794Smrg		os=-pw32
101021c2f794Smrg		;;
101121c2f794Smrg	rdos)
101221c2f794Smrg		basic_machine=i386-pc
101321c2f794Smrg		os=-rdos
101421c2f794Smrg		;;
101521c2f794Smrg	rom68k)
101621c2f794Smrg		basic_machine=m68k-rom68k
101721c2f794Smrg		os=-coff
101821c2f794Smrg		;;
101921c2f794Smrg	rm[46]00)
102021c2f794Smrg		basic_machine=mips-siemens
102121c2f794Smrg		;;
102221c2f794Smrg	rtpc | rtpc-*)
102321c2f794Smrg		basic_machine=romp-ibm
102421c2f794Smrg		;;
102521c2f794Smrg	s390 | s390-*)
102621c2f794Smrg		basic_machine=s390-ibm
102721c2f794Smrg		;;
102821c2f794Smrg	s390x | s390x-*)
102921c2f794Smrg		basic_machine=s390x-ibm
103021c2f794Smrg		;;
103121c2f794Smrg	sa29200)
103221c2f794Smrg		basic_machine=a29k-amd
103321c2f794Smrg		os=-udi
103421c2f794Smrg		;;
103521c2f794Smrg	sb1)
103621c2f794Smrg		basic_machine=mipsisa64sb1-unknown
103721c2f794Smrg		;;
103821c2f794Smrg	sb1el)
103921c2f794Smrg		basic_machine=mipsisa64sb1el-unknown
104021c2f794Smrg		;;
104121c2f794Smrg	sde)
104221c2f794Smrg		basic_machine=mipsisa32-sde
104321c2f794Smrg		os=-elf
104421c2f794Smrg		;;
104521c2f794Smrg	sei)
104621c2f794Smrg		basic_machine=mips-sei
104721c2f794Smrg		os=-seiux
104821c2f794Smrg		;;
104921c2f794Smrg	sequent)
105021c2f794Smrg		basic_machine=i386-sequent
105121c2f794Smrg		;;
105221c2f794Smrg	sh)
105321c2f794Smrg		basic_machine=sh-hitachi
105421c2f794Smrg		os=-hms
105521c2f794Smrg		;;
105621c2f794Smrg	sh5el)
105721c2f794Smrg		basic_machine=sh5le-unknown
105821c2f794Smrg		;;
105921c2f794Smrg	sh64)
106021c2f794Smrg		basic_machine=sh64-unknown
106121c2f794Smrg		;;
106221c2f794Smrg	sparclite-wrs | simso-wrs)
106321c2f794Smrg		basic_machine=sparclite-wrs
106421c2f794Smrg		os=-vxworks
106521c2f794Smrg		;;
106621c2f794Smrg	sps7)
106721c2f794Smrg		basic_machine=m68k-bull
106821c2f794Smrg		os=-sysv2
106921c2f794Smrg		;;
107021c2f794Smrg	spur)
107121c2f794Smrg		basic_machine=spur-unknown
107221c2f794Smrg		;;
107321c2f794Smrg	st2000)
107421c2f794Smrg		basic_machine=m68k-tandem
107521c2f794Smrg		;;
107621c2f794Smrg	stratus)
107721c2f794Smrg		basic_machine=i860-stratus
107821c2f794Smrg		os=-sysv4
107921c2f794Smrg		;;
108082e12b1bSmrg	strongarm-* | thumb-*)
108182e12b1bSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
108282e12b1bSmrg		;;
108321c2f794Smrg	sun2)
108421c2f794Smrg		basic_machine=m68000-sun
108521c2f794Smrg		;;
108621c2f794Smrg	sun2os3)
108721c2f794Smrg		basic_machine=m68000-sun
108821c2f794Smrg		os=-sunos3
108921c2f794Smrg		;;
109021c2f794Smrg	sun2os4)
109121c2f794Smrg		basic_machine=m68000-sun
109221c2f794Smrg		os=-sunos4
109321c2f794Smrg		;;
109421c2f794Smrg	sun3os3)
109521c2f794Smrg		basic_machine=m68k-sun
109621c2f794Smrg		os=-sunos3
109721c2f794Smrg		;;
109821c2f794Smrg	sun3os4)
109921c2f794Smrg		basic_machine=m68k-sun
110021c2f794Smrg		os=-sunos4
110121c2f794Smrg		;;
110221c2f794Smrg	sun4os3)
110321c2f794Smrg		basic_machine=sparc-sun
110421c2f794Smrg		os=-sunos3
110521c2f794Smrg		;;
110621c2f794Smrg	sun4os4)
110721c2f794Smrg		basic_machine=sparc-sun
110821c2f794Smrg		os=-sunos4
110921c2f794Smrg		;;
111021c2f794Smrg	sun4sol2)
111121c2f794Smrg		basic_machine=sparc-sun
111221c2f794Smrg		os=-solaris2
111321c2f794Smrg		;;
111421c2f794Smrg	sun3 | sun3-*)
111521c2f794Smrg		basic_machine=m68k-sun
111621c2f794Smrg		;;
111721c2f794Smrg	sun4)
111821c2f794Smrg		basic_machine=sparc-sun
111921c2f794Smrg		;;
112021c2f794Smrg	sun386 | sun386i | roadrunner)
112121c2f794Smrg		basic_machine=i386-sun
112221c2f794Smrg		;;
112321c2f794Smrg	sv1)
112421c2f794Smrg		basic_machine=sv1-cray
112521c2f794Smrg		os=-unicos
112621c2f794Smrg		;;
112721c2f794Smrg	symmetry)
112821c2f794Smrg		basic_machine=i386-sequent
112921c2f794Smrg		os=-dynix
113021c2f794Smrg		;;
113121c2f794Smrg	t3e)
113221c2f794Smrg		basic_machine=alphaev5-cray
113321c2f794Smrg		os=-unicos
113421c2f794Smrg		;;
113521c2f794Smrg	t90)
113621c2f794Smrg		basic_machine=t90-cray
113721c2f794Smrg		os=-unicos
113821c2f794Smrg		;;
113912391620Smrg	tile*)
114082e12b1bSmrg		basic_machine=$basic_machine-unknown
114112391620Smrg		os=-linux-gnu
114221c2f794Smrg		;;
114321c2f794Smrg	tx39)
114421c2f794Smrg		basic_machine=mipstx39-unknown
114521c2f794Smrg		;;
114621c2f794Smrg	tx39el)
114721c2f794Smrg		basic_machine=mipstx39el-unknown
114821c2f794Smrg		;;
114921c2f794Smrg	toad1)
115021c2f794Smrg		basic_machine=pdp10-xkl
115121c2f794Smrg		os=-tops20
115221c2f794Smrg		;;
115321c2f794Smrg	tower | tower-32)
115421c2f794Smrg		basic_machine=m68k-ncr
115521c2f794Smrg		;;
115621c2f794Smrg	tpf)
115721c2f794Smrg		basic_machine=s390x-ibm
115821c2f794Smrg		os=-tpf
115921c2f794Smrg		;;
116021c2f794Smrg	udi29k)
116121c2f794Smrg		basic_machine=a29k-amd
116221c2f794Smrg		os=-udi
116321c2f794Smrg		;;
116421c2f794Smrg	ultra3)
116521c2f794Smrg		basic_machine=a29k-nyu
116621c2f794Smrg		os=-sym1
116721c2f794Smrg		;;
116821c2f794Smrg	v810 | necv810)
116921c2f794Smrg		basic_machine=v810-nec
117021c2f794Smrg		os=-none
117121c2f794Smrg		;;
117221c2f794Smrg	vaxv)
117321c2f794Smrg		basic_machine=vax-dec
117421c2f794Smrg		os=-sysv
117521c2f794Smrg		;;
117621c2f794Smrg	vms)
117721c2f794Smrg		basic_machine=vax-dec
117821c2f794Smrg		os=-vms
117921c2f794Smrg		;;
118021c2f794Smrg	vpp*|vx|vx-*)
118121c2f794Smrg		basic_machine=f301-fujitsu
118221c2f794Smrg		;;
118321c2f794Smrg	vxworks960)
118421c2f794Smrg		basic_machine=i960-wrs
118521c2f794Smrg		os=-vxworks
118621c2f794Smrg		;;
118721c2f794Smrg	vxworks68)
118821c2f794Smrg		basic_machine=m68k-wrs
118921c2f794Smrg		os=-vxworks
119021c2f794Smrg		;;
119121c2f794Smrg	vxworks29k)
119221c2f794Smrg		basic_machine=a29k-wrs
119321c2f794Smrg		os=-vxworks
119421c2f794Smrg		;;
119521c2f794Smrg	w65*)
119621c2f794Smrg		basic_machine=w65-wdc
119721c2f794Smrg		os=-none
119821c2f794Smrg		;;
119921c2f794Smrg	w89k-*)
120021c2f794Smrg		basic_machine=hppa1.1-winbond
120121c2f794Smrg		os=-proelf
120221c2f794Smrg		;;
120321c2f794Smrg	xbox)
120421c2f794Smrg		basic_machine=i686-pc
120521c2f794Smrg		os=-mingw32
120621c2f794Smrg		;;
120721c2f794Smrg	xps | xps100)
120821c2f794Smrg		basic_machine=xps100-honeywell
120921c2f794Smrg		;;
121082e12b1bSmrg	xscale-* | xscalee[bl]-*)
121182e12b1bSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
121282e12b1bSmrg		;;
121321c2f794Smrg	ymp)
121421c2f794Smrg		basic_machine=ymp-cray
121521c2f794Smrg		os=-unicos
121621c2f794Smrg		;;
121721c2f794Smrg	z8k-*-coff)
121821c2f794Smrg		basic_machine=z8k-unknown
121921c2f794Smrg		os=-sim
122021c2f794Smrg		;;
122112391620Smrg	z80-*-coff)
122212391620Smrg		basic_machine=z80-unknown
122312391620Smrg		os=-sim
122412391620Smrg		;;
122521c2f794Smrg	none)
122621c2f794Smrg		basic_machine=none-none
122721c2f794Smrg		os=-none
122821c2f794Smrg		;;
122921c2f794Smrg
123021c2f794Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
123121c2f794Smrg# some cases the only manufacturer, in others, it is the most popular.
123221c2f794Smrg	w89k)
123321c2f794Smrg		basic_machine=hppa1.1-winbond
123421c2f794Smrg		;;
123521c2f794Smrg	op50n)
123621c2f794Smrg		basic_machine=hppa1.1-oki
123721c2f794Smrg		;;
123821c2f794Smrg	op60c)
123921c2f794Smrg		basic_machine=hppa1.1-oki
124021c2f794Smrg		;;
124121c2f794Smrg	romp)
124221c2f794Smrg		basic_machine=romp-ibm
124321c2f794Smrg		;;
124421c2f794Smrg	mmix)
124521c2f794Smrg		basic_machine=mmix-knuth
124621c2f794Smrg		;;
124721c2f794Smrg	rs6000)
124821c2f794Smrg		basic_machine=rs6000-ibm
124921c2f794Smrg		;;
125021c2f794Smrg	vax)
125121c2f794Smrg		basic_machine=vax-dec
125221c2f794Smrg		;;
125321c2f794Smrg	pdp10)
125421c2f794Smrg		# there are many clones, so DEC is not a safe bet
125521c2f794Smrg		basic_machine=pdp10-unknown
125621c2f794Smrg		;;
125721c2f794Smrg	pdp11)
125821c2f794Smrg		basic_machine=pdp11-dec
125921c2f794Smrg		;;
126021c2f794Smrg	we32k)
126121c2f794Smrg		basic_machine=we32k-att
126221c2f794Smrg		;;
126312391620Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126421c2f794Smrg		basic_machine=sh-unknown
126521c2f794Smrg		;;
126621c2f794Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126721c2f794Smrg		basic_machine=sparc-sun
126821c2f794Smrg		;;
126921c2f794Smrg	cydra)
127021c2f794Smrg		basic_machine=cydra-cydrome
127121c2f794Smrg		;;
127221c2f794Smrg	orion)
127321c2f794Smrg		basic_machine=orion-highlevel
127421c2f794Smrg		;;
127521c2f794Smrg	orion105)
127621c2f794Smrg		basic_machine=clipper-highlevel
127721c2f794Smrg		;;
127821c2f794Smrg	mac | mpw | mac-mpw)
127921c2f794Smrg		basic_machine=m68k-apple
128021c2f794Smrg		;;
128121c2f794Smrg	pmac | pmac-mpw)
128221c2f794Smrg		basic_machine=powerpc-apple
128321c2f794Smrg		;;
128421c2f794Smrg	*-unknown)
128521c2f794Smrg		# Make sure to match an already-canonicalized machine name.
128621c2f794Smrg		;;
128721c2f794Smrg	*)
128821c2f794Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128921c2f794Smrg		exit 1
129021c2f794Smrg		;;
129121c2f794Smrgesac
129221c2f794Smrg
129321c2f794Smrg# Here we canonicalize certain aliases for manufacturers.
129421c2f794Smrgcase $basic_machine in
129521c2f794Smrg	*-digital*)
129621c2f794Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129721c2f794Smrg		;;
129821c2f794Smrg	*-commodore*)
129921c2f794Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
130021c2f794Smrg		;;
130121c2f794Smrg	*)
130221c2f794Smrg		;;
130321c2f794Smrgesac
130421c2f794Smrg
130521c2f794Smrg# Decode manufacturer-specific aliases for certain operating systems.
130621c2f794Smrg
130721c2f794Smrgif [ x"$os" != x"" ]
130821c2f794Smrgthen
130921c2f794Smrgcase $os in
131082e12b1bSmrg	# First match some system type aliases
131182e12b1bSmrg	# that might get confused with valid system types.
131221c2f794Smrg	# -solaris* is a basic system type, with this one exception.
131382e12b1bSmrg	-auroraux)
131482e12b1bSmrg		os=-auroraux
131512391620Smrg		;;
131621c2f794Smrg	-solaris1 | -solaris1.*)
131721c2f794Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131821c2f794Smrg		;;
131921c2f794Smrg	-solaris)
132021c2f794Smrg		os=-solaris2
132121c2f794Smrg		;;
132221c2f794Smrg	-svr4*)
132321c2f794Smrg		os=-sysv4
132421c2f794Smrg		;;
132521c2f794Smrg	-unixware*)
132621c2f794Smrg		os=-sysv4.2uw
132721c2f794Smrg		;;
132821c2f794Smrg	-gnu/linux*)
132921c2f794Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
133021c2f794Smrg		;;
133121c2f794Smrg	# First accept the basic system types.
133221c2f794Smrg	# The portable systems comes first.
133321c2f794Smrg	# Each alternative MUST END IN A *, to match a version number.
133421c2f794Smrg	# -sysv* is not here because it comes later, after sysvr4.
133521c2f794Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
133612391620Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
133712391620Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
133812391620Smrg	      | -sym* | -kopensolaris* \
133921c2f794Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
134012391620Smrg	      | -aos* | -aros* \
134121c2f794Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134221c2f794Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134321c2f794Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134421c2f794Smrg	      | -openbsd* | -solidbsd* \
134521c2f794Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134621c2f794Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134721c2f794Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134821c2f794Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
134912391620Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
135082e12b1bSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
135112391620Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
135212391620Smrg	      | -linux-newlib* | -linux-uclibc* \
135321c2f794Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135421c2f794Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135521c2f794Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135621c2f794Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135721c2f794Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135821c2f794Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135921c2f794Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
136012391620Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
136121c2f794Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136221c2f794Smrg		;;
136321c2f794Smrg	-qnx*)
136421c2f794Smrg		case $basic_machine in
136521c2f794Smrg		    x86-* | i*86-*)
136621c2f794Smrg			;;
136721c2f794Smrg		    *)
136821c2f794Smrg			os=-nto$os
136921c2f794Smrg			;;
137021c2f794Smrg		esac
137121c2f794Smrg		;;
137221c2f794Smrg	-nto-qnx*)
137321c2f794Smrg		;;
137421c2f794Smrg	-nto*)
137521c2f794Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137621c2f794Smrg		;;
137721c2f794Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137821c2f794Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137921c2f794Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
138021c2f794Smrg		;;
138121c2f794Smrg	-mac*)
138221c2f794Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138321c2f794Smrg		;;
138421c2f794Smrg	-linux-dietlibc)
138521c2f794Smrg		os=-linux-dietlibc
138621c2f794Smrg		;;
138721c2f794Smrg	-linux*)
138821c2f794Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138921c2f794Smrg		;;
139021c2f794Smrg	-sunos5*)
139121c2f794Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139221c2f794Smrg		;;
139321c2f794Smrg	-sunos6*)
139421c2f794Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139521c2f794Smrg		;;
139621c2f794Smrg	-opened*)
139721c2f794Smrg		os=-openedition
139821c2f794Smrg		;;
139982e12b1bSmrg	-os400*)
140021c2f794Smrg		os=-os400
140121c2f794Smrg		;;
140221c2f794Smrg	-wince*)
140321c2f794Smrg		os=-wince
140421c2f794Smrg		;;
140521c2f794Smrg	-osfrose*)
140621c2f794Smrg		os=-osfrose
140721c2f794Smrg		;;
140821c2f794Smrg	-osf*)
140921c2f794Smrg		os=-osf
141021c2f794Smrg		;;
141121c2f794Smrg	-utek*)
141221c2f794Smrg		os=-bsd
141321c2f794Smrg		;;
141421c2f794Smrg	-dynix*)
141521c2f794Smrg		os=-bsd
141621c2f794Smrg		;;
141721c2f794Smrg	-acis*)
141821c2f794Smrg		os=-aos
141921c2f794Smrg		;;
142021c2f794Smrg	-atheos*)
142121c2f794Smrg		os=-atheos
142221c2f794Smrg		;;
142321c2f794Smrg	-syllable*)
142421c2f794Smrg		os=-syllable
142521c2f794Smrg		;;
142621c2f794Smrg	-386bsd)
142721c2f794Smrg		os=-bsd
142821c2f794Smrg		;;
142921c2f794Smrg	-ctix* | -uts*)
143021c2f794Smrg		os=-sysv
143121c2f794Smrg		;;
143221c2f794Smrg	-nova*)
143321c2f794Smrg		os=-rtmk-nova
143421c2f794Smrg		;;
143521c2f794Smrg	-ns2 )
143621c2f794Smrg		os=-nextstep2
143721c2f794Smrg		;;
143821c2f794Smrg	-nsk*)
143921c2f794Smrg		os=-nsk
144021c2f794Smrg		;;
144121c2f794Smrg	# Preserve the version number of sinix5.
144221c2f794Smrg	-sinix5.*)
144321c2f794Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144421c2f794Smrg		;;
144521c2f794Smrg	-sinix*)
144621c2f794Smrg		os=-sysv4
144721c2f794Smrg		;;
144882e12b1bSmrg	-tpf*)
144921c2f794Smrg		os=-tpf
145021c2f794Smrg		;;
145121c2f794Smrg	-triton*)
145221c2f794Smrg		os=-sysv3
145321c2f794Smrg		;;
145421c2f794Smrg	-oss*)
145521c2f794Smrg		os=-sysv3
145621c2f794Smrg		;;
145721c2f794Smrg	-svr4)
145821c2f794Smrg		os=-sysv4
145921c2f794Smrg		;;
146021c2f794Smrg	-svr3)
146121c2f794Smrg		os=-sysv3
146221c2f794Smrg		;;
146321c2f794Smrg	-sysvr4)
146421c2f794Smrg		os=-sysv4
146521c2f794Smrg		;;
146621c2f794Smrg	# This must come after -sysvr4.
146721c2f794Smrg	-sysv*)
146821c2f794Smrg		;;
146921c2f794Smrg	-ose*)
147021c2f794Smrg		os=-ose
147121c2f794Smrg		;;
147221c2f794Smrg	-es1800*)
147321c2f794Smrg		os=-ose
147421c2f794Smrg		;;
147521c2f794Smrg	-xenix)
147621c2f794Smrg		os=-xenix
147721c2f794Smrg		;;
147821c2f794Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147921c2f794Smrg		os=-mint
148021c2f794Smrg		;;
148121c2f794Smrg	-aros*)
148221c2f794Smrg		os=-aros
148321c2f794Smrg		;;
148421c2f794Smrg	-kaos*)
148521c2f794Smrg		os=-kaos
148621c2f794Smrg		;;
148721c2f794Smrg	-zvmoe)
148821c2f794Smrg		os=-zvmoe
148921c2f794Smrg		;;
149012391620Smrg	-dicos*)
149112391620Smrg		os=-dicos
149212391620Smrg		;;
149382e12b1bSmrg	-nacl*)
149482e12b1bSmrg		;;
149521c2f794Smrg	-none)
149621c2f794Smrg		;;
149721c2f794Smrg	*)
149821c2f794Smrg		# Get rid of the `-' at the beginning of $os.
149921c2f794Smrg		os=`echo $os | sed 's/[^-]*-//'`
150021c2f794Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
150121c2f794Smrg		exit 1
150221c2f794Smrg		;;
150321c2f794Smrgesac
150421c2f794Smrgelse
150521c2f794Smrg
150621c2f794Smrg# Here we handle the default operating systems that come with various machines.
150721c2f794Smrg# The value should be what the vendor currently ships out the door with their
150821c2f794Smrg# machine or put another way, the most popular os provided with the machine.
150921c2f794Smrg
151021c2f794Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
151121c2f794Smrg# "-sun"), then you have to tell the case statement up towards the top
151221c2f794Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151321c2f794Smrg# will signal an error saying that MANUFACTURER isn't an operating
151421c2f794Smrg# system, and we'll never get to this point.
151521c2f794Smrg
151621c2f794Smrgcase $basic_machine in
151782e12b1bSmrg	score-*)
151821c2f794Smrg		os=-elf
151921c2f794Smrg		;;
152082e12b1bSmrg	spu-*)
152121c2f794Smrg		os=-elf
152221c2f794Smrg		;;
152321c2f794Smrg	*-acorn)
152421c2f794Smrg		os=-riscix1.2
152521c2f794Smrg		;;
152621c2f794Smrg	arm*-rebel)
152721c2f794Smrg		os=-linux
152821c2f794Smrg		;;
152921c2f794Smrg	arm*-semi)
153021c2f794Smrg		os=-aout
153121c2f794Smrg		;;
153282e12b1bSmrg	c4x-* | tic4x-*)
153382e12b1bSmrg		os=-coff
153421c2f794Smrg		;;
153512391620Smrg	tic54x-*)
153612391620Smrg		os=-coff
153712391620Smrg		;;
153812391620Smrg	tic55x-*)
153912391620Smrg		os=-coff
154012391620Smrg		;;
154112391620Smrg	tic6x-*)
154212391620Smrg		os=-coff
154312391620Smrg		;;
154421c2f794Smrg	# This must come before the *-dec entry.
154521c2f794Smrg	pdp10-*)
154621c2f794Smrg		os=-tops20
154721c2f794Smrg		;;
154821c2f794Smrg	pdp11-*)
154921c2f794Smrg		os=-none
155021c2f794Smrg		;;
155121c2f794Smrg	*-dec | vax-*)
155221c2f794Smrg		os=-ultrix4.2
155321c2f794Smrg		;;
155421c2f794Smrg	m68*-apollo)
155521c2f794Smrg		os=-domain
155621c2f794Smrg		;;
155721c2f794Smrg	i386-sun)
155821c2f794Smrg		os=-sunos4.0.2
155921c2f794Smrg		;;
156021c2f794Smrg	m68000-sun)
156121c2f794Smrg		os=-sunos3
156221c2f794Smrg		# This also exists in the configure program, but was not the
156321c2f794Smrg		# default.
156421c2f794Smrg		# os=-sunos4
156521c2f794Smrg		;;
156621c2f794Smrg	m68*-cisco)
156721c2f794Smrg		os=-aout
156821c2f794Smrg		;;
156982e12b1bSmrg	mep-*)
157021c2f794Smrg		os=-elf
157121c2f794Smrg		;;
157221c2f794Smrg	mips*-cisco)
157321c2f794Smrg		os=-elf
157421c2f794Smrg		;;
157521c2f794Smrg	mips*-*)
157621c2f794Smrg		os=-elf
157721c2f794Smrg		;;
157821c2f794Smrg	or32-*)
157921c2f794Smrg		os=-coff
158021c2f794Smrg		;;
158121c2f794Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
158221c2f794Smrg		os=-sysv3
158321c2f794Smrg		;;
158421c2f794Smrg	sparc-* | *-sun)
158521c2f794Smrg		os=-sunos4.1.1
158621c2f794Smrg		;;
158721c2f794Smrg	*-be)
158821c2f794Smrg		os=-beos
158921c2f794Smrg		;;
159021c2f794Smrg	*-haiku)
159121c2f794Smrg		os=-haiku
159221c2f794Smrg		;;
159321c2f794Smrg	*-ibm)
159421c2f794Smrg		os=-aix
159521c2f794Smrg		;;
159682e12b1bSmrg	*-knuth)
159721c2f794Smrg		os=-mmixware
159821c2f794Smrg		;;
159921c2f794Smrg	*-wec)
160021c2f794Smrg		os=-proelf
160121c2f794Smrg		;;
160221c2f794Smrg	*-winbond)
160321c2f794Smrg		os=-proelf
160421c2f794Smrg		;;
160521c2f794Smrg	*-oki)
160621c2f794Smrg		os=-proelf
160721c2f794Smrg		;;
160821c2f794Smrg	*-hp)
160921c2f794Smrg		os=-hpux
161021c2f794Smrg		;;
161121c2f794Smrg	*-hitachi)
161221c2f794Smrg		os=-hiux
161321c2f794Smrg		;;
161421c2f794Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161521c2f794Smrg		os=-sysv
161621c2f794Smrg		;;
161721c2f794Smrg	*-cbm)
161821c2f794Smrg		os=-amigaos
161921c2f794Smrg		;;
162021c2f794Smrg	*-dg)
162121c2f794Smrg		os=-dgux
162221c2f794Smrg		;;
162321c2f794Smrg	*-dolphin)
162421c2f794Smrg		os=-sysv3
162521c2f794Smrg		;;
162621c2f794Smrg	m68k-ccur)
162721c2f794Smrg		os=-rtu
162821c2f794Smrg		;;
162921c2f794Smrg	m88k-omron*)
163021c2f794Smrg		os=-luna
163121c2f794Smrg		;;
163221c2f794Smrg	*-next )
163321c2f794Smrg		os=-nextstep
163421c2f794Smrg		;;
163521c2f794Smrg	*-sequent)
163621c2f794Smrg		os=-ptx
163721c2f794Smrg		;;
163821c2f794Smrg	*-crds)
163921c2f794Smrg		os=-unos
164021c2f794Smrg		;;
164121c2f794Smrg	*-ns)
164221c2f794Smrg		os=-genix
164321c2f794Smrg		;;
164421c2f794Smrg	i370-*)
164521c2f794Smrg		os=-mvs
164621c2f794Smrg		;;
164721c2f794Smrg	*-next)
164821c2f794Smrg		os=-nextstep3
164921c2f794Smrg		;;
165021c2f794Smrg	*-gould)
165121c2f794Smrg		os=-sysv
165221c2f794Smrg		;;
165321c2f794Smrg	*-highlevel)
165421c2f794Smrg		os=-bsd
165521c2f794Smrg		;;
165621c2f794Smrg	*-encore)
165721c2f794Smrg		os=-bsd
165821c2f794Smrg		;;
165921c2f794Smrg	*-sgi)
166021c2f794Smrg		os=-irix
166121c2f794Smrg		;;
166221c2f794Smrg	*-siemens)
166321c2f794Smrg		os=-sysv4
166421c2f794Smrg		;;
166521c2f794Smrg	*-masscomp)
166621c2f794Smrg		os=-rtu
166721c2f794Smrg		;;
166821c2f794Smrg	f30[01]-fujitsu | f700-fujitsu)
166921c2f794Smrg		os=-uxpv
167021c2f794Smrg		;;
167121c2f794Smrg	*-rom68k)
167221c2f794Smrg		os=-coff
167321c2f794Smrg		;;
167421c2f794Smrg	*-*bug)
167521c2f794Smrg		os=-coff
167621c2f794Smrg		;;
167721c2f794Smrg	*-apple)
167821c2f794Smrg		os=-macos
167921c2f794Smrg		;;
168021c2f794Smrg	*-atari*)
168121c2f794Smrg		os=-mint
168221c2f794Smrg		;;
168321c2f794Smrg	*)
168421c2f794Smrg		os=-none
168521c2f794Smrg		;;
168621c2f794Smrgesac
168721c2f794Smrgfi
168821c2f794Smrg
168921c2f794Smrg# Here we handle the case where we know the os, and the CPU type, but not the
169021c2f794Smrg# manufacturer.  We pick the logical manufacturer.
169121c2f794Smrgvendor=unknown
169221c2f794Smrgcase $basic_machine in
169321c2f794Smrg	*-unknown)
169421c2f794Smrg		case $os in
169521c2f794Smrg			-riscix*)
169621c2f794Smrg				vendor=acorn
169721c2f794Smrg				;;
169821c2f794Smrg			-sunos*)
169921c2f794Smrg				vendor=sun
170021c2f794Smrg				;;
170112391620Smrg			-cnk*|-aix*)
170221c2f794Smrg				vendor=ibm
170321c2f794Smrg				;;
170421c2f794Smrg			-beos*)
170521c2f794Smrg				vendor=be
170621c2f794Smrg				;;
170721c2f794Smrg			-hpux*)
170821c2f794Smrg				vendor=hp
170921c2f794Smrg				;;
171021c2f794Smrg			-mpeix*)
171121c2f794Smrg				vendor=hp
171221c2f794Smrg				;;
171321c2f794Smrg			-hiux*)
171421c2f794Smrg				vendor=hitachi
171521c2f794Smrg				;;
171621c2f794Smrg			-unos*)
171721c2f794Smrg				vendor=crds
171821c2f794Smrg				;;
171921c2f794Smrg			-dgux*)
172021c2f794Smrg				vendor=dg
172121c2f794Smrg				;;
172221c2f794Smrg			-luna*)
172321c2f794Smrg				vendor=omron
172421c2f794Smrg				;;
172521c2f794Smrg			-genix*)
172621c2f794Smrg				vendor=ns
172721c2f794Smrg				;;
172821c2f794Smrg			-mvs* | -opened*)
172921c2f794Smrg				vendor=ibm
173021c2f794Smrg				;;
173121c2f794Smrg			-os400*)
173221c2f794Smrg				vendor=ibm
173321c2f794Smrg				;;
173421c2f794Smrg			-ptx*)
173521c2f794Smrg				vendor=sequent
173621c2f794Smrg				;;
173721c2f794Smrg			-tpf*)
173821c2f794Smrg				vendor=ibm
173921c2f794Smrg				;;
174021c2f794Smrg			-vxsim* | -vxworks* | -windiss*)
174121c2f794Smrg				vendor=wrs
174221c2f794Smrg				;;
174321c2f794Smrg			-aux*)
174421c2f794Smrg				vendor=apple
174521c2f794Smrg				;;
174621c2f794Smrg			-hms*)
174721c2f794Smrg				vendor=hitachi
174821c2f794Smrg				;;
174921c2f794Smrg			-mpw* | -macos*)
175021c2f794Smrg				vendor=apple
175121c2f794Smrg				;;
175221c2f794Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
175321c2f794Smrg				vendor=atari
175421c2f794Smrg				;;
175521c2f794Smrg			-vos*)
175621c2f794Smrg				vendor=stratus
175721c2f794Smrg				;;
175821c2f794Smrg		esac
175921c2f794Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176021c2f794Smrg		;;
176121c2f794Smrgesac
176221c2f794Smrg
176321c2f794Smrgecho $basic_machine$os
176421c2f794Smrgexit
176521c2f794Smrg
176621c2f794Smrg# Local variables:
176721c2f794Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176821c2f794Smrg# time-stamp-start: "timestamp='"
176921c2f794Smrg# time-stamp-format: "%:y-%02m-%02d"
177021c2f794Smrg# time-stamp-end: "'"
177121c2f794Smrg# End:
1772