config.sub revision 21525869
172b676d7Smrg#! /bin/sh
272b676d7Smrg# Configuration validation subroutine script.
372b676d7Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
474c14cd6Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
521525869Smrg#   2011 Free Software Foundation, Inc.
672b676d7Smrg
721525869Smrgtimestamp='2011-02-02'
872b676d7Smrg
972b676d7Smrg# This file is (in principle) common to ALL GNU software.
1072b676d7Smrg# The presence of a machine in this file suggests that SOME GNU software
1172b676d7Smrg# can handle that machine.  It does not imply ALL GNU software can.
1272b676d7Smrg#
1372b676d7Smrg# This file is free software; you can redistribute it and/or modify
1472b676d7Smrg# it under the terms of the GNU General Public License as published by
1572b676d7Smrg# the Free Software Foundation; either version 2 of the License, or
1672b676d7Smrg# (at your option) any later version.
1772b676d7Smrg#
1872b676d7Smrg# This program is distributed in the hope that it will be useful,
1972b676d7Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2072b676d7Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2172b676d7Smrg# GNU General Public License for more details.
2272b676d7Smrg#
2372b676d7Smrg# You should have received a copy of the GNU General Public License
2472b676d7Smrg# along with this program; if not, write to the Free Software
2572b676d7Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2672b676d7Smrg# 02110-1301, USA.
2772b676d7Smrg#
2872b676d7Smrg# As a special exception to the GNU General Public License, if you
2972b676d7Smrg# distribute this file as part of a program that contains a
3072b676d7Smrg# configuration script generated by Autoconf, you may include it under
3172b676d7Smrg# the same distribution terms that you use for the rest of that program.
3272b676d7Smrg
3372b676d7Smrg
3472b676d7Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3574c14cd6Smrg# diff and a properly formatted GNU ChangeLog entry.
3672b676d7Smrg#
3772b676d7Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3872b676d7Smrg# Supply the specified configuration type as an argument.
3972b676d7Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4072b676d7Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4172b676d7Smrg
4274c14cd6Smrg# You can get the latest version of this script from:
4374c14cd6Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4474c14cd6Smrg
4572b676d7Smrg# This file is supposed to be the same for all GNU packages
4672b676d7Smrg# and recognize all the CPU types, system types and aliases
4772b676d7Smrg# that are meaningful with *any* GNU software.
4872b676d7Smrg# Each package is responsible for reporting which valid configurations
4972b676d7Smrg# it does not support.  The user should be able to distinguish
5072b676d7Smrg# a failure to support a valid configuration from a meaningless
5172b676d7Smrg# configuration.
5272b676d7Smrg
5372b676d7Smrg# The goal of this file is to map all the various variations of a given
5472b676d7Smrg# machine specification into a single specification in the form:
5572b676d7Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5672b676d7Smrg# or in some cases, the newer four-part form:
5772b676d7Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5872b676d7Smrg# It is wrong to echo any other type of specification.
5972b676d7Smrg
6072b676d7Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6172b676d7Smrg
6272b676d7Smrgusage="\
6372b676d7SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6472b676d7Smrg       $0 [OPTION] ALIAS
6572b676d7Smrg
6672b676d7SmrgCanonicalize a configuration name.
6772b676d7Smrg
6872b676d7SmrgOperation modes:
6972b676d7Smrg  -h, --help         print this help, then exit
7072b676d7Smrg  -t, --time-stamp   print date of last modification, then exit
7172b676d7Smrg  -v, --version      print version number, then exit
7272b676d7Smrg
7372b676d7SmrgReport bugs and patches to <config-patches@gnu.org>."
7472b676d7Smrg
7572b676d7Smrgversion="\
7672b676d7SmrgGNU config.sub ($timestamp)
7772b676d7Smrg
7874c14cd6SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7921525869Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8021525869SmrgSoftware Foundation, Inc.
8172b676d7Smrg
8272b676d7SmrgThis is free software; see the source for copying conditions.  There is NO
8372b676d7Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8472b676d7Smrg
8572b676d7Smrghelp="
8672b676d7SmrgTry \`$me --help' for more information."
8772b676d7Smrg
8872b676d7Smrg# Parse command line
8972b676d7Smrgwhile test $# -gt 0 ; do
9072b676d7Smrg  case $1 in
9172b676d7Smrg    --time-stamp | --time* | -t )
9272b676d7Smrg       echo "$timestamp" ; exit ;;
9372b676d7Smrg    --version | -v )
9472b676d7Smrg       echo "$version" ; exit ;;
9572b676d7Smrg    --help | --h* | -h )
9672b676d7Smrg       echo "$usage"; exit ;;
9772b676d7Smrg    -- )     # Stop option processing
9872b676d7Smrg       shift; break ;;
9972b676d7Smrg    - )	# Use stdin as input.
10072b676d7Smrg       break ;;
10172b676d7Smrg    -* )
10272b676d7Smrg       echo "$me: invalid option $1$help"
10372b676d7Smrg       exit 1 ;;
10472b676d7Smrg
10572b676d7Smrg    *local*)
10672b676d7Smrg       # First pass through any local machine types.
10772b676d7Smrg       echo $1
10872b676d7Smrg       exit ;;
10972b676d7Smrg
11072b676d7Smrg    * )
11172b676d7Smrg       break ;;
11272b676d7Smrg  esac
11372b676d7Smrgdone
11472b676d7Smrg
11572b676d7Smrgcase $# in
11672b676d7Smrg 0) echo "$me: missing argument$help" >&2
11772b676d7Smrg    exit 1;;
11872b676d7Smrg 1) ;;
11972b676d7Smrg *) echo "$me: too many arguments$help" >&2
12072b676d7Smrg    exit 1;;
12172b676d7Smrgesac
12272b676d7Smrg
12372b676d7Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12472b676d7Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12572b676d7Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12672b676d7Smrgcase $maybe_os in
12774c14cd6Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12874c14cd6Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12974c14cd6Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13074c14cd6Smrg  kopensolaris*-gnu* | \
13172b676d7Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13272b676d7Smrg    os=-$maybe_os
13372b676d7Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13472b676d7Smrg    ;;
13572b676d7Smrg  *)
13672b676d7Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13772b676d7Smrg    if [ $basic_machine != $1 ]
13872b676d7Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13972b676d7Smrg    else os=; fi
14072b676d7Smrg    ;;
14172b676d7Smrgesac
14272b676d7Smrg
14372b676d7Smrg### Let's recognize common machines as not being operating systems so
14472b676d7Smrg### that things like config.sub decstation-3100 work.  We also
14572b676d7Smrg### recognize some manufacturers as not being operating systems, so we
14672b676d7Smrg### can provide default operating systems below.
14772b676d7Smrgcase $os in
14872b676d7Smrg	-sun*os*)
14972b676d7Smrg		# Prevent following clause from handling this invalid input.
15072b676d7Smrg		;;
15172b676d7Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15272b676d7Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15372b676d7Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15472b676d7Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15572b676d7Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15672b676d7Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15774c14cd6Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15872b676d7Smrg		os=
15972b676d7Smrg		basic_machine=$1
16072b676d7Smrg		;;
16174c14cd6Smrg	-bluegene*)
16274c14cd6Smrg		os=-cnk
16374c14cd6Smrg		;;
16472b676d7Smrg	-sim | -cisco | -oki | -wec | -winbond)
16572b676d7Smrg		os=
16672b676d7Smrg		basic_machine=$1
16772b676d7Smrg		;;
16872b676d7Smrg	-scout)
16972b676d7Smrg		;;
17072b676d7Smrg	-wrs)
17172b676d7Smrg		os=-vxworks
17272b676d7Smrg		basic_machine=$1
17372b676d7Smrg		;;
17472b676d7Smrg	-chorusos*)
17572b676d7Smrg		os=-chorusos
17672b676d7Smrg		basic_machine=$1
17772b676d7Smrg		;;
17874c14cd6Smrg	-chorusrdb)
17974c14cd6Smrg		os=-chorusrdb
18072b676d7Smrg		basic_machine=$1
18174c14cd6Smrg		;;
18272b676d7Smrg	-hiux*)
18372b676d7Smrg		os=-hiuxwe2
18472b676d7Smrg		;;
18572b676d7Smrg	-sco6)
18672b676d7Smrg		os=-sco5v6
18772b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18872b676d7Smrg		;;
18972b676d7Smrg	-sco5)
19072b676d7Smrg		os=-sco3.2v5
19172b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19272b676d7Smrg		;;
19372b676d7Smrg	-sco4)
19472b676d7Smrg		os=-sco3.2v4
19572b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19672b676d7Smrg		;;
19772b676d7Smrg	-sco3.2.[4-9]*)
19872b676d7Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19972b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20072b676d7Smrg		;;
20172b676d7Smrg	-sco3.2v[4-9]*)
20272b676d7Smrg		# Don't forget version if it is 3.2v4 or newer.
20372b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20472b676d7Smrg		;;
20572b676d7Smrg	-sco5v6*)
20672b676d7Smrg		# Don't forget version if it is 3.2v4 or newer.
20772b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20872b676d7Smrg		;;
20972b676d7Smrg	-sco*)
21072b676d7Smrg		os=-sco3.2v2
21172b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21272b676d7Smrg		;;
21372b676d7Smrg	-udk*)
21472b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21572b676d7Smrg		;;
21672b676d7Smrg	-isc)
21772b676d7Smrg		os=-isc2.2
21872b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21972b676d7Smrg		;;
22072b676d7Smrg	-clix*)
22172b676d7Smrg		basic_machine=clipper-intergraph
22272b676d7Smrg		;;
22372b676d7Smrg	-isc*)
22472b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22572b676d7Smrg		;;
22672b676d7Smrg	-lynx*)
22772b676d7Smrg		os=-lynxos
22872b676d7Smrg		;;
22972b676d7Smrg	-ptx*)
23072b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23172b676d7Smrg		;;
23272b676d7Smrg	-windowsnt*)
23372b676d7Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23472b676d7Smrg		;;
23572b676d7Smrg	-psos*)
23672b676d7Smrg		os=-psos
23772b676d7Smrg		;;
23872b676d7Smrg	-mint | -mint[0-9]*)
23972b676d7Smrg		basic_machine=m68k-atari
24072b676d7Smrg		os=-mint
24172b676d7Smrg		;;
24272b676d7Smrgesac
24372b676d7Smrg
24472b676d7Smrg# Decode aliases for certain CPU-COMPANY combinations.
24572b676d7Smrgcase $basic_machine in
24672b676d7Smrg	# Recognize the basic CPU types without company name.
24772b676d7Smrg	# Some are omitted here because they have special meanings below.
24872b676d7Smrg	1750a | 580 \
24972b676d7Smrg	| a29k \
25072b676d7Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25172b676d7Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25272b676d7Smrg	| am33_2.0 \
2531fd23544Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25472b676d7Smrg	| bfin \
25572b676d7Smrg	| c4x | clipper \
25621525869Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
2571fd23544Smrg	| fido | fr30 | frv \
25872b676d7Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25972b676d7Smrg	| i370 | i860 | i960 | ia64 \
26072b676d7Smrg	| ip2k | iq2000 \
26174c14cd6Smrg	| lm32 \
2621fd23544Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26374c14cd6Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26472b676d7Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26572b676d7Smrg	| mips16 \
26672b676d7Smrg	| mips64 | mips64el \
26774c14cd6Smrg	| mips64octeon | mips64octeonel \
26872b676d7Smrg	| mips64orion | mips64orionel \
26974c14cd6Smrg	| mips64r5900 | mips64r5900el \
27074c14cd6Smrg	| mips64vr | mips64vrel \
27172b676d7Smrg	| mips64vr4100 | mips64vr4100el \
27272b676d7Smrg	| mips64vr4300 | mips64vr4300el \
27372b676d7Smrg	| mips64vr5000 | mips64vr5000el \
27472b676d7Smrg	| mips64vr5900 | mips64vr5900el \
27572b676d7Smrg	| mipsisa32 | mipsisa32el \
27672b676d7Smrg	| mipsisa32r2 | mipsisa32r2el \
27772b676d7Smrg	| mipsisa64 | mipsisa64el \
27872b676d7Smrg	| mipsisa64r2 | mipsisa64r2el \
27972b676d7Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28072b676d7Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28172b676d7Smrg	| mipstx39 | mipstx39el \
28272b676d7Smrg	| mn10200 | mn10300 \
28374c14cd6Smrg	| moxie \
28472b676d7Smrg	| mt \
28572b676d7Smrg	| msp430 \
28674c14cd6Smrg	| nds32 | nds32le | nds32be \
28772b676d7Smrg	| nios | nios2 \
28872b676d7Smrg	| ns16k | ns32k \
28972b676d7Smrg	| or32 \
29072b676d7Smrg	| pdp10 | pdp11 | pj | pjl \
29121525869Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29272b676d7Smrg	| pyramid \
29321525869Smrg	| rx \
2941fd23544Smrg	| score \
29574c14cd6Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29672b676d7Smrg	| sh64 | sh64le \
2971fd23544Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2981fd23544Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29921525869Smrg	| spu | strongarm \
30021525869Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30174c14cd6Smrg	| ubicom32 \
30221525869Smrg	| v850 | v850e \
30372b676d7Smrg	| we32k \
30421525869Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30574c14cd6Smrg	| z8k | z80)
30672b676d7Smrg		basic_machine=$basic_machine-unknown
30772b676d7Smrg		;;
30874c14cd6Smrg	c54x)
30974c14cd6Smrg		basic_machine=tic54x-unknown
31074c14cd6Smrg		;;
31174c14cd6Smrg	c55x)
31274c14cd6Smrg		basic_machine=tic55x-unknown
31374c14cd6Smrg		;;
31474c14cd6Smrg	c6x)
31574c14cd6Smrg		basic_machine=tic6x-unknown
31674c14cd6Smrg		;;
31774c14cd6Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31821525869Smrg		# Motorola 68HC11/12.
31972b676d7Smrg		basic_machine=$basic_machine-unknown
32072b676d7Smrg		os=-none
32172b676d7Smrg		;;
32272b676d7Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32372b676d7Smrg		;;
32472b676d7Smrg	ms1)
32572b676d7Smrg		basic_machine=mt-unknown
32672b676d7Smrg		;;
32772b676d7Smrg
32872b676d7Smrg	# We use `pc' rather than `unknown'
32972b676d7Smrg	# because (1) that's what they normally are, and
33072b676d7Smrg	# (2) the word "unknown" tends to confuse beginning users.
33172b676d7Smrg	i*86 | x86_64)
33272b676d7Smrg	  basic_machine=$basic_machine-pc
33372b676d7Smrg	  ;;
33472b676d7Smrg	# Object if more than one company name word.
33572b676d7Smrg	*-*-*)
33672b676d7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33772b676d7Smrg		exit 1
33872b676d7Smrg		;;
33972b676d7Smrg	# Recognize the basic CPU types with company name.
34072b676d7Smrg	580-* \
34172b676d7Smrg	| a29k-* \
34272b676d7Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34372b676d7Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34472b676d7Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34572b676d7Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3461fd23544Smrg	| avr-* | avr32-* \
34772b676d7Smrg	| bfin-* | bs2000-* \
34874c14cd6Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34972b676d7Smrg	| clipper-* | craynv-* | cydra-* \
35072b676d7Smrg	| d10v-* | d30v-* | dlx-* \
35172b676d7Smrg	| elxsi-* \
3521fd23544Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35372b676d7Smrg	| h8300-* | h8500-* \
35472b676d7Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35572b676d7Smrg	| i*86-* | i860-* | i960-* | ia64-* \
35672b676d7Smrg	| ip2k-* | iq2000-* \
35774c14cd6Smrg	| lm32-* \
3581fd23544Smrg	| m32c-* | m32r-* | m32rle-* \
35972b676d7Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36074c14cd6Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36172b676d7Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36272b676d7Smrg	| mips16-* \
36372b676d7Smrg	| mips64-* | mips64el-* \
36474c14cd6Smrg	| mips64octeon-* | mips64octeonel-* \
36572b676d7Smrg	| mips64orion-* | mips64orionel-* \
36674c14cd6Smrg	| mips64r5900-* | mips64r5900el-* \
36774c14cd6Smrg	| mips64vr-* | mips64vrel-* \
36872b676d7Smrg	| mips64vr4100-* | mips64vr4100el-* \
36972b676d7Smrg	| mips64vr4300-* | mips64vr4300el-* \
37072b676d7Smrg	| mips64vr5000-* | mips64vr5000el-* \
37172b676d7Smrg	| mips64vr5900-* | mips64vr5900el-* \
37272b676d7Smrg	| mipsisa32-* | mipsisa32el-* \
37372b676d7Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
37472b676d7Smrg	| mipsisa64-* | mipsisa64el-* \
37572b676d7Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
37672b676d7Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37772b676d7Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37872b676d7Smrg	| mipstx39-* | mipstx39el-* \
37972b676d7Smrg	| mmix-* \
38072b676d7Smrg	| mt-* \
38172b676d7Smrg	| msp430-* \
38274c14cd6Smrg	| nds32-* | nds32le-* | nds32be-* \
38372b676d7Smrg	| nios-* | nios2-* \
38472b676d7Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
38572b676d7Smrg	| orion-* \
38672b676d7Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38721525869Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38872b676d7Smrg	| pyramid-* \
38921525869Smrg	| romp-* | rs6000-* | rx-* \
39074c14cd6Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39172b676d7Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3921fd23544Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39372b676d7Smrg	| sparclite-* \
39421525869Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39521525869Smrg	| tahoe-* | thumb-* \
39672b676d7Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39721525869Smrg	| tile-* | tilegx-* \
39872b676d7Smrg	| tron-* \
39974c14cd6Smrg	| ubicom32-* \
40021525869Smrg	| v850-* | v850e-* | vax-* \
40172b676d7Smrg	| we32k-* \
40221525869Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4031fd23544Smrg	| xstormy16-* | xtensa*-* \
40472b676d7Smrg	| ymp-* \
40574c14cd6Smrg	| z8k-* | z80-*)
40672b676d7Smrg		;;
4071fd23544Smrg	# Recognize the basic CPU types without company name, with glob match.
4081fd23544Smrg	xtensa*)
4091fd23544Smrg		basic_machine=$basic_machine-unknown
41072b676d7Smrg		;;
41172b676d7Smrg	# Recognize the various machine names and aliases which stand
41272b676d7Smrg	# for a CPU type and a company and sometimes even an OS.
41372b676d7Smrg	386bsd)
41472b676d7Smrg		basic_machine=i386-unknown
41572b676d7Smrg		os=-bsd
41672b676d7Smrg		;;
41772b676d7Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41872b676d7Smrg		basic_machine=m68000-att
41972b676d7Smrg		;;
42072b676d7Smrg	3b*)
42172b676d7Smrg		basic_machine=we32k-att
42272b676d7Smrg		;;
42372b676d7Smrg	a29khif)
42472b676d7Smrg		basic_machine=a29k-amd
42572b676d7Smrg		os=-udi
42672b676d7Smrg		;;
42774c14cd6Smrg	abacus)
42872b676d7Smrg		basic_machine=abacus-unknown
42972b676d7Smrg		;;
43072b676d7Smrg	adobe68k)
43172b676d7Smrg		basic_machine=m68010-adobe
43272b676d7Smrg		os=-scout
43372b676d7Smrg		;;
43472b676d7Smrg	alliant | fx80)
43572b676d7Smrg		basic_machine=fx80-alliant
43672b676d7Smrg		;;
43772b676d7Smrg	altos | altos3068)
43872b676d7Smrg		basic_machine=m68k-altos
43972b676d7Smrg		;;
44072b676d7Smrg	am29k)
44172b676d7Smrg		basic_machine=a29k-none
44272b676d7Smrg		os=-bsd
44372b676d7Smrg		;;
44472b676d7Smrg	amd64)
44572b676d7Smrg		basic_machine=x86_64-pc
44672b676d7Smrg		;;
44772b676d7Smrg	amd64-*)
44872b676d7Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44972b676d7Smrg		;;
45072b676d7Smrg	amdahl)
45172b676d7Smrg		basic_machine=580-amdahl
45272b676d7Smrg		os=-sysv
45372b676d7Smrg		;;
45472b676d7Smrg	amiga | amiga-*)
45572b676d7Smrg		basic_machine=m68k-unknown
45672b676d7Smrg		;;
45772b676d7Smrg	amigaos | amigados)
45872b676d7Smrg		basic_machine=m68k-unknown
45972b676d7Smrg		os=-amigaos
46072b676d7Smrg		;;
46172b676d7Smrg	amigaunix | amix)
46272b676d7Smrg		basic_machine=m68k-unknown
46372b676d7Smrg		os=-sysv4
46472b676d7Smrg		;;
46572b676d7Smrg	apollo68)
46672b676d7Smrg		basic_machine=m68k-apollo
46772b676d7Smrg		os=-sysv
46872b676d7Smrg		;;
46972b676d7Smrg	apollo68bsd)
47072b676d7Smrg		basic_machine=m68k-apollo
47172b676d7Smrg		os=-bsd
47272b676d7Smrg		;;
47374c14cd6Smrg	aros)
47474c14cd6Smrg		basic_machine=i386-pc
47574c14cd6Smrg		os=-aros
47674c14cd6Smrg		;;
47772b676d7Smrg	aux)
47872b676d7Smrg		basic_machine=m68k-apple
47972b676d7Smrg		os=-aux
48072b676d7Smrg		;;
48172b676d7Smrg	balance)
48272b676d7Smrg		basic_machine=ns32k-sequent
48372b676d7Smrg		os=-dynix
48472b676d7Smrg		;;
4851fd23544Smrg	blackfin)
4861fd23544Smrg		basic_machine=bfin-unknown
4871fd23544Smrg		os=-linux
4881fd23544Smrg		;;
4891fd23544Smrg	blackfin-*)
4901fd23544Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4911fd23544Smrg		os=-linux
4921fd23544Smrg		;;
49374c14cd6Smrg	bluegene*)
49474c14cd6Smrg		basic_machine=powerpc-ibm
49574c14cd6Smrg		os=-cnk
49674c14cd6Smrg		;;
49774c14cd6Smrg	c54x-*)
49874c14cd6Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49974c14cd6Smrg		;;
50074c14cd6Smrg	c55x-*)
50174c14cd6Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50274c14cd6Smrg		;;
50374c14cd6Smrg	c6x-*)
50474c14cd6Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50574c14cd6Smrg		;;
50672b676d7Smrg	c90)
50772b676d7Smrg		basic_machine=c90-cray
50872b676d7Smrg		os=-unicos
50972b676d7Smrg		;;
51074c14cd6Smrg	cegcc)
51174c14cd6Smrg		basic_machine=arm-unknown
51274c14cd6Smrg		os=-cegcc
51374c14cd6Smrg		;;
51472b676d7Smrg	convex-c1)
51572b676d7Smrg		basic_machine=c1-convex
51672b676d7Smrg		os=-bsd
51772b676d7Smrg		;;
51872b676d7Smrg	convex-c2)
51972b676d7Smrg		basic_machine=c2-convex
52072b676d7Smrg		os=-bsd
52172b676d7Smrg		;;
52272b676d7Smrg	convex-c32)
52372b676d7Smrg		basic_machine=c32-convex
52472b676d7Smrg		os=-bsd
52572b676d7Smrg		;;
52672b676d7Smrg	convex-c34)
52772b676d7Smrg		basic_machine=c34-convex
52872b676d7Smrg		os=-bsd
52972b676d7Smrg		;;
53072b676d7Smrg	convex-c38)
53172b676d7Smrg		basic_machine=c38-convex
53272b676d7Smrg		os=-bsd
53372b676d7Smrg		;;
53472b676d7Smrg	cray | j90)
53572b676d7Smrg		basic_machine=j90-cray
53672b676d7Smrg		os=-unicos
53772b676d7Smrg		;;
53872b676d7Smrg	craynv)
53972b676d7Smrg		basic_machine=craynv-cray
54072b676d7Smrg		os=-unicosmp
54172b676d7Smrg		;;
54274c14cd6Smrg	cr16 | cr16-*)
5431fd23544Smrg		basic_machine=cr16-unknown
54472b676d7Smrg		os=-elf
54572b676d7Smrg		;;
54672b676d7Smrg	crds | unos)
54772b676d7Smrg		basic_machine=m68k-crds
54872b676d7Smrg		;;
54972b676d7Smrg	crisv32 | crisv32-* | etraxfs*)
55072b676d7Smrg		basic_machine=crisv32-axis
55172b676d7Smrg		;;
55272b676d7Smrg	cris | cris-* | etrax*)
55372b676d7Smrg		basic_machine=cris-axis
55472b676d7Smrg		;;
55572b676d7Smrg	crx)
55672b676d7Smrg		basic_machine=crx-unknown
55772b676d7Smrg		os=-elf
55872b676d7Smrg		;;
55972b676d7Smrg	da30 | da30-*)
56072b676d7Smrg		basic_machine=m68k-da30
56172b676d7Smrg		;;
56272b676d7Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56372b676d7Smrg		basic_machine=mips-dec
56472b676d7Smrg		;;
56572b676d7Smrg	decsystem10* | dec10*)
56672b676d7Smrg		basic_machine=pdp10-dec
56772b676d7Smrg		os=-tops10
56872b676d7Smrg		;;
56972b676d7Smrg	decsystem20* | dec20*)
57072b676d7Smrg		basic_machine=pdp10-dec
57172b676d7Smrg		os=-tops20
57272b676d7Smrg		;;
57372b676d7Smrg	delta | 3300 | motorola-3300 | motorola-delta \
57472b676d7Smrg	      | 3300-motorola | delta-motorola)
57572b676d7Smrg		basic_machine=m68k-motorola
57672b676d7Smrg		;;
57772b676d7Smrg	delta88)
57872b676d7Smrg		basic_machine=m88k-motorola
57972b676d7Smrg		os=-sysv3
58072b676d7Smrg		;;
58174c14cd6Smrg	dicos)
58274c14cd6Smrg		basic_machine=i686-pc
58374c14cd6Smrg		os=-dicos
58474c14cd6Smrg		;;
58572b676d7Smrg	djgpp)
58672b676d7Smrg		basic_machine=i586-pc
58772b676d7Smrg		os=-msdosdjgpp
58872b676d7Smrg		;;
58972b676d7Smrg	dpx20 | dpx20-*)
59072b676d7Smrg		basic_machine=rs6000-bull
59172b676d7Smrg		os=-bosx
59272b676d7Smrg		;;
59372b676d7Smrg	dpx2* | dpx2*-bull)
59472b676d7Smrg		basic_machine=m68k-bull
59572b676d7Smrg		os=-sysv3
59672b676d7Smrg		;;
59772b676d7Smrg	ebmon29k)
59872b676d7Smrg		basic_machine=a29k-amd
59972b676d7Smrg		os=-ebmon
60072b676d7Smrg		;;
60172b676d7Smrg	elxsi)
60272b676d7Smrg		basic_machine=elxsi-elxsi
60372b676d7Smrg		os=-bsd
60472b676d7Smrg		;;
60572b676d7Smrg	encore | umax | mmax)
60672b676d7Smrg		basic_machine=ns32k-encore
60772b676d7Smrg		;;
60872b676d7Smrg	es1800 | OSE68k | ose68k | ose | OSE)
60972b676d7Smrg		basic_machine=m68k-ericsson
61072b676d7Smrg		os=-ose
61172b676d7Smrg		;;
61272b676d7Smrg	fx2800)
61372b676d7Smrg		basic_machine=i860-alliant
61472b676d7Smrg		;;
61572b676d7Smrg	genix)
61672b676d7Smrg		basic_machine=ns32k-ns
61772b676d7Smrg		;;
61872b676d7Smrg	gmicro)
61972b676d7Smrg		basic_machine=tron-gmicro
62072b676d7Smrg		os=-sysv
62172b676d7Smrg		;;
62272b676d7Smrg	go32)
62372b676d7Smrg		basic_machine=i386-pc
62472b676d7Smrg		os=-go32
62572b676d7Smrg		;;
62672b676d7Smrg	h3050r* | hiux*)
62772b676d7Smrg		basic_machine=hppa1.1-hitachi
62872b676d7Smrg		os=-hiuxwe2
62972b676d7Smrg		;;
63072b676d7Smrg	h8300hms)
63172b676d7Smrg		basic_machine=h8300-hitachi
63272b676d7Smrg		os=-hms
63372b676d7Smrg		;;
63472b676d7Smrg	h8300xray)
63572b676d7Smrg		basic_machine=h8300-hitachi
63672b676d7Smrg		os=-xray
63772b676d7Smrg		;;
63872b676d7Smrg	h8500hms)
63972b676d7Smrg		basic_machine=h8500-hitachi
64072b676d7Smrg		os=-hms
64172b676d7Smrg		;;
64272b676d7Smrg	harris)
64372b676d7Smrg		basic_machine=m88k-harris
64472b676d7Smrg		os=-sysv3
64572b676d7Smrg		;;
64672b676d7Smrg	hp300-*)
64772b676d7Smrg		basic_machine=m68k-hp
64872b676d7Smrg		;;
64972b676d7Smrg	hp300bsd)
65072b676d7Smrg		basic_machine=m68k-hp
65172b676d7Smrg		os=-bsd
65272b676d7Smrg		;;
65372b676d7Smrg	hp300hpux)
65472b676d7Smrg		basic_machine=m68k-hp
65572b676d7Smrg		os=-hpux
65672b676d7Smrg		;;
65772b676d7Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65872b676d7Smrg		basic_machine=hppa1.0-hp
65972b676d7Smrg		;;
66072b676d7Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66172b676d7Smrg		basic_machine=m68000-hp
66272b676d7Smrg		;;
66372b676d7Smrg	hp9k3[2-9][0-9])
66472b676d7Smrg		basic_machine=m68k-hp
66572b676d7Smrg		;;
66672b676d7Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66772b676d7Smrg		basic_machine=hppa1.0-hp
66872b676d7Smrg		;;
66972b676d7Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67072b676d7Smrg		basic_machine=hppa1.1-hp
67172b676d7Smrg		;;
67272b676d7Smrg	hp9k78[0-9] | hp78[0-9])
67372b676d7Smrg		# FIXME: really hppa2.0-hp
67472b676d7Smrg		basic_machine=hppa1.1-hp
67572b676d7Smrg		;;
67672b676d7Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67772b676d7Smrg		# FIXME: really hppa2.0-hp
67872b676d7Smrg		basic_machine=hppa1.1-hp
67972b676d7Smrg		;;
68072b676d7Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68172b676d7Smrg		basic_machine=hppa1.1-hp
68272b676d7Smrg		;;
68372b676d7Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68472b676d7Smrg		basic_machine=hppa1.0-hp
68572b676d7Smrg		;;
68672b676d7Smrg	hppa-next)
68772b676d7Smrg		os=-nextstep3
68872b676d7Smrg		;;
68972b676d7Smrg	hppaosf)
69072b676d7Smrg		basic_machine=hppa1.1-hp
69172b676d7Smrg		os=-osf
69272b676d7Smrg		;;
69372b676d7Smrg	hppro)
69472b676d7Smrg		basic_machine=hppa1.1-hp
69572b676d7Smrg		os=-proelf
69672b676d7Smrg		;;
69772b676d7Smrg	i370-ibm* | ibm*)
69872b676d7Smrg		basic_machine=i370-ibm
69972b676d7Smrg		;;
70021525869Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70172b676d7Smrg	i*86v32)
70272b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70372b676d7Smrg		os=-sysv32
70472b676d7Smrg		;;
70572b676d7Smrg	i*86v4*)
70672b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70772b676d7Smrg		os=-sysv4
70872b676d7Smrg		;;
70972b676d7Smrg	i*86v)
71072b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71172b676d7Smrg		os=-sysv
71272b676d7Smrg		;;
71372b676d7Smrg	i*86sol2)
71472b676d7Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71572b676d7Smrg		os=-solaris2
71672b676d7Smrg		;;
71772b676d7Smrg	i386mach)
71872b676d7Smrg		basic_machine=i386-mach
71972b676d7Smrg		os=-mach
72072b676d7Smrg		;;
72172b676d7Smrg	i386-vsta | vsta)
72272b676d7Smrg		basic_machine=i386-unknown
72372b676d7Smrg		os=-vsta
72472b676d7Smrg		;;
72572b676d7Smrg	iris | iris4d)
72672b676d7Smrg		basic_machine=mips-sgi
72772b676d7Smrg		case $os in
72872b676d7Smrg		    -irix*)
72972b676d7Smrg			;;
73072b676d7Smrg		    *)
73172b676d7Smrg			os=-irix4
73272b676d7Smrg			;;
73372b676d7Smrg		esac
73472b676d7Smrg		;;
73572b676d7Smrg	isi68 | isi)
73672b676d7Smrg		basic_machine=m68k-isi
73772b676d7Smrg		os=-sysv
73872b676d7Smrg		;;
7391fd23544Smrg	m68knommu)
7401fd23544Smrg		basic_machine=m68k-unknown
7411fd23544Smrg		os=-linux
7421fd23544Smrg		;;
7431fd23544Smrg	m68knommu-*)
7441fd23544Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7451fd23544Smrg		os=-linux
7461fd23544Smrg		;;
74772b676d7Smrg	m88k-omron*)
74872b676d7Smrg		basic_machine=m88k-omron
74972b676d7Smrg		;;
75072b676d7Smrg	magnum | m3230)
75172b676d7Smrg		basic_machine=mips-mips
75272b676d7Smrg		os=-sysv
75372b676d7Smrg		;;
75472b676d7Smrg	merlin)
75572b676d7Smrg		basic_machine=ns32k-utek
75672b676d7Smrg		os=-sysv
75772b676d7Smrg		;;
75874c14cd6Smrg	microblaze)
75974c14cd6Smrg		basic_machine=microblaze-xilinx
76074c14cd6Smrg		;;
76172b676d7Smrg	mingw32)
76272b676d7Smrg		basic_machine=i386-pc
76372b676d7Smrg		os=-mingw32
76472b676d7Smrg		;;
7651fd23544Smrg	mingw32ce)
7661fd23544Smrg		basic_machine=arm-unknown
7671fd23544Smrg		os=-mingw32ce
7681fd23544Smrg		;;
76972b676d7Smrg	miniframe)
77072b676d7Smrg		basic_machine=m68000-convergent
77172b676d7Smrg		;;
77272b676d7Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77372b676d7Smrg		basic_machine=m68k-atari
77472b676d7Smrg		os=-mint
77572b676d7Smrg		;;
77621525869Smrg	mipsEE* | ee | ps2)
77721525869Smrg		basic_machine=mips64r5900el-scei
77821525869Smrg		case $os in
77921525869Smrg		    -linux*)
78021525869Smrg			;;
78121525869Smrg		    *)
78221525869Smrg			os=-elf
78321525869Smrg			;;
78421525869Smrg		esac
78521525869Smrg		;;
78621525869Smrg	iop)
78721525869Smrg		basic_machine=mipsel-scei
78821525869Smrg		os=-irx
78921525869Smrg		;;
79021525869Smrg	dvp)
79121525869Smrg		basic_machine=dvp-scei
79221525869Smrg		os=-elf
79321525869Smrg		;;
79472b676d7Smrg	mips3*-*)
79572b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
79672b676d7Smrg		;;
79772b676d7Smrg	mips3*)
79872b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
79972b676d7Smrg		;;
80072b676d7Smrg	monitor)
80172b676d7Smrg		basic_machine=m68k-rom68k
80272b676d7Smrg		os=-coff
80372b676d7Smrg		;;
80472b676d7Smrg	morphos)
80572b676d7Smrg		basic_machine=powerpc-unknown
80672b676d7Smrg		os=-morphos
80772b676d7Smrg		;;
80872b676d7Smrg	msdos)
80972b676d7Smrg		basic_machine=i386-pc
81072b676d7Smrg		os=-msdos
81172b676d7Smrg		;;
81272b676d7Smrg	ms1-*)
81372b676d7Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81472b676d7Smrg		;;
81572b676d7Smrg	mvs)
81672b676d7Smrg		basic_machine=i370-ibm
81772b676d7Smrg		os=-mvs
81872b676d7Smrg		;;
81972b676d7Smrg	ncr3000)
82072b676d7Smrg		basic_machine=i486-ncr
82172b676d7Smrg		os=-sysv4
82272b676d7Smrg		;;
82372b676d7Smrg	netbsd386)
82472b676d7Smrg		basic_machine=i386-unknown
82572b676d7Smrg		os=-netbsd
82672b676d7Smrg		;;
82772b676d7Smrg	netwinder)
82872b676d7Smrg		basic_machine=armv4l-rebel
82972b676d7Smrg		os=-linux
83072b676d7Smrg		;;
83172b676d7Smrg	news | news700 | news800 | news900)
83272b676d7Smrg		basic_machine=m68k-sony
83372b676d7Smrg		os=-newsos
83472b676d7Smrg		;;
83572b676d7Smrg	news1000)
83672b676d7Smrg		basic_machine=m68030-sony
83772b676d7Smrg		os=-newsos
83872b676d7Smrg		;;
83972b676d7Smrg	news-3600 | risc-news)
84072b676d7Smrg		basic_machine=mips-sony
84172b676d7Smrg		os=-newsos
84272b676d7Smrg		;;
84372b676d7Smrg	necv70)
84472b676d7Smrg		basic_machine=v70-nec
84572b676d7Smrg		os=-sysv
84672b676d7Smrg		;;
84772b676d7Smrg	next | m*-next )
84872b676d7Smrg		basic_machine=m68k-next
84972b676d7Smrg		case $os in
85072b676d7Smrg		    -nextstep* )
85172b676d7Smrg			;;
85272b676d7Smrg		    -ns2*)
85372b676d7Smrg		      os=-nextstep2
85472b676d7Smrg			;;
85572b676d7Smrg		    *)
85672b676d7Smrg		      os=-nextstep3
85772b676d7Smrg			;;
85872b676d7Smrg		esac
85972b676d7Smrg		;;
86072b676d7Smrg	nh3000)
86172b676d7Smrg		basic_machine=m68k-harris
86272b676d7Smrg		os=-cxux
86372b676d7Smrg		;;
86472b676d7Smrg	nh[45]000)
86572b676d7Smrg		basic_machine=m88k-harris
86672b676d7Smrg		os=-cxux
86772b676d7Smrg		;;
86872b676d7Smrg	nindy960)
86972b676d7Smrg		basic_machine=i960-intel
87072b676d7Smrg		os=-nindy
87172b676d7Smrg		;;
87272b676d7Smrg	mon960)
87372b676d7Smrg		basic_machine=i960-intel
87472b676d7Smrg		os=-mon960
87572b676d7Smrg		;;
87672b676d7Smrg	nonstopux)
87772b676d7Smrg		basic_machine=mips-compaq
87872b676d7Smrg		os=-nonstopux
87972b676d7Smrg		;;
88072b676d7Smrg	np1)
88172b676d7Smrg		basic_machine=np1-gould
88272b676d7Smrg		;;
88374c14cd6Smrg	neo-tandem)
88474c14cd6Smrg		basic_machine=neo-tandem
88574c14cd6Smrg		;;
88674c14cd6Smrg	nse-tandem)
88774c14cd6Smrg		basic_machine=nse-tandem
88874c14cd6Smrg		;;
88972b676d7Smrg	nsr-tandem)
89072b676d7Smrg		basic_machine=nsr-tandem
89172b676d7Smrg		;;
89272b676d7Smrg	op50n-* | op60c-*)
89372b676d7Smrg		basic_machine=hppa1.1-oki
89472b676d7Smrg		os=-proelf
89572b676d7Smrg		;;
89672b676d7Smrg	openrisc | openrisc-*)
89772b676d7Smrg		basic_machine=or32-unknown
89872b676d7Smrg		;;
89972b676d7Smrg	os400)
90072b676d7Smrg		basic_machine=powerpc-ibm
90172b676d7Smrg		os=-os400
90272b676d7Smrg		;;
90372b676d7Smrg	OSE68000 | ose68000)
90472b676d7Smrg		basic_machine=m68000-ericsson
90572b676d7Smrg		os=-ose
90672b676d7Smrg		;;
90772b676d7Smrg	os68k)
90872b676d7Smrg		basic_machine=m68k-none
90972b676d7Smrg		os=-os68k
91072b676d7Smrg		;;
91172b676d7Smrg	pa-hitachi)
91272b676d7Smrg		basic_machine=hppa1.1-hitachi
91372b676d7Smrg		os=-hiuxwe2
91472b676d7Smrg		;;
91572b676d7Smrg	paragon)
91672b676d7Smrg		basic_machine=i860-intel
91772b676d7Smrg		os=-osf
91872b676d7Smrg		;;
9191fd23544Smrg	parisc)
9201fd23544Smrg		basic_machine=hppa-unknown
9211fd23544Smrg		os=-linux
9221fd23544Smrg		;;
9231fd23544Smrg	parisc-*)
9241fd23544Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9251fd23544Smrg		os=-linux
9261fd23544Smrg		;;
92772b676d7Smrg	pbd)
92872b676d7Smrg		basic_machine=sparc-tti
92972b676d7Smrg		;;
93072b676d7Smrg	pbb)
93172b676d7Smrg		basic_machine=m68k-tti
93272b676d7Smrg		;;
93372b676d7Smrg	pc532 | pc532-*)
93472b676d7Smrg		basic_machine=ns32k-pc532
93572b676d7Smrg		;;
93672b676d7Smrg	pc98)
93772b676d7Smrg		basic_machine=i386-pc
93872b676d7Smrg		;;
93972b676d7Smrg	pc98-*)
94072b676d7Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
94172b676d7Smrg		;;
94272b676d7Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
94372b676d7Smrg		basic_machine=i586-pc
94472b676d7Smrg		;;
94572b676d7Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
94672b676d7Smrg		basic_machine=i686-pc
94772b676d7Smrg		;;
94872b676d7Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
94972b676d7Smrg		basic_machine=i686-pc
95072b676d7Smrg		;;
95172b676d7Smrg	pentium4)
95272b676d7Smrg		basic_machine=i786-pc
95372b676d7Smrg		;;
95472b676d7Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
95572b676d7Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
95672b676d7Smrg		;;
95772b676d7Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
95872b676d7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
95972b676d7Smrg		;;
96072b676d7Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
96172b676d7Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
96272b676d7Smrg		;;
96372b676d7Smrg	pentium4-*)
96472b676d7Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
96572b676d7Smrg		;;
96672b676d7Smrg	pn)
96772b676d7Smrg		basic_machine=pn-gould
96872b676d7Smrg		;;
96972b676d7Smrg	power)	basic_machine=power-ibm
97072b676d7Smrg		;;
97121525869Smrg	ppc)	basic_machine=powerpc-unknown
97272b676d7Smrg		;;
97321525869Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
97472b676d7Smrg		;;
97572b676d7Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
97672b676d7Smrg		basic_machine=powerpcle-unknown
97772b676d7Smrg		;;
97872b676d7Smrg	ppcle-* | powerpclittle-*)
97972b676d7Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
98072b676d7Smrg		;;
98172b676d7Smrg	ppc64)	basic_machine=powerpc64-unknown
98272b676d7Smrg		;;
98372b676d7Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
98472b676d7Smrg		;;
98572b676d7Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
98672b676d7Smrg		basic_machine=powerpc64le-unknown
98772b676d7Smrg		;;
98872b676d7Smrg	ppc64le-* | powerpc64little-*)
98972b676d7Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
99072b676d7Smrg		;;
99172b676d7Smrg	ps2)
99272b676d7Smrg		basic_machine=i386-ibm
99372b676d7Smrg		;;
99472b676d7Smrg	pw32)
99572b676d7Smrg		basic_machine=i586-unknown
99672b676d7Smrg		os=-pw32
99772b676d7Smrg		;;
99872b676d7Smrg	rdos)
99972b676d7Smrg		basic_machine=i386-pc
100072b676d7Smrg		os=-rdos
100172b676d7Smrg		;;
100272b676d7Smrg	rom68k)
100372b676d7Smrg		basic_machine=m68k-rom68k
100472b676d7Smrg		os=-coff
100572b676d7Smrg		;;
100672b676d7Smrg	rm[46]00)
100772b676d7Smrg		basic_machine=mips-siemens
100872b676d7Smrg		;;
100972b676d7Smrg	rtpc | rtpc-*)
101072b676d7Smrg		basic_machine=romp-ibm
101172b676d7Smrg		;;
101272b676d7Smrg	s390 | s390-*)
101372b676d7Smrg		basic_machine=s390-ibm
101472b676d7Smrg		;;
101572b676d7Smrg	s390x | s390x-*)
101672b676d7Smrg		basic_machine=s390x-ibm
101772b676d7Smrg		;;
101872b676d7Smrg	sa29200)
101972b676d7Smrg		basic_machine=a29k-amd
102072b676d7Smrg		os=-udi
102172b676d7Smrg		;;
102272b676d7Smrg	sb1)
102372b676d7Smrg		basic_machine=mipsisa64sb1-unknown
102472b676d7Smrg		;;
102572b676d7Smrg	sb1el)
102672b676d7Smrg		basic_machine=mipsisa64sb1el-unknown
102772b676d7Smrg		;;
10281fd23544Smrg	sde)
10291fd23544Smrg		basic_machine=mipsisa32-sde
10301fd23544Smrg		os=-elf
10311fd23544Smrg		;;
103272b676d7Smrg	sei)
103372b676d7Smrg		basic_machine=mips-sei
103472b676d7Smrg		os=-seiux
103572b676d7Smrg		;;
103672b676d7Smrg	sequent)
103772b676d7Smrg		basic_machine=i386-sequent
103872b676d7Smrg		;;
103972b676d7Smrg	sh)
104072b676d7Smrg		basic_machine=sh-hitachi
104172b676d7Smrg		os=-hms
104272b676d7Smrg		;;
10431fd23544Smrg	sh5el)
10441fd23544Smrg		basic_machine=sh5le-unknown
10451fd23544Smrg		;;
104672b676d7Smrg	sh64)
104772b676d7Smrg		basic_machine=sh64-unknown
104872b676d7Smrg		;;
104972b676d7Smrg	sparclite-wrs | simso-wrs)
105072b676d7Smrg		basic_machine=sparclite-wrs
105172b676d7Smrg		os=-vxworks
105272b676d7Smrg		;;
105372b676d7Smrg	sps7)
105472b676d7Smrg		basic_machine=m68k-bull
105572b676d7Smrg		os=-sysv2
105672b676d7Smrg		;;
105772b676d7Smrg	spur)
105872b676d7Smrg		basic_machine=spur-unknown
105972b676d7Smrg		;;
106072b676d7Smrg	st2000)
106172b676d7Smrg		basic_machine=m68k-tandem
106272b676d7Smrg		;;
106372b676d7Smrg	stratus)
106472b676d7Smrg		basic_machine=i860-stratus
106572b676d7Smrg		os=-sysv4
106672b676d7Smrg		;;
106772b676d7Smrg	sun2)
106872b676d7Smrg		basic_machine=m68000-sun
106972b676d7Smrg		;;
107072b676d7Smrg	sun2os3)
107172b676d7Smrg		basic_machine=m68000-sun
107272b676d7Smrg		os=-sunos3
107372b676d7Smrg		;;
107472b676d7Smrg	sun2os4)
107572b676d7Smrg		basic_machine=m68000-sun
107672b676d7Smrg		os=-sunos4
107772b676d7Smrg		;;
107872b676d7Smrg	sun3os3)
107972b676d7Smrg		basic_machine=m68k-sun
108072b676d7Smrg		os=-sunos3
108172b676d7Smrg		;;
108272b676d7Smrg	sun3os4)
108372b676d7Smrg		basic_machine=m68k-sun
108472b676d7Smrg		os=-sunos4
108572b676d7Smrg		;;
108672b676d7Smrg	sun4os3)
108772b676d7Smrg		basic_machine=sparc-sun
108872b676d7Smrg		os=-sunos3
108972b676d7Smrg		;;
109072b676d7Smrg	sun4os4)
109172b676d7Smrg		basic_machine=sparc-sun
109272b676d7Smrg		os=-sunos4
109372b676d7Smrg		;;
109472b676d7Smrg	sun4sol2)
109572b676d7Smrg		basic_machine=sparc-sun
109672b676d7Smrg		os=-solaris2
109772b676d7Smrg		;;
109872b676d7Smrg	sun3 | sun3-*)
109972b676d7Smrg		basic_machine=m68k-sun
110072b676d7Smrg		;;
110172b676d7Smrg	sun4)
110272b676d7Smrg		basic_machine=sparc-sun
110372b676d7Smrg		;;
110472b676d7Smrg	sun386 | sun386i | roadrunner)
110572b676d7Smrg		basic_machine=i386-sun
110672b676d7Smrg		;;
110772b676d7Smrg	sv1)
110872b676d7Smrg		basic_machine=sv1-cray
110972b676d7Smrg		os=-unicos
111072b676d7Smrg		;;
111172b676d7Smrg	symmetry)
111272b676d7Smrg		basic_machine=i386-sequent
111372b676d7Smrg		os=-dynix
111472b676d7Smrg		;;
111572b676d7Smrg	t3e)
111672b676d7Smrg		basic_machine=alphaev5-cray
111772b676d7Smrg		os=-unicos
111872b676d7Smrg		;;
111972b676d7Smrg	t90)
112072b676d7Smrg		basic_machine=t90-cray
112172b676d7Smrg		os=-unicos
112272b676d7Smrg		;;
112321525869Smrg	# This must be matched before tile*.
112421525869Smrg	tilegx*)
112521525869Smrg		basic_machine=tilegx-unknown
112621525869Smrg		os=-linux-gnu
112721525869Smrg		;;
11281fd23544Smrg	tile*)
112921525869Smrg		basic_machine=tile-unknown
11301fd23544Smrg		os=-linux-gnu
11311fd23544Smrg		;;
113272b676d7Smrg	tx39)
113372b676d7Smrg		basic_machine=mipstx39-unknown
113472b676d7Smrg		;;
113572b676d7Smrg	tx39el)
113672b676d7Smrg		basic_machine=mipstx39el-unknown
113772b676d7Smrg		;;
113872b676d7Smrg	toad1)
113972b676d7Smrg		basic_machine=pdp10-xkl
114072b676d7Smrg		os=-tops20
114172b676d7Smrg		;;
114272b676d7Smrg	tower | tower-32)
114372b676d7Smrg		basic_machine=m68k-ncr
114472b676d7Smrg		;;
114572b676d7Smrg	tpf)
114672b676d7Smrg		basic_machine=s390x-ibm
114772b676d7Smrg		os=-tpf
114872b676d7Smrg		;;
114972b676d7Smrg	udi29k)
115072b676d7Smrg		basic_machine=a29k-amd
115172b676d7Smrg		os=-udi
115272b676d7Smrg		;;
115372b676d7Smrg	ultra3)
115472b676d7Smrg		basic_machine=a29k-nyu
115572b676d7Smrg		os=-sym1
115672b676d7Smrg		;;
115772b676d7Smrg	v810 | necv810)
115872b676d7Smrg		basic_machine=v810-nec
115972b676d7Smrg		os=-none
116072b676d7Smrg		;;
116172b676d7Smrg	vaxv)
116272b676d7Smrg		basic_machine=vax-dec
116372b676d7Smrg		os=-sysv
116472b676d7Smrg		;;
116572b676d7Smrg	vms)
116672b676d7Smrg		basic_machine=vax-dec
116772b676d7Smrg		os=-vms
116872b676d7Smrg		;;
116972b676d7Smrg	vpp*|vx|vx-*)
117072b676d7Smrg		basic_machine=f301-fujitsu
117172b676d7Smrg		;;
117272b676d7Smrg	vxworks960)
117372b676d7Smrg		basic_machine=i960-wrs
117472b676d7Smrg		os=-vxworks
117572b676d7Smrg		;;
117672b676d7Smrg	vxworks68)
117772b676d7Smrg		basic_machine=m68k-wrs
117872b676d7Smrg		os=-vxworks
117972b676d7Smrg		;;
118072b676d7Smrg	vxworks29k)
118172b676d7Smrg		basic_machine=a29k-wrs
118272b676d7Smrg		os=-vxworks
118372b676d7Smrg		;;
118472b676d7Smrg	w65*)
118572b676d7Smrg		basic_machine=w65-wdc
118672b676d7Smrg		os=-none
118772b676d7Smrg		;;
118872b676d7Smrg	w89k-*)
118972b676d7Smrg		basic_machine=hppa1.1-winbond
119072b676d7Smrg		os=-proelf
119172b676d7Smrg		;;
119272b676d7Smrg	xbox)
119372b676d7Smrg		basic_machine=i686-pc
119472b676d7Smrg		os=-mingw32
119572b676d7Smrg		;;
119672b676d7Smrg	xps | xps100)
119772b676d7Smrg		basic_machine=xps100-honeywell
119872b676d7Smrg		;;
119972b676d7Smrg	ymp)
120072b676d7Smrg		basic_machine=ymp-cray
120172b676d7Smrg		os=-unicos
120272b676d7Smrg		;;
120372b676d7Smrg	z8k-*-coff)
120472b676d7Smrg		basic_machine=z8k-unknown
120572b676d7Smrg		os=-sim
120672b676d7Smrg		;;
120774c14cd6Smrg	z80-*-coff)
120874c14cd6Smrg		basic_machine=z80-unknown
120974c14cd6Smrg		os=-sim
121074c14cd6Smrg		;;
121172b676d7Smrg	none)
121272b676d7Smrg		basic_machine=none-none
121372b676d7Smrg		os=-none
121472b676d7Smrg		;;
121572b676d7Smrg
121672b676d7Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
121772b676d7Smrg# some cases the only manufacturer, in others, it is the most popular.
121872b676d7Smrg	w89k)
121972b676d7Smrg		basic_machine=hppa1.1-winbond
122072b676d7Smrg		;;
122172b676d7Smrg	op50n)
122272b676d7Smrg		basic_machine=hppa1.1-oki
122372b676d7Smrg		;;
122472b676d7Smrg	op60c)
122572b676d7Smrg		basic_machine=hppa1.1-oki
122672b676d7Smrg		;;
122772b676d7Smrg	romp)
122872b676d7Smrg		basic_machine=romp-ibm
122972b676d7Smrg		;;
123072b676d7Smrg	mmix)
123172b676d7Smrg		basic_machine=mmix-knuth
123272b676d7Smrg		;;
123372b676d7Smrg	rs6000)
123472b676d7Smrg		basic_machine=rs6000-ibm
123572b676d7Smrg		;;
123672b676d7Smrg	vax)
123772b676d7Smrg		basic_machine=vax-dec
123872b676d7Smrg		;;
123972b676d7Smrg	pdp10)
124072b676d7Smrg		# there are many clones, so DEC is not a safe bet
124172b676d7Smrg		basic_machine=pdp10-unknown
124272b676d7Smrg		;;
124372b676d7Smrg	pdp11)
124472b676d7Smrg		basic_machine=pdp11-dec
124572b676d7Smrg		;;
124672b676d7Smrg	we32k)
124772b676d7Smrg		basic_machine=we32k-att
124872b676d7Smrg		;;
124974c14cd6Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
125072b676d7Smrg		basic_machine=sh-unknown
125172b676d7Smrg		;;
12521fd23544Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
125372b676d7Smrg		basic_machine=sparc-sun
125472b676d7Smrg		;;
125572b676d7Smrg	cydra)
125672b676d7Smrg		basic_machine=cydra-cydrome
125772b676d7Smrg		;;
125872b676d7Smrg	orion)
125972b676d7Smrg		basic_machine=orion-highlevel
126072b676d7Smrg		;;
126172b676d7Smrg	orion105)
126272b676d7Smrg		basic_machine=clipper-highlevel
126372b676d7Smrg		;;
126472b676d7Smrg	mac | mpw | mac-mpw)
126572b676d7Smrg		basic_machine=m68k-apple
126672b676d7Smrg		;;
126772b676d7Smrg	pmac | pmac-mpw)
126872b676d7Smrg		basic_machine=powerpc-apple
126972b676d7Smrg		;;
127072b676d7Smrg	*-unknown)
127172b676d7Smrg		# Make sure to match an already-canonicalized machine name.
127272b676d7Smrg		;;
127372b676d7Smrg	*)
127472b676d7Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
127572b676d7Smrg		exit 1
127672b676d7Smrg		;;
127772b676d7Smrgesac
127872b676d7Smrg
127972b676d7Smrg# Here we canonicalize certain aliases for manufacturers.
128072b676d7Smrgcase $basic_machine in
128172b676d7Smrg	*-digital*)
128272b676d7Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
128372b676d7Smrg		;;
128472b676d7Smrg	*-commodore*)
128572b676d7Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
128672b676d7Smrg		;;
128772b676d7Smrg	*)
128872b676d7Smrg		;;
128972b676d7Smrgesac
129072b676d7Smrg
129172b676d7Smrg# Decode manufacturer-specific aliases for certain operating systems.
129272b676d7Smrg
129372b676d7Smrgif [ x"$os" != x"" ]
129472b676d7Smrgthen
129572b676d7Smrgcase $os in
129674c14cd6Smrg	# First match some system type aliases
129774c14cd6Smrg	# that might get confused with valid system types.
129872b676d7Smrg	# -solaris* is a basic system type, with this one exception.
129974c14cd6Smrg	-auroraux)
130074c14cd6Smrg		os=-auroraux
130174c14cd6Smrg		;;
130272b676d7Smrg	-solaris1 | -solaris1.*)
130372b676d7Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
130472b676d7Smrg		;;
130572b676d7Smrg	-solaris)
130672b676d7Smrg		os=-solaris2
130772b676d7Smrg		;;
130872b676d7Smrg	-svr4*)
130972b676d7Smrg		os=-sysv4
131072b676d7Smrg		;;
131172b676d7Smrg	-unixware*)
131272b676d7Smrg		os=-sysv4.2uw
131372b676d7Smrg		;;
131472b676d7Smrg	-gnu/linux*)
131572b676d7Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
131672b676d7Smrg		;;
131772b676d7Smrg	# First accept the basic system types.
131872b676d7Smrg	# The portable systems comes first.
131972b676d7Smrg	# Each alternative MUST END IN A *, to match a version number.
132072b676d7Smrg	# -sysv* is not here because it comes later, after sysvr4.
132172b676d7Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
132274c14cd6Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
132374c14cd6Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
132474c14cd6Smrg	      | -sym* | -kopensolaris* \
132572b676d7Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
132674c14cd6Smrg	      | -aos* | -aros* \
132772b676d7Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
132872b676d7Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
132972b676d7Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
133072b676d7Smrg	      | -openbsd* | -solidbsd* \
133172b676d7Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
133272b676d7Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
133372b676d7Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
133472b676d7Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
133574c14cd6Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
133621525869Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
133774c14cd6Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
133874c14cd6Smrg	      | -linux-newlib* | -linux-uclibc* \
133972b676d7Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
134072b676d7Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
134172b676d7Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
134221525869Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
134372b676d7Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
134472b676d7Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
134572b676d7Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
134674c14cd6Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
134772b676d7Smrg	# Remember, each alternative MUST END IN *, to match a version number.
134872b676d7Smrg		;;
134972b676d7Smrg	-qnx*)
135072b676d7Smrg		case $basic_machine in
135172b676d7Smrg		    x86-* | i*86-*)
135272b676d7Smrg			;;
135372b676d7Smrg		    *)
135472b676d7Smrg			os=-nto$os
135572b676d7Smrg			;;
135672b676d7Smrg		esac
135772b676d7Smrg		;;
135872b676d7Smrg	-nto-qnx*)
135972b676d7Smrg		;;
136072b676d7Smrg	-nto*)
136172b676d7Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
136272b676d7Smrg		;;
136372b676d7Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
136472b676d7Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
136572b676d7Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
136672b676d7Smrg		;;
136772b676d7Smrg	-mac*)
136872b676d7Smrg		os=`echo $os | sed -e 's|mac|macos|'`
136972b676d7Smrg		;;
137072b676d7Smrg	-linux-dietlibc)
137172b676d7Smrg		os=-linux-dietlibc
137272b676d7Smrg		;;
137372b676d7Smrg	-linux*)
137472b676d7Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
137572b676d7Smrg		;;
137672b676d7Smrg	-sunos5*)
137772b676d7Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
137872b676d7Smrg		;;
137972b676d7Smrg	-sunos6*)
138072b676d7Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
138172b676d7Smrg		;;
138272b676d7Smrg	-opened*)
138372b676d7Smrg		os=-openedition
138472b676d7Smrg		;;
138574c14cd6Smrg	-os400*)
138672b676d7Smrg		os=-os400
138772b676d7Smrg		;;
138872b676d7Smrg	-wince*)
138972b676d7Smrg		os=-wince
139072b676d7Smrg		;;
139172b676d7Smrg	-osfrose*)
139272b676d7Smrg		os=-osfrose
139372b676d7Smrg		;;
139472b676d7Smrg	-osf*)
139572b676d7Smrg		os=-osf
139672b676d7Smrg		;;
139772b676d7Smrg	-utek*)
139872b676d7Smrg		os=-bsd
139972b676d7Smrg		;;
140072b676d7Smrg	-dynix*)
140172b676d7Smrg		os=-bsd
140272b676d7Smrg		;;
140372b676d7Smrg	-acis*)
140472b676d7Smrg		os=-aos
140572b676d7Smrg		;;
140672b676d7Smrg	-atheos*)
140772b676d7Smrg		os=-atheos
140872b676d7Smrg		;;
140972b676d7Smrg	-syllable*)
141072b676d7Smrg		os=-syllable
141172b676d7Smrg		;;
141272b676d7Smrg	-386bsd)
141372b676d7Smrg		os=-bsd
141472b676d7Smrg		;;
141572b676d7Smrg	-ctix* | -uts*)
141672b676d7Smrg		os=-sysv
141772b676d7Smrg		;;
141872b676d7Smrg	-nova*)
141972b676d7Smrg		os=-rtmk-nova
142072b676d7Smrg		;;
142172b676d7Smrg	-ns2 )
142272b676d7Smrg		os=-nextstep2
142372b676d7Smrg		;;
142472b676d7Smrg	-nsk*)
142572b676d7Smrg		os=-nsk
142672b676d7Smrg		;;
142772b676d7Smrg	# Preserve the version number of sinix5.
142872b676d7Smrg	-sinix5.*)
142972b676d7Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
143072b676d7Smrg		;;
143172b676d7Smrg	-sinix*)
143272b676d7Smrg		os=-sysv4
143372b676d7Smrg		;;
143474c14cd6Smrg	-tpf*)
143572b676d7Smrg		os=-tpf
143672b676d7Smrg		;;
143772b676d7Smrg	-triton*)
143872b676d7Smrg		os=-sysv3
143972b676d7Smrg		;;
144072b676d7Smrg	-oss*)
144172b676d7Smrg		os=-sysv3
144272b676d7Smrg		;;
144372b676d7Smrg	-svr4)
144472b676d7Smrg		os=-sysv4
144572b676d7Smrg		;;
144672b676d7Smrg	-svr3)
144772b676d7Smrg		os=-sysv3
144872b676d7Smrg		;;
144972b676d7Smrg	-sysvr4)
145072b676d7Smrg		os=-sysv4
145172b676d7Smrg		;;
145272b676d7Smrg	# This must come after -sysvr4.
145372b676d7Smrg	-sysv*)
145472b676d7Smrg		;;
145572b676d7Smrg	-ose*)
145672b676d7Smrg		os=-ose
145772b676d7Smrg		;;
145872b676d7Smrg	-es1800*)
145972b676d7Smrg		os=-ose
146072b676d7Smrg		;;
146172b676d7Smrg	-xenix)
146272b676d7Smrg		os=-xenix
146372b676d7Smrg		;;
146472b676d7Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
146572b676d7Smrg		os=-mint
146672b676d7Smrg		;;
146772b676d7Smrg	-aros*)
146872b676d7Smrg		os=-aros
146972b676d7Smrg		;;
147072b676d7Smrg	-kaos*)
147172b676d7Smrg		os=-kaos
147272b676d7Smrg		;;
147372b676d7Smrg	-zvmoe)
147472b676d7Smrg		os=-zvmoe
147572b676d7Smrg		;;
147674c14cd6Smrg	-dicos*)
147774c14cd6Smrg		os=-dicos
147874c14cd6Smrg		;;
147974c14cd6Smrg	-nacl*)
148074c14cd6Smrg		;;
148172b676d7Smrg	-none)
148272b676d7Smrg		;;
148372b676d7Smrg	*)
148472b676d7Smrg		# Get rid of the `-' at the beginning of $os.
148572b676d7Smrg		os=`echo $os | sed 's/[^-]*-//'`
148672b676d7Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
148772b676d7Smrg		exit 1
148872b676d7Smrg		;;
148972b676d7Smrgesac
149072b676d7Smrgelse
149172b676d7Smrg
149272b676d7Smrg# Here we handle the default operating systems that come with various machines.
149372b676d7Smrg# The value should be what the vendor currently ships out the door with their
149472b676d7Smrg# machine or put another way, the most popular os provided with the machine.
149572b676d7Smrg
149672b676d7Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
149772b676d7Smrg# "-sun"), then you have to tell the case statement up towards the top
149872b676d7Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
149972b676d7Smrg# will signal an error saying that MANUFACTURER isn't an operating
150072b676d7Smrg# system, and we'll never get to this point.
150172b676d7Smrg
150272b676d7Smrgcase $basic_machine in
150374c14cd6Smrg	score-*)
15041fd23544Smrg		os=-elf
15051fd23544Smrg		;;
150674c14cd6Smrg	spu-*)
15071fd23544Smrg		os=-elf
15081fd23544Smrg		;;
150972b676d7Smrg	*-acorn)
151072b676d7Smrg		os=-riscix1.2
151172b676d7Smrg		;;
151272b676d7Smrg	arm*-rebel)
151372b676d7Smrg		os=-linux
151472b676d7Smrg		;;
151572b676d7Smrg	arm*-semi)
151672b676d7Smrg		os=-aout
151772b676d7Smrg		;;
151874c14cd6Smrg	c4x-* | tic4x-*)
151974c14cd6Smrg		os=-coff
152074c14cd6Smrg		;;
152174c14cd6Smrg	tic54x-*)
152274c14cd6Smrg		os=-coff
152374c14cd6Smrg		;;
152474c14cd6Smrg	tic55x-*)
152574c14cd6Smrg		os=-coff
152674c14cd6Smrg		;;
152774c14cd6Smrg	tic6x-*)
152874c14cd6Smrg		os=-coff
15291fd23544Smrg		;;
153072b676d7Smrg	# This must come before the *-dec entry.
153172b676d7Smrg	pdp10-*)
153272b676d7Smrg		os=-tops20
153372b676d7Smrg		;;
153472b676d7Smrg	pdp11-*)
153572b676d7Smrg		os=-none
153672b676d7Smrg		;;
153772b676d7Smrg	*-dec | vax-*)
153872b676d7Smrg		os=-ultrix4.2
153972b676d7Smrg		;;
154072b676d7Smrg	m68*-apollo)
154172b676d7Smrg		os=-domain
154272b676d7Smrg		;;
154372b676d7Smrg	i386-sun)
154472b676d7Smrg		os=-sunos4.0.2
154572b676d7Smrg		;;
154672b676d7Smrg	m68000-sun)
154772b676d7Smrg		os=-sunos3
154821525869Smrg		# This also exists in the configure program, but was not the
154921525869Smrg		# default.
155021525869Smrg		# os=-sunos4
155172b676d7Smrg		;;
155272b676d7Smrg	m68*-cisco)
155372b676d7Smrg		os=-aout
155472b676d7Smrg		;;
155574c14cd6Smrg	mep-*)
15561fd23544Smrg		os=-elf
15571fd23544Smrg		;;
155872b676d7Smrg	mips*-cisco)
155972b676d7Smrg		os=-elf
156072b676d7Smrg		;;
156172b676d7Smrg	mips*-*)
156272b676d7Smrg		os=-elf
156372b676d7Smrg		;;
156472b676d7Smrg	or32-*)
156572b676d7Smrg		os=-coff
156672b676d7Smrg		;;
156772b676d7Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
156872b676d7Smrg		os=-sysv3
156972b676d7Smrg		;;
157072b676d7Smrg	sparc-* | *-sun)
157172b676d7Smrg		os=-sunos4.1.1
157272b676d7Smrg		;;
157372b676d7Smrg	*-be)
157472b676d7Smrg		os=-beos
157572b676d7Smrg		;;
157672b676d7Smrg	*-haiku)
157772b676d7Smrg		os=-haiku
157872b676d7Smrg		;;
157972b676d7Smrg	*-ibm)
158072b676d7Smrg		os=-aix
158172b676d7Smrg		;;
158274c14cd6Smrg	*-knuth)
158372b676d7Smrg		os=-mmixware
158472b676d7Smrg		;;
158572b676d7Smrg	*-wec)
158672b676d7Smrg		os=-proelf
158772b676d7Smrg		;;
158872b676d7Smrg	*-winbond)
158972b676d7Smrg		os=-proelf
159072b676d7Smrg		;;
159172b676d7Smrg	*-oki)
159272b676d7Smrg		os=-proelf
159372b676d7Smrg		;;
159472b676d7Smrg	*-hp)
159572b676d7Smrg		os=-hpux
159672b676d7Smrg		;;
159772b676d7Smrg	*-hitachi)
159872b676d7Smrg		os=-hiux
159972b676d7Smrg		;;
160072b676d7Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
160172b676d7Smrg		os=-sysv
160272b676d7Smrg		;;
160372b676d7Smrg	*-cbm)
160472b676d7Smrg		os=-amigaos
160572b676d7Smrg		;;
160672b676d7Smrg	*-dg)
160772b676d7Smrg		os=-dgux
160872b676d7Smrg		;;
160972b676d7Smrg	*-dolphin)
161072b676d7Smrg		os=-sysv3
161172b676d7Smrg		;;
161272b676d7Smrg	m68k-ccur)
161372b676d7Smrg		os=-rtu
161472b676d7Smrg		;;
161572b676d7Smrg	m88k-omron*)
161672b676d7Smrg		os=-luna
161772b676d7Smrg		;;
161872b676d7Smrg	*-next )
161972b676d7Smrg		os=-nextstep
162072b676d7Smrg		;;
162172b676d7Smrg	*-sequent)
162272b676d7Smrg		os=-ptx
162372b676d7Smrg		;;
162472b676d7Smrg	*-crds)
162572b676d7Smrg		os=-unos
162672b676d7Smrg		;;
162772b676d7Smrg	*-ns)
162872b676d7Smrg		os=-genix
162972b676d7Smrg		;;
163072b676d7Smrg	i370-*)
163172b676d7Smrg		os=-mvs
163272b676d7Smrg		;;
163372b676d7Smrg	*-next)
163472b676d7Smrg		os=-nextstep3
163572b676d7Smrg		;;
163672b676d7Smrg	*-gould)
163772b676d7Smrg		os=-sysv
163872b676d7Smrg		;;
163972b676d7Smrg	*-highlevel)
164072b676d7Smrg		os=-bsd
164172b676d7Smrg		;;
164272b676d7Smrg	*-encore)
164372b676d7Smrg		os=-bsd
164472b676d7Smrg		;;
164572b676d7Smrg	*-sgi)
164672b676d7Smrg		os=-irix
164772b676d7Smrg		;;
164872b676d7Smrg	*-siemens)
164972b676d7Smrg		os=-sysv4
165072b676d7Smrg		;;
165172b676d7Smrg	*-masscomp)
165272b676d7Smrg		os=-rtu
165372b676d7Smrg		;;
165472b676d7Smrg	f30[01]-fujitsu | f700-fujitsu)
165572b676d7Smrg		os=-uxpv
165672b676d7Smrg		;;
165772b676d7Smrg	*-rom68k)
165872b676d7Smrg		os=-coff
165972b676d7Smrg		;;
166072b676d7Smrg	*-*bug)
166172b676d7Smrg		os=-coff
166272b676d7Smrg		;;
166372b676d7Smrg	*-apple)
166472b676d7Smrg		os=-macos
166572b676d7Smrg		;;
166672b676d7Smrg	*-atari*)
166772b676d7Smrg		os=-mint
166872b676d7Smrg		;;
166972b676d7Smrg	*)
167072b676d7Smrg		os=-none
167172b676d7Smrg		;;
167272b676d7Smrgesac
167372b676d7Smrgfi
167472b676d7Smrg
167572b676d7Smrg# Here we handle the case where we know the os, and the CPU type, but not the
167672b676d7Smrg# manufacturer.  We pick the logical manufacturer.
167772b676d7Smrgvendor=unknown
167872b676d7Smrgcase $basic_machine in
167972b676d7Smrg	*-unknown)
168072b676d7Smrg		case $os in
168172b676d7Smrg			-riscix*)
168272b676d7Smrg				vendor=acorn
168372b676d7Smrg				;;
168472b676d7Smrg			-sunos*)
168572b676d7Smrg				vendor=sun
168672b676d7Smrg				;;
168774c14cd6Smrg			-cnk*|-aix*)
168872b676d7Smrg				vendor=ibm
168972b676d7Smrg				;;
169072b676d7Smrg			-beos*)
169172b676d7Smrg				vendor=be
169272b676d7Smrg				;;
169372b676d7Smrg			-hpux*)
169472b676d7Smrg				vendor=hp
169572b676d7Smrg				;;
169672b676d7Smrg			-mpeix*)
169772b676d7Smrg				vendor=hp
169872b676d7Smrg				;;
169972b676d7Smrg			-hiux*)
170072b676d7Smrg				vendor=hitachi
170172b676d7Smrg				;;
170272b676d7Smrg			-unos*)
170372b676d7Smrg				vendor=crds
170472b676d7Smrg				;;
170572b676d7Smrg			-dgux*)
170672b676d7Smrg				vendor=dg
170772b676d7Smrg				;;
170872b676d7Smrg			-luna*)
170972b676d7Smrg				vendor=omron
171072b676d7Smrg				;;
171172b676d7Smrg			-genix*)
171272b676d7Smrg				vendor=ns
171372b676d7Smrg				;;
171472b676d7Smrg			-mvs* | -opened*)
171572b676d7Smrg				vendor=ibm
171672b676d7Smrg				;;
171772b676d7Smrg			-os400*)
171872b676d7Smrg				vendor=ibm
171972b676d7Smrg				;;
172072b676d7Smrg			-ptx*)
172172b676d7Smrg				vendor=sequent
172272b676d7Smrg				;;
172372b676d7Smrg			-tpf*)
172472b676d7Smrg				vendor=ibm
172572b676d7Smrg				;;
172672b676d7Smrg			-vxsim* | -vxworks* | -windiss*)
172772b676d7Smrg				vendor=wrs
172872b676d7Smrg				;;
172972b676d7Smrg			-aux*)
173072b676d7Smrg				vendor=apple
173172b676d7Smrg				;;
173272b676d7Smrg			-hms*)
173372b676d7Smrg				vendor=hitachi
173472b676d7Smrg				;;
173572b676d7Smrg			-mpw* | -macos*)
173672b676d7Smrg				vendor=apple
173772b676d7Smrg				;;
173872b676d7Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
173972b676d7Smrg				vendor=atari
174072b676d7Smrg				;;
174172b676d7Smrg			-vos*)
174272b676d7Smrg				vendor=stratus
174372b676d7Smrg				;;
174472b676d7Smrg		esac
174572b676d7Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
174672b676d7Smrg		;;
174772b676d7Smrgesac
174872b676d7Smrg
174972b676d7Smrgecho $basic_machine$os
175072b676d7Smrgexit
175172b676d7Smrg
175272b676d7Smrg# Local variables:
175372b676d7Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
175472b676d7Smrg# time-stamp-start: "timestamp='"
175572b676d7Smrg# time-stamp-format: "%:y-%02m-%02d"
175672b676d7Smrg# time-stamp-end: "'"
175772b676d7Smrg# End:
1758