config.sub revision 1b2353db
121c2f794Smrg#! /bin/sh
221c2f794Smrg# Configuration validation subroutine script.
31b2353dbSmrg#   Copyright 1992-2013 Free Software Foundation, Inc.
421c2f794Smrg
51b2353dbSmrgtimestamp='2013-10-01'
621c2f794Smrg
71b2353dbSmrg# This file is free software; you can redistribute it and/or modify it
81b2353dbSmrg# under the terms of the GNU General Public License as published by
91b2353dbSmrg# the Free Software Foundation; either version 3 of the License, or
1021c2f794Smrg# (at your option) any later version.
1121c2f794Smrg#
121b2353dbSmrg# This program is distributed in the hope that it will be useful, but
131b2353dbSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
141b2353dbSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
151b2353dbSmrg# General Public License for more details.
1621c2f794Smrg#
1721c2f794Smrg# You should have received a copy of the GNU General Public License
181b2353dbSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1921c2f794Smrg#
2021c2f794Smrg# As a special exception to the GNU General Public License, if you
2121c2f794Smrg# distribute this file as part of a program that contains a
2221c2f794Smrg# configuration script generated by Autoconf, you may include it under
231b2353dbSmrg# the same distribution terms that you use for the rest of that
241b2353dbSmrg# program.  This Exception is an additional permission under section 7
251b2353dbSmrg# of the GNU General Public License, version 3 ("GPLv3").
2621c2f794Smrg
2721c2f794Smrg
281b2353dbSmrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2921c2f794Smrg#
3021c2f794Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3121c2f794Smrg# Supply the specified configuration type as an argument.
3221c2f794Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
3321c2f794Smrg# Otherwise, we print the canonical config type on stdout and succeed.
3421c2f794Smrg
3512391620Smrg# You can get the latest version of this script from:
3612391620Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3712391620Smrg
3821c2f794Smrg# This file is supposed to be the same for all GNU packages
3921c2f794Smrg# and recognize all the CPU types, system types and aliases
4021c2f794Smrg# that are meaningful with *any* GNU software.
4121c2f794Smrg# Each package is responsible for reporting which valid configurations
4221c2f794Smrg# it does not support.  The user should be able to distinguish
4321c2f794Smrg# a failure to support a valid configuration from a meaningless
4421c2f794Smrg# configuration.
4521c2f794Smrg
4621c2f794Smrg# The goal of this file is to map all the various variations of a given
4721c2f794Smrg# machine specification into a single specification in the form:
4821c2f794Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4921c2f794Smrg# or in some cases, the newer four-part form:
5021c2f794Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5121c2f794Smrg# It is wrong to echo any other type of specification.
5221c2f794Smrg
5321c2f794Smrgme=`echo "$0" | sed -e 's,.*/,,'`
5421c2f794Smrg
5521c2f794Smrgusage="\
5621c2f794SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5721c2f794Smrg       $0 [OPTION] ALIAS
5821c2f794Smrg
5921c2f794SmrgCanonicalize a configuration name.
6021c2f794Smrg
6121c2f794SmrgOperation modes:
6221c2f794Smrg  -h, --help         print this help, then exit
6321c2f794Smrg  -t, --time-stamp   print date of last modification, then exit
6421c2f794Smrg  -v, --version      print version number, then exit
6521c2f794Smrg
6621c2f794SmrgReport bugs and patches to <config-patches@gnu.org>."
6721c2f794Smrg
6821c2f794Smrgversion="\
6921c2f794SmrgGNU config.sub ($timestamp)
7021c2f794Smrg
711b2353dbSmrgCopyright 1992-2013 Free Software Foundation, Inc.
7221c2f794Smrg
7321c2f794SmrgThis is free software; see the source for copying conditions.  There is NO
7421c2f794Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7521c2f794Smrg
7621c2f794Smrghelp="
7721c2f794SmrgTry \`$me --help' for more information."
7821c2f794Smrg
7921c2f794Smrg# Parse command line
8021c2f794Smrgwhile test $# -gt 0 ; do
8121c2f794Smrg  case $1 in
8221c2f794Smrg    --time-stamp | --time* | -t )
8321c2f794Smrg       echo "$timestamp" ; exit ;;
8421c2f794Smrg    --version | -v )
8521c2f794Smrg       echo "$version" ; exit ;;
8621c2f794Smrg    --help | --h* | -h )
8721c2f794Smrg       echo "$usage"; exit ;;
8821c2f794Smrg    -- )     # Stop option processing
8921c2f794Smrg       shift; break ;;
9021c2f794Smrg    - )	# Use stdin as input.
9121c2f794Smrg       break ;;
9221c2f794Smrg    -* )
9321c2f794Smrg       echo "$me: invalid option $1$help"
9421c2f794Smrg       exit 1 ;;
9521c2f794Smrg
9621c2f794Smrg    *local*)
9721c2f794Smrg       # First pass through any local machine types.
9821c2f794Smrg       echo $1
9921c2f794Smrg       exit ;;
10021c2f794Smrg
10121c2f794Smrg    * )
10221c2f794Smrg       break ;;
10321c2f794Smrg  esac
10421c2f794Smrgdone
10521c2f794Smrg
10621c2f794Smrgcase $# in
10721c2f794Smrg 0) echo "$me: missing argument$help" >&2
10821c2f794Smrg    exit 1;;
10921c2f794Smrg 1) ;;
11021c2f794Smrg *) echo "$me: too many arguments$help" >&2
11121c2f794Smrg    exit 1;;
11221c2f794Smrgesac
11321c2f794Smrg
11421c2f794Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11521c2f794Smrg# Here we must recognize all the valid KERNEL-OS combinations.
11621c2f794Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11721c2f794Smrgcase $maybe_os in
11812391620Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1191b2353dbSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12012391620Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
12112391620Smrg  kopensolaris*-gnu* | \
12221c2f794Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12321c2f794Smrg    os=-$maybe_os
12421c2f794Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12521c2f794Smrg    ;;
1261b2353dbSmrg  android-linux)
1271b2353dbSmrg    os=-linux-android
1281b2353dbSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1291b2353dbSmrg    ;;
13021c2f794Smrg  *)
13121c2f794Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13221c2f794Smrg    if [ $basic_machine != $1 ]
13321c2f794Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13421c2f794Smrg    else os=; fi
13521c2f794Smrg    ;;
13621c2f794Smrgesac
13721c2f794Smrg
13821c2f794Smrg### Let's recognize common machines as not being operating systems so
13921c2f794Smrg### that things like config.sub decstation-3100 work.  We also
14021c2f794Smrg### recognize some manufacturers as not being operating systems, so we
14121c2f794Smrg### can provide default operating systems below.
14221c2f794Smrgcase $os in
14321c2f794Smrg	-sun*os*)
14421c2f794Smrg		# Prevent following clause from handling this invalid input.
14521c2f794Smrg		;;
14621c2f794Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14721c2f794Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14821c2f794Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14921c2f794Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15021c2f794Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15121c2f794Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1521b2353dbSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
15321c2f794Smrg		os=
15421c2f794Smrg		basic_machine=$1
15521c2f794Smrg		;;
15682e12b1bSmrg	-bluegene*)
15782e12b1bSmrg		os=-cnk
15812391620Smrg		;;
15921c2f794Smrg	-sim | -cisco | -oki | -wec | -winbond)
16021c2f794Smrg		os=
16121c2f794Smrg		basic_machine=$1
16221c2f794Smrg		;;
16321c2f794Smrg	-scout)
16421c2f794Smrg		;;
16521c2f794Smrg	-wrs)
16621c2f794Smrg		os=-vxworks
16721c2f794Smrg		basic_machine=$1
16821c2f794Smrg		;;
16921c2f794Smrg	-chorusos*)
17021c2f794Smrg		os=-chorusos
17121c2f794Smrg		basic_machine=$1
17221c2f794Smrg		;;
17382e12b1bSmrg	-chorusrdb)
17482e12b1bSmrg		os=-chorusrdb
17521c2f794Smrg		basic_machine=$1
17682e12b1bSmrg		;;
17721c2f794Smrg	-hiux*)
17821c2f794Smrg		os=-hiuxwe2
17921c2f794Smrg		;;
18021c2f794Smrg	-sco6)
18121c2f794Smrg		os=-sco5v6
18221c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18321c2f794Smrg		;;
18421c2f794Smrg	-sco5)
18521c2f794Smrg		os=-sco3.2v5
18621c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18721c2f794Smrg		;;
18821c2f794Smrg	-sco4)
18921c2f794Smrg		os=-sco3.2v4
19021c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19121c2f794Smrg		;;
19221c2f794Smrg	-sco3.2.[4-9]*)
19321c2f794Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19421c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19521c2f794Smrg		;;
19621c2f794Smrg	-sco3.2v[4-9]*)
19721c2f794Smrg		# Don't forget version if it is 3.2v4 or newer.
19821c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19921c2f794Smrg		;;
20021c2f794Smrg	-sco5v6*)
20121c2f794Smrg		# Don't forget version if it is 3.2v4 or newer.
20221c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20321c2f794Smrg		;;
20421c2f794Smrg	-sco*)
20521c2f794Smrg		os=-sco3.2v2
20621c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20721c2f794Smrg		;;
20821c2f794Smrg	-udk*)
20921c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21021c2f794Smrg		;;
21121c2f794Smrg	-isc)
21221c2f794Smrg		os=-isc2.2
21321c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21421c2f794Smrg		;;
21521c2f794Smrg	-clix*)
21621c2f794Smrg		basic_machine=clipper-intergraph
21721c2f794Smrg		;;
21821c2f794Smrg	-isc*)
21921c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22021c2f794Smrg		;;
2211b2353dbSmrg	-lynx*178)
2221b2353dbSmrg		os=-lynxos178
2231b2353dbSmrg		;;
2241b2353dbSmrg	-lynx*5)
2251b2353dbSmrg		os=-lynxos5
2261b2353dbSmrg		;;
22721c2f794Smrg	-lynx*)
22821c2f794Smrg		os=-lynxos
22921c2f794Smrg		;;
23021c2f794Smrg	-ptx*)
23121c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23221c2f794Smrg		;;
23321c2f794Smrg	-windowsnt*)
23421c2f794Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23521c2f794Smrg		;;
23621c2f794Smrg	-psos*)
23721c2f794Smrg		os=-psos
23821c2f794Smrg		;;
23921c2f794Smrg	-mint | -mint[0-9]*)
24021c2f794Smrg		basic_machine=m68k-atari
24121c2f794Smrg		os=-mint
24221c2f794Smrg		;;
24321c2f794Smrgesac
24421c2f794Smrg
24521c2f794Smrg# Decode aliases for certain CPU-COMPANY combinations.
24621c2f794Smrgcase $basic_machine in
24721c2f794Smrg	# Recognize the basic CPU types without company name.
24821c2f794Smrg	# Some are omitted here because they have special meanings below.
24921c2f794Smrg	1750a | 580 \
25021c2f794Smrg	| a29k \
2511b2353dbSmrg	| aarch64 | aarch64_be \
25221c2f794Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25321c2f794Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25421c2f794Smrg	| am33_2.0 \
2551b2353dbSmrg	| arc | arceb \
2561b2353dbSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2571b2353dbSmrg	| avr | avr32 \
2581b2353dbSmrg	| be32 | be64 \
25921c2f794Smrg	| bfin \
2601b2353dbSmrg	| c4x | c8051 | clipper \
26121c2f794Smrg	| d10v | d30v | dlx | dsp16xx \
26282e12b1bSmrg	| epiphany \
26321c2f794Smrg	| fido | fr30 | frv \
26421c2f794Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26582e12b1bSmrg	| hexagon \
26621c2f794Smrg	| i370 | i860 | i960 | ia64 \
26721c2f794Smrg	| ip2k | iq2000 \
2681b2353dbSmrg	| k1om \
26982e12b1bSmrg	| le32 | le64 \
27012391620Smrg	| lm32 \
27121c2f794Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2721b2353dbSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27321c2f794Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27421c2f794Smrg	| mips16 \
27521c2f794Smrg	| mips64 | mips64el \
27612391620Smrg	| mips64octeon | mips64octeonel \
27721c2f794Smrg	| mips64orion | mips64orionel \
27812391620Smrg	| mips64r5900 | mips64r5900el \
27912391620Smrg	| mips64vr | mips64vrel \
28021c2f794Smrg	| mips64vr4100 | mips64vr4100el \
28121c2f794Smrg	| mips64vr4300 | mips64vr4300el \
28221c2f794Smrg	| mips64vr5000 | mips64vr5000el \
28321c2f794Smrg	| mips64vr5900 | mips64vr5900el \
28421c2f794Smrg	| mipsisa32 | mipsisa32el \
28521c2f794Smrg	| mipsisa32r2 | mipsisa32r2el \
28621c2f794Smrg	| mipsisa64 | mipsisa64el \
28721c2f794Smrg	| mipsisa64r2 | mipsisa64r2el \
28821c2f794Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28921c2f794Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2901b2353dbSmrg	| mipsr5900 | mipsr5900el \
29121c2f794Smrg	| mipstx39 | mipstx39el \
29221c2f794Smrg	| mn10200 | mn10300 \
29312391620Smrg	| moxie \
29421c2f794Smrg	| mt \
29521c2f794Smrg	| msp430 \
29612391620Smrg	| nds32 | nds32le | nds32be \
2971b2353dbSmrg	| nios | nios2 | nios2eb | nios2el \
29821c2f794Smrg	| ns16k | ns32k \
29982e12b1bSmrg	| open8 \
3001b2353dbSmrg	| or1k | or32 \
30121c2f794Smrg	| pdp10 | pdp11 | pj | pjl \
30282e12b1bSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30321c2f794Smrg	| pyramid \
30482e12b1bSmrg	| rl78 | rx \
30521c2f794Smrg	| score \
30612391620Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30721c2f794Smrg	| sh64 | sh64le \
30821c2f794Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30921c2f794Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31082e12b1bSmrg	| spu \
31182e12b1bSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31212391620Smrg	| ubicom32 \
31382e12b1bSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31421c2f794Smrg	| we32k \
31582e12b1bSmrg	| x86 | xc16x | xstormy16 | xtensa \
31612391620Smrg	| z8k | z80)
31721c2f794Smrg		basic_machine=$basic_machine-unknown
31821c2f794Smrg		;;
31912391620Smrg	c54x)
32012391620Smrg		basic_machine=tic54x-unknown
32112391620Smrg		;;
32212391620Smrg	c55x)
32312391620Smrg		basic_machine=tic55x-unknown
32412391620Smrg		;;
32512391620Smrg	c6x)
32612391620Smrg		basic_machine=tic6x-unknown
32712391620Smrg		;;
3281b2353dbSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
32921c2f794Smrg		basic_machine=$basic_machine-unknown
33021c2f794Smrg		os=-none
33121c2f794Smrg		;;
33221c2f794Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33321c2f794Smrg		;;
33421c2f794Smrg	ms1)
33521c2f794Smrg		basic_machine=mt-unknown
33621c2f794Smrg		;;
33721c2f794Smrg
33882e12b1bSmrg	strongarm | thumb | xscale)
33982e12b1bSmrg		basic_machine=arm-unknown
34082e12b1bSmrg		;;
3411b2353dbSmrg	xgate)
3421b2353dbSmrg		basic_machine=$basic_machine-unknown
3431b2353dbSmrg		os=-none
3441b2353dbSmrg		;;
34582e12b1bSmrg	xscaleeb)
34682e12b1bSmrg		basic_machine=armeb-unknown
34782e12b1bSmrg		;;
34882e12b1bSmrg
34982e12b1bSmrg	xscaleel)
35082e12b1bSmrg		basic_machine=armel-unknown
35182e12b1bSmrg		;;
35282e12b1bSmrg
35321c2f794Smrg	# We use `pc' rather than `unknown'
35421c2f794Smrg	# because (1) that's what they normally are, and
35521c2f794Smrg	# (2) the word "unknown" tends to confuse beginning users.
35621c2f794Smrg	i*86 | x86_64)
35721c2f794Smrg	  basic_machine=$basic_machine-pc
35821c2f794Smrg	  ;;
35921c2f794Smrg	# Object if more than one company name word.
36021c2f794Smrg	*-*-*)
36121c2f794Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36221c2f794Smrg		exit 1
36321c2f794Smrg		;;
36421c2f794Smrg	# Recognize the basic CPU types with company name.
36521c2f794Smrg	580-* \
36621c2f794Smrg	| a29k-* \
3671b2353dbSmrg	| aarch64-* | aarch64_be-* \
36821c2f794Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36921c2f794Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3701b2353dbSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37121c2f794Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37221c2f794Smrg	| avr-* | avr32-* \
37382e12b1bSmrg	| be32-* | be64-* \
37421c2f794Smrg	| bfin-* | bs2000-* \
37512391620Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3761b2353dbSmrg	| c8051-* | clipper-* | craynv-* | cydra-* \
37721c2f794Smrg	| d10v-* | d30v-* | dlx-* \
37821c2f794Smrg	| elxsi-* \
37921c2f794Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38021c2f794Smrg	| h8300-* | h8500-* \
38121c2f794Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38282e12b1bSmrg	| hexagon-* \
38321c2f794Smrg	| i*86-* | i860-* | i960-* | ia64-* \
38421c2f794Smrg	| ip2k-* | iq2000-* \
3851b2353dbSmrg	| k1om-* \
38682e12b1bSmrg	| le32-* | le64-* \
38712391620Smrg	| lm32-* \
38821c2f794Smrg	| m32c-* | m32r-* | m32rle-* \
38921c2f794Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3901b2353dbSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3911b2353dbSmrg	| microblaze-* | microblazeel-* \
39221c2f794Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39321c2f794Smrg	| mips16-* \
39421c2f794Smrg	| mips64-* | mips64el-* \
39512391620Smrg	| mips64octeon-* | mips64octeonel-* \
39621c2f794Smrg	| mips64orion-* | mips64orionel-* \
39712391620Smrg	| mips64r5900-* | mips64r5900el-* \
39812391620Smrg	| mips64vr-* | mips64vrel-* \
39921c2f794Smrg	| mips64vr4100-* | mips64vr4100el-* \
40021c2f794Smrg	| mips64vr4300-* | mips64vr4300el-* \
40121c2f794Smrg	| mips64vr5000-* | mips64vr5000el-* \
40221c2f794Smrg	| mips64vr5900-* | mips64vr5900el-* \
40321c2f794Smrg	| mipsisa32-* | mipsisa32el-* \
40421c2f794Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
40521c2f794Smrg	| mipsisa64-* | mipsisa64el-* \
40621c2f794Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
40721c2f794Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
40821c2f794Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4091b2353dbSmrg	| mipsr5900-* | mipsr5900el-* \
41021c2f794Smrg	| mipstx39-* | mipstx39el-* \
41121c2f794Smrg	| mmix-* \
41221c2f794Smrg	| mt-* \
41321c2f794Smrg	| msp430-* \
41412391620Smrg	| nds32-* | nds32le-* | nds32be-* \
4151b2353dbSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
41621c2f794Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
41782e12b1bSmrg	| open8-* \
41821c2f794Smrg	| orion-* \
41921c2f794Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42082e12b1bSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
42121c2f794Smrg	| pyramid-* \
42282e12b1bSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
42312391620Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
42421c2f794Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42521c2f794Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
42621c2f794Smrg	| sparclite-* \
42782e12b1bSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
42882e12b1bSmrg	| tahoe-* \
42921c2f794Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43082e12b1bSmrg	| tile*-* \
43121c2f794Smrg	| tron-* \
43212391620Smrg	| ubicom32-* \
43382e12b1bSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
43482e12b1bSmrg	| vax-* \
43521c2f794Smrg	| we32k-* \
43682e12b1bSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43721c2f794Smrg	| xstormy16-* | xtensa*-* \
43821c2f794Smrg	| ymp-* \
43912391620Smrg	| z8k-* | z80-*)
44021c2f794Smrg		;;
44121c2f794Smrg	# Recognize the basic CPU types without company name, with glob match.
44221c2f794Smrg	xtensa*)
44321c2f794Smrg		basic_machine=$basic_machine-unknown
44421c2f794Smrg		;;
44521c2f794Smrg	# Recognize the various machine names and aliases which stand
44621c2f794Smrg	# for a CPU type and a company and sometimes even an OS.
44721c2f794Smrg	386bsd)
44821c2f794Smrg		basic_machine=i386-unknown
44921c2f794Smrg		os=-bsd
45021c2f794Smrg		;;
45121c2f794Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45221c2f794Smrg		basic_machine=m68000-att
45321c2f794Smrg		;;
45421c2f794Smrg	3b*)
45521c2f794Smrg		basic_machine=we32k-att
45621c2f794Smrg		;;
45721c2f794Smrg	a29khif)
45821c2f794Smrg		basic_machine=a29k-amd
45921c2f794Smrg		os=-udi
46021c2f794Smrg		;;
46182e12b1bSmrg	abacus)
46221c2f794Smrg		basic_machine=abacus-unknown
46321c2f794Smrg		;;
46421c2f794Smrg	adobe68k)
46521c2f794Smrg		basic_machine=m68010-adobe
46621c2f794Smrg		os=-scout
46721c2f794Smrg		;;
46821c2f794Smrg	alliant | fx80)
46921c2f794Smrg		basic_machine=fx80-alliant
47021c2f794Smrg		;;
47121c2f794Smrg	altos | altos3068)
47221c2f794Smrg		basic_machine=m68k-altos
47321c2f794Smrg		;;
47421c2f794Smrg	am29k)
47521c2f794Smrg		basic_machine=a29k-none
47621c2f794Smrg		os=-bsd
47721c2f794Smrg		;;
47821c2f794Smrg	amd64)
47921c2f794Smrg		basic_machine=x86_64-pc
48021c2f794Smrg		;;
48121c2f794Smrg	amd64-*)
48221c2f794Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
48321c2f794Smrg		;;
48421c2f794Smrg	amdahl)
48521c2f794Smrg		basic_machine=580-amdahl
48621c2f794Smrg		os=-sysv
48721c2f794Smrg		;;
48821c2f794Smrg	amiga | amiga-*)
48921c2f794Smrg		basic_machine=m68k-unknown
49021c2f794Smrg		;;
49121c2f794Smrg	amigaos | amigados)
49221c2f794Smrg		basic_machine=m68k-unknown
49321c2f794Smrg		os=-amigaos
49421c2f794Smrg		;;
49521c2f794Smrg	amigaunix | amix)
49621c2f794Smrg		basic_machine=m68k-unknown
49721c2f794Smrg		os=-sysv4
49821c2f794Smrg		;;
49921c2f794Smrg	apollo68)
50021c2f794Smrg		basic_machine=m68k-apollo
50121c2f794Smrg		os=-sysv
50221c2f794Smrg		;;
50321c2f794Smrg	apollo68bsd)
50421c2f794Smrg		basic_machine=m68k-apollo
50521c2f794Smrg		os=-bsd
50621c2f794Smrg		;;
50712391620Smrg	aros)
50812391620Smrg		basic_machine=i386-pc
50912391620Smrg		os=-aros
51012391620Smrg		;;
51121c2f794Smrg	aux)
51221c2f794Smrg		basic_machine=m68k-apple
51321c2f794Smrg		os=-aux
51421c2f794Smrg		;;
51521c2f794Smrg	balance)
51621c2f794Smrg		basic_machine=ns32k-sequent
51721c2f794Smrg		os=-dynix
51821c2f794Smrg		;;
51921c2f794Smrg	blackfin)
52021c2f794Smrg		basic_machine=bfin-unknown
52121c2f794Smrg		os=-linux
52221c2f794Smrg		;;
52321c2f794Smrg	blackfin-*)
52421c2f794Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52521c2f794Smrg		os=-linux
52621c2f794Smrg		;;
52712391620Smrg	bluegene*)
52812391620Smrg		basic_machine=powerpc-ibm
52912391620Smrg		os=-cnk
53012391620Smrg		;;
53112391620Smrg	c54x-*)
53212391620Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
53312391620Smrg		;;
53412391620Smrg	c55x-*)
53512391620Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
53612391620Smrg		;;
53712391620Smrg	c6x-*)
53812391620Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
53912391620Smrg		;;
54021c2f794Smrg	c90)
54121c2f794Smrg		basic_machine=c90-cray
54221c2f794Smrg		os=-unicos
54321c2f794Smrg		;;
54482e12b1bSmrg	cegcc)
54512391620Smrg		basic_machine=arm-unknown
54612391620Smrg		os=-cegcc
54712391620Smrg		;;
54821c2f794Smrg	convex-c1)
54921c2f794Smrg		basic_machine=c1-convex
55021c2f794Smrg		os=-bsd
55121c2f794Smrg		;;
55221c2f794Smrg	convex-c2)
55321c2f794Smrg		basic_machine=c2-convex
55421c2f794Smrg		os=-bsd
55521c2f794Smrg		;;
55621c2f794Smrg	convex-c32)
55721c2f794Smrg		basic_machine=c32-convex
55821c2f794Smrg		os=-bsd
55921c2f794Smrg		;;
56021c2f794Smrg	convex-c34)
56121c2f794Smrg		basic_machine=c34-convex
56221c2f794Smrg		os=-bsd
56321c2f794Smrg		;;
56421c2f794Smrg	convex-c38)
56521c2f794Smrg		basic_machine=c38-convex
56621c2f794Smrg		os=-bsd
56721c2f794Smrg		;;
56821c2f794Smrg	cray | j90)
56921c2f794Smrg		basic_machine=j90-cray
57021c2f794Smrg		os=-unicos
57121c2f794Smrg		;;
57221c2f794Smrg	craynv)
57321c2f794Smrg		basic_machine=craynv-cray
57421c2f794Smrg		os=-unicosmp
57521c2f794Smrg		;;
57682e12b1bSmrg	cr16 | cr16-*)
57721c2f794Smrg		basic_machine=cr16-unknown
57821c2f794Smrg		os=-elf
57921c2f794Smrg		;;
58021c2f794Smrg	crds | unos)
58121c2f794Smrg		basic_machine=m68k-crds
58221c2f794Smrg		;;
58321c2f794Smrg	crisv32 | crisv32-* | etraxfs*)
58421c2f794Smrg		basic_machine=crisv32-axis
58521c2f794Smrg		;;
58621c2f794Smrg	cris | cris-* | etrax*)
58721c2f794Smrg		basic_machine=cris-axis
58821c2f794Smrg		;;
58921c2f794Smrg	crx)
59021c2f794Smrg		basic_machine=crx-unknown
59121c2f794Smrg		os=-elf
59221c2f794Smrg		;;
59321c2f794Smrg	da30 | da30-*)
59421c2f794Smrg		basic_machine=m68k-da30
59521c2f794Smrg		;;
59621c2f794Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59721c2f794Smrg		basic_machine=mips-dec
59821c2f794Smrg		;;
59921c2f794Smrg	decsystem10* | dec10*)
60021c2f794Smrg		basic_machine=pdp10-dec
60121c2f794Smrg		os=-tops10
60221c2f794Smrg		;;
60321c2f794Smrg	decsystem20* | dec20*)
60421c2f794Smrg		basic_machine=pdp10-dec
60521c2f794Smrg		os=-tops20
60621c2f794Smrg		;;
60721c2f794Smrg	delta | 3300 | motorola-3300 | motorola-delta \
60821c2f794Smrg	      | 3300-motorola | delta-motorola)
60921c2f794Smrg		basic_machine=m68k-motorola
61021c2f794Smrg		;;
61121c2f794Smrg	delta88)
61221c2f794Smrg		basic_machine=m88k-motorola
61321c2f794Smrg		os=-sysv3
61421c2f794Smrg		;;
61512391620Smrg	dicos)
61612391620Smrg		basic_machine=i686-pc
61712391620Smrg		os=-dicos
61812391620Smrg		;;
61921c2f794Smrg	djgpp)
62021c2f794Smrg		basic_machine=i586-pc
62121c2f794Smrg		os=-msdosdjgpp
62221c2f794Smrg		;;
62321c2f794Smrg	dpx20 | dpx20-*)
62421c2f794Smrg		basic_machine=rs6000-bull
62521c2f794Smrg		os=-bosx
62621c2f794Smrg		;;
62721c2f794Smrg	dpx2* | dpx2*-bull)
62821c2f794Smrg		basic_machine=m68k-bull
62921c2f794Smrg		os=-sysv3
63021c2f794Smrg		;;
63121c2f794Smrg	ebmon29k)
63221c2f794Smrg		basic_machine=a29k-amd
63321c2f794Smrg		os=-ebmon
63421c2f794Smrg		;;
63521c2f794Smrg	elxsi)
63621c2f794Smrg		basic_machine=elxsi-elxsi
63721c2f794Smrg		os=-bsd
63821c2f794Smrg		;;
63921c2f794Smrg	encore | umax | mmax)
64021c2f794Smrg		basic_machine=ns32k-encore
64121c2f794Smrg		;;
64221c2f794Smrg	es1800 | OSE68k | ose68k | ose | OSE)
64321c2f794Smrg		basic_machine=m68k-ericsson
64421c2f794Smrg		os=-ose
64521c2f794Smrg		;;
64621c2f794Smrg	fx2800)
64721c2f794Smrg		basic_machine=i860-alliant
64821c2f794Smrg		;;
64921c2f794Smrg	genix)
65021c2f794Smrg		basic_machine=ns32k-ns
65121c2f794Smrg		;;
65221c2f794Smrg	gmicro)
65321c2f794Smrg		basic_machine=tron-gmicro
65421c2f794Smrg		os=-sysv
65521c2f794Smrg		;;
65621c2f794Smrg	go32)
65721c2f794Smrg		basic_machine=i386-pc
65821c2f794Smrg		os=-go32
65921c2f794Smrg		;;
66021c2f794Smrg	h3050r* | hiux*)
66121c2f794Smrg		basic_machine=hppa1.1-hitachi
66221c2f794Smrg		os=-hiuxwe2
66321c2f794Smrg		;;
66421c2f794Smrg	h8300hms)
66521c2f794Smrg		basic_machine=h8300-hitachi
66621c2f794Smrg		os=-hms
66721c2f794Smrg		;;
66821c2f794Smrg	h8300xray)
66921c2f794Smrg		basic_machine=h8300-hitachi
67021c2f794Smrg		os=-xray
67121c2f794Smrg		;;
67221c2f794Smrg	h8500hms)
67321c2f794Smrg		basic_machine=h8500-hitachi
67421c2f794Smrg		os=-hms
67521c2f794Smrg		;;
67621c2f794Smrg	harris)
67721c2f794Smrg		basic_machine=m88k-harris
67821c2f794Smrg		os=-sysv3
67921c2f794Smrg		;;
68021c2f794Smrg	hp300-*)
68121c2f794Smrg		basic_machine=m68k-hp
68221c2f794Smrg		;;
68321c2f794Smrg	hp300bsd)
68421c2f794Smrg		basic_machine=m68k-hp
68521c2f794Smrg		os=-bsd
68621c2f794Smrg		;;
68721c2f794Smrg	hp300hpux)
68821c2f794Smrg		basic_machine=m68k-hp
68921c2f794Smrg		os=-hpux
69021c2f794Smrg		;;
69121c2f794Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69221c2f794Smrg		basic_machine=hppa1.0-hp
69321c2f794Smrg		;;
69421c2f794Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
69521c2f794Smrg		basic_machine=m68000-hp
69621c2f794Smrg		;;
69721c2f794Smrg	hp9k3[2-9][0-9])
69821c2f794Smrg		basic_machine=m68k-hp
69921c2f794Smrg		;;
70021c2f794Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70121c2f794Smrg		basic_machine=hppa1.0-hp
70221c2f794Smrg		;;
70321c2f794Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70421c2f794Smrg		basic_machine=hppa1.1-hp
70521c2f794Smrg		;;
70621c2f794Smrg	hp9k78[0-9] | hp78[0-9])
70721c2f794Smrg		# FIXME: really hppa2.0-hp
70821c2f794Smrg		basic_machine=hppa1.1-hp
70921c2f794Smrg		;;
71021c2f794Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71121c2f794Smrg		# FIXME: really hppa2.0-hp
71221c2f794Smrg		basic_machine=hppa1.1-hp
71321c2f794Smrg		;;
71421c2f794Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
71521c2f794Smrg		basic_machine=hppa1.1-hp
71621c2f794Smrg		;;
71721c2f794Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71821c2f794Smrg		basic_machine=hppa1.0-hp
71921c2f794Smrg		;;
72021c2f794Smrg	hppa-next)
72121c2f794Smrg		os=-nextstep3
72221c2f794Smrg		;;
72321c2f794Smrg	hppaosf)
72421c2f794Smrg		basic_machine=hppa1.1-hp
72521c2f794Smrg		os=-osf
72621c2f794Smrg		;;
72721c2f794Smrg	hppro)
72821c2f794Smrg		basic_machine=hppa1.1-hp
72921c2f794Smrg		os=-proelf
73021c2f794Smrg		;;
73121c2f794Smrg	i370-ibm* | ibm*)
73221c2f794Smrg		basic_machine=i370-ibm
73321c2f794Smrg		;;
73421c2f794Smrg	i*86v32)
73521c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73621c2f794Smrg		os=-sysv32
73721c2f794Smrg		;;
73821c2f794Smrg	i*86v4*)
73921c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74021c2f794Smrg		os=-sysv4
74121c2f794Smrg		;;
74221c2f794Smrg	i*86v)
74321c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74421c2f794Smrg		os=-sysv
74521c2f794Smrg		;;
74621c2f794Smrg	i*86sol2)
74721c2f794Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74821c2f794Smrg		os=-solaris2
74921c2f794Smrg		;;
75021c2f794Smrg	i386mach)
75121c2f794Smrg		basic_machine=i386-mach
75221c2f794Smrg		os=-mach
75321c2f794Smrg		;;
75421c2f794Smrg	i386-vsta | vsta)
75521c2f794Smrg		basic_machine=i386-unknown
75621c2f794Smrg		os=-vsta
75721c2f794Smrg		;;
75821c2f794Smrg	iris | iris4d)
75921c2f794Smrg		basic_machine=mips-sgi
76021c2f794Smrg		case $os in
76121c2f794Smrg		    -irix*)
76221c2f794Smrg			;;
76321c2f794Smrg		    *)
76421c2f794Smrg			os=-irix4
76521c2f794Smrg			;;
76621c2f794Smrg		esac
76721c2f794Smrg		;;
76821c2f794Smrg	isi68 | isi)
76921c2f794Smrg		basic_machine=m68k-isi
77021c2f794Smrg		os=-sysv
77121c2f794Smrg		;;
77221c2f794Smrg	m68knommu)
77321c2f794Smrg		basic_machine=m68k-unknown
77421c2f794Smrg		os=-linux
77521c2f794Smrg		;;
77621c2f794Smrg	m68knommu-*)
77721c2f794Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
77821c2f794Smrg		os=-linux
77921c2f794Smrg		;;
78021c2f794Smrg	m88k-omron*)
78121c2f794Smrg		basic_machine=m88k-omron
78221c2f794Smrg		;;
78321c2f794Smrg	magnum | m3230)
78421c2f794Smrg		basic_machine=mips-mips
78521c2f794Smrg		os=-sysv
78621c2f794Smrg		;;
78721c2f794Smrg	merlin)
78821c2f794Smrg		basic_machine=ns32k-utek
78921c2f794Smrg		os=-sysv
79021c2f794Smrg		;;
7911b2353dbSmrg	microblaze*)
79212391620Smrg		basic_machine=microblaze-xilinx
79312391620Smrg		;;
7941b2353dbSmrg	mingw64)
7951b2353dbSmrg		basic_machine=x86_64-pc
7961b2353dbSmrg		os=-mingw64
7971b2353dbSmrg		;;
79821c2f794Smrg	mingw32)
7991b2353dbSmrg		basic_machine=i686-pc
80021c2f794Smrg		os=-mingw32
80121c2f794Smrg		;;
80221c2f794Smrg	mingw32ce)
80321c2f794Smrg		basic_machine=arm-unknown
80421c2f794Smrg		os=-mingw32ce
80521c2f794Smrg		;;
80621c2f794Smrg	miniframe)
80721c2f794Smrg		basic_machine=m68000-convergent
80821c2f794Smrg		;;
80921c2f794Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
81021c2f794Smrg		basic_machine=m68k-atari
81121c2f794Smrg		os=-mint
81221c2f794Smrg		;;
81321c2f794Smrg	mips3*-*)
81421c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81521c2f794Smrg		;;
81621c2f794Smrg	mips3*)
81721c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81821c2f794Smrg		;;
81921c2f794Smrg	monitor)
82021c2f794Smrg		basic_machine=m68k-rom68k
82121c2f794Smrg		os=-coff
82221c2f794Smrg		;;
82321c2f794Smrg	morphos)
82421c2f794Smrg		basic_machine=powerpc-unknown
82521c2f794Smrg		os=-morphos
82621c2f794Smrg		;;
82721c2f794Smrg	msdos)
82821c2f794Smrg		basic_machine=i386-pc
82921c2f794Smrg		os=-msdos
83021c2f794Smrg		;;
83121c2f794Smrg	ms1-*)
83221c2f794Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
83321c2f794Smrg		;;
83482e12b1bSmrg	msys)
8351b2353dbSmrg		basic_machine=i686-pc
83682e12b1bSmrg		os=-msys
83782e12b1bSmrg		;;
83821c2f794Smrg	mvs)
83921c2f794Smrg		basic_machine=i370-ibm
84021c2f794Smrg		os=-mvs
84121c2f794Smrg		;;
84282e12b1bSmrg	nacl)
84382e12b1bSmrg		basic_machine=le32-unknown
84482e12b1bSmrg		os=-nacl
84582e12b1bSmrg		;;
84621c2f794Smrg	ncr3000)
84721c2f794Smrg		basic_machine=i486-ncr
84821c2f794Smrg		os=-sysv4
84921c2f794Smrg		;;
85021c2f794Smrg	netbsd386)
85121c2f794Smrg		basic_machine=i386-unknown
85221c2f794Smrg		os=-netbsd
85321c2f794Smrg		;;
85421c2f794Smrg	netwinder)
85521c2f794Smrg		basic_machine=armv4l-rebel
85621c2f794Smrg		os=-linux
85721c2f794Smrg		;;
85821c2f794Smrg	news | news700 | news800 | news900)
85921c2f794Smrg		basic_machine=m68k-sony
86021c2f794Smrg		os=-newsos
86121c2f794Smrg		;;
86221c2f794Smrg	news1000)
86321c2f794Smrg		basic_machine=m68030-sony
86421c2f794Smrg		os=-newsos
86521c2f794Smrg		;;
86621c2f794Smrg	news-3600 | risc-news)
86721c2f794Smrg		basic_machine=mips-sony
86821c2f794Smrg		os=-newsos
86921c2f794Smrg		;;
87021c2f794Smrg	necv70)
87121c2f794Smrg		basic_machine=v70-nec
87221c2f794Smrg		os=-sysv
87321c2f794Smrg		;;
87421c2f794Smrg	next | m*-next )
87521c2f794Smrg		basic_machine=m68k-next
87621c2f794Smrg		case $os in
87721c2f794Smrg		    -nextstep* )
87821c2f794Smrg			;;
87921c2f794Smrg		    -ns2*)
88021c2f794Smrg		      os=-nextstep2
88121c2f794Smrg			;;
88221c2f794Smrg		    *)
88321c2f794Smrg		      os=-nextstep3
88421c2f794Smrg			;;
88521c2f794Smrg		esac
88621c2f794Smrg		;;
88721c2f794Smrg	nh3000)
88821c2f794Smrg		basic_machine=m68k-harris
88921c2f794Smrg		os=-cxux
89021c2f794Smrg		;;
89121c2f794Smrg	nh[45]000)
89221c2f794Smrg		basic_machine=m88k-harris
89321c2f794Smrg		os=-cxux
89421c2f794Smrg		;;
89521c2f794Smrg	nindy960)
89621c2f794Smrg		basic_machine=i960-intel
89721c2f794Smrg		os=-nindy
89821c2f794Smrg		;;
89921c2f794Smrg	mon960)
90021c2f794Smrg		basic_machine=i960-intel
90121c2f794Smrg		os=-mon960
90221c2f794Smrg		;;
90321c2f794Smrg	nonstopux)
90421c2f794Smrg		basic_machine=mips-compaq
90521c2f794Smrg		os=-nonstopux
90621c2f794Smrg		;;
90721c2f794Smrg	np1)
90821c2f794Smrg		basic_machine=np1-gould
90921c2f794Smrg		;;
91082e12b1bSmrg	neo-tandem)
91112391620Smrg		basic_machine=neo-tandem
91212391620Smrg		;;
91382e12b1bSmrg	nse-tandem)
91412391620Smrg		basic_machine=nse-tandem
91512391620Smrg		;;
91621c2f794Smrg	nsr-tandem)
91721c2f794Smrg		basic_machine=nsr-tandem
91821c2f794Smrg		;;
91921c2f794Smrg	op50n-* | op60c-*)
92021c2f794Smrg		basic_machine=hppa1.1-oki
92121c2f794Smrg		os=-proelf
92221c2f794Smrg		;;
92321c2f794Smrg	openrisc | openrisc-*)
92421c2f794Smrg		basic_machine=or32-unknown
92521c2f794Smrg		;;
92621c2f794Smrg	os400)
92721c2f794Smrg		basic_machine=powerpc-ibm
92821c2f794Smrg		os=-os400
92921c2f794Smrg		;;
93021c2f794Smrg	OSE68000 | ose68000)
93121c2f794Smrg		basic_machine=m68000-ericsson
93221c2f794Smrg		os=-ose
93321c2f794Smrg		;;
93421c2f794Smrg	os68k)
93521c2f794Smrg		basic_machine=m68k-none
93621c2f794Smrg		os=-os68k
93721c2f794Smrg		;;
93821c2f794Smrg	pa-hitachi)
93921c2f794Smrg		basic_machine=hppa1.1-hitachi
94021c2f794Smrg		os=-hiuxwe2
94121c2f794Smrg		;;
94221c2f794Smrg	paragon)
94321c2f794Smrg		basic_machine=i860-intel
94421c2f794Smrg		os=-osf
94521c2f794Smrg		;;
94621c2f794Smrg	parisc)
94721c2f794Smrg		basic_machine=hppa-unknown
94821c2f794Smrg		os=-linux
94921c2f794Smrg		;;
95021c2f794Smrg	parisc-*)
95121c2f794Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
95221c2f794Smrg		os=-linux
95321c2f794Smrg		;;
95421c2f794Smrg	pbd)
95521c2f794Smrg		basic_machine=sparc-tti
95621c2f794Smrg		;;
95721c2f794Smrg	pbb)
95821c2f794Smrg		basic_machine=m68k-tti
95921c2f794Smrg		;;
96021c2f794Smrg	pc532 | pc532-*)
96121c2f794Smrg		basic_machine=ns32k-pc532
96221c2f794Smrg		;;
96321c2f794Smrg	pc98)
96421c2f794Smrg		basic_machine=i386-pc
96521c2f794Smrg		;;
96621c2f794Smrg	pc98-*)
96721c2f794Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
96821c2f794Smrg		;;
96921c2f794Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
97021c2f794Smrg		basic_machine=i586-pc
97121c2f794Smrg		;;
97221c2f794Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
97321c2f794Smrg		basic_machine=i686-pc
97421c2f794Smrg		;;
97521c2f794Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
97621c2f794Smrg		basic_machine=i686-pc
97721c2f794Smrg		;;
97821c2f794Smrg	pentium4)
97921c2f794Smrg		basic_machine=i786-pc
98021c2f794Smrg		;;
98121c2f794Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
98221c2f794Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
98321c2f794Smrg		;;
98421c2f794Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98521c2f794Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98621c2f794Smrg		;;
98721c2f794Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98821c2f794Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98921c2f794Smrg		;;
99021c2f794Smrg	pentium4-*)
99121c2f794Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
99221c2f794Smrg		;;
99321c2f794Smrg	pn)
99421c2f794Smrg		basic_machine=pn-gould
99521c2f794Smrg		;;
99621c2f794Smrg	power)	basic_machine=power-ibm
99721c2f794Smrg		;;
99882e12b1bSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
99921c2f794Smrg		;;
100082e12b1bSmrg	ppc-* | ppcbe-*)
100182e12b1bSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
100221c2f794Smrg		;;
100321c2f794Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
100421c2f794Smrg		basic_machine=powerpcle-unknown
100521c2f794Smrg		;;
100621c2f794Smrg	ppcle-* | powerpclittle-*)
100721c2f794Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100821c2f794Smrg		;;
100921c2f794Smrg	ppc64)	basic_machine=powerpc64-unknown
101021c2f794Smrg		;;
101121c2f794Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
101221c2f794Smrg		;;
101321c2f794Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
101421c2f794Smrg		basic_machine=powerpc64le-unknown
101521c2f794Smrg		;;
101621c2f794Smrg	ppc64le-* | powerpc64little-*)
101721c2f794Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
101821c2f794Smrg		;;
101921c2f794Smrg	ps2)
102021c2f794Smrg		basic_machine=i386-ibm
102121c2f794Smrg		;;
102221c2f794Smrg	pw32)
102321c2f794Smrg		basic_machine=i586-unknown
102421c2f794Smrg		os=-pw32
102521c2f794Smrg		;;
10261b2353dbSmrg	rdos | rdos64)
10271b2353dbSmrg		basic_machine=x86_64-pc
10281b2353dbSmrg		os=-rdos
10291b2353dbSmrg		;;
10301b2353dbSmrg	rdos32)
103121c2f794Smrg		basic_machine=i386-pc
103221c2f794Smrg		os=-rdos
103321c2f794Smrg		;;
103421c2f794Smrg	rom68k)
103521c2f794Smrg		basic_machine=m68k-rom68k
103621c2f794Smrg		os=-coff
103721c2f794Smrg		;;
103821c2f794Smrg	rm[46]00)
103921c2f794Smrg		basic_machine=mips-siemens
104021c2f794Smrg		;;
104121c2f794Smrg	rtpc | rtpc-*)
104221c2f794Smrg		basic_machine=romp-ibm
104321c2f794Smrg		;;
104421c2f794Smrg	s390 | s390-*)
104521c2f794Smrg		basic_machine=s390-ibm
104621c2f794Smrg		;;
104721c2f794Smrg	s390x | s390x-*)
104821c2f794Smrg		basic_machine=s390x-ibm
104921c2f794Smrg		;;
105021c2f794Smrg	sa29200)
105121c2f794Smrg		basic_machine=a29k-amd
105221c2f794Smrg		os=-udi
105321c2f794Smrg		;;
105421c2f794Smrg	sb1)
105521c2f794Smrg		basic_machine=mipsisa64sb1-unknown
105621c2f794Smrg		;;
105721c2f794Smrg	sb1el)
105821c2f794Smrg		basic_machine=mipsisa64sb1el-unknown
105921c2f794Smrg		;;
106021c2f794Smrg	sde)
106121c2f794Smrg		basic_machine=mipsisa32-sde
106221c2f794Smrg		os=-elf
106321c2f794Smrg		;;
106421c2f794Smrg	sei)
106521c2f794Smrg		basic_machine=mips-sei
106621c2f794Smrg		os=-seiux
106721c2f794Smrg		;;
106821c2f794Smrg	sequent)
106921c2f794Smrg		basic_machine=i386-sequent
107021c2f794Smrg		;;
107121c2f794Smrg	sh)
107221c2f794Smrg		basic_machine=sh-hitachi
107321c2f794Smrg		os=-hms
107421c2f794Smrg		;;
107521c2f794Smrg	sh5el)
107621c2f794Smrg		basic_machine=sh5le-unknown
107721c2f794Smrg		;;
107821c2f794Smrg	sh64)
107921c2f794Smrg		basic_machine=sh64-unknown
108021c2f794Smrg		;;
108121c2f794Smrg	sparclite-wrs | simso-wrs)
108221c2f794Smrg		basic_machine=sparclite-wrs
108321c2f794Smrg		os=-vxworks
108421c2f794Smrg		;;
108521c2f794Smrg	sps7)
108621c2f794Smrg		basic_machine=m68k-bull
108721c2f794Smrg		os=-sysv2
108821c2f794Smrg		;;
108921c2f794Smrg	spur)
109021c2f794Smrg		basic_machine=spur-unknown
109121c2f794Smrg		;;
109221c2f794Smrg	st2000)
109321c2f794Smrg		basic_machine=m68k-tandem
109421c2f794Smrg		;;
109521c2f794Smrg	stratus)
109621c2f794Smrg		basic_machine=i860-stratus
109721c2f794Smrg		os=-sysv4
109821c2f794Smrg		;;
109982e12b1bSmrg	strongarm-* | thumb-*)
110082e12b1bSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
110182e12b1bSmrg		;;
110221c2f794Smrg	sun2)
110321c2f794Smrg		basic_machine=m68000-sun
110421c2f794Smrg		;;
110521c2f794Smrg	sun2os3)
110621c2f794Smrg		basic_machine=m68000-sun
110721c2f794Smrg		os=-sunos3
110821c2f794Smrg		;;
110921c2f794Smrg	sun2os4)
111021c2f794Smrg		basic_machine=m68000-sun
111121c2f794Smrg		os=-sunos4
111221c2f794Smrg		;;
111321c2f794Smrg	sun3os3)
111421c2f794Smrg		basic_machine=m68k-sun
111521c2f794Smrg		os=-sunos3
111621c2f794Smrg		;;
111721c2f794Smrg	sun3os4)
111821c2f794Smrg		basic_machine=m68k-sun
111921c2f794Smrg		os=-sunos4
112021c2f794Smrg		;;
112121c2f794Smrg	sun4os3)
112221c2f794Smrg		basic_machine=sparc-sun
112321c2f794Smrg		os=-sunos3
112421c2f794Smrg		;;
112521c2f794Smrg	sun4os4)
112621c2f794Smrg		basic_machine=sparc-sun
112721c2f794Smrg		os=-sunos4
112821c2f794Smrg		;;
112921c2f794Smrg	sun4sol2)
113021c2f794Smrg		basic_machine=sparc-sun
113121c2f794Smrg		os=-solaris2
113221c2f794Smrg		;;
113321c2f794Smrg	sun3 | sun3-*)
113421c2f794Smrg		basic_machine=m68k-sun
113521c2f794Smrg		;;
113621c2f794Smrg	sun4)
113721c2f794Smrg		basic_machine=sparc-sun
113821c2f794Smrg		;;
113921c2f794Smrg	sun386 | sun386i | roadrunner)
114021c2f794Smrg		basic_machine=i386-sun
114121c2f794Smrg		;;
114221c2f794Smrg	sv1)
114321c2f794Smrg		basic_machine=sv1-cray
114421c2f794Smrg		os=-unicos
114521c2f794Smrg		;;
114621c2f794Smrg	symmetry)
114721c2f794Smrg		basic_machine=i386-sequent
114821c2f794Smrg		os=-dynix
114921c2f794Smrg		;;
115021c2f794Smrg	t3e)
115121c2f794Smrg		basic_machine=alphaev5-cray
115221c2f794Smrg		os=-unicos
115321c2f794Smrg		;;
115421c2f794Smrg	t90)
115521c2f794Smrg		basic_machine=t90-cray
115621c2f794Smrg		os=-unicos
115721c2f794Smrg		;;
115812391620Smrg	tile*)
115982e12b1bSmrg		basic_machine=$basic_machine-unknown
116012391620Smrg		os=-linux-gnu
116121c2f794Smrg		;;
116221c2f794Smrg	tx39)
116321c2f794Smrg		basic_machine=mipstx39-unknown
116421c2f794Smrg		;;
116521c2f794Smrg	tx39el)
116621c2f794Smrg		basic_machine=mipstx39el-unknown
116721c2f794Smrg		;;
116821c2f794Smrg	toad1)
116921c2f794Smrg		basic_machine=pdp10-xkl
117021c2f794Smrg		os=-tops20
117121c2f794Smrg		;;
117221c2f794Smrg	tower | tower-32)
117321c2f794Smrg		basic_machine=m68k-ncr
117421c2f794Smrg		;;
117521c2f794Smrg	tpf)
117621c2f794Smrg		basic_machine=s390x-ibm
117721c2f794Smrg		os=-tpf
117821c2f794Smrg		;;
117921c2f794Smrg	udi29k)
118021c2f794Smrg		basic_machine=a29k-amd
118121c2f794Smrg		os=-udi
118221c2f794Smrg		;;
118321c2f794Smrg	ultra3)
118421c2f794Smrg		basic_machine=a29k-nyu
118521c2f794Smrg		os=-sym1
118621c2f794Smrg		;;
118721c2f794Smrg	v810 | necv810)
118821c2f794Smrg		basic_machine=v810-nec
118921c2f794Smrg		os=-none
119021c2f794Smrg		;;
119121c2f794Smrg	vaxv)
119221c2f794Smrg		basic_machine=vax-dec
119321c2f794Smrg		os=-sysv
119421c2f794Smrg		;;
119521c2f794Smrg	vms)
119621c2f794Smrg		basic_machine=vax-dec
119721c2f794Smrg		os=-vms
119821c2f794Smrg		;;
119921c2f794Smrg	vpp*|vx|vx-*)
120021c2f794Smrg		basic_machine=f301-fujitsu
120121c2f794Smrg		;;
120221c2f794Smrg	vxworks960)
120321c2f794Smrg		basic_machine=i960-wrs
120421c2f794Smrg		os=-vxworks
120521c2f794Smrg		;;
120621c2f794Smrg	vxworks68)
120721c2f794Smrg		basic_machine=m68k-wrs
120821c2f794Smrg		os=-vxworks
120921c2f794Smrg		;;
121021c2f794Smrg	vxworks29k)
121121c2f794Smrg		basic_machine=a29k-wrs
121221c2f794Smrg		os=-vxworks
121321c2f794Smrg		;;
121421c2f794Smrg	w65*)
121521c2f794Smrg		basic_machine=w65-wdc
121621c2f794Smrg		os=-none
121721c2f794Smrg		;;
121821c2f794Smrg	w89k-*)
121921c2f794Smrg		basic_machine=hppa1.1-winbond
122021c2f794Smrg		os=-proelf
122121c2f794Smrg		;;
122221c2f794Smrg	xbox)
122321c2f794Smrg		basic_machine=i686-pc
122421c2f794Smrg		os=-mingw32
122521c2f794Smrg		;;
122621c2f794Smrg	xps | xps100)
122721c2f794Smrg		basic_machine=xps100-honeywell
122821c2f794Smrg		;;
122982e12b1bSmrg	xscale-* | xscalee[bl]-*)
123082e12b1bSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
123182e12b1bSmrg		;;
123221c2f794Smrg	ymp)
123321c2f794Smrg		basic_machine=ymp-cray
123421c2f794Smrg		os=-unicos
123521c2f794Smrg		;;
123621c2f794Smrg	z8k-*-coff)
123721c2f794Smrg		basic_machine=z8k-unknown
123821c2f794Smrg		os=-sim
123921c2f794Smrg		;;
124012391620Smrg	z80-*-coff)
124112391620Smrg		basic_machine=z80-unknown
124212391620Smrg		os=-sim
124312391620Smrg		;;
124421c2f794Smrg	none)
124521c2f794Smrg		basic_machine=none-none
124621c2f794Smrg		os=-none
124721c2f794Smrg		;;
124821c2f794Smrg
124921c2f794Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
125021c2f794Smrg# some cases the only manufacturer, in others, it is the most popular.
125121c2f794Smrg	w89k)
125221c2f794Smrg		basic_machine=hppa1.1-winbond
125321c2f794Smrg		;;
125421c2f794Smrg	op50n)
125521c2f794Smrg		basic_machine=hppa1.1-oki
125621c2f794Smrg		;;
125721c2f794Smrg	op60c)
125821c2f794Smrg		basic_machine=hppa1.1-oki
125921c2f794Smrg		;;
126021c2f794Smrg	romp)
126121c2f794Smrg		basic_machine=romp-ibm
126221c2f794Smrg		;;
126321c2f794Smrg	mmix)
126421c2f794Smrg		basic_machine=mmix-knuth
126521c2f794Smrg		;;
126621c2f794Smrg	rs6000)
126721c2f794Smrg		basic_machine=rs6000-ibm
126821c2f794Smrg		;;
126921c2f794Smrg	vax)
127021c2f794Smrg		basic_machine=vax-dec
127121c2f794Smrg		;;
127221c2f794Smrg	pdp10)
127321c2f794Smrg		# there are many clones, so DEC is not a safe bet
127421c2f794Smrg		basic_machine=pdp10-unknown
127521c2f794Smrg		;;
127621c2f794Smrg	pdp11)
127721c2f794Smrg		basic_machine=pdp11-dec
127821c2f794Smrg		;;
127921c2f794Smrg	we32k)
128021c2f794Smrg		basic_machine=we32k-att
128121c2f794Smrg		;;
128212391620Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
128321c2f794Smrg		basic_machine=sh-unknown
128421c2f794Smrg		;;
128521c2f794Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
128621c2f794Smrg		basic_machine=sparc-sun
128721c2f794Smrg		;;
128821c2f794Smrg	cydra)
128921c2f794Smrg		basic_machine=cydra-cydrome
129021c2f794Smrg		;;
129121c2f794Smrg	orion)
129221c2f794Smrg		basic_machine=orion-highlevel
129321c2f794Smrg		;;
129421c2f794Smrg	orion105)
129521c2f794Smrg		basic_machine=clipper-highlevel
129621c2f794Smrg		;;
129721c2f794Smrg	mac | mpw | mac-mpw)
129821c2f794Smrg		basic_machine=m68k-apple
129921c2f794Smrg		;;
130021c2f794Smrg	pmac | pmac-mpw)
130121c2f794Smrg		basic_machine=powerpc-apple
130221c2f794Smrg		;;
130321c2f794Smrg	*-unknown)
130421c2f794Smrg		# Make sure to match an already-canonicalized machine name.
130521c2f794Smrg		;;
130621c2f794Smrg	*)
130721c2f794Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130821c2f794Smrg		exit 1
130921c2f794Smrg		;;
131021c2f794Smrgesac
131121c2f794Smrg
131221c2f794Smrg# Here we canonicalize certain aliases for manufacturers.
131321c2f794Smrgcase $basic_machine in
131421c2f794Smrg	*-digital*)
131521c2f794Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
131621c2f794Smrg		;;
131721c2f794Smrg	*-commodore*)
131821c2f794Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131921c2f794Smrg		;;
132021c2f794Smrg	*)
132121c2f794Smrg		;;
132221c2f794Smrgesac
132321c2f794Smrg
132421c2f794Smrg# Decode manufacturer-specific aliases for certain operating systems.
132521c2f794Smrg
132621c2f794Smrgif [ x"$os" != x"" ]
132721c2f794Smrgthen
132821c2f794Smrgcase $os in
132982e12b1bSmrg	# First match some system type aliases
133082e12b1bSmrg	# that might get confused with valid system types.
133121c2f794Smrg	# -solaris* is a basic system type, with this one exception.
133282e12b1bSmrg	-auroraux)
133382e12b1bSmrg		os=-auroraux
133412391620Smrg		;;
133521c2f794Smrg	-solaris1 | -solaris1.*)
133621c2f794Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
133721c2f794Smrg		;;
133821c2f794Smrg	-solaris)
133921c2f794Smrg		os=-solaris2
134021c2f794Smrg		;;
134121c2f794Smrg	-svr4*)
134221c2f794Smrg		os=-sysv4
134321c2f794Smrg		;;
134421c2f794Smrg	-unixware*)
134521c2f794Smrg		os=-sysv4.2uw
134621c2f794Smrg		;;
134721c2f794Smrg	-gnu/linux*)
134821c2f794Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134921c2f794Smrg		;;
135021c2f794Smrg	# First accept the basic system types.
135121c2f794Smrg	# The portable systems comes first.
135221c2f794Smrg	# Each alternative MUST END IN A *, to match a version number.
135321c2f794Smrg	# -sysv* is not here because it comes later, after sysvr4.
135421c2f794Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
135512391620Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
135612391620Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13571b2353dbSmrg	      | -sym* | -kopensolaris* | -plan9* \
135821c2f794Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
135912391620Smrg	      | -aos* | -aros* \
136021c2f794Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
136121c2f794Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
136221c2f794Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13631b2353dbSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
136421c2f794Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
136521c2f794Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
136621c2f794Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
136721c2f794Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
136812391620Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
136982e12b1bSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13701b2353dbSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
13711b2353dbSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
137221c2f794Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
137321c2f794Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
137421c2f794Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
137521c2f794Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
137621c2f794Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
137721c2f794Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
137821c2f794Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
137912391620Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
138021c2f794Smrg	# Remember, each alternative MUST END IN *, to match a version number.
138121c2f794Smrg		;;
138221c2f794Smrg	-qnx*)
138321c2f794Smrg		case $basic_machine in
138421c2f794Smrg		    x86-* | i*86-*)
138521c2f794Smrg			;;
138621c2f794Smrg		    *)
138721c2f794Smrg			os=-nto$os
138821c2f794Smrg			;;
138921c2f794Smrg		esac
139021c2f794Smrg		;;
139121c2f794Smrg	-nto-qnx*)
139221c2f794Smrg		;;
139321c2f794Smrg	-nto*)
139421c2f794Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
139521c2f794Smrg		;;
139621c2f794Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
139721c2f794Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139821c2f794Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139921c2f794Smrg		;;
140021c2f794Smrg	-mac*)
140121c2f794Smrg		os=`echo $os | sed -e 's|mac|macos|'`
140221c2f794Smrg		;;
140321c2f794Smrg	-linux-dietlibc)
140421c2f794Smrg		os=-linux-dietlibc
140521c2f794Smrg		;;
140621c2f794Smrg	-linux*)
140721c2f794Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140821c2f794Smrg		;;
140921c2f794Smrg	-sunos5*)
141021c2f794Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
141121c2f794Smrg		;;
141221c2f794Smrg	-sunos6*)
141321c2f794Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
141421c2f794Smrg		;;
141521c2f794Smrg	-opened*)
141621c2f794Smrg		os=-openedition
141721c2f794Smrg		;;
141882e12b1bSmrg	-os400*)
141921c2f794Smrg		os=-os400
142021c2f794Smrg		;;
142121c2f794Smrg	-wince*)
142221c2f794Smrg		os=-wince
142321c2f794Smrg		;;
142421c2f794Smrg	-osfrose*)
142521c2f794Smrg		os=-osfrose
142621c2f794Smrg		;;
142721c2f794Smrg	-osf*)
142821c2f794Smrg		os=-osf
142921c2f794Smrg		;;
143021c2f794Smrg	-utek*)
143121c2f794Smrg		os=-bsd
143221c2f794Smrg		;;
143321c2f794Smrg	-dynix*)
143421c2f794Smrg		os=-bsd
143521c2f794Smrg		;;
143621c2f794Smrg	-acis*)
143721c2f794Smrg		os=-aos
143821c2f794Smrg		;;
143921c2f794Smrg	-atheos*)
144021c2f794Smrg		os=-atheos
144121c2f794Smrg		;;
144221c2f794Smrg	-syllable*)
144321c2f794Smrg		os=-syllable
144421c2f794Smrg		;;
144521c2f794Smrg	-386bsd)
144621c2f794Smrg		os=-bsd
144721c2f794Smrg		;;
144821c2f794Smrg	-ctix* | -uts*)
144921c2f794Smrg		os=-sysv
145021c2f794Smrg		;;
145121c2f794Smrg	-nova*)
145221c2f794Smrg		os=-rtmk-nova
145321c2f794Smrg		;;
145421c2f794Smrg	-ns2 )
145521c2f794Smrg		os=-nextstep2
145621c2f794Smrg		;;
145721c2f794Smrg	-nsk*)
145821c2f794Smrg		os=-nsk
145921c2f794Smrg		;;
146021c2f794Smrg	# Preserve the version number of sinix5.
146121c2f794Smrg	-sinix5.*)
146221c2f794Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
146321c2f794Smrg		;;
146421c2f794Smrg	-sinix*)
146521c2f794Smrg		os=-sysv4
146621c2f794Smrg		;;
146782e12b1bSmrg	-tpf*)
146821c2f794Smrg		os=-tpf
146921c2f794Smrg		;;
147021c2f794Smrg	-triton*)
147121c2f794Smrg		os=-sysv3
147221c2f794Smrg		;;
147321c2f794Smrg	-oss*)
147421c2f794Smrg		os=-sysv3
147521c2f794Smrg		;;
147621c2f794Smrg	-svr4)
147721c2f794Smrg		os=-sysv4
147821c2f794Smrg		;;
147921c2f794Smrg	-svr3)
148021c2f794Smrg		os=-sysv3
148121c2f794Smrg		;;
148221c2f794Smrg	-sysvr4)
148321c2f794Smrg		os=-sysv4
148421c2f794Smrg		;;
148521c2f794Smrg	# This must come after -sysvr4.
148621c2f794Smrg	-sysv*)
148721c2f794Smrg		;;
148821c2f794Smrg	-ose*)
148921c2f794Smrg		os=-ose
149021c2f794Smrg		;;
149121c2f794Smrg	-es1800*)
149221c2f794Smrg		os=-ose
149321c2f794Smrg		;;
149421c2f794Smrg	-xenix)
149521c2f794Smrg		os=-xenix
149621c2f794Smrg		;;
149721c2f794Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
149821c2f794Smrg		os=-mint
149921c2f794Smrg		;;
150021c2f794Smrg	-aros*)
150121c2f794Smrg		os=-aros
150221c2f794Smrg		;;
150321c2f794Smrg	-zvmoe)
150421c2f794Smrg		os=-zvmoe
150521c2f794Smrg		;;
150612391620Smrg	-dicos*)
150712391620Smrg		os=-dicos
150812391620Smrg		;;
150982e12b1bSmrg	-nacl*)
151082e12b1bSmrg		;;
151121c2f794Smrg	-none)
151221c2f794Smrg		;;
151321c2f794Smrg	*)
151421c2f794Smrg		# Get rid of the `-' at the beginning of $os.
151521c2f794Smrg		os=`echo $os | sed 's/[^-]*-//'`
151621c2f794Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151721c2f794Smrg		exit 1
151821c2f794Smrg		;;
151921c2f794Smrgesac
152021c2f794Smrgelse
152121c2f794Smrg
152221c2f794Smrg# Here we handle the default operating systems that come with various machines.
152321c2f794Smrg# The value should be what the vendor currently ships out the door with their
152421c2f794Smrg# machine or put another way, the most popular os provided with the machine.
152521c2f794Smrg
152621c2f794Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
152721c2f794Smrg# "-sun"), then you have to tell the case statement up towards the top
152821c2f794Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
152921c2f794Smrg# will signal an error saying that MANUFACTURER isn't an operating
153021c2f794Smrg# system, and we'll never get to this point.
153121c2f794Smrg
153221c2f794Smrgcase $basic_machine in
153382e12b1bSmrg	score-*)
153421c2f794Smrg		os=-elf
153521c2f794Smrg		;;
153682e12b1bSmrg	spu-*)
153721c2f794Smrg		os=-elf
153821c2f794Smrg		;;
153921c2f794Smrg	*-acorn)
154021c2f794Smrg		os=-riscix1.2
154121c2f794Smrg		;;
154221c2f794Smrg	arm*-rebel)
154321c2f794Smrg		os=-linux
154421c2f794Smrg		;;
154521c2f794Smrg	arm*-semi)
154621c2f794Smrg		os=-aout
154721c2f794Smrg		;;
154882e12b1bSmrg	c4x-* | tic4x-*)
154982e12b1bSmrg		os=-coff
155021c2f794Smrg		;;
15511b2353dbSmrg	c8051-*)
15521b2353dbSmrg		os=-elf
15531b2353dbSmrg		;;
15541b2353dbSmrg	hexagon-*)
15551b2353dbSmrg		os=-elf
15561b2353dbSmrg		;;
155712391620Smrg	tic54x-*)
155812391620Smrg		os=-coff
155912391620Smrg		;;
156012391620Smrg	tic55x-*)
156112391620Smrg		os=-coff
156212391620Smrg		;;
156312391620Smrg	tic6x-*)
156412391620Smrg		os=-coff
156512391620Smrg		;;
156621c2f794Smrg	# This must come before the *-dec entry.
156721c2f794Smrg	pdp10-*)
156821c2f794Smrg		os=-tops20
156921c2f794Smrg		;;
157021c2f794Smrg	pdp11-*)
157121c2f794Smrg		os=-none
157221c2f794Smrg		;;
157321c2f794Smrg	*-dec | vax-*)
157421c2f794Smrg		os=-ultrix4.2
157521c2f794Smrg		;;
157621c2f794Smrg	m68*-apollo)
157721c2f794Smrg		os=-domain
157821c2f794Smrg		;;
157921c2f794Smrg	i386-sun)
158021c2f794Smrg		os=-sunos4.0.2
158121c2f794Smrg		;;
158221c2f794Smrg	m68000-sun)
158321c2f794Smrg		os=-sunos3
158421c2f794Smrg		;;
158521c2f794Smrg	m68*-cisco)
158621c2f794Smrg		os=-aout
158721c2f794Smrg		;;
158882e12b1bSmrg	mep-*)
158921c2f794Smrg		os=-elf
159021c2f794Smrg		;;
159121c2f794Smrg	mips*-cisco)
159221c2f794Smrg		os=-elf
159321c2f794Smrg		;;
159421c2f794Smrg	mips*-*)
159521c2f794Smrg		os=-elf
159621c2f794Smrg		;;
15971b2353dbSmrg	or1k-*)
15981b2353dbSmrg		os=-elf
15991b2353dbSmrg		;;
160021c2f794Smrg	or32-*)
160121c2f794Smrg		os=-coff
160221c2f794Smrg		;;
160321c2f794Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
160421c2f794Smrg		os=-sysv3
160521c2f794Smrg		;;
160621c2f794Smrg	sparc-* | *-sun)
160721c2f794Smrg		os=-sunos4.1.1
160821c2f794Smrg		;;
160921c2f794Smrg	*-be)
161021c2f794Smrg		os=-beos
161121c2f794Smrg		;;
161221c2f794Smrg	*-haiku)
161321c2f794Smrg		os=-haiku
161421c2f794Smrg		;;
161521c2f794Smrg	*-ibm)
161621c2f794Smrg		os=-aix
161721c2f794Smrg		;;
161882e12b1bSmrg	*-knuth)
161921c2f794Smrg		os=-mmixware
162021c2f794Smrg		;;
162121c2f794Smrg	*-wec)
162221c2f794Smrg		os=-proelf
162321c2f794Smrg		;;
162421c2f794Smrg	*-winbond)
162521c2f794Smrg		os=-proelf
162621c2f794Smrg		;;
162721c2f794Smrg	*-oki)
162821c2f794Smrg		os=-proelf
162921c2f794Smrg		;;
163021c2f794Smrg	*-hp)
163121c2f794Smrg		os=-hpux
163221c2f794Smrg		;;
163321c2f794Smrg	*-hitachi)
163421c2f794Smrg		os=-hiux
163521c2f794Smrg		;;
163621c2f794Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
163721c2f794Smrg		os=-sysv
163821c2f794Smrg		;;
163921c2f794Smrg	*-cbm)
164021c2f794Smrg		os=-amigaos
164121c2f794Smrg		;;
164221c2f794Smrg	*-dg)
164321c2f794Smrg		os=-dgux
164421c2f794Smrg		;;
164521c2f794Smrg	*-dolphin)
164621c2f794Smrg		os=-sysv3
164721c2f794Smrg		;;
164821c2f794Smrg	m68k-ccur)
164921c2f794Smrg		os=-rtu
165021c2f794Smrg		;;
165121c2f794Smrg	m88k-omron*)
165221c2f794Smrg		os=-luna
165321c2f794Smrg		;;
165421c2f794Smrg	*-next )
165521c2f794Smrg		os=-nextstep
165621c2f794Smrg		;;
165721c2f794Smrg	*-sequent)
165821c2f794Smrg		os=-ptx
165921c2f794Smrg		;;
166021c2f794Smrg	*-crds)
166121c2f794Smrg		os=-unos
166221c2f794Smrg		;;
166321c2f794Smrg	*-ns)
166421c2f794Smrg		os=-genix
166521c2f794Smrg		;;
166621c2f794Smrg	i370-*)
166721c2f794Smrg		os=-mvs
166821c2f794Smrg		;;
166921c2f794Smrg	*-next)
167021c2f794Smrg		os=-nextstep3
167121c2f794Smrg		;;
167221c2f794Smrg	*-gould)
167321c2f794Smrg		os=-sysv
167421c2f794Smrg		;;
167521c2f794Smrg	*-highlevel)
167621c2f794Smrg		os=-bsd
167721c2f794Smrg		;;
167821c2f794Smrg	*-encore)
167921c2f794Smrg		os=-bsd
168021c2f794Smrg		;;
168121c2f794Smrg	*-sgi)
168221c2f794Smrg		os=-irix
168321c2f794Smrg		;;
168421c2f794Smrg	*-siemens)
168521c2f794Smrg		os=-sysv4
168621c2f794Smrg		;;
168721c2f794Smrg	*-masscomp)
168821c2f794Smrg		os=-rtu
168921c2f794Smrg		;;
169021c2f794Smrg	f30[01]-fujitsu | f700-fujitsu)
169121c2f794Smrg		os=-uxpv
169221c2f794Smrg		;;
169321c2f794Smrg	*-rom68k)
169421c2f794Smrg		os=-coff
169521c2f794Smrg		;;
169621c2f794Smrg	*-*bug)
169721c2f794Smrg		os=-coff
169821c2f794Smrg		;;
169921c2f794Smrg	*-apple)
170021c2f794Smrg		os=-macos
170121c2f794Smrg		;;
170221c2f794Smrg	*-atari*)
170321c2f794Smrg		os=-mint
170421c2f794Smrg		;;
170521c2f794Smrg	*)
170621c2f794Smrg		os=-none
170721c2f794Smrg		;;
170821c2f794Smrgesac
170921c2f794Smrgfi
171021c2f794Smrg
171121c2f794Smrg# Here we handle the case where we know the os, and the CPU type, but not the
171221c2f794Smrg# manufacturer.  We pick the logical manufacturer.
171321c2f794Smrgvendor=unknown
171421c2f794Smrgcase $basic_machine in
171521c2f794Smrg	*-unknown)
171621c2f794Smrg		case $os in
171721c2f794Smrg			-riscix*)
171821c2f794Smrg				vendor=acorn
171921c2f794Smrg				;;
172021c2f794Smrg			-sunos*)
172121c2f794Smrg				vendor=sun
172221c2f794Smrg				;;
172312391620Smrg			-cnk*|-aix*)
172421c2f794Smrg				vendor=ibm
172521c2f794Smrg				;;
172621c2f794Smrg			-beos*)
172721c2f794Smrg				vendor=be
172821c2f794Smrg				;;
172921c2f794Smrg			-hpux*)
173021c2f794Smrg				vendor=hp
173121c2f794Smrg				;;
173221c2f794Smrg			-mpeix*)
173321c2f794Smrg				vendor=hp
173421c2f794Smrg				;;
173521c2f794Smrg			-hiux*)
173621c2f794Smrg				vendor=hitachi
173721c2f794Smrg				;;
173821c2f794Smrg			-unos*)
173921c2f794Smrg				vendor=crds
174021c2f794Smrg				;;
174121c2f794Smrg			-dgux*)
174221c2f794Smrg				vendor=dg
174321c2f794Smrg				;;
174421c2f794Smrg			-luna*)
174521c2f794Smrg				vendor=omron
174621c2f794Smrg				;;
174721c2f794Smrg			-genix*)
174821c2f794Smrg				vendor=ns
174921c2f794Smrg				;;
175021c2f794Smrg			-mvs* | -opened*)
175121c2f794Smrg				vendor=ibm
175221c2f794Smrg				;;
175321c2f794Smrg			-os400*)
175421c2f794Smrg				vendor=ibm
175521c2f794Smrg				;;
175621c2f794Smrg			-ptx*)
175721c2f794Smrg				vendor=sequent
175821c2f794Smrg				;;
175921c2f794Smrg			-tpf*)
176021c2f794Smrg				vendor=ibm
176121c2f794Smrg				;;
176221c2f794Smrg			-vxsim* | -vxworks* | -windiss*)
176321c2f794Smrg				vendor=wrs
176421c2f794Smrg				;;
176521c2f794Smrg			-aux*)
176621c2f794Smrg				vendor=apple
176721c2f794Smrg				;;
176821c2f794Smrg			-hms*)
176921c2f794Smrg				vendor=hitachi
177021c2f794Smrg				;;
177121c2f794Smrg			-mpw* | -macos*)
177221c2f794Smrg				vendor=apple
177321c2f794Smrg				;;
177421c2f794Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
177521c2f794Smrg				vendor=atari
177621c2f794Smrg				;;
177721c2f794Smrg			-vos*)
177821c2f794Smrg				vendor=stratus
177921c2f794Smrg				;;
178021c2f794Smrg		esac
178121c2f794Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
178221c2f794Smrg		;;
178321c2f794Smrgesac
178421c2f794Smrg
178521c2f794Smrgecho $basic_machine$os
178621c2f794Smrgexit
178721c2f794Smrg
178821c2f794Smrg# Local variables:
178921c2f794Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
179021c2f794Smrg# time-stamp-start: "timestamp='"
179121c2f794Smrg# time-stamp-format: "%:y-%02m-%02d"
179221c2f794Smrg# time-stamp-end: "'"
179321c2f794Smrg# End:
1794