config.sub revision 04007eba
104007ebaSmrg#! /bin/sh
204007ebaSmrg# Configuration validation subroutine script.
304007ebaSmrg#   Copyright 1992-2013 Free Software Foundation, Inc.
404007ebaSmrg
504007ebaSmrgtimestamp='2013-08-10'
604007ebaSmrg
704007ebaSmrg# This file is free software; you can redistribute it and/or modify it
804007ebaSmrg# under the terms of the GNU General Public License as published by
904007ebaSmrg# the Free Software Foundation; either version 3 of the License, or
1004007ebaSmrg# (at your option) any later version.
1104007ebaSmrg#
1204007ebaSmrg# This program is distributed in the hope that it will be useful, but
1304007ebaSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
1404007ebaSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1504007ebaSmrg# General Public License for more details.
1604007ebaSmrg#
1704007ebaSmrg# You should have received a copy of the GNU General Public License
1804007ebaSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1904007ebaSmrg#
2004007ebaSmrg# As a special exception to the GNU General Public License, if you
2104007ebaSmrg# distribute this file as part of a program that contains a
2204007ebaSmrg# configuration script generated by Autoconf, you may include it under
2304007ebaSmrg# the same distribution terms that you use for the rest of that
2404007ebaSmrg# program.  This Exception is an additional permission under section 7
2504007ebaSmrg# of the GNU General Public License, version 3 ("GPLv3").
2604007ebaSmrg
2704007ebaSmrg
2804007ebaSmrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2904007ebaSmrg#
3004007ebaSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3104007ebaSmrg# Supply the specified configuration type as an argument.
3204007ebaSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3304007ebaSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3404007ebaSmrg
3504007ebaSmrg# You can get the latest version of this script from:
3604007ebaSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3704007ebaSmrg
3804007ebaSmrg# This file is supposed to be the same for all GNU packages
3904007ebaSmrg# and recognize all the CPU types, system types and aliases
4004007ebaSmrg# that are meaningful with *any* GNU software.
4104007ebaSmrg# Each package is responsible for reporting which valid configurations
4204007ebaSmrg# it does not support.  The user should be able to distinguish
4304007ebaSmrg# a failure to support a valid configuration from a meaningless
4404007ebaSmrg# configuration.
4504007ebaSmrg
4604007ebaSmrg# The goal of this file is to map all the various variations of a given
4704007ebaSmrg# machine specification into a single specification in the form:
4804007ebaSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4904007ebaSmrg# or in some cases, the newer four-part form:
5004007ebaSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5104007ebaSmrg# It is wrong to echo any other type of specification.
5204007ebaSmrg
5304007ebaSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5404007ebaSmrg
5504007ebaSmrgusage="\
5604007ebaSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5704007ebaSmrg       $0 [OPTION] ALIAS
5804007ebaSmrg
5904007ebaSmrgCanonicalize a configuration name.
6004007ebaSmrg
6104007ebaSmrgOperation modes:
6204007ebaSmrg  -h, --help         print this help, then exit
6304007ebaSmrg  -t, --time-stamp   print date of last modification, then exit
6404007ebaSmrg  -v, --version      print version number, then exit
6504007ebaSmrg
6604007ebaSmrgReport bugs and patches to <config-patches@gnu.org>."
6704007ebaSmrg
6804007ebaSmrgversion="\
6904007ebaSmrgGNU config.sub ($timestamp)
7004007ebaSmrg
7104007ebaSmrgCopyright 1992-2013 Free Software Foundation, Inc.
7204007ebaSmrg
7304007ebaSmrgThis is free software; see the source for copying conditions.  There is NO
7404007ebaSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7504007ebaSmrg
7604007ebaSmrghelp="
7704007ebaSmrgTry \`$me --help' for more information."
7804007ebaSmrg
7904007ebaSmrg# Parse command line
8004007ebaSmrgwhile test $# -gt 0 ; do
8104007ebaSmrg  case $1 in
8204007ebaSmrg    --time-stamp | --time* | -t )
8304007ebaSmrg       echo "$timestamp" ; exit ;;
8404007ebaSmrg    --version | -v )
8504007ebaSmrg       echo "$version" ; exit ;;
8604007ebaSmrg    --help | --h* | -h )
8704007ebaSmrg       echo "$usage"; exit ;;
8804007ebaSmrg    -- )     # Stop option processing
8904007ebaSmrg       shift; break ;;
9004007ebaSmrg    - )	# Use stdin as input.
9104007ebaSmrg       break ;;
9204007ebaSmrg    -* )
9304007ebaSmrg       echo "$me: invalid option $1$help"
9404007ebaSmrg       exit 1 ;;
9504007ebaSmrg
9604007ebaSmrg    *local*)
9704007ebaSmrg       # First pass through any local machine types.
9804007ebaSmrg       echo $1
9904007ebaSmrg       exit ;;
10004007ebaSmrg
10104007ebaSmrg    * )
10204007ebaSmrg       break ;;
10304007ebaSmrg  esac
10404007ebaSmrgdone
10504007ebaSmrg
10604007ebaSmrgcase $# in
10704007ebaSmrg 0) echo "$me: missing argument$help" >&2
10804007ebaSmrg    exit 1;;
10904007ebaSmrg 1) ;;
11004007ebaSmrg *) echo "$me: too many arguments$help" >&2
11104007ebaSmrg    exit 1;;
11204007ebaSmrgesac
11304007ebaSmrg
11404007ebaSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11504007ebaSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11604007ebaSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11704007ebaSmrgcase $maybe_os in
11804007ebaSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
11904007ebaSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12004007ebaSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
12104007ebaSmrg  kopensolaris*-gnu* | \
12204007ebaSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12304007ebaSmrg    os=-$maybe_os
12404007ebaSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12504007ebaSmrg    ;;
12604007ebaSmrg  android-linux)
12704007ebaSmrg    os=-linux-android
12804007ebaSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
12904007ebaSmrg    ;;
13004007ebaSmrg  *)
13104007ebaSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13204007ebaSmrg    if [ $basic_machine != $1 ]
13304007ebaSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13404007ebaSmrg    else os=; fi
13504007ebaSmrg    ;;
13604007ebaSmrgesac
13704007ebaSmrg
13804007ebaSmrg### Let's recognize common machines as not being operating systems so
13904007ebaSmrg### that things like config.sub decstation-3100 work.  We also
14004007ebaSmrg### recognize some manufacturers as not being operating systems, so we
14104007ebaSmrg### can provide default operating systems below.
14204007ebaSmrgcase $os in
14304007ebaSmrg	-sun*os*)
14404007ebaSmrg		# Prevent following clause from handling this invalid input.
14504007ebaSmrg		;;
14604007ebaSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14704007ebaSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14804007ebaSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14904007ebaSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15004007ebaSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15104007ebaSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15204007ebaSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
15304007ebaSmrg		os=
15404007ebaSmrg		basic_machine=$1
15504007ebaSmrg		;;
15604007ebaSmrg	-bluegene*)
15704007ebaSmrg		os=-cnk
15804007ebaSmrg		;;
15904007ebaSmrg	-sim | -cisco | -oki | -wec | -winbond)
16004007ebaSmrg		os=
16104007ebaSmrg		basic_machine=$1
16204007ebaSmrg		;;
16304007ebaSmrg	-scout)
16404007ebaSmrg		;;
16504007ebaSmrg	-wrs)
16604007ebaSmrg		os=-vxworks
16704007ebaSmrg		basic_machine=$1
16804007ebaSmrg		;;
16904007ebaSmrg	-chorusos*)
17004007ebaSmrg		os=-chorusos
17104007ebaSmrg		basic_machine=$1
17204007ebaSmrg		;;
17304007ebaSmrg	-chorusrdb)
17404007ebaSmrg		os=-chorusrdb
17504007ebaSmrg		basic_machine=$1
17604007ebaSmrg		;;
17704007ebaSmrg	-hiux*)
17804007ebaSmrg		os=-hiuxwe2
17904007ebaSmrg		;;
18004007ebaSmrg	-sco6)
18104007ebaSmrg		os=-sco5v6
18204007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18304007ebaSmrg		;;
18404007ebaSmrg	-sco5)
18504007ebaSmrg		os=-sco3.2v5
18604007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18704007ebaSmrg		;;
18804007ebaSmrg	-sco4)
18904007ebaSmrg		os=-sco3.2v4
19004007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19104007ebaSmrg		;;
19204007ebaSmrg	-sco3.2.[4-9]*)
19304007ebaSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19404007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19504007ebaSmrg		;;
19604007ebaSmrg	-sco3.2v[4-9]*)
19704007ebaSmrg		# Don't forget version if it is 3.2v4 or newer.
19804007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19904007ebaSmrg		;;
20004007ebaSmrg	-sco5v6*)
20104007ebaSmrg		# Don't forget version if it is 3.2v4 or newer.
20204007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20304007ebaSmrg		;;
20404007ebaSmrg	-sco*)
20504007ebaSmrg		os=-sco3.2v2
20604007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20704007ebaSmrg		;;
20804007ebaSmrg	-udk*)
20904007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21004007ebaSmrg		;;
21104007ebaSmrg	-isc)
21204007ebaSmrg		os=-isc2.2
21304007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21404007ebaSmrg		;;
21504007ebaSmrg	-clix*)
21604007ebaSmrg		basic_machine=clipper-intergraph
21704007ebaSmrg		;;
21804007ebaSmrg	-isc*)
21904007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22004007ebaSmrg		;;
22104007ebaSmrg	-lynx*178)
22204007ebaSmrg		os=-lynxos178
22304007ebaSmrg		;;
22404007ebaSmrg	-lynx*5)
22504007ebaSmrg		os=-lynxos5
22604007ebaSmrg		;;
22704007ebaSmrg	-lynx*)
22804007ebaSmrg		os=-lynxos
22904007ebaSmrg		;;
23004007ebaSmrg	-ptx*)
23104007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23204007ebaSmrg		;;
23304007ebaSmrg	-windowsnt*)
23404007ebaSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23504007ebaSmrg		;;
23604007ebaSmrg	-psos*)
23704007ebaSmrg		os=-psos
23804007ebaSmrg		;;
23904007ebaSmrg	-mint | -mint[0-9]*)
24004007ebaSmrg		basic_machine=m68k-atari
24104007ebaSmrg		os=-mint
24204007ebaSmrg		;;
24304007ebaSmrgesac
24404007ebaSmrg
24504007ebaSmrg# Decode aliases for certain CPU-COMPANY combinations.
24604007ebaSmrgcase $basic_machine in
24704007ebaSmrg	# Recognize the basic CPU types without company name.
24804007ebaSmrg	# Some are omitted here because they have special meanings below.
24904007ebaSmrg	1750a | 580 \
25004007ebaSmrg	| a29k \
25104007ebaSmrg	| aarch64 | aarch64_be \
25204007ebaSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25304007ebaSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25404007ebaSmrg	| am33_2.0 \
25504007ebaSmrg	| arc | arceb \
25604007ebaSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
25704007ebaSmrg	| avr | avr32 \
25804007ebaSmrg	| be32 | be64 \
25904007ebaSmrg	| bfin \
26004007ebaSmrg	| c4x | c8051 | clipper \
26104007ebaSmrg	| d10v | d30v | dlx | dsp16xx \
26204007ebaSmrg	| epiphany \
26304007ebaSmrg	| fido | fr30 | frv \
26404007ebaSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26504007ebaSmrg	| hexagon \
26604007ebaSmrg	| i370 | i860 | i960 | ia64 \
26704007ebaSmrg	| ip2k | iq2000 \
26804007ebaSmrg	| le32 | le64 \
26904007ebaSmrg	| lm32 \
27004007ebaSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
27104007ebaSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27204007ebaSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27304007ebaSmrg	| mips16 \
27404007ebaSmrg	| mips64 | mips64el \
27504007ebaSmrg	| mips64octeon | mips64octeonel \
27604007ebaSmrg	| mips64orion | mips64orionel \
27704007ebaSmrg	| mips64r5900 | mips64r5900el \
27804007ebaSmrg	| mips64vr | mips64vrel \
27904007ebaSmrg	| mips64vr4100 | mips64vr4100el \
28004007ebaSmrg	| mips64vr4300 | mips64vr4300el \
28104007ebaSmrg	| mips64vr5000 | mips64vr5000el \
28204007ebaSmrg	| mips64vr5900 | mips64vr5900el \
28304007ebaSmrg	| mipsisa32 | mipsisa32el \
28404007ebaSmrg	| mipsisa32r2 | mipsisa32r2el \
28504007ebaSmrg	| mipsisa64 | mipsisa64el \
28604007ebaSmrg	| mipsisa64r2 | mipsisa64r2el \
28704007ebaSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28804007ebaSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28904007ebaSmrg	| mipsr5900 | mipsr5900el \
29004007ebaSmrg	| mipstx39 | mipstx39el \
29104007ebaSmrg	| mn10200 | mn10300 \
29204007ebaSmrg	| moxie \
29304007ebaSmrg	| mt \
29404007ebaSmrg	| msp430 \
29504007ebaSmrg	| nds32 | nds32le | nds32be \
29604007ebaSmrg	| nios | nios2 | nios2eb | nios2el \
29704007ebaSmrg	| ns16k | ns32k \
29804007ebaSmrg	| open8 \
29904007ebaSmrg	| or1k | or32 \
30004007ebaSmrg	| pdp10 | pdp11 | pj | pjl \
30104007ebaSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30204007ebaSmrg	| pyramid \
30304007ebaSmrg	| rl78 | rx \
30404007ebaSmrg	| score \
30504007ebaSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30604007ebaSmrg	| sh64 | sh64le \
30704007ebaSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30804007ebaSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
30904007ebaSmrg	| spu \
31004007ebaSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31104007ebaSmrg	| ubicom32 \
31204007ebaSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31304007ebaSmrg	| we32k \
31404007ebaSmrg	| x86 | xc16x | xstormy16 | xtensa \
31504007ebaSmrg	| z8k | z80)
31604007ebaSmrg		basic_machine=$basic_machine-unknown
31704007ebaSmrg		;;
31804007ebaSmrg	c54x)
31904007ebaSmrg		basic_machine=tic54x-unknown
32004007ebaSmrg		;;
32104007ebaSmrg	c55x)
32204007ebaSmrg		basic_machine=tic55x-unknown
32304007ebaSmrg		;;
32404007ebaSmrg	c6x)
32504007ebaSmrg		basic_machine=tic6x-unknown
32604007ebaSmrg		;;
32704007ebaSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
32804007ebaSmrg		basic_machine=$basic_machine-unknown
32904007ebaSmrg		os=-none
33004007ebaSmrg		;;
33104007ebaSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33204007ebaSmrg		;;
33304007ebaSmrg	ms1)
33404007ebaSmrg		basic_machine=mt-unknown
33504007ebaSmrg		;;
33604007ebaSmrg
33704007ebaSmrg	strongarm | thumb | xscale)
33804007ebaSmrg		basic_machine=arm-unknown
33904007ebaSmrg		;;
34004007ebaSmrg	xgate)
34104007ebaSmrg		basic_machine=$basic_machine-unknown
34204007ebaSmrg		os=-none
34304007ebaSmrg		;;
34404007ebaSmrg	xscaleeb)
34504007ebaSmrg		basic_machine=armeb-unknown
34604007ebaSmrg		;;
34704007ebaSmrg
34804007ebaSmrg	xscaleel)
34904007ebaSmrg		basic_machine=armel-unknown
35004007ebaSmrg		;;
35104007ebaSmrg
35204007ebaSmrg	# We use `pc' rather than `unknown'
35304007ebaSmrg	# because (1) that's what they normally are, and
35404007ebaSmrg	# (2) the word "unknown" tends to confuse beginning users.
35504007ebaSmrg	i*86 | x86_64)
35604007ebaSmrg	  basic_machine=$basic_machine-pc
35704007ebaSmrg	  ;;
35804007ebaSmrg	# Object if more than one company name word.
35904007ebaSmrg	*-*-*)
36004007ebaSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36104007ebaSmrg		exit 1
36204007ebaSmrg		;;
36304007ebaSmrg	# Recognize the basic CPU types with company name.
36404007ebaSmrg	580-* \
36504007ebaSmrg	| a29k-* \
36604007ebaSmrg	| aarch64-* | aarch64_be-* \
36704007ebaSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36804007ebaSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36904007ebaSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37004007ebaSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37104007ebaSmrg	| avr-* | avr32-* \
37204007ebaSmrg	| be32-* | be64-* \
37304007ebaSmrg	| bfin-* | bs2000-* \
37404007ebaSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
37504007ebaSmrg	| c8051-* | clipper-* | craynv-* | cydra-* \
37604007ebaSmrg	| d10v-* | d30v-* | dlx-* \
37704007ebaSmrg	| elxsi-* \
37804007ebaSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37904007ebaSmrg	| h8300-* | h8500-* \
38004007ebaSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38104007ebaSmrg	| hexagon-* \
38204007ebaSmrg	| i*86-* | i860-* | i960-* | ia64-* \
38304007ebaSmrg	| ip2k-* | iq2000-* \
38404007ebaSmrg	| le32-* | le64-* \
38504007ebaSmrg	| lm32-* \
38604007ebaSmrg	| m32c-* | m32r-* | m32rle-* \
38704007ebaSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
38804007ebaSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
38904007ebaSmrg	| microblaze-* | microblazeel-* \
39004007ebaSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39104007ebaSmrg	| mips16-* \
39204007ebaSmrg	| mips64-* | mips64el-* \
39304007ebaSmrg	| mips64octeon-* | mips64octeonel-* \
39404007ebaSmrg	| mips64orion-* | mips64orionel-* \
39504007ebaSmrg	| mips64r5900-* | mips64r5900el-* \
39604007ebaSmrg	| mips64vr-* | mips64vrel-* \
39704007ebaSmrg	| mips64vr4100-* | mips64vr4100el-* \
39804007ebaSmrg	| mips64vr4300-* | mips64vr4300el-* \
39904007ebaSmrg	| mips64vr5000-* | mips64vr5000el-* \
40004007ebaSmrg	| mips64vr5900-* | mips64vr5900el-* \
40104007ebaSmrg	| mipsisa32-* | mipsisa32el-* \
40204007ebaSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
40304007ebaSmrg	| mipsisa64-* | mipsisa64el-* \
40404007ebaSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
40504007ebaSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
40604007ebaSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
40704007ebaSmrg	| mipsr5900-* | mipsr5900el-* \
40804007ebaSmrg	| mipstx39-* | mipstx39el-* \
40904007ebaSmrg	| mmix-* \
41004007ebaSmrg	| mt-* \
41104007ebaSmrg	| msp430-* \
41204007ebaSmrg	| nds32-* | nds32le-* | nds32be-* \
41304007ebaSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
41404007ebaSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
41504007ebaSmrg	| open8-* \
41604007ebaSmrg	| orion-* \
41704007ebaSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
41804007ebaSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
41904007ebaSmrg	| pyramid-* \
42004007ebaSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
42104007ebaSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
42204007ebaSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42304007ebaSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
42404007ebaSmrg	| sparclite-* \
42504007ebaSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
42604007ebaSmrg	| tahoe-* \
42704007ebaSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
42804007ebaSmrg	| tile*-* \
42904007ebaSmrg	| tron-* \
43004007ebaSmrg	| ubicom32-* \
43104007ebaSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
43204007ebaSmrg	| vax-* \
43304007ebaSmrg	| we32k-* \
43404007ebaSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43504007ebaSmrg	| xstormy16-* | xtensa*-* \
43604007ebaSmrg	| ymp-* \
43704007ebaSmrg	| z8k-* | z80-*)
43804007ebaSmrg		;;
43904007ebaSmrg	# Recognize the basic CPU types without company name, with glob match.
44004007ebaSmrg	xtensa*)
44104007ebaSmrg		basic_machine=$basic_machine-unknown
44204007ebaSmrg		;;
44304007ebaSmrg	# Recognize the various machine names and aliases which stand
44404007ebaSmrg	# for a CPU type and a company and sometimes even an OS.
44504007ebaSmrg	386bsd)
44604007ebaSmrg		basic_machine=i386-unknown
44704007ebaSmrg		os=-bsd
44804007ebaSmrg		;;
44904007ebaSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45004007ebaSmrg		basic_machine=m68000-att
45104007ebaSmrg		;;
45204007ebaSmrg	3b*)
45304007ebaSmrg		basic_machine=we32k-att
45404007ebaSmrg		;;
45504007ebaSmrg	a29khif)
45604007ebaSmrg		basic_machine=a29k-amd
45704007ebaSmrg		os=-udi
45804007ebaSmrg		;;
45904007ebaSmrg	abacus)
46004007ebaSmrg		basic_machine=abacus-unknown
46104007ebaSmrg		;;
46204007ebaSmrg	adobe68k)
46304007ebaSmrg		basic_machine=m68010-adobe
46404007ebaSmrg		os=-scout
46504007ebaSmrg		;;
46604007ebaSmrg	alliant | fx80)
46704007ebaSmrg		basic_machine=fx80-alliant
46804007ebaSmrg		;;
46904007ebaSmrg	altos | altos3068)
47004007ebaSmrg		basic_machine=m68k-altos
47104007ebaSmrg		;;
47204007ebaSmrg	am29k)
47304007ebaSmrg		basic_machine=a29k-none
47404007ebaSmrg		os=-bsd
47504007ebaSmrg		;;
47604007ebaSmrg	amd64)
47704007ebaSmrg		basic_machine=x86_64-pc
47804007ebaSmrg		;;
47904007ebaSmrg	amd64-*)
48004007ebaSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
48104007ebaSmrg		;;
48204007ebaSmrg	amdahl)
48304007ebaSmrg		basic_machine=580-amdahl
48404007ebaSmrg		os=-sysv
48504007ebaSmrg		;;
48604007ebaSmrg	amiga | amiga-*)
48704007ebaSmrg		basic_machine=m68k-unknown
48804007ebaSmrg		;;
48904007ebaSmrg	amigaos | amigados)
49004007ebaSmrg		basic_machine=m68k-unknown
49104007ebaSmrg		os=-amigaos
49204007ebaSmrg		;;
49304007ebaSmrg	amigaunix | amix)
49404007ebaSmrg		basic_machine=m68k-unknown
49504007ebaSmrg		os=-sysv4
49604007ebaSmrg		;;
49704007ebaSmrg	apollo68)
49804007ebaSmrg		basic_machine=m68k-apollo
49904007ebaSmrg		os=-sysv
50004007ebaSmrg		;;
50104007ebaSmrg	apollo68bsd)
50204007ebaSmrg		basic_machine=m68k-apollo
50304007ebaSmrg		os=-bsd
50404007ebaSmrg		;;
50504007ebaSmrg	aros)
50604007ebaSmrg		basic_machine=i386-pc
50704007ebaSmrg		os=-aros
50804007ebaSmrg		;;
50904007ebaSmrg	aux)
51004007ebaSmrg		basic_machine=m68k-apple
51104007ebaSmrg		os=-aux
51204007ebaSmrg		;;
51304007ebaSmrg	balance)
51404007ebaSmrg		basic_machine=ns32k-sequent
51504007ebaSmrg		os=-dynix
51604007ebaSmrg		;;
51704007ebaSmrg	blackfin)
51804007ebaSmrg		basic_machine=bfin-unknown
51904007ebaSmrg		os=-linux
52004007ebaSmrg		;;
52104007ebaSmrg	blackfin-*)
52204007ebaSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52304007ebaSmrg		os=-linux
52404007ebaSmrg		;;
52504007ebaSmrg	bluegene*)
52604007ebaSmrg		basic_machine=powerpc-ibm
52704007ebaSmrg		os=-cnk
52804007ebaSmrg		;;
52904007ebaSmrg	c54x-*)
53004007ebaSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
53104007ebaSmrg		;;
53204007ebaSmrg	c55x-*)
53304007ebaSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
53404007ebaSmrg		;;
53504007ebaSmrg	c6x-*)
53604007ebaSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
53704007ebaSmrg		;;
53804007ebaSmrg	c90)
53904007ebaSmrg		basic_machine=c90-cray
54004007ebaSmrg		os=-unicos
54104007ebaSmrg		;;
54204007ebaSmrg	cegcc)
54304007ebaSmrg		basic_machine=arm-unknown
54404007ebaSmrg		os=-cegcc
54504007ebaSmrg		;;
54604007ebaSmrg	convex-c1)
54704007ebaSmrg		basic_machine=c1-convex
54804007ebaSmrg		os=-bsd
54904007ebaSmrg		;;
55004007ebaSmrg	convex-c2)
55104007ebaSmrg		basic_machine=c2-convex
55204007ebaSmrg		os=-bsd
55304007ebaSmrg		;;
55404007ebaSmrg	convex-c32)
55504007ebaSmrg		basic_machine=c32-convex
55604007ebaSmrg		os=-bsd
55704007ebaSmrg		;;
55804007ebaSmrg	convex-c34)
55904007ebaSmrg		basic_machine=c34-convex
56004007ebaSmrg		os=-bsd
56104007ebaSmrg		;;
56204007ebaSmrg	convex-c38)
56304007ebaSmrg		basic_machine=c38-convex
56404007ebaSmrg		os=-bsd
56504007ebaSmrg		;;
56604007ebaSmrg	cray | j90)
56704007ebaSmrg		basic_machine=j90-cray
56804007ebaSmrg		os=-unicos
56904007ebaSmrg		;;
57004007ebaSmrg	craynv)
57104007ebaSmrg		basic_machine=craynv-cray
57204007ebaSmrg		os=-unicosmp
57304007ebaSmrg		;;
57404007ebaSmrg	cr16 | cr16-*)
57504007ebaSmrg		basic_machine=cr16-unknown
57604007ebaSmrg		os=-elf
57704007ebaSmrg		;;
57804007ebaSmrg	crds | unos)
57904007ebaSmrg		basic_machine=m68k-crds
58004007ebaSmrg		;;
58104007ebaSmrg	crisv32 | crisv32-* | etraxfs*)
58204007ebaSmrg		basic_machine=crisv32-axis
58304007ebaSmrg		;;
58404007ebaSmrg	cris | cris-* | etrax*)
58504007ebaSmrg		basic_machine=cris-axis
58604007ebaSmrg		;;
58704007ebaSmrg	crx)
58804007ebaSmrg		basic_machine=crx-unknown
58904007ebaSmrg		os=-elf
59004007ebaSmrg		;;
59104007ebaSmrg	da30 | da30-*)
59204007ebaSmrg		basic_machine=m68k-da30
59304007ebaSmrg		;;
59404007ebaSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59504007ebaSmrg		basic_machine=mips-dec
59604007ebaSmrg		;;
59704007ebaSmrg	decsystem10* | dec10*)
59804007ebaSmrg		basic_machine=pdp10-dec
59904007ebaSmrg		os=-tops10
60004007ebaSmrg		;;
60104007ebaSmrg	decsystem20* | dec20*)
60204007ebaSmrg		basic_machine=pdp10-dec
60304007ebaSmrg		os=-tops20
60404007ebaSmrg		;;
60504007ebaSmrg	delta | 3300 | motorola-3300 | motorola-delta \
60604007ebaSmrg	      | 3300-motorola | delta-motorola)
60704007ebaSmrg		basic_machine=m68k-motorola
60804007ebaSmrg		;;
60904007ebaSmrg	delta88)
61004007ebaSmrg		basic_machine=m88k-motorola
61104007ebaSmrg		os=-sysv3
61204007ebaSmrg		;;
61304007ebaSmrg	dicos)
61404007ebaSmrg		basic_machine=i686-pc
61504007ebaSmrg		os=-dicos
61604007ebaSmrg		;;
61704007ebaSmrg	djgpp)
61804007ebaSmrg		basic_machine=i586-pc
61904007ebaSmrg		os=-msdosdjgpp
62004007ebaSmrg		;;
62104007ebaSmrg	dpx20 | dpx20-*)
62204007ebaSmrg		basic_machine=rs6000-bull
62304007ebaSmrg		os=-bosx
62404007ebaSmrg		;;
62504007ebaSmrg	dpx2* | dpx2*-bull)
62604007ebaSmrg		basic_machine=m68k-bull
62704007ebaSmrg		os=-sysv3
62804007ebaSmrg		;;
62904007ebaSmrg	ebmon29k)
63004007ebaSmrg		basic_machine=a29k-amd
63104007ebaSmrg		os=-ebmon
63204007ebaSmrg		;;
63304007ebaSmrg	elxsi)
63404007ebaSmrg		basic_machine=elxsi-elxsi
63504007ebaSmrg		os=-bsd
63604007ebaSmrg		;;
63704007ebaSmrg	encore | umax | mmax)
63804007ebaSmrg		basic_machine=ns32k-encore
63904007ebaSmrg		;;
64004007ebaSmrg	es1800 | OSE68k | ose68k | ose | OSE)
64104007ebaSmrg		basic_machine=m68k-ericsson
64204007ebaSmrg		os=-ose
64304007ebaSmrg		;;
64404007ebaSmrg	fx2800)
64504007ebaSmrg		basic_machine=i860-alliant
64604007ebaSmrg		;;
64704007ebaSmrg	genix)
64804007ebaSmrg		basic_machine=ns32k-ns
64904007ebaSmrg		;;
65004007ebaSmrg	gmicro)
65104007ebaSmrg		basic_machine=tron-gmicro
65204007ebaSmrg		os=-sysv
65304007ebaSmrg		;;
65404007ebaSmrg	go32)
65504007ebaSmrg		basic_machine=i386-pc
65604007ebaSmrg		os=-go32
65704007ebaSmrg		;;
65804007ebaSmrg	h3050r* | hiux*)
65904007ebaSmrg		basic_machine=hppa1.1-hitachi
66004007ebaSmrg		os=-hiuxwe2
66104007ebaSmrg		;;
66204007ebaSmrg	h8300hms)
66304007ebaSmrg		basic_machine=h8300-hitachi
66404007ebaSmrg		os=-hms
66504007ebaSmrg		;;
66604007ebaSmrg	h8300xray)
66704007ebaSmrg		basic_machine=h8300-hitachi
66804007ebaSmrg		os=-xray
66904007ebaSmrg		;;
67004007ebaSmrg	h8500hms)
67104007ebaSmrg		basic_machine=h8500-hitachi
67204007ebaSmrg		os=-hms
67304007ebaSmrg		;;
67404007ebaSmrg	harris)
67504007ebaSmrg		basic_machine=m88k-harris
67604007ebaSmrg		os=-sysv3
67704007ebaSmrg		;;
67804007ebaSmrg	hp300-*)
67904007ebaSmrg		basic_machine=m68k-hp
68004007ebaSmrg		;;
68104007ebaSmrg	hp300bsd)
68204007ebaSmrg		basic_machine=m68k-hp
68304007ebaSmrg		os=-bsd
68404007ebaSmrg		;;
68504007ebaSmrg	hp300hpux)
68604007ebaSmrg		basic_machine=m68k-hp
68704007ebaSmrg		os=-hpux
68804007ebaSmrg		;;
68904007ebaSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69004007ebaSmrg		basic_machine=hppa1.0-hp
69104007ebaSmrg		;;
69204007ebaSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
69304007ebaSmrg		basic_machine=m68000-hp
69404007ebaSmrg		;;
69504007ebaSmrg	hp9k3[2-9][0-9])
69604007ebaSmrg		basic_machine=m68k-hp
69704007ebaSmrg		;;
69804007ebaSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
69904007ebaSmrg		basic_machine=hppa1.0-hp
70004007ebaSmrg		;;
70104007ebaSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70204007ebaSmrg		basic_machine=hppa1.1-hp
70304007ebaSmrg		;;
70404007ebaSmrg	hp9k78[0-9] | hp78[0-9])
70504007ebaSmrg		# FIXME: really hppa2.0-hp
70604007ebaSmrg		basic_machine=hppa1.1-hp
70704007ebaSmrg		;;
70804007ebaSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
70904007ebaSmrg		# FIXME: really hppa2.0-hp
71004007ebaSmrg		basic_machine=hppa1.1-hp
71104007ebaSmrg		;;
71204007ebaSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
71304007ebaSmrg		basic_machine=hppa1.1-hp
71404007ebaSmrg		;;
71504007ebaSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71604007ebaSmrg		basic_machine=hppa1.0-hp
71704007ebaSmrg		;;
71804007ebaSmrg	hppa-next)
71904007ebaSmrg		os=-nextstep3
72004007ebaSmrg		;;
72104007ebaSmrg	hppaosf)
72204007ebaSmrg		basic_machine=hppa1.1-hp
72304007ebaSmrg		os=-osf
72404007ebaSmrg		;;
72504007ebaSmrg	hppro)
72604007ebaSmrg		basic_machine=hppa1.1-hp
72704007ebaSmrg		os=-proelf
72804007ebaSmrg		;;
72904007ebaSmrg	i370-ibm* | ibm*)
73004007ebaSmrg		basic_machine=i370-ibm
73104007ebaSmrg		;;
73204007ebaSmrg	i*86v32)
73304007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73404007ebaSmrg		os=-sysv32
73504007ebaSmrg		;;
73604007ebaSmrg	i*86v4*)
73704007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73804007ebaSmrg		os=-sysv4
73904007ebaSmrg		;;
74004007ebaSmrg	i*86v)
74104007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74204007ebaSmrg		os=-sysv
74304007ebaSmrg		;;
74404007ebaSmrg	i*86sol2)
74504007ebaSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74604007ebaSmrg		os=-solaris2
74704007ebaSmrg		;;
74804007ebaSmrg	i386mach)
74904007ebaSmrg		basic_machine=i386-mach
75004007ebaSmrg		os=-mach
75104007ebaSmrg		;;
75204007ebaSmrg	i386-vsta | vsta)
75304007ebaSmrg		basic_machine=i386-unknown
75404007ebaSmrg		os=-vsta
75504007ebaSmrg		;;
75604007ebaSmrg	iris | iris4d)
75704007ebaSmrg		basic_machine=mips-sgi
75804007ebaSmrg		case $os in
75904007ebaSmrg		    -irix*)
76004007ebaSmrg			;;
76104007ebaSmrg		    *)
76204007ebaSmrg			os=-irix4
76304007ebaSmrg			;;
76404007ebaSmrg		esac
76504007ebaSmrg		;;
76604007ebaSmrg	isi68 | isi)
76704007ebaSmrg		basic_machine=m68k-isi
76804007ebaSmrg		os=-sysv
76904007ebaSmrg		;;
77004007ebaSmrg	m68knommu)
77104007ebaSmrg		basic_machine=m68k-unknown
77204007ebaSmrg		os=-linux
77304007ebaSmrg		;;
77404007ebaSmrg	m68knommu-*)
77504007ebaSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
77604007ebaSmrg		os=-linux
77704007ebaSmrg		;;
77804007ebaSmrg	m88k-omron*)
77904007ebaSmrg		basic_machine=m88k-omron
78004007ebaSmrg		;;
78104007ebaSmrg	magnum | m3230)
78204007ebaSmrg		basic_machine=mips-mips
78304007ebaSmrg		os=-sysv
78404007ebaSmrg		;;
78504007ebaSmrg	merlin)
78604007ebaSmrg		basic_machine=ns32k-utek
78704007ebaSmrg		os=-sysv
78804007ebaSmrg		;;
78904007ebaSmrg	microblaze*)
79004007ebaSmrg		basic_machine=microblaze-xilinx
79104007ebaSmrg		;;
79204007ebaSmrg	mingw64)
79304007ebaSmrg		basic_machine=x86_64-pc
79404007ebaSmrg		os=-mingw64
79504007ebaSmrg		;;
79604007ebaSmrg	mingw32)
79704007ebaSmrg		basic_machine=i686-pc
79804007ebaSmrg		os=-mingw32
79904007ebaSmrg		;;
80004007ebaSmrg	mingw32ce)
80104007ebaSmrg		basic_machine=arm-unknown
80204007ebaSmrg		os=-mingw32ce
80304007ebaSmrg		;;
80404007ebaSmrg	miniframe)
80504007ebaSmrg		basic_machine=m68000-convergent
80604007ebaSmrg		;;
80704007ebaSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
80804007ebaSmrg		basic_machine=m68k-atari
80904007ebaSmrg		os=-mint
81004007ebaSmrg		;;
81104007ebaSmrg	mips3*-*)
81204007ebaSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81304007ebaSmrg		;;
81404007ebaSmrg	mips3*)
81504007ebaSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81604007ebaSmrg		;;
81704007ebaSmrg	monitor)
81804007ebaSmrg		basic_machine=m68k-rom68k
81904007ebaSmrg		os=-coff
82004007ebaSmrg		;;
82104007ebaSmrg	morphos)
82204007ebaSmrg		basic_machine=powerpc-unknown
82304007ebaSmrg		os=-morphos
82404007ebaSmrg		;;
82504007ebaSmrg	msdos)
82604007ebaSmrg		basic_machine=i386-pc
82704007ebaSmrg		os=-msdos
82804007ebaSmrg		;;
82904007ebaSmrg	ms1-*)
83004007ebaSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
83104007ebaSmrg		;;
83204007ebaSmrg	msys)
83304007ebaSmrg		basic_machine=i686-pc
83404007ebaSmrg		os=-msys
83504007ebaSmrg		;;
83604007ebaSmrg	mvs)
83704007ebaSmrg		basic_machine=i370-ibm
83804007ebaSmrg		os=-mvs
83904007ebaSmrg		;;
84004007ebaSmrg	nacl)
84104007ebaSmrg		basic_machine=le32-unknown
84204007ebaSmrg		os=-nacl
84304007ebaSmrg		;;
84404007ebaSmrg	ncr3000)
84504007ebaSmrg		basic_machine=i486-ncr
84604007ebaSmrg		os=-sysv4
84704007ebaSmrg		;;
84804007ebaSmrg	netbsd386)
84904007ebaSmrg		basic_machine=i386-unknown
85004007ebaSmrg		os=-netbsd
85104007ebaSmrg		;;
85204007ebaSmrg	netwinder)
85304007ebaSmrg		basic_machine=armv4l-rebel
85404007ebaSmrg		os=-linux
85504007ebaSmrg		;;
85604007ebaSmrg	news | news700 | news800 | news900)
85704007ebaSmrg		basic_machine=m68k-sony
85804007ebaSmrg		os=-newsos
85904007ebaSmrg		;;
86004007ebaSmrg	news1000)
86104007ebaSmrg		basic_machine=m68030-sony
86204007ebaSmrg		os=-newsos
86304007ebaSmrg		;;
86404007ebaSmrg	news-3600 | risc-news)
86504007ebaSmrg		basic_machine=mips-sony
86604007ebaSmrg		os=-newsos
86704007ebaSmrg		;;
86804007ebaSmrg	necv70)
86904007ebaSmrg		basic_machine=v70-nec
87004007ebaSmrg		os=-sysv
87104007ebaSmrg		;;
87204007ebaSmrg	next | m*-next )
87304007ebaSmrg		basic_machine=m68k-next
87404007ebaSmrg		case $os in
87504007ebaSmrg		    -nextstep* )
87604007ebaSmrg			;;
87704007ebaSmrg		    -ns2*)
87804007ebaSmrg		      os=-nextstep2
87904007ebaSmrg			;;
88004007ebaSmrg		    *)
88104007ebaSmrg		      os=-nextstep3
88204007ebaSmrg			;;
88304007ebaSmrg		esac
88404007ebaSmrg		;;
88504007ebaSmrg	nh3000)
88604007ebaSmrg		basic_machine=m68k-harris
88704007ebaSmrg		os=-cxux
88804007ebaSmrg		;;
88904007ebaSmrg	nh[45]000)
89004007ebaSmrg		basic_machine=m88k-harris
89104007ebaSmrg		os=-cxux
89204007ebaSmrg		;;
89304007ebaSmrg	nindy960)
89404007ebaSmrg		basic_machine=i960-intel
89504007ebaSmrg		os=-nindy
89604007ebaSmrg		;;
89704007ebaSmrg	mon960)
89804007ebaSmrg		basic_machine=i960-intel
89904007ebaSmrg		os=-mon960
90004007ebaSmrg		;;
90104007ebaSmrg	nonstopux)
90204007ebaSmrg		basic_machine=mips-compaq
90304007ebaSmrg		os=-nonstopux
90404007ebaSmrg		;;
90504007ebaSmrg	np1)
90604007ebaSmrg		basic_machine=np1-gould
90704007ebaSmrg		;;
90804007ebaSmrg	neo-tandem)
90904007ebaSmrg		basic_machine=neo-tandem
91004007ebaSmrg		;;
91104007ebaSmrg	nse-tandem)
91204007ebaSmrg		basic_machine=nse-tandem
91304007ebaSmrg		;;
91404007ebaSmrg	nsr-tandem)
91504007ebaSmrg		basic_machine=nsr-tandem
91604007ebaSmrg		;;
91704007ebaSmrg	op50n-* | op60c-*)
91804007ebaSmrg		basic_machine=hppa1.1-oki
91904007ebaSmrg		os=-proelf
92004007ebaSmrg		;;
92104007ebaSmrg	openrisc | openrisc-*)
92204007ebaSmrg		basic_machine=or32-unknown
92304007ebaSmrg		;;
92404007ebaSmrg	os400)
92504007ebaSmrg		basic_machine=powerpc-ibm
92604007ebaSmrg		os=-os400
92704007ebaSmrg		;;
92804007ebaSmrg	OSE68000 | ose68000)
92904007ebaSmrg		basic_machine=m68000-ericsson
93004007ebaSmrg		os=-ose
93104007ebaSmrg		;;
93204007ebaSmrg	os68k)
93304007ebaSmrg		basic_machine=m68k-none
93404007ebaSmrg		os=-os68k
93504007ebaSmrg		;;
93604007ebaSmrg	pa-hitachi)
93704007ebaSmrg		basic_machine=hppa1.1-hitachi
93804007ebaSmrg		os=-hiuxwe2
93904007ebaSmrg		;;
94004007ebaSmrg	paragon)
94104007ebaSmrg		basic_machine=i860-intel
94204007ebaSmrg		os=-osf
94304007ebaSmrg		;;
94404007ebaSmrg	parisc)
94504007ebaSmrg		basic_machine=hppa-unknown
94604007ebaSmrg		os=-linux
94704007ebaSmrg		;;
94804007ebaSmrg	parisc-*)
94904007ebaSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
95004007ebaSmrg		os=-linux
95104007ebaSmrg		;;
95204007ebaSmrg	pbd)
95304007ebaSmrg		basic_machine=sparc-tti
95404007ebaSmrg		;;
95504007ebaSmrg	pbb)
95604007ebaSmrg		basic_machine=m68k-tti
95704007ebaSmrg		;;
95804007ebaSmrg	pc532 | pc532-*)
95904007ebaSmrg		basic_machine=ns32k-pc532
96004007ebaSmrg		;;
96104007ebaSmrg	pc98)
96204007ebaSmrg		basic_machine=i386-pc
96304007ebaSmrg		;;
96404007ebaSmrg	pc98-*)
96504007ebaSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
96604007ebaSmrg		;;
96704007ebaSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
96804007ebaSmrg		basic_machine=i586-pc
96904007ebaSmrg		;;
97004007ebaSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
97104007ebaSmrg		basic_machine=i686-pc
97204007ebaSmrg		;;
97304007ebaSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
97404007ebaSmrg		basic_machine=i686-pc
97504007ebaSmrg		;;
97604007ebaSmrg	pentium4)
97704007ebaSmrg		basic_machine=i786-pc
97804007ebaSmrg		;;
97904007ebaSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
98004007ebaSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
98104007ebaSmrg		;;
98204007ebaSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98304007ebaSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98404007ebaSmrg		;;
98504007ebaSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98604007ebaSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98704007ebaSmrg		;;
98804007ebaSmrg	pentium4-*)
98904007ebaSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
99004007ebaSmrg		;;
99104007ebaSmrg	pn)
99204007ebaSmrg		basic_machine=pn-gould
99304007ebaSmrg		;;
99404007ebaSmrg	power)	basic_machine=power-ibm
99504007ebaSmrg		;;
99604007ebaSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
99704007ebaSmrg		;;
99804007ebaSmrg	ppc-* | ppcbe-*)
99904007ebaSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
100004007ebaSmrg		;;
100104007ebaSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
100204007ebaSmrg		basic_machine=powerpcle-unknown
100304007ebaSmrg		;;
100404007ebaSmrg	ppcle-* | powerpclittle-*)
100504007ebaSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100604007ebaSmrg		;;
100704007ebaSmrg	ppc64)	basic_machine=powerpc64-unknown
100804007ebaSmrg		;;
100904007ebaSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
101004007ebaSmrg		;;
101104007ebaSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
101204007ebaSmrg		basic_machine=powerpc64le-unknown
101304007ebaSmrg		;;
101404007ebaSmrg	ppc64le-* | powerpc64little-*)
101504007ebaSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
101604007ebaSmrg		;;
101704007ebaSmrg	ps2)
101804007ebaSmrg		basic_machine=i386-ibm
101904007ebaSmrg		;;
102004007ebaSmrg	pw32)
102104007ebaSmrg		basic_machine=i586-unknown
102204007ebaSmrg		os=-pw32
102304007ebaSmrg		;;
102404007ebaSmrg	rdos | rdos64)
102504007ebaSmrg		basic_machine=x86_64-pc
102604007ebaSmrg		os=-rdos
102704007ebaSmrg		;;
102804007ebaSmrg	rdos32)
102904007ebaSmrg		basic_machine=i386-pc
103004007ebaSmrg		os=-rdos
103104007ebaSmrg		;;
103204007ebaSmrg	rom68k)
103304007ebaSmrg		basic_machine=m68k-rom68k
103404007ebaSmrg		os=-coff
103504007ebaSmrg		;;
103604007ebaSmrg	rm[46]00)
103704007ebaSmrg		basic_machine=mips-siemens
103804007ebaSmrg		;;
103904007ebaSmrg	rtpc | rtpc-*)
104004007ebaSmrg		basic_machine=romp-ibm
104104007ebaSmrg		;;
104204007ebaSmrg	s390 | s390-*)
104304007ebaSmrg		basic_machine=s390-ibm
104404007ebaSmrg		;;
104504007ebaSmrg	s390x | s390x-*)
104604007ebaSmrg		basic_machine=s390x-ibm
104704007ebaSmrg		;;
104804007ebaSmrg	sa29200)
104904007ebaSmrg		basic_machine=a29k-amd
105004007ebaSmrg		os=-udi
105104007ebaSmrg		;;
105204007ebaSmrg	sb1)
105304007ebaSmrg		basic_machine=mipsisa64sb1-unknown
105404007ebaSmrg		;;
105504007ebaSmrg	sb1el)
105604007ebaSmrg		basic_machine=mipsisa64sb1el-unknown
105704007ebaSmrg		;;
105804007ebaSmrg	sde)
105904007ebaSmrg		basic_machine=mipsisa32-sde
106004007ebaSmrg		os=-elf
106104007ebaSmrg		;;
106204007ebaSmrg	sei)
106304007ebaSmrg		basic_machine=mips-sei
106404007ebaSmrg		os=-seiux
106504007ebaSmrg		;;
106604007ebaSmrg	sequent)
106704007ebaSmrg		basic_machine=i386-sequent
106804007ebaSmrg		;;
106904007ebaSmrg	sh)
107004007ebaSmrg		basic_machine=sh-hitachi
107104007ebaSmrg		os=-hms
107204007ebaSmrg		;;
107304007ebaSmrg	sh5el)
107404007ebaSmrg		basic_machine=sh5le-unknown
107504007ebaSmrg		;;
107604007ebaSmrg	sh64)
107704007ebaSmrg		basic_machine=sh64-unknown
107804007ebaSmrg		;;
107904007ebaSmrg	sparclite-wrs | simso-wrs)
108004007ebaSmrg		basic_machine=sparclite-wrs
108104007ebaSmrg		os=-vxworks
108204007ebaSmrg		;;
108304007ebaSmrg	sps7)
108404007ebaSmrg		basic_machine=m68k-bull
108504007ebaSmrg		os=-sysv2
108604007ebaSmrg		;;
108704007ebaSmrg	spur)
108804007ebaSmrg		basic_machine=spur-unknown
108904007ebaSmrg		;;
109004007ebaSmrg	st2000)
109104007ebaSmrg		basic_machine=m68k-tandem
109204007ebaSmrg		;;
109304007ebaSmrg	stratus)
109404007ebaSmrg		basic_machine=i860-stratus
109504007ebaSmrg		os=-sysv4
109604007ebaSmrg		;;
109704007ebaSmrg	strongarm-* | thumb-*)
109804007ebaSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
109904007ebaSmrg		;;
110004007ebaSmrg	sun2)
110104007ebaSmrg		basic_machine=m68000-sun
110204007ebaSmrg		;;
110304007ebaSmrg	sun2os3)
110404007ebaSmrg		basic_machine=m68000-sun
110504007ebaSmrg		os=-sunos3
110604007ebaSmrg		;;
110704007ebaSmrg	sun2os4)
110804007ebaSmrg		basic_machine=m68000-sun
110904007ebaSmrg		os=-sunos4
111004007ebaSmrg		;;
111104007ebaSmrg	sun3os3)
111204007ebaSmrg		basic_machine=m68k-sun
111304007ebaSmrg		os=-sunos3
111404007ebaSmrg		;;
111504007ebaSmrg	sun3os4)
111604007ebaSmrg		basic_machine=m68k-sun
111704007ebaSmrg		os=-sunos4
111804007ebaSmrg		;;
111904007ebaSmrg	sun4os3)
112004007ebaSmrg		basic_machine=sparc-sun
112104007ebaSmrg		os=-sunos3
112204007ebaSmrg		;;
112304007ebaSmrg	sun4os4)
112404007ebaSmrg		basic_machine=sparc-sun
112504007ebaSmrg		os=-sunos4
112604007ebaSmrg		;;
112704007ebaSmrg	sun4sol2)
112804007ebaSmrg		basic_machine=sparc-sun
112904007ebaSmrg		os=-solaris2
113004007ebaSmrg		;;
113104007ebaSmrg	sun3 | sun3-*)
113204007ebaSmrg		basic_machine=m68k-sun
113304007ebaSmrg		;;
113404007ebaSmrg	sun4)
113504007ebaSmrg		basic_machine=sparc-sun
113604007ebaSmrg		;;
113704007ebaSmrg	sun386 | sun386i | roadrunner)
113804007ebaSmrg		basic_machine=i386-sun
113904007ebaSmrg		;;
114004007ebaSmrg	sv1)
114104007ebaSmrg		basic_machine=sv1-cray
114204007ebaSmrg		os=-unicos
114304007ebaSmrg		;;
114404007ebaSmrg	symmetry)
114504007ebaSmrg		basic_machine=i386-sequent
114604007ebaSmrg		os=-dynix
114704007ebaSmrg		;;
114804007ebaSmrg	t3e)
114904007ebaSmrg		basic_machine=alphaev5-cray
115004007ebaSmrg		os=-unicos
115104007ebaSmrg		;;
115204007ebaSmrg	t90)
115304007ebaSmrg		basic_machine=t90-cray
115404007ebaSmrg		os=-unicos
115504007ebaSmrg		;;
115604007ebaSmrg	tile*)
115704007ebaSmrg		basic_machine=$basic_machine-unknown
115804007ebaSmrg		os=-linux-gnu
115904007ebaSmrg		;;
116004007ebaSmrg	tx39)
116104007ebaSmrg		basic_machine=mipstx39-unknown
116204007ebaSmrg		;;
116304007ebaSmrg	tx39el)
116404007ebaSmrg		basic_machine=mipstx39el-unknown
116504007ebaSmrg		;;
116604007ebaSmrg	toad1)
116704007ebaSmrg		basic_machine=pdp10-xkl
116804007ebaSmrg		os=-tops20
116904007ebaSmrg		;;
117004007ebaSmrg	tower | tower-32)
117104007ebaSmrg		basic_machine=m68k-ncr
117204007ebaSmrg		;;
117304007ebaSmrg	tpf)
117404007ebaSmrg		basic_machine=s390x-ibm
117504007ebaSmrg		os=-tpf
117604007ebaSmrg		;;
117704007ebaSmrg	udi29k)
117804007ebaSmrg		basic_machine=a29k-amd
117904007ebaSmrg		os=-udi
118004007ebaSmrg		;;
118104007ebaSmrg	ultra3)
118204007ebaSmrg		basic_machine=a29k-nyu
118304007ebaSmrg		os=-sym1
118404007ebaSmrg		;;
118504007ebaSmrg	v810 | necv810)
118604007ebaSmrg		basic_machine=v810-nec
118704007ebaSmrg		os=-none
118804007ebaSmrg		;;
118904007ebaSmrg	vaxv)
119004007ebaSmrg		basic_machine=vax-dec
119104007ebaSmrg		os=-sysv
119204007ebaSmrg		;;
119304007ebaSmrg	vms)
119404007ebaSmrg		basic_machine=vax-dec
119504007ebaSmrg		os=-vms
119604007ebaSmrg		;;
119704007ebaSmrg	vpp*|vx|vx-*)
119804007ebaSmrg		basic_machine=f301-fujitsu
119904007ebaSmrg		;;
120004007ebaSmrg	vxworks960)
120104007ebaSmrg		basic_machine=i960-wrs
120204007ebaSmrg		os=-vxworks
120304007ebaSmrg		;;
120404007ebaSmrg	vxworks68)
120504007ebaSmrg		basic_machine=m68k-wrs
120604007ebaSmrg		os=-vxworks
120704007ebaSmrg		;;
120804007ebaSmrg	vxworks29k)
120904007ebaSmrg		basic_machine=a29k-wrs
121004007ebaSmrg		os=-vxworks
121104007ebaSmrg		;;
121204007ebaSmrg	w65*)
121304007ebaSmrg		basic_machine=w65-wdc
121404007ebaSmrg		os=-none
121504007ebaSmrg		;;
121604007ebaSmrg	w89k-*)
121704007ebaSmrg		basic_machine=hppa1.1-winbond
121804007ebaSmrg		os=-proelf
121904007ebaSmrg		;;
122004007ebaSmrg	xbox)
122104007ebaSmrg		basic_machine=i686-pc
122204007ebaSmrg		os=-mingw32
122304007ebaSmrg		;;
122404007ebaSmrg	xps | xps100)
122504007ebaSmrg		basic_machine=xps100-honeywell
122604007ebaSmrg		;;
122704007ebaSmrg	xscale-* | xscalee[bl]-*)
122804007ebaSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
122904007ebaSmrg		;;
123004007ebaSmrg	ymp)
123104007ebaSmrg		basic_machine=ymp-cray
123204007ebaSmrg		os=-unicos
123304007ebaSmrg		;;
123404007ebaSmrg	z8k-*-coff)
123504007ebaSmrg		basic_machine=z8k-unknown
123604007ebaSmrg		os=-sim
123704007ebaSmrg		;;
123804007ebaSmrg	z80-*-coff)
123904007ebaSmrg		basic_machine=z80-unknown
124004007ebaSmrg		os=-sim
124104007ebaSmrg		;;
124204007ebaSmrg	none)
124304007ebaSmrg		basic_machine=none-none
124404007ebaSmrg		os=-none
124504007ebaSmrg		;;
124604007ebaSmrg
124704007ebaSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
124804007ebaSmrg# some cases the only manufacturer, in others, it is the most popular.
124904007ebaSmrg	w89k)
125004007ebaSmrg		basic_machine=hppa1.1-winbond
125104007ebaSmrg		;;
125204007ebaSmrg	op50n)
125304007ebaSmrg		basic_machine=hppa1.1-oki
125404007ebaSmrg		;;
125504007ebaSmrg	op60c)
125604007ebaSmrg		basic_machine=hppa1.1-oki
125704007ebaSmrg		;;
125804007ebaSmrg	romp)
125904007ebaSmrg		basic_machine=romp-ibm
126004007ebaSmrg		;;
126104007ebaSmrg	mmix)
126204007ebaSmrg		basic_machine=mmix-knuth
126304007ebaSmrg		;;
126404007ebaSmrg	rs6000)
126504007ebaSmrg		basic_machine=rs6000-ibm
126604007ebaSmrg		;;
126704007ebaSmrg	vax)
126804007ebaSmrg		basic_machine=vax-dec
126904007ebaSmrg		;;
127004007ebaSmrg	pdp10)
127104007ebaSmrg		# there are many clones, so DEC is not a safe bet
127204007ebaSmrg		basic_machine=pdp10-unknown
127304007ebaSmrg		;;
127404007ebaSmrg	pdp11)
127504007ebaSmrg		basic_machine=pdp11-dec
127604007ebaSmrg		;;
127704007ebaSmrg	we32k)
127804007ebaSmrg		basic_machine=we32k-att
127904007ebaSmrg		;;
128004007ebaSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
128104007ebaSmrg		basic_machine=sh-unknown
128204007ebaSmrg		;;
128304007ebaSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
128404007ebaSmrg		basic_machine=sparc-sun
128504007ebaSmrg		;;
128604007ebaSmrg	cydra)
128704007ebaSmrg		basic_machine=cydra-cydrome
128804007ebaSmrg		;;
128904007ebaSmrg	orion)
129004007ebaSmrg		basic_machine=orion-highlevel
129104007ebaSmrg		;;
129204007ebaSmrg	orion105)
129304007ebaSmrg		basic_machine=clipper-highlevel
129404007ebaSmrg		;;
129504007ebaSmrg	mac | mpw | mac-mpw)
129604007ebaSmrg		basic_machine=m68k-apple
129704007ebaSmrg		;;
129804007ebaSmrg	pmac | pmac-mpw)
129904007ebaSmrg		basic_machine=powerpc-apple
130004007ebaSmrg		;;
130104007ebaSmrg	*-unknown)
130204007ebaSmrg		# Make sure to match an already-canonicalized machine name.
130304007ebaSmrg		;;
130404007ebaSmrg	*)
130504007ebaSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130604007ebaSmrg		exit 1
130704007ebaSmrg		;;
130804007ebaSmrgesac
130904007ebaSmrg
131004007ebaSmrg# Here we canonicalize certain aliases for manufacturers.
131104007ebaSmrgcase $basic_machine in
131204007ebaSmrg	*-digital*)
131304007ebaSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
131404007ebaSmrg		;;
131504007ebaSmrg	*-commodore*)
131604007ebaSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131704007ebaSmrg		;;
131804007ebaSmrg	*)
131904007ebaSmrg		;;
132004007ebaSmrgesac
132104007ebaSmrg
132204007ebaSmrg# Decode manufacturer-specific aliases for certain operating systems.
132304007ebaSmrg
132404007ebaSmrgif [ x"$os" != x"" ]
132504007ebaSmrgthen
132604007ebaSmrgcase $os in
132704007ebaSmrg	# First match some system type aliases
132804007ebaSmrg	# that might get confused with valid system types.
132904007ebaSmrg	# -solaris* is a basic system type, with this one exception.
133004007ebaSmrg	-auroraux)
133104007ebaSmrg		os=-auroraux
133204007ebaSmrg		;;
133304007ebaSmrg	-solaris1 | -solaris1.*)
133404007ebaSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
133504007ebaSmrg		;;
133604007ebaSmrg	-solaris)
133704007ebaSmrg		os=-solaris2
133804007ebaSmrg		;;
133904007ebaSmrg	-svr4*)
134004007ebaSmrg		os=-sysv4
134104007ebaSmrg		;;
134204007ebaSmrg	-unixware*)
134304007ebaSmrg		os=-sysv4.2uw
134404007ebaSmrg		;;
134504007ebaSmrg	-gnu/linux*)
134604007ebaSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134704007ebaSmrg		;;
134804007ebaSmrg	# First accept the basic system types.
134904007ebaSmrg	# The portable systems comes first.
135004007ebaSmrg	# Each alternative MUST END IN A *, to match a version number.
135104007ebaSmrg	# -sysv* is not here because it comes later, after sysvr4.
135204007ebaSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
135304007ebaSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
135404007ebaSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
135504007ebaSmrg	      | -sym* | -kopensolaris* | -plan9* \
135604007ebaSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
135704007ebaSmrg	      | -aos* | -aros* \
135804007ebaSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
135904007ebaSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
136004007ebaSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
136104007ebaSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
136204007ebaSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
136304007ebaSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
136404007ebaSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
136504007ebaSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
136604007ebaSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
136704007ebaSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
136804007ebaSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
136904007ebaSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
137004007ebaSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
137104007ebaSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
137204007ebaSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
137304007ebaSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
137404007ebaSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
137504007ebaSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
137604007ebaSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
137704007ebaSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
137804007ebaSmrg	# Remember, each alternative MUST END IN *, to match a version number.
137904007ebaSmrg		;;
138004007ebaSmrg	-qnx*)
138104007ebaSmrg		case $basic_machine in
138204007ebaSmrg		    x86-* | i*86-*)
138304007ebaSmrg			;;
138404007ebaSmrg		    *)
138504007ebaSmrg			os=-nto$os
138604007ebaSmrg			;;
138704007ebaSmrg		esac
138804007ebaSmrg		;;
138904007ebaSmrg	-nto-qnx*)
139004007ebaSmrg		;;
139104007ebaSmrg	-nto*)
139204007ebaSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
139304007ebaSmrg		;;
139404007ebaSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
139504007ebaSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139604007ebaSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139704007ebaSmrg		;;
139804007ebaSmrg	-mac*)
139904007ebaSmrg		os=`echo $os | sed -e 's|mac|macos|'`
140004007ebaSmrg		;;
140104007ebaSmrg	-linux-dietlibc)
140204007ebaSmrg		os=-linux-dietlibc
140304007ebaSmrg		;;
140404007ebaSmrg	-linux*)
140504007ebaSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140604007ebaSmrg		;;
140704007ebaSmrg	-sunos5*)
140804007ebaSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
140904007ebaSmrg		;;
141004007ebaSmrg	-sunos6*)
141104007ebaSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
141204007ebaSmrg		;;
141304007ebaSmrg	-opened*)
141404007ebaSmrg		os=-openedition
141504007ebaSmrg		;;
141604007ebaSmrg	-os400*)
141704007ebaSmrg		os=-os400
141804007ebaSmrg		;;
141904007ebaSmrg	-wince*)
142004007ebaSmrg		os=-wince
142104007ebaSmrg		;;
142204007ebaSmrg	-osfrose*)
142304007ebaSmrg		os=-osfrose
142404007ebaSmrg		;;
142504007ebaSmrg	-osf*)
142604007ebaSmrg		os=-osf
142704007ebaSmrg		;;
142804007ebaSmrg	-utek*)
142904007ebaSmrg		os=-bsd
143004007ebaSmrg		;;
143104007ebaSmrg	-dynix*)
143204007ebaSmrg		os=-bsd
143304007ebaSmrg		;;
143404007ebaSmrg	-acis*)
143504007ebaSmrg		os=-aos
143604007ebaSmrg		;;
143704007ebaSmrg	-atheos*)
143804007ebaSmrg		os=-atheos
143904007ebaSmrg		;;
144004007ebaSmrg	-syllable*)
144104007ebaSmrg		os=-syllable
144204007ebaSmrg		;;
144304007ebaSmrg	-386bsd)
144404007ebaSmrg		os=-bsd
144504007ebaSmrg		;;
144604007ebaSmrg	-ctix* | -uts*)
144704007ebaSmrg		os=-sysv
144804007ebaSmrg		;;
144904007ebaSmrg	-nova*)
145004007ebaSmrg		os=-rtmk-nova
145104007ebaSmrg		;;
145204007ebaSmrg	-ns2 )
145304007ebaSmrg		os=-nextstep2
145404007ebaSmrg		;;
145504007ebaSmrg	-nsk*)
145604007ebaSmrg		os=-nsk
145704007ebaSmrg		;;
145804007ebaSmrg	# Preserve the version number of sinix5.
145904007ebaSmrg	-sinix5.*)
146004007ebaSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
146104007ebaSmrg		;;
146204007ebaSmrg	-sinix*)
146304007ebaSmrg		os=-sysv4
146404007ebaSmrg		;;
146504007ebaSmrg	-tpf*)
146604007ebaSmrg		os=-tpf
146704007ebaSmrg		;;
146804007ebaSmrg	-triton*)
146904007ebaSmrg		os=-sysv3
147004007ebaSmrg		;;
147104007ebaSmrg	-oss*)
147204007ebaSmrg		os=-sysv3
147304007ebaSmrg		;;
147404007ebaSmrg	-svr4)
147504007ebaSmrg		os=-sysv4
147604007ebaSmrg		;;
147704007ebaSmrg	-svr3)
147804007ebaSmrg		os=-sysv3
147904007ebaSmrg		;;
148004007ebaSmrg	-sysvr4)
148104007ebaSmrg		os=-sysv4
148204007ebaSmrg		;;
148304007ebaSmrg	# This must come after -sysvr4.
148404007ebaSmrg	-sysv*)
148504007ebaSmrg		;;
148604007ebaSmrg	-ose*)
148704007ebaSmrg		os=-ose
148804007ebaSmrg		;;
148904007ebaSmrg	-es1800*)
149004007ebaSmrg		os=-ose
149104007ebaSmrg		;;
149204007ebaSmrg	-xenix)
149304007ebaSmrg		os=-xenix
149404007ebaSmrg		;;
149504007ebaSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
149604007ebaSmrg		os=-mint
149704007ebaSmrg		;;
149804007ebaSmrg	-aros*)
149904007ebaSmrg		os=-aros
150004007ebaSmrg		;;
150104007ebaSmrg	-zvmoe)
150204007ebaSmrg		os=-zvmoe
150304007ebaSmrg		;;
150404007ebaSmrg	-dicos*)
150504007ebaSmrg		os=-dicos
150604007ebaSmrg		;;
150704007ebaSmrg	-nacl*)
150804007ebaSmrg		;;
150904007ebaSmrg	-none)
151004007ebaSmrg		;;
151104007ebaSmrg	*)
151204007ebaSmrg		# Get rid of the `-' at the beginning of $os.
151304007ebaSmrg		os=`echo $os | sed 's/[^-]*-//'`
151404007ebaSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151504007ebaSmrg		exit 1
151604007ebaSmrg		;;
151704007ebaSmrgesac
151804007ebaSmrgelse
151904007ebaSmrg
152004007ebaSmrg# Here we handle the default operating systems that come with various machines.
152104007ebaSmrg# The value should be what the vendor currently ships out the door with their
152204007ebaSmrg# machine or put another way, the most popular os provided with the machine.
152304007ebaSmrg
152404007ebaSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
152504007ebaSmrg# "-sun"), then you have to tell the case statement up towards the top
152604007ebaSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
152704007ebaSmrg# will signal an error saying that MANUFACTURER isn't an operating
152804007ebaSmrg# system, and we'll never get to this point.
152904007ebaSmrg
153004007ebaSmrgcase $basic_machine in
153104007ebaSmrg	score-*)
153204007ebaSmrg		os=-elf
153304007ebaSmrg		;;
153404007ebaSmrg	spu-*)
153504007ebaSmrg		os=-elf
153604007ebaSmrg		;;
153704007ebaSmrg	*-acorn)
153804007ebaSmrg		os=-riscix1.2
153904007ebaSmrg		;;
154004007ebaSmrg	arm*-rebel)
154104007ebaSmrg		os=-linux
154204007ebaSmrg		;;
154304007ebaSmrg	arm*-semi)
154404007ebaSmrg		os=-aout
154504007ebaSmrg		;;
154604007ebaSmrg	c4x-* | tic4x-*)
154704007ebaSmrg		os=-coff
154804007ebaSmrg		;;
154904007ebaSmrg	c8051-*)
155004007ebaSmrg		os=-elf
155104007ebaSmrg		;;
155204007ebaSmrg	hexagon-*)
155304007ebaSmrg		os=-elf
155404007ebaSmrg		;;
155504007ebaSmrg	tic54x-*)
155604007ebaSmrg		os=-coff
155704007ebaSmrg		;;
155804007ebaSmrg	tic55x-*)
155904007ebaSmrg		os=-coff
156004007ebaSmrg		;;
156104007ebaSmrg	tic6x-*)
156204007ebaSmrg		os=-coff
156304007ebaSmrg		;;
156404007ebaSmrg	# This must come before the *-dec entry.
156504007ebaSmrg	pdp10-*)
156604007ebaSmrg		os=-tops20
156704007ebaSmrg		;;
156804007ebaSmrg	pdp11-*)
156904007ebaSmrg		os=-none
157004007ebaSmrg		;;
157104007ebaSmrg	*-dec | vax-*)
157204007ebaSmrg		os=-ultrix4.2
157304007ebaSmrg		;;
157404007ebaSmrg	m68*-apollo)
157504007ebaSmrg		os=-domain
157604007ebaSmrg		;;
157704007ebaSmrg	i386-sun)
157804007ebaSmrg		os=-sunos4.0.2
157904007ebaSmrg		;;
158004007ebaSmrg	m68000-sun)
158104007ebaSmrg		os=-sunos3
158204007ebaSmrg		;;
158304007ebaSmrg	m68*-cisco)
158404007ebaSmrg		os=-aout
158504007ebaSmrg		;;
158604007ebaSmrg	mep-*)
158704007ebaSmrg		os=-elf
158804007ebaSmrg		;;
158904007ebaSmrg	mips*-cisco)
159004007ebaSmrg		os=-elf
159104007ebaSmrg		;;
159204007ebaSmrg	mips*-*)
159304007ebaSmrg		os=-elf
159404007ebaSmrg		;;
159504007ebaSmrg	or1k-*)
159604007ebaSmrg		os=-elf
159704007ebaSmrg		;;
159804007ebaSmrg	or32-*)
159904007ebaSmrg		os=-coff
160004007ebaSmrg		;;
160104007ebaSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
160204007ebaSmrg		os=-sysv3
160304007ebaSmrg		;;
160404007ebaSmrg	sparc-* | *-sun)
160504007ebaSmrg		os=-sunos4.1.1
160604007ebaSmrg		;;
160704007ebaSmrg	*-be)
160804007ebaSmrg		os=-beos
160904007ebaSmrg		;;
161004007ebaSmrg	*-haiku)
161104007ebaSmrg		os=-haiku
161204007ebaSmrg		;;
161304007ebaSmrg	*-ibm)
161404007ebaSmrg		os=-aix
161504007ebaSmrg		;;
161604007ebaSmrg	*-knuth)
161704007ebaSmrg		os=-mmixware
161804007ebaSmrg		;;
161904007ebaSmrg	*-wec)
162004007ebaSmrg		os=-proelf
162104007ebaSmrg		;;
162204007ebaSmrg	*-winbond)
162304007ebaSmrg		os=-proelf
162404007ebaSmrg		;;
162504007ebaSmrg	*-oki)
162604007ebaSmrg		os=-proelf
162704007ebaSmrg		;;
162804007ebaSmrg	*-hp)
162904007ebaSmrg		os=-hpux
163004007ebaSmrg		;;
163104007ebaSmrg	*-hitachi)
163204007ebaSmrg		os=-hiux
163304007ebaSmrg		;;
163404007ebaSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
163504007ebaSmrg		os=-sysv
163604007ebaSmrg		;;
163704007ebaSmrg	*-cbm)
163804007ebaSmrg		os=-amigaos
163904007ebaSmrg		;;
164004007ebaSmrg	*-dg)
164104007ebaSmrg		os=-dgux
164204007ebaSmrg		;;
164304007ebaSmrg	*-dolphin)
164404007ebaSmrg		os=-sysv3
164504007ebaSmrg		;;
164604007ebaSmrg	m68k-ccur)
164704007ebaSmrg		os=-rtu
164804007ebaSmrg		;;
164904007ebaSmrg	m88k-omron*)
165004007ebaSmrg		os=-luna
165104007ebaSmrg		;;
165204007ebaSmrg	*-next )
165304007ebaSmrg		os=-nextstep
165404007ebaSmrg		;;
165504007ebaSmrg	*-sequent)
165604007ebaSmrg		os=-ptx
165704007ebaSmrg		;;
165804007ebaSmrg	*-crds)
165904007ebaSmrg		os=-unos
166004007ebaSmrg		;;
166104007ebaSmrg	*-ns)
166204007ebaSmrg		os=-genix
166304007ebaSmrg		;;
166404007ebaSmrg	i370-*)
166504007ebaSmrg		os=-mvs
166604007ebaSmrg		;;
166704007ebaSmrg	*-next)
166804007ebaSmrg		os=-nextstep3
166904007ebaSmrg		;;
167004007ebaSmrg	*-gould)
167104007ebaSmrg		os=-sysv
167204007ebaSmrg		;;
167304007ebaSmrg	*-highlevel)
167404007ebaSmrg		os=-bsd
167504007ebaSmrg		;;
167604007ebaSmrg	*-encore)
167704007ebaSmrg		os=-bsd
167804007ebaSmrg		;;
167904007ebaSmrg	*-sgi)
168004007ebaSmrg		os=-irix
168104007ebaSmrg		;;
168204007ebaSmrg	*-siemens)
168304007ebaSmrg		os=-sysv4
168404007ebaSmrg		;;
168504007ebaSmrg	*-masscomp)
168604007ebaSmrg		os=-rtu
168704007ebaSmrg		;;
168804007ebaSmrg	f30[01]-fujitsu | f700-fujitsu)
168904007ebaSmrg		os=-uxpv
169004007ebaSmrg		;;
169104007ebaSmrg	*-rom68k)
169204007ebaSmrg		os=-coff
169304007ebaSmrg		;;
169404007ebaSmrg	*-*bug)
169504007ebaSmrg		os=-coff
169604007ebaSmrg		;;
169704007ebaSmrg	*-apple)
169804007ebaSmrg		os=-macos
169904007ebaSmrg		;;
170004007ebaSmrg	*-atari*)
170104007ebaSmrg		os=-mint
170204007ebaSmrg		;;
170304007ebaSmrg	*)
170404007ebaSmrg		os=-none
170504007ebaSmrg		;;
170604007ebaSmrgesac
170704007ebaSmrgfi
170804007ebaSmrg
170904007ebaSmrg# Here we handle the case where we know the os, and the CPU type, but not the
171004007ebaSmrg# manufacturer.  We pick the logical manufacturer.
171104007ebaSmrgvendor=unknown
171204007ebaSmrgcase $basic_machine in
171304007ebaSmrg	*-unknown)
171404007ebaSmrg		case $os in
171504007ebaSmrg			-riscix*)
171604007ebaSmrg				vendor=acorn
171704007ebaSmrg				;;
171804007ebaSmrg			-sunos*)
171904007ebaSmrg				vendor=sun
172004007ebaSmrg				;;
172104007ebaSmrg			-cnk*|-aix*)
172204007ebaSmrg				vendor=ibm
172304007ebaSmrg				;;
172404007ebaSmrg			-beos*)
172504007ebaSmrg				vendor=be
172604007ebaSmrg				;;
172704007ebaSmrg			-hpux*)
172804007ebaSmrg				vendor=hp
172904007ebaSmrg				;;
173004007ebaSmrg			-mpeix*)
173104007ebaSmrg				vendor=hp
173204007ebaSmrg				;;
173304007ebaSmrg			-hiux*)
173404007ebaSmrg				vendor=hitachi
173504007ebaSmrg				;;
173604007ebaSmrg			-unos*)
173704007ebaSmrg				vendor=crds
173804007ebaSmrg				;;
173904007ebaSmrg			-dgux*)
174004007ebaSmrg				vendor=dg
174104007ebaSmrg				;;
174204007ebaSmrg			-luna*)
174304007ebaSmrg				vendor=omron
174404007ebaSmrg				;;
174504007ebaSmrg			-genix*)
174604007ebaSmrg				vendor=ns
174704007ebaSmrg				;;
174804007ebaSmrg			-mvs* | -opened*)
174904007ebaSmrg				vendor=ibm
175004007ebaSmrg				;;
175104007ebaSmrg			-os400*)
175204007ebaSmrg				vendor=ibm
175304007ebaSmrg				;;
175404007ebaSmrg			-ptx*)
175504007ebaSmrg				vendor=sequent
175604007ebaSmrg				;;
175704007ebaSmrg			-tpf*)
175804007ebaSmrg				vendor=ibm
175904007ebaSmrg				;;
176004007ebaSmrg			-vxsim* | -vxworks* | -windiss*)
176104007ebaSmrg				vendor=wrs
176204007ebaSmrg				;;
176304007ebaSmrg			-aux*)
176404007ebaSmrg				vendor=apple
176504007ebaSmrg				;;
176604007ebaSmrg			-hms*)
176704007ebaSmrg				vendor=hitachi
176804007ebaSmrg				;;
176904007ebaSmrg			-mpw* | -macos*)
177004007ebaSmrg				vendor=apple
177104007ebaSmrg				;;
177204007ebaSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
177304007ebaSmrg				vendor=atari
177404007ebaSmrg				;;
177504007ebaSmrg			-vos*)
177604007ebaSmrg				vendor=stratus
177704007ebaSmrg				;;
177804007ebaSmrg		esac
177904007ebaSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
178004007ebaSmrg		;;
178104007ebaSmrgesac
178204007ebaSmrg
178304007ebaSmrgecho $basic_machine$os
178404007ebaSmrgexit
178504007ebaSmrg
178604007ebaSmrg# Local variables:
178704007ebaSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
178804007ebaSmrg# time-stamp-start: "timestamp='"
178904007ebaSmrg# time-stamp-format: "%:y-%02m-%02d"
179004007ebaSmrg# time-stamp-end: "'"
179104007ebaSmrg# End:
1792