config.sub revision 08e312fd
172b4363aSmrg#! /bin/sh
272b4363aSmrg# Configuration validation subroutine script.
372b4363aSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
408e312fdSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5dd77ae96Smrg#   Free Software Foundation, Inc.
672b4363aSmrg
708e312fdSmrgtimestamp='2010-09-11'
872b4363aSmrg
972b4363aSmrg# This file is (in principle) common to ALL GNU software.
1072b4363aSmrg# The presence of a machine in this file suggests that SOME GNU software
1172b4363aSmrg# can handle that machine.  It does not imply ALL GNU software can.
1272b4363aSmrg#
1372b4363aSmrg# This file is free software; you can redistribute it and/or modify
1472b4363aSmrg# it under the terms of the GNU General Public License as published by
1572b4363aSmrg# the Free Software Foundation; either version 2 of the License, or
1672b4363aSmrg# (at your option) any later version.
1772b4363aSmrg#
1872b4363aSmrg# This program is distributed in the hope that it will be useful,
1972b4363aSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2072b4363aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2172b4363aSmrg# GNU General Public License for more details.
2272b4363aSmrg#
2372b4363aSmrg# You should have received a copy of the GNU General Public License
2472b4363aSmrg# along with this program; if not, write to the Free Software
2572b4363aSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2672b4363aSmrg# 02110-1301, USA.
2772b4363aSmrg#
2872b4363aSmrg# As a special exception to the GNU General Public License, if you
2972b4363aSmrg# distribute this file as part of a program that contains a
3072b4363aSmrg# configuration script generated by Autoconf, you may include it under
3172b4363aSmrg# the same distribution terms that you use for the rest of that program.
3272b4363aSmrg
3372b4363aSmrg
3472b4363aSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3508e312fdSmrg# diff and a properly formatted GNU ChangeLog entry.
3672b4363aSmrg#
3772b4363aSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3872b4363aSmrg# Supply the specified configuration type as an argument.
3972b4363aSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
4072b4363aSmrg# Otherwise, we print the canonical config type on stdout and succeed.
4172b4363aSmrg
4208e312fdSmrg# You can get the latest version of this script from:
4308e312fdSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4408e312fdSmrg
4572b4363aSmrg# This file is supposed to be the same for all GNU packages
4672b4363aSmrg# and recognize all the CPU types, system types and aliases
4772b4363aSmrg# that are meaningful with *any* GNU software.
4872b4363aSmrg# Each package is responsible for reporting which valid configurations
4972b4363aSmrg# it does not support.  The user should be able to distinguish
5072b4363aSmrg# a failure to support a valid configuration from a meaningless
5172b4363aSmrg# configuration.
5272b4363aSmrg
5372b4363aSmrg# The goal of this file is to map all the various variations of a given
5472b4363aSmrg# machine specification into a single specification in the form:
5572b4363aSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5672b4363aSmrg# or in some cases, the newer four-part form:
5772b4363aSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5872b4363aSmrg# It is wrong to echo any other type of specification.
5972b4363aSmrg
6072b4363aSmrgme=`echo "$0" | sed -e 's,.*/,,'`
6172b4363aSmrg
6272b4363aSmrgusage="\
6372b4363aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6472b4363aSmrg       $0 [OPTION] ALIAS
6572b4363aSmrg
6672b4363aSmrgCanonicalize a configuration name.
6772b4363aSmrg
6872b4363aSmrgOperation modes:
6972b4363aSmrg  -h, --help         print this help, then exit
7072b4363aSmrg  -t, --time-stamp   print date of last modification, then exit
7172b4363aSmrg  -v, --version      print version number, then exit
7272b4363aSmrg
7372b4363aSmrgReport bugs and patches to <config-patches@gnu.org>."
7472b4363aSmrg
7572b4363aSmrgversion="\
7672b4363aSmrgGNU config.sub ($timestamp)
7772b4363aSmrg
7808e312fdSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7908e312fdSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8008e312fdSmrgSoftware Foundation, Inc.
8172b4363aSmrg
8272b4363aSmrgThis is free software; see the source for copying conditions.  There is NO
8372b4363aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8472b4363aSmrg
8572b4363aSmrghelp="
8672b4363aSmrgTry \`$me --help' for more information."
8772b4363aSmrg
8872b4363aSmrg# Parse command line
8972b4363aSmrgwhile test $# -gt 0 ; do
9072b4363aSmrg  case $1 in
9172b4363aSmrg    --time-stamp | --time* | -t )
9272b4363aSmrg       echo "$timestamp" ; exit ;;
9372b4363aSmrg    --version | -v )
9472b4363aSmrg       echo "$version" ; exit ;;
9572b4363aSmrg    --help | --h* | -h )
9672b4363aSmrg       echo "$usage"; exit ;;
9772b4363aSmrg    -- )     # Stop option processing
9872b4363aSmrg       shift; break ;;
9972b4363aSmrg    - )	# Use stdin as input.
10072b4363aSmrg       break ;;
10172b4363aSmrg    -* )
10272b4363aSmrg       echo "$me: invalid option $1$help"
10372b4363aSmrg       exit 1 ;;
10472b4363aSmrg
10572b4363aSmrg    *local*)
10672b4363aSmrg       # First pass through any local machine types.
10772b4363aSmrg       echo $1
10872b4363aSmrg       exit ;;
10972b4363aSmrg
11072b4363aSmrg    * )
11172b4363aSmrg       break ;;
11272b4363aSmrg  esac
11372b4363aSmrgdone
11472b4363aSmrg
11572b4363aSmrgcase $# in
11672b4363aSmrg 0) echo "$me: missing argument$help" >&2
11772b4363aSmrg    exit 1;;
11872b4363aSmrg 1) ;;
11972b4363aSmrg *) echo "$me: too many arguments$help" >&2
12072b4363aSmrg    exit 1;;
12172b4363aSmrgesac
12272b4363aSmrg
12372b4363aSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12472b4363aSmrg# Here we must recognize all the valid KERNEL-OS combinations.
12572b4363aSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12672b4363aSmrgcase $maybe_os in
12708e312fdSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12808e312fdSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12908e312fdSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130dd77ae96Smrg  kopensolaris*-gnu* | \
13172b4363aSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
13272b4363aSmrg    os=-$maybe_os
13372b4363aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13472b4363aSmrg    ;;
13572b4363aSmrg  *)
13672b4363aSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13772b4363aSmrg    if [ $basic_machine != $1 ]
13872b4363aSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13972b4363aSmrg    else os=; fi
14072b4363aSmrg    ;;
14172b4363aSmrgesac
14272b4363aSmrg
14372b4363aSmrg### Let's recognize common machines as not being operating systems so
14472b4363aSmrg### that things like config.sub decstation-3100 work.  We also
14572b4363aSmrg### recognize some manufacturers as not being operating systems, so we
14672b4363aSmrg### can provide default operating systems below.
14772b4363aSmrgcase $os in
14872b4363aSmrg	-sun*os*)
14972b4363aSmrg		# Prevent following clause from handling this invalid input.
15072b4363aSmrg		;;
15172b4363aSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15272b4363aSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15372b4363aSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15472b4363aSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15572b4363aSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15672b4363aSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15708e312fdSmrg	-apple | -axis | -knuth | -cray | -microblaze)
15872b4363aSmrg		os=
15972b4363aSmrg		basic_machine=$1
16072b4363aSmrg		;;
16108e312fdSmrg        -bluegene*)
16208e312fdSmrg	        os=-cnk
16308e312fdSmrg		;;
16472b4363aSmrg	-sim | -cisco | -oki | -wec | -winbond)
16572b4363aSmrg		os=
16672b4363aSmrg		basic_machine=$1
16772b4363aSmrg		;;
16872b4363aSmrg	-scout)
16972b4363aSmrg		;;
17072b4363aSmrg	-wrs)
17172b4363aSmrg		os=-vxworks
17272b4363aSmrg		basic_machine=$1
17372b4363aSmrg		;;
17472b4363aSmrg	-chorusos*)
17572b4363aSmrg		os=-chorusos
17672b4363aSmrg		basic_machine=$1
17772b4363aSmrg		;;
17872b4363aSmrg 	-chorusrdb)
17972b4363aSmrg 		os=-chorusrdb
18072b4363aSmrg		basic_machine=$1
18172b4363aSmrg 		;;
18272b4363aSmrg	-hiux*)
18372b4363aSmrg		os=-hiuxwe2
18472b4363aSmrg		;;
18572b4363aSmrg	-sco6)
18672b4363aSmrg		os=-sco5v6
18772b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18872b4363aSmrg		;;
18972b4363aSmrg	-sco5)
19072b4363aSmrg		os=-sco3.2v5
19172b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19272b4363aSmrg		;;
19372b4363aSmrg	-sco4)
19472b4363aSmrg		os=-sco3.2v4
19572b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19672b4363aSmrg		;;
19772b4363aSmrg	-sco3.2.[4-9]*)
19872b4363aSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19972b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20072b4363aSmrg		;;
20172b4363aSmrg	-sco3.2v[4-9]*)
20272b4363aSmrg		# Don't forget version if it is 3.2v4 or newer.
20372b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20472b4363aSmrg		;;
20572b4363aSmrg	-sco5v6*)
20672b4363aSmrg		# Don't forget version if it is 3.2v4 or newer.
20772b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20872b4363aSmrg		;;
20972b4363aSmrg	-sco*)
21072b4363aSmrg		os=-sco3.2v2
21172b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21272b4363aSmrg		;;
21372b4363aSmrg	-udk*)
21472b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21572b4363aSmrg		;;
21672b4363aSmrg	-isc)
21772b4363aSmrg		os=-isc2.2
21872b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21972b4363aSmrg		;;
22072b4363aSmrg	-clix*)
22172b4363aSmrg		basic_machine=clipper-intergraph
22272b4363aSmrg		;;
22372b4363aSmrg	-isc*)
22472b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22572b4363aSmrg		;;
22672b4363aSmrg	-lynx*)
22772b4363aSmrg		os=-lynxos
22872b4363aSmrg		;;
22972b4363aSmrg	-ptx*)
23072b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23172b4363aSmrg		;;
23272b4363aSmrg	-windowsnt*)
23372b4363aSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23472b4363aSmrg		;;
23572b4363aSmrg	-psos*)
23672b4363aSmrg		os=-psos
23772b4363aSmrg		;;
23872b4363aSmrg	-mint | -mint[0-9]*)
23972b4363aSmrg		basic_machine=m68k-atari
24072b4363aSmrg		os=-mint
24172b4363aSmrg		;;
24272b4363aSmrgesac
24372b4363aSmrg
24472b4363aSmrg# Decode aliases for certain CPU-COMPANY combinations.
24572b4363aSmrgcase $basic_machine in
24672b4363aSmrg	# Recognize the basic CPU types without company name.
24772b4363aSmrg	# Some are omitted here because they have special meanings below.
24872b4363aSmrg	1750a | 580 \
24972b4363aSmrg	| a29k \
25072b4363aSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25172b4363aSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25272b4363aSmrg	| am33_2.0 \
25372b4363aSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25472b4363aSmrg	| bfin \
25572b4363aSmrg	| c4x | clipper \
25672b4363aSmrg	| d10v | d30v | dlx | dsp16xx \
257dd77ae96Smrg	| fido | fr30 | frv \
25872b4363aSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25972b4363aSmrg	| i370 | i860 | i960 | ia64 \
26072b4363aSmrg	| ip2k | iq2000 \
261dd77ae96Smrg	| lm32 \
26272b4363aSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263dd77ae96Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26472b4363aSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26572b4363aSmrg	| mips16 \
26672b4363aSmrg	| mips64 | mips64el \
267dd77ae96Smrg	| mips64octeon | mips64octeonel \
26872b4363aSmrg	| mips64orion | mips64orionel \
269dd77ae96Smrg	| mips64r5900 | mips64r5900el \
270dd77ae96Smrg	| mips64vr | mips64vrel \
27172b4363aSmrg	| mips64vr4100 | mips64vr4100el \
27272b4363aSmrg	| mips64vr4300 | mips64vr4300el \
27372b4363aSmrg	| mips64vr5000 | mips64vr5000el \
27472b4363aSmrg	| mips64vr5900 | mips64vr5900el \
27572b4363aSmrg	| mipsisa32 | mipsisa32el \
27672b4363aSmrg	| mipsisa32r2 | mipsisa32r2el \
27772b4363aSmrg	| mipsisa64 | mipsisa64el \
27872b4363aSmrg	| mipsisa64r2 | mipsisa64r2el \
27972b4363aSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28072b4363aSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28172b4363aSmrg	| mipstx39 | mipstx39el \
28272b4363aSmrg	| mn10200 | mn10300 \
283dd77ae96Smrg	| moxie \
28472b4363aSmrg	| mt \
28572b4363aSmrg	| msp430 \
28608e312fdSmrg	| nds32 | nds32le | nds32be \
28772b4363aSmrg	| nios | nios2 \
28872b4363aSmrg	| ns16k | ns32k \
28972b4363aSmrg	| or32 \
29072b4363aSmrg	| pdp10 | pdp11 | pj | pjl \
29172b4363aSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29272b4363aSmrg	| pyramid \
29308e312fdSmrg	| rx \
29472b4363aSmrg	| score \
295dd77ae96Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29672b4363aSmrg	| sh64 | sh64le \
29772b4363aSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29872b4363aSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29972b4363aSmrg	| spu | strongarm \
30008e312fdSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30108e312fdSmrg	| ubicom32 \
30272b4363aSmrg	| v850 | v850e \
30372b4363aSmrg	| we32k \
30472b4363aSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305dd77ae96Smrg	| z8k | z80)
30672b4363aSmrg		basic_machine=$basic_machine-unknown
30772b4363aSmrg		;;
30808e312fdSmrg	c54x)
30908e312fdSmrg		basic_machine=tic54x-unknown
31008e312fdSmrg		;;
31108e312fdSmrg	c55x)
31208e312fdSmrg		basic_machine=tic55x-unknown
31308e312fdSmrg		;;
31408e312fdSmrg	c6x)
31508e312fdSmrg		basic_machine=tic6x-unknown
31608e312fdSmrg		;;
31708e312fdSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31872b4363aSmrg		# Motorola 68HC11/12.
31972b4363aSmrg		basic_machine=$basic_machine-unknown
32072b4363aSmrg		os=-none
32172b4363aSmrg		;;
32272b4363aSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32372b4363aSmrg		;;
32472b4363aSmrg	ms1)
32572b4363aSmrg		basic_machine=mt-unknown
32672b4363aSmrg		;;
32772b4363aSmrg
32872b4363aSmrg	# We use `pc' rather than `unknown'
32972b4363aSmrg	# because (1) that's what they normally are, and
33072b4363aSmrg	# (2) the word "unknown" tends to confuse beginning users.
33172b4363aSmrg	i*86 | x86_64)
33272b4363aSmrg	  basic_machine=$basic_machine-pc
33372b4363aSmrg	  ;;
33472b4363aSmrg	# Object if more than one company name word.
33572b4363aSmrg	*-*-*)
33672b4363aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33772b4363aSmrg		exit 1
33872b4363aSmrg		;;
33972b4363aSmrg	# Recognize the basic CPU types with company name.
34072b4363aSmrg	580-* \
34172b4363aSmrg	| a29k-* \
34272b4363aSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34372b4363aSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34472b4363aSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34572b4363aSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34672b4363aSmrg	| avr-* | avr32-* \
34772b4363aSmrg	| bfin-* | bs2000-* \
34808e312fdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34972b4363aSmrg	| clipper-* | craynv-* | cydra-* \
35072b4363aSmrg	| d10v-* | d30v-* | dlx-* \
35172b4363aSmrg	| elxsi-* \
352dd77ae96Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35372b4363aSmrg	| h8300-* | h8500-* \
35472b4363aSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35572b4363aSmrg	| i*86-* | i860-* | i960-* | ia64-* \
35672b4363aSmrg	| ip2k-* | iq2000-* \
357dd77ae96Smrg	| lm32-* \
35872b4363aSmrg	| m32c-* | m32r-* | m32rle-* \
35972b4363aSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36008e312fdSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36172b4363aSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36272b4363aSmrg	| mips16-* \
36372b4363aSmrg	| mips64-* | mips64el-* \
364dd77ae96Smrg	| mips64octeon-* | mips64octeonel-* \
36572b4363aSmrg	| mips64orion-* | mips64orionel-* \
366dd77ae96Smrg	| mips64r5900-* | mips64r5900el-* \
367dd77ae96Smrg	| mips64vr-* | mips64vrel-* \
36872b4363aSmrg	| mips64vr4100-* | mips64vr4100el-* \
36972b4363aSmrg	| mips64vr4300-* | mips64vr4300el-* \
37072b4363aSmrg	| mips64vr5000-* | mips64vr5000el-* \
37172b4363aSmrg	| mips64vr5900-* | mips64vr5900el-* \
37272b4363aSmrg	| mipsisa32-* | mipsisa32el-* \
37372b4363aSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
37472b4363aSmrg	| mipsisa64-* | mipsisa64el-* \
37572b4363aSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
37672b4363aSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37772b4363aSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37872b4363aSmrg	| mipstx39-* | mipstx39el-* \
37972b4363aSmrg	| mmix-* \
38072b4363aSmrg	| mt-* \
38172b4363aSmrg	| msp430-* \
38208e312fdSmrg	| nds32-* | nds32le-* | nds32be-* \
38372b4363aSmrg	| nios-* | nios2-* \
38472b4363aSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
38572b4363aSmrg	| orion-* \
38672b4363aSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38772b4363aSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38872b4363aSmrg	| pyramid-* \
38908e312fdSmrg	| romp-* | rs6000-* | rx-* \
390dd77ae96Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39172b4363aSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39272b4363aSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39372b4363aSmrg	| sparclite-* \
39472b4363aSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39572b4363aSmrg	| tahoe-* | thumb-* \
39608e312fdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39708e312fdSmrg	| tile-* | tilegx-* \
39872b4363aSmrg	| tron-* \
39908e312fdSmrg	| ubicom32-* \
40072b4363aSmrg	| v850-* | v850e-* | vax-* \
40172b4363aSmrg	| we32k-* \
40272b4363aSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403dd77ae96Smrg	| xstormy16-* | xtensa*-* \
40472b4363aSmrg	| ymp-* \
405dd77ae96Smrg	| z8k-* | z80-*)
406dd77ae96Smrg		;;
407dd77ae96Smrg	# Recognize the basic CPU types without company name, with glob match.
408dd77ae96Smrg	xtensa*)
409dd77ae96Smrg		basic_machine=$basic_machine-unknown
41072b4363aSmrg		;;
41172b4363aSmrg	# Recognize the various machine names and aliases which stand
41272b4363aSmrg	# for a CPU type and a company and sometimes even an OS.
41372b4363aSmrg	386bsd)
41472b4363aSmrg		basic_machine=i386-unknown
41572b4363aSmrg		os=-bsd
41672b4363aSmrg		;;
41772b4363aSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41872b4363aSmrg		basic_machine=m68000-att
41972b4363aSmrg		;;
42072b4363aSmrg	3b*)
42172b4363aSmrg		basic_machine=we32k-att
42272b4363aSmrg		;;
42372b4363aSmrg	a29khif)
42472b4363aSmrg		basic_machine=a29k-amd
42572b4363aSmrg		os=-udi
42672b4363aSmrg		;;
42772b4363aSmrg    	abacus)
42872b4363aSmrg		basic_machine=abacus-unknown
42972b4363aSmrg		;;
43072b4363aSmrg	adobe68k)
43172b4363aSmrg		basic_machine=m68010-adobe
43272b4363aSmrg		os=-scout
43372b4363aSmrg		;;
43472b4363aSmrg	alliant | fx80)
43572b4363aSmrg		basic_machine=fx80-alliant
43672b4363aSmrg		;;
43772b4363aSmrg	altos | altos3068)
43872b4363aSmrg		basic_machine=m68k-altos
43972b4363aSmrg		;;
44072b4363aSmrg	am29k)
44172b4363aSmrg		basic_machine=a29k-none
44272b4363aSmrg		os=-bsd
44372b4363aSmrg		;;
44472b4363aSmrg	amd64)
44572b4363aSmrg		basic_machine=x86_64-pc
44672b4363aSmrg		;;
44772b4363aSmrg	amd64-*)
44872b4363aSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44972b4363aSmrg		;;
45072b4363aSmrg	amdahl)
45172b4363aSmrg		basic_machine=580-amdahl
45272b4363aSmrg		os=-sysv
45372b4363aSmrg		;;
45472b4363aSmrg	amiga | amiga-*)
45572b4363aSmrg		basic_machine=m68k-unknown
45672b4363aSmrg		;;
45772b4363aSmrg	amigaos | amigados)
45872b4363aSmrg		basic_machine=m68k-unknown
45972b4363aSmrg		os=-amigaos
46072b4363aSmrg		;;
46172b4363aSmrg	amigaunix | amix)
46272b4363aSmrg		basic_machine=m68k-unknown
46372b4363aSmrg		os=-sysv4
46472b4363aSmrg		;;
46572b4363aSmrg	apollo68)
46672b4363aSmrg		basic_machine=m68k-apollo
46772b4363aSmrg		os=-sysv
46872b4363aSmrg		;;
46972b4363aSmrg	apollo68bsd)
47072b4363aSmrg		basic_machine=m68k-apollo
47172b4363aSmrg		os=-bsd
47272b4363aSmrg		;;
473dd77ae96Smrg	aros)
474dd77ae96Smrg		basic_machine=i386-pc
475dd77ae96Smrg		os=-aros
476dd77ae96Smrg		;;
47772b4363aSmrg	aux)
47872b4363aSmrg		basic_machine=m68k-apple
47972b4363aSmrg		os=-aux
48072b4363aSmrg		;;
48172b4363aSmrg	balance)
48272b4363aSmrg		basic_machine=ns32k-sequent
48372b4363aSmrg		os=-dynix
48472b4363aSmrg		;;
485dd77ae96Smrg	blackfin)
486dd77ae96Smrg		basic_machine=bfin-unknown
487dd77ae96Smrg		os=-linux
488dd77ae96Smrg		;;
489dd77ae96Smrg	blackfin-*)
490dd77ae96Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491dd77ae96Smrg		os=-linux
492dd77ae96Smrg		;;
49308e312fdSmrg	bluegene*)
49408e312fdSmrg		basic_machine=powerpc-ibm
49508e312fdSmrg		os=-cnk
49608e312fdSmrg		;;
49708e312fdSmrg	c54x-*)
49808e312fdSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49908e312fdSmrg		;;
50008e312fdSmrg	c55x-*)
50108e312fdSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50208e312fdSmrg		;;
50308e312fdSmrg	c6x-*)
50408e312fdSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50508e312fdSmrg		;;
50672b4363aSmrg	c90)
50772b4363aSmrg		basic_machine=c90-cray
50872b4363aSmrg		os=-unicos
50972b4363aSmrg		;;
510dd77ae96Smrg        cegcc)
511dd77ae96Smrg		basic_machine=arm-unknown
512dd77ae96Smrg		os=-cegcc
513dd77ae96Smrg		;;
51472b4363aSmrg	convex-c1)
51572b4363aSmrg		basic_machine=c1-convex
51672b4363aSmrg		os=-bsd
51772b4363aSmrg		;;
51872b4363aSmrg	convex-c2)
51972b4363aSmrg		basic_machine=c2-convex
52072b4363aSmrg		os=-bsd
52172b4363aSmrg		;;
52272b4363aSmrg	convex-c32)
52372b4363aSmrg		basic_machine=c32-convex
52472b4363aSmrg		os=-bsd
52572b4363aSmrg		;;
52672b4363aSmrg	convex-c34)
52772b4363aSmrg		basic_machine=c34-convex
52872b4363aSmrg		os=-bsd
52972b4363aSmrg		;;
53072b4363aSmrg	convex-c38)
53172b4363aSmrg		basic_machine=c38-convex
53272b4363aSmrg		os=-bsd
53372b4363aSmrg		;;
53472b4363aSmrg	cray | j90)
53572b4363aSmrg		basic_machine=j90-cray
53672b4363aSmrg		os=-unicos
53772b4363aSmrg		;;
53872b4363aSmrg	craynv)
53972b4363aSmrg		basic_machine=craynv-cray
54072b4363aSmrg		os=-unicosmp
54172b4363aSmrg		;;
542dd77ae96Smrg	cr16)
543dd77ae96Smrg		basic_machine=cr16-unknown
54472b4363aSmrg		os=-elf
54572b4363aSmrg		;;
54672b4363aSmrg	crds | unos)
54772b4363aSmrg		basic_machine=m68k-crds
54872b4363aSmrg		;;
54972b4363aSmrg	crisv32 | crisv32-* | etraxfs*)
55072b4363aSmrg		basic_machine=crisv32-axis
55172b4363aSmrg		;;
55272b4363aSmrg	cris | cris-* | etrax*)
55372b4363aSmrg		basic_machine=cris-axis
55472b4363aSmrg		;;
55572b4363aSmrg	crx)
55672b4363aSmrg		basic_machine=crx-unknown
55772b4363aSmrg		os=-elf
55872b4363aSmrg		;;
55972b4363aSmrg	da30 | da30-*)
56072b4363aSmrg		basic_machine=m68k-da30
56172b4363aSmrg		;;
56272b4363aSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56372b4363aSmrg		basic_machine=mips-dec
56472b4363aSmrg		;;
56572b4363aSmrg	decsystem10* | dec10*)
56672b4363aSmrg		basic_machine=pdp10-dec
56772b4363aSmrg		os=-tops10
56872b4363aSmrg		;;
56972b4363aSmrg	decsystem20* | dec20*)
57072b4363aSmrg		basic_machine=pdp10-dec
57172b4363aSmrg		os=-tops20
57272b4363aSmrg		;;
57372b4363aSmrg	delta | 3300 | motorola-3300 | motorola-delta \
57472b4363aSmrg	      | 3300-motorola | delta-motorola)
57572b4363aSmrg		basic_machine=m68k-motorola
57672b4363aSmrg		;;
57772b4363aSmrg	delta88)
57872b4363aSmrg		basic_machine=m88k-motorola
57972b4363aSmrg		os=-sysv3
58072b4363aSmrg		;;
581dd77ae96Smrg	dicos)
582dd77ae96Smrg		basic_machine=i686-pc
583dd77ae96Smrg		os=-dicos
584dd77ae96Smrg		;;
58572b4363aSmrg	djgpp)
58672b4363aSmrg		basic_machine=i586-pc
58772b4363aSmrg		os=-msdosdjgpp
58872b4363aSmrg		;;
58972b4363aSmrg	dpx20 | dpx20-*)
59072b4363aSmrg		basic_machine=rs6000-bull
59172b4363aSmrg		os=-bosx
59272b4363aSmrg		;;
59372b4363aSmrg	dpx2* | dpx2*-bull)
59472b4363aSmrg		basic_machine=m68k-bull
59572b4363aSmrg		os=-sysv3
59672b4363aSmrg		;;
59772b4363aSmrg	ebmon29k)
59872b4363aSmrg		basic_machine=a29k-amd
59972b4363aSmrg		os=-ebmon
60072b4363aSmrg		;;
60172b4363aSmrg	elxsi)
60272b4363aSmrg		basic_machine=elxsi-elxsi
60372b4363aSmrg		os=-bsd
60472b4363aSmrg		;;
60572b4363aSmrg	encore | umax | mmax)
60672b4363aSmrg		basic_machine=ns32k-encore
60772b4363aSmrg		;;
60872b4363aSmrg	es1800 | OSE68k | ose68k | ose | OSE)
60972b4363aSmrg		basic_machine=m68k-ericsson
61072b4363aSmrg		os=-ose
61172b4363aSmrg		;;
61272b4363aSmrg	fx2800)
61372b4363aSmrg		basic_machine=i860-alliant
61472b4363aSmrg		;;
61572b4363aSmrg	genix)
61672b4363aSmrg		basic_machine=ns32k-ns
61772b4363aSmrg		;;
61872b4363aSmrg	gmicro)
61972b4363aSmrg		basic_machine=tron-gmicro
62072b4363aSmrg		os=-sysv
62172b4363aSmrg		;;
62272b4363aSmrg	go32)
62372b4363aSmrg		basic_machine=i386-pc
62472b4363aSmrg		os=-go32
62572b4363aSmrg		;;
62672b4363aSmrg	h3050r* | hiux*)
62772b4363aSmrg		basic_machine=hppa1.1-hitachi
62872b4363aSmrg		os=-hiuxwe2
62972b4363aSmrg		;;
63072b4363aSmrg	h8300hms)
63172b4363aSmrg		basic_machine=h8300-hitachi
63272b4363aSmrg		os=-hms
63372b4363aSmrg		;;
63472b4363aSmrg	h8300xray)
63572b4363aSmrg		basic_machine=h8300-hitachi
63672b4363aSmrg		os=-xray
63772b4363aSmrg		;;
63872b4363aSmrg	h8500hms)
63972b4363aSmrg		basic_machine=h8500-hitachi
64072b4363aSmrg		os=-hms
64172b4363aSmrg		;;
64272b4363aSmrg	harris)
64372b4363aSmrg		basic_machine=m88k-harris
64472b4363aSmrg		os=-sysv3
64572b4363aSmrg		;;
64672b4363aSmrg	hp300-*)
64772b4363aSmrg		basic_machine=m68k-hp
64872b4363aSmrg		;;
64972b4363aSmrg	hp300bsd)
65072b4363aSmrg		basic_machine=m68k-hp
65172b4363aSmrg		os=-bsd
65272b4363aSmrg		;;
65372b4363aSmrg	hp300hpux)
65472b4363aSmrg		basic_machine=m68k-hp
65572b4363aSmrg		os=-hpux
65672b4363aSmrg		;;
65772b4363aSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65872b4363aSmrg		basic_machine=hppa1.0-hp
65972b4363aSmrg		;;
66072b4363aSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66172b4363aSmrg		basic_machine=m68000-hp
66272b4363aSmrg		;;
66372b4363aSmrg	hp9k3[2-9][0-9])
66472b4363aSmrg		basic_machine=m68k-hp
66572b4363aSmrg		;;
66672b4363aSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66772b4363aSmrg		basic_machine=hppa1.0-hp
66872b4363aSmrg		;;
66972b4363aSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67072b4363aSmrg		basic_machine=hppa1.1-hp
67172b4363aSmrg		;;
67272b4363aSmrg	hp9k78[0-9] | hp78[0-9])
67372b4363aSmrg		# FIXME: really hppa2.0-hp
67472b4363aSmrg		basic_machine=hppa1.1-hp
67572b4363aSmrg		;;
67672b4363aSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67772b4363aSmrg		# FIXME: really hppa2.0-hp
67872b4363aSmrg		basic_machine=hppa1.1-hp
67972b4363aSmrg		;;
68072b4363aSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68172b4363aSmrg		basic_machine=hppa1.1-hp
68272b4363aSmrg		;;
68372b4363aSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68472b4363aSmrg		basic_machine=hppa1.0-hp
68572b4363aSmrg		;;
68672b4363aSmrg	hppa-next)
68772b4363aSmrg		os=-nextstep3
68872b4363aSmrg		;;
68972b4363aSmrg	hppaosf)
69072b4363aSmrg		basic_machine=hppa1.1-hp
69172b4363aSmrg		os=-osf
69272b4363aSmrg		;;
69372b4363aSmrg	hppro)
69472b4363aSmrg		basic_machine=hppa1.1-hp
69572b4363aSmrg		os=-proelf
69672b4363aSmrg		;;
69772b4363aSmrg	i370-ibm* | ibm*)
69872b4363aSmrg		basic_machine=i370-ibm
69972b4363aSmrg		;;
70072b4363aSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70172b4363aSmrg	i*86v32)
70272b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70372b4363aSmrg		os=-sysv32
70472b4363aSmrg		;;
70572b4363aSmrg	i*86v4*)
70672b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70772b4363aSmrg		os=-sysv4
70872b4363aSmrg		;;
70972b4363aSmrg	i*86v)
71072b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71172b4363aSmrg		os=-sysv
71272b4363aSmrg		;;
71372b4363aSmrg	i*86sol2)
71472b4363aSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71572b4363aSmrg		os=-solaris2
71672b4363aSmrg		;;
71772b4363aSmrg	i386mach)
71872b4363aSmrg		basic_machine=i386-mach
71972b4363aSmrg		os=-mach
72072b4363aSmrg		;;
72172b4363aSmrg	i386-vsta | vsta)
72272b4363aSmrg		basic_machine=i386-unknown
72372b4363aSmrg		os=-vsta
72472b4363aSmrg		;;
72572b4363aSmrg	iris | iris4d)
72672b4363aSmrg		basic_machine=mips-sgi
72772b4363aSmrg		case $os in
72872b4363aSmrg		    -irix*)
72972b4363aSmrg			;;
73072b4363aSmrg		    *)
73172b4363aSmrg			os=-irix4
73272b4363aSmrg			;;
73372b4363aSmrg		esac
73472b4363aSmrg		;;
73572b4363aSmrg	isi68 | isi)
73672b4363aSmrg		basic_machine=m68k-isi
73772b4363aSmrg		os=-sysv
73872b4363aSmrg		;;
739dd77ae96Smrg	m68knommu)
740dd77ae96Smrg		basic_machine=m68k-unknown
741dd77ae96Smrg		os=-linux
742dd77ae96Smrg		;;
743dd77ae96Smrg	m68knommu-*)
744dd77ae96Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745dd77ae96Smrg		os=-linux
746dd77ae96Smrg		;;
74772b4363aSmrg	m88k-omron*)
74872b4363aSmrg		basic_machine=m88k-omron
74972b4363aSmrg		;;
75072b4363aSmrg	magnum | m3230)
75172b4363aSmrg		basic_machine=mips-mips
75272b4363aSmrg		os=-sysv
75372b4363aSmrg		;;
75472b4363aSmrg	merlin)
75572b4363aSmrg		basic_machine=ns32k-utek
75672b4363aSmrg		os=-sysv
75772b4363aSmrg		;;
75808e312fdSmrg        microblaze)
75908e312fdSmrg		basic_machine=microblaze-xilinx
76008e312fdSmrg		;;
76172b4363aSmrg	mingw32)
76272b4363aSmrg		basic_machine=i386-pc
76372b4363aSmrg		os=-mingw32
76472b4363aSmrg		;;
765dd77ae96Smrg	mingw32ce)
766dd77ae96Smrg		basic_machine=arm-unknown
767dd77ae96Smrg		os=-mingw32ce
768dd77ae96Smrg		;;
76972b4363aSmrg	miniframe)
77072b4363aSmrg		basic_machine=m68000-convergent
77172b4363aSmrg		;;
77272b4363aSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77372b4363aSmrg		basic_machine=m68k-atari
77472b4363aSmrg		os=-mint
77572b4363aSmrg		;;
77672b4363aSmrg	mips3*-*)
77772b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77872b4363aSmrg		;;
77972b4363aSmrg	mips3*)
78072b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78172b4363aSmrg		;;
78272b4363aSmrg	monitor)
78372b4363aSmrg		basic_machine=m68k-rom68k
78472b4363aSmrg		os=-coff
78572b4363aSmrg		;;
78672b4363aSmrg	morphos)
78772b4363aSmrg		basic_machine=powerpc-unknown
78872b4363aSmrg		os=-morphos
78972b4363aSmrg		;;
79072b4363aSmrg	msdos)
79172b4363aSmrg		basic_machine=i386-pc
79272b4363aSmrg		os=-msdos
79372b4363aSmrg		;;
79472b4363aSmrg	ms1-*)
79572b4363aSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79672b4363aSmrg		;;
79772b4363aSmrg	mvs)
79872b4363aSmrg		basic_machine=i370-ibm
79972b4363aSmrg		os=-mvs
80072b4363aSmrg		;;
80172b4363aSmrg	ncr3000)
80272b4363aSmrg		basic_machine=i486-ncr
80372b4363aSmrg		os=-sysv4
80472b4363aSmrg		;;
80572b4363aSmrg	netbsd386)
80672b4363aSmrg		basic_machine=i386-unknown
80772b4363aSmrg		os=-netbsd
80872b4363aSmrg		;;
80972b4363aSmrg	netwinder)
81072b4363aSmrg		basic_machine=armv4l-rebel
81172b4363aSmrg		os=-linux
81272b4363aSmrg		;;
81372b4363aSmrg	news | news700 | news800 | news900)
81472b4363aSmrg		basic_machine=m68k-sony
81572b4363aSmrg		os=-newsos
81672b4363aSmrg		;;
81772b4363aSmrg	news1000)
81872b4363aSmrg		basic_machine=m68030-sony
81972b4363aSmrg		os=-newsos
82072b4363aSmrg		;;
82172b4363aSmrg	news-3600 | risc-news)
82272b4363aSmrg		basic_machine=mips-sony
82372b4363aSmrg		os=-newsos
82472b4363aSmrg		;;
82572b4363aSmrg	necv70)
82672b4363aSmrg		basic_machine=v70-nec
82772b4363aSmrg		os=-sysv
82872b4363aSmrg		;;
82972b4363aSmrg	next | m*-next )
83072b4363aSmrg		basic_machine=m68k-next
83172b4363aSmrg		case $os in
83272b4363aSmrg		    -nextstep* )
83372b4363aSmrg			;;
83472b4363aSmrg		    -ns2*)
83572b4363aSmrg		      os=-nextstep2
83672b4363aSmrg			;;
83772b4363aSmrg		    *)
83872b4363aSmrg		      os=-nextstep3
83972b4363aSmrg			;;
84072b4363aSmrg		esac
84172b4363aSmrg		;;
84272b4363aSmrg	nh3000)
84372b4363aSmrg		basic_machine=m68k-harris
84472b4363aSmrg		os=-cxux
84572b4363aSmrg		;;
84672b4363aSmrg	nh[45]000)
84772b4363aSmrg		basic_machine=m88k-harris
84872b4363aSmrg		os=-cxux
84972b4363aSmrg		;;
85072b4363aSmrg	nindy960)
85172b4363aSmrg		basic_machine=i960-intel
85272b4363aSmrg		os=-nindy
85372b4363aSmrg		;;
85472b4363aSmrg	mon960)
85572b4363aSmrg		basic_machine=i960-intel
85672b4363aSmrg		os=-mon960
85772b4363aSmrg		;;
85872b4363aSmrg	nonstopux)
85972b4363aSmrg		basic_machine=mips-compaq
86072b4363aSmrg		os=-nonstopux
86172b4363aSmrg		;;
86272b4363aSmrg	np1)
86372b4363aSmrg		basic_machine=np1-gould
86472b4363aSmrg		;;
86508e312fdSmrg        neo-tandem)
86608e312fdSmrg		basic_machine=neo-tandem
86708e312fdSmrg		;;
86808e312fdSmrg        nse-tandem)
86908e312fdSmrg		basic_machine=nse-tandem
87008e312fdSmrg		;;
87172b4363aSmrg	nsr-tandem)
87272b4363aSmrg		basic_machine=nsr-tandem
87372b4363aSmrg		;;
87472b4363aSmrg	op50n-* | op60c-*)
87572b4363aSmrg		basic_machine=hppa1.1-oki
87672b4363aSmrg		os=-proelf
87772b4363aSmrg		;;
87872b4363aSmrg	openrisc | openrisc-*)
87972b4363aSmrg		basic_machine=or32-unknown
88072b4363aSmrg		;;
88172b4363aSmrg	os400)
88272b4363aSmrg		basic_machine=powerpc-ibm
88372b4363aSmrg		os=-os400
88472b4363aSmrg		;;
88572b4363aSmrg	OSE68000 | ose68000)
88672b4363aSmrg		basic_machine=m68000-ericsson
88772b4363aSmrg		os=-ose
88872b4363aSmrg		;;
88972b4363aSmrg	os68k)
89072b4363aSmrg		basic_machine=m68k-none
89172b4363aSmrg		os=-os68k
89272b4363aSmrg		;;
89372b4363aSmrg	pa-hitachi)
89472b4363aSmrg		basic_machine=hppa1.1-hitachi
89572b4363aSmrg		os=-hiuxwe2
89672b4363aSmrg		;;
89772b4363aSmrg	paragon)
89872b4363aSmrg		basic_machine=i860-intel
89972b4363aSmrg		os=-osf
90072b4363aSmrg		;;
901dd77ae96Smrg	parisc)
902dd77ae96Smrg		basic_machine=hppa-unknown
903dd77ae96Smrg		os=-linux
904dd77ae96Smrg		;;
905dd77ae96Smrg	parisc-*)
906dd77ae96Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907dd77ae96Smrg		os=-linux
908dd77ae96Smrg		;;
90972b4363aSmrg	pbd)
91072b4363aSmrg		basic_machine=sparc-tti
91172b4363aSmrg		;;
91272b4363aSmrg	pbb)
91372b4363aSmrg		basic_machine=m68k-tti
91472b4363aSmrg		;;
91572b4363aSmrg	pc532 | pc532-*)
91672b4363aSmrg		basic_machine=ns32k-pc532
91772b4363aSmrg		;;
91872b4363aSmrg	pc98)
91972b4363aSmrg		basic_machine=i386-pc
92072b4363aSmrg		;;
92172b4363aSmrg	pc98-*)
92272b4363aSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92372b4363aSmrg		;;
92472b4363aSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92572b4363aSmrg		basic_machine=i586-pc
92672b4363aSmrg		;;
92772b4363aSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92872b4363aSmrg		basic_machine=i686-pc
92972b4363aSmrg		;;
93072b4363aSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
93172b4363aSmrg		basic_machine=i686-pc
93272b4363aSmrg		;;
93372b4363aSmrg	pentium4)
93472b4363aSmrg		basic_machine=i786-pc
93572b4363aSmrg		;;
93672b4363aSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93772b4363aSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93872b4363aSmrg		;;
93972b4363aSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94072b4363aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94172b4363aSmrg		;;
94272b4363aSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94372b4363aSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94472b4363aSmrg		;;
94572b4363aSmrg	pentium4-*)
94672b4363aSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94772b4363aSmrg		;;
94872b4363aSmrg	pn)
94972b4363aSmrg		basic_machine=pn-gould
95072b4363aSmrg		;;
95172b4363aSmrg	power)	basic_machine=power-ibm
95272b4363aSmrg		;;
95372b4363aSmrg	ppc)	basic_machine=powerpc-unknown
95472b4363aSmrg		;;
95572b4363aSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95672b4363aSmrg		;;
95772b4363aSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95872b4363aSmrg		basic_machine=powerpcle-unknown
95972b4363aSmrg		;;
96072b4363aSmrg	ppcle-* | powerpclittle-*)
96172b4363aSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96272b4363aSmrg		;;
96372b4363aSmrg	ppc64)	basic_machine=powerpc64-unknown
96472b4363aSmrg		;;
96572b4363aSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96672b4363aSmrg		;;
96772b4363aSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96872b4363aSmrg		basic_machine=powerpc64le-unknown
96972b4363aSmrg		;;
97072b4363aSmrg	ppc64le-* | powerpc64little-*)
97172b4363aSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97272b4363aSmrg		;;
97372b4363aSmrg	ps2)
97472b4363aSmrg		basic_machine=i386-ibm
97572b4363aSmrg		;;
97672b4363aSmrg	pw32)
97772b4363aSmrg		basic_machine=i586-unknown
97872b4363aSmrg		os=-pw32
97972b4363aSmrg		;;
98072b4363aSmrg	rdos)
98172b4363aSmrg		basic_machine=i386-pc
98272b4363aSmrg		os=-rdos
98372b4363aSmrg		;;
98472b4363aSmrg	rom68k)
98572b4363aSmrg		basic_machine=m68k-rom68k
98672b4363aSmrg		os=-coff
98772b4363aSmrg		;;
98872b4363aSmrg	rm[46]00)
98972b4363aSmrg		basic_machine=mips-siemens
99072b4363aSmrg		;;
99172b4363aSmrg	rtpc | rtpc-*)
99272b4363aSmrg		basic_machine=romp-ibm
99372b4363aSmrg		;;
99472b4363aSmrg	s390 | s390-*)
99572b4363aSmrg		basic_machine=s390-ibm
99672b4363aSmrg		;;
99772b4363aSmrg	s390x | s390x-*)
99872b4363aSmrg		basic_machine=s390x-ibm
99972b4363aSmrg		;;
100072b4363aSmrg	sa29200)
100172b4363aSmrg		basic_machine=a29k-amd
100272b4363aSmrg		os=-udi
100372b4363aSmrg		;;
100472b4363aSmrg	sb1)
100572b4363aSmrg		basic_machine=mipsisa64sb1-unknown
100672b4363aSmrg		;;
100772b4363aSmrg	sb1el)
100872b4363aSmrg		basic_machine=mipsisa64sb1el-unknown
100972b4363aSmrg		;;
101072b4363aSmrg	sde)
101172b4363aSmrg		basic_machine=mipsisa32-sde
101272b4363aSmrg		os=-elf
101372b4363aSmrg		;;
101472b4363aSmrg	sei)
101572b4363aSmrg		basic_machine=mips-sei
101672b4363aSmrg		os=-seiux
101772b4363aSmrg		;;
101872b4363aSmrg	sequent)
101972b4363aSmrg		basic_machine=i386-sequent
102072b4363aSmrg		;;
102172b4363aSmrg	sh)
102272b4363aSmrg		basic_machine=sh-hitachi
102372b4363aSmrg		os=-hms
102472b4363aSmrg		;;
1025dd77ae96Smrg	sh5el)
1026dd77ae96Smrg		basic_machine=sh5le-unknown
1027dd77ae96Smrg		;;
102872b4363aSmrg	sh64)
102972b4363aSmrg		basic_machine=sh64-unknown
103072b4363aSmrg		;;
103172b4363aSmrg	sparclite-wrs | simso-wrs)
103272b4363aSmrg		basic_machine=sparclite-wrs
103372b4363aSmrg		os=-vxworks
103472b4363aSmrg		;;
103572b4363aSmrg	sps7)
103672b4363aSmrg		basic_machine=m68k-bull
103772b4363aSmrg		os=-sysv2
103872b4363aSmrg		;;
103972b4363aSmrg	spur)
104072b4363aSmrg		basic_machine=spur-unknown
104172b4363aSmrg		;;
104272b4363aSmrg	st2000)
104372b4363aSmrg		basic_machine=m68k-tandem
104472b4363aSmrg		;;
104572b4363aSmrg	stratus)
104672b4363aSmrg		basic_machine=i860-stratus
104772b4363aSmrg		os=-sysv4
104872b4363aSmrg		;;
104972b4363aSmrg	sun2)
105072b4363aSmrg		basic_machine=m68000-sun
105172b4363aSmrg		;;
105272b4363aSmrg	sun2os3)
105372b4363aSmrg		basic_machine=m68000-sun
105472b4363aSmrg		os=-sunos3
105572b4363aSmrg		;;
105672b4363aSmrg	sun2os4)
105772b4363aSmrg		basic_machine=m68000-sun
105872b4363aSmrg		os=-sunos4
105972b4363aSmrg		;;
106072b4363aSmrg	sun3os3)
106172b4363aSmrg		basic_machine=m68k-sun
106272b4363aSmrg		os=-sunos3
106372b4363aSmrg		;;
106472b4363aSmrg	sun3os4)
106572b4363aSmrg		basic_machine=m68k-sun
106672b4363aSmrg		os=-sunos4
106772b4363aSmrg		;;
106872b4363aSmrg	sun4os3)
106972b4363aSmrg		basic_machine=sparc-sun
107072b4363aSmrg		os=-sunos3
107172b4363aSmrg		;;
107272b4363aSmrg	sun4os4)
107372b4363aSmrg		basic_machine=sparc-sun
107472b4363aSmrg		os=-sunos4
107572b4363aSmrg		;;
107672b4363aSmrg	sun4sol2)
107772b4363aSmrg		basic_machine=sparc-sun
107872b4363aSmrg		os=-solaris2
107972b4363aSmrg		;;
108072b4363aSmrg	sun3 | sun3-*)
108172b4363aSmrg		basic_machine=m68k-sun
108272b4363aSmrg		;;
108372b4363aSmrg	sun4)
108472b4363aSmrg		basic_machine=sparc-sun
108572b4363aSmrg		;;
108672b4363aSmrg	sun386 | sun386i | roadrunner)
108772b4363aSmrg		basic_machine=i386-sun
108872b4363aSmrg		;;
108972b4363aSmrg	sv1)
109072b4363aSmrg		basic_machine=sv1-cray
109172b4363aSmrg		os=-unicos
109272b4363aSmrg		;;
109372b4363aSmrg	symmetry)
109472b4363aSmrg		basic_machine=i386-sequent
109572b4363aSmrg		os=-dynix
109672b4363aSmrg		;;
109772b4363aSmrg	t3e)
109872b4363aSmrg		basic_machine=alphaev5-cray
109972b4363aSmrg		os=-unicos
110072b4363aSmrg		;;
110172b4363aSmrg	t90)
110272b4363aSmrg		basic_machine=t90-cray
110372b4363aSmrg		os=-unicos
110472b4363aSmrg		;;
110508e312fdSmrg        # This must be matched before tile*.
110608e312fdSmrg        tilegx*)
110708e312fdSmrg		basic_machine=tilegx-unknown
110808e312fdSmrg		os=-linux-gnu
110972b4363aSmrg		;;
1110dd77ae96Smrg	tile*)
1111dd77ae96Smrg		basic_machine=tile-unknown
1112dd77ae96Smrg		os=-linux-gnu
1113dd77ae96Smrg		;;
111472b4363aSmrg	tx39)
111572b4363aSmrg		basic_machine=mipstx39-unknown
111672b4363aSmrg		;;
111772b4363aSmrg	tx39el)
111872b4363aSmrg		basic_machine=mipstx39el-unknown
111972b4363aSmrg		;;
112072b4363aSmrg	toad1)
112172b4363aSmrg		basic_machine=pdp10-xkl
112272b4363aSmrg		os=-tops20
112372b4363aSmrg		;;
112472b4363aSmrg	tower | tower-32)
112572b4363aSmrg		basic_machine=m68k-ncr
112672b4363aSmrg		;;
112772b4363aSmrg	tpf)
112872b4363aSmrg		basic_machine=s390x-ibm
112972b4363aSmrg		os=-tpf
113072b4363aSmrg		;;
113172b4363aSmrg	udi29k)
113272b4363aSmrg		basic_machine=a29k-amd
113372b4363aSmrg		os=-udi
113472b4363aSmrg		;;
113572b4363aSmrg	ultra3)
113672b4363aSmrg		basic_machine=a29k-nyu
113772b4363aSmrg		os=-sym1
113872b4363aSmrg		;;
113972b4363aSmrg	v810 | necv810)
114072b4363aSmrg		basic_machine=v810-nec
114172b4363aSmrg		os=-none
114272b4363aSmrg		;;
114372b4363aSmrg	vaxv)
114472b4363aSmrg		basic_machine=vax-dec
114572b4363aSmrg		os=-sysv
114672b4363aSmrg		;;
114772b4363aSmrg	vms)
114872b4363aSmrg		basic_machine=vax-dec
114972b4363aSmrg		os=-vms
115072b4363aSmrg		;;
115172b4363aSmrg	vpp*|vx|vx-*)
115272b4363aSmrg		basic_machine=f301-fujitsu
115372b4363aSmrg		;;
115472b4363aSmrg	vxworks960)
115572b4363aSmrg		basic_machine=i960-wrs
115672b4363aSmrg		os=-vxworks
115772b4363aSmrg		;;
115872b4363aSmrg	vxworks68)
115972b4363aSmrg		basic_machine=m68k-wrs
116072b4363aSmrg		os=-vxworks
116172b4363aSmrg		;;
116272b4363aSmrg	vxworks29k)
116372b4363aSmrg		basic_machine=a29k-wrs
116472b4363aSmrg		os=-vxworks
116572b4363aSmrg		;;
116672b4363aSmrg	w65*)
116772b4363aSmrg		basic_machine=w65-wdc
116872b4363aSmrg		os=-none
116972b4363aSmrg		;;
117072b4363aSmrg	w89k-*)
117172b4363aSmrg		basic_machine=hppa1.1-winbond
117272b4363aSmrg		os=-proelf
117372b4363aSmrg		;;
117472b4363aSmrg	xbox)
117572b4363aSmrg		basic_machine=i686-pc
117672b4363aSmrg		os=-mingw32
117772b4363aSmrg		;;
117872b4363aSmrg	xps | xps100)
117972b4363aSmrg		basic_machine=xps100-honeywell
118072b4363aSmrg		;;
118172b4363aSmrg	ymp)
118272b4363aSmrg		basic_machine=ymp-cray
118372b4363aSmrg		os=-unicos
118472b4363aSmrg		;;
118572b4363aSmrg	z8k-*-coff)
118672b4363aSmrg		basic_machine=z8k-unknown
118772b4363aSmrg		os=-sim
118872b4363aSmrg		;;
1189dd77ae96Smrg	z80-*-coff)
1190dd77ae96Smrg		basic_machine=z80-unknown
1191dd77ae96Smrg		os=-sim
1192dd77ae96Smrg		;;
119372b4363aSmrg	none)
119472b4363aSmrg		basic_machine=none-none
119572b4363aSmrg		os=-none
119672b4363aSmrg		;;
119772b4363aSmrg
119872b4363aSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
119972b4363aSmrg# some cases the only manufacturer, in others, it is the most popular.
120072b4363aSmrg	w89k)
120172b4363aSmrg		basic_machine=hppa1.1-winbond
120272b4363aSmrg		;;
120372b4363aSmrg	op50n)
120472b4363aSmrg		basic_machine=hppa1.1-oki
120572b4363aSmrg		;;
120672b4363aSmrg	op60c)
120772b4363aSmrg		basic_machine=hppa1.1-oki
120872b4363aSmrg		;;
120972b4363aSmrg	romp)
121072b4363aSmrg		basic_machine=romp-ibm
121172b4363aSmrg		;;
121272b4363aSmrg	mmix)
121372b4363aSmrg		basic_machine=mmix-knuth
121472b4363aSmrg		;;
121572b4363aSmrg	rs6000)
121672b4363aSmrg		basic_machine=rs6000-ibm
121772b4363aSmrg		;;
121872b4363aSmrg	vax)
121972b4363aSmrg		basic_machine=vax-dec
122072b4363aSmrg		;;
122172b4363aSmrg	pdp10)
122272b4363aSmrg		# there are many clones, so DEC is not a safe bet
122372b4363aSmrg		basic_machine=pdp10-unknown
122472b4363aSmrg		;;
122572b4363aSmrg	pdp11)
122672b4363aSmrg		basic_machine=pdp11-dec
122772b4363aSmrg		;;
122872b4363aSmrg	we32k)
122972b4363aSmrg		basic_machine=we32k-att
123072b4363aSmrg		;;
1231dd77ae96Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123272b4363aSmrg		basic_machine=sh-unknown
123372b4363aSmrg		;;
123472b4363aSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123572b4363aSmrg		basic_machine=sparc-sun
123672b4363aSmrg		;;
123772b4363aSmrg	cydra)
123872b4363aSmrg		basic_machine=cydra-cydrome
123972b4363aSmrg		;;
124072b4363aSmrg	orion)
124172b4363aSmrg		basic_machine=orion-highlevel
124272b4363aSmrg		;;
124372b4363aSmrg	orion105)
124472b4363aSmrg		basic_machine=clipper-highlevel
124572b4363aSmrg		;;
124672b4363aSmrg	mac | mpw | mac-mpw)
124772b4363aSmrg		basic_machine=m68k-apple
124872b4363aSmrg		;;
124972b4363aSmrg	pmac | pmac-mpw)
125072b4363aSmrg		basic_machine=powerpc-apple
125172b4363aSmrg		;;
125272b4363aSmrg	*-unknown)
125372b4363aSmrg		# Make sure to match an already-canonicalized machine name.
125472b4363aSmrg		;;
125572b4363aSmrg	*)
125672b4363aSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125772b4363aSmrg		exit 1
125872b4363aSmrg		;;
125972b4363aSmrgesac
126072b4363aSmrg
126172b4363aSmrg# Here we canonicalize certain aliases for manufacturers.
126272b4363aSmrgcase $basic_machine in
126372b4363aSmrg	*-digital*)
126472b4363aSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126572b4363aSmrg		;;
126672b4363aSmrg	*-commodore*)
126772b4363aSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126872b4363aSmrg		;;
126972b4363aSmrg	*)
127072b4363aSmrg		;;
127172b4363aSmrgesac
127272b4363aSmrg
127372b4363aSmrg# Decode manufacturer-specific aliases for certain operating systems.
127472b4363aSmrg
127572b4363aSmrgif [ x"$os" != x"" ]
127672b4363aSmrgthen
127772b4363aSmrgcase $os in
127872b4363aSmrg        # First match some system type aliases
127972b4363aSmrg        # that might get confused with valid system types.
128072b4363aSmrg	# -solaris* is a basic system type, with this one exception.
128108e312fdSmrg        -auroraux)
128208e312fdSmrg	        os=-auroraux
128308e312fdSmrg		;;
128472b4363aSmrg	-solaris1 | -solaris1.*)
128572b4363aSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128672b4363aSmrg		;;
128772b4363aSmrg	-solaris)
128872b4363aSmrg		os=-solaris2
128972b4363aSmrg		;;
129072b4363aSmrg	-svr4*)
129172b4363aSmrg		os=-sysv4
129272b4363aSmrg		;;
129372b4363aSmrg	-unixware*)
129472b4363aSmrg		os=-sysv4.2uw
129572b4363aSmrg		;;
129672b4363aSmrg	-gnu/linux*)
129772b4363aSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129872b4363aSmrg		;;
129972b4363aSmrg	# First accept the basic system types.
130072b4363aSmrg	# The portable systems comes first.
130172b4363aSmrg	# Each alternative MUST END IN A *, to match a version number.
130272b4363aSmrg	# -sysv* is not here because it comes later, after sysvr4.
130372b4363aSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130408e312fdSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130508e312fdSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130608e312fdSmrg	      | -sym* | -kopensolaris* \
130772b4363aSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308dd77ae96Smrg	      | -aos* | -aros* \
130972b4363aSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131072b4363aSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131172b4363aSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131272b4363aSmrg	      | -openbsd* | -solidbsd* \
131372b4363aSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
131472b4363aSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131572b4363aSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131672b4363aSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317dd77ae96Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131872b4363aSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131908e312fdSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132008e312fdSmrg	      | -linux-newlib* | -linux-uclibc* \
132172b4363aSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132272b4363aSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132372b4363aSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132472b4363aSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132572b4363aSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132672b4363aSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
132772b4363aSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132808e312fdSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132972b4363aSmrg	# Remember, each alternative MUST END IN *, to match a version number.
133072b4363aSmrg		;;
133172b4363aSmrg	-qnx*)
133272b4363aSmrg		case $basic_machine in
133372b4363aSmrg		    x86-* | i*86-*)
133472b4363aSmrg			;;
133572b4363aSmrg		    *)
133672b4363aSmrg			os=-nto$os
133772b4363aSmrg			;;
133872b4363aSmrg		esac
133972b4363aSmrg		;;
134072b4363aSmrg	-nto-qnx*)
134172b4363aSmrg		;;
134272b4363aSmrg	-nto*)
134372b4363aSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134472b4363aSmrg		;;
134572b4363aSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
134672b4363aSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134772b4363aSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134872b4363aSmrg		;;
134972b4363aSmrg	-mac*)
135072b4363aSmrg		os=`echo $os | sed -e 's|mac|macos|'`
135172b4363aSmrg		;;
135272b4363aSmrg	-linux-dietlibc)
135372b4363aSmrg		os=-linux-dietlibc
135472b4363aSmrg		;;
135572b4363aSmrg	-linux*)
135672b4363aSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135772b4363aSmrg		;;
135872b4363aSmrg	-sunos5*)
135972b4363aSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136072b4363aSmrg		;;
136172b4363aSmrg	-sunos6*)
136272b4363aSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136372b4363aSmrg		;;
136472b4363aSmrg	-opened*)
136572b4363aSmrg		os=-openedition
136672b4363aSmrg		;;
136772b4363aSmrg        -os400*)
136872b4363aSmrg		os=-os400
136972b4363aSmrg		;;
137072b4363aSmrg	-wince*)
137172b4363aSmrg		os=-wince
137272b4363aSmrg		;;
137372b4363aSmrg	-osfrose*)
137472b4363aSmrg		os=-osfrose
137572b4363aSmrg		;;
137672b4363aSmrg	-osf*)
137772b4363aSmrg		os=-osf
137872b4363aSmrg		;;
137972b4363aSmrg	-utek*)
138072b4363aSmrg		os=-bsd
138172b4363aSmrg		;;
138272b4363aSmrg	-dynix*)
138372b4363aSmrg		os=-bsd
138472b4363aSmrg		;;
138572b4363aSmrg	-acis*)
138672b4363aSmrg		os=-aos
138772b4363aSmrg		;;
138872b4363aSmrg	-atheos*)
138972b4363aSmrg		os=-atheos
139072b4363aSmrg		;;
139172b4363aSmrg	-syllable*)
139272b4363aSmrg		os=-syllable
139372b4363aSmrg		;;
139472b4363aSmrg	-386bsd)
139572b4363aSmrg		os=-bsd
139672b4363aSmrg		;;
139772b4363aSmrg	-ctix* | -uts*)
139872b4363aSmrg		os=-sysv
139972b4363aSmrg		;;
140072b4363aSmrg	-nova*)
140172b4363aSmrg		os=-rtmk-nova
140272b4363aSmrg		;;
140372b4363aSmrg	-ns2 )
140472b4363aSmrg		os=-nextstep2
140572b4363aSmrg		;;
140672b4363aSmrg	-nsk*)
140772b4363aSmrg		os=-nsk
140872b4363aSmrg		;;
140972b4363aSmrg	# Preserve the version number of sinix5.
141072b4363aSmrg	-sinix5.*)
141172b4363aSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141272b4363aSmrg		;;
141372b4363aSmrg	-sinix*)
141472b4363aSmrg		os=-sysv4
141572b4363aSmrg		;;
141672b4363aSmrg        -tpf*)
141772b4363aSmrg		os=-tpf
141872b4363aSmrg		;;
141972b4363aSmrg	-triton*)
142072b4363aSmrg		os=-sysv3
142172b4363aSmrg		;;
142272b4363aSmrg	-oss*)
142372b4363aSmrg		os=-sysv3
142472b4363aSmrg		;;
142572b4363aSmrg	-svr4)
142672b4363aSmrg		os=-sysv4
142772b4363aSmrg		;;
142872b4363aSmrg	-svr3)
142972b4363aSmrg		os=-sysv3
143072b4363aSmrg		;;
143172b4363aSmrg	-sysvr4)
143272b4363aSmrg		os=-sysv4
143372b4363aSmrg		;;
143472b4363aSmrg	# This must come after -sysvr4.
143572b4363aSmrg	-sysv*)
143672b4363aSmrg		;;
143772b4363aSmrg	-ose*)
143872b4363aSmrg		os=-ose
143972b4363aSmrg		;;
144072b4363aSmrg	-es1800*)
144172b4363aSmrg		os=-ose
144272b4363aSmrg		;;
144372b4363aSmrg	-xenix)
144472b4363aSmrg		os=-xenix
144572b4363aSmrg		;;
144672b4363aSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144772b4363aSmrg		os=-mint
144872b4363aSmrg		;;
144972b4363aSmrg	-aros*)
145072b4363aSmrg		os=-aros
145172b4363aSmrg		;;
145272b4363aSmrg	-kaos*)
145372b4363aSmrg		os=-kaos
145472b4363aSmrg		;;
145572b4363aSmrg	-zvmoe)
145672b4363aSmrg		os=-zvmoe
145772b4363aSmrg		;;
1458dd77ae96Smrg	-dicos*)
1459dd77ae96Smrg		os=-dicos
1460dd77ae96Smrg		;;
146108e312fdSmrg        -nacl*)
146208e312fdSmrg	        ;;
146372b4363aSmrg	-none)
146472b4363aSmrg		;;
146572b4363aSmrg	*)
146672b4363aSmrg		# Get rid of the `-' at the beginning of $os.
146772b4363aSmrg		os=`echo $os | sed 's/[^-]*-//'`
146872b4363aSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146972b4363aSmrg		exit 1
147072b4363aSmrg		;;
147172b4363aSmrgesac
147272b4363aSmrgelse
147372b4363aSmrg
147472b4363aSmrg# Here we handle the default operating systems that come with various machines.
147572b4363aSmrg# The value should be what the vendor currently ships out the door with their
147672b4363aSmrg# machine or put another way, the most popular os provided with the machine.
147772b4363aSmrg
147872b4363aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147972b4363aSmrg# "-sun"), then you have to tell the case statement up towards the top
148072b4363aSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148172b4363aSmrg# will signal an error saying that MANUFACTURER isn't an operating
148272b4363aSmrg# system, and we'll never get to this point.
148372b4363aSmrg
148472b4363aSmrgcase $basic_machine in
148572b4363aSmrg        score-*)
148672b4363aSmrg		os=-elf
148772b4363aSmrg		;;
148872b4363aSmrg        spu-*)
148972b4363aSmrg		os=-elf
149072b4363aSmrg		;;
149172b4363aSmrg	*-acorn)
149272b4363aSmrg		os=-riscix1.2
149372b4363aSmrg		;;
149472b4363aSmrg	arm*-rebel)
149572b4363aSmrg		os=-linux
149672b4363aSmrg		;;
149772b4363aSmrg	arm*-semi)
149872b4363aSmrg		os=-aout
149972b4363aSmrg		;;
150072b4363aSmrg        c4x-* | tic4x-*)
150172b4363aSmrg        	os=-coff
150272b4363aSmrg		;;
150308e312fdSmrg	tic54x-*)
150408e312fdSmrg		os=-coff
150508e312fdSmrg		;;
150608e312fdSmrg	tic55x-*)
150708e312fdSmrg		os=-coff
150808e312fdSmrg		;;
150908e312fdSmrg	tic6x-*)
151008e312fdSmrg		os=-coff
151108e312fdSmrg		;;
151272b4363aSmrg	# This must come before the *-dec entry.
151372b4363aSmrg	pdp10-*)
151472b4363aSmrg		os=-tops20
151572b4363aSmrg		;;
151672b4363aSmrg	pdp11-*)
151772b4363aSmrg		os=-none
151872b4363aSmrg		;;
151972b4363aSmrg	*-dec | vax-*)
152072b4363aSmrg		os=-ultrix4.2
152172b4363aSmrg		;;
152272b4363aSmrg	m68*-apollo)
152372b4363aSmrg		os=-domain
152472b4363aSmrg		;;
152572b4363aSmrg	i386-sun)
152672b4363aSmrg		os=-sunos4.0.2
152772b4363aSmrg		;;
152872b4363aSmrg	m68000-sun)
152972b4363aSmrg		os=-sunos3
153072b4363aSmrg		# This also exists in the configure program, but was not the
153172b4363aSmrg		# default.
153272b4363aSmrg		# os=-sunos4
153372b4363aSmrg		;;
153472b4363aSmrg	m68*-cisco)
153572b4363aSmrg		os=-aout
153672b4363aSmrg		;;
1537dd77ae96Smrg        mep-*)
1538dd77ae96Smrg		os=-elf
1539dd77ae96Smrg		;;
154072b4363aSmrg	mips*-cisco)
154172b4363aSmrg		os=-elf
154272b4363aSmrg		;;
154372b4363aSmrg	mips*-*)
154472b4363aSmrg		os=-elf
154572b4363aSmrg		;;
154672b4363aSmrg	or32-*)
154772b4363aSmrg		os=-coff
154872b4363aSmrg		;;
154972b4363aSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
155072b4363aSmrg		os=-sysv3
155172b4363aSmrg		;;
155272b4363aSmrg	sparc-* | *-sun)
155372b4363aSmrg		os=-sunos4.1.1
155472b4363aSmrg		;;
155572b4363aSmrg	*-be)
155672b4363aSmrg		os=-beos
155772b4363aSmrg		;;
155872b4363aSmrg	*-haiku)
155972b4363aSmrg		os=-haiku
156072b4363aSmrg		;;
156172b4363aSmrg	*-ibm)
156272b4363aSmrg		os=-aix
156372b4363aSmrg		;;
156472b4363aSmrg    	*-knuth)
156572b4363aSmrg		os=-mmixware
156672b4363aSmrg		;;
156772b4363aSmrg	*-wec)
156872b4363aSmrg		os=-proelf
156972b4363aSmrg		;;
157072b4363aSmrg	*-winbond)
157172b4363aSmrg		os=-proelf
157272b4363aSmrg		;;
157372b4363aSmrg	*-oki)
157472b4363aSmrg		os=-proelf
157572b4363aSmrg		;;
157672b4363aSmrg	*-hp)
157772b4363aSmrg		os=-hpux
157872b4363aSmrg		;;
157972b4363aSmrg	*-hitachi)
158072b4363aSmrg		os=-hiux
158172b4363aSmrg		;;
158272b4363aSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158372b4363aSmrg		os=-sysv
158472b4363aSmrg		;;
158572b4363aSmrg	*-cbm)
158672b4363aSmrg		os=-amigaos
158772b4363aSmrg		;;
158872b4363aSmrg	*-dg)
158972b4363aSmrg		os=-dgux
159072b4363aSmrg		;;
159172b4363aSmrg	*-dolphin)
159272b4363aSmrg		os=-sysv3
159372b4363aSmrg		;;
159472b4363aSmrg	m68k-ccur)
159572b4363aSmrg		os=-rtu
159672b4363aSmrg		;;
159772b4363aSmrg	m88k-omron*)
159872b4363aSmrg		os=-luna
159972b4363aSmrg		;;
160072b4363aSmrg	*-next )
160172b4363aSmrg		os=-nextstep
160272b4363aSmrg		;;
160372b4363aSmrg	*-sequent)
160472b4363aSmrg		os=-ptx
160572b4363aSmrg		;;
160672b4363aSmrg	*-crds)
160772b4363aSmrg		os=-unos
160872b4363aSmrg		;;
160972b4363aSmrg	*-ns)
161072b4363aSmrg		os=-genix
161172b4363aSmrg		;;
161272b4363aSmrg	i370-*)
161372b4363aSmrg		os=-mvs
161472b4363aSmrg		;;
161572b4363aSmrg	*-next)
161672b4363aSmrg		os=-nextstep3
161772b4363aSmrg		;;
161872b4363aSmrg	*-gould)
161972b4363aSmrg		os=-sysv
162072b4363aSmrg		;;
162172b4363aSmrg	*-highlevel)
162272b4363aSmrg		os=-bsd
162372b4363aSmrg		;;
162472b4363aSmrg	*-encore)
162572b4363aSmrg		os=-bsd
162672b4363aSmrg		;;
162772b4363aSmrg	*-sgi)
162872b4363aSmrg		os=-irix
162972b4363aSmrg		;;
163072b4363aSmrg	*-siemens)
163172b4363aSmrg		os=-sysv4
163272b4363aSmrg		;;
163372b4363aSmrg	*-masscomp)
163472b4363aSmrg		os=-rtu
163572b4363aSmrg		;;
163672b4363aSmrg	f30[01]-fujitsu | f700-fujitsu)
163772b4363aSmrg		os=-uxpv
163872b4363aSmrg		;;
163972b4363aSmrg	*-rom68k)
164072b4363aSmrg		os=-coff
164172b4363aSmrg		;;
164272b4363aSmrg	*-*bug)
164372b4363aSmrg		os=-coff
164472b4363aSmrg		;;
164572b4363aSmrg	*-apple)
164672b4363aSmrg		os=-macos
164772b4363aSmrg		;;
164872b4363aSmrg	*-atari*)
164972b4363aSmrg		os=-mint
165072b4363aSmrg		;;
165172b4363aSmrg	*)
165272b4363aSmrg		os=-none
165372b4363aSmrg		;;
165472b4363aSmrgesac
165572b4363aSmrgfi
165672b4363aSmrg
165772b4363aSmrg# Here we handle the case where we know the os, and the CPU type, but not the
165872b4363aSmrg# manufacturer.  We pick the logical manufacturer.
165972b4363aSmrgvendor=unknown
166072b4363aSmrgcase $basic_machine in
166172b4363aSmrg	*-unknown)
166272b4363aSmrg		case $os in
166372b4363aSmrg			-riscix*)
166472b4363aSmrg				vendor=acorn
166572b4363aSmrg				;;
166672b4363aSmrg			-sunos*)
166772b4363aSmrg				vendor=sun
166872b4363aSmrg				;;
166908e312fdSmrg			-cnk*|-aix*)
167072b4363aSmrg				vendor=ibm
167172b4363aSmrg				;;
167272b4363aSmrg			-beos*)
167372b4363aSmrg				vendor=be
167472b4363aSmrg				;;
167572b4363aSmrg			-hpux*)
167672b4363aSmrg				vendor=hp
167772b4363aSmrg				;;
167872b4363aSmrg			-mpeix*)
167972b4363aSmrg				vendor=hp
168072b4363aSmrg				;;
168172b4363aSmrg			-hiux*)
168272b4363aSmrg				vendor=hitachi
168372b4363aSmrg				;;
168472b4363aSmrg			-unos*)
168572b4363aSmrg				vendor=crds
168672b4363aSmrg				;;
168772b4363aSmrg			-dgux*)
168872b4363aSmrg				vendor=dg
168972b4363aSmrg				;;
169072b4363aSmrg			-luna*)
169172b4363aSmrg				vendor=omron
169272b4363aSmrg				;;
169372b4363aSmrg			-genix*)
169472b4363aSmrg				vendor=ns
169572b4363aSmrg				;;
169672b4363aSmrg			-mvs* | -opened*)
169772b4363aSmrg				vendor=ibm
169872b4363aSmrg				;;
169972b4363aSmrg			-os400*)
170072b4363aSmrg				vendor=ibm
170172b4363aSmrg				;;
170272b4363aSmrg			-ptx*)
170372b4363aSmrg				vendor=sequent
170472b4363aSmrg				;;
170572b4363aSmrg			-tpf*)
170672b4363aSmrg				vendor=ibm
170772b4363aSmrg				;;
170872b4363aSmrg			-vxsim* | -vxworks* | -windiss*)
170972b4363aSmrg				vendor=wrs
171072b4363aSmrg				;;
171172b4363aSmrg			-aux*)
171272b4363aSmrg				vendor=apple
171372b4363aSmrg				;;
171472b4363aSmrg			-hms*)
171572b4363aSmrg				vendor=hitachi
171672b4363aSmrg				;;
171772b4363aSmrg			-mpw* | -macos*)
171872b4363aSmrg				vendor=apple
171972b4363aSmrg				;;
172072b4363aSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172172b4363aSmrg				vendor=atari
172272b4363aSmrg				;;
172372b4363aSmrg			-vos*)
172472b4363aSmrg				vendor=stratus
172572b4363aSmrg				;;
172672b4363aSmrg		esac
172772b4363aSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172872b4363aSmrg		;;
172972b4363aSmrgesac
173072b4363aSmrg
173172b4363aSmrgecho $basic_machine$os
173272b4363aSmrgexit
173372b4363aSmrg
173472b4363aSmrg# Local variables:
173572b4363aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173672b4363aSmrg# time-stamp-start: "timestamp='"
173772b4363aSmrg# time-stamp-format: "%:y-%02m-%02d"
173872b4363aSmrg# time-stamp-end: "'"
173972b4363aSmrg# End:
1740