config.sub revision 11a29bac
141b2f0bdSmrg#! /bin/sh
241b2f0bdSmrg# Configuration validation subroutine script.
341b2f0bdSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
411a29bacSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
511245024Smrg#   Free Software Foundation, Inc.
641b2f0bdSmrg
711a29bacSmrgtimestamp='2010-09-11'
841b2f0bdSmrg
941b2f0bdSmrg# This file is (in principle) common to ALL GNU software.
1041b2f0bdSmrg# The presence of a machine in this file suggests that SOME GNU software
1141b2f0bdSmrg# can handle that machine.  It does not imply ALL GNU software can.
1241b2f0bdSmrg#
1341b2f0bdSmrg# This file is free software; you can redistribute it and/or modify
1441b2f0bdSmrg# it under the terms of the GNU General Public License as published by
1541b2f0bdSmrg# the Free Software Foundation; either version 2 of the License, or
1641b2f0bdSmrg# (at your option) any later version.
1741b2f0bdSmrg#
1841b2f0bdSmrg# This program is distributed in the hope that it will be useful,
1941b2f0bdSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2041b2f0bdSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2141b2f0bdSmrg# GNU General Public License for more details.
2241b2f0bdSmrg#
2341b2f0bdSmrg# You should have received a copy of the GNU General Public License
2441b2f0bdSmrg# along with this program; if not, write to the Free Software
2511245024Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2611245024Smrg# 02110-1301, USA.
2711245024Smrg#
2841b2f0bdSmrg# As a special exception to the GNU General Public License, if you
2941b2f0bdSmrg# distribute this file as part of a program that contains a
3041b2f0bdSmrg# configuration script generated by Autoconf, you may include it under
3141b2f0bdSmrg# the same distribution terms that you use for the rest of that program.
3241b2f0bdSmrg
3311245024Smrg
3441b2f0bdSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3511a29bacSmrg# diff and a properly formatted GNU ChangeLog entry.
3641b2f0bdSmrg#
3741b2f0bdSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3841b2f0bdSmrg# Supply the specified configuration type as an argument.
3941b2f0bdSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
4041b2f0bdSmrg# Otherwise, we print the canonical config type on stdout and succeed.
4141b2f0bdSmrg
4211a29bacSmrg# You can get the latest version of this script from:
4311a29bacSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4411a29bacSmrg
4541b2f0bdSmrg# This file is supposed to be the same for all GNU packages
4641b2f0bdSmrg# and recognize all the CPU types, system types and aliases
4741b2f0bdSmrg# that are meaningful with *any* GNU software.
4841b2f0bdSmrg# Each package is responsible for reporting which valid configurations
4941b2f0bdSmrg# it does not support.  The user should be able to distinguish
5041b2f0bdSmrg# a failure to support a valid configuration from a meaningless
5141b2f0bdSmrg# configuration.
5241b2f0bdSmrg
5341b2f0bdSmrg# The goal of this file is to map all the various variations of a given
5441b2f0bdSmrg# machine specification into a single specification in the form:
5541b2f0bdSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5641b2f0bdSmrg# or in some cases, the newer four-part form:
5741b2f0bdSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5841b2f0bdSmrg# It is wrong to echo any other type of specification.
5941b2f0bdSmrg
6041b2f0bdSmrgme=`echo "$0" | sed -e 's,.*/,,'`
6141b2f0bdSmrg
6241b2f0bdSmrgusage="\
6341b2f0bdSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6441b2f0bdSmrg       $0 [OPTION] ALIAS
6541b2f0bdSmrg
6641b2f0bdSmrgCanonicalize a configuration name.
6741b2f0bdSmrg
6841b2f0bdSmrgOperation modes:
6941b2f0bdSmrg  -h, --help         print this help, then exit
7041b2f0bdSmrg  -t, --time-stamp   print date of last modification, then exit
7141b2f0bdSmrg  -v, --version      print version number, then exit
7241b2f0bdSmrg
7341b2f0bdSmrgReport bugs and patches to <config-patches@gnu.org>."
7441b2f0bdSmrg
7541b2f0bdSmrgversion="\
7641b2f0bdSmrgGNU config.sub ($timestamp)
7741b2f0bdSmrg
7811a29bacSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7911a29bacSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8011a29bacSmrgSoftware Foundation, Inc.
8141b2f0bdSmrg
8241b2f0bdSmrgThis is free software; see the source for copying conditions.  There is NO
8341b2f0bdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8441b2f0bdSmrg
8541b2f0bdSmrghelp="
8641b2f0bdSmrgTry \`$me --help' for more information."
8741b2f0bdSmrg
8841b2f0bdSmrg# Parse command line
8941b2f0bdSmrgwhile test $# -gt 0 ; do
9041b2f0bdSmrg  case $1 in
9141b2f0bdSmrg    --time-stamp | --time* | -t )
9211245024Smrg       echo "$timestamp" ; exit ;;
9341b2f0bdSmrg    --version | -v )
9411245024Smrg       echo "$version" ; exit ;;
9541b2f0bdSmrg    --help | --h* | -h )
9611245024Smrg       echo "$usage"; exit ;;
9741b2f0bdSmrg    -- )     # Stop option processing
9841b2f0bdSmrg       shift; break ;;
9941b2f0bdSmrg    - )	# Use stdin as input.
10041b2f0bdSmrg       break ;;
10141b2f0bdSmrg    -* )
10241b2f0bdSmrg       echo "$me: invalid option $1$help"
10341b2f0bdSmrg       exit 1 ;;
10441b2f0bdSmrg
10541b2f0bdSmrg    *local*)
10641b2f0bdSmrg       # First pass through any local machine types.
10741b2f0bdSmrg       echo $1
10811245024Smrg       exit ;;
10941b2f0bdSmrg
11041b2f0bdSmrg    * )
11141b2f0bdSmrg       break ;;
11241b2f0bdSmrg  esac
11341b2f0bdSmrgdone
11441b2f0bdSmrg
11541b2f0bdSmrgcase $# in
11641b2f0bdSmrg 0) echo "$me: missing argument$help" >&2
11741b2f0bdSmrg    exit 1;;
11841b2f0bdSmrg 1) ;;
11941b2f0bdSmrg *) echo "$me: too many arguments$help" >&2
12041b2f0bdSmrg    exit 1;;
12141b2f0bdSmrgesac
12241b2f0bdSmrg
12341b2f0bdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12441b2f0bdSmrg# Here we must recognize all the valid KERNEL-OS combinations.
12541b2f0bdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12641b2f0bdSmrgcase $maybe_os in
12711a29bacSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12811a29bacSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12911a29bacSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
13011a29bacSmrg  kopensolaris*-gnu* | \
13111245024Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13241b2f0bdSmrg    os=-$maybe_os
13341b2f0bdSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13441b2f0bdSmrg    ;;
13541b2f0bdSmrg  *)
13641b2f0bdSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13741b2f0bdSmrg    if [ $basic_machine != $1 ]
13841b2f0bdSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13941b2f0bdSmrg    else os=; fi
14041b2f0bdSmrg    ;;
14141b2f0bdSmrgesac
14241b2f0bdSmrg
14341b2f0bdSmrg### Let's recognize common machines as not being operating systems so
14441b2f0bdSmrg### that things like config.sub decstation-3100 work.  We also
14541b2f0bdSmrg### recognize some manufacturers as not being operating systems, so we
14641b2f0bdSmrg### can provide default operating systems below.
14741b2f0bdSmrgcase $os in
14841b2f0bdSmrg	-sun*os*)
14941b2f0bdSmrg		# Prevent following clause from handling this invalid input.
15041b2f0bdSmrg		;;
15141b2f0bdSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15241b2f0bdSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15341b2f0bdSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15441b2f0bdSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15541b2f0bdSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15641b2f0bdSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15711a29bacSmrg	-apple | -axis | -knuth | -cray | -microblaze)
15841b2f0bdSmrg		os=
15941b2f0bdSmrg		basic_machine=$1
16041b2f0bdSmrg		;;
16111a29bacSmrg        -bluegene*)
16211a29bacSmrg	        os=-cnk
16311a29bacSmrg		;;
16441b2f0bdSmrg	-sim | -cisco | -oki | -wec | -winbond)
16541b2f0bdSmrg		os=
16641b2f0bdSmrg		basic_machine=$1
16741b2f0bdSmrg		;;
16841b2f0bdSmrg	-scout)
16941b2f0bdSmrg		;;
17041b2f0bdSmrg	-wrs)
17141b2f0bdSmrg		os=-vxworks
17241b2f0bdSmrg		basic_machine=$1
17341b2f0bdSmrg		;;
17441b2f0bdSmrg	-chorusos*)
17541b2f0bdSmrg		os=-chorusos
17641b2f0bdSmrg		basic_machine=$1
17741b2f0bdSmrg		;;
17841b2f0bdSmrg 	-chorusrdb)
17941b2f0bdSmrg 		os=-chorusrdb
18041b2f0bdSmrg		basic_machine=$1
18141b2f0bdSmrg 		;;
18241b2f0bdSmrg	-hiux*)
18341b2f0bdSmrg		os=-hiuxwe2
18441b2f0bdSmrg		;;
18511245024Smrg	-sco6)
18611245024Smrg		os=-sco5v6
18711245024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18811245024Smrg		;;
18941b2f0bdSmrg	-sco5)
19041b2f0bdSmrg		os=-sco3.2v5
19141b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19241b2f0bdSmrg		;;
19341b2f0bdSmrg	-sco4)
19441b2f0bdSmrg		os=-sco3.2v4
19541b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19641b2f0bdSmrg		;;
19741b2f0bdSmrg	-sco3.2.[4-9]*)
19841b2f0bdSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19941b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20041b2f0bdSmrg		;;
20141b2f0bdSmrg	-sco3.2v[4-9]*)
20241b2f0bdSmrg		# Don't forget version if it is 3.2v4 or newer.
20341b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20441b2f0bdSmrg		;;
20511245024Smrg	-sco5v6*)
20611245024Smrg		# Don't forget version if it is 3.2v4 or newer.
20711245024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20811245024Smrg		;;
20941b2f0bdSmrg	-sco*)
21041b2f0bdSmrg		os=-sco3.2v2
21141b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21241b2f0bdSmrg		;;
21341b2f0bdSmrg	-udk*)
21441b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21541b2f0bdSmrg		;;
21641b2f0bdSmrg	-isc)
21741b2f0bdSmrg		os=-isc2.2
21841b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21941b2f0bdSmrg		;;
22041b2f0bdSmrg	-clix*)
22141b2f0bdSmrg		basic_machine=clipper-intergraph
22241b2f0bdSmrg		;;
22341b2f0bdSmrg	-isc*)
22441b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22541b2f0bdSmrg		;;
22641b2f0bdSmrg	-lynx*)
22741b2f0bdSmrg		os=-lynxos
22841b2f0bdSmrg		;;
22941b2f0bdSmrg	-ptx*)
23041b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23141b2f0bdSmrg		;;
23241b2f0bdSmrg	-windowsnt*)
23341b2f0bdSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23441b2f0bdSmrg		;;
23541b2f0bdSmrg	-psos*)
23641b2f0bdSmrg		os=-psos
23741b2f0bdSmrg		;;
23841b2f0bdSmrg	-mint | -mint[0-9]*)
23941b2f0bdSmrg		basic_machine=m68k-atari
24041b2f0bdSmrg		os=-mint
24141b2f0bdSmrg		;;
24241b2f0bdSmrgesac
24341b2f0bdSmrg
24441b2f0bdSmrg# Decode aliases for certain CPU-COMPANY combinations.
24541b2f0bdSmrgcase $basic_machine in
24641b2f0bdSmrg	# Recognize the basic CPU types without company name.
24741b2f0bdSmrg	# Some are omitted here because they have special meanings below.
24841b2f0bdSmrg	1750a | 580 \
24941b2f0bdSmrg	| a29k \
25041b2f0bdSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25141b2f0bdSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25211245024Smrg	| am33_2.0 \
25311245024Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25411245024Smrg	| bfin \
25541b2f0bdSmrg	| c4x | clipper \
25641b2f0bdSmrg	| d10v | d30v | dlx | dsp16xx \
25711245024Smrg	| fido | fr30 | frv \
25841b2f0bdSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25941b2f0bdSmrg	| i370 | i860 | i960 | ia64 \
26011245024Smrg	| ip2k | iq2000 \
26111a29bacSmrg	| lm32 \
26211245024Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26311a29bacSmrg	| maxq | mb | microblaze | mcore | mep | metag \
26441b2f0bdSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26541b2f0bdSmrg	| mips16 \
26641b2f0bdSmrg	| mips64 | mips64el \
26711a29bacSmrg	| mips64octeon | mips64octeonel \
26841b2f0bdSmrg	| mips64orion | mips64orionel \
26911a29bacSmrg	| mips64r5900 | mips64r5900el \
27011a29bacSmrg	| mips64vr | mips64vrel \
27141b2f0bdSmrg	| mips64vr4100 | mips64vr4100el \
27241b2f0bdSmrg	| mips64vr4300 | mips64vr4300el \
27341b2f0bdSmrg	| mips64vr5000 | mips64vr5000el \
27411245024Smrg	| mips64vr5900 | mips64vr5900el \
27541b2f0bdSmrg	| mipsisa32 | mipsisa32el \
27641b2f0bdSmrg	| mipsisa32r2 | mipsisa32r2el \
27741b2f0bdSmrg	| mipsisa64 | mipsisa64el \
27811245024Smrg	| mipsisa64r2 | mipsisa64r2el \
27941b2f0bdSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28041b2f0bdSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28141b2f0bdSmrg	| mipstx39 | mipstx39el \
28241b2f0bdSmrg	| mn10200 | mn10300 \
28311a29bacSmrg	| moxie \
28411245024Smrg	| mt \
28541b2f0bdSmrg	| msp430 \
28611a29bacSmrg	| nds32 | nds32le | nds32be \
28711245024Smrg	| nios | nios2 \
28841b2f0bdSmrg	| ns16k | ns32k \
28911245024Smrg	| or32 \
29041b2f0bdSmrg	| pdp10 | pdp11 | pj | pjl \
29141b2f0bdSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29241b2f0bdSmrg	| pyramid \
29311a29bacSmrg	| rx \
29411245024Smrg	| score \
29511a29bacSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29641b2f0bdSmrg	| sh64 | sh64le \
29711245024Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29811245024Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29911245024Smrg	| spu | strongarm \
30011a29bacSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30111a29bacSmrg	| ubicom32 \
30241b2f0bdSmrg	| v850 | v850e \
30341b2f0bdSmrg	| we32k \
30411245024Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30511a29bacSmrg	| z8k | z80)
30641b2f0bdSmrg		basic_machine=$basic_machine-unknown
30741b2f0bdSmrg		;;
30811a29bacSmrg	c54x)
30911a29bacSmrg		basic_machine=tic54x-unknown
31011a29bacSmrg		;;
31111a29bacSmrg	c55x)
31211a29bacSmrg		basic_machine=tic55x-unknown
31311a29bacSmrg		;;
31411a29bacSmrg	c6x)
31511a29bacSmrg		basic_machine=tic6x-unknown
31611a29bacSmrg		;;
31711a29bacSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31841b2f0bdSmrg		# Motorola 68HC11/12.
31941b2f0bdSmrg		basic_machine=$basic_machine-unknown
32041b2f0bdSmrg		os=-none
32141b2f0bdSmrg		;;
32241b2f0bdSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32341b2f0bdSmrg		;;
32411245024Smrg	ms1)
32511245024Smrg		basic_machine=mt-unknown
32611245024Smrg		;;
32741b2f0bdSmrg
32841b2f0bdSmrg	# We use `pc' rather than `unknown'
32941b2f0bdSmrg	# because (1) that's what they normally are, and
33041b2f0bdSmrg	# (2) the word "unknown" tends to confuse beginning users.
33141b2f0bdSmrg	i*86 | x86_64)
33241b2f0bdSmrg	  basic_machine=$basic_machine-pc
33341b2f0bdSmrg	  ;;
33441b2f0bdSmrg	# Object if more than one company name word.
33541b2f0bdSmrg	*-*-*)
33641b2f0bdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33741b2f0bdSmrg		exit 1
33841b2f0bdSmrg		;;
33941b2f0bdSmrg	# Recognize the basic CPU types with company name.
34041b2f0bdSmrg	580-* \
34141b2f0bdSmrg	| a29k-* \
34241b2f0bdSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34341b2f0bdSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34441b2f0bdSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34541b2f0bdSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34611245024Smrg	| avr-* | avr32-* \
34711245024Smrg	| bfin-* | bs2000-* \
34811a29bacSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34911245024Smrg	| clipper-* | craynv-* | cydra-* \
35041b2f0bdSmrg	| d10v-* | d30v-* | dlx-* \
35141b2f0bdSmrg	| elxsi-* \
35211245024Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35341b2f0bdSmrg	| h8300-* | h8500-* \
35441b2f0bdSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35541b2f0bdSmrg	| i*86-* | i860-* | i960-* | ia64-* \
35611245024Smrg	| ip2k-* | iq2000-* \
35711a29bacSmrg	| lm32-* \
35811245024Smrg	| m32c-* | m32r-* | m32rle-* \
35941b2f0bdSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36011a29bacSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36141b2f0bdSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36241b2f0bdSmrg	| mips16-* \
36341b2f0bdSmrg	| mips64-* | mips64el-* \
36411a29bacSmrg	| mips64octeon-* | mips64octeonel-* \
36541b2f0bdSmrg	| mips64orion-* | mips64orionel-* \
36611a29bacSmrg	| mips64r5900-* | mips64r5900el-* \
36711a29bacSmrg	| mips64vr-* | mips64vrel-* \
36841b2f0bdSmrg	| mips64vr4100-* | mips64vr4100el-* \
36941b2f0bdSmrg	| mips64vr4300-* | mips64vr4300el-* \
37041b2f0bdSmrg	| mips64vr5000-* | mips64vr5000el-* \
37111245024Smrg	| mips64vr5900-* | mips64vr5900el-* \
37241b2f0bdSmrg	| mipsisa32-* | mipsisa32el-* \
37341b2f0bdSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
37441b2f0bdSmrg	| mipsisa64-* | mipsisa64el-* \
37511245024Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
37641b2f0bdSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37741b2f0bdSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37841b2f0bdSmrg	| mipstx39-* | mipstx39el-* \
37911245024Smrg	| mmix-* \
38011245024Smrg	| mt-* \
38141b2f0bdSmrg	| msp430-* \
38211a29bacSmrg	| nds32-* | nds32le-* | nds32be-* \
38311245024Smrg	| nios-* | nios2-* \
38411245024Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
38541b2f0bdSmrg	| orion-* \
38641b2f0bdSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38741b2f0bdSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38841b2f0bdSmrg	| pyramid-* \
38911a29bacSmrg	| romp-* | rs6000-* | rx-* \
39011a29bacSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39141b2f0bdSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39211245024Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39311245024Smrg	| sparclite-* \
39411245024Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39541b2f0bdSmrg	| tahoe-* | thumb-* \
39641b2f0bdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39711a29bacSmrg	| tile-* | tilegx-* \
39841b2f0bdSmrg	| tron-* \
39911a29bacSmrg	| ubicom32-* \
40041b2f0bdSmrg	| v850-* | v850e-* | vax-* \
40141b2f0bdSmrg	| we32k-* \
40211245024Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
40311245024Smrg	| xstormy16-* | xtensa*-* \
40441b2f0bdSmrg	| ymp-* \
40511a29bacSmrg	| z8k-* | z80-*)
40641b2f0bdSmrg		;;
40711245024Smrg	# Recognize the basic CPU types without company name, with glob match.
40811245024Smrg	xtensa*)
40911245024Smrg		basic_machine=$basic_machine-unknown
41011245024Smrg		;;
41141b2f0bdSmrg	# Recognize the various machine names and aliases which stand
41241b2f0bdSmrg	# for a CPU type and a company and sometimes even an OS.
41341b2f0bdSmrg	386bsd)
41441b2f0bdSmrg		basic_machine=i386-unknown
41541b2f0bdSmrg		os=-bsd
41641b2f0bdSmrg		;;
41741b2f0bdSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41841b2f0bdSmrg		basic_machine=m68000-att
41941b2f0bdSmrg		;;
42041b2f0bdSmrg	3b*)
42141b2f0bdSmrg		basic_machine=we32k-att
42241b2f0bdSmrg		;;
42341b2f0bdSmrg	a29khif)
42441b2f0bdSmrg		basic_machine=a29k-amd
42541b2f0bdSmrg		os=-udi
42641b2f0bdSmrg		;;
42711245024Smrg    	abacus)
42811245024Smrg		basic_machine=abacus-unknown
42911245024Smrg		;;
43041b2f0bdSmrg	adobe68k)
43141b2f0bdSmrg		basic_machine=m68010-adobe
43241b2f0bdSmrg		os=-scout
43341b2f0bdSmrg		;;
43441b2f0bdSmrg	alliant | fx80)
43541b2f0bdSmrg		basic_machine=fx80-alliant
43641b2f0bdSmrg		;;
43741b2f0bdSmrg	altos | altos3068)
43841b2f0bdSmrg		basic_machine=m68k-altos
43941b2f0bdSmrg		;;
44041b2f0bdSmrg	am29k)
44141b2f0bdSmrg		basic_machine=a29k-none
44241b2f0bdSmrg		os=-bsd
44341b2f0bdSmrg		;;
44441b2f0bdSmrg	amd64)
44541b2f0bdSmrg		basic_machine=x86_64-pc
44641b2f0bdSmrg		;;
44711245024Smrg	amd64-*)
44811245024Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44911245024Smrg		;;
45041b2f0bdSmrg	amdahl)
45141b2f0bdSmrg		basic_machine=580-amdahl
45241b2f0bdSmrg		os=-sysv
45341b2f0bdSmrg		;;
45441b2f0bdSmrg	amiga | amiga-*)
45541b2f0bdSmrg		basic_machine=m68k-unknown
45641b2f0bdSmrg		;;
45741b2f0bdSmrg	amigaos | amigados)
45841b2f0bdSmrg		basic_machine=m68k-unknown
45941b2f0bdSmrg		os=-amigaos
46041b2f0bdSmrg		;;
46141b2f0bdSmrg	amigaunix | amix)
46241b2f0bdSmrg		basic_machine=m68k-unknown
46341b2f0bdSmrg		os=-sysv4
46441b2f0bdSmrg		;;
46541b2f0bdSmrg	apollo68)
46641b2f0bdSmrg		basic_machine=m68k-apollo
46741b2f0bdSmrg		os=-sysv
46841b2f0bdSmrg		;;
46941b2f0bdSmrg	apollo68bsd)
47041b2f0bdSmrg		basic_machine=m68k-apollo
47141b2f0bdSmrg		os=-bsd
47241b2f0bdSmrg		;;
47311a29bacSmrg	aros)
47411a29bacSmrg		basic_machine=i386-pc
47511a29bacSmrg		os=-aros
47611a29bacSmrg		;;
47741b2f0bdSmrg	aux)
47841b2f0bdSmrg		basic_machine=m68k-apple
47941b2f0bdSmrg		os=-aux
48041b2f0bdSmrg		;;
48141b2f0bdSmrg	balance)
48241b2f0bdSmrg		basic_machine=ns32k-sequent
48341b2f0bdSmrg		os=-dynix
48441b2f0bdSmrg		;;
48511245024Smrg	blackfin)
48611245024Smrg		basic_machine=bfin-unknown
48711245024Smrg		os=-linux
48811245024Smrg		;;
48911245024Smrg	blackfin-*)
49011245024Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
49111245024Smrg		os=-linux
49211245024Smrg		;;
49311a29bacSmrg	bluegene*)
49411a29bacSmrg		basic_machine=powerpc-ibm
49511a29bacSmrg		os=-cnk
49611a29bacSmrg		;;
49711a29bacSmrg	c54x-*)
49811a29bacSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49911a29bacSmrg		;;
50011a29bacSmrg	c55x-*)
50111a29bacSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50211a29bacSmrg		;;
50311a29bacSmrg	c6x-*)
50411a29bacSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50511a29bacSmrg		;;
50641b2f0bdSmrg	c90)
50741b2f0bdSmrg		basic_machine=c90-cray
50841b2f0bdSmrg		os=-unicos
50941b2f0bdSmrg		;;
51011a29bacSmrg        cegcc)
51111a29bacSmrg		basic_machine=arm-unknown
51211a29bacSmrg		os=-cegcc
51311a29bacSmrg		;;
51441b2f0bdSmrg	convex-c1)
51541b2f0bdSmrg		basic_machine=c1-convex
51641b2f0bdSmrg		os=-bsd
51741b2f0bdSmrg		;;
51841b2f0bdSmrg	convex-c2)
51941b2f0bdSmrg		basic_machine=c2-convex
52041b2f0bdSmrg		os=-bsd
52141b2f0bdSmrg		;;
52241b2f0bdSmrg	convex-c32)
52341b2f0bdSmrg		basic_machine=c32-convex
52441b2f0bdSmrg		os=-bsd
52541b2f0bdSmrg		;;
52641b2f0bdSmrg	convex-c34)
52741b2f0bdSmrg		basic_machine=c34-convex
52841b2f0bdSmrg		os=-bsd
52941b2f0bdSmrg		;;
53041b2f0bdSmrg	convex-c38)
53141b2f0bdSmrg		basic_machine=c38-convex
53241b2f0bdSmrg		os=-bsd
53341b2f0bdSmrg		;;
53441b2f0bdSmrg	cray | j90)
53541b2f0bdSmrg		basic_machine=j90-cray
53641b2f0bdSmrg		os=-unicos
53741b2f0bdSmrg		;;
53811245024Smrg	craynv)
53911245024Smrg		basic_machine=craynv-cray
54011245024Smrg		os=-unicosmp
54111245024Smrg		;;
54211245024Smrg	cr16)
54311245024Smrg		basic_machine=cr16-unknown
54411245024Smrg		os=-elf
54511245024Smrg		;;
54641b2f0bdSmrg	crds | unos)
54741b2f0bdSmrg		basic_machine=m68k-crds
54841b2f0bdSmrg		;;
54911245024Smrg	crisv32 | crisv32-* | etraxfs*)
55011245024Smrg		basic_machine=crisv32-axis
55111245024Smrg		;;
55241b2f0bdSmrg	cris | cris-* | etrax*)
55341b2f0bdSmrg		basic_machine=cris-axis
55441b2f0bdSmrg		;;
55511245024Smrg	crx)
55611245024Smrg		basic_machine=crx-unknown
55711245024Smrg		os=-elf
55811245024Smrg		;;
55941b2f0bdSmrg	da30 | da30-*)
56041b2f0bdSmrg		basic_machine=m68k-da30
56141b2f0bdSmrg		;;
56241b2f0bdSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56341b2f0bdSmrg		basic_machine=mips-dec
56441b2f0bdSmrg		;;
56541b2f0bdSmrg	decsystem10* | dec10*)
56641b2f0bdSmrg		basic_machine=pdp10-dec
56741b2f0bdSmrg		os=-tops10
56841b2f0bdSmrg		;;
56941b2f0bdSmrg	decsystem20* | dec20*)
57041b2f0bdSmrg		basic_machine=pdp10-dec
57141b2f0bdSmrg		os=-tops20
57241b2f0bdSmrg		;;
57341b2f0bdSmrg	delta | 3300 | motorola-3300 | motorola-delta \
57441b2f0bdSmrg	      | 3300-motorola | delta-motorola)
57541b2f0bdSmrg		basic_machine=m68k-motorola
57641b2f0bdSmrg		;;
57741b2f0bdSmrg	delta88)
57841b2f0bdSmrg		basic_machine=m88k-motorola
57941b2f0bdSmrg		os=-sysv3
58041b2f0bdSmrg		;;
58111a29bacSmrg	dicos)
58211a29bacSmrg		basic_machine=i686-pc
58311a29bacSmrg		os=-dicos
58411a29bacSmrg		;;
58511245024Smrg	djgpp)
58611245024Smrg		basic_machine=i586-pc
58711245024Smrg		os=-msdosdjgpp
58811245024Smrg		;;
58941b2f0bdSmrg	dpx20 | dpx20-*)
59041b2f0bdSmrg		basic_machine=rs6000-bull
59141b2f0bdSmrg		os=-bosx
59241b2f0bdSmrg		;;
59341b2f0bdSmrg	dpx2* | dpx2*-bull)
59441b2f0bdSmrg		basic_machine=m68k-bull
59541b2f0bdSmrg		os=-sysv3
59641b2f0bdSmrg		;;
59741b2f0bdSmrg	ebmon29k)
59841b2f0bdSmrg		basic_machine=a29k-amd
59941b2f0bdSmrg		os=-ebmon
60041b2f0bdSmrg		;;
60141b2f0bdSmrg	elxsi)
60241b2f0bdSmrg		basic_machine=elxsi-elxsi
60341b2f0bdSmrg		os=-bsd
60441b2f0bdSmrg		;;
60541b2f0bdSmrg	encore | umax | mmax)
60641b2f0bdSmrg		basic_machine=ns32k-encore
60741b2f0bdSmrg		;;
60841b2f0bdSmrg	es1800 | OSE68k | ose68k | ose | OSE)
60941b2f0bdSmrg		basic_machine=m68k-ericsson
61041b2f0bdSmrg		os=-ose
61141b2f0bdSmrg		;;
61241b2f0bdSmrg	fx2800)
61341b2f0bdSmrg		basic_machine=i860-alliant
61441b2f0bdSmrg		;;
61541b2f0bdSmrg	genix)
61641b2f0bdSmrg		basic_machine=ns32k-ns
61741b2f0bdSmrg		;;
61841b2f0bdSmrg	gmicro)
61941b2f0bdSmrg		basic_machine=tron-gmicro
62041b2f0bdSmrg		os=-sysv
62141b2f0bdSmrg		;;
62241b2f0bdSmrg	go32)
62341b2f0bdSmrg		basic_machine=i386-pc
62441b2f0bdSmrg		os=-go32
62541b2f0bdSmrg		;;
62641b2f0bdSmrg	h3050r* | hiux*)
62741b2f0bdSmrg		basic_machine=hppa1.1-hitachi
62841b2f0bdSmrg		os=-hiuxwe2
62941b2f0bdSmrg		;;
63041b2f0bdSmrg	h8300hms)
63141b2f0bdSmrg		basic_machine=h8300-hitachi
63241b2f0bdSmrg		os=-hms
63341b2f0bdSmrg		;;
63441b2f0bdSmrg	h8300xray)
63541b2f0bdSmrg		basic_machine=h8300-hitachi
63641b2f0bdSmrg		os=-xray
63741b2f0bdSmrg		;;
63841b2f0bdSmrg	h8500hms)
63941b2f0bdSmrg		basic_machine=h8500-hitachi
64041b2f0bdSmrg		os=-hms
64141b2f0bdSmrg		;;
64241b2f0bdSmrg	harris)
64341b2f0bdSmrg		basic_machine=m88k-harris
64441b2f0bdSmrg		os=-sysv3
64541b2f0bdSmrg		;;
64641b2f0bdSmrg	hp300-*)
64741b2f0bdSmrg		basic_machine=m68k-hp
64841b2f0bdSmrg		;;
64941b2f0bdSmrg	hp300bsd)
65041b2f0bdSmrg		basic_machine=m68k-hp
65141b2f0bdSmrg		os=-bsd
65241b2f0bdSmrg		;;
65341b2f0bdSmrg	hp300hpux)
65441b2f0bdSmrg		basic_machine=m68k-hp
65541b2f0bdSmrg		os=-hpux
65641b2f0bdSmrg		;;
65741b2f0bdSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65841b2f0bdSmrg		basic_machine=hppa1.0-hp
65941b2f0bdSmrg		;;
66041b2f0bdSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66141b2f0bdSmrg		basic_machine=m68000-hp
66241b2f0bdSmrg		;;
66341b2f0bdSmrg	hp9k3[2-9][0-9])
66441b2f0bdSmrg		basic_machine=m68k-hp
66541b2f0bdSmrg		;;
66641b2f0bdSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66741b2f0bdSmrg		basic_machine=hppa1.0-hp
66841b2f0bdSmrg		;;
66941b2f0bdSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67041b2f0bdSmrg		basic_machine=hppa1.1-hp
67141b2f0bdSmrg		;;
67241b2f0bdSmrg	hp9k78[0-9] | hp78[0-9])
67341b2f0bdSmrg		# FIXME: really hppa2.0-hp
67441b2f0bdSmrg		basic_machine=hppa1.1-hp
67541b2f0bdSmrg		;;
67641b2f0bdSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67741b2f0bdSmrg		# FIXME: really hppa2.0-hp
67841b2f0bdSmrg		basic_machine=hppa1.1-hp
67941b2f0bdSmrg		;;
68041b2f0bdSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68141b2f0bdSmrg		basic_machine=hppa1.1-hp
68241b2f0bdSmrg		;;
68341b2f0bdSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68441b2f0bdSmrg		basic_machine=hppa1.0-hp
68541b2f0bdSmrg		;;
68641b2f0bdSmrg	hppa-next)
68741b2f0bdSmrg		os=-nextstep3
68841b2f0bdSmrg		;;
68941b2f0bdSmrg	hppaosf)
69041b2f0bdSmrg		basic_machine=hppa1.1-hp
69141b2f0bdSmrg		os=-osf
69241b2f0bdSmrg		;;
69341b2f0bdSmrg	hppro)
69441b2f0bdSmrg		basic_machine=hppa1.1-hp
69541b2f0bdSmrg		os=-proelf
69641b2f0bdSmrg		;;
69741b2f0bdSmrg	i370-ibm* | ibm*)
69841b2f0bdSmrg		basic_machine=i370-ibm
69941b2f0bdSmrg		;;
70041b2f0bdSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70141b2f0bdSmrg	i*86v32)
70241b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70341b2f0bdSmrg		os=-sysv32
70441b2f0bdSmrg		;;
70541b2f0bdSmrg	i*86v4*)
70641b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70741b2f0bdSmrg		os=-sysv4
70841b2f0bdSmrg		;;
70941b2f0bdSmrg	i*86v)
71041b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71141b2f0bdSmrg		os=-sysv
71241b2f0bdSmrg		;;
71341b2f0bdSmrg	i*86sol2)
71441b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71541b2f0bdSmrg		os=-solaris2
71641b2f0bdSmrg		;;
71741b2f0bdSmrg	i386mach)
71841b2f0bdSmrg		basic_machine=i386-mach
71941b2f0bdSmrg		os=-mach
72041b2f0bdSmrg		;;
72141b2f0bdSmrg	i386-vsta | vsta)
72241b2f0bdSmrg		basic_machine=i386-unknown
72341b2f0bdSmrg		os=-vsta
72441b2f0bdSmrg		;;
72541b2f0bdSmrg	iris | iris4d)
72641b2f0bdSmrg		basic_machine=mips-sgi
72741b2f0bdSmrg		case $os in
72841b2f0bdSmrg		    -irix*)
72941b2f0bdSmrg			;;
73041b2f0bdSmrg		    *)
73141b2f0bdSmrg			os=-irix4
73241b2f0bdSmrg			;;
73341b2f0bdSmrg		esac
73441b2f0bdSmrg		;;
73541b2f0bdSmrg	isi68 | isi)
73641b2f0bdSmrg		basic_machine=m68k-isi
73741b2f0bdSmrg		os=-sysv
73841b2f0bdSmrg		;;
73911245024Smrg	m68knommu)
74011245024Smrg		basic_machine=m68k-unknown
74111245024Smrg		os=-linux
74211245024Smrg		;;
74311245024Smrg	m68knommu-*)
74411245024Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
74511245024Smrg		os=-linux
74611245024Smrg		;;
74741b2f0bdSmrg	m88k-omron*)
74841b2f0bdSmrg		basic_machine=m88k-omron
74941b2f0bdSmrg		;;
75041b2f0bdSmrg	magnum | m3230)
75141b2f0bdSmrg		basic_machine=mips-mips
75241b2f0bdSmrg		os=-sysv
75341b2f0bdSmrg		;;
75441b2f0bdSmrg	merlin)
75541b2f0bdSmrg		basic_machine=ns32k-utek
75641b2f0bdSmrg		os=-sysv
75741b2f0bdSmrg		;;
75811a29bacSmrg        microblaze)
75911a29bacSmrg		basic_machine=microblaze-xilinx
76011a29bacSmrg		;;
76141b2f0bdSmrg	mingw32)
76241b2f0bdSmrg		basic_machine=i386-pc
76341b2f0bdSmrg		os=-mingw32
76441b2f0bdSmrg		;;
76511245024Smrg	mingw32ce)
76611245024Smrg		basic_machine=arm-unknown
76711245024Smrg		os=-mingw32ce
76811245024Smrg		;;
76941b2f0bdSmrg	miniframe)
77041b2f0bdSmrg		basic_machine=m68000-convergent
77141b2f0bdSmrg		;;
77241b2f0bdSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77341b2f0bdSmrg		basic_machine=m68k-atari
77441b2f0bdSmrg		os=-mint
77541b2f0bdSmrg		;;
77641b2f0bdSmrg	mips3*-*)
77741b2f0bdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77841b2f0bdSmrg		;;
77941b2f0bdSmrg	mips3*)
78041b2f0bdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78141b2f0bdSmrg		;;
78241b2f0bdSmrg	monitor)
78341b2f0bdSmrg		basic_machine=m68k-rom68k
78441b2f0bdSmrg		os=-coff
78541b2f0bdSmrg		;;
78641b2f0bdSmrg	morphos)
78741b2f0bdSmrg		basic_machine=powerpc-unknown
78841b2f0bdSmrg		os=-morphos
78941b2f0bdSmrg		;;
79041b2f0bdSmrg	msdos)
79141b2f0bdSmrg		basic_machine=i386-pc
79241b2f0bdSmrg		os=-msdos
79341b2f0bdSmrg		;;
79411245024Smrg	ms1-*)
79511245024Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79611245024Smrg		;;
79741b2f0bdSmrg	mvs)
79841b2f0bdSmrg		basic_machine=i370-ibm
79941b2f0bdSmrg		os=-mvs
80041b2f0bdSmrg		;;
80141b2f0bdSmrg	ncr3000)
80241b2f0bdSmrg		basic_machine=i486-ncr
80341b2f0bdSmrg		os=-sysv4
80441b2f0bdSmrg		;;
80541b2f0bdSmrg	netbsd386)
80641b2f0bdSmrg		basic_machine=i386-unknown
80741b2f0bdSmrg		os=-netbsd
80841b2f0bdSmrg		;;
80941b2f0bdSmrg	netwinder)
81041b2f0bdSmrg		basic_machine=armv4l-rebel
81141b2f0bdSmrg		os=-linux
81241b2f0bdSmrg		;;
81341b2f0bdSmrg	news | news700 | news800 | news900)
81441b2f0bdSmrg		basic_machine=m68k-sony
81541b2f0bdSmrg		os=-newsos
81641b2f0bdSmrg		;;
81741b2f0bdSmrg	news1000)
81841b2f0bdSmrg		basic_machine=m68030-sony
81941b2f0bdSmrg		os=-newsos
82041b2f0bdSmrg		;;
82141b2f0bdSmrg	news-3600 | risc-news)
82241b2f0bdSmrg		basic_machine=mips-sony
82341b2f0bdSmrg		os=-newsos
82441b2f0bdSmrg		;;
82541b2f0bdSmrg	necv70)
82641b2f0bdSmrg		basic_machine=v70-nec
82741b2f0bdSmrg		os=-sysv
82841b2f0bdSmrg		;;
82941b2f0bdSmrg	next | m*-next )
83041b2f0bdSmrg		basic_machine=m68k-next
83141b2f0bdSmrg		case $os in
83241b2f0bdSmrg		    -nextstep* )
83341b2f0bdSmrg			;;
83441b2f0bdSmrg		    -ns2*)
83541b2f0bdSmrg		      os=-nextstep2
83641b2f0bdSmrg			;;
83741b2f0bdSmrg		    *)
83841b2f0bdSmrg		      os=-nextstep3
83941b2f0bdSmrg			;;
84041b2f0bdSmrg		esac
84141b2f0bdSmrg		;;
84241b2f0bdSmrg	nh3000)
84341b2f0bdSmrg		basic_machine=m68k-harris
84441b2f0bdSmrg		os=-cxux
84541b2f0bdSmrg		;;
84641b2f0bdSmrg	nh[45]000)
84741b2f0bdSmrg		basic_machine=m88k-harris
84841b2f0bdSmrg		os=-cxux
84941b2f0bdSmrg		;;
85041b2f0bdSmrg	nindy960)
85141b2f0bdSmrg		basic_machine=i960-intel
85241b2f0bdSmrg		os=-nindy
85341b2f0bdSmrg		;;
85441b2f0bdSmrg	mon960)
85541b2f0bdSmrg		basic_machine=i960-intel
85641b2f0bdSmrg		os=-mon960
85741b2f0bdSmrg		;;
85841b2f0bdSmrg	nonstopux)
85941b2f0bdSmrg		basic_machine=mips-compaq
86041b2f0bdSmrg		os=-nonstopux
86141b2f0bdSmrg		;;
86241b2f0bdSmrg	np1)
86341b2f0bdSmrg		basic_machine=np1-gould
86441b2f0bdSmrg		;;
86511a29bacSmrg        neo-tandem)
86611a29bacSmrg		basic_machine=neo-tandem
86711a29bacSmrg		;;
86811a29bacSmrg        nse-tandem)
86911a29bacSmrg		basic_machine=nse-tandem
87011a29bacSmrg		;;
87141b2f0bdSmrg	nsr-tandem)
87241b2f0bdSmrg		basic_machine=nsr-tandem
87341b2f0bdSmrg		;;
87441b2f0bdSmrg	op50n-* | op60c-*)
87541b2f0bdSmrg		basic_machine=hppa1.1-oki
87641b2f0bdSmrg		os=-proelf
87741b2f0bdSmrg		;;
87811245024Smrg	openrisc | openrisc-*)
87941b2f0bdSmrg		basic_machine=or32-unknown
88011245024Smrg		;;
88111245024Smrg	os400)
88211245024Smrg		basic_machine=powerpc-ibm
88311245024Smrg		os=-os400
88441b2f0bdSmrg		;;
88541b2f0bdSmrg	OSE68000 | ose68000)
88641b2f0bdSmrg		basic_machine=m68000-ericsson
88741b2f0bdSmrg		os=-ose
88841b2f0bdSmrg		;;
88941b2f0bdSmrg	os68k)
89041b2f0bdSmrg		basic_machine=m68k-none
89141b2f0bdSmrg		os=-os68k
89241b2f0bdSmrg		;;
89341b2f0bdSmrg	pa-hitachi)
89441b2f0bdSmrg		basic_machine=hppa1.1-hitachi
89541b2f0bdSmrg		os=-hiuxwe2
89641b2f0bdSmrg		;;
89741b2f0bdSmrg	paragon)
89841b2f0bdSmrg		basic_machine=i860-intel
89941b2f0bdSmrg		os=-osf
90041b2f0bdSmrg		;;
90111245024Smrg	parisc)
90211245024Smrg		basic_machine=hppa-unknown
90311245024Smrg		os=-linux
90411245024Smrg		;;
90511245024Smrg	parisc-*)
90611245024Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
90711245024Smrg		os=-linux
90811245024Smrg		;;
90941b2f0bdSmrg	pbd)
91041b2f0bdSmrg		basic_machine=sparc-tti
91141b2f0bdSmrg		;;
91241b2f0bdSmrg	pbb)
91341b2f0bdSmrg		basic_machine=m68k-tti
91441b2f0bdSmrg		;;
91541b2f0bdSmrg	pc532 | pc532-*)
91641b2f0bdSmrg		basic_machine=ns32k-pc532
91741b2f0bdSmrg		;;
91811245024Smrg	pc98)
91911245024Smrg		basic_machine=i386-pc
92011245024Smrg		;;
92111245024Smrg	pc98-*)
92211245024Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92311245024Smrg		;;
92441b2f0bdSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92541b2f0bdSmrg		basic_machine=i586-pc
92641b2f0bdSmrg		;;
92741b2f0bdSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92841b2f0bdSmrg		basic_machine=i686-pc
92941b2f0bdSmrg		;;
93041b2f0bdSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
93141b2f0bdSmrg		basic_machine=i686-pc
93241b2f0bdSmrg		;;
93341b2f0bdSmrg	pentium4)
93441b2f0bdSmrg		basic_machine=i786-pc
93541b2f0bdSmrg		;;
93641b2f0bdSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93741b2f0bdSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93841b2f0bdSmrg		;;
93941b2f0bdSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94041b2f0bdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94141b2f0bdSmrg		;;
94241b2f0bdSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94341b2f0bdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94441b2f0bdSmrg		;;
94541b2f0bdSmrg	pentium4-*)
94641b2f0bdSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94741b2f0bdSmrg		;;
94841b2f0bdSmrg	pn)
94941b2f0bdSmrg		basic_machine=pn-gould
95041b2f0bdSmrg		;;
95141b2f0bdSmrg	power)	basic_machine=power-ibm
95241b2f0bdSmrg		;;
95341b2f0bdSmrg	ppc)	basic_machine=powerpc-unknown
95441b2f0bdSmrg		;;
95541b2f0bdSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95641b2f0bdSmrg		;;
95741b2f0bdSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95841b2f0bdSmrg		basic_machine=powerpcle-unknown
95941b2f0bdSmrg		;;
96041b2f0bdSmrg	ppcle-* | powerpclittle-*)
96141b2f0bdSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96241b2f0bdSmrg		;;
96341b2f0bdSmrg	ppc64)	basic_machine=powerpc64-unknown
96441b2f0bdSmrg		;;
96541b2f0bdSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96641b2f0bdSmrg		;;
96741b2f0bdSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96841b2f0bdSmrg		basic_machine=powerpc64le-unknown
96941b2f0bdSmrg		;;
97041b2f0bdSmrg	ppc64le-* | powerpc64little-*)
97141b2f0bdSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97241b2f0bdSmrg		;;
97341b2f0bdSmrg	ps2)
97441b2f0bdSmrg		basic_machine=i386-ibm
97541b2f0bdSmrg		;;
97641b2f0bdSmrg	pw32)
97741b2f0bdSmrg		basic_machine=i586-unknown
97841b2f0bdSmrg		os=-pw32
97941b2f0bdSmrg		;;
98011245024Smrg	rdos)
98111245024Smrg		basic_machine=i386-pc
98211245024Smrg		os=-rdos
98311245024Smrg		;;
98441b2f0bdSmrg	rom68k)
98541b2f0bdSmrg		basic_machine=m68k-rom68k
98641b2f0bdSmrg		os=-coff
98741b2f0bdSmrg		;;
98841b2f0bdSmrg	rm[46]00)
98941b2f0bdSmrg		basic_machine=mips-siemens
99041b2f0bdSmrg		;;
99141b2f0bdSmrg	rtpc | rtpc-*)
99241b2f0bdSmrg		basic_machine=romp-ibm
99341b2f0bdSmrg		;;
99411245024Smrg	s390 | s390-*)
99511245024Smrg		basic_machine=s390-ibm
99611245024Smrg		;;
99711245024Smrg	s390x | s390x-*)
99811245024Smrg		basic_machine=s390x-ibm
99911245024Smrg		;;
100041b2f0bdSmrg	sa29200)
100141b2f0bdSmrg		basic_machine=a29k-amd
100241b2f0bdSmrg		os=-udi
100341b2f0bdSmrg		;;
100441b2f0bdSmrg	sb1)
100541b2f0bdSmrg		basic_machine=mipsisa64sb1-unknown
100641b2f0bdSmrg		;;
100741b2f0bdSmrg	sb1el)
100841b2f0bdSmrg		basic_machine=mipsisa64sb1el-unknown
100941b2f0bdSmrg		;;
101011245024Smrg	sde)
101111245024Smrg		basic_machine=mipsisa32-sde
101211245024Smrg		os=-elf
101311245024Smrg		;;
101441b2f0bdSmrg	sei)
101541b2f0bdSmrg		basic_machine=mips-sei
101641b2f0bdSmrg		os=-seiux
101741b2f0bdSmrg		;;
101841b2f0bdSmrg	sequent)
101941b2f0bdSmrg		basic_machine=i386-sequent
102041b2f0bdSmrg		;;
102141b2f0bdSmrg	sh)
102241b2f0bdSmrg		basic_machine=sh-hitachi
102341b2f0bdSmrg		os=-hms
102441b2f0bdSmrg		;;
102511245024Smrg	sh5el)
102611245024Smrg		basic_machine=sh5le-unknown
102711245024Smrg		;;
102841b2f0bdSmrg	sh64)
102941b2f0bdSmrg		basic_machine=sh64-unknown
103041b2f0bdSmrg		;;
103141b2f0bdSmrg	sparclite-wrs | simso-wrs)
103241b2f0bdSmrg		basic_machine=sparclite-wrs
103341b2f0bdSmrg		os=-vxworks
103441b2f0bdSmrg		;;
103541b2f0bdSmrg	sps7)
103641b2f0bdSmrg		basic_machine=m68k-bull
103741b2f0bdSmrg		os=-sysv2
103841b2f0bdSmrg		;;
103941b2f0bdSmrg	spur)
104041b2f0bdSmrg		basic_machine=spur-unknown
104141b2f0bdSmrg		;;
104241b2f0bdSmrg	st2000)
104341b2f0bdSmrg		basic_machine=m68k-tandem
104441b2f0bdSmrg		;;
104541b2f0bdSmrg	stratus)
104641b2f0bdSmrg		basic_machine=i860-stratus
104741b2f0bdSmrg		os=-sysv4
104841b2f0bdSmrg		;;
104941b2f0bdSmrg	sun2)
105041b2f0bdSmrg		basic_machine=m68000-sun
105141b2f0bdSmrg		;;
105241b2f0bdSmrg	sun2os3)
105341b2f0bdSmrg		basic_machine=m68000-sun
105441b2f0bdSmrg		os=-sunos3
105541b2f0bdSmrg		;;
105641b2f0bdSmrg	sun2os4)
105741b2f0bdSmrg		basic_machine=m68000-sun
105841b2f0bdSmrg		os=-sunos4
105941b2f0bdSmrg		;;
106041b2f0bdSmrg	sun3os3)
106141b2f0bdSmrg		basic_machine=m68k-sun
106241b2f0bdSmrg		os=-sunos3
106341b2f0bdSmrg		;;
106441b2f0bdSmrg	sun3os4)
106541b2f0bdSmrg		basic_machine=m68k-sun
106641b2f0bdSmrg		os=-sunos4
106741b2f0bdSmrg		;;
106841b2f0bdSmrg	sun4os3)
106941b2f0bdSmrg		basic_machine=sparc-sun
107041b2f0bdSmrg		os=-sunos3
107141b2f0bdSmrg		;;
107241b2f0bdSmrg	sun4os4)
107341b2f0bdSmrg		basic_machine=sparc-sun
107441b2f0bdSmrg		os=-sunos4
107541b2f0bdSmrg		;;
107641b2f0bdSmrg	sun4sol2)
107741b2f0bdSmrg		basic_machine=sparc-sun
107841b2f0bdSmrg		os=-solaris2
107941b2f0bdSmrg		;;
108041b2f0bdSmrg	sun3 | sun3-*)
108141b2f0bdSmrg		basic_machine=m68k-sun
108241b2f0bdSmrg		;;
108341b2f0bdSmrg	sun4)
108441b2f0bdSmrg		basic_machine=sparc-sun
108541b2f0bdSmrg		;;
108641b2f0bdSmrg	sun386 | sun386i | roadrunner)
108741b2f0bdSmrg		basic_machine=i386-sun
108841b2f0bdSmrg		;;
108941b2f0bdSmrg	sv1)
109041b2f0bdSmrg		basic_machine=sv1-cray
109141b2f0bdSmrg		os=-unicos
109241b2f0bdSmrg		;;
109341b2f0bdSmrg	symmetry)
109441b2f0bdSmrg		basic_machine=i386-sequent
109541b2f0bdSmrg		os=-dynix
109641b2f0bdSmrg		;;
109741b2f0bdSmrg	t3e)
109841b2f0bdSmrg		basic_machine=alphaev5-cray
109941b2f0bdSmrg		os=-unicos
110041b2f0bdSmrg		;;
110141b2f0bdSmrg	t90)
110241b2f0bdSmrg		basic_machine=t90-cray
110341b2f0bdSmrg		os=-unicos
110441b2f0bdSmrg		;;
110511a29bacSmrg        # This must be matched before tile*.
110611a29bacSmrg        tilegx*)
110711a29bacSmrg		basic_machine=tilegx-unknown
110811a29bacSmrg		os=-linux-gnu
110941b2f0bdSmrg		;;
111011245024Smrg	tile*)
111111245024Smrg		basic_machine=tile-unknown
111211245024Smrg		os=-linux-gnu
111311245024Smrg		;;
111441b2f0bdSmrg	tx39)
111541b2f0bdSmrg		basic_machine=mipstx39-unknown
111641b2f0bdSmrg		;;
111741b2f0bdSmrg	tx39el)
111841b2f0bdSmrg		basic_machine=mipstx39el-unknown
111941b2f0bdSmrg		;;
112041b2f0bdSmrg	toad1)
112141b2f0bdSmrg		basic_machine=pdp10-xkl
112241b2f0bdSmrg		os=-tops20
112341b2f0bdSmrg		;;
112441b2f0bdSmrg	tower | tower-32)
112541b2f0bdSmrg		basic_machine=m68k-ncr
112641b2f0bdSmrg		;;
112711245024Smrg	tpf)
112811245024Smrg		basic_machine=s390x-ibm
112911245024Smrg		os=-tpf
113011245024Smrg		;;
113141b2f0bdSmrg	udi29k)
113241b2f0bdSmrg		basic_machine=a29k-amd
113341b2f0bdSmrg		os=-udi
113441b2f0bdSmrg		;;
113541b2f0bdSmrg	ultra3)
113641b2f0bdSmrg		basic_machine=a29k-nyu
113741b2f0bdSmrg		os=-sym1
113841b2f0bdSmrg		;;
113941b2f0bdSmrg	v810 | necv810)
114041b2f0bdSmrg		basic_machine=v810-nec
114141b2f0bdSmrg		os=-none
114241b2f0bdSmrg		;;
114341b2f0bdSmrg	vaxv)
114441b2f0bdSmrg		basic_machine=vax-dec
114541b2f0bdSmrg		os=-sysv
114641b2f0bdSmrg		;;
114741b2f0bdSmrg	vms)
114841b2f0bdSmrg		basic_machine=vax-dec
114941b2f0bdSmrg		os=-vms
115041b2f0bdSmrg		;;
115141b2f0bdSmrg	vpp*|vx|vx-*)
115241b2f0bdSmrg		basic_machine=f301-fujitsu
115341b2f0bdSmrg		;;
115441b2f0bdSmrg	vxworks960)
115541b2f0bdSmrg		basic_machine=i960-wrs
115641b2f0bdSmrg		os=-vxworks
115741b2f0bdSmrg		;;
115841b2f0bdSmrg	vxworks68)
115941b2f0bdSmrg		basic_machine=m68k-wrs
116041b2f0bdSmrg		os=-vxworks
116141b2f0bdSmrg		;;
116241b2f0bdSmrg	vxworks29k)
116341b2f0bdSmrg		basic_machine=a29k-wrs
116441b2f0bdSmrg		os=-vxworks
116541b2f0bdSmrg		;;
116641b2f0bdSmrg	w65*)
116741b2f0bdSmrg		basic_machine=w65-wdc
116841b2f0bdSmrg		os=-none
116941b2f0bdSmrg		;;
117041b2f0bdSmrg	w89k-*)
117141b2f0bdSmrg		basic_machine=hppa1.1-winbond
117241b2f0bdSmrg		os=-proelf
117341b2f0bdSmrg		;;
117411245024Smrg	xbox)
117511245024Smrg		basic_machine=i686-pc
117611245024Smrg		os=-mingw32
117711245024Smrg		;;
117841b2f0bdSmrg	xps | xps100)
117941b2f0bdSmrg		basic_machine=xps100-honeywell
118041b2f0bdSmrg		;;
118141b2f0bdSmrg	ymp)
118241b2f0bdSmrg		basic_machine=ymp-cray
118341b2f0bdSmrg		os=-unicos
118441b2f0bdSmrg		;;
118541b2f0bdSmrg	z8k-*-coff)
118641b2f0bdSmrg		basic_machine=z8k-unknown
118741b2f0bdSmrg		os=-sim
118841b2f0bdSmrg		;;
118911a29bacSmrg	z80-*-coff)
119011a29bacSmrg		basic_machine=z80-unknown
119111a29bacSmrg		os=-sim
119211a29bacSmrg		;;
119341b2f0bdSmrg	none)
119441b2f0bdSmrg		basic_machine=none-none
119541b2f0bdSmrg		os=-none
119641b2f0bdSmrg		;;
119741b2f0bdSmrg
119841b2f0bdSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
119941b2f0bdSmrg# some cases the only manufacturer, in others, it is the most popular.
120041b2f0bdSmrg	w89k)
120141b2f0bdSmrg		basic_machine=hppa1.1-winbond
120241b2f0bdSmrg		;;
120341b2f0bdSmrg	op50n)
120441b2f0bdSmrg		basic_machine=hppa1.1-oki
120541b2f0bdSmrg		;;
120641b2f0bdSmrg	op60c)
120741b2f0bdSmrg		basic_machine=hppa1.1-oki
120841b2f0bdSmrg		;;
120941b2f0bdSmrg	romp)
121041b2f0bdSmrg		basic_machine=romp-ibm
121141b2f0bdSmrg		;;
121211245024Smrg	mmix)
121311245024Smrg		basic_machine=mmix-knuth
121411245024Smrg		;;
121541b2f0bdSmrg	rs6000)
121641b2f0bdSmrg		basic_machine=rs6000-ibm
121741b2f0bdSmrg		;;
121841b2f0bdSmrg	vax)
121941b2f0bdSmrg		basic_machine=vax-dec
122041b2f0bdSmrg		;;
122141b2f0bdSmrg	pdp10)
122241b2f0bdSmrg		# there are many clones, so DEC is not a safe bet
122341b2f0bdSmrg		basic_machine=pdp10-unknown
122441b2f0bdSmrg		;;
122541b2f0bdSmrg	pdp11)
122641b2f0bdSmrg		basic_machine=pdp11-dec
122741b2f0bdSmrg		;;
122841b2f0bdSmrg	we32k)
122941b2f0bdSmrg		basic_machine=we32k-att
123041b2f0bdSmrg		;;
123111a29bacSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123241b2f0bdSmrg		basic_machine=sh-unknown
123341b2f0bdSmrg		;;
123411245024Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123541b2f0bdSmrg		basic_machine=sparc-sun
123641b2f0bdSmrg		;;
123741b2f0bdSmrg	cydra)
123841b2f0bdSmrg		basic_machine=cydra-cydrome
123941b2f0bdSmrg		;;
124041b2f0bdSmrg	orion)
124141b2f0bdSmrg		basic_machine=orion-highlevel
124241b2f0bdSmrg		;;
124341b2f0bdSmrg	orion105)
124441b2f0bdSmrg		basic_machine=clipper-highlevel
124541b2f0bdSmrg		;;
124641b2f0bdSmrg	mac | mpw | mac-mpw)
124741b2f0bdSmrg		basic_machine=m68k-apple
124841b2f0bdSmrg		;;
124941b2f0bdSmrg	pmac | pmac-mpw)
125041b2f0bdSmrg		basic_machine=powerpc-apple
125141b2f0bdSmrg		;;
125241b2f0bdSmrg	*-unknown)
125341b2f0bdSmrg		# Make sure to match an already-canonicalized machine name.
125441b2f0bdSmrg		;;
125541b2f0bdSmrg	*)
125641b2f0bdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125741b2f0bdSmrg		exit 1
125841b2f0bdSmrg		;;
125941b2f0bdSmrgesac
126041b2f0bdSmrg
126141b2f0bdSmrg# Here we canonicalize certain aliases for manufacturers.
126241b2f0bdSmrgcase $basic_machine in
126341b2f0bdSmrg	*-digital*)
126441b2f0bdSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126541b2f0bdSmrg		;;
126641b2f0bdSmrg	*-commodore*)
126741b2f0bdSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126841b2f0bdSmrg		;;
126941b2f0bdSmrg	*)
127041b2f0bdSmrg		;;
127141b2f0bdSmrgesac
127241b2f0bdSmrg
127341b2f0bdSmrg# Decode manufacturer-specific aliases for certain operating systems.
127441b2f0bdSmrg
127541b2f0bdSmrgif [ x"$os" != x"" ]
127641b2f0bdSmrgthen
127741b2f0bdSmrgcase $os in
127841b2f0bdSmrg        # First match some system type aliases
127941b2f0bdSmrg        # that might get confused with valid system types.
128041b2f0bdSmrg	# -solaris* is a basic system type, with this one exception.
128111a29bacSmrg        -auroraux)
128211a29bacSmrg	        os=-auroraux
128311a29bacSmrg		;;
128441b2f0bdSmrg	-solaris1 | -solaris1.*)
128541b2f0bdSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128641b2f0bdSmrg		;;
128741b2f0bdSmrg	-solaris)
128841b2f0bdSmrg		os=-solaris2
128941b2f0bdSmrg		;;
129041b2f0bdSmrg	-svr4*)
129141b2f0bdSmrg		os=-sysv4
129241b2f0bdSmrg		;;
129341b2f0bdSmrg	-unixware*)
129441b2f0bdSmrg		os=-sysv4.2uw
129541b2f0bdSmrg		;;
129641b2f0bdSmrg	-gnu/linux*)
129741b2f0bdSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129841b2f0bdSmrg		;;
129941b2f0bdSmrg	# First accept the basic system types.
130041b2f0bdSmrg	# The portable systems comes first.
130141b2f0bdSmrg	# Each alternative MUST END IN A *, to match a version number.
130241b2f0bdSmrg	# -sysv* is not here because it comes later, after sysvr4.
130341b2f0bdSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130411a29bacSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130511a29bacSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130611a29bacSmrg	      | -sym* | -kopensolaris* \
130741b2f0bdSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
130811a29bacSmrg	      | -aos* | -aros* \
130941b2f0bdSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131041b2f0bdSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131111245024Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131211245024Smrg	      | -openbsd* | -solidbsd* \
131311245024Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
131411245024Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131541b2f0bdSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131641b2f0bdSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
131711a29bacSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131841b2f0bdSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131911a29bacSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132011a29bacSmrg	      | -linux-newlib* | -linux-uclibc* \
132111245024Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132241b2f0bdSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132341b2f0bdSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132441b2f0bdSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132541b2f0bdSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132641b2f0bdSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
132711245024Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132811a29bacSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132941b2f0bdSmrg	# Remember, each alternative MUST END IN *, to match a version number.
133041b2f0bdSmrg		;;
133141b2f0bdSmrg	-qnx*)
133241b2f0bdSmrg		case $basic_machine in
133341b2f0bdSmrg		    x86-* | i*86-*)
133441b2f0bdSmrg			;;
133541b2f0bdSmrg		    *)
133641b2f0bdSmrg			os=-nto$os
133741b2f0bdSmrg			;;
133841b2f0bdSmrg		esac
133941b2f0bdSmrg		;;
134041b2f0bdSmrg	-nto-qnx*)
134141b2f0bdSmrg		;;
134241b2f0bdSmrg	-nto*)
134341b2f0bdSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134441b2f0bdSmrg		;;
134541b2f0bdSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
134611245024Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134741b2f0bdSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134841b2f0bdSmrg		;;
134941b2f0bdSmrg	-mac*)
135041b2f0bdSmrg		os=`echo $os | sed -e 's|mac|macos|'`
135141b2f0bdSmrg		;;
135211245024Smrg	-linux-dietlibc)
135311245024Smrg		os=-linux-dietlibc
135411245024Smrg		;;
135541b2f0bdSmrg	-linux*)
135641b2f0bdSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135741b2f0bdSmrg		;;
135841b2f0bdSmrg	-sunos5*)
135941b2f0bdSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136041b2f0bdSmrg		;;
136141b2f0bdSmrg	-sunos6*)
136241b2f0bdSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136341b2f0bdSmrg		;;
136441b2f0bdSmrg	-opened*)
136541b2f0bdSmrg		os=-openedition
136641b2f0bdSmrg		;;
136711245024Smrg        -os400*)
136811245024Smrg		os=-os400
136911245024Smrg		;;
137041b2f0bdSmrg	-wince*)
137141b2f0bdSmrg		os=-wince
137241b2f0bdSmrg		;;
137341b2f0bdSmrg	-osfrose*)
137441b2f0bdSmrg		os=-osfrose
137541b2f0bdSmrg		;;
137641b2f0bdSmrg	-osf*)
137741b2f0bdSmrg		os=-osf
137841b2f0bdSmrg		;;
137941b2f0bdSmrg	-utek*)
138041b2f0bdSmrg		os=-bsd
138141b2f0bdSmrg		;;
138241b2f0bdSmrg	-dynix*)
138341b2f0bdSmrg		os=-bsd
138441b2f0bdSmrg		;;
138541b2f0bdSmrg	-acis*)
138641b2f0bdSmrg		os=-aos
138741b2f0bdSmrg		;;
138841b2f0bdSmrg	-atheos*)
138941b2f0bdSmrg		os=-atheos
139041b2f0bdSmrg		;;
139111245024Smrg	-syllable*)
139211245024Smrg		os=-syllable
139311245024Smrg		;;
139441b2f0bdSmrg	-386bsd)
139541b2f0bdSmrg		os=-bsd
139641b2f0bdSmrg		;;
139741b2f0bdSmrg	-ctix* | -uts*)
139841b2f0bdSmrg		os=-sysv
139941b2f0bdSmrg		;;
140041b2f0bdSmrg	-nova*)
140141b2f0bdSmrg		os=-rtmk-nova
140241b2f0bdSmrg		;;
140341b2f0bdSmrg	-ns2 )
140441b2f0bdSmrg		os=-nextstep2
140541b2f0bdSmrg		;;
140641b2f0bdSmrg	-nsk*)
140741b2f0bdSmrg		os=-nsk
140841b2f0bdSmrg		;;
140941b2f0bdSmrg	# Preserve the version number of sinix5.
141041b2f0bdSmrg	-sinix5.*)
141141b2f0bdSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141241b2f0bdSmrg		;;
141341b2f0bdSmrg	-sinix*)
141441b2f0bdSmrg		os=-sysv4
141541b2f0bdSmrg		;;
141611245024Smrg        -tpf*)
141711245024Smrg		os=-tpf
141811245024Smrg		;;
141941b2f0bdSmrg	-triton*)
142041b2f0bdSmrg		os=-sysv3
142141b2f0bdSmrg		;;
142241b2f0bdSmrg	-oss*)
142341b2f0bdSmrg		os=-sysv3
142441b2f0bdSmrg		;;
142541b2f0bdSmrg	-svr4)
142641b2f0bdSmrg		os=-sysv4
142741b2f0bdSmrg		;;
142841b2f0bdSmrg	-svr3)
142941b2f0bdSmrg		os=-sysv3
143041b2f0bdSmrg		;;
143141b2f0bdSmrg	-sysvr4)
143241b2f0bdSmrg		os=-sysv4
143341b2f0bdSmrg		;;
143441b2f0bdSmrg	# This must come after -sysvr4.
143541b2f0bdSmrg	-sysv*)
143641b2f0bdSmrg		;;
143741b2f0bdSmrg	-ose*)
143841b2f0bdSmrg		os=-ose
143941b2f0bdSmrg		;;
144041b2f0bdSmrg	-es1800*)
144141b2f0bdSmrg		os=-ose
144241b2f0bdSmrg		;;
144341b2f0bdSmrg	-xenix)
144441b2f0bdSmrg		os=-xenix
144541b2f0bdSmrg		;;
144641b2f0bdSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144741b2f0bdSmrg		os=-mint
144841b2f0bdSmrg		;;
144941b2f0bdSmrg	-aros*)
145041b2f0bdSmrg		os=-aros
145141b2f0bdSmrg		;;
145241b2f0bdSmrg	-kaos*)
145341b2f0bdSmrg		os=-kaos
145441b2f0bdSmrg		;;
145511245024Smrg	-zvmoe)
145611245024Smrg		os=-zvmoe
145711245024Smrg		;;
145811a29bacSmrg	-dicos*)
145911a29bacSmrg		os=-dicos
146011a29bacSmrg		;;
146111a29bacSmrg        -nacl*)
146211a29bacSmrg	        ;;
146341b2f0bdSmrg	-none)
146441b2f0bdSmrg		;;
146541b2f0bdSmrg	*)
146641b2f0bdSmrg		# Get rid of the `-' at the beginning of $os.
146741b2f0bdSmrg		os=`echo $os | sed 's/[^-]*-//'`
146841b2f0bdSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146941b2f0bdSmrg		exit 1
147041b2f0bdSmrg		;;
147141b2f0bdSmrgesac
147241b2f0bdSmrgelse
147341b2f0bdSmrg
147441b2f0bdSmrg# Here we handle the default operating systems that come with various machines.
147541b2f0bdSmrg# The value should be what the vendor currently ships out the door with their
147641b2f0bdSmrg# machine or put another way, the most popular os provided with the machine.
147741b2f0bdSmrg
147841b2f0bdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147941b2f0bdSmrg# "-sun"), then you have to tell the case statement up towards the top
148041b2f0bdSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148141b2f0bdSmrg# will signal an error saying that MANUFACTURER isn't an operating
148241b2f0bdSmrg# system, and we'll never get to this point.
148341b2f0bdSmrg
148441b2f0bdSmrgcase $basic_machine in
148511245024Smrg        score-*)
148611245024Smrg		os=-elf
148711245024Smrg		;;
148811245024Smrg        spu-*)
148911245024Smrg		os=-elf
149011245024Smrg		;;
149141b2f0bdSmrg	*-acorn)
149241b2f0bdSmrg		os=-riscix1.2
149341b2f0bdSmrg		;;
149441b2f0bdSmrg	arm*-rebel)
149541b2f0bdSmrg		os=-linux
149641b2f0bdSmrg		;;
149741b2f0bdSmrg	arm*-semi)
149841b2f0bdSmrg		os=-aout
149941b2f0bdSmrg		;;
150011245024Smrg        c4x-* | tic4x-*)
150111245024Smrg        	os=-coff
150241b2f0bdSmrg		;;
150311a29bacSmrg	tic54x-*)
150411a29bacSmrg		os=-coff
150511a29bacSmrg		;;
150611a29bacSmrg	tic55x-*)
150711a29bacSmrg		os=-coff
150811a29bacSmrg		;;
150911a29bacSmrg	tic6x-*)
151011a29bacSmrg		os=-coff
151111a29bacSmrg		;;
151241b2f0bdSmrg	# This must come before the *-dec entry.
151341b2f0bdSmrg	pdp10-*)
151441b2f0bdSmrg		os=-tops20
151541b2f0bdSmrg		;;
151641b2f0bdSmrg	pdp11-*)
151741b2f0bdSmrg		os=-none
151841b2f0bdSmrg		;;
151941b2f0bdSmrg	*-dec | vax-*)
152041b2f0bdSmrg		os=-ultrix4.2
152141b2f0bdSmrg		;;
152241b2f0bdSmrg	m68*-apollo)
152341b2f0bdSmrg		os=-domain
152441b2f0bdSmrg		;;
152541b2f0bdSmrg	i386-sun)
152641b2f0bdSmrg		os=-sunos4.0.2
152741b2f0bdSmrg		;;
152841b2f0bdSmrg	m68000-sun)
152941b2f0bdSmrg		os=-sunos3
153041b2f0bdSmrg		# This also exists in the configure program, but was not the
153141b2f0bdSmrg		# default.
153241b2f0bdSmrg		# os=-sunos4
153341b2f0bdSmrg		;;
153441b2f0bdSmrg	m68*-cisco)
153541b2f0bdSmrg		os=-aout
153641b2f0bdSmrg		;;
153711245024Smrg        mep-*)
153811245024Smrg		os=-elf
153911245024Smrg		;;
154041b2f0bdSmrg	mips*-cisco)
154141b2f0bdSmrg		os=-elf
154241b2f0bdSmrg		;;
154341b2f0bdSmrg	mips*-*)
154441b2f0bdSmrg		os=-elf
154541b2f0bdSmrg		;;
154641b2f0bdSmrg	or32-*)
154741b2f0bdSmrg		os=-coff
154841b2f0bdSmrg		;;
154941b2f0bdSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
155041b2f0bdSmrg		os=-sysv3
155141b2f0bdSmrg		;;
155241b2f0bdSmrg	sparc-* | *-sun)
155341b2f0bdSmrg		os=-sunos4.1.1
155441b2f0bdSmrg		;;
155541b2f0bdSmrg	*-be)
155641b2f0bdSmrg		os=-beos
155741b2f0bdSmrg		;;
155811245024Smrg	*-haiku)
155911245024Smrg		os=-haiku
156011245024Smrg		;;
156141b2f0bdSmrg	*-ibm)
156241b2f0bdSmrg		os=-aix
156341b2f0bdSmrg		;;
156411245024Smrg    	*-knuth)
156511245024Smrg		os=-mmixware
156611245024Smrg		;;
156741b2f0bdSmrg	*-wec)
156841b2f0bdSmrg		os=-proelf
156941b2f0bdSmrg		;;
157041b2f0bdSmrg	*-winbond)
157141b2f0bdSmrg		os=-proelf
157241b2f0bdSmrg		;;
157341b2f0bdSmrg	*-oki)
157441b2f0bdSmrg		os=-proelf
157541b2f0bdSmrg		;;
157641b2f0bdSmrg	*-hp)
157741b2f0bdSmrg		os=-hpux
157841b2f0bdSmrg		;;
157941b2f0bdSmrg	*-hitachi)
158041b2f0bdSmrg		os=-hiux
158141b2f0bdSmrg		;;
158241b2f0bdSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158341b2f0bdSmrg		os=-sysv
158441b2f0bdSmrg		;;
158541b2f0bdSmrg	*-cbm)
158641b2f0bdSmrg		os=-amigaos
158741b2f0bdSmrg		;;
158841b2f0bdSmrg	*-dg)
158941b2f0bdSmrg		os=-dgux
159041b2f0bdSmrg		;;
159141b2f0bdSmrg	*-dolphin)
159241b2f0bdSmrg		os=-sysv3
159341b2f0bdSmrg		;;
159441b2f0bdSmrg	m68k-ccur)
159541b2f0bdSmrg		os=-rtu
159641b2f0bdSmrg		;;
159741b2f0bdSmrg	m88k-omron*)
159841b2f0bdSmrg		os=-luna
159941b2f0bdSmrg		;;
160041b2f0bdSmrg	*-next )
160141b2f0bdSmrg		os=-nextstep
160241b2f0bdSmrg		;;
160341b2f0bdSmrg	*-sequent)
160441b2f0bdSmrg		os=-ptx
160541b2f0bdSmrg		;;
160641b2f0bdSmrg	*-crds)
160741b2f0bdSmrg		os=-unos
160841b2f0bdSmrg		;;
160941b2f0bdSmrg	*-ns)
161041b2f0bdSmrg		os=-genix
161141b2f0bdSmrg		;;
161241b2f0bdSmrg	i370-*)
161341b2f0bdSmrg		os=-mvs
161441b2f0bdSmrg		;;
161541b2f0bdSmrg	*-next)
161641b2f0bdSmrg		os=-nextstep3
161741b2f0bdSmrg		;;
161841b2f0bdSmrg	*-gould)
161941b2f0bdSmrg		os=-sysv
162041b2f0bdSmrg		;;
162141b2f0bdSmrg	*-highlevel)
162241b2f0bdSmrg		os=-bsd
162341b2f0bdSmrg		;;
162441b2f0bdSmrg	*-encore)
162541b2f0bdSmrg		os=-bsd
162641b2f0bdSmrg		;;
162741b2f0bdSmrg	*-sgi)
162841b2f0bdSmrg		os=-irix
162941b2f0bdSmrg		;;
163041b2f0bdSmrg	*-siemens)
163141b2f0bdSmrg		os=-sysv4
163241b2f0bdSmrg		;;
163341b2f0bdSmrg	*-masscomp)
163441b2f0bdSmrg		os=-rtu
163541b2f0bdSmrg		;;
163641b2f0bdSmrg	f30[01]-fujitsu | f700-fujitsu)
163741b2f0bdSmrg		os=-uxpv
163841b2f0bdSmrg		;;
163941b2f0bdSmrg	*-rom68k)
164041b2f0bdSmrg		os=-coff
164141b2f0bdSmrg		;;
164241b2f0bdSmrg	*-*bug)
164341b2f0bdSmrg		os=-coff
164441b2f0bdSmrg		;;
164541b2f0bdSmrg	*-apple)
164641b2f0bdSmrg		os=-macos
164741b2f0bdSmrg		;;
164841b2f0bdSmrg	*-atari*)
164941b2f0bdSmrg		os=-mint
165041b2f0bdSmrg		;;
165141b2f0bdSmrg	*)
165241b2f0bdSmrg		os=-none
165341b2f0bdSmrg		;;
165441b2f0bdSmrgesac
165541b2f0bdSmrgfi
165641b2f0bdSmrg
165741b2f0bdSmrg# Here we handle the case where we know the os, and the CPU type, but not the
165841b2f0bdSmrg# manufacturer.  We pick the logical manufacturer.
165941b2f0bdSmrgvendor=unknown
166041b2f0bdSmrgcase $basic_machine in
166141b2f0bdSmrg	*-unknown)
166241b2f0bdSmrg		case $os in
166341b2f0bdSmrg			-riscix*)
166441b2f0bdSmrg				vendor=acorn
166541b2f0bdSmrg				;;
166641b2f0bdSmrg			-sunos*)
166741b2f0bdSmrg				vendor=sun
166841b2f0bdSmrg				;;
166911a29bacSmrg			-cnk*|-aix*)
167041b2f0bdSmrg				vendor=ibm
167141b2f0bdSmrg				;;
167241b2f0bdSmrg			-beos*)
167341b2f0bdSmrg				vendor=be
167441b2f0bdSmrg				;;
167541b2f0bdSmrg			-hpux*)
167641b2f0bdSmrg				vendor=hp
167741b2f0bdSmrg				;;
167841b2f0bdSmrg			-mpeix*)
167941b2f0bdSmrg				vendor=hp
168041b2f0bdSmrg				;;
168141b2f0bdSmrg			-hiux*)
168241b2f0bdSmrg				vendor=hitachi
168341b2f0bdSmrg				;;
168441b2f0bdSmrg			-unos*)
168541b2f0bdSmrg				vendor=crds
168641b2f0bdSmrg				;;
168741b2f0bdSmrg			-dgux*)
168841b2f0bdSmrg				vendor=dg
168941b2f0bdSmrg				;;
169041b2f0bdSmrg			-luna*)
169141b2f0bdSmrg				vendor=omron
169241b2f0bdSmrg				;;
169341b2f0bdSmrg			-genix*)
169441b2f0bdSmrg				vendor=ns
169541b2f0bdSmrg				;;
169641b2f0bdSmrg			-mvs* | -opened*)
169741b2f0bdSmrg				vendor=ibm
169841b2f0bdSmrg				;;
169911245024Smrg			-os400*)
170011245024Smrg				vendor=ibm
170111245024Smrg				;;
170241b2f0bdSmrg			-ptx*)
170341b2f0bdSmrg				vendor=sequent
170441b2f0bdSmrg				;;
170511245024Smrg			-tpf*)
170611245024Smrg				vendor=ibm
170711245024Smrg				;;
170841b2f0bdSmrg			-vxsim* | -vxworks* | -windiss*)
170941b2f0bdSmrg				vendor=wrs
171041b2f0bdSmrg				;;
171141b2f0bdSmrg			-aux*)
171241b2f0bdSmrg				vendor=apple
171341b2f0bdSmrg				;;
171441b2f0bdSmrg			-hms*)
171541b2f0bdSmrg				vendor=hitachi
171641b2f0bdSmrg				;;
171741b2f0bdSmrg			-mpw* | -macos*)
171841b2f0bdSmrg				vendor=apple
171941b2f0bdSmrg				;;
172041b2f0bdSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172141b2f0bdSmrg				vendor=atari
172241b2f0bdSmrg				;;
172341b2f0bdSmrg			-vos*)
172441b2f0bdSmrg				vendor=stratus
172541b2f0bdSmrg				;;
172641b2f0bdSmrg		esac
172741b2f0bdSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172841b2f0bdSmrg		;;
172941b2f0bdSmrgesac
173041b2f0bdSmrg
173141b2f0bdSmrgecho $basic_machine$os
173211245024Smrgexit
173341b2f0bdSmrg
173441b2f0bdSmrg# Local variables:
173541b2f0bdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173641b2f0bdSmrg# time-stamp-start: "timestamp='"
173741b2f0bdSmrg# time-stamp-format: "%:y-%02m-%02d"
173841b2f0bdSmrg# time-stamp-end: "'"
173941b2f0bdSmrg# End:
1740