config.sub revision ecb85c42
153354cdbSmrg#! /bin/sh
253354cdbSmrg# Configuration validation subroutine script.
3ecb85c42Smrg#   Copyright 1992-2013 Free Software Foundation, Inc.
453354cdbSmrg
5ecb85c42Smrgtimestamp='2013-10-01'
653354cdbSmrg
7ecb85c42Smrg# This file is free software; you can redistribute it and/or modify it
8ecb85c42Smrg# under the terms of the GNU General Public License as published by
9ecb85c42Smrg# the Free Software Foundation; either version 3 of the License, or
1053354cdbSmrg# (at your option) any later version.
1153354cdbSmrg#
12ecb85c42Smrg# This program is distributed in the hope that it will be useful, but
13ecb85c42Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14ecb85c42Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15ecb85c42Smrg# General Public License for more details.
1653354cdbSmrg#
1753354cdbSmrg# You should have received a copy of the GNU General Public License
18ecb85c42Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
1953354cdbSmrg#
2053354cdbSmrg# As a special exception to the GNU General Public License, if you
2153354cdbSmrg# distribute this file as part of a program that contains a
2253354cdbSmrg# configuration script generated by Autoconf, you may include it under
23ecb85c42Smrg# the same distribution terms that you use for the rest of that
24ecb85c42Smrg# program.  This Exception is an additional permission under section 7
25ecb85c42Smrg# of the GNU General Public License, version 3 ("GPLv3").
2653354cdbSmrg
2753354cdbSmrg
28ecb85c42Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2953354cdbSmrg#
3053354cdbSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3153354cdbSmrg# Supply the specified configuration type as an argument.
3253354cdbSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
3353354cdbSmrg# Otherwise, we print the canonical config type on stdout and succeed.
3453354cdbSmrg
3586bbecbeSmrg# You can get the latest version of this script from:
3686bbecbeSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3786bbecbeSmrg
3853354cdbSmrg# This file is supposed to be the same for all GNU packages
3953354cdbSmrg# and recognize all the CPU types, system types and aliases
4053354cdbSmrg# that are meaningful with *any* GNU software.
4153354cdbSmrg# Each package is responsible for reporting which valid configurations
4253354cdbSmrg# it does not support.  The user should be able to distinguish
4353354cdbSmrg# a failure to support a valid configuration from a meaningless
4453354cdbSmrg# configuration.
4553354cdbSmrg
4653354cdbSmrg# The goal of this file is to map all the various variations of a given
4753354cdbSmrg# machine specification into a single specification in the form:
4853354cdbSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
4953354cdbSmrg# or in some cases, the newer four-part form:
5053354cdbSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5153354cdbSmrg# It is wrong to echo any other type of specification.
5253354cdbSmrg
5353354cdbSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5453354cdbSmrg
5553354cdbSmrgusage="\
5653354cdbSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
5753354cdbSmrg       $0 [OPTION] ALIAS
5853354cdbSmrg
5953354cdbSmrgCanonicalize a configuration name.
6053354cdbSmrg
6153354cdbSmrgOperation modes:
6253354cdbSmrg  -h, --help         print this help, then exit
6353354cdbSmrg  -t, --time-stamp   print date of last modification, then exit
6453354cdbSmrg  -v, --version      print version number, then exit
6553354cdbSmrg
6653354cdbSmrgReport bugs and patches to <config-patches@gnu.org>."
6753354cdbSmrg
6853354cdbSmrgversion="\
6953354cdbSmrgGNU config.sub ($timestamp)
7053354cdbSmrg
71ecb85c42SmrgCopyright 1992-2013 Free Software Foundation, Inc.
7253354cdbSmrg
7353354cdbSmrgThis is free software; see the source for copying conditions.  There is NO
7453354cdbSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7553354cdbSmrg
7653354cdbSmrghelp="
7753354cdbSmrgTry \`$me --help' for more information."
7853354cdbSmrg
7953354cdbSmrg# Parse command line
8053354cdbSmrgwhile test $# -gt 0 ; do
8153354cdbSmrg  case $1 in
8253354cdbSmrg    --time-stamp | --time* | -t )
8353354cdbSmrg       echo "$timestamp" ; exit ;;
8453354cdbSmrg    --version | -v )
8553354cdbSmrg       echo "$version" ; exit ;;
8653354cdbSmrg    --help | --h* | -h )
8753354cdbSmrg       echo "$usage"; exit ;;
8853354cdbSmrg    -- )     # Stop option processing
8953354cdbSmrg       shift; break ;;
9053354cdbSmrg    - )	# Use stdin as input.
9153354cdbSmrg       break ;;
9253354cdbSmrg    -* )
9353354cdbSmrg       echo "$me: invalid option $1$help"
9453354cdbSmrg       exit 1 ;;
9553354cdbSmrg
9653354cdbSmrg    *local*)
9753354cdbSmrg       # First pass through any local machine types.
9853354cdbSmrg       echo $1
9953354cdbSmrg       exit ;;
10053354cdbSmrg
10153354cdbSmrg    * )
10253354cdbSmrg       break ;;
10353354cdbSmrg  esac
10453354cdbSmrgdone
10553354cdbSmrg
10653354cdbSmrgcase $# in
10753354cdbSmrg 0) echo "$me: missing argument$help" >&2
10853354cdbSmrg    exit 1;;
10953354cdbSmrg 1) ;;
11053354cdbSmrg *) echo "$me: too many arguments$help" >&2
11153354cdbSmrg    exit 1;;
11253354cdbSmrgesac
11353354cdbSmrg
11453354cdbSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11553354cdbSmrg# Here we must recognize all the valid KERNEL-OS combinations.
11653354cdbSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11753354cdbSmrgcase $maybe_os in
11886bbecbeSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119ecb85c42Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12086bbecbeSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
12186bbecbeSmrg  kopensolaris*-gnu* | \
12253354cdbSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
12353354cdbSmrg    os=-$maybe_os
12453354cdbSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12553354cdbSmrg    ;;
126ecb85c42Smrg  android-linux)
127ecb85c42Smrg    os=-linux-android
128ecb85c42Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129ecb85c42Smrg    ;;
13053354cdbSmrg  *)
13153354cdbSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13253354cdbSmrg    if [ $basic_machine != $1 ]
13353354cdbSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13453354cdbSmrg    else os=; fi
13553354cdbSmrg    ;;
13653354cdbSmrgesac
13753354cdbSmrg
13853354cdbSmrg### Let's recognize common machines as not being operating systems so
13953354cdbSmrg### that things like config.sub decstation-3100 work.  We also
14053354cdbSmrg### recognize some manufacturers as not being operating systems, so we
14153354cdbSmrg### can provide default operating systems below.
14253354cdbSmrgcase $os in
14353354cdbSmrg	-sun*os*)
14453354cdbSmrg		# Prevent following clause from handling this invalid input.
14553354cdbSmrg		;;
14653354cdbSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14753354cdbSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14853354cdbSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14953354cdbSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15053354cdbSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15153354cdbSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152ecb85c42Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
15353354cdbSmrg		os=
15453354cdbSmrg		basic_machine=$1
15553354cdbSmrg		;;
15661c899d4Smrg	-bluegene*)
15761c899d4Smrg		os=-cnk
15886bbecbeSmrg		;;
15953354cdbSmrg	-sim | -cisco | -oki | -wec | -winbond)
16053354cdbSmrg		os=
16153354cdbSmrg		basic_machine=$1
16253354cdbSmrg		;;
16353354cdbSmrg	-scout)
16453354cdbSmrg		;;
16553354cdbSmrg	-wrs)
16653354cdbSmrg		os=-vxworks
16753354cdbSmrg		basic_machine=$1
16853354cdbSmrg		;;
16953354cdbSmrg	-chorusos*)
17053354cdbSmrg		os=-chorusos
17153354cdbSmrg		basic_machine=$1
17253354cdbSmrg		;;
17361c899d4Smrg	-chorusrdb)
17461c899d4Smrg		os=-chorusrdb
17553354cdbSmrg		basic_machine=$1
17661c899d4Smrg		;;
17753354cdbSmrg	-hiux*)
17853354cdbSmrg		os=-hiuxwe2
17953354cdbSmrg		;;
18053354cdbSmrg	-sco6)
18153354cdbSmrg		os=-sco5v6
18253354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18353354cdbSmrg		;;
18453354cdbSmrg	-sco5)
18553354cdbSmrg		os=-sco3.2v5
18653354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18753354cdbSmrg		;;
18853354cdbSmrg	-sco4)
18953354cdbSmrg		os=-sco3.2v4
19053354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19153354cdbSmrg		;;
19253354cdbSmrg	-sco3.2.[4-9]*)
19353354cdbSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19453354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19553354cdbSmrg		;;
19653354cdbSmrg	-sco3.2v[4-9]*)
19753354cdbSmrg		# Don't forget version if it is 3.2v4 or newer.
19853354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19953354cdbSmrg		;;
20053354cdbSmrg	-sco5v6*)
20153354cdbSmrg		# Don't forget version if it is 3.2v4 or newer.
20253354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20353354cdbSmrg		;;
20453354cdbSmrg	-sco*)
20553354cdbSmrg		os=-sco3.2v2
20653354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20753354cdbSmrg		;;
20853354cdbSmrg	-udk*)
20953354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21053354cdbSmrg		;;
21153354cdbSmrg	-isc)
21253354cdbSmrg		os=-isc2.2
21353354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21453354cdbSmrg		;;
21553354cdbSmrg	-clix*)
21653354cdbSmrg		basic_machine=clipper-intergraph
21753354cdbSmrg		;;
21853354cdbSmrg	-isc*)
21953354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22053354cdbSmrg		;;
221ecb85c42Smrg	-lynx*178)
222ecb85c42Smrg		os=-lynxos178
223ecb85c42Smrg		;;
224ecb85c42Smrg	-lynx*5)
225ecb85c42Smrg		os=-lynxos5
226ecb85c42Smrg		;;
22753354cdbSmrg	-lynx*)
22853354cdbSmrg		os=-lynxos
22953354cdbSmrg		;;
23053354cdbSmrg	-ptx*)
23153354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23253354cdbSmrg		;;
23353354cdbSmrg	-windowsnt*)
23453354cdbSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23553354cdbSmrg		;;
23653354cdbSmrg	-psos*)
23753354cdbSmrg		os=-psos
23853354cdbSmrg		;;
23953354cdbSmrg	-mint | -mint[0-9]*)
24053354cdbSmrg		basic_machine=m68k-atari
24153354cdbSmrg		os=-mint
24253354cdbSmrg		;;
24353354cdbSmrgesac
24453354cdbSmrg
24553354cdbSmrg# Decode aliases for certain CPU-COMPANY combinations.
24653354cdbSmrgcase $basic_machine in
24753354cdbSmrg	# Recognize the basic CPU types without company name.
24853354cdbSmrg	# Some are omitted here because they have special meanings below.
24953354cdbSmrg	1750a | 580 \
25053354cdbSmrg	| a29k \
251ecb85c42Smrg	| aarch64 | aarch64_be \
25253354cdbSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25353354cdbSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25453354cdbSmrg	| am33_2.0 \
255ecb85c42Smrg	| arc | arceb \
256ecb85c42Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257ecb85c42Smrg	| avr | avr32 \
258ecb85c42Smrg	| be32 | be64 \
25953354cdbSmrg	| bfin \
260ecb85c42Smrg	| c4x | c8051 | clipper \
26153354cdbSmrg	| d10v | d30v | dlx | dsp16xx \
26261c899d4Smrg	| epiphany \
26353354cdbSmrg	| fido | fr30 | frv \
26453354cdbSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26561c899d4Smrg	| hexagon \
26653354cdbSmrg	| i370 | i860 | i960 | ia64 \
26753354cdbSmrg	| ip2k | iq2000 \
268ecb85c42Smrg	| k1om \
26961c899d4Smrg	| le32 | le64 \
27086bbecbeSmrg	| lm32 \
27153354cdbSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272ecb85c42Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
27353354cdbSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
27453354cdbSmrg	| mips16 \
27553354cdbSmrg	| mips64 | mips64el \
27686bbecbeSmrg	| mips64octeon | mips64octeonel \
27753354cdbSmrg	| mips64orion | mips64orionel \
27886bbecbeSmrg	| mips64r5900 | mips64r5900el \
27986bbecbeSmrg	| mips64vr | mips64vrel \
28053354cdbSmrg	| mips64vr4100 | mips64vr4100el \
28153354cdbSmrg	| mips64vr4300 | mips64vr4300el \
28253354cdbSmrg	| mips64vr5000 | mips64vr5000el \
28353354cdbSmrg	| mips64vr5900 | mips64vr5900el \
28453354cdbSmrg	| mipsisa32 | mipsisa32el \
28553354cdbSmrg	| mipsisa32r2 | mipsisa32r2el \
28653354cdbSmrg	| mipsisa64 | mipsisa64el \
28753354cdbSmrg	| mipsisa64r2 | mipsisa64r2el \
28853354cdbSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28953354cdbSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
290ecb85c42Smrg	| mipsr5900 | mipsr5900el \
29153354cdbSmrg	| mipstx39 | mipstx39el \
29253354cdbSmrg	| mn10200 | mn10300 \
29386bbecbeSmrg	| moxie \
29453354cdbSmrg	| mt \
29553354cdbSmrg	| msp430 \
29686bbecbeSmrg	| nds32 | nds32le | nds32be \
297ecb85c42Smrg	| nios | nios2 | nios2eb | nios2el \
29853354cdbSmrg	| ns16k | ns32k \
29961c899d4Smrg	| open8 \
300ecb85c42Smrg	| or1k | or32 \
30153354cdbSmrg	| pdp10 | pdp11 | pj | pjl \
30261c899d4Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
30353354cdbSmrg	| pyramid \
30461c899d4Smrg	| rl78 | rx \
30553354cdbSmrg	| score \
30686bbecbeSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30753354cdbSmrg	| sh64 | sh64le \
30853354cdbSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30953354cdbSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31061c899d4Smrg	| spu \
31161c899d4Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31286bbecbeSmrg	| ubicom32 \
31361c899d4Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
31453354cdbSmrg	| we32k \
31561c899d4Smrg	| x86 | xc16x | xstormy16 | xtensa \
31686bbecbeSmrg	| z8k | z80)
31753354cdbSmrg		basic_machine=$basic_machine-unknown
31853354cdbSmrg		;;
31986bbecbeSmrg	c54x)
32086bbecbeSmrg		basic_machine=tic54x-unknown
32186bbecbeSmrg		;;
32286bbecbeSmrg	c55x)
32386bbecbeSmrg		basic_machine=tic55x-unknown
32486bbecbeSmrg		;;
32586bbecbeSmrg	c6x)
32686bbecbeSmrg		basic_machine=tic6x-unknown
32786bbecbeSmrg		;;
328ecb85c42Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
32953354cdbSmrg		basic_machine=$basic_machine-unknown
33053354cdbSmrg		os=-none
33153354cdbSmrg		;;
33253354cdbSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
33353354cdbSmrg		;;
33453354cdbSmrg	ms1)
33553354cdbSmrg		basic_machine=mt-unknown
33653354cdbSmrg		;;
33753354cdbSmrg
33861c899d4Smrg	strongarm | thumb | xscale)
33961c899d4Smrg		basic_machine=arm-unknown
34061c899d4Smrg		;;
341ecb85c42Smrg	xgate)
342ecb85c42Smrg		basic_machine=$basic_machine-unknown
343ecb85c42Smrg		os=-none
344ecb85c42Smrg		;;
34561c899d4Smrg	xscaleeb)
34661c899d4Smrg		basic_machine=armeb-unknown
34761c899d4Smrg		;;
34861c899d4Smrg
34961c899d4Smrg	xscaleel)
35061c899d4Smrg		basic_machine=armel-unknown
35161c899d4Smrg		;;
35261c899d4Smrg
35353354cdbSmrg	# We use `pc' rather than `unknown'
35453354cdbSmrg	# because (1) that's what they normally are, and
35553354cdbSmrg	# (2) the word "unknown" tends to confuse beginning users.
35653354cdbSmrg	i*86 | x86_64)
35753354cdbSmrg	  basic_machine=$basic_machine-pc
35853354cdbSmrg	  ;;
35953354cdbSmrg	# Object if more than one company name word.
36053354cdbSmrg	*-*-*)
36153354cdbSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
36253354cdbSmrg		exit 1
36353354cdbSmrg		;;
36453354cdbSmrg	# Recognize the basic CPU types with company name.
36553354cdbSmrg	580-* \
36653354cdbSmrg	| a29k-* \
367ecb85c42Smrg	| aarch64-* | aarch64_be-* \
36853354cdbSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36953354cdbSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
370ecb85c42Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
37153354cdbSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37253354cdbSmrg	| avr-* | avr32-* \
37361c899d4Smrg	| be32-* | be64-* \
37453354cdbSmrg	| bfin-* | bs2000-* \
37586bbecbeSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
376ecb85c42Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
37753354cdbSmrg	| d10v-* | d30v-* | dlx-* \
37853354cdbSmrg	| elxsi-* \
37953354cdbSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
38053354cdbSmrg	| h8300-* | h8500-* \
38153354cdbSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38261c899d4Smrg	| hexagon-* \
38353354cdbSmrg	| i*86-* | i860-* | i960-* | ia64-* \
38453354cdbSmrg	| ip2k-* | iq2000-* \
385ecb85c42Smrg	| k1om-* \
38661c899d4Smrg	| le32-* | le64-* \
38786bbecbeSmrg	| lm32-* \
38853354cdbSmrg	| m32c-* | m32r-* | m32rle-* \
38953354cdbSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
390ecb85c42Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
391ecb85c42Smrg	| microblaze-* | microblazeel-* \
39253354cdbSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
39353354cdbSmrg	| mips16-* \
39453354cdbSmrg	| mips64-* | mips64el-* \
39586bbecbeSmrg	| mips64octeon-* | mips64octeonel-* \
39653354cdbSmrg	| mips64orion-* | mips64orionel-* \
39786bbecbeSmrg	| mips64r5900-* | mips64r5900el-* \
39886bbecbeSmrg	| mips64vr-* | mips64vrel-* \
39953354cdbSmrg	| mips64vr4100-* | mips64vr4100el-* \
40053354cdbSmrg	| mips64vr4300-* | mips64vr4300el-* \
40153354cdbSmrg	| mips64vr5000-* | mips64vr5000el-* \
40253354cdbSmrg	| mips64vr5900-* | mips64vr5900el-* \
40353354cdbSmrg	| mipsisa32-* | mipsisa32el-* \
40453354cdbSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
40553354cdbSmrg	| mipsisa64-* | mipsisa64el-* \
40653354cdbSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
40753354cdbSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
40853354cdbSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
409ecb85c42Smrg	| mipsr5900-* | mipsr5900el-* \
41053354cdbSmrg	| mipstx39-* | mipstx39el-* \
41153354cdbSmrg	| mmix-* \
41253354cdbSmrg	| mt-* \
41353354cdbSmrg	| msp430-* \
41486bbecbeSmrg	| nds32-* | nds32le-* | nds32be-* \
415ecb85c42Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
41653354cdbSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
41761c899d4Smrg	| open8-* \
41853354cdbSmrg	| orion-* \
41953354cdbSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42061c899d4Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
42153354cdbSmrg	| pyramid-* \
42261c899d4Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
42386bbecbeSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
42453354cdbSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42553354cdbSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
42653354cdbSmrg	| sparclite-* \
42761c899d4Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
42861c899d4Smrg	| tahoe-* \
42953354cdbSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43061c899d4Smrg	| tile*-* \
43153354cdbSmrg	| tron-* \
43286bbecbeSmrg	| ubicom32-* \
43361c899d4Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
43461c899d4Smrg	| vax-* \
43553354cdbSmrg	| we32k-* \
43661c899d4Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43753354cdbSmrg	| xstormy16-* | xtensa*-* \
43853354cdbSmrg	| ymp-* \
43986bbecbeSmrg	| z8k-* | z80-*)
44053354cdbSmrg		;;
44153354cdbSmrg	# Recognize the basic CPU types without company name, with glob match.
44253354cdbSmrg	xtensa*)
44353354cdbSmrg		basic_machine=$basic_machine-unknown
44453354cdbSmrg		;;
44553354cdbSmrg	# Recognize the various machine names and aliases which stand
44653354cdbSmrg	# for a CPU type and a company and sometimes even an OS.
44753354cdbSmrg	386bsd)
44853354cdbSmrg		basic_machine=i386-unknown
44953354cdbSmrg		os=-bsd
45053354cdbSmrg		;;
45153354cdbSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
45253354cdbSmrg		basic_machine=m68000-att
45353354cdbSmrg		;;
45453354cdbSmrg	3b*)
45553354cdbSmrg		basic_machine=we32k-att
45653354cdbSmrg		;;
45753354cdbSmrg	a29khif)
45853354cdbSmrg		basic_machine=a29k-amd
45953354cdbSmrg		os=-udi
46053354cdbSmrg		;;
46161c899d4Smrg	abacus)
46253354cdbSmrg		basic_machine=abacus-unknown
46353354cdbSmrg		;;
46453354cdbSmrg	adobe68k)
46553354cdbSmrg		basic_machine=m68010-adobe
46653354cdbSmrg		os=-scout
46753354cdbSmrg		;;
46853354cdbSmrg	alliant | fx80)
46953354cdbSmrg		basic_machine=fx80-alliant
47053354cdbSmrg		;;
47153354cdbSmrg	altos | altos3068)
47253354cdbSmrg		basic_machine=m68k-altos
47353354cdbSmrg		;;
47453354cdbSmrg	am29k)
47553354cdbSmrg		basic_machine=a29k-none
47653354cdbSmrg		os=-bsd
47753354cdbSmrg		;;
47853354cdbSmrg	amd64)
47953354cdbSmrg		basic_machine=x86_64-pc
48053354cdbSmrg		;;
48153354cdbSmrg	amd64-*)
48253354cdbSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
48353354cdbSmrg		;;
48453354cdbSmrg	amdahl)
48553354cdbSmrg		basic_machine=580-amdahl
48653354cdbSmrg		os=-sysv
48753354cdbSmrg		;;
48853354cdbSmrg	amiga | amiga-*)
48953354cdbSmrg		basic_machine=m68k-unknown
49053354cdbSmrg		;;
49153354cdbSmrg	amigaos | amigados)
49253354cdbSmrg		basic_machine=m68k-unknown
49353354cdbSmrg		os=-amigaos
49453354cdbSmrg		;;
49553354cdbSmrg	amigaunix | amix)
49653354cdbSmrg		basic_machine=m68k-unknown
49753354cdbSmrg		os=-sysv4
49853354cdbSmrg		;;
49953354cdbSmrg	apollo68)
50053354cdbSmrg		basic_machine=m68k-apollo
50153354cdbSmrg		os=-sysv
50253354cdbSmrg		;;
50353354cdbSmrg	apollo68bsd)
50453354cdbSmrg		basic_machine=m68k-apollo
50553354cdbSmrg		os=-bsd
50653354cdbSmrg		;;
50786bbecbeSmrg	aros)
50886bbecbeSmrg		basic_machine=i386-pc
50986bbecbeSmrg		os=-aros
51086bbecbeSmrg		;;
51153354cdbSmrg	aux)
51253354cdbSmrg		basic_machine=m68k-apple
51353354cdbSmrg		os=-aux
51453354cdbSmrg		;;
51553354cdbSmrg	balance)
51653354cdbSmrg		basic_machine=ns32k-sequent
51753354cdbSmrg		os=-dynix
51853354cdbSmrg		;;
51953354cdbSmrg	blackfin)
52053354cdbSmrg		basic_machine=bfin-unknown
52153354cdbSmrg		os=-linux
52253354cdbSmrg		;;
52353354cdbSmrg	blackfin-*)
52453354cdbSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52553354cdbSmrg		os=-linux
52653354cdbSmrg		;;
52786bbecbeSmrg	bluegene*)
52886bbecbeSmrg		basic_machine=powerpc-ibm
52986bbecbeSmrg		os=-cnk
53086bbecbeSmrg		;;
53186bbecbeSmrg	c54x-*)
53286bbecbeSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
53386bbecbeSmrg		;;
53486bbecbeSmrg	c55x-*)
53586bbecbeSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
53686bbecbeSmrg		;;
53786bbecbeSmrg	c6x-*)
53886bbecbeSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
53986bbecbeSmrg		;;
54053354cdbSmrg	c90)
54153354cdbSmrg		basic_machine=c90-cray
54253354cdbSmrg		os=-unicos
54353354cdbSmrg		;;
54461c899d4Smrg	cegcc)
54586bbecbeSmrg		basic_machine=arm-unknown
54686bbecbeSmrg		os=-cegcc
54786bbecbeSmrg		;;
54853354cdbSmrg	convex-c1)
54953354cdbSmrg		basic_machine=c1-convex
55053354cdbSmrg		os=-bsd
55153354cdbSmrg		;;
55253354cdbSmrg	convex-c2)
55353354cdbSmrg		basic_machine=c2-convex
55453354cdbSmrg		os=-bsd
55553354cdbSmrg		;;
55653354cdbSmrg	convex-c32)
55753354cdbSmrg		basic_machine=c32-convex
55853354cdbSmrg		os=-bsd
55953354cdbSmrg		;;
56053354cdbSmrg	convex-c34)
56153354cdbSmrg		basic_machine=c34-convex
56253354cdbSmrg		os=-bsd
56353354cdbSmrg		;;
56453354cdbSmrg	convex-c38)
56553354cdbSmrg		basic_machine=c38-convex
56653354cdbSmrg		os=-bsd
56753354cdbSmrg		;;
56853354cdbSmrg	cray | j90)
56953354cdbSmrg		basic_machine=j90-cray
57053354cdbSmrg		os=-unicos
57153354cdbSmrg		;;
57253354cdbSmrg	craynv)
57353354cdbSmrg		basic_machine=craynv-cray
57453354cdbSmrg		os=-unicosmp
57553354cdbSmrg		;;
57661c899d4Smrg	cr16 | cr16-*)
57753354cdbSmrg		basic_machine=cr16-unknown
57853354cdbSmrg		os=-elf
57953354cdbSmrg		;;
58053354cdbSmrg	crds | unos)
58153354cdbSmrg		basic_machine=m68k-crds
58253354cdbSmrg		;;
58353354cdbSmrg	crisv32 | crisv32-* | etraxfs*)
58453354cdbSmrg		basic_machine=crisv32-axis
58553354cdbSmrg		;;
58653354cdbSmrg	cris | cris-* | etrax*)
58753354cdbSmrg		basic_machine=cris-axis
58853354cdbSmrg		;;
58953354cdbSmrg	crx)
59053354cdbSmrg		basic_machine=crx-unknown
59153354cdbSmrg		os=-elf
59253354cdbSmrg		;;
59353354cdbSmrg	da30 | da30-*)
59453354cdbSmrg		basic_machine=m68k-da30
59553354cdbSmrg		;;
59653354cdbSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
59753354cdbSmrg		basic_machine=mips-dec
59853354cdbSmrg		;;
59953354cdbSmrg	decsystem10* | dec10*)
60053354cdbSmrg		basic_machine=pdp10-dec
60153354cdbSmrg		os=-tops10
60253354cdbSmrg		;;
60353354cdbSmrg	decsystem20* | dec20*)
60453354cdbSmrg		basic_machine=pdp10-dec
60553354cdbSmrg		os=-tops20
60653354cdbSmrg		;;
60753354cdbSmrg	delta | 3300 | motorola-3300 | motorola-delta \
60853354cdbSmrg	      | 3300-motorola | delta-motorola)
60953354cdbSmrg		basic_machine=m68k-motorola
61053354cdbSmrg		;;
61153354cdbSmrg	delta88)
61253354cdbSmrg		basic_machine=m88k-motorola
61353354cdbSmrg		os=-sysv3
61453354cdbSmrg		;;
61586bbecbeSmrg	dicos)
61686bbecbeSmrg		basic_machine=i686-pc
61786bbecbeSmrg		os=-dicos
61886bbecbeSmrg		;;
61953354cdbSmrg	djgpp)
62053354cdbSmrg		basic_machine=i586-pc
62153354cdbSmrg		os=-msdosdjgpp
62253354cdbSmrg		;;
62353354cdbSmrg	dpx20 | dpx20-*)
62453354cdbSmrg		basic_machine=rs6000-bull
62553354cdbSmrg		os=-bosx
62653354cdbSmrg		;;
62753354cdbSmrg	dpx2* | dpx2*-bull)
62853354cdbSmrg		basic_machine=m68k-bull
62953354cdbSmrg		os=-sysv3
63053354cdbSmrg		;;
63153354cdbSmrg	ebmon29k)
63253354cdbSmrg		basic_machine=a29k-amd
63353354cdbSmrg		os=-ebmon
63453354cdbSmrg		;;
63553354cdbSmrg	elxsi)
63653354cdbSmrg		basic_machine=elxsi-elxsi
63753354cdbSmrg		os=-bsd
63853354cdbSmrg		;;
63953354cdbSmrg	encore | umax | mmax)
64053354cdbSmrg		basic_machine=ns32k-encore
64153354cdbSmrg		;;
64253354cdbSmrg	es1800 | OSE68k | ose68k | ose | OSE)
64353354cdbSmrg		basic_machine=m68k-ericsson
64453354cdbSmrg		os=-ose
64553354cdbSmrg		;;
64653354cdbSmrg	fx2800)
64753354cdbSmrg		basic_machine=i860-alliant
64853354cdbSmrg		;;
64953354cdbSmrg	genix)
65053354cdbSmrg		basic_machine=ns32k-ns
65153354cdbSmrg		;;
65253354cdbSmrg	gmicro)
65353354cdbSmrg		basic_machine=tron-gmicro
65453354cdbSmrg		os=-sysv
65553354cdbSmrg		;;
65653354cdbSmrg	go32)
65753354cdbSmrg		basic_machine=i386-pc
65853354cdbSmrg		os=-go32
65953354cdbSmrg		;;
66053354cdbSmrg	h3050r* | hiux*)
66153354cdbSmrg		basic_machine=hppa1.1-hitachi
66253354cdbSmrg		os=-hiuxwe2
66353354cdbSmrg		;;
66453354cdbSmrg	h8300hms)
66553354cdbSmrg		basic_machine=h8300-hitachi
66653354cdbSmrg		os=-hms
66753354cdbSmrg		;;
66853354cdbSmrg	h8300xray)
66953354cdbSmrg		basic_machine=h8300-hitachi
67053354cdbSmrg		os=-xray
67153354cdbSmrg		;;
67253354cdbSmrg	h8500hms)
67353354cdbSmrg		basic_machine=h8500-hitachi
67453354cdbSmrg		os=-hms
67553354cdbSmrg		;;
67653354cdbSmrg	harris)
67753354cdbSmrg		basic_machine=m88k-harris
67853354cdbSmrg		os=-sysv3
67953354cdbSmrg		;;
68053354cdbSmrg	hp300-*)
68153354cdbSmrg		basic_machine=m68k-hp
68253354cdbSmrg		;;
68353354cdbSmrg	hp300bsd)
68453354cdbSmrg		basic_machine=m68k-hp
68553354cdbSmrg		os=-bsd
68653354cdbSmrg		;;
68753354cdbSmrg	hp300hpux)
68853354cdbSmrg		basic_machine=m68k-hp
68953354cdbSmrg		os=-hpux
69053354cdbSmrg		;;
69153354cdbSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
69253354cdbSmrg		basic_machine=hppa1.0-hp
69353354cdbSmrg		;;
69453354cdbSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
69553354cdbSmrg		basic_machine=m68000-hp
69653354cdbSmrg		;;
69753354cdbSmrg	hp9k3[2-9][0-9])
69853354cdbSmrg		basic_machine=m68k-hp
69953354cdbSmrg		;;
70053354cdbSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
70153354cdbSmrg		basic_machine=hppa1.0-hp
70253354cdbSmrg		;;
70353354cdbSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
70453354cdbSmrg		basic_machine=hppa1.1-hp
70553354cdbSmrg		;;
70653354cdbSmrg	hp9k78[0-9] | hp78[0-9])
70753354cdbSmrg		# FIXME: really hppa2.0-hp
70853354cdbSmrg		basic_machine=hppa1.1-hp
70953354cdbSmrg		;;
71053354cdbSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
71153354cdbSmrg		# FIXME: really hppa2.0-hp
71253354cdbSmrg		basic_machine=hppa1.1-hp
71353354cdbSmrg		;;
71453354cdbSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
71553354cdbSmrg		basic_machine=hppa1.1-hp
71653354cdbSmrg		;;
71753354cdbSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
71853354cdbSmrg		basic_machine=hppa1.0-hp
71953354cdbSmrg		;;
72053354cdbSmrg	hppa-next)
72153354cdbSmrg		os=-nextstep3
72253354cdbSmrg		;;
72353354cdbSmrg	hppaosf)
72453354cdbSmrg		basic_machine=hppa1.1-hp
72553354cdbSmrg		os=-osf
72653354cdbSmrg		;;
72753354cdbSmrg	hppro)
72853354cdbSmrg		basic_machine=hppa1.1-hp
72953354cdbSmrg		os=-proelf
73053354cdbSmrg		;;
73153354cdbSmrg	i370-ibm* | ibm*)
73253354cdbSmrg		basic_machine=i370-ibm
73353354cdbSmrg		;;
73453354cdbSmrg	i*86v32)
73553354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73653354cdbSmrg		os=-sysv32
73753354cdbSmrg		;;
73853354cdbSmrg	i*86v4*)
73953354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74053354cdbSmrg		os=-sysv4
74153354cdbSmrg		;;
74253354cdbSmrg	i*86v)
74353354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74453354cdbSmrg		os=-sysv
74553354cdbSmrg		;;
74653354cdbSmrg	i*86sol2)
74753354cdbSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
74853354cdbSmrg		os=-solaris2
74953354cdbSmrg		;;
75053354cdbSmrg	i386mach)
75153354cdbSmrg		basic_machine=i386-mach
75253354cdbSmrg		os=-mach
75353354cdbSmrg		;;
75453354cdbSmrg	i386-vsta | vsta)
75553354cdbSmrg		basic_machine=i386-unknown
75653354cdbSmrg		os=-vsta
75753354cdbSmrg		;;
75853354cdbSmrg	iris | iris4d)
75953354cdbSmrg		basic_machine=mips-sgi
76053354cdbSmrg		case $os in
76153354cdbSmrg		    -irix*)
76253354cdbSmrg			;;
76353354cdbSmrg		    *)
76453354cdbSmrg			os=-irix4
76553354cdbSmrg			;;
76653354cdbSmrg		esac
76753354cdbSmrg		;;
76853354cdbSmrg	isi68 | isi)
76953354cdbSmrg		basic_machine=m68k-isi
77053354cdbSmrg		os=-sysv
77153354cdbSmrg		;;
77253354cdbSmrg	m68knommu)
77353354cdbSmrg		basic_machine=m68k-unknown
77453354cdbSmrg		os=-linux
77553354cdbSmrg		;;
77653354cdbSmrg	m68knommu-*)
77753354cdbSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
77853354cdbSmrg		os=-linux
77953354cdbSmrg		;;
78053354cdbSmrg	m88k-omron*)
78153354cdbSmrg		basic_machine=m88k-omron
78253354cdbSmrg		;;
78353354cdbSmrg	magnum | m3230)
78453354cdbSmrg		basic_machine=mips-mips
78553354cdbSmrg		os=-sysv
78653354cdbSmrg		;;
78753354cdbSmrg	merlin)
78853354cdbSmrg		basic_machine=ns32k-utek
78953354cdbSmrg		os=-sysv
79053354cdbSmrg		;;
791ecb85c42Smrg	microblaze*)
79286bbecbeSmrg		basic_machine=microblaze-xilinx
79386bbecbeSmrg		;;
794ecb85c42Smrg	mingw64)
795ecb85c42Smrg		basic_machine=x86_64-pc
796ecb85c42Smrg		os=-mingw64
797ecb85c42Smrg		;;
79853354cdbSmrg	mingw32)
799ecb85c42Smrg		basic_machine=i686-pc
80053354cdbSmrg		os=-mingw32
80153354cdbSmrg		;;
80253354cdbSmrg	mingw32ce)
80353354cdbSmrg		basic_machine=arm-unknown
80453354cdbSmrg		os=-mingw32ce
80553354cdbSmrg		;;
80653354cdbSmrg	miniframe)
80753354cdbSmrg		basic_machine=m68000-convergent
80853354cdbSmrg		;;
80953354cdbSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
81053354cdbSmrg		basic_machine=m68k-atari
81153354cdbSmrg		os=-mint
81253354cdbSmrg		;;
81353354cdbSmrg	mips3*-*)
81453354cdbSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
81553354cdbSmrg		;;
81653354cdbSmrg	mips3*)
81753354cdbSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
81853354cdbSmrg		;;
81953354cdbSmrg	monitor)
82053354cdbSmrg		basic_machine=m68k-rom68k
82153354cdbSmrg		os=-coff
82253354cdbSmrg		;;
82353354cdbSmrg	morphos)
82453354cdbSmrg		basic_machine=powerpc-unknown
82553354cdbSmrg		os=-morphos
82653354cdbSmrg		;;
82753354cdbSmrg	msdos)
82853354cdbSmrg		basic_machine=i386-pc
82953354cdbSmrg		os=-msdos
83053354cdbSmrg		;;
83153354cdbSmrg	ms1-*)
83253354cdbSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
83353354cdbSmrg		;;
83461c899d4Smrg	msys)
835ecb85c42Smrg		basic_machine=i686-pc
83661c899d4Smrg		os=-msys
83761c899d4Smrg		;;
83853354cdbSmrg	mvs)
83953354cdbSmrg		basic_machine=i370-ibm
84053354cdbSmrg		os=-mvs
84153354cdbSmrg		;;
84261c899d4Smrg	nacl)
84361c899d4Smrg		basic_machine=le32-unknown
84461c899d4Smrg		os=-nacl
84561c899d4Smrg		;;
84653354cdbSmrg	ncr3000)
84753354cdbSmrg		basic_machine=i486-ncr
84853354cdbSmrg		os=-sysv4
84953354cdbSmrg		;;
85053354cdbSmrg	netbsd386)
85153354cdbSmrg		basic_machine=i386-unknown
85253354cdbSmrg		os=-netbsd
85353354cdbSmrg		;;
85453354cdbSmrg	netwinder)
85553354cdbSmrg		basic_machine=armv4l-rebel
85653354cdbSmrg		os=-linux
85753354cdbSmrg		;;
85853354cdbSmrg	news | news700 | news800 | news900)
85953354cdbSmrg		basic_machine=m68k-sony
86053354cdbSmrg		os=-newsos
86153354cdbSmrg		;;
86253354cdbSmrg	news1000)
86353354cdbSmrg		basic_machine=m68030-sony
86453354cdbSmrg		os=-newsos
86553354cdbSmrg		;;
86653354cdbSmrg	news-3600 | risc-news)
86753354cdbSmrg		basic_machine=mips-sony
86853354cdbSmrg		os=-newsos
86953354cdbSmrg		;;
87053354cdbSmrg	necv70)
87153354cdbSmrg		basic_machine=v70-nec
87253354cdbSmrg		os=-sysv
87353354cdbSmrg		;;
87453354cdbSmrg	next | m*-next )
87553354cdbSmrg		basic_machine=m68k-next
87653354cdbSmrg		case $os in
87753354cdbSmrg		    -nextstep* )
87853354cdbSmrg			;;
87953354cdbSmrg		    -ns2*)
88053354cdbSmrg		      os=-nextstep2
88153354cdbSmrg			;;
88253354cdbSmrg		    *)
88353354cdbSmrg		      os=-nextstep3
88453354cdbSmrg			;;
88553354cdbSmrg		esac
88653354cdbSmrg		;;
88753354cdbSmrg	nh3000)
88853354cdbSmrg		basic_machine=m68k-harris
88953354cdbSmrg		os=-cxux
89053354cdbSmrg		;;
89153354cdbSmrg	nh[45]000)
89253354cdbSmrg		basic_machine=m88k-harris
89353354cdbSmrg		os=-cxux
89453354cdbSmrg		;;
89553354cdbSmrg	nindy960)
89653354cdbSmrg		basic_machine=i960-intel
89753354cdbSmrg		os=-nindy
89853354cdbSmrg		;;
89953354cdbSmrg	mon960)
90053354cdbSmrg		basic_machine=i960-intel
90153354cdbSmrg		os=-mon960
90253354cdbSmrg		;;
90353354cdbSmrg	nonstopux)
90453354cdbSmrg		basic_machine=mips-compaq
90553354cdbSmrg		os=-nonstopux
90653354cdbSmrg		;;
90753354cdbSmrg	np1)
90853354cdbSmrg		basic_machine=np1-gould
90953354cdbSmrg		;;
91061c899d4Smrg	neo-tandem)
91186bbecbeSmrg		basic_machine=neo-tandem
91286bbecbeSmrg		;;
91361c899d4Smrg	nse-tandem)
91486bbecbeSmrg		basic_machine=nse-tandem
91586bbecbeSmrg		;;
91653354cdbSmrg	nsr-tandem)
91753354cdbSmrg		basic_machine=nsr-tandem
91853354cdbSmrg		;;
91953354cdbSmrg	op50n-* | op60c-*)
92053354cdbSmrg		basic_machine=hppa1.1-oki
92153354cdbSmrg		os=-proelf
92253354cdbSmrg		;;
92353354cdbSmrg	openrisc | openrisc-*)
92453354cdbSmrg		basic_machine=or32-unknown
92553354cdbSmrg		;;
92653354cdbSmrg	os400)
92753354cdbSmrg		basic_machine=powerpc-ibm
92853354cdbSmrg		os=-os400
92953354cdbSmrg		;;
93053354cdbSmrg	OSE68000 | ose68000)
93153354cdbSmrg		basic_machine=m68000-ericsson
93253354cdbSmrg		os=-ose
93353354cdbSmrg		;;
93453354cdbSmrg	os68k)
93553354cdbSmrg		basic_machine=m68k-none
93653354cdbSmrg		os=-os68k
93753354cdbSmrg		;;
93853354cdbSmrg	pa-hitachi)
93953354cdbSmrg		basic_machine=hppa1.1-hitachi
94053354cdbSmrg		os=-hiuxwe2
94153354cdbSmrg		;;
94253354cdbSmrg	paragon)
94353354cdbSmrg		basic_machine=i860-intel
94453354cdbSmrg		os=-osf
94553354cdbSmrg		;;
94653354cdbSmrg	parisc)
94753354cdbSmrg		basic_machine=hppa-unknown
94853354cdbSmrg		os=-linux
94953354cdbSmrg		;;
95053354cdbSmrg	parisc-*)
95153354cdbSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
95253354cdbSmrg		os=-linux
95353354cdbSmrg		;;
95453354cdbSmrg	pbd)
95553354cdbSmrg		basic_machine=sparc-tti
95653354cdbSmrg		;;
95753354cdbSmrg	pbb)
95853354cdbSmrg		basic_machine=m68k-tti
95953354cdbSmrg		;;
96053354cdbSmrg	pc532 | pc532-*)
96153354cdbSmrg		basic_machine=ns32k-pc532
96253354cdbSmrg		;;
96353354cdbSmrg	pc98)
96453354cdbSmrg		basic_machine=i386-pc
96553354cdbSmrg		;;
96653354cdbSmrg	pc98-*)
96753354cdbSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
96853354cdbSmrg		;;
96953354cdbSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
97053354cdbSmrg		basic_machine=i586-pc
97153354cdbSmrg		;;
97253354cdbSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
97353354cdbSmrg		basic_machine=i686-pc
97453354cdbSmrg		;;
97553354cdbSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
97653354cdbSmrg		basic_machine=i686-pc
97753354cdbSmrg		;;
97853354cdbSmrg	pentium4)
97953354cdbSmrg		basic_machine=i786-pc
98053354cdbSmrg		;;
98153354cdbSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
98253354cdbSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
98353354cdbSmrg		;;
98453354cdbSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
98553354cdbSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98653354cdbSmrg		;;
98753354cdbSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
98853354cdbSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
98953354cdbSmrg		;;
99053354cdbSmrg	pentium4-*)
99153354cdbSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
99253354cdbSmrg		;;
99353354cdbSmrg	pn)
99453354cdbSmrg		basic_machine=pn-gould
99553354cdbSmrg		;;
99653354cdbSmrg	power)	basic_machine=power-ibm
99753354cdbSmrg		;;
99861c899d4Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
99953354cdbSmrg		;;
100061c899d4Smrg	ppc-* | ppcbe-*)
100161c899d4Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
100253354cdbSmrg		;;
100353354cdbSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
100453354cdbSmrg		basic_machine=powerpcle-unknown
100553354cdbSmrg		;;
100653354cdbSmrg	ppcle-* | powerpclittle-*)
100753354cdbSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
100853354cdbSmrg		;;
100953354cdbSmrg	ppc64)	basic_machine=powerpc64-unknown
101053354cdbSmrg		;;
101153354cdbSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
101253354cdbSmrg		;;
101353354cdbSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
101453354cdbSmrg		basic_machine=powerpc64le-unknown
101553354cdbSmrg		;;
101653354cdbSmrg	ppc64le-* | powerpc64little-*)
101753354cdbSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
101853354cdbSmrg		;;
101953354cdbSmrg	ps2)
102053354cdbSmrg		basic_machine=i386-ibm
102153354cdbSmrg		;;
102253354cdbSmrg	pw32)
102353354cdbSmrg		basic_machine=i586-unknown
102453354cdbSmrg		os=-pw32
102553354cdbSmrg		;;
1026ecb85c42Smrg	rdos | rdos64)
1027ecb85c42Smrg		basic_machine=x86_64-pc
1028ecb85c42Smrg		os=-rdos
1029ecb85c42Smrg		;;
1030ecb85c42Smrg	rdos32)
103153354cdbSmrg		basic_machine=i386-pc
103253354cdbSmrg		os=-rdos
103353354cdbSmrg		;;
103453354cdbSmrg	rom68k)
103553354cdbSmrg		basic_machine=m68k-rom68k
103653354cdbSmrg		os=-coff
103753354cdbSmrg		;;
103853354cdbSmrg	rm[46]00)
103953354cdbSmrg		basic_machine=mips-siemens
104053354cdbSmrg		;;
104153354cdbSmrg	rtpc | rtpc-*)
104253354cdbSmrg		basic_machine=romp-ibm
104353354cdbSmrg		;;
104453354cdbSmrg	s390 | s390-*)
104553354cdbSmrg		basic_machine=s390-ibm
104653354cdbSmrg		;;
104753354cdbSmrg	s390x | s390x-*)
104853354cdbSmrg		basic_machine=s390x-ibm
104953354cdbSmrg		;;
105053354cdbSmrg	sa29200)
105153354cdbSmrg		basic_machine=a29k-amd
105253354cdbSmrg		os=-udi
105353354cdbSmrg		;;
105453354cdbSmrg	sb1)
105553354cdbSmrg		basic_machine=mipsisa64sb1-unknown
105653354cdbSmrg		;;
105753354cdbSmrg	sb1el)
105853354cdbSmrg		basic_machine=mipsisa64sb1el-unknown
105953354cdbSmrg		;;
106053354cdbSmrg	sde)
106153354cdbSmrg		basic_machine=mipsisa32-sde
106253354cdbSmrg		os=-elf
106353354cdbSmrg		;;
106453354cdbSmrg	sei)
106553354cdbSmrg		basic_machine=mips-sei
106653354cdbSmrg		os=-seiux
106753354cdbSmrg		;;
106853354cdbSmrg	sequent)
106953354cdbSmrg		basic_machine=i386-sequent
107053354cdbSmrg		;;
107153354cdbSmrg	sh)
107253354cdbSmrg		basic_machine=sh-hitachi
107353354cdbSmrg		os=-hms
107453354cdbSmrg		;;
107553354cdbSmrg	sh5el)
107653354cdbSmrg		basic_machine=sh5le-unknown
107753354cdbSmrg		;;
107853354cdbSmrg	sh64)
107953354cdbSmrg		basic_machine=sh64-unknown
108053354cdbSmrg		;;
108153354cdbSmrg	sparclite-wrs | simso-wrs)
108253354cdbSmrg		basic_machine=sparclite-wrs
108353354cdbSmrg		os=-vxworks
108453354cdbSmrg		;;
108553354cdbSmrg	sps7)
108653354cdbSmrg		basic_machine=m68k-bull
108753354cdbSmrg		os=-sysv2
108853354cdbSmrg		;;
108953354cdbSmrg	spur)
109053354cdbSmrg		basic_machine=spur-unknown
109153354cdbSmrg		;;
109253354cdbSmrg	st2000)
109353354cdbSmrg		basic_machine=m68k-tandem
109453354cdbSmrg		;;
109553354cdbSmrg	stratus)
109653354cdbSmrg		basic_machine=i860-stratus
109753354cdbSmrg		os=-sysv4
109853354cdbSmrg		;;
109961c899d4Smrg	strongarm-* | thumb-*)
110061c899d4Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
110161c899d4Smrg		;;
110253354cdbSmrg	sun2)
110353354cdbSmrg		basic_machine=m68000-sun
110453354cdbSmrg		;;
110553354cdbSmrg	sun2os3)
110653354cdbSmrg		basic_machine=m68000-sun
110753354cdbSmrg		os=-sunos3
110853354cdbSmrg		;;
110953354cdbSmrg	sun2os4)
111053354cdbSmrg		basic_machine=m68000-sun
111153354cdbSmrg		os=-sunos4
111253354cdbSmrg		;;
111353354cdbSmrg	sun3os3)
111453354cdbSmrg		basic_machine=m68k-sun
111553354cdbSmrg		os=-sunos3
111653354cdbSmrg		;;
111753354cdbSmrg	sun3os4)
111853354cdbSmrg		basic_machine=m68k-sun
111953354cdbSmrg		os=-sunos4
112053354cdbSmrg		;;
112153354cdbSmrg	sun4os3)
112253354cdbSmrg		basic_machine=sparc-sun
112353354cdbSmrg		os=-sunos3
112453354cdbSmrg		;;
112553354cdbSmrg	sun4os4)
112653354cdbSmrg		basic_machine=sparc-sun
112753354cdbSmrg		os=-sunos4
112853354cdbSmrg		;;
112953354cdbSmrg	sun4sol2)
113053354cdbSmrg		basic_machine=sparc-sun
113153354cdbSmrg		os=-solaris2
113253354cdbSmrg		;;
113353354cdbSmrg	sun3 | sun3-*)
113453354cdbSmrg		basic_machine=m68k-sun
113553354cdbSmrg		;;
113653354cdbSmrg	sun4)
113753354cdbSmrg		basic_machine=sparc-sun
113853354cdbSmrg		;;
113953354cdbSmrg	sun386 | sun386i | roadrunner)
114053354cdbSmrg		basic_machine=i386-sun
114153354cdbSmrg		;;
114253354cdbSmrg	sv1)
114353354cdbSmrg		basic_machine=sv1-cray
114453354cdbSmrg		os=-unicos
114553354cdbSmrg		;;
114653354cdbSmrg	symmetry)
114753354cdbSmrg		basic_machine=i386-sequent
114853354cdbSmrg		os=-dynix
114953354cdbSmrg		;;
115053354cdbSmrg	t3e)
115153354cdbSmrg		basic_machine=alphaev5-cray
115253354cdbSmrg		os=-unicos
115353354cdbSmrg		;;
115453354cdbSmrg	t90)
115553354cdbSmrg		basic_machine=t90-cray
115653354cdbSmrg		os=-unicos
115753354cdbSmrg		;;
115886bbecbeSmrg	tile*)
115961c899d4Smrg		basic_machine=$basic_machine-unknown
116086bbecbeSmrg		os=-linux-gnu
116153354cdbSmrg		;;
116253354cdbSmrg	tx39)
116353354cdbSmrg		basic_machine=mipstx39-unknown
116453354cdbSmrg		;;
116553354cdbSmrg	tx39el)
116653354cdbSmrg		basic_machine=mipstx39el-unknown
116753354cdbSmrg		;;
116853354cdbSmrg	toad1)
116953354cdbSmrg		basic_machine=pdp10-xkl
117053354cdbSmrg		os=-tops20
117153354cdbSmrg		;;
117253354cdbSmrg	tower | tower-32)
117353354cdbSmrg		basic_machine=m68k-ncr
117453354cdbSmrg		;;
117553354cdbSmrg	tpf)
117653354cdbSmrg		basic_machine=s390x-ibm
117753354cdbSmrg		os=-tpf
117853354cdbSmrg		;;
117953354cdbSmrg	udi29k)
118053354cdbSmrg		basic_machine=a29k-amd
118153354cdbSmrg		os=-udi
118253354cdbSmrg		;;
118353354cdbSmrg	ultra3)
118453354cdbSmrg		basic_machine=a29k-nyu
118553354cdbSmrg		os=-sym1
118653354cdbSmrg		;;
118753354cdbSmrg	v810 | necv810)
118853354cdbSmrg		basic_machine=v810-nec
118953354cdbSmrg		os=-none
119053354cdbSmrg		;;
119153354cdbSmrg	vaxv)
119253354cdbSmrg		basic_machine=vax-dec
119353354cdbSmrg		os=-sysv
119453354cdbSmrg		;;
119553354cdbSmrg	vms)
119653354cdbSmrg		basic_machine=vax-dec
119753354cdbSmrg		os=-vms
119853354cdbSmrg		;;
119953354cdbSmrg	vpp*|vx|vx-*)
120053354cdbSmrg		basic_machine=f301-fujitsu
120153354cdbSmrg		;;
120253354cdbSmrg	vxworks960)
120353354cdbSmrg		basic_machine=i960-wrs
120453354cdbSmrg		os=-vxworks
120553354cdbSmrg		;;
120653354cdbSmrg	vxworks68)
120753354cdbSmrg		basic_machine=m68k-wrs
120853354cdbSmrg		os=-vxworks
120953354cdbSmrg		;;
121053354cdbSmrg	vxworks29k)
121153354cdbSmrg		basic_machine=a29k-wrs
121253354cdbSmrg		os=-vxworks
121353354cdbSmrg		;;
121453354cdbSmrg	w65*)
121553354cdbSmrg		basic_machine=w65-wdc
121653354cdbSmrg		os=-none
121753354cdbSmrg		;;
121853354cdbSmrg	w89k-*)
121953354cdbSmrg		basic_machine=hppa1.1-winbond
122053354cdbSmrg		os=-proelf
122153354cdbSmrg		;;
122253354cdbSmrg	xbox)
122353354cdbSmrg		basic_machine=i686-pc
122453354cdbSmrg		os=-mingw32
122553354cdbSmrg		;;
122653354cdbSmrg	xps | xps100)
122753354cdbSmrg		basic_machine=xps100-honeywell
122853354cdbSmrg		;;
122961c899d4Smrg	xscale-* | xscalee[bl]-*)
123061c899d4Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
123161c899d4Smrg		;;
123253354cdbSmrg	ymp)
123353354cdbSmrg		basic_machine=ymp-cray
123453354cdbSmrg		os=-unicos
123553354cdbSmrg		;;
123653354cdbSmrg	z8k-*-coff)
123753354cdbSmrg		basic_machine=z8k-unknown
123853354cdbSmrg		os=-sim
123953354cdbSmrg		;;
124086bbecbeSmrg	z80-*-coff)
124186bbecbeSmrg		basic_machine=z80-unknown
124286bbecbeSmrg		os=-sim
124386bbecbeSmrg		;;
124453354cdbSmrg	none)
124553354cdbSmrg		basic_machine=none-none
124653354cdbSmrg		os=-none
124753354cdbSmrg		;;
124853354cdbSmrg
124953354cdbSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
125053354cdbSmrg# some cases the only manufacturer, in others, it is the most popular.
125153354cdbSmrg	w89k)
125253354cdbSmrg		basic_machine=hppa1.1-winbond
125353354cdbSmrg		;;
125453354cdbSmrg	op50n)
125553354cdbSmrg		basic_machine=hppa1.1-oki
125653354cdbSmrg		;;
125753354cdbSmrg	op60c)
125853354cdbSmrg		basic_machine=hppa1.1-oki
125953354cdbSmrg		;;
126053354cdbSmrg	romp)
126153354cdbSmrg		basic_machine=romp-ibm
126253354cdbSmrg		;;
126353354cdbSmrg	mmix)
126453354cdbSmrg		basic_machine=mmix-knuth
126553354cdbSmrg		;;
126653354cdbSmrg	rs6000)
126753354cdbSmrg		basic_machine=rs6000-ibm
126853354cdbSmrg		;;
126953354cdbSmrg	vax)
127053354cdbSmrg		basic_machine=vax-dec
127153354cdbSmrg		;;
127253354cdbSmrg	pdp10)
127353354cdbSmrg		# there are many clones, so DEC is not a safe bet
127453354cdbSmrg		basic_machine=pdp10-unknown
127553354cdbSmrg		;;
127653354cdbSmrg	pdp11)
127753354cdbSmrg		basic_machine=pdp11-dec
127853354cdbSmrg		;;
127953354cdbSmrg	we32k)
128053354cdbSmrg		basic_machine=we32k-att
128153354cdbSmrg		;;
128286bbecbeSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
128353354cdbSmrg		basic_machine=sh-unknown
128453354cdbSmrg		;;
128553354cdbSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
128653354cdbSmrg		basic_machine=sparc-sun
128753354cdbSmrg		;;
128853354cdbSmrg	cydra)
128953354cdbSmrg		basic_machine=cydra-cydrome
129053354cdbSmrg		;;
129153354cdbSmrg	orion)
129253354cdbSmrg		basic_machine=orion-highlevel
129353354cdbSmrg		;;
129453354cdbSmrg	orion105)
129553354cdbSmrg		basic_machine=clipper-highlevel
129653354cdbSmrg		;;
129753354cdbSmrg	mac | mpw | mac-mpw)
129853354cdbSmrg		basic_machine=m68k-apple
129953354cdbSmrg		;;
130053354cdbSmrg	pmac | pmac-mpw)
130153354cdbSmrg		basic_machine=powerpc-apple
130253354cdbSmrg		;;
130353354cdbSmrg	*-unknown)
130453354cdbSmrg		# Make sure to match an already-canonicalized machine name.
130553354cdbSmrg		;;
130653354cdbSmrg	*)
130753354cdbSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
130853354cdbSmrg		exit 1
130953354cdbSmrg		;;
131053354cdbSmrgesac
131153354cdbSmrg
131253354cdbSmrg# Here we canonicalize certain aliases for manufacturers.
131353354cdbSmrgcase $basic_machine in
131453354cdbSmrg	*-digital*)
131553354cdbSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
131653354cdbSmrg		;;
131753354cdbSmrg	*-commodore*)
131853354cdbSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
131953354cdbSmrg		;;
132053354cdbSmrg	*)
132153354cdbSmrg		;;
132253354cdbSmrgesac
132353354cdbSmrg
132453354cdbSmrg# Decode manufacturer-specific aliases for certain operating systems.
132553354cdbSmrg
132653354cdbSmrgif [ x"$os" != x"" ]
132753354cdbSmrgthen
132853354cdbSmrgcase $os in
132961c899d4Smrg	# First match some system type aliases
133061c899d4Smrg	# that might get confused with valid system types.
133153354cdbSmrg	# -solaris* is a basic system type, with this one exception.
133261c899d4Smrg	-auroraux)
133361c899d4Smrg		os=-auroraux
133486bbecbeSmrg		;;
133553354cdbSmrg	-solaris1 | -solaris1.*)
133653354cdbSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
133753354cdbSmrg		;;
133853354cdbSmrg	-solaris)
133953354cdbSmrg		os=-solaris2
134053354cdbSmrg		;;
134153354cdbSmrg	-svr4*)
134253354cdbSmrg		os=-sysv4
134353354cdbSmrg		;;
134453354cdbSmrg	-unixware*)
134553354cdbSmrg		os=-sysv4.2uw
134653354cdbSmrg		;;
134753354cdbSmrg	-gnu/linux*)
134853354cdbSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
134953354cdbSmrg		;;
135053354cdbSmrg	# First accept the basic system types.
135153354cdbSmrg	# The portable systems comes first.
135253354cdbSmrg	# Each alternative MUST END IN A *, to match a version number.
135353354cdbSmrg	# -sysv* is not here because it comes later, after sysvr4.
135453354cdbSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
135586bbecbeSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
135686bbecbeSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1357ecb85c42Smrg	      | -sym* | -kopensolaris* | -plan9* \
135853354cdbSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
135986bbecbeSmrg	      | -aos* | -aros* \
136053354cdbSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
136153354cdbSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
136253354cdbSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1363ecb85c42Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
136453354cdbSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
136553354cdbSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
136653354cdbSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
136753354cdbSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
136886bbecbeSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
136961c899d4Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1370ecb85c42Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1371ecb85c42Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
137253354cdbSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
137353354cdbSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
137453354cdbSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
137553354cdbSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
137653354cdbSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
137753354cdbSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
137853354cdbSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
137986bbecbeSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
138053354cdbSmrg	# Remember, each alternative MUST END IN *, to match a version number.
138153354cdbSmrg		;;
138253354cdbSmrg	-qnx*)
138353354cdbSmrg		case $basic_machine in
138453354cdbSmrg		    x86-* | i*86-*)
138553354cdbSmrg			;;
138653354cdbSmrg		    *)
138753354cdbSmrg			os=-nto$os
138853354cdbSmrg			;;
138953354cdbSmrg		esac
139053354cdbSmrg		;;
139153354cdbSmrg	-nto-qnx*)
139253354cdbSmrg		;;
139353354cdbSmrg	-nto*)
139453354cdbSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
139553354cdbSmrg		;;
139653354cdbSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
139753354cdbSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
139853354cdbSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
139953354cdbSmrg		;;
140053354cdbSmrg	-mac*)
140153354cdbSmrg		os=`echo $os | sed -e 's|mac|macos|'`
140253354cdbSmrg		;;
140353354cdbSmrg	-linux-dietlibc)
140453354cdbSmrg		os=-linux-dietlibc
140553354cdbSmrg		;;
140653354cdbSmrg	-linux*)
140753354cdbSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
140853354cdbSmrg		;;
140953354cdbSmrg	-sunos5*)
141053354cdbSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
141153354cdbSmrg		;;
141253354cdbSmrg	-sunos6*)
141353354cdbSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
141453354cdbSmrg		;;
141553354cdbSmrg	-opened*)
141653354cdbSmrg		os=-openedition
141753354cdbSmrg		;;
141861c899d4Smrg	-os400*)
141953354cdbSmrg		os=-os400
142053354cdbSmrg		;;
142153354cdbSmrg	-wince*)
142253354cdbSmrg		os=-wince
142353354cdbSmrg		;;
142453354cdbSmrg	-osfrose*)
142553354cdbSmrg		os=-osfrose
142653354cdbSmrg		;;
142753354cdbSmrg	-osf*)
142853354cdbSmrg		os=-osf
142953354cdbSmrg		;;
143053354cdbSmrg	-utek*)
143153354cdbSmrg		os=-bsd
143253354cdbSmrg		;;
143353354cdbSmrg	-dynix*)
143453354cdbSmrg		os=-bsd
143553354cdbSmrg		;;
143653354cdbSmrg	-acis*)
143753354cdbSmrg		os=-aos
143853354cdbSmrg		;;
143953354cdbSmrg	-atheos*)
144053354cdbSmrg		os=-atheos
144153354cdbSmrg		;;
144253354cdbSmrg	-syllable*)
144353354cdbSmrg		os=-syllable
144453354cdbSmrg		;;
144553354cdbSmrg	-386bsd)
144653354cdbSmrg		os=-bsd
144753354cdbSmrg		;;
144853354cdbSmrg	-ctix* | -uts*)
144953354cdbSmrg		os=-sysv
145053354cdbSmrg		;;
145153354cdbSmrg	-nova*)
145253354cdbSmrg		os=-rtmk-nova
145353354cdbSmrg		;;
145453354cdbSmrg	-ns2 )
145553354cdbSmrg		os=-nextstep2
145653354cdbSmrg		;;
145753354cdbSmrg	-nsk*)
145853354cdbSmrg		os=-nsk
145953354cdbSmrg		;;
146053354cdbSmrg	# Preserve the version number of sinix5.
146153354cdbSmrg	-sinix5.*)
146253354cdbSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
146353354cdbSmrg		;;
146453354cdbSmrg	-sinix*)
146553354cdbSmrg		os=-sysv4
146653354cdbSmrg		;;
146761c899d4Smrg	-tpf*)
146853354cdbSmrg		os=-tpf
146953354cdbSmrg		;;
147053354cdbSmrg	-triton*)
147153354cdbSmrg		os=-sysv3
147253354cdbSmrg		;;
147353354cdbSmrg	-oss*)
147453354cdbSmrg		os=-sysv3
147553354cdbSmrg		;;
147653354cdbSmrg	-svr4)
147753354cdbSmrg		os=-sysv4
147853354cdbSmrg		;;
147953354cdbSmrg	-svr3)
148053354cdbSmrg		os=-sysv3
148153354cdbSmrg		;;
148253354cdbSmrg	-sysvr4)
148353354cdbSmrg		os=-sysv4
148453354cdbSmrg		;;
148553354cdbSmrg	# This must come after -sysvr4.
148653354cdbSmrg	-sysv*)
148753354cdbSmrg		;;
148853354cdbSmrg	-ose*)
148953354cdbSmrg		os=-ose
149053354cdbSmrg		;;
149153354cdbSmrg	-es1800*)
149253354cdbSmrg		os=-ose
149353354cdbSmrg		;;
149453354cdbSmrg	-xenix)
149553354cdbSmrg		os=-xenix
149653354cdbSmrg		;;
149753354cdbSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
149853354cdbSmrg		os=-mint
149953354cdbSmrg		;;
150053354cdbSmrg	-aros*)
150153354cdbSmrg		os=-aros
150253354cdbSmrg		;;
150353354cdbSmrg	-zvmoe)
150453354cdbSmrg		os=-zvmoe
150553354cdbSmrg		;;
150686bbecbeSmrg	-dicos*)
150786bbecbeSmrg		os=-dicos
150886bbecbeSmrg		;;
150961c899d4Smrg	-nacl*)
151061c899d4Smrg		;;
151153354cdbSmrg	-none)
151253354cdbSmrg		;;
151353354cdbSmrg	*)
151453354cdbSmrg		# Get rid of the `-' at the beginning of $os.
151553354cdbSmrg		os=`echo $os | sed 's/[^-]*-//'`
151653354cdbSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
151753354cdbSmrg		exit 1
151853354cdbSmrg		;;
151953354cdbSmrgesac
152053354cdbSmrgelse
152153354cdbSmrg
152253354cdbSmrg# Here we handle the default operating systems that come with various machines.
152353354cdbSmrg# The value should be what the vendor currently ships out the door with their
152453354cdbSmrg# machine or put another way, the most popular os provided with the machine.
152553354cdbSmrg
152653354cdbSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
152753354cdbSmrg# "-sun"), then you have to tell the case statement up towards the top
152853354cdbSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
152953354cdbSmrg# will signal an error saying that MANUFACTURER isn't an operating
153053354cdbSmrg# system, and we'll never get to this point.
153153354cdbSmrg
153253354cdbSmrgcase $basic_machine in
153361c899d4Smrg	score-*)
153453354cdbSmrg		os=-elf
153553354cdbSmrg		;;
153661c899d4Smrg	spu-*)
153753354cdbSmrg		os=-elf
153853354cdbSmrg		;;
153953354cdbSmrg	*-acorn)
154053354cdbSmrg		os=-riscix1.2
154153354cdbSmrg		;;
154253354cdbSmrg	arm*-rebel)
154353354cdbSmrg		os=-linux
154453354cdbSmrg		;;
154553354cdbSmrg	arm*-semi)
154653354cdbSmrg		os=-aout
154753354cdbSmrg		;;
154861c899d4Smrg	c4x-* | tic4x-*)
154961c899d4Smrg		os=-coff
155053354cdbSmrg		;;
1551ecb85c42Smrg	c8051-*)
1552ecb85c42Smrg		os=-elf
1553ecb85c42Smrg		;;
1554ecb85c42Smrg	hexagon-*)
1555ecb85c42Smrg		os=-elf
1556ecb85c42Smrg		;;
155786bbecbeSmrg	tic54x-*)
155886bbecbeSmrg		os=-coff
155986bbecbeSmrg		;;
156086bbecbeSmrg	tic55x-*)
156186bbecbeSmrg		os=-coff
156286bbecbeSmrg		;;
156386bbecbeSmrg	tic6x-*)
156486bbecbeSmrg		os=-coff
156586bbecbeSmrg		;;
156653354cdbSmrg	# This must come before the *-dec entry.
156753354cdbSmrg	pdp10-*)
156853354cdbSmrg		os=-tops20
156953354cdbSmrg		;;
157053354cdbSmrg	pdp11-*)
157153354cdbSmrg		os=-none
157253354cdbSmrg		;;
157353354cdbSmrg	*-dec | vax-*)
157453354cdbSmrg		os=-ultrix4.2
157553354cdbSmrg		;;
157653354cdbSmrg	m68*-apollo)
157753354cdbSmrg		os=-domain
157853354cdbSmrg		;;
157953354cdbSmrg	i386-sun)
158053354cdbSmrg		os=-sunos4.0.2
158153354cdbSmrg		;;
158253354cdbSmrg	m68000-sun)
158353354cdbSmrg		os=-sunos3
158453354cdbSmrg		;;
158553354cdbSmrg	m68*-cisco)
158653354cdbSmrg		os=-aout
158753354cdbSmrg		;;
158861c899d4Smrg	mep-*)
158953354cdbSmrg		os=-elf
159053354cdbSmrg		;;
159153354cdbSmrg	mips*-cisco)
159253354cdbSmrg		os=-elf
159353354cdbSmrg		;;
159453354cdbSmrg	mips*-*)
159553354cdbSmrg		os=-elf
159653354cdbSmrg		;;
1597ecb85c42Smrg	or1k-*)
1598ecb85c42Smrg		os=-elf
1599ecb85c42Smrg		;;
160053354cdbSmrg	or32-*)
160153354cdbSmrg		os=-coff
160253354cdbSmrg		;;
160353354cdbSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
160453354cdbSmrg		os=-sysv3
160553354cdbSmrg		;;
160653354cdbSmrg	sparc-* | *-sun)
160753354cdbSmrg		os=-sunos4.1.1
160853354cdbSmrg		;;
160953354cdbSmrg	*-be)
161053354cdbSmrg		os=-beos
161153354cdbSmrg		;;
161253354cdbSmrg	*-haiku)
161353354cdbSmrg		os=-haiku
161453354cdbSmrg		;;
161553354cdbSmrg	*-ibm)
161653354cdbSmrg		os=-aix
161753354cdbSmrg		;;
161861c899d4Smrg	*-knuth)
161953354cdbSmrg		os=-mmixware
162053354cdbSmrg		;;
162153354cdbSmrg	*-wec)
162253354cdbSmrg		os=-proelf
162353354cdbSmrg		;;
162453354cdbSmrg	*-winbond)
162553354cdbSmrg		os=-proelf
162653354cdbSmrg		;;
162753354cdbSmrg	*-oki)
162853354cdbSmrg		os=-proelf
162953354cdbSmrg		;;
163053354cdbSmrg	*-hp)
163153354cdbSmrg		os=-hpux
163253354cdbSmrg		;;
163353354cdbSmrg	*-hitachi)
163453354cdbSmrg		os=-hiux
163553354cdbSmrg		;;
163653354cdbSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
163753354cdbSmrg		os=-sysv
163853354cdbSmrg		;;
163953354cdbSmrg	*-cbm)
164053354cdbSmrg		os=-amigaos
164153354cdbSmrg		;;
164253354cdbSmrg	*-dg)
164353354cdbSmrg		os=-dgux
164453354cdbSmrg		;;
164553354cdbSmrg	*-dolphin)
164653354cdbSmrg		os=-sysv3
164753354cdbSmrg		;;
164853354cdbSmrg	m68k-ccur)
164953354cdbSmrg		os=-rtu
165053354cdbSmrg		;;
165153354cdbSmrg	m88k-omron*)
165253354cdbSmrg		os=-luna
165353354cdbSmrg		;;
165453354cdbSmrg	*-next )
165553354cdbSmrg		os=-nextstep
165653354cdbSmrg		;;
165753354cdbSmrg	*-sequent)
165853354cdbSmrg		os=-ptx
165953354cdbSmrg		;;
166053354cdbSmrg	*-crds)
166153354cdbSmrg		os=-unos
166253354cdbSmrg		;;
166353354cdbSmrg	*-ns)
166453354cdbSmrg		os=-genix
166553354cdbSmrg		;;
166653354cdbSmrg	i370-*)
166753354cdbSmrg		os=-mvs
166853354cdbSmrg		;;
166953354cdbSmrg	*-next)
167053354cdbSmrg		os=-nextstep3
167153354cdbSmrg		;;
167253354cdbSmrg	*-gould)
167353354cdbSmrg		os=-sysv
167453354cdbSmrg		;;
167553354cdbSmrg	*-highlevel)
167653354cdbSmrg		os=-bsd
167753354cdbSmrg		;;
167853354cdbSmrg	*-encore)
167953354cdbSmrg		os=-bsd
168053354cdbSmrg		;;
168153354cdbSmrg	*-sgi)
168253354cdbSmrg		os=-irix
168353354cdbSmrg		;;
168453354cdbSmrg	*-siemens)
168553354cdbSmrg		os=-sysv4
168653354cdbSmrg		;;
168753354cdbSmrg	*-masscomp)
168853354cdbSmrg		os=-rtu
168953354cdbSmrg		;;
169053354cdbSmrg	f30[01]-fujitsu | f700-fujitsu)
169153354cdbSmrg		os=-uxpv
169253354cdbSmrg		;;
169353354cdbSmrg	*-rom68k)
169453354cdbSmrg		os=-coff
169553354cdbSmrg		;;
169653354cdbSmrg	*-*bug)
169753354cdbSmrg		os=-coff
169853354cdbSmrg		;;
169953354cdbSmrg	*-apple)
170053354cdbSmrg		os=-macos
170153354cdbSmrg		;;
170253354cdbSmrg	*-atari*)
170353354cdbSmrg		os=-mint
170453354cdbSmrg		;;
170553354cdbSmrg	*)
170653354cdbSmrg		os=-none
170753354cdbSmrg		;;
170853354cdbSmrgesac
170953354cdbSmrgfi
171053354cdbSmrg
171153354cdbSmrg# Here we handle the case where we know the os, and the CPU type, but not the
171253354cdbSmrg# manufacturer.  We pick the logical manufacturer.
171353354cdbSmrgvendor=unknown
171453354cdbSmrgcase $basic_machine in
171553354cdbSmrg	*-unknown)
171653354cdbSmrg		case $os in
171753354cdbSmrg			-riscix*)
171853354cdbSmrg				vendor=acorn
171953354cdbSmrg				;;
172053354cdbSmrg			-sunos*)
172153354cdbSmrg				vendor=sun
172253354cdbSmrg				;;
172386bbecbeSmrg			-cnk*|-aix*)
172453354cdbSmrg				vendor=ibm
172553354cdbSmrg				;;
172653354cdbSmrg			-beos*)
172753354cdbSmrg				vendor=be
172853354cdbSmrg				;;
172953354cdbSmrg			-hpux*)
173053354cdbSmrg				vendor=hp
173153354cdbSmrg				;;
173253354cdbSmrg			-mpeix*)
173353354cdbSmrg				vendor=hp
173453354cdbSmrg				;;
173553354cdbSmrg			-hiux*)
173653354cdbSmrg				vendor=hitachi
173753354cdbSmrg				;;
173853354cdbSmrg			-unos*)
173953354cdbSmrg				vendor=crds
174053354cdbSmrg				;;
174153354cdbSmrg			-dgux*)
174253354cdbSmrg				vendor=dg
174353354cdbSmrg				;;
174453354cdbSmrg			-luna*)
174553354cdbSmrg				vendor=omron
174653354cdbSmrg				;;
174753354cdbSmrg			-genix*)
174853354cdbSmrg				vendor=ns
174953354cdbSmrg				;;
175053354cdbSmrg			-mvs* | -opened*)
175153354cdbSmrg				vendor=ibm
175253354cdbSmrg				;;
175353354cdbSmrg			-os400*)
175453354cdbSmrg				vendor=ibm
175553354cdbSmrg				;;
175653354cdbSmrg			-ptx*)
175753354cdbSmrg				vendor=sequent
175853354cdbSmrg				;;
175953354cdbSmrg			-tpf*)
176053354cdbSmrg				vendor=ibm
176153354cdbSmrg				;;
176253354cdbSmrg			-vxsim* | -vxworks* | -windiss*)
176353354cdbSmrg				vendor=wrs
176453354cdbSmrg				;;
176553354cdbSmrg			-aux*)
176653354cdbSmrg				vendor=apple
176753354cdbSmrg				;;
176853354cdbSmrg			-hms*)
176953354cdbSmrg				vendor=hitachi
177053354cdbSmrg				;;
177153354cdbSmrg			-mpw* | -macos*)
177253354cdbSmrg				vendor=apple
177353354cdbSmrg				;;
177453354cdbSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
177553354cdbSmrg				vendor=atari
177653354cdbSmrg				;;
177753354cdbSmrg			-vos*)
177853354cdbSmrg				vendor=stratus
177953354cdbSmrg				;;
178053354cdbSmrg		esac
178153354cdbSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
178253354cdbSmrg		;;
178353354cdbSmrgesac
178453354cdbSmrg
178553354cdbSmrgecho $basic_machine$os
178653354cdbSmrgexit
178753354cdbSmrg
178853354cdbSmrg# Local variables:
178953354cdbSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
179053354cdbSmrg# time-stamp-start: "timestamp='"
179153354cdbSmrg# time-stamp-format: "%:y-%02m-%02d"
179253354cdbSmrg# time-stamp-end: "'"
179353354cdbSmrg# End:
1794