config.sub revision c3f70f0a
197e8a2e8Smrg#! /bin/sh
297e8a2e8Smrg# Configuration validation subroutine script.
397e8a2e8Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4c3f70f0aSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5d7accfefSmrg#   Free Software Foundation, Inc.
697e8a2e8Smrg
7c3f70f0aSmrgtimestamp='2010-09-11'
897e8a2e8Smrg
997e8a2e8Smrg# This file is (in principle) common to ALL GNU software.
1097e8a2e8Smrg# The presence of a machine in this file suggests that SOME GNU software
1197e8a2e8Smrg# can handle that machine.  It does not imply ALL GNU software can.
1297e8a2e8Smrg#
1397e8a2e8Smrg# This file is free software; you can redistribute it and/or modify
1497e8a2e8Smrg# it under the terms of the GNU General Public License as published by
1597e8a2e8Smrg# the Free Software Foundation; either version 2 of the License, or
1697e8a2e8Smrg# (at your option) any later version.
1797e8a2e8Smrg#
1897e8a2e8Smrg# This program is distributed in the hope that it will be useful,
1997e8a2e8Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2097e8a2e8Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2197e8a2e8Smrg# GNU General Public License for more details.
2297e8a2e8Smrg#
2397e8a2e8Smrg# You should have received a copy of the GNU General Public License
2497e8a2e8Smrg# along with this program; if not, write to the Free Software
25d7accfefSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26d7accfefSmrg# 02110-1301, USA.
27d7accfefSmrg#
2897e8a2e8Smrg# As a special exception to the GNU General Public License, if you
2997e8a2e8Smrg# distribute this file as part of a program that contains a
3097e8a2e8Smrg# configuration script generated by Autoconf, you may include it under
3197e8a2e8Smrg# the same distribution terms that you use for the rest of that program.
3297e8a2e8Smrg
33d7accfefSmrg
3497e8a2e8Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35c3f70f0aSmrg# diff and a properly formatted GNU ChangeLog entry.
3697e8a2e8Smrg#
3797e8a2e8Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3897e8a2e8Smrg# Supply the specified configuration type as an argument.
3997e8a2e8Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4097e8a2e8Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4197e8a2e8Smrg
42c3f70f0aSmrg# You can get the latest version of this script from:
43c3f70f0aSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44c3f70f0aSmrg
4597e8a2e8Smrg# This file is supposed to be the same for all GNU packages
4697e8a2e8Smrg# and recognize all the CPU types, system types and aliases
4797e8a2e8Smrg# that are meaningful with *any* GNU software.
4897e8a2e8Smrg# Each package is responsible for reporting which valid configurations
4997e8a2e8Smrg# it does not support.  The user should be able to distinguish
5097e8a2e8Smrg# a failure to support a valid configuration from a meaningless
5197e8a2e8Smrg# configuration.
5297e8a2e8Smrg
5397e8a2e8Smrg# The goal of this file is to map all the various variations of a given
5497e8a2e8Smrg# machine specification into a single specification in the form:
5597e8a2e8Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5697e8a2e8Smrg# or in some cases, the newer four-part form:
5797e8a2e8Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5897e8a2e8Smrg# It is wrong to echo any other type of specification.
5997e8a2e8Smrg
6097e8a2e8Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6197e8a2e8Smrg
6297e8a2e8Smrgusage="\
6397e8a2e8SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6497e8a2e8Smrg       $0 [OPTION] ALIAS
6597e8a2e8Smrg
6697e8a2e8SmrgCanonicalize a configuration name.
6797e8a2e8Smrg
6897e8a2e8SmrgOperation modes:
6997e8a2e8Smrg  -h, --help         print this help, then exit
7097e8a2e8Smrg  -t, --time-stamp   print date of last modification, then exit
7197e8a2e8Smrg  -v, --version      print version number, then exit
7297e8a2e8Smrg
7397e8a2e8SmrgReport bugs and patches to <config-patches@gnu.org>."
7497e8a2e8Smrg
7597e8a2e8Smrgversion="\
7697e8a2e8SmrgGNU config.sub ($timestamp)
7797e8a2e8Smrg
78c3f70f0aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79c3f70f0aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80c3f70f0aSmrgSoftware Foundation, Inc.
8197e8a2e8Smrg
8297e8a2e8SmrgThis is free software; see the source for copying conditions.  There is NO
8397e8a2e8Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8497e8a2e8Smrg
8597e8a2e8Smrghelp="
8697e8a2e8SmrgTry \`$me --help' for more information."
8797e8a2e8Smrg
8897e8a2e8Smrg# Parse command line
8997e8a2e8Smrgwhile test $# -gt 0 ; do
9097e8a2e8Smrg  case $1 in
9197e8a2e8Smrg    --time-stamp | --time* | -t )
92d7accfefSmrg       echo "$timestamp" ; exit ;;
9397e8a2e8Smrg    --version | -v )
94d7accfefSmrg       echo "$version" ; exit ;;
9597e8a2e8Smrg    --help | --h* | -h )
96d7accfefSmrg       echo "$usage"; exit ;;
9797e8a2e8Smrg    -- )     # Stop option processing
9897e8a2e8Smrg       shift; break ;;
9997e8a2e8Smrg    - )	# Use stdin as input.
10097e8a2e8Smrg       break ;;
10197e8a2e8Smrg    -* )
10297e8a2e8Smrg       echo "$me: invalid option $1$help"
10397e8a2e8Smrg       exit 1 ;;
10497e8a2e8Smrg
10597e8a2e8Smrg    *local*)
10697e8a2e8Smrg       # First pass through any local machine types.
10797e8a2e8Smrg       echo $1
108d7accfefSmrg       exit ;;
10997e8a2e8Smrg
11097e8a2e8Smrg    * )
11197e8a2e8Smrg       break ;;
11297e8a2e8Smrg  esac
11397e8a2e8Smrgdone
11497e8a2e8Smrg
11597e8a2e8Smrgcase $# in
11697e8a2e8Smrg 0) echo "$me: missing argument$help" >&2
11797e8a2e8Smrg    exit 1;;
11897e8a2e8Smrg 1) ;;
11997e8a2e8Smrg *) echo "$me: too many arguments$help" >&2
12097e8a2e8Smrg    exit 1;;
12197e8a2e8Smrgesac
12297e8a2e8Smrg
12397e8a2e8Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12497e8a2e8Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12597e8a2e8Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12697e8a2e8Smrgcase $maybe_os in
127c3f70f0aSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128c3f70f0aSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129c3f70f0aSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130d7accfefSmrg  kopensolaris*-gnu* | \
131d7accfefSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
13297e8a2e8Smrg    os=-$maybe_os
13397e8a2e8Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13497e8a2e8Smrg    ;;
13597e8a2e8Smrg  *)
13697e8a2e8Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13797e8a2e8Smrg    if [ $basic_machine != $1 ]
13897e8a2e8Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13997e8a2e8Smrg    else os=; fi
14097e8a2e8Smrg    ;;
14197e8a2e8Smrgesac
14297e8a2e8Smrg
14397e8a2e8Smrg### Let's recognize common machines as not being operating systems so
14497e8a2e8Smrg### that things like config.sub decstation-3100 work.  We also
14597e8a2e8Smrg### recognize some manufacturers as not being operating systems, so we
14697e8a2e8Smrg### can provide default operating systems below.
14797e8a2e8Smrgcase $os in
14897e8a2e8Smrg	-sun*os*)
14997e8a2e8Smrg		# Prevent following clause from handling this invalid input.
15097e8a2e8Smrg		;;
15197e8a2e8Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15297e8a2e8Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15397e8a2e8Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15497e8a2e8Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15597e8a2e8Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15697e8a2e8Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157c3f70f0aSmrg	-apple | -axis | -knuth | -cray | -microblaze)
15897e8a2e8Smrg		os=
15997e8a2e8Smrg		basic_machine=$1
16097e8a2e8Smrg		;;
161c3f70f0aSmrg        -bluegene*)
162c3f70f0aSmrg	        os=-cnk
163c3f70f0aSmrg		;;
16497e8a2e8Smrg	-sim | -cisco | -oki | -wec | -winbond)
16597e8a2e8Smrg		os=
16697e8a2e8Smrg		basic_machine=$1
16797e8a2e8Smrg		;;
16897e8a2e8Smrg	-scout)
16997e8a2e8Smrg		;;
17097e8a2e8Smrg	-wrs)
17197e8a2e8Smrg		os=-vxworks
17297e8a2e8Smrg		basic_machine=$1
17397e8a2e8Smrg		;;
17497e8a2e8Smrg	-chorusos*)
17597e8a2e8Smrg		os=-chorusos
17697e8a2e8Smrg		basic_machine=$1
17797e8a2e8Smrg		;;
17897e8a2e8Smrg 	-chorusrdb)
17997e8a2e8Smrg 		os=-chorusrdb
18097e8a2e8Smrg		basic_machine=$1
18197e8a2e8Smrg 		;;
18297e8a2e8Smrg	-hiux*)
18397e8a2e8Smrg		os=-hiuxwe2
18497e8a2e8Smrg		;;
185d7accfefSmrg	-sco6)
186d7accfefSmrg		os=-sco5v6
187d7accfefSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188d7accfefSmrg		;;
18997e8a2e8Smrg	-sco5)
19097e8a2e8Smrg		os=-sco3.2v5
19197e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19297e8a2e8Smrg		;;
19397e8a2e8Smrg	-sco4)
19497e8a2e8Smrg		os=-sco3.2v4
19597e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19697e8a2e8Smrg		;;
19797e8a2e8Smrg	-sco3.2.[4-9]*)
19897e8a2e8Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19997e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20097e8a2e8Smrg		;;
20197e8a2e8Smrg	-sco3.2v[4-9]*)
20297e8a2e8Smrg		# Don't forget version if it is 3.2v4 or newer.
20397e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20497e8a2e8Smrg		;;
205d7accfefSmrg	-sco5v6*)
206d7accfefSmrg		# Don't forget version if it is 3.2v4 or newer.
207d7accfefSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208d7accfefSmrg		;;
20997e8a2e8Smrg	-sco*)
21097e8a2e8Smrg		os=-sco3.2v2
21197e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21297e8a2e8Smrg		;;
21397e8a2e8Smrg	-udk*)
21497e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21597e8a2e8Smrg		;;
21697e8a2e8Smrg	-isc)
21797e8a2e8Smrg		os=-isc2.2
21897e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21997e8a2e8Smrg		;;
22097e8a2e8Smrg	-clix*)
22197e8a2e8Smrg		basic_machine=clipper-intergraph
22297e8a2e8Smrg		;;
22397e8a2e8Smrg	-isc*)
22497e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22597e8a2e8Smrg		;;
22697e8a2e8Smrg	-lynx*)
22797e8a2e8Smrg		os=-lynxos
22897e8a2e8Smrg		;;
22997e8a2e8Smrg	-ptx*)
23097e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23197e8a2e8Smrg		;;
23297e8a2e8Smrg	-windowsnt*)
23397e8a2e8Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23497e8a2e8Smrg		;;
23597e8a2e8Smrg	-psos*)
23697e8a2e8Smrg		os=-psos
23797e8a2e8Smrg		;;
23897e8a2e8Smrg	-mint | -mint[0-9]*)
23997e8a2e8Smrg		basic_machine=m68k-atari
24097e8a2e8Smrg		os=-mint
24197e8a2e8Smrg		;;
24297e8a2e8Smrgesac
24397e8a2e8Smrg
24497e8a2e8Smrg# Decode aliases for certain CPU-COMPANY combinations.
24597e8a2e8Smrgcase $basic_machine in
24697e8a2e8Smrg	# Recognize the basic CPU types without company name.
24797e8a2e8Smrg	# Some are omitted here because they have special meanings below.
24897e8a2e8Smrg	1750a | 580 \
24997e8a2e8Smrg	| a29k \
25097e8a2e8Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25197e8a2e8Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252d7accfefSmrg	| am33_2.0 \
253d7accfefSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254d7accfefSmrg	| bfin \
25597e8a2e8Smrg	| c4x | clipper \
25697e8a2e8Smrg	| d10v | d30v | dlx | dsp16xx \
257d7accfefSmrg	| fido | fr30 | frv \
25897e8a2e8Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25997e8a2e8Smrg	| i370 | i860 | i960 | ia64 \
260d7accfefSmrg	| ip2k | iq2000 \
261d7accfefSmrg	| lm32 \
262d7accfefSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263d7accfefSmrg	| maxq | mb | microblaze | mcore | mep | metag \
26497e8a2e8Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26597e8a2e8Smrg	| mips16 \
26697e8a2e8Smrg	| mips64 | mips64el \
267d7accfefSmrg	| mips64octeon | mips64octeonel \
26897e8a2e8Smrg	| mips64orion | mips64orionel \
269d7accfefSmrg	| mips64r5900 | mips64r5900el \
270d7accfefSmrg	| mips64vr | mips64vrel \
27197e8a2e8Smrg	| mips64vr4100 | mips64vr4100el \
27297e8a2e8Smrg	| mips64vr4300 | mips64vr4300el \
27397e8a2e8Smrg	| mips64vr5000 | mips64vr5000el \
274d7accfefSmrg	| mips64vr5900 | mips64vr5900el \
27597e8a2e8Smrg	| mipsisa32 | mipsisa32el \
27697e8a2e8Smrg	| mipsisa32r2 | mipsisa32r2el \
27797e8a2e8Smrg	| mipsisa64 | mipsisa64el \
278d7accfefSmrg	| mipsisa64r2 | mipsisa64r2el \
27997e8a2e8Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28097e8a2e8Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28197e8a2e8Smrg	| mipstx39 | mipstx39el \
28297e8a2e8Smrg	| mn10200 | mn10300 \
283d7accfefSmrg	| moxie \
284d7accfefSmrg	| mt \
28597e8a2e8Smrg	| msp430 \
286c3f70f0aSmrg	| nds32 | nds32le | nds32be \
287d7accfefSmrg	| nios | nios2 \
28897e8a2e8Smrg	| ns16k | ns32k \
289d7accfefSmrg	| or32 \
29097e8a2e8Smrg	| pdp10 | pdp11 | pj | pjl \
29197e8a2e8Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29297e8a2e8Smrg	| pyramid \
293c3f70f0aSmrg	| rx \
294d7accfefSmrg	| score \
295d7accfefSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29697e8a2e8Smrg	| sh64 | sh64le \
297d7accfefSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298d7accfefSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299d7accfefSmrg	| spu | strongarm \
300c3f70f0aSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301c3f70f0aSmrg	| ubicom32 \
30297e8a2e8Smrg	| v850 | v850e \
30397e8a2e8Smrg	| we32k \
304d7accfefSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305d7accfefSmrg	| z8k | z80)
30697e8a2e8Smrg		basic_machine=$basic_machine-unknown
30797e8a2e8Smrg		;;
308c3f70f0aSmrg	c54x)
309c3f70f0aSmrg		basic_machine=tic54x-unknown
310c3f70f0aSmrg		;;
311c3f70f0aSmrg	c55x)
312c3f70f0aSmrg		basic_machine=tic55x-unknown
313c3f70f0aSmrg		;;
314c3f70f0aSmrg	c6x)
315c3f70f0aSmrg		basic_machine=tic6x-unknown
316c3f70f0aSmrg		;;
317c3f70f0aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31897e8a2e8Smrg		# Motorola 68HC11/12.
31997e8a2e8Smrg		basic_machine=$basic_machine-unknown
32097e8a2e8Smrg		os=-none
32197e8a2e8Smrg		;;
32297e8a2e8Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32397e8a2e8Smrg		;;
324d7accfefSmrg	ms1)
325d7accfefSmrg		basic_machine=mt-unknown
326d7accfefSmrg		;;
32797e8a2e8Smrg
32897e8a2e8Smrg	# We use `pc' rather than `unknown'
32997e8a2e8Smrg	# because (1) that's what they normally are, and
33097e8a2e8Smrg	# (2) the word "unknown" tends to confuse beginning users.
33197e8a2e8Smrg	i*86 | x86_64)
33297e8a2e8Smrg	  basic_machine=$basic_machine-pc
33397e8a2e8Smrg	  ;;
33497e8a2e8Smrg	# Object if more than one company name word.
33597e8a2e8Smrg	*-*-*)
33697e8a2e8Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33797e8a2e8Smrg		exit 1
33897e8a2e8Smrg		;;
33997e8a2e8Smrg	# Recognize the basic CPU types with company name.
34097e8a2e8Smrg	580-* \
34197e8a2e8Smrg	| a29k-* \
34297e8a2e8Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34397e8a2e8Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34497e8a2e8Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34597e8a2e8Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346d7accfefSmrg	| avr-* | avr32-* \
347d7accfefSmrg	| bfin-* | bs2000-* \
348c3f70f0aSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349d7accfefSmrg	| clipper-* | craynv-* | cydra-* \
35097e8a2e8Smrg	| d10v-* | d30v-* | dlx-* \
35197e8a2e8Smrg	| elxsi-* \
352d7accfefSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35397e8a2e8Smrg	| h8300-* | h8500-* \
35497e8a2e8Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35597e8a2e8Smrg	| i*86-* | i860-* | i960-* | ia64-* \
356d7accfefSmrg	| ip2k-* | iq2000-* \
357d7accfefSmrg	| lm32-* \
358d7accfefSmrg	| m32c-* | m32r-* | m32rle-* \
35997e8a2e8Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360c3f70f0aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36197e8a2e8Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36297e8a2e8Smrg	| mips16-* \
36397e8a2e8Smrg	| mips64-* | mips64el-* \
364d7accfefSmrg	| mips64octeon-* | mips64octeonel-* \
36597e8a2e8Smrg	| mips64orion-* | mips64orionel-* \
366d7accfefSmrg	| mips64r5900-* | mips64r5900el-* \
367d7accfefSmrg	| mips64vr-* | mips64vrel-* \
36897e8a2e8Smrg	| mips64vr4100-* | mips64vr4100el-* \
36997e8a2e8Smrg	| mips64vr4300-* | mips64vr4300el-* \
37097e8a2e8Smrg	| mips64vr5000-* | mips64vr5000el-* \
371d7accfefSmrg	| mips64vr5900-* | mips64vr5900el-* \
37297e8a2e8Smrg	| mipsisa32-* | mipsisa32el-* \
37397e8a2e8Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
37497e8a2e8Smrg	| mipsisa64-* | mipsisa64el-* \
375d7accfefSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
37697e8a2e8Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37797e8a2e8Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37897e8a2e8Smrg	| mipstx39-* | mipstx39el-* \
379d7accfefSmrg	| mmix-* \
380d7accfefSmrg	| mt-* \
38197e8a2e8Smrg	| msp430-* \
382c3f70f0aSmrg	| nds32-* | nds32le-* | nds32be-* \
383d7accfefSmrg	| nios-* | nios2-* \
384d7accfefSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
38597e8a2e8Smrg	| orion-* \
38697e8a2e8Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38797e8a2e8Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38897e8a2e8Smrg	| pyramid-* \
389c3f70f0aSmrg	| romp-* | rs6000-* | rx-* \
390d7accfefSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39197e8a2e8Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392d7accfefSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393d7accfefSmrg	| sparclite-* \
394d7accfefSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39597e8a2e8Smrg	| tahoe-* | thumb-* \
396c3f70f0aSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397c3f70f0aSmrg	| tile-* | tilegx-* \
39897e8a2e8Smrg	| tron-* \
399c3f70f0aSmrg	| ubicom32-* \
40097e8a2e8Smrg	| v850-* | v850e-* | vax-* \
40197e8a2e8Smrg	| we32k-* \
402d7accfefSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403d7accfefSmrg	| xstormy16-* | xtensa*-* \
40497e8a2e8Smrg	| ymp-* \
405d7accfefSmrg	| z8k-* | z80-*)
406d7accfefSmrg		;;
407d7accfefSmrg	# Recognize the basic CPU types without company name, with glob match.
408d7accfefSmrg	xtensa*)
409d7accfefSmrg		basic_machine=$basic_machine-unknown
41097e8a2e8Smrg		;;
41197e8a2e8Smrg	# Recognize the various machine names and aliases which stand
41297e8a2e8Smrg	# for a CPU type and a company and sometimes even an OS.
41397e8a2e8Smrg	386bsd)
41497e8a2e8Smrg		basic_machine=i386-unknown
41597e8a2e8Smrg		os=-bsd
41697e8a2e8Smrg		;;
41797e8a2e8Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41897e8a2e8Smrg		basic_machine=m68000-att
41997e8a2e8Smrg		;;
42097e8a2e8Smrg	3b*)
42197e8a2e8Smrg		basic_machine=we32k-att
42297e8a2e8Smrg		;;
42397e8a2e8Smrg	a29khif)
42497e8a2e8Smrg		basic_machine=a29k-amd
42597e8a2e8Smrg		os=-udi
42697e8a2e8Smrg		;;
427d7accfefSmrg    	abacus)
428d7accfefSmrg		basic_machine=abacus-unknown
429d7accfefSmrg		;;
43097e8a2e8Smrg	adobe68k)
43197e8a2e8Smrg		basic_machine=m68010-adobe
43297e8a2e8Smrg		os=-scout
43397e8a2e8Smrg		;;
43497e8a2e8Smrg	alliant | fx80)
43597e8a2e8Smrg		basic_machine=fx80-alliant
43697e8a2e8Smrg		;;
43797e8a2e8Smrg	altos | altos3068)
43897e8a2e8Smrg		basic_machine=m68k-altos
43997e8a2e8Smrg		;;
44097e8a2e8Smrg	am29k)
44197e8a2e8Smrg		basic_machine=a29k-none
44297e8a2e8Smrg		os=-bsd
44397e8a2e8Smrg		;;
44497e8a2e8Smrg	amd64)
44597e8a2e8Smrg		basic_machine=x86_64-pc
44697e8a2e8Smrg		;;
447d7accfefSmrg	amd64-*)
448d7accfefSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449d7accfefSmrg		;;
45097e8a2e8Smrg	amdahl)
45197e8a2e8Smrg		basic_machine=580-amdahl
45297e8a2e8Smrg		os=-sysv
45397e8a2e8Smrg		;;
45497e8a2e8Smrg	amiga | amiga-*)
45597e8a2e8Smrg		basic_machine=m68k-unknown
45697e8a2e8Smrg		;;
45797e8a2e8Smrg	amigaos | amigados)
45897e8a2e8Smrg		basic_machine=m68k-unknown
45997e8a2e8Smrg		os=-amigaos
46097e8a2e8Smrg		;;
46197e8a2e8Smrg	amigaunix | amix)
46297e8a2e8Smrg		basic_machine=m68k-unknown
46397e8a2e8Smrg		os=-sysv4
46497e8a2e8Smrg		;;
46597e8a2e8Smrg	apollo68)
46697e8a2e8Smrg		basic_machine=m68k-apollo
46797e8a2e8Smrg		os=-sysv
46897e8a2e8Smrg		;;
46997e8a2e8Smrg	apollo68bsd)
47097e8a2e8Smrg		basic_machine=m68k-apollo
47197e8a2e8Smrg		os=-bsd
47297e8a2e8Smrg		;;
473d7accfefSmrg	aros)
474d7accfefSmrg		basic_machine=i386-pc
475d7accfefSmrg		os=-aros
476d7accfefSmrg		;;
47797e8a2e8Smrg	aux)
47897e8a2e8Smrg		basic_machine=m68k-apple
47997e8a2e8Smrg		os=-aux
48097e8a2e8Smrg		;;
48197e8a2e8Smrg	balance)
48297e8a2e8Smrg		basic_machine=ns32k-sequent
48397e8a2e8Smrg		os=-dynix
48497e8a2e8Smrg		;;
485d7accfefSmrg	blackfin)
486d7accfefSmrg		basic_machine=bfin-unknown
487d7accfefSmrg		os=-linux
488d7accfefSmrg		;;
489d7accfefSmrg	blackfin-*)
490d7accfefSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491d7accfefSmrg		os=-linux
492d7accfefSmrg		;;
493c3f70f0aSmrg	bluegene*)
494c3f70f0aSmrg		basic_machine=powerpc-ibm
495c3f70f0aSmrg		os=-cnk
496c3f70f0aSmrg		;;
497c3f70f0aSmrg	c54x-*)
498c3f70f0aSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499c3f70f0aSmrg		;;
500c3f70f0aSmrg	c55x-*)
501c3f70f0aSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502c3f70f0aSmrg		;;
503c3f70f0aSmrg	c6x-*)
504c3f70f0aSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505c3f70f0aSmrg		;;
50697e8a2e8Smrg	c90)
50797e8a2e8Smrg		basic_machine=c90-cray
50897e8a2e8Smrg		os=-unicos
50997e8a2e8Smrg		;;
510d7accfefSmrg        cegcc)
511d7accfefSmrg		basic_machine=arm-unknown
512d7accfefSmrg		os=-cegcc
513d7accfefSmrg		;;
51497e8a2e8Smrg	convex-c1)
51597e8a2e8Smrg		basic_machine=c1-convex
51697e8a2e8Smrg		os=-bsd
51797e8a2e8Smrg		;;
51897e8a2e8Smrg	convex-c2)
51997e8a2e8Smrg		basic_machine=c2-convex
52097e8a2e8Smrg		os=-bsd
52197e8a2e8Smrg		;;
52297e8a2e8Smrg	convex-c32)
52397e8a2e8Smrg		basic_machine=c32-convex
52497e8a2e8Smrg		os=-bsd
52597e8a2e8Smrg		;;
52697e8a2e8Smrg	convex-c34)
52797e8a2e8Smrg		basic_machine=c34-convex
52897e8a2e8Smrg		os=-bsd
52997e8a2e8Smrg		;;
53097e8a2e8Smrg	convex-c38)
53197e8a2e8Smrg		basic_machine=c38-convex
53297e8a2e8Smrg		os=-bsd
53397e8a2e8Smrg		;;
53497e8a2e8Smrg	cray | j90)
53597e8a2e8Smrg		basic_machine=j90-cray
53697e8a2e8Smrg		os=-unicos
53797e8a2e8Smrg		;;
538d7accfefSmrg	craynv)
539d7accfefSmrg		basic_machine=craynv-cray
540d7accfefSmrg		os=-unicosmp
541d7accfefSmrg		;;
542d7accfefSmrg	cr16)
543d7accfefSmrg		basic_machine=cr16-unknown
544d7accfefSmrg		os=-elf
545d7accfefSmrg		;;
54697e8a2e8Smrg	crds | unos)
54797e8a2e8Smrg		basic_machine=m68k-crds
54897e8a2e8Smrg		;;
549d7accfefSmrg	crisv32 | crisv32-* | etraxfs*)
550d7accfefSmrg		basic_machine=crisv32-axis
551d7accfefSmrg		;;
55297e8a2e8Smrg	cris | cris-* | etrax*)
55397e8a2e8Smrg		basic_machine=cris-axis
55497e8a2e8Smrg		;;
555d7accfefSmrg	crx)
556d7accfefSmrg		basic_machine=crx-unknown
557d7accfefSmrg		os=-elf
558d7accfefSmrg		;;
55997e8a2e8Smrg	da30 | da30-*)
56097e8a2e8Smrg		basic_machine=m68k-da30
56197e8a2e8Smrg		;;
56297e8a2e8Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56397e8a2e8Smrg		basic_machine=mips-dec
56497e8a2e8Smrg		;;
56597e8a2e8Smrg	decsystem10* | dec10*)
56697e8a2e8Smrg		basic_machine=pdp10-dec
56797e8a2e8Smrg		os=-tops10
56897e8a2e8Smrg		;;
56997e8a2e8Smrg	decsystem20* | dec20*)
57097e8a2e8Smrg		basic_machine=pdp10-dec
57197e8a2e8Smrg		os=-tops20
57297e8a2e8Smrg		;;
57397e8a2e8Smrg	delta | 3300 | motorola-3300 | motorola-delta \
57497e8a2e8Smrg	      | 3300-motorola | delta-motorola)
57597e8a2e8Smrg		basic_machine=m68k-motorola
57697e8a2e8Smrg		;;
57797e8a2e8Smrg	delta88)
57897e8a2e8Smrg		basic_machine=m88k-motorola
57997e8a2e8Smrg		os=-sysv3
58097e8a2e8Smrg		;;
581d7accfefSmrg	dicos)
582d7accfefSmrg		basic_machine=i686-pc
583d7accfefSmrg		os=-dicos
584d7accfefSmrg		;;
585d7accfefSmrg	djgpp)
586d7accfefSmrg		basic_machine=i586-pc
587d7accfefSmrg		os=-msdosdjgpp
588d7accfefSmrg		;;
58997e8a2e8Smrg	dpx20 | dpx20-*)
59097e8a2e8Smrg		basic_machine=rs6000-bull
59197e8a2e8Smrg		os=-bosx
59297e8a2e8Smrg		;;
59397e8a2e8Smrg	dpx2* | dpx2*-bull)
59497e8a2e8Smrg		basic_machine=m68k-bull
59597e8a2e8Smrg		os=-sysv3
59697e8a2e8Smrg		;;
59797e8a2e8Smrg	ebmon29k)
59897e8a2e8Smrg		basic_machine=a29k-amd
59997e8a2e8Smrg		os=-ebmon
60097e8a2e8Smrg		;;
60197e8a2e8Smrg	elxsi)
60297e8a2e8Smrg		basic_machine=elxsi-elxsi
60397e8a2e8Smrg		os=-bsd
60497e8a2e8Smrg		;;
60597e8a2e8Smrg	encore | umax | mmax)
60697e8a2e8Smrg		basic_machine=ns32k-encore
60797e8a2e8Smrg		;;
60897e8a2e8Smrg	es1800 | OSE68k | ose68k | ose | OSE)
60997e8a2e8Smrg		basic_machine=m68k-ericsson
61097e8a2e8Smrg		os=-ose
61197e8a2e8Smrg		;;
61297e8a2e8Smrg	fx2800)
61397e8a2e8Smrg		basic_machine=i860-alliant
61497e8a2e8Smrg		;;
61597e8a2e8Smrg	genix)
61697e8a2e8Smrg		basic_machine=ns32k-ns
61797e8a2e8Smrg		;;
61897e8a2e8Smrg	gmicro)
61997e8a2e8Smrg		basic_machine=tron-gmicro
62097e8a2e8Smrg		os=-sysv
62197e8a2e8Smrg		;;
62297e8a2e8Smrg	go32)
62397e8a2e8Smrg		basic_machine=i386-pc
62497e8a2e8Smrg		os=-go32
62597e8a2e8Smrg		;;
62697e8a2e8Smrg	h3050r* | hiux*)
62797e8a2e8Smrg		basic_machine=hppa1.1-hitachi
62897e8a2e8Smrg		os=-hiuxwe2
62997e8a2e8Smrg		;;
63097e8a2e8Smrg	h8300hms)
63197e8a2e8Smrg		basic_machine=h8300-hitachi
63297e8a2e8Smrg		os=-hms
63397e8a2e8Smrg		;;
63497e8a2e8Smrg	h8300xray)
63597e8a2e8Smrg		basic_machine=h8300-hitachi
63697e8a2e8Smrg		os=-xray
63797e8a2e8Smrg		;;
63897e8a2e8Smrg	h8500hms)
63997e8a2e8Smrg		basic_machine=h8500-hitachi
64097e8a2e8Smrg		os=-hms
64197e8a2e8Smrg		;;
64297e8a2e8Smrg	harris)
64397e8a2e8Smrg		basic_machine=m88k-harris
64497e8a2e8Smrg		os=-sysv3
64597e8a2e8Smrg		;;
64697e8a2e8Smrg	hp300-*)
64797e8a2e8Smrg		basic_machine=m68k-hp
64897e8a2e8Smrg		;;
64997e8a2e8Smrg	hp300bsd)
65097e8a2e8Smrg		basic_machine=m68k-hp
65197e8a2e8Smrg		os=-bsd
65297e8a2e8Smrg		;;
65397e8a2e8Smrg	hp300hpux)
65497e8a2e8Smrg		basic_machine=m68k-hp
65597e8a2e8Smrg		os=-hpux
65697e8a2e8Smrg		;;
65797e8a2e8Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65897e8a2e8Smrg		basic_machine=hppa1.0-hp
65997e8a2e8Smrg		;;
66097e8a2e8Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66197e8a2e8Smrg		basic_machine=m68000-hp
66297e8a2e8Smrg		;;
66397e8a2e8Smrg	hp9k3[2-9][0-9])
66497e8a2e8Smrg		basic_machine=m68k-hp
66597e8a2e8Smrg		;;
66697e8a2e8Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66797e8a2e8Smrg		basic_machine=hppa1.0-hp
66897e8a2e8Smrg		;;
66997e8a2e8Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67097e8a2e8Smrg		basic_machine=hppa1.1-hp
67197e8a2e8Smrg		;;
67297e8a2e8Smrg	hp9k78[0-9] | hp78[0-9])
67397e8a2e8Smrg		# FIXME: really hppa2.0-hp
67497e8a2e8Smrg		basic_machine=hppa1.1-hp
67597e8a2e8Smrg		;;
67697e8a2e8Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67797e8a2e8Smrg		# FIXME: really hppa2.0-hp
67897e8a2e8Smrg		basic_machine=hppa1.1-hp
67997e8a2e8Smrg		;;
68097e8a2e8Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68197e8a2e8Smrg		basic_machine=hppa1.1-hp
68297e8a2e8Smrg		;;
68397e8a2e8Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68497e8a2e8Smrg		basic_machine=hppa1.0-hp
68597e8a2e8Smrg		;;
68697e8a2e8Smrg	hppa-next)
68797e8a2e8Smrg		os=-nextstep3
68897e8a2e8Smrg		;;
68997e8a2e8Smrg	hppaosf)
69097e8a2e8Smrg		basic_machine=hppa1.1-hp
69197e8a2e8Smrg		os=-osf
69297e8a2e8Smrg		;;
69397e8a2e8Smrg	hppro)
69497e8a2e8Smrg		basic_machine=hppa1.1-hp
69597e8a2e8Smrg		os=-proelf
69697e8a2e8Smrg		;;
69797e8a2e8Smrg	i370-ibm* | ibm*)
69897e8a2e8Smrg		basic_machine=i370-ibm
69997e8a2e8Smrg		;;
70097e8a2e8Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70197e8a2e8Smrg	i*86v32)
70297e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70397e8a2e8Smrg		os=-sysv32
70497e8a2e8Smrg		;;
70597e8a2e8Smrg	i*86v4*)
70697e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70797e8a2e8Smrg		os=-sysv4
70897e8a2e8Smrg		;;
70997e8a2e8Smrg	i*86v)
71097e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71197e8a2e8Smrg		os=-sysv
71297e8a2e8Smrg		;;
71397e8a2e8Smrg	i*86sol2)
71497e8a2e8Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71597e8a2e8Smrg		os=-solaris2
71697e8a2e8Smrg		;;
71797e8a2e8Smrg	i386mach)
71897e8a2e8Smrg		basic_machine=i386-mach
71997e8a2e8Smrg		os=-mach
72097e8a2e8Smrg		;;
72197e8a2e8Smrg	i386-vsta | vsta)
72297e8a2e8Smrg		basic_machine=i386-unknown
72397e8a2e8Smrg		os=-vsta
72497e8a2e8Smrg		;;
72597e8a2e8Smrg	iris | iris4d)
72697e8a2e8Smrg		basic_machine=mips-sgi
72797e8a2e8Smrg		case $os in
72897e8a2e8Smrg		    -irix*)
72997e8a2e8Smrg			;;
73097e8a2e8Smrg		    *)
73197e8a2e8Smrg			os=-irix4
73297e8a2e8Smrg			;;
73397e8a2e8Smrg		esac
73497e8a2e8Smrg		;;
73597e8a2e8Smrg	isi68 | isi)
73697e8a2e8Smrg		basic_machine=m68k-isi
73797e8a2e8Smrg		os=-sysv
73897e8a2e8Smrg		;;
739d7accfefSmrg	m68knommu)
740d7accfefSmrg		basic_machine=m68k-unknown
741d7accfefSmrg		os=-linux
742d7accfefSmrg		;;
743d7accfefSmrg	m68knommu-*)
744d7accfefSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745d7accfefSmrg		os=-linux
746d7accfefSmrg		;;
74797e8a2e8Smrg	m88k-omron*)
74897e8a2e8Smrg		basic_machine=m88k-omron
74997e8a2e8Smrg		;;
75097e8a2e8Smrg	magnum | m3230)
75197e8a2e8Smrg		basic_machine=mips-mips
75297e8a2e8Smrg		os=-sysv
75397e8a2e8Smrg		;;
75497e8a2e8Smrg	merlin)
75597e8a2e8Smrg		basic_machine=ns32k-utek
75697e8a2e8Smrg		os=-sysv
75797e8a2e8Smrg		;;
758c3f70f0aSmrg        microblaze)
759c3f70f0aSmrg		basic_machine=microblaze-xilinx
760c3f70f0aSmrg		;;
76197e8a2e8Smrg	mingw32)
76297e8a2e8Smrg		basic_machine=i386-pc
76397e8a2e8Smrg		os=-mingw32
76497e8a2e8Smrg		;;
765d7accfefSmrg	mingw32ce)
766d7accfefSmrg		basic_machine=arm-unknown
767d7accfefSmrg		os=-mingw32ce
768d7accfefSmrg		;;
76997e8a2e8Smrg	miniframe)
77097e8a2e8Smrg		basic_machine=m68000-convergent
77197e8a2e8Smrg		;;
77297e8a2e8Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77397e8a2e8Smrg		basic_machine=m68k-atari
77497e8a2e8Smrg		os=-mint
77597e8a2e8Smrg		;;
77697e8a2e8Smrg	mips3*-*)
77797e8a2e8Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77897e8a2e8Smrg		;;
77997e8a2e8Smrg	mips3*)
78097e8a2e8Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78197e8a2e8Smrg		;;
78297e8a2e8Smrg	monitor)
78397e8a2e8Smrg		basic_machine=m68k-rom68k
78497e8a2e8Smrg		os=-coff
78597e8a2e8Smrg		;;
78697e8a2e8Smrg	morphos)
78797e8a2e8Smrg		basic_machine=powerpc-unknown
78897e8a2e8Smrg		os=-morphos
78997e8a2e8Smrg		;;
79097e8a2e8Smrg	msdos)
79197e8a2e8Smrg		basic_machine=i386-pc
79297e8a2e8Smrg		os=-msdos
79397e8a2e8Smrg		;;
794d7accfefSmrg	ms1-*)
795d7accfefSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796d7accfefSmrg		;;
79797e8a2e8Smrg	mvs)
79897e8a2e8Smrg		basic_machine=i370-ibm
79997e8a2e8Smrg		os=-mvs
80097e8a2e8Smrg		;;
80197e8a2e8Smrg	ncr3000)
80297e8a2e8Smrg		basic_machine=i486-ncr
80397e8a2e8Smrg		os=-sysv4
80497e8a2e8Smrg		;;
80597e8a2e8Smrg	netbsd386)
80697e8a2e8Smrg		basic_machine=i386-unknown
80797e8a2e8Smrg		os=-netbsd
80897e8a2e8Smrg		;;
80997e8a2e8Smrg	netwinder)
81097e8a2e8Smrg		basic_machine=armv4l-rebel
81197e8a2e8Smrg		os=-linux
81297e8a2e8Smrg		;;
81397e8a2e8Smrg	news | news700 | news800 | news900)
81497e8a2e8Smrg		basic_machine=m68k-sony
81597e8a2e8Smrg		os=-newsos
81697e8a2e8Smrg		;;
81797e8a2e8Smrg	news1000)
81897e8a2e8Smrg		basic_machine=m68030-sony
81997e8a2e8Smrg		os=-newsos
82097e8a2e8Smrg		;;
82197e8a2e8Smrg	news-3600 | risc-news)
82297e8a2e8Smrg		basic_machine=mips-sony
82397e8a2e8Smrg		os=-newsos
82497e8a2e8Smrg		;;
82597e8a2e8Smrg	necv70)
82697e8a2e8Smrg		basic_machine=v70-nec
82797e8a2e8Smrg		os=-sysv
82897e8a2e8Smrg		;;
82997e8a2e8Smrg	next | m*-next )
83097e8a2e8Smrg		basic_machine=m68k-next
83197e8a2e8Smrg		case $os in
83297e8a2e8Smrg		    -nextstep* )
83397e8a2e8Smrg			;;
83497e8a2e8Smrg		    -ns2*)
83597e8a2e8Smrg		      os=-nextstep2
83697e8a2e8Smrg			;;
83797e8a2e8Smrg		    *)
83897e8a2e8Smrg		      os=-nextstep3
83997e8a2e8Smrg			;;
84097e8a2e8Smrg		esac
84197e8a2e8Smrg		;;
84297e8a2e8Smrg	nh3000)
84397e8a2e8Smrg		basic_machine=m68k-harris
84497e8a2e8Smrg		os=-cxux
84597e8a2e8Smrg		;;
84697e8a2e8Smrg	nh[45]000)
84797e8a2e8Smrg		basic_machine=m88k-harris
84897e8a2e8Smrg		os=-cxux
84997e8a2e8Smrg		;;
85097e8a2e8Smrg	nindy960)
85197e8a2e8Smrg		basic_machine=i960-intel
85297e8a2e8Smrg		os=-nindy
85397e8a2e8Smrg		;;
85497e8a2e8Smrg	mon960)
85597e8a2e8Smrg		basic_machine=i960-intel
85697e8a2e8Smrg		os=-mon960
85797e8a2e8Smrg		;;
85897e8a2e8Smrg	nonstopux)
85997e8a2e8Smrg		basic_machine=mips-compaq
86097e8a2e8Smrg		os=-nonstopux
86197e8a2e8Smrg		;;
86297e8a2e8Smrg	np1)
86397e8a2e8Smrg		basic_machine=np1-gould
86497e8a2e8Smrg		;;
865c3f70f0aSmrg        neo-tandem)
866c3f70f0aSmrg		basic_machine=neo-tandem
867c3f70f0aSmrg		;;
868c3f70f0aSmrg        nse-tandem)
869c3f70f0aSmrg		basic_machine=nse-tandem
870c3f70f0aSmrg		;;
87197e8a2e8Smrg	nsr-tandem)
87297e8a2e8Smrg		basic_machine=nsr-tandem
87397e8a2e8Smrg		;;
87497e8a2e8Smrg	op50n-* | op60c-*)
87597e8a2e8Smrg		basic_machine=hppa1.1-oki
87697e8a2e8Smrg		os=-proelf
87797e8a2e8Smrg		;;
878d7accfefSmrg	openrisc | openrisc-*)
87997e8a2e8Smrg		basic_machine=or32-unknown
880d7accfefSmrg		;;
881d7accfefSmrg	os400)
882d7accfefSmrg		basic_machine=powerpc-ibm
883d7accfefSmrg		os=-os400
88497e8a2e8Smrg		;;
88597e8a2e8Smrg	OSE68000 | ose68000)
88697e8a2e8Smrg		basic_machine=m68000-ericsson
88797e8a2e8Smrg		os=-ose
88897e8a2e8Smrg		;;
88997e8a2e8Smrg	os68k)
89097e8a2e8Smrg		basic_machine=m68k-none
89197e8a2e8Smrg		os=-os68k
89297e8a2e8Smrg		;;
89397e8a2e8Smrg	pa-hitachi)
89497e8a2e8Smrg		basic_machine=hppa1.1-hitachi
89597e8a2e8Smrg		os=-hiuxwe2
89697e8a2e8Smrg		;;
89797e8a2e8Smrg	paragon)
89897e8a2e8Smrg		basic_machine=i860-intel
89997e8a2e8Smrg		os=-osf
90097e8a2e8Smrg		;;
901d7accfefSmrg	parisc)
902d7accfefSmrg		basic_machine=hppa-unknown
903d7accfefSmrg		os=-linux
904d7accfefSmrg		;;
905d7accfefSmrg	parisc-*)
906d7accfefSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907d7accfefSmrg		os=-linux
908d7accfefSmrg		;;
90997e8a2e8Smrg	pbd)
91097e8a2e8Smrg		basic_machine=sparc-tti
91197e8a2e8Smrg		;;
91297e8a2e8Smrg	pbb)
91397e8a2e8Smrg		basic_machine=m68k-tti
91497e8a2e8Smrg		;;
91597e8a2e8Smrg	pc532 | pc532-*)
91697e8a2e8Smrg		basic_machine=ns32k-pc532
91797e8a2e8Smrg		;;
918d7accfefSmrg	pc98)
919d7accfefSmrg		basic_machine=i386-pc
920d7accfefSmrg		;;
921d7accfefSmrg	pc98-*)
922d7accfefSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923d7accfefSmrg		;;
92497e8a2e8Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92597e8a2e8Smrg		basic_machine=i586-pc
92697e8a2e8Smrg		;;
92797e8a2e8Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92897e8a2e8Smrg		basic_machine=i686-pc
92997e8a2e8Smrg		;;
93097e8a2e8Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
93197e8a2e8Smrg		basic_machine=i686-pc
93297e8a2e8Smrg		;;
93397e8a2e8Smrg	pentium4)
93497e8a2e8Smrg		basic_machine=i786-pc
93597e8a2e8Smrg		;;
93697e8a2e8Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93797e8a2e8Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93897e8a2e8Smrg		;;
93997e8a2e8Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94097e8a2e8Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94197e8a2e8Smrg		;;
94297e8a2e8Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94397e8a2e8Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94497e8a2e8Smrg		;;
94597e8a2e8Smrg	pentium4-*)
94697e8a2e8Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94797e8a2e8Smrg		;;
94897e8a2e8Smrg	pn)
94997e8a2e8Smrg		basic_machine=pn-gould
95097e8a2e8Smrg		;;
95197e8a2e8Smrg	power)	basic_machine=power-ibm
95297e8a2e8Smrg		;;
95397e8a2e8Smrg	ppc)	basic_machine=powerpc-unknown
95497e8a2e8Smrg		;;
95597e8a2e8Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95697e8a2e8Smrg		;;
95797e8a2e8Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95897e8a2e8Smrg		basic_machine=powerpcle-unknown
95997e8a2e8Smrg		;;
96097e8a2e8Smrg	ppcle-* | powerpclittle-*)
96197e8a2e8Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96297e8a2e8Smrg		;;
96397e8a2e8Smrg	ppc64)	basic_machine=powerpc64-unknown
96497e8a2e8Smrg		;;
96597e8a2e8Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96697e8a2e8Smrg		;;
96797e8a2e8Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96897e8a2e8Smrg		basic_machine=powerpc64le-unknown
96997e8a2e8Smrg		;;
97097e8a2e8Smrg	ppc64le-* | powerpc64little-*)
97197e8a2e8Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97297e8a2e8Smrg		;;
97397e8a2e8Smrg	ps2)
97497e8a2e8Smrg		basic_machine=i386-ibm
97597e8a2e8Smrg		;;
97697e8a2e8Smrg	pw32)
97797e8a2e8Smrg		basic_machine=i586-unknown
97897e8a2e8Smrg		os=-pw32
97997e8a2e8Smrg		;;
980d7accfefSmrg	rdos)
981d7accfefSmrg		basic_machine=i386-pc
982d7accfefSmrg		os=-rdos
983d7accfefSmrg		;;
98497e8a2e8Smrg	rom68k)
98597e8a2e8Smrg		basic_machine=m68k-rom68k
98697e8a2e8Smrg		os=-coff
98797e8a2e8Smrg		;;
98897e8a2e8Smrg	rm[46]00)
98997e8a2e8Smrg		basic_machine=mips-siemens
99097e8a2e8Smrg		;;
99197e8a2e8Smrg	rtpc | rtpc-*)
99297e8a2e8Smrg		basic_machine=romp-ibm
99397e8a2e8Smrg		;;
994d7accfefSmrg	s390 | s390-*)
995d7accfefSmrg		basic_machine=s390-ibm
996d7accfefSmrg		;;
997d7accfefSmrg	s390x | s390x-*)
998d7accfefSmrg		basic_machine=s390x-ibm
999d7accfefSmrg		;;
100097e8a2e8Smrg	sa29200)
100197e8a2e8Smrg		basic_machine=a29k-amd
100297e8a2e8Smrg		os=-udi
100397e8a2e8Smrg		;;
100497e8a2e8Smrg	sb1)
100597e8a2e8Smrg		basic_machine=mipsisa64sb1-unknown
100697e8a2e8Smrg		;;
100797e8a2e8Smrg	sb1el)
100897e8a2e8Smrg		basic_machine=mipsisa64sb1el-unknown
100997e8a2e8Smrg		;;
1010d7accfefSmrg	sde)
1011d7accfefSmrg		basic_machine=mipsisa32-sde
1012d7accfefSmrg		os=-elf
1013d7accfefSmrg		;;
101497e8a2e8Smrg	sei)
101597e8a2e8Smrg		basic_machine=mips-sei
101697e8a2e8Smrg		os=-seiux
101797e8a2e8Smrg		;;
101897e8a2e8Smrg	sequent)
101997e8a2e8Smrg		basic_machine=i386-sequent
102097e8a2e8Smrg		;;
102197e8a2e8Smrg	sh)
102297e8a2e8Smrg		basic_machine=sh-hitachi
102397e8a2e8Smrg		os=-hms
102497e8a2e8Smrg		;;
1025d7accfefSmrg	sh5el)
1026d7accfefSmrg		basic_machine=sh5le-unknown
1027d7accfefSmrg		;;
102897e8a2e8Smrg	sh64)
102997e8a2e8Smrg		basic_machine=sh64-unknown
103097e8a2e8Smrg		;;
103197e8a2e8Smrg	sparclite-wrs | simso-wrs)
103297e8a2e8Smrg		basic_machine=sparclite-wrs
103397e8a2e8Smrg		os=-vxworks
103497e8a2e8Smrg		;;
103597e8a2e8Smrg	sps7)
103697e8a2e8Smrg		basic_machine=m68k-bull
103797e8a2e8Smrg		os=-sysv2
103897e8a2e8Smrg		;;
103997e8a2e8Smrg	spur)
104097e8a2e8Smrg		basic_machine=spur-unknown
104197e8a2e8Smrg		;;
104297e8a2e8Smrg	st2000)
104397e8a2e8Smrg		basic_machine=m68k-tandem
104497e8a2e8Smrg		;;
104597e8a2e8Smrg	stratus)
104697e8a2e8Smrg		basic_machine=i860-stratus
104797e8a2e8Smrg		os=-sysv4
104897e8a2e8Smrg		;;
104997e8a2e8Smrg	sun2)
105097e8a2e8Smrg		basic_machine=m68000-sun
105197e8a2e8Smrg		;;
105297e8a2e8Smrg	sun2os3)
105397e8a2e8Smrg		basic_machine=m68000-sun
105497e8a2e8Smrg		os=-sunos3
105597e8a2e8Smrg		;;
105697e8a2e8Smrg	sun2os4)
105797e8a2e8Smrg		basic_machine=m68000-sun
105897e8a2e8Smrg		os=-sunos4
105997e8a2e8Smrg		;;
106097e8a2e8Smrg	sun3os3)
106197e8a2e8Smrg		basic_machine=m68k-sun
106297e8a2e8Smrg		os=-sunos3
106397e8a2e8Smrg		;;
106497e8a2e8Smrg	sun3os4)
106597e8a2e8Smrg		basic_machine=m68k-sun
106697e8a2e8Smrg		os=-sunos4
106797e8a2e8Smrg		;;
106897e8a2e8Smrg	sun4os3)
106997e8a2e8Smrg		basic_machine=sparc-sun
107097e8a2e8Smrg		os=-sunos3
107197e8a2e8Smrg		;;
107297e8a2e8Smrg	sun4os4)
107397e8a2e8Smrg		basic_machine=sparc-sun
107497e8a2e8Smrg		os=-sunos4
107597e8a2e8Smrg		;;
107697e8a2e8Smrg	sun4sol2)
107797e8a2e8Smrg		basic_machine=sparc-sun
107897e8a2e8Smrg		os=-solaris2
107997e8a2e8Smrg		;;
108097e8a2e8Smrg	sun3 | sun3-*)
108197e8a2e8Smrg		basic_machine=m68k-sun
108297e8a2e8Smrg		;;
108397e8a2e8Smrg	sun4)
108497e8a2e8Smrg		basic_machine=sparc-sun
108597e8a2e8Smrg		;;
108697e8a2e8Smrg	sun386 | sun386i | roadrunner)
108797e8a2e8Smrg		basic_machine=i386-sun
108897e8a2e8Smrg		;;
108997e8a2e8Smrg	sv1)
109097e8a2e8Smrg		basic_machine=sv1-cray
109197e8a2e8Smrg		os=-unicos
109297e8a2e8Smrg		;;
109397e8a2e8Smrg	symmetry)
109497e8a2e8Smrg		basic_machine=i386-sequent
109597e8a2e8Smrg		os=-dynix
109697e8a2e8Smrg		;;
109797e8a2e8Smrg	t3e)
109897e8a2e8Smrg		basic_machine=alphaev5-cray
109997e8a2e8Smrg		os=-unicos
110097e8a2e8Smrg		;;
110197e8a2e8Smrg	t90)
110297e8a2e8Smrg		basic_machine=t90-cray
110397e8a2e8Smrg		os=-unicos
110497e8a2e8Smrg		;;
1105c3f70f0aSmrg        # This must be matched before tile*.
1106c3f70f0aSmrg        tilegx*)
1107c3f70f0aSmrg		basic_machine=tilegx-unknown
1108c3f70f0aSmrg		os=-linux-gnu
110997e8a2e8Smrg		;;
1110d7accfefSmrg	tile*)
1111d7accfefSmrg		basic_machine=tile-unknown
1112d7accfefSmrg		os=-linux-gnu
1113d7accfefSmrg		;;
111497e8a2e8Smrg	tx39)
111597e8a2e8Smrg		basic_machine=mipstx39-unknown
111697e8a2e8Smrg		;;
111797e8a2e8Smrg	tx39el)
111897e8a2e8Smrg		basic_machine=mipstx39el-unknown
111997e8a2e8Smrg		;;
112097e8a2e8Smrg	toad1)
112197e8a2e8Smrg		basic_machine=pdp10-xkl
112297e8a2e8Smrg		os=-tops20
112397e8a2e8Smrg		;;
112497e8a2e8Smrg	tower | tower-32)
112597e8a2e8Smrg		basic_machine=m68k-ncr
112697e8a2e8Smrg		;;
1127d7accfefSmrg	tpf)
1128d7accfefSmrg		basic_machine=s390x-ibm
1129d7accfefSmrg		os=-tpf
1130d7accfefSmrg		;;
113197e8a2e8Smrg	udi29k)
113297e8a2e8Smrg		basic_machine=a29k-amd
113397e8a2e8Smrg		os=-udi
113497e8a2e8Smrg		;;
113597e8a2e8Smrg	ultra3)
113697e8a2e8Smrg		basic_machine=a29k-nyu
113797e8a2e8Smrg		os=-sym1
113897e8a2e8Smrg		;;
113997e8a2e8Smrg	v810 | necv810)
114097e8a2e8Smrg		basic_machine=v810-nec
114197e8a2e8Smrg		os=-none
114297e8a2e8Smrg		;;
114397e8a2e8Smrg	vaxv)
114497e8a2e8Smrg		basic_machine=vax-dec
114597e8a2e8Smrg		os=-sysv
114697e8a2e8Smrg		;;
114797e8a2e8Smrg	vms)
114897e8a2e8Smrg		basic_machine=vax-dec
114997e8a2e8Smrg		os=-vms
115097e8a2e8Smrg		;;
115197e8a2e8Smrg	vpp*|vx|vx-*)
115297e8a2e8Smrg		basic_machine=f301-fujitsu
115397e8a2e8Smrg		;;
115497e8a2e8Smrg	vxworks960)
115597e8a2e8Smrg		basic_machine=i960-wrs
115697e8a2e8Smrg		os=-vxworks
115797e8a2e8Smrg		;;
115897e8a2e8Smrg	vxworks68)
115997e8a2e8Smrg		basic_machine=m68k-wrs
116097e8a2e8Smrg		os=-vxworks
116197e8a2e8Smrg		;;
116297e8a2e8Smrg	vxworks29k)
116397e8a2e8Smrg		basic_machine=a29k-wrs
116497e8a2e8Smrg		os=-vxworks
116597e8a2e8Smrg		;;
116697e8a2e8Smrg	w65*)
116797e8a2e8Smrg		basic_machine=w65-wdc
116897e8a2e8Smrg		os=-none
116997e8a2e8Smrg		;;
117097e8a2e8Smrg	w89k-*)
117197e8a2e8Smrg		basic_machine=hppa1.1-winbond
117297e8a2e8Smrg		os=-proelf
117397e8a2e8Smrg		;;
1174d7accfefSmrg	xbox)
1175d7accfefSmrg		basic_machine=i686-pc
1176d7accfefSmrg		os=-mingw32
1177d7accfefSmrg		;;
117897e8a2e8Smrg	xps | xps100)
117997e8a2e8Smrg		basic_machine=xps100-honeywell
118097e8a2e8Smrg		;;
118197e8a2e8Smrg	ymp)
118297e8a2e8Smrg		basic_machine=ymp-cray
118397e8a2e8Smrg		os=-unicos
118497e8a2e8Smrg		;;
118597e8a2e8Smrg	z8k-*-coff)
118697e8a2e8Smrg		basic_machine=z8k-unknown
118797e8a2e8Smrg		os=-sim
118897e8a2e8Smrg		;;
1189d7accfefSmrg	z80-*-coff)
1190d7accfefSmrg		basic_machine=z80-unknown
1191d7accfefSmrg		os=-sim
1192d7accfefSmrg		;;
119397e8a2e8Smrg	none)
119497e8a2e8Smrg		basic_machine=none-none
119597e8a2e8Smrg		os=-none
119697e8a2e8Smrg		;;
119797e8a2e8Smrg
119897e8a2e8Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
119997e8a2e8Smrg# some cases the only manufacturer, in others, it is the most popular.
120097e8a2e8Smrg	w89k)
120197e8a2e8Smrg		basic_machine=hppa1.1-winbond
120297e8a2e8Smrg		;;
120397e8a2e8Smrg	op50n)
120497e8a2e8Smrg		basic_machine=hppa1.1-oki
120597e8a2e8Smrg		;;
120697e8a2e8Smrg	op60c)
120797e8a2e8Smrg		basic_machine=hppa1.1-oki
120897e8a2e8Smrg		;;
120997e8a2e8Smrg	romp)
121097e8a2e8Smrg		basic_machine=romp-ibm
121197e8a2e8Smrg		;;
1212d7accfefSmrg	mmix)
1213d7accfefSmrg		basic_machine=mmix-knuth
1214d7accfefSmrg		;;
121597e8a2e8Smrg	rs6000)
121697e8a2e8Smrg		basic_machine=rs6000-ibm
121797e8a2e8Smrg		;;
121897e8a2e8Smrg	vax)
121997e8a2e8Smrg		basic_machine=vax-dec
122097e8a2e8Smrg		;;
122197e8a2e8Smrg	pdp10)
122297e8a2e8Smrg		# there are many clones, so DEC is not a safe bet
122397e8a2e8Smrg		basic_machine=pdp10-unknown
122497e8a2e8Smrg		;;
122597e8a2e8Smrg	pdp11)
122697e8a2e8Smrg		basic_machine=pdp11-dec
122797e8a2e8Smrg		;;
122897e8a2e8Smrg	we32k)
122997e8a2e8Smrg		basic_machine=we32k-att
123097e8a2e8Smrg		;;
1231d7accfefSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123297e8a2e8Smrg		basic_machine=sh-unknown
123397e8a2e8Smrg		;;
1234d7accfefSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123597e8a2e8Smrg		basic_machine=sparc-sun
123697e8a2e8Smrg		;;
123797e8a2e8Smrg	cydra)
123897e8a2e8Smrg		basic_machine=cydra-cydrome
123997e8a2e8Smrg		;;
124097e8a2e8Smrg	orion)
124197e8a2e8Smrg		basic_machine=orion-highlevel
124297e8a2e8Smrg		;;
124397e8a2e8Smrg	orion105)
124497e8a2e8Smrg		basic_machine=clipper-highlevel
124597e8a2e8Smrg		;;
124697e8a2e8Smrg	mac | mpw | mac-mpw)
124797e8a2e8Smrg		basic_machine=m68k-apple
124897e8a2e8Smrg		;;
124997e8a2e8Smrg	pmac | pmac-mpw)
125097e8a2e8Smrg		basic_machine=powerpc-apple
125197e8a2e8Smrg		;;
125297e8a2e8Smrg	*-unknown)
125397e8a2e8Smrg		# Make sure to match an already-canonicalized machine name.
125497e8a2e8Smrg		;;
125597e8a2e8Smrg	*)
125697e8a2e8Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125797e8a2e8Smrg		exit 1
125897e8a2e8Smrg		;;
125997e8a2e8Smrgesac
126097e8a2e8Smrg
126197e8a2e8Smrg# Here we canonicalize certain aliases for manufacturers.
126297e8a2e8Smrgcase $basic_machine in
126397e8a2e8Smrg	*-digital*)
126497e8a2e8Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126597e8a2e8Smrg		;;
126697e8a2e8Smrg	*-commodore*)
126797e8a2e8Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126897e8a2e8Smrg		;;
126997e8a2e8Smrg	*)
127097e8a2e8Smrg		;;
127197e8a2e8Smrgesac
127297e8a2e8Smrg
127397e8a2e8Smrg# Decode manufacturer-specific aliases for certain operating systems.
127497e8a2e8Smrg
127597e8a2e8Smrgif [ x"$os" != x"" ]
127697e8a2e8Smrgthen
127797e8a2e8Smrgcase $os in
127897e8a2e8Smrg        # First match some system type aliases
127997e8a2e8Smrg        # that might get confused with valid system types.
128097e8a2e8Smrg	# -solaris* is a basic system type, with this one exception.
1281c3f70f0aSmrg        -auroraux)
1282c3f70f0aSmrg	        os=-auroraux
1283c3f70f0aSmrg		;;
128497e8a2e8Smrg	-solaris1 | -solaris1.*)
128597e8a2e8Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128697e8a2e8Smrg		;;
128797e8a2e8Smrg	-solaris)
128897e8a2e8Smrg		os=-solaris2
128997e8a2e8Smrg		;;
129097e8a2e8Smrg	-svr4*)
129197e8a2e8Smrg		os=-sysv4
129297e8a2e8Smrg		;;
129397e8a2e8Smrg	-unixware*)
129497e8a2e8Smrg		os=-sysv4.2uw
129597e8a2e8Smrg		;;
129697e8a2e8Smrg	-gnu/linux*)
129797e8a2e8Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129897e8a2e8Smrg		;;
129997e8a2e8Smrg	# First accept the basic system types.
130097e8a2e8Smrg	# The portable systems comes first.
130197e8a2e8Smrg	# Each alternative MUST END IN A *, to match a version number.
130297e8a2e8Smrg	# -sysv* is not here because it comes later, after sysvr4.
130397e8a2e8Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304c3f70f0aSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305c3f70f0aSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306c3f70f0aSmrg	      | -sym* | -kopensolaris* \
130797e8a2e8Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308d7accfefSmrg	      | -aos* | -aros* \
130997e8a2e8Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131097e8a2e8Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311d7accfefSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312d7accfefSmrg	      | -openbsd* | -solidbsd* \
1313d7accfefSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314d7accfefSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131597e8a2e8Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131697e8a2e8Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317d7accfefSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131897e8a2e8Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319c3f70f0aSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320c3f70f0aSmrg	      | -linux-newlib* | -linux-uclibc* \
1321d7accfefSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132297e8a2e8Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132397e8a2e8Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132497e8a2e8Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132597e8a2e8Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132697e8a2e8Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327d7accfefSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328c3f70f0aSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132997e8a2e8Smrg	# Remember, each alternative MUST END IN *, to match a version number.
133097e8a2e8Smrg		;;
133197e8a2e8Smrg	-qnx*)
133297e8a2e8Smrg		case $basic_machine in
133397e8a2e8Smrg		    x86-* | i*86-*)
133497e8a2e8Smrg			;;
133597e8a2e8Smrg		    *)
133697e8a2e8Smrg			os=-nto$os
133797e8a2e8Smrg			;;
133897e8a2e8Smrg		esac
133997e8a2e8Smrg		;;
134097e8a2e8Smrg	-nto-qnx*)
134197e8a2e8Smrg		;;
134297e8a2e8Smrg	-nto*)
134397e8a2e8Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134497e8a2e8Smrg		;;
134597e8a2e8Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346d7accfefSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134797e8a2e8Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134897e8a2e8Smrg		;;
134997e8a2e8Smrg	-mac*)
135097e8a2e8Smrg		os=`echo $os | sed -e 's|mac|macos|'`
135197e8a2e8Smrg		;;
1352d7accfefSmrg	-linux-dietlibc)
1353d7accfefSmrg		os=-linux-dietlibc
1354d7accfefSmrg		;;
135597e8a2e8Smrg	-linux*)
135697e8a2e8Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135797e8a2e8Smrg		;;
135897e8a2e8Smrg	-sunos5*)
135997e8a2e8Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136097e8a2e8Smrg		;;
136197e8a2e8Smrg	-sunos6*)
136297e8a2e8Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136397e8a2e8Smrg		;;
136497e8a2e8Smrg	-opened*)
136597e8a2e8Smrg		os=-openedition
136697e8a2e8Smrg		;;
1367d7accfefSmrg        -os400*)
1368d7accfefSmrg		os=-os400
1369d7accfefSmrg		;;
137097e8a2e8Smrg	-wince*)
137197e8a2e8Smrg		os=-wince
137297e8a2e8Smrg		;;
137397e8a2e8Smrg	-osfrose*)
137497e8a2e8Smrg		os=-osfrose
137597e8a2e8Smrg		;;
137697e8a2e8Smrg	-osf*)
137797e8a2e8Smrg		os=-osf
137897e8a2e8Smrg		;;
137997e8a2e8Smrg	-utek*)
138097e8a2e8Smrg		os=-bsd
138197e8a2e8Smrg		;;
138297e8a2e8Smrg	-dynix*)
138397e8a2e8Smrg		os=-bsd
138497e8a2e8Smrg		;;
138597e8a2e8Smrg	-acis*)
138697e8a2e8Smrg		os=-aos
138797e8a2e8Smrg		;;
138897e8a2e8Smrg	-atheos*)
138997e8a2e8Smrg		os=-atheos
139097e8a2e8Smrg		;;
1391d7accfefSmrg	-syllable*)
1392d7accfefSmrg		os=-syllable
1393d7accfefSmrg		;;
139497e8a2e8Smrg	-386bsd)
139597e8a2e8Smrg		os=-bsd
139697e8a2e8Smrg		;;
139797e8a2e8Smrg	-ctix* | -uts*)
139897e8a2e8Smrg		os=-sysv
139997e8a2e8Smrg		;;
140097e8a2e8Smrg	-nova*)
140197e8a2e8Smrg		os=-rtmk-nova
140297e8a2e8Smrg		;;
140397e8a2e8Smrg	-ns2 )
140497e8a2e8Smrg		os=-nextstep2
140597e8a2e8Smrg		;;
140697e8a2e8Smrg	-nsk*)
140797e8a2e8Smrg		os=-nsk
140897e8a2e8Smrg		;;
140997e8a2e8Smrg	# Preserve the version number of sinix5.
141097e8a2e8Smrg	-sinix5.*)
141197e8a2e8Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141297e8a2e8Smrg		;;
141397e8a2e8Smrg	-sinix*)
141497e8a2e8Smrg		os=-sysv4
141597e8a2e8Smrg		;;
1416d7accfefSmrg        -tpf*)
1417d7accfefSmrg		os=-tpf
1418d7accfefSmrg		;;
141997e8a2e8Smrg	-triton*)
142097e8a2e8Smrg		os=-sysv3
142197e8a2e8Smrg		;;
142297e8a2e8Smrg	-oss*)
142397e8a2e8Smrg		os=-sysv3
142497e8a2e8Smrg		;;
142597e8a2e8Smrg	-svr4)
142697e8a2e8Smrg		os=-sysv4
142797e8a2e8Smrg		;;
142897e8a2e8Smrg	-svr3)
142997e8a2e8Smrg		os=-sysv3
143097e8a2e8Smrg		;;
143197e8a2e8Smrg	-sysvr4)
143297e8a2e8Smrg		os=-sysv4
143397e8a2e8Smrg		;;
143497e8a2e8Smrg	# This must come after -sysvr4.
143597e8a2e8Smrg	-sysv*)
143697e8a2e8Smrg		;;
143797e8a2e8Smrg	-ose*)
143897e8a2e8Smrg		os=-ose
143997e8a2e8Smrg		;;
144097e8a2e8Smrg	-es1800*)
144197e8a2e8Smrg		os=-ose
144297e8a2e8Smrg		;;
144397e8a2e8Smrg	-xenix)
144497e8a2e8Smrg		os=-xenix
144597e8a2e8Smrg		;;
144697e8a2e8Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144797e8a2e8Smrg		os=-mint
144897e8a2e8Smrg		;;
144997e8a2e8Smrg	-aros*)
145097e8a2e8Smrg		os=-aros
145197e8a2e8Smrg		;;
145297e8a2e8Smrg	-kaos*)
145397e8a2e8Smrg		os=-kaos
145497e8a2e8Smrg		;;
1455d7accfefSmrg	-zvmoe)
1456d7accfefSmrg		os=-zvmoe
1457d7accfefSmrg		;;
1458d7accfefSmrg	-dicos*)
1459d7accfefSmrg		os=-dicos
1460d7accfefSmrg		;;
1461c3f70f0aSmrg        -nacl*)
1462c3f70f0aSmrg	        ;;
146397e8a2e8Smrg	-none)
146497e8a2e8Smrg		;;
146597e8a2e8Smrg	*)
146697e8a2e8Smrg		# Get rid of the `-' at the beginning of $os.
146797e8a2e8Smrg		os=`echo $os | sed 's/[^-]*-//'`
146897e8a2e8Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146997e8a2e8Smrg		exit 1
147097e8a2e8Smrg		;;
147197e8a2e8Smrgesac
147297e8a2e8Smrgelse
147397e8a2e8Smrg
147497e8a2e8Smrg# Here we handle the default operating systems that come with various machines.
147597e8a2e8Smrg# The value should be what the vendor currently ships out the door with their
147697e8a2e8Smrg# machine or put another way, the most popular os provided with the machine.
147797e8a2e8Smrg
147897e8a2e8Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147997e8a2e8Smrg# "-sun"), then you have to tell the case statement up towards the top
148097e8a2e8Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148197e8a2e8Smrg# will signal an error saying that MANUFACTURER isn't an operating
148297e8a2e8Smrg# system, and we'll never get to this point.
148397e8a2e8Smrg
148497e8a2e8Smrgcase $basic_machine in
1485d7accfefSmrg        score-*)
1486d7accfefSmrg		os=-elf
1487d7accfefSmrg		;;
1488d7accfefSmrg        spu-*)
1489d7accfefSmrg		os=-elf
1490d7accfefSmrg		;;
149197e8a2e8Smrg	*-acorn)
149297e8a2e8Smrg		os=-riscix1.2
149397e8a2e8Smrg		;;
149497e8a2e8Smrg	arm*-rebel)
149597e8a2e8Smrg		os=-linux
149697e8a2e8Smrg		;;
149797e8a2e8Smrg	arm*-semi)
149897e8a2e8Smrg		os=-aout
149997e8a2e8Smrg		;;
1500d7accfefSmrg        c4x-* | tic4x-*)
1501d7accfefSmrg        	os=-coff
150297e8a2e8Smrg		;;
1503c3f70f0aSmrg	tic54x-*)
1504c3f70f0aSmrg		os=-coff
1505c3f70f0aSmrg		;;
1506c3f70f0aSmrg	tic55x-*)
1507c3f70f0aSmrg		os=-coff
1508c3f70f0aSmrg		;;
1509c3f70f0aSmrg	tic6x-*)
1510c3f70f0aSmrg		os=-coff
1511c3f70f0aSmrg		;;
151297e8a2e8Smrg	# This must come before the *-dec entry.
151397e8a2e8Smrg	pdp10-*)
151497e8a2e8Smrg		os=-tops20
151597e8a2e8Smrg		;;
151697e8a2e8Smrg	pdp11-*)
151797e8a2e8Smrg		os=-none
151897e8a2e8Smrg		;;
151997e8a2e8Smrg	*-dec | vax-*)
152097e8a2e8Smrg		os=-ultrix4.2
152197e8a2e8Smrg		;;
152297e8a2e8Smrg	m68*-apollo)
152397e8a2e8Smrg		os=-domain
152497e8a2e8Smrg		;;
152597e8a2e8Smrg	i386-sun)
152697e8a2e8Smrg		os=-sunos4.0.2
152797e8a2e8Smrg		;;
152897e8a2e8Smrg	m68000-sun)
152997e8a2e8Smrg		os=-sunos3
153097e8a2e8Smrg		# This also exists in the configure program, but was not the
153197e8a2e8Smrg		# default.
153297e8a2e8Smrg		# os=-sunos4
153397e8a2e8Smrg		;;
153497e8a2e8Smrg	m68*-cisco)
153597e8a2e8Smrg		os=-aout
153697e8a2e8Smrg		;;
1537d7accfefSmrg        mep-*)
1538d7accfefSmrg		os=-elf
1539d7accfefSmrg		;;
154097e8a2e8Smrg	mips*-cisco)
154197e8a2e8Smrg		os=-elf
154297e8a2e8Smrg		;;
154397e8a2e8Smrg	mips*-*)
154497e8a2e8Smrg		os=-elf
154597e8a2e8Smrg		;;
154697e8a2e8Smrg	or32-*)
154797e8a2e8Smrg		os=-coff
154897e8a2e8Smrg		;;
154997e8a2e8Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
155097e8a2e8Smrg		os=-sysv3
155197e8a2e8Smrg		;;
155297e8a2e8Smrg	sparc-* | *-sun)
155397e8a2e8Smrg		os=-sunos4.1.1
155497e8a2e8Smrg		;;
155597e8a2e8Smrg	*-be)
155697e8a2e8Smrg		os=-beos
155797e8a2e8Smrg		;;
1558d7accfefSmrg	*-haiku)
1559d7accfefSmrg		os=-haiku
1560d7accfefSmrg		;;
156197e8a2e8Smrg	*-ibm)
156297e8a2e8Smrg		os=-aix
156397e8a2e8Smrg		;;
1564d7accfefSmrg    	*-knuth)
1565d7accfefSmrg		os=-mmixware
1566d7accfefSmrg		;;
156797e8a2e8Smrg	*-wec)
156897e8a2e8Smrg		os=-proelf
156997e8a2e8Smrg		;;
157097e8a2e8Smrg	*-winbond)
157197e8a2e8Smrg		os=-proelf
157297e8a2e8Smrg		;;
157397e8a2e8Smrg	*-oki)
157497e8a2e8Smrg		os=-proelf
157597e8a2e8Smrg		;;
157697e8a2e8Smrg	*-hp)
157797e8a2e8Smrg		os=-hpux
157897e8a2e8Smrg		;;
157997e8a2e8Smrg	*-hitachi)
158097e8a2e8Smrg		os=-hiux
158197e8a2e8Smrg		;;
158297e8a2e8Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158397e8a2e8Smrg		os=-sysv
158497e8a2e8Smrg		;;
158597e8a2e8Smrg	*-cbm)
158697e8a2e8Smrg		os=-amigaos
158797e8a2e8Smrg		;;
158897e8a2e8Smrg	*-dg)
158997e8a2e8Smrg		os=-dgux
159097e8a2e8Smrg		;;
159197e8a2e8Smrg	*-dolphin)
159297e8a2e8Smrg		os=-sysv3
159397e8a2e8Smrg		;;
159497e8a2e8Smrg	m68k-ccur)
159597e8a2e8Smrg		os=-rtu
159697e8a2e8Smrg		;;
159797e8a2e8Smrg	m88k-omron*)
159897e8a2e8Smrg		os=-luna
159997e8a2e8Smrg		;;
160097e8a2e8Smrg	*-next )
160197e8a2e8Smrg		os=-nextstep
160297e8a2e8Smrg		;;
160397e8a2e8Smrg	*-sequent)
160497e8a2e8Smrg		os=-ptx
160597e8a2e8Smrg		;;
160697e8a2e8Smrg	*-crds)
160797e8a2e8Smrg		os=-unos
160897e8a2e8Smrg		;;
160997e8a2e8Smrg	*-ns)
161097e8a2e8Smrg		os=-genix
161197e8a2e8Smrg		;;
161297e8a2e8Smrg	i370-*)
161397e8a2e8Smrg		os=-mvs
161497e8a2e8Smrg		;;
161597e8a2e8Smrg	*-next)
161697e8a2e8Smrg		os=-nextstep3
161797e8a2e8Smrg		;;
161897e8a2e8Smrg	*-gould)
161997e8a2e8Smrg		os=-sysv
162097e8a2e8Smrg		;;
162197e8a2e8Smrg	*-highlevel)
162297e8a2e8Smrg		os=-bsd
162397e8a2e8Smrg		;;
162497e8a2e8Smrg	*-encore)
162597e8a2e8Smrg		os=-bsd
162697e8a2e8Smrg		;;
162797e8a2e8Smrg	*-sgi)
162897e8a2e8Smrg		os=-irix
162997e8a2e8Smrg		;;
163097e8a2e8Smrg	*-siemens)
163197e8a2e8Smrg		os=-sysv4
163297e8a2e8Smrg		;;
163397e8a2e8Smrg	*-masscomp)
163497e8a2e8Smrg		os=-rtu
163597e8a2e8Smrg		;;
163697e8a2e8Smrg	f30[01]-fujitsu | f700-fujitsu)
163797e8a2e8Smrg		os=-uxpv
163897e8a2e8Smrg		;;
163997e8a2e8Smrg	*-rom68k)
164097e8a2e8Smrg		os=-coff
164197e8a2e8Smrg		;;
164297e8a2e8Smrg	*-*bug)
164397e8a2e8Smrg		os=-coff
164497e8a2e8Smrg		;;
164597e8a2e8Smrg	*-apple)
164697e8a2e8Smrg		os=-macos
164797e8a2e8Smrg		;;
164897e8a2e8Smrg	*-atari*)
164997e8a2e8Smrg		os=-mint
165097e8a2e8Smrg		;;
165197e8a2e8Smrg	*)
165297e8a2e8Smrg		os=-none
165397e8a2e8Smrg		;;
165497e8a2e8Smrgesac
165597e8a2e8Smrgfi
165697e8a2e8Smrg
165797e8a2e8Smrg# Here we handle the case where we know the os, and the CPU type, but not the
165897e8a2e8Smrg# manufacturer.  We pick the logical manufacturer.
165997e8a2e8Smrgvendor=unknown
166097e8a2e8Smrgcase $basic_machine in
166197e8a2e8Smrg	*-unknown)
166297e8a2e8Smrg		case $os in
166397e8a2e8Smrg			-riscix*)
166497e8a2e8Smrg				vendor=acorn
166597e8a2e8Smrg				;;
166697e8a2e8Smrg			-sunos*)
166797e8a2e8Smrg				vendor=sun
166897e8a2e8Smrg				;;
1669c3f70f0aSmrg			-cnk*|-aix*)
167097e8a2e8Smrg				vendor=ibm
167197e8a2e8Smrg				;;
167297e8a2e8Smrg			-beos*)
167397e8a2e8Smrg				vendor=be
167497e8a2e8Smrg				;;
167597e8a2e8Smrg			-hpux*)
167697e8a2e8Smrg				vendor=hp
167797e8a2e8Smrg				;;
167897e8a2e8Smrg			-mpeix*)
167997e8a2e8Smrg				vendor=hp
168097e8a2e8Smrg				;;
168197e8a2e8Smrg			-hiux*)
168297e8a2e8Smrg				vendor=hitachi
168397e8a2e8Smrg				;;
168497e8a2e8Smrg			-unos*)
168597e8a2e8Smrg				vendor=crds
168697e8a2e8Smrg				;;
168797e8a2e8Smrg			-dgux*)
168897e8a2e8Smrg				vendor=dg
168997e8a2e8Smrg				;;
169097e8a2e8Smrg			-luna*)
169197e8a2e8Smrg				vendor=omron
169297e8a2e8Smrg				;;
169397e8a2e8Smrg			-genix*)
169497e8a2e8Smrg				vendor=ns
169597e8a2e8Smrg				;;
169697e8a2e8Smrg			-mvs* | -opened*)
169797e8a2e8Smrg				vendor=ibm
169897e8a2e8Smrg				;;
1699d7accfefSmrg			-os400*)
1700d7accfefSmrg				vendor=ibm
1701d7accfefSmrg				;;
170297e8a2e8Smrg			-ptx*)
170397e8a2e8Smrg				vendor=sequent
170497e8a2e8Smrg				;;
1705d7accfefSmrg			-tpf*)
1706d7accfefSmrg				vendor=ibm
1707d7accfefSmrg				;;
170897e8a2e8Smrg			-vxsim* | -vxworks* | -windiss*)
170997e8a2e8Smrg				vendor=wrs
171097e8a2e8Smrg				;;
171197e8a2e8Smrg			-aux*)
171297e8a2e8Smrg				vendor=apple
171397e8a2e8Smrg				;;
171497e8a2e8Smrg			-hms*)
171597e8a2e8Smrg				vendor=hitachi
171697e8a2e8Smrg				;;
171797e8a2e8Smrg			-mpw* | -macos*)
171897e8a2e8Smrg				vendor=apple
171997e8a2e8Smrg				;;
172097e8a2e8Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172197e8a2e8Smrg				vendor=atari
172297e8a2e8Smrg				;;
172397e8a2e8Smrg			-vos*)
172497e8a2e8Smrg				vendor=stratus
172597e8a2e8Smrg				;;
172697e8a2e8Smrg		esac
172797e8a2e8Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172897e8a2e8Smrg		;;
172997e8a2e8Smrgesac
173097e8a2e8Smrg
173197e8a2e8Smrgecho $basic_machine$os
1732d7accfefSmrgexit
173397e8a2e8Smrg
173497e8a2e8Smrg# Local variables:
173597e8a2e8Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173697e8a2e8Smrg# time-stamp-start: "timestamp='"
173797e8a2e8Smrg# time-stamp-format: "%:y-%02m-%02d"
173897e8a2e8Smrg# time-stamp-end: "'"
173997e8a2e8Smrg# End:
1740