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