config.sub revision a73423d7
150806d53Smrg#! /bin/sh
250806d53Smrg# Configuration validation subroutine script.
350806d53Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4a73423d7Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5a73423d7Smrg#   2011, 2012 Free Software Foundation, Inc.
650806d53Smrg
7a73423d7Smrgtimestamp='2012-01-01'
850806d53Smrg
950806d53Smrg# This file is (in principle) common to ALL GNU software.
1050806d53Smrg# The presence of a machine in this file suggests that SOME GNU software
1150806d53Smrg# can handle that machine.  It does not imply ALL GNU software can.
1250806d53Smrg#
1350806d53Smrg# This file is free software; you can redistribute it and/or modify
1450806d53Smrg# it under the terms of the GNU General Public License as published by
1550806d53Smrg# the Free Software Foundation; either version 2 of the License, or
1650806d53Smrg# (at your option) any later version.
1750806d53Smrg#
1850806d53Smrg# This program is distributed in the hope that it will be useful,
1950806d53Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2050806d53Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2150806d53Smrg# GNU General Public License for more details.
2250806d53Smrg#
2350806d53Smrg# You should have received a copy of the GNU General Public License
2450806d53Smrg# along with this program; if not, write to the Free Software
257965d9acSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
267965d9acSmrg# 02110-1301, USA.
277965d9acSmrg#
2850806d53Smrg# As a special exception to the GNU General Public License, if you
2950806d53Smrg# distribute this file as part of a program that contains a
3050806d53Smrg# configuration script generated by Autoconf, you may include it under
3150806d53Smrg# the same distribution terms that you use for the rest of that program.
3250806d53Smrg
337965d9acSmrg
3450806d53Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35a73423d7Smrg# diff and a properly formatted GNU ChangeLog entry.
3650806d53Smrg#
3750806d53Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3850806d53Smrg# Supply the specified configuration type as an argument.
3950806d53Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4050806d53Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4150806d53Smrg
42a73423d7Smrg# You can get the latest version of this script from:
43a73423d7Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44a73423d7Smrg
4550806d53Smrg# This file is supposed to be the same for all GNU packages
4650806d53Smrg# and recognize all the CPU types, system types and aliases
4750806d53Smrg# that are meaningful with *any* GNU software.
4850806d53Smrg# Each package is responsible for reporting which valid configurations
4950806d53Smrg# it does not support.  The user should be able to distinguish
5050806d53Smrg# a failure to support a valid configuration from a meaningless
5150806d53Smrg# configuration.
5250806d53Smrg
5350806d53Smrg# The goal of this file is to map all the various variations of a given
5450806d53Smrg# machine specification into a single specification in the form:
5550806d53Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5650806d53Smrg# or in some cases, the newer four-part form:
5750806d53Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5850806d53Smrg# It is wrong to echo any other type of specification.
5950806d53Smrg
6050806d53Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6150806d53Smrg
6250806d53Smrgusage="\
6350806d53SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6450806d53Smrg       $0 [OPTION] ALIAS
6550806d53Smrg
6650806d53SmrgCanonicalize a configuration name.
6750806d53Smrg
6850806d53SmrgOperation modes:
6950806d53Smrg  -h, --help         print this help, then exit
7050806d53Smrg  -t, --time-stamp   print date of last modification, then exit
7150806d53Smrg  -v, --version      print version number, then exit
7250806d53Smrg
7350806d53SmrgReport bugs and patches to <config-patches@gnu.org>."
7450806d53Smrg
7550806d53Smrgversion="\
7650806d53SmrgGNU config.sub ($timestamp)
7750806d53Smrg
78a73423d7SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79a73423d7Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80a73423d7SmrgFree Software Foundation, Inc.
8150806d53Smrg
8250806d53SmrgThis is free software; see the source for copying conditions.  There is NO
8350806d53Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8450806d53Smrg
8550806d53Smrghelp="
8650806d53SmrgTry \`$me --help' for more information."
8750806d53Smrg
8850806d53Smrg# Parse command line
8950806d53Smrgwhile test $# -gt 0 ; do
9050806d53Smrg  case $1 in
9150806d53Smrg    --time-stamp | --time* | -t )
927965d9acSmrg       echo "$timestamp" ; exit ;;
9350806d53Smrg    --version | -v )
947965d9acSmrg       echo "$version" ; exit ;;
9550806d53Smrg    --help | --h* | -h )
967965d9acSmrg       echo "$usage"; exit ;;
9750806d53Smrg    -- )     # Stop option processing
9850806d53Smrg       shift; break ;;
9950806d53Smrg    - )	# Use stdin as input.
10050806d53Smrg       break ;;
10150806d53Smrg    -* )
10250806d53Smrg       echo "$me: invalid option $1$help"
10350806d53Smrg       exit 1 ;;
10450806d53Smrg
10550806d53Smrg    *local*)
10650806d53Smrg       # First pass through any local machine types.
10750806d53Smrg       echo $1
1087965d9acSmrg       exit ;;
10950806d53Smrg
11050806d53Smrg    * )
11150806d53Smrg       break ;;
11250806d53Smrg  esac
11350806d53Smrgdone
11450806d53Smrg
11550806d53Smrgcase $# in
11650806d53Smrg 0) echo "$me: missing argument$help" >&2
11750806d53Smrg    exit 1;;
11850806d53Smrg 1) ;;
11950806d53Smrg *) echo "$me: too many arguments$help" >&2
12050806d53Smrg    exit 1;;
12150806d53Smrgesac
12250806d53Smrg
12350806d53Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12450806d53Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12550806d53Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12650806d53Smrgcase $maybe_os in
127a73423d7Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128a73423d7Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129a73423d7Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130a73423d7Smrg  kopensolaris*-gnu* | \
1317965d9acSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
13250806d53Smrg    os=-$maybe_os
13350806d53Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13450806d53Smrg    ;;
13550806d53Smrg  *)
13650806d53Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13750806d53Smrg    if [ $basic_machine != $1 ]
13850806d53Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13950806d53Smrg    else os=; fi
14050806d53Smrg    ;;
14150806d53Smrgesac
14250806d53Smrg
14350806d53Smrg### Let's recognize common machines as not being operating systems so
14450806d53Smrg### that things like config.sub decstation-3100 work.  We also
14550806d53Smrg### recognize some manufacturers as not being operating systems, so we
14650806d53Smrg### can provide default operating systems below.
14750806d53Smrgcase $os in
14850806d53Smrg	-sun*os*)
14950806d53Smrg		# Prevent following clause from handling this invalid input.
15050806d53Smrg		;;
15150806d53Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15250806d53Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15350806d53Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15450806d53Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15550806d53Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15650806d53Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157a73423d7Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15850806d53Smrg		os=
15950806d53Smrg		basic_machine=$1
16050806d53Smrg		;;
161a73423d7Smrg	-bluegene*)
162a73423d7Smrg		os=-cnk
163a73423d7Smrg		;;
16450806d53Smrg	-sim | -cisco | -oki | -wec | -winbond)
16550806d53Smrg		os=
16650806d53Smrg		basic_machine=$1
16750806d53Smrg		;;
16850806d53Smrg	-scout)
16950806d53Smrg		;;
17050806d53Smrg	-wrs)
17150806d53Smrg		os=-vxworks
17250806d53Smrg		basic_machine=$1
17350806d53Smrg		;;
17450806d53Smrg	-chorusos*)
17550806d53Smrg		os=-chorusos
17650806d53Smrg		basic_machine=$1
17750806d53Smrg		;;
178a73423d7Smrg	-chorusrdb)
179a73423d7Smrg		os=-chorusrdb
18050806d53Smrg		basic_machine=$1
181a73423d7Smrg		;;
18250806d53Smrg	-hiux*)
18350806d53Smrg		os=-hiuxwe2
18450806d53Smrg		;;
1857965d9acSmrg	-sco6)
1867965d9acSmrg		os=-sco5v6
1877965d9acSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1887965d9acSmrg		;;
18950806d53Smrg	-sco5)
19050806d53Smrg		os=-sco3.2v5
19150806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19250806d53Smrg		;;
19350806d53Smrg	-sco4)
19450806d53Smrg		os=-sco3.2v4
19550806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19650806d53Smrg		;;
19750806d53Smrg	-sco3.2.[4-9]*)
19850806d53Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19950806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20050806d53Smrg		;;
20150806d53Smrg	-sco3.2v[4-9]*)
20250806d53Smrg		# Don't forget version if it is 3.2v4 or newer.
20350806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20450806d53Smrg		;;
2057965d9acSmrg	-sco5v6*)
2067965d9acSmrg		# Don't forget version if it is 3.2v4 or newer.
2077965d9acSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2087965d9acSmrg		;;
20950806d53Smrg	-sco*)
21050806d53Smrg		os=-sco3.2v2
21150806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21250806d53Smrg		;;
21350806d53Smrg	-udk*)
21450806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21550806d53Smrg		;;
21650806d53Smrg	-isc)
21750806d53Smrg		os=-isc2.2
21850806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21950806d53Smrg		;;
22050806d53Smrg	-clix*)
22150806d53Smrg		basic_machine=clipper-intergraph
22250806d53Smrg		;;
22350806d53Smrg	-isc*)
22450806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22550806d53Smrg		;;
22650806d53Smrg	-lynx*)
22750806d53Smrg		os=-lynxos
22850806d53Smrg		;;
22950806d53Smrg	-ptx*)
23050806d53Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23150806d53Smrg		;;
23250806d53Smrg	-windowsnt*)
23350806d53Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23450806d53Smrg		;;
23550806d53Smrg	-psos*)
23650806d53Smrg		os=-psos
23750806d53Smrg		;;
23850806d53Smrg	-mint | -mint[0-9]*)
23950806d53Smrg		basic_machine=m68k-atari
24050806d53Smrg		os=-mint
24150806d53Smrg		;;
24250806d53Smrgesac
24350806d53Smrg
24450806d53Smrg# Decode aliases for certain CPU-COMPANY combinations.
24550806d53Smrgcase $basic_machine in
24650806d53Smrg	# Recognize the basic CPU types without company name.
24750806d53Smrg	# Some are omitted here because they have special meanings below.
24850806d53Smrg	1750a | 580 \
24950806d53Smrg	| a29k \
25050806d53Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25150806d53Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2527965d9acSmrg	| am33_2.0 \
2537965d9acSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254a73423d7Smrg        | be32 | be64 \
2557965d9acSmrg	| bfin \
25650806d53Smrg	| c4x | clipper \
25750806d53Smrg	| d10v | d30v | dlx | dsp16xx \
258a73423d7Smrg	| epiphany \
2597965d9acSmrg	| fido | fr30 | frv \
26050806d53Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261a73423d7Smrg	| hexagon \
26250806d53Smrg	| i370 | i860 | i960 | ia64 \
2637965d9acSmrg	| ip2k | iq2000 \
264a73423d7Smrg	| le32 | le64 \
265a73423d7Smrg	| lm32 \
2667965d9acSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267b3e38ee4Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26850806d53Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26950806d53Smrg	| mips16 \
27050806d53Smrg	| mips64 | mips64el \
271b3e38ee4Smrg	| mips64octeon | mips64octeonel \
272a18ebfb2Smrg	| mips64orion | mips64orionel \
273b3e38ee4Smrg	| mips64r5900 | mips64r5900el \
274b3e38ee4Smrg	| mips64vr | mips64vrel \
27550806d53Smrg	| mips64vr4100 | mips64vr4100el \
27650806d53Smrg	| mips64vr4300 | mips64vr4300el \
27750806d53Smrg	| mips64vr5000 | mips64vr5000el \
2787965d9acSmrg	| mips64vr5900 | mips64vr5900el \
27950806d53Smrg	| mipsisa32 | mipsisa32el \
28050806d53Smrg	| mipsisa32r2 | mipsisa32r2el \
28150806d53Smrg	| mipsisa64 | mipsisa64el \
2827965d9acSmrg	| mipsisa64r2 | mipsisa64r2el \
28350806d53Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28450806d53Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28550806d53Smrg	| mipstx39 | mipstx39el \
28650806d53Smrg	| mn10200 | mn10300 \
287a73423d7Smrg	| moxie \
2887965d9acSmrg	| mt \
28950806d53Smrg	| msp430 \
290a73423d7Smrg	| nds32 | nds32le | nds32be \
2917965d9acSmrg	| nios | nios2 \
29250806d53Smrg	| ns16k | ns32k \
293a73423d7Smrg	| open8 \
2947965d9acSmrg	| or32 \
29550806d53Smrg	| pdp10 | pdp11 | pj | pjl \
296a73423d7Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29750806d53Smrg	| pyramid \
298a73423d7Smrg	| rl78 | rx \
2997965d9acSmrg	| score \
300a73423d7Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30150806d53Smrg	| sh64 | sh64le \
3027965d9acSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3037965d9acSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304a73423d7Smrg	| spu \
305a73423d7Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306a73423d7Smrg	| ubicom32 \
307a73423d7Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30850806d53Smrg	| we32k \
309a73423d7Smrg	| x86 | xc16x | xstormy16 | xtensa \
310b3e38ee4Smrg	| z8k | z80)
31150806d53Smrg		basic_machine=$basic_machine-unknown
31250806d53Smrg		;;
313a73423d7Smrg	c54x)
314a73423d7Smrg		basic_machine=tic54x-unknown
315a73423d7Smrg		;;
316a73423d7Smrg	c55x)
317a73423d7Smrg		basic_machine=tic55x-unknown
318a73423d7Smrg		;;
319a73423d7Smrg	c6x)
320a73423d7Smrg		basic_machine=tic6x-unknown
321a73423d7Smrg		;;
322a73423d7Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32350806d53Smrg		basic_machine=$basic_machine-unknown
32450806d53Smrg		os=-none
32550806d53Smrg		;;
32650806d53Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32750806d53Smrg		;;
3287965d9acSmrg	ms1)
3297965d9acSmrg		basic_machine=mt-unknown
3307965d9acSmrg		;;
33150806d53Smrg
332a73423d7Smrg	strongarm | thumb | xscale)
333a73423d7Smrg		basic_machine=arm-unknown
334a73423d7Smrg		;;
335a73423d7Smrg
336a73423d7Smrg	xscaleeb)
337a73423d7Smrg		basic_machine=armeb-unknown
338a73423d7Smrg		;;
339a73423d7Smrg
340a73423d7Smrg	xscaleel)
341a73423d7Smrg		basic_machine=armel-unknown
342a73423d7Smrg		;;
343a73423d7Smrg
34450806d53Smrg	# We use `pc' rather than `unknown'
34550806d53Smrg	# because (1) that's what they normally are, and
34650806d53Smrg	# (2) the word "unknown" tends to confuse beginning users.
34750806d53Smrg	i*86 | x86_64)
34850806d53Smrg	  basic_machine=$basic_machine-pc
34950806d53Smrg	  ;;
35050806d53Smrg	# Object if more than one company name word.
35150806d53Smrg	*-*-*)
35250806d53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35350806d53Smrg		exit 1
35450806d53Smrg		;;
35550806d53Smrg	# Recognize the basic CPU types with company name.
35650806d53Smrg	580-* \
35750806d53Smrg	| a29k-* \
35850806d53Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
35950806d53Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36050806d53Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36150806d53Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3627965d9acSmrg	| avr-* | avr32-* \
363a73423d7Smrg	| be32-* | be64-* \
3647965d9acSmrg	| bfin-* | bs2000-* \
365a73423d7Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3667965d9acSmrg	| clipper-* | craynv-* | cydra-* \
36750806d53Smrg	| d10v-* | d30v-* | dlx-* \
36850806d53Smrg	| elxsi-* \
3697965d9acSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37050806d53Smrg	| h8300-* | h8500-* \
37150806d53Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
372a73423d7Smrg	| hexagon-* \
37350806d53Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3747965d9acSmrg	| ip2k-* | iq2000-* \
375a73423d7Smrg	| le32-* | le64-* \
376a73423d7Smrg	| lm32-* \
3777965d9acSmrg	| m32c-* | m32r-* | m32rle-* \
37850806d53Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379a73423d7Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38050806d53Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38150806d53Smrg	| mips16-* \
38250806d53Smrg	| mips64-* | mips64el-* \
383b3e38ee4Smrg	| mips64octeon-* | mips64octeonel-* \
384a18ebfb2Smrg	| mips64orion-* | mips64orionel-* \
385b3e38ee4Smrg	| mips64r5900-* | mips64r5900el-* \
386b3e38ee4Smrg	| mips64vr-* | mips64vrel-* \
38750806d53Smrg	| mips64vr4100-* | mips64vr4100el-* \
38850806d53Smrg	| mips64vr4300-* | mips64vr4300el-* \
38950806d53Smrg	| mips64vr5000-* | mips64vr5000el-* \
3907965d9acSmrg	| mips64vr5900-* | mips64vr5900el-* \
39150806d53Smrg	| mipsisa32-* | mipsisa32el-* \
39250806d53Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39350806d53Smrg	| mipsisa64-* | mipsisa64el-* \
3947965d9acSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
39550806d53Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39650806d53Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39750806d53Smrg	| mipstx39-* | mipstx39el-* \
3987965d9acSmrg	| mmix-* \
3997965d9acSmrg	| mt-* \
40050806d53Smrg	| msp430-* \
401a73423d7Smrg	| nds32-* | nds32le-* | nds32be-* \
4027965d9acSmrg	| nios-* | nios2-* \
4037965d9acSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
404a73423d7Smrg	| open8-* \
40550806d53Smrg	| orion-* \
40650806d53Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
407a73423d7Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40850806d53Smrg	| pyramid-* \
409a73423d7Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
410a73423d7Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41150806d53Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4127965d9acSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4137965d9acSmrg	| sparclite-* \
414a73423d7Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
415a73423d7Smrg	| tahoe-* \
416a73423d7Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
417a73423d7Smrg	| tile*-* \
41850806d53Smrg	| tron-* \
419a73423d7Smrg	| ubicom32-* \
420a73423d7Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
421a73423d7Smrg	| vax-* \
42250806d53Smrg	| we32k-* \
423a73423d7Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4247965d9acSmrg	| xstormy16-* | xtensa*-* \
42550806d53Smrg	| ymp-* \
426b3e38ee4Smrg	| z8k-* | z80-*)
42750806d53Smrg		;;
4287965d9acSmrg	# Recognize the basic CPU types without company name, with glob match.
4297965d9acSmrg	xtensa*)
4307965d9acSmrg		basic_machine=$basic_machine-unknown
4317965d9acSmrg		;;
43250806d53Smrg	# Recognize the various machine names and aliases which stand
43350806d53Smrg	# for a CPU type and a company and sometimes even an OS.
43450806d53Smrg	386bsd)
43550806d53Smrg		basic_machine=i386-unknown
43650806d53Smrg		os=-bsd
43750806d53Smrg		;;
43850806d53Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
43950806d53Smrg		basic_machine=m68000-att
44050806d53Smrg		;;
44150806d53Smrg	3b*)
44250806d53Smrg		basic_machine=we32k-att
44350806d53Smrg		;;
44450806d53Smrg	a29khif)
44550806d53Smrg		basic_machine=a29k-amd
44650806d53Smrg		os=-udi
44750806d53Smrg		;;
448a73423d7Smrg	abacus)
4497965d9acSmrg		basic_machine=abacus-unknown
4507965d9acSmrg		;;
45150806d53Smrg	adobe68k)
45250806d53Smrg		basic_machine=m68010-adobe
45350806d53Smrg		os=-scout
45450806d53Smrg		;;
45550806d53Smrg	alliant | fx80)
45650806d53Smrg		basic_machine=fx80-alliant
45750806d53Smrg		;;
45850806d53Smrg	altos | altos3068)
45950806d53Smrg		basic_machine=m68k-altos
46050806d53Smrg		;;
46150806d53Smrg	am29k)
46250806d53Smrg		basic_machine=a29k-none
46350806d53Smrg		os=-bsd
46450806d53Smrg		;;
46550806d53Smrg	amd64)
46650806d53Smrg		basic_machine=x86_64-pc
46750806d53Smrg		;;
4687965d9acSmrg	amd64-*)
4697965d9acSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4707965d9acSmrg		;;
47150806d53Smrg	amdahl)
47250806d53Smrg		basic_machine=580-amdahl
47350806d53Smrg		os=-sysv
47450806d53Smrg		;;
47550806d53Smrg	amiga | amiga-*)
47650806d53Smrg		basic_machine=m68k-unknown
47750806d53Smrg		;;
47850806d53Smrg	amigaos | amigados)
47950806d53Smrg		basic_machine=m68k-unknown
48050806d53Smrg		os=-amigaos
48150806d53Smrg		;;
48250806d53Smrg	amigaunix | amix)
48350806d53Smrg		basic_machine=m68k-unknown
48450806d53Smrg		os=-sysv4
48550806d53Smrg		;;
48650806d53Smrg	apollo68)
48750806d53Smrg		basic_machine=m68k-apollo
48850806d53Smrg		os=-sysv
48950806d53Smrg		;;
49050806d53Smrg	apollo68bsd)
49150806d53Smrg		basic_machine=m68k-apollo
49250806d53Smrg		os=-bsd
49350806d53Smrg		;;
494a73423d7Smrg	aros)
495a73423d7Smrg		basic_machine=i386-pc
496a73423d7Smrg		os=-aros
497a73423d7Smrg		;;
49850806d53Smrg	aux)
49950806d53Smrg		basic_machine=m68k-apple
50050806d53Smrg		os=-aux
50150806d53Smrg		;;
50250806d53Smrg	balance)
50350806d53Smrg		basic_machine=ns32k-sequent
50450806d53Smrg		os=-dynix
50550806d53Smrg		;;
5067965d9acSmrg	blackfin)
5077965d9acSmrg		basic_machine=bfin-unknown
5087965d9acSmrg		os=-linux
5097965d9acSmrg		;;
5107965d9acSmrg	blackfin-*)
5117965d9acSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5127965d9acSmrg		os=-linux
5137965d9acSmrg		;;
514a73423d7Smrg	bluegene*)
515a73423d7Smrg		basic_machine=powerpc-ibm
516a73423d7Smrg		os=-cnk
517a73423d7Smrg		;;
518a73423d7Smrg	c54x-*)
519a73423d7Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
520a73423d7Smrg		;;
521a73423d7Smrg	c55x-*)
522a73423d7Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
523a73423d7Smrg		;;
524a73423d7Smrg	c6x-*)
525a73423d7Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
526a73423d7Smrg		;;
52750806d53Smrg	c90)
52850806d53Smrg		basic_machine=c90-cray
52950806d53Smrg		os=-unicos
53050806d53Smrg		;;
531a73423d7Smrg	cegcc)
532b3e38ee4Smrg		basic_machine=arm-unknown
533b3e38ee4Smrg		os=-cegcc
534b3e38ee4Smrg		;;
53550806d53Smrg	convex-c1)
53650806d53Smrg		basic_machine=c1-convex
53750806d53Smrg		os=-bsd
53850806d53Smrg		;;
53950806d53Smrg	convex-c2)
54050806d53Smrg		basic_machine=c2-convex
54150806d53Smrg		os=-bsd
54250806d53Smrg		;;
54350806d53Smrg	convex-c32)
54450806d53Smrg		basic_machine=c32-convex
54550806d53Smrg		os=-bsd
54650806d53Smrg		;;
54750806d53Smrg	convex-c34)
54850806d53Smrg		basic_machine=c34-convex
54950806d53Smrg		os=-bsd
55050806d53Smrg		;;
55150806d53Smrg	convex-c38)
55250806d53Smrg		basic_machine=c38-convex
55350806d53Smrg		os=-bsd
55450806d53Smrg		;;
55550806d53Smrg	cray | j90)
55650806d53Smrg		basic_machine=j90-cray
55750806d53Smrg		os=-unicos
55850806d53Smrg		;;
5597965d9acSmrg	craynv)
5607965d9acSmrg		basic_machine=craynv-cray
5617965d9acSmrg		os=-unicosmp
5627965d9acSmrg		;;
563a73423d7Smrg	cr16 | cr16-*)
5647965d9acSmrg		basic_machine=cr16-unknown
5657965d9acSmrg		os=-elf
5667965d9acSmrg		;;
56750806d53Smrg	crds | unos)
56850806d53Smrg		basic_machine=m68k-crds
56950806d53Smrg		;;
5707965d9acSmrg	crisv32 | crisv32-* | etraxfs*)
5717965d9acSmrg		basic_machine=crisv32-axis
5727965d9acSmrg		;;
57350806d53Smrg	cris | cris-* | etrax*)
57450806d53Smrg		basic_machine=cris-axis
57550806d53Smrg		;;
5767965d9acSmrg	crx)
5777965d9acSmrg		basic_machine=crx-unknown
5787965d9acSmrg		os=-elf
5797965d9acSmrg		;;
58050806d53Smrg	da30 | da30-*)
58150806d53Smrg		basic_machine=m68k-da30
58250806d53Smrg		;;
58350806d53Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58450806d53Smrg		basic_machine=mips-dec
58550806d53Smrg		;;
58650806d53Smrg	decsystem10* | dec10*)
58750806d53Smrg		basic_machine=pdp10-dec
58850806d53Smrg		os=-tops10
58950806d53Smrg		;;
59050806d53Smrg	decsystem20* | dec20*)
59150806d53Smrg		basic_machine=pdp10-dec
59250806d53Smrg		os=-tops20
59350806d53Smrg		;;
59450806d53Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59550806d53Smrg	      | 3300-motorola | delta-motorola)
59650806d53Smrg		basic_machine=m68k-motorola
59750806d53Smrg		;;
59850806d53Smrg	delta88)
59950806d53Smrg		basic_machine=m88k-motorola
60050806d53Smrg		os=-sysv3
60150806d53Smrg		;;
602b3e38ee4Smrg	dicos)
603b3e38ee4Smrg		basic_machine=i686-pc
604b3e38ee4Smrg		os=-dicos
605b3e38ee4Smrg		;;
6067965d9acSmrg	djgpp)
6077965d9acSmrg		basic_machine=i586-pc
6087965d9acSmrg		os=-msdosdjgpp
6097965d9acSmrg		;;
61050806d53Smrg	dpx20 | dpx20-*)
61150806d53Smrg		basic_machine=rs6000-bull
61250806d53Smrg		os=-bosx
61350806d53Smrg		;;
61450806d53Smrg	dpx2* | dpx2*-bull)
61550806d53Smrg		basic_machine=m68k-bull
61650806d53Smrg		os=-sysv3
61750806d53Smrg		;;
61850806d53Smrg	ebmon29k)
61950806d53Smrg		basic_machine=a29k-amd
62050806d53Smrg		os=-ebmon
62150806d53Smrg		;;
62250806d53Smrg	elxsi)
62350806d53Smrg		basic_machine=elxsi-elxsi
62450806d53Smrg		os=-bsd
62550806d53Smrg		;;
62650806d53Smrg	encore | umax | mmax)
62750806d53Smrg		basic_machine=ns32k-encore
62850806d53Smrg		;;
62950806d53Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63050806d53Smrg		basic_machine=m68k-ericsson
63150806d53Smrg		os=-ose
63250806d53Smrg		;;
63350806d53Smrg	fx2800)
63450806d53Smrg		basic_machine=i860-alliant
63550806d53Smrg		;;
63650806d53Smrg	genix)
63750806d53Smrg		basic_machine=ns32k-ns
63850806d53Smrg		;;
63950806d53Smrg	gmicro)
64050806d53Smrg		basic_machine=tron-gmicro
64150806d53Smrg		os=-sysv
64250806d53Smrg		;;
64350806d53Smrg	go32)
64450806d53Smrg		basic_machine=i386-pc
64550806d53Smrg		os=-go32
64650806d53Smrg		;;
64750806d53Smrg	h3050r* | hiux*)
64850806d53Smrg		basic_machine=hppa1.1-hitachi
64950806d53Smrg		os=-hiuxwe2
65050806d53Smrg		;;
65150806d53Smrg	h8300hms)
65250806d53Smrg		basic_machine=h8300-hitachi
65350806d53Smrg		os=-hms
65450806d53Smrg		;;
65550806d53Smrg	h8300xray)
65650806d53Smrg		basic_machine=h8300-hitachi
65750806d53Smrg		os=-xray
65850806d53Smrg		;;
65950806d53Smrg	h8500hms)
66050806d53Smrg		basic_machine=h8500-hitachi
66150806d53Smrg		os=-hms
66250806d53Smrg		;;
66350806d53Smrg	harris)
66450806d53Smrg		basic_machine=m88k-harris
66550806d53Smrg		os=-sysv3
66650806d53Smrg		;;
66750806d53Smrg	hp300-*)
66850806d53Smrg		basic_machine=m68k-hp
66950806d53Smrg		;;
67050806d53Smrg	hp300bsd)
67150806d53Smrg		basic_machine=m68k-hp
67250806d53Smrg		os=-bsd
67350806d53Smrg		;;
67450806d53Smrg	hp300hpux)
67550806d53Smrg		basic_machine=m68k-hp
67650806d53Smrg		os=-hpux
67750806d53Smrg		;;
67850806d53Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
67950806d53Smrg		basic_machine=hppa1.0-hp
68050806d53Smrg		;;
68150806d53Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68250806d53Smrg		basic_machine=m68000-hp
68350806d53Smrg		;;
68450806d53Smrg	hp9k3[2-9][0-9])
68550806d53Smrg		basic_machine=m68k-hp
68650806d53Smrg		;;
68750806d53Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68850806d53Smrg		basic_machine=hppa1.0-hp
68950806d53Smrg		;;
69050806d53Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69150806d53Smrg		basic_machine=hppa1.1-hp
69250806d53Smrg		;;
69350806d53Smrg	hp9k78[0-9] | hp78[0-9])
69450806d53Smrg		# FIXME: really hppa2.0-hp
69550806d53Smrg		basic_machine=hppa1.1-hp
69650806d53Smrg		;;
69750806d53Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69850806d53Smrg		# FIXME: really hppa2.0-hp
69950806d53Smrg		basic_machine=hppa1.1-hp
70050806d53Smrg		;;
70150806d53Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70250806d53Smrg		basic_machine=hppa1.1-hp
70350806d53Smrg		;;
70450806d53Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70550806d53Smrg		basic_machine=hppa1.0-hp
70650806d53Smrg		;;
70750806d53Smrg	hppa-next)
70850806d53Smrg		os=-nextstep3
70950806d53Smrg		;;
71050806d53Smrg	hppaosf)
71150806d53Smrg		basic_machine=hppa1.1-hp
71250806d53Smrg		os=-osf
71350806d53Smrg		;;
71450806d53Smrg	hppro)
71550806d53Smrg		basic_machine=hppa1.1-hp
71650806d53Smrg		os=-proelf
71750806d53Smrg		;;
71850806d53Smrg	i370-ibm* | ibm*)
71950806d53Smrg		basic_machine=i370-ibm
72050806d53Smrg		;;
72150806d53Smrg	i*86v32)
72250806d53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72350806d53Smrg		os=-sysv32
72450806d53Smrg		;;
72550806d53Smrg	i*86v4*)
72650806d53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72750806d53Smrg		os=-sysv4
72850806d53Smrg		;;
72950806d53Smrg	i*86v)
73050806d53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73150806d53Smrg		os=-sysv
73250806d53Smrg		;;
73350806d53Smrg	i*86sol2)
73450806d53Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73550806d53Smrg		os=-solaris2
73650806d53Smrg		;;
73750806d53Smrg	i386mach)
73850806d53Smrg		basic_machine=i386-mach
73950806d53Smrg		os=-mach
74050806d53Smrg		;;
74150806d53Smrg	i386-vsta | vsta)
74250806d53Smrg		basic_machine=i386-unknown
74350806d53Smrg		os=-vsta
74450806d53Smrg		;;
74550806d53Smrg	iris | iris4d)
74650806d53Smrg		basic_machine=mips-sgi
74750806d53Smrg		case $os in
74850806d53Smrg		    -irix*)
74950806d53Smrg			;;
75050806d53Smrg		    *)
75150806d53Smrg			os=-irix4
75250806d53Smrg			;;
75350806d53Smrg		esac
75450806d53Smrg		;;
75550806d53Smrg	isi68 | isi)
75650806d53Smrg		basic_machine=m68k-isi
75750806d53Smrg		os=-sysv
75850806d53Smrg		;;
7597965d9acSmrg	m68knommu)
7607965d9acSmrg		basic_machine=m68k-unknown
7617965d9acSmrg		os=-linux
7627965d9acSmrg		;;
7637965d9acSmrg	m68knommu-*)
7647965d9acSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7657965d9acSmrg		os=-linux
7667965d9acSmrg		;;
76750806d53Smrg	m88k-omron*)
76850806d53Smrg		basic_machine=m88k-omron
76950806d53Smrg		;;
77050806d53Smrg	magnum | m3230)
77150806d53Smrg		basic_machine=mips-mips
77250806d53Smrg		os=-sysv
77350806d53Smrg		;;
77450806d53Smrg	merlin)
77550806d53Smrg		basic_machine=ns32k-utek
77650806d53Smrg		os=-sysv
77750806d53Smrg		;;
778a73423d7Smrg	microblaze)
779a73423d7Smrg		basic_machine=microblaze-xilinx
780a73423d7Smrg		;;
78150806d53Smrg	mingw32)
78250806d53Smrg		basic_machine=i386-pc
78350806d53Smrg		os=-mingw32
78450806d53Smrg		;;
7857965d9acSmrg	mingw32ce)
7867965d9acSmrg		basic_machine=arm-unknown
7877965d9acSmrg		os=-mingw32ce
7887965d9acSmrg		;;
78950806d53Smrg	miniframe)
79050806d53Smrg		basic_machine=m68000-convergent
79150806d53Smrg		;;
79250806d53Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79350806d53Smrg		basic_machine=m68k-atari
79450806d53Smrg		os=-mint
79550806d53Smrg		;;
79650806d53Smrg	mips3*-*)
79750806d53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
79850806d53Smrg		;;
79950806d53Smrg	mips3*)
80050806d53Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80150806d53Smrg		;;
80250806d53Smrg	monitor)
80350806d53Smrg		basic_machine=m68k-rom68k
80450806d53Smrg		os=-coff
80550806d53Smrg		;;
80650806d53Smrg	morphos)
80750806d53Smrg		basic_machine=powerpc-unknown
80850806d53Smrg		os=-morphos
80950806d53Smrg		;;
81050806d53Smrg	msdos)
81150806d53Smrg		basic_machine=i386-pc
81250806d53Smrg		os=-msdos
81350806d53Smrg		;;
8147965d9acSmrg	ms1-*)
8157965d9acSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8167965d9acSmrg		;;
817a73423d7Smrg	msys)
818a73423d7Smrg		basic_machine=i386-pc
819a73423d7Smrg		os=-msys
820a73423d7Smrg		;;
82150806d53Smrg	mvs)
82250806d53Smrg		basic_machine=i370-ibm
82350806d53Smrg		os=-mvs
82450806d53Smrg		;;
825a73423d7Smrg	nacl)
826a73423d7Smrg		basic_machine=le32-unknown
827a73423d7Smrg		os=-nacl
828a73423d7Smrg		;;
82950806d53Smrg	ncr3000)
83050806d53Smrg		basic_machine=i486-ncr
83150806d53Smrg		os=-sysv4
83250806d53Smrg		;;
83350806d53Smrg	netbsd386)
83450806d53Smrg		basic_machine=i386-unknown
83550806d53Smrg		os=-netbsd
83650806d53Smrg		;;
83750806d53Smrg	netwinder)
83850806d53Smrg		basic_machine=armv4l-rebel
83950806d53Smrg		os=-linux
84050806d53Smrg		;;
84150806d53Smrg	news | news700 | news800 | news900)
84250806d53Smrg		basic_machine=m68k-sony
84350806d53Smrg		os=-newsos
84450806d53Smrg		;;
84550806d53Smrg	news1000)
84650806d53Smrg		basic_machine=m68030-sony
84750806d53Smrg		os=-newsos
84850806d53Smrg		;;
84950806d53Smrg	news-3600 | risc-news)
85050806d53Smrg		basic_machine=mips-sony
85150806d53Smrg		os=-newsos
85250806d53Smrg		;;
85350806d53Smrg	necv70)
85450806d53Smrg		basic_machine=v70-nec
85550806d53Smrg		os=-sysv
85650806d53Smrg		;;
85750806d53Smrg	next | m*-next )
85850806d53Smrg		basic_machine=m68k-next
85950806d53Smrg		case $os in
86050806d53Smrg		    -nextstep* )
86150806d53Smrg			;;
86250806d53Smrg		    -ns2*)
86350806d53Smrg		      os=-nextstep2
86450806d53Smrg			;;
86550806d53Smrg		    *)
86650806d53Smrg		      os=-nextstep3
86750806d53Smrg			;;
86850806d53Smrg		esac
86950806d53Smrg		;;
87050806d53Smrg	nh3000)
87150806d53Smrg		basic_machine=m68k-harris
87250806d53Smrg		os=-cxux
87350806d53Smrg		;;
87450806d53Smrg	nh[45]000)
87550806d53Smrg		basic_machine=m88k-harris
87650806d53Smrg		os=-cxux
87750806d53Smrg		;;
87850806d53Smrg	nindy960)
87950806d53Smrg		basic_machine=i960-intel
88050806d53Smrg		os=-nindy
88150806d53Smrg		;;
88250806d53Smrg	mon960)
88350806d53Smrg		basic_machine=i960-intel
88450806d53Smrg		os=-mon960
88550806d53Smrg		;;
88650806d53Smrg	nonstopux)
88750806d53Smrg		basic_machine=mips-compaq
88850806d53Smrg		os=-nonstopux
88950806d53Smrg		;;
89050806d53Smrg	np1)
89150806d53Smrg		basic_machine=np1-gould
89250806d53Smrg		;;
893a73423d7Smrg	neo-tandem)
894a73423d7Smrg		basic_machine=neo-tandem
895a73423d7Smrg		;;
896a73423d7Smrg	nse-tandem)
897a73423d7Smrg		basic_machine=nse-tandem
898a73423d7Smrg		;;
89950806d53Smrg	nsr-tandem)
90050806d53Smrg		basic_machine=nsr-tandem
90150806d53Smrg		;;
90250806d53Smrg	op50n-* | op60c-*)
90350806d53Smrg		basic_machine=hppa1.1-oki
90450806d53Smrg		os=-proelf
90550806d53Smrg		;;
9067965d9acSmrg	openrisc | openrisc-*)
90750806d53Smrg		basic_machine=or32-unknown
9087965d9acSmrg		;;
9097965d9acSmrg	os400)
9107965d9acSmrg		basic_machine=powerpc-ibm
9117965d9acSmrg		os=-os400
91250806d53Smrg		;;
91350806d53Smrg	OSE68000 | ose68000)
91450806d53Smrg		basic_machine=m68000-ericsson
91550806d53Smrg		os=-ose
91650806d53Smrg		;;
91750806d53Smrg	os68k)
91850806d53Smrg		basic_machine=m68k-none
91950806d53Smrg		os=-os68k
92050806d53Smrg		;;
92150806d53Smrg	pa-hitachi)
92250806d53Smrg		basic_machine=hppa1.1-hitachi
92350806d53Smrg		os=-hiuxwe2
92450806d53Smrg		;;
92550806d53Smrg	paragon)
92650806d53Smrg		basic_machine=i860-intel
92750806d53Smrg		os=-osf
92850806d53Smrg		;;
9297965d9acSmrg	parisc)
9307965d9acSmrg		basic_machine=hppa-unknown
9317965d9acSmrg		os=-linux
9327965d9acSmrg		;;
9337965d9acSmrg	parisc-*)
9347965d9acSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9357965d9acSmrg		os=-linux
9367965d9acSmrg		;;
93750806d53Smrg	pbd)
93850806d53Smrg		basic_machine=sparc-tti
93950806d53Smrg		;;
94050806d53Smrg	pbb)
94150806d53Smrg		basic_machine=m68k-tti
94250806d53Smrg		;;
94350806d53Smrg	pc532 | pc532-*)
94450806d53Smrg		basic_machine=ns32k-pc532
94550806d53Smrg		;;
9467965d9acSmrg	pc98)
9477965d9acSmrg		basic_machine=i386-pc
9487965d9acSmrg		;;
9497965d9acSmrg	pc98-*)
9507965d9acSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9517965d9acSmrg		;;
95250806d53Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95350806d53Smrg		basic_machine=i586-pc
95450806d53Smrg		;;
95550806d53Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95650806d53Smrg		basic_machine=i686-pc
95750806d53Smrg		;;
95850806d53Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
95950806d53Smrg		basic_machine=i686-pc
96050806d53Smrg		;;
96150806d53Smrg	pentium4)
96250806d53Smrg		basic_machine=i786-pc
96350806d53Smrg		;;
96450806d53Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96550806d53Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96650806d53Smrg		;;
96750806d53Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
96850806d53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
96950806d53Smrg		;;
97050806d53Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97150806d53Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97250806d53Smrg		;;
97350806d53Smrg	pentium4-*)
97450806d53Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97550806d53Smrg		;;
97650806d53Smrg	pn)
97750806d53Smrg		basic_machine=pn-gould
97850806d53Smrg		;;
97950806d53Smrg	power)	basic_machine=power-ibm
98050806d53Smrg		;;
981a73423d7Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98250806d53Smrg		;;
983a73423d7Smrg	ppc-* | ppcbe-*)
984a73423d7Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98550806d53Smrg		;;
98650806d53Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98750806d53Smrg		basic_machine=powerpcle-unknown
98850806d53Smrg		;;
98950806d53Smrg	ppcle-* | powerpclittle-*)
99050806d53Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99150806d53Smrg		;;
99250806d53Smrg	ppc64)	basic_machine=powerpc64-unknown
99350806d53Smrg		;;
99450806d53Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99550806d53Smrg		;;
99650806d53Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99750806d53Smrg		basic_machine=powerpc64le-unknown
99850806d53Smrg		;;
99950806d53Smrg	ppc64le-* | powerpc64little-*)
100050806d53Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100150806d53Smrg		;;
100250806d53Smrg	ps2)
100350806d53Smrg		basic_machine=i386-ibm
100450806d53Smrg		;;
100550806d53Smrg	pw32)
100650806d53Smrg		basic_machine=i586-unknown
100750806d53Smrg		os=-pw32
100850806d53Smrg		;;
10097965d9acSmrg	rdos)
10107965d9acSmrg		basic_machine=i386-pc
10117965d9acSmrg		os=-rdos
10127965d9acSmrg		;;
101350806d53Smrg	rom68k)
101450806d53Smrg		basic_machine=m68k-rom68k
101550806d53Smrg		os=-coff
101650806d53Smrg		;;
101750806d53Smrg	rm[46]00)
101850806d53Smrg		basic_machine=mips-siemens
101950806d53Smrg		;;
102050806d53Smrg	rtpc | rtpc-*)
102150806d53Smrg		basic_machine=romp-ibm
102250806d53Smrg		;;
10237965d9acSmrg	s390 | s390-*)
10247965d9acSmrg		basic_machine=s390-ibm
10257965d9acSmrg		;;
10267965d9acSmrg	s390x | s390x-*)
10277965d9acSmrg		basic_machine=s390x-ibm
10287965d9acSmrg		;;
102950806d53Smrg	sa29200)
103050806d53Smrg		basic_machine=a29k-amd
103150806d53Smrg		os=-udi
103250806d53Smrg		;;
103350806d53Smrg	sb1)
103450806d53Smrg		basic_machine=mipsisa64sb1-unknown
103550806d53Smrg		;;
103650806d53Smrg	sb1el)
103750806d53Smrg		basic_machine=mipsisa64sb1el-unknown
103850806d53Smrg		;;
10397965d9acSmrg	sde)
10407965d9acSmrg		basic_machine=mipsisa32-sde
10417965d9acSmrg		os=-elf
10427965d9acSmrg		;;
104350806d53Smrg	sei)
104450806d53Smrg		basic_machine=mips-sei
104550806d53Smrg		os=-seiux
104650806d53Smrg		;;
104750806d53Smrg	sequent)
104850806d53Smrg		basic_machine=i386-sequent
104950806d53Smrg		;;
105050806d53Smrg	sh)
105150806d53Smrg		basic_machine=sh-hitachi
105250806d53Smrg		os=-hms
105350806d53Smrg		;;
10547965d9acSmrg	sh5el)
10557965d9acSmrg		basic_machine=sh5le-unknown
10567965d9acSmrg		;;
105750806d53Smrg	sh64)
105850806d53Smrg		basic_machine=sh64-unknown
105950806d53Smrg		;;
106050806d53Smrg	sparclite-wrs | simso-wrs)
106150806d53Smrg		basic_machine=sparclite-wrs
106250806d53Smrg		os=-vxworks
106350806d53Smrg		;;
106450806d53Smrg	sps7)
106550806d53Smrg		basic_machine=m68k-bull
106650806d53Smrg		os=-sysv2
106750806d53Smrg		;;
106850806d53Smrg	spur)
106950806d53Smrg		basic_machine=spur-unknown
107050806d53Smrg		;;
107150806d53Smrg	st2000)
107250806d53Smrg		basic_machine=m68k-tandem
107350806d53Smrg		;;
107450806d53Smrg	stratus)
107550806d53Smrg		basic_machine=i860-stratus
107650806d53Smrg		os=-sysv4
107750806d53Smrg		;;
1078a73423d7Smrg	strongarm-* | thumb-*)
1079a73423d7Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1080a73423d7Smrg		;;
108150806d53Smrg	sun2)
108250806d53Smrg		basic_machine=m68000-sun
108350806d53Smrg		;;
108450806d53Smrg	sun2os3)
108550806d53Smrg		basic_machine=m68000-sun
108650806d53Smrg		os=-sunos3
108750806d53Smrg		;;
108850806d53Smrg	sun2os4)
108950806d53Smrg		basic_machine=m68000-sun
109050806d53Smrg		os=-sunos4
109150806d53Smrg		;;
109250806d53Smrg	sun3os3)
109350806d53Smrg		basic_machine=m68k-sun
109450806d53Smrg		os=-sunos3
109550806d53Smrg		;;
109650806d53Smrg	sun3os4)
109750806d53Smrg		basic_machine=m68k-sun
109850806d53Smrg		os=-sunos4
109950806d53Smrg		;;
110050806d53Smrg	sun4os3)
110150806d53Smrg		basic_machine=sparc-sun
110250806d53Smrg		os=-sunos3
110350806d53Smrg		;;
110450806d53Smrg	sun4os4)
110550806d53Smrg		basic_machine=sparc-sun
110650806d53Smrg		os=-sunos4
110750806d53Smrg		;;
110850806d53Smrg	sun4sol2)
110950806d53Smrg		basic_machine=sparc-sun
111050806d53Smrg		os=-solaris2
111150806d53Smrg		;;
111250806d53Smrg	sun3 | sun3-*)
111350806d53Smrg		basic_machine=m68k-sun
111450806d53Smrg		;;
111550806d53Smrg	sun4)
111650806d53Smrg		basic_machine=sparc-sun
111750806d53Smrg		;;
111850806d53Smrg	sun386 | sun386i | roadrunner)
111950806d53Smrg		basic_machine=i386-sun
112050806d53Smrg		;;
112150806d53Smrg	sv1)
112250806d53Smrg		basic_machine=sv1-cray
112350806d53Smrg		os=-unicos
112450806d53Smrg		;;
112550806d53Smrg	symmetry)
112650806d53Smrg		basic_machine=i386-sequent
112750806d53Smrg		os=-dynix
112850806d53Smrg		;;
112950806d53Smrg	t3e)
113050806d53Smrg		basic_machine=alphaev5-cray
113150806d53Smrg		os=-unicos
113250806d53Smrg		;;
113350806d53Smrg	t90)
113450806d53Smrg		basic_machine=t90-cray
113550806d53Smrg		os=-unicos
113650806d53Smrg		;;
11377965d9acSmrg	tile*)
1138a73423d7Smrg		basic_machine=$basic_machine-unknown
11397965d9acSmrg		os=-linux-gnu
11407965d9acSmrg		;;
114150806d53Smrg	tx39)
114250806d53Smrg		basic_machine=mipstx39-unknown
114350806d53Smrg		;;
114450806d53Smrg	tx39el)
114550806d53Smrg		basic_machine=mipstx39el-unknown
114650806d53Smrg		;;
114750806d53Smrg	toad1)
114850806d53Smrg		basic_machine=pdp10-xkl
114950806d53Smrg		os=-tops20
115050806d53Smrg		;;
115150806d53Smrg	tower | tower-32)
115250806d53Smrg		basic_machine=m68k-ncr
115350806d53Smrg		;;
11547965d9acSmrg	tpf)
11557965d9acSmrg		basic_machine=s390x-ibm
11567965d9acSmrg		os=-tpf
11577965d9acSmrg		;;
115850806d53Smrg	udi29k)
115950806d53Smrg		basic_machine=a29k-amd
116050806d53Smrg		os=-udi
116150806d53Smrg		;;
116250806d53Smrg	ultra3)
116350806d53Smrg		basic_machine=a29k-nyu
116450806d53Smrg		os=-sym1
116550806d53Smrg		;;
116650806d53Smrg	v810 | necv810)
116750806d53Smrg		basic_machine=v810-nec
116850806d53Smrg		os=-none
116950806d53Smrg		;;
117050806d53Smrg	vaxv)
117150806d53Smrg		basic_machine=vax-dec
117250806d53Smrg		os=-sysv
117350806d53Smrg		;;
117450806d53Smrg	vms)
117550806d53Smrg		basic_machine=vax-dec
117650806d53Smrg		os=-vms
117750806d53Smrg		;;
117850806d53Smrg	vpp*|vx|vx-*)
117950806d53Smrg		basic_machine=f301-fujitsu
118050806d53Smrg		;;
118150806d53Smrg	vxworks960)
118250806d53Smrg		basic_machine=i960-wrs
118350806d53Smrg		os=-vxworks
118450806d53Smrg		;;
118550806d53Smrg	vxworks68)
118650806d53Smrg		basic_machine=m68k-wrs
118750806d53Smrg		os=-vxworks
118850806d53Smrg		;;
118950806d53Smrg	vxworks29k)
119050806d53Smrg		basic_machine=a29k-wrs
119150806d53Smrg		os=-vxworks
119250806d53Smrg		;;
119350806d53Smrg	w65*)
119450806d53Smrg		basic_machine=w65-wdc
119550806d53Smrg		os=-none
119650806d53Smrg		;;
119750806d53Smrg	w89k-*)
119850806d53Smrg		basic_machine=hppa1.1-winbond
119950806d53Smrg		os=-proelf
120050806d53Smrg		;;
12017965d9acSmrg	xbox)
12027965d9acSmrg		basic_machine=i686-pc
12037965d9acSmrg		os=-mingw32
12047965d9acSmrg		;;
120550806d53Smrg	xps | xps100)
120650806d53Smrg		basic_machine=xps100-honeywell
120750806d53Smrg		;;
1208a73423d7Smrg	xscale-* | xscalee[bl]-*)
1209a73423d7Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1210a73423d7Smrg		;;
121150806d53Smrg	ymp)
121250806d53Smrg		basic_machine=ymp-cray
121350806d53Smrg		os=-unicos
121450806d53Smrg		;;
121550806d53Smrg	z8k-*-coff)
121650806d53Smrg		basic_machine=z8k-unknown
121750806d53Smrg		os=-sim
121850806d53Smrg		;;
1219b3e38ee4Smrg	z80-*-coff)
1220b3e38ee4Smrg		basic_machine=z80-unknown
1221b3e38ee4Smrg		os=-sim
1222b3e38ee4Smrg		;;
122350806d53Smrg	none)
122450806d53Smrg		basic_machine=none-none
122550806d53Smrg		os=-none
122650806d53Smrg		;;
122750806d53Smrg
122850806d53Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
122950806d53Smrg# some cases the only manufacturer, in others, it is the most popular.
123050806d53Smrg	w89k)
123150806d53Smrg		basic_machine=hppa1.1-winbond
123250806d53Smrg		;;
123350806d53Smrg	op50n)
123450806d53Smrg		basic_machine=hppa1.1-oki
123550806d53Smrg		;;
123650806d53Smrg	op60c)
123750806d53Smrg		basic_machine=hppa1.1-oki
123850806d53Smrg		;;
123950806d53Smrg	romp)
124050806d53Smrg		basic_machine=romp-ibm
124150806d53Smrg		;;
12427965d9acSmrg	mmix)
12437965d9acSmrg		basic_machine=mmix-knuth
12447965d9acSmrg		;;
124550806d53Smrg	rs6000)
124650806d53Smrg		basic_machine=rs6000-ibm
124750806d53Smrg		;;
124850806d53Smrg	vax)
124950806d53Smrg		basic_machine=vax-dec
125050806d53Smrg		;;
125150806d53Smrg	pdp10)
125250806d53Smrg		# there are many clones, so DEC is not a safe bet
125350806d53Smrg		basic_machine=pdp10-unknown
125450806d53Smrg		;;
125550806d53Smrg	pdp11)
125650806d53Smrg		basic_machine=pdp11-dec
125750806d53Smrg		;;
125850806d53Smrg	we32k)
125950806d53Smrg		basic_machine=we32k-att
126050806d53Smrg		;;
1261a73423d7Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126250806d53Smrg		basic_machine=sh-unknown
126350806d53Smrg		;;
12647965d9acSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126550806d53Smrg		basic_machine=sparc-sun
126650806d53Smrg		;;
126750806d53Smrg	cydra)
126850806d53Smrg		basic_machine=cydra-cydrome
126950806d53Smrg		;;
127050806d53Smrg	orion)
127150806d53Smrg		basic_machine=orion-highlevel
127250806d53Smrg		;;
127350806d53Smrg	orion105)
127450806d53Smrg		basic_machine=clipper-highlevel
127550806d53Smrg		;;
127650806d53Smrg	mac | mpw | mac-mpw)
127750806d53Smrg		basic_machine=m68k-apple
127850806d53Smrg		;;
127950806d53Smrg	pmac | pmac-mpw)
128050806d53Smrg		basic_machine=powerpc-apple
128150806d53Smrg		;;
128250806d53Smrg	*-unknown)
128350806d53Smrg		# Make sure to match an already-canonicalized machine name.
128450806d53Smrg		;;
128550806d53Smrg	*)
128650806d53Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128750806d53Smrg		exit 1
128850806d53Smrg		;;
128950806d53Smrgesac
129050806d53Smrg
129150806d53Smrg# Here we canonicalize certain aliases for manufacturers.
129250806d53Smrgcase $basic_machine in
129350806d53Smrg	*-digital*)
129450806d53Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129550806d53Smrg		;;
129650806d53Smrg	*-commodore*)
129750806d53Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
129850806d53Smrg		;;
129950806d53Smrg	*)
130050806d53Smrg		;;
130150806d53Smrgesac
130250806d53Smrg
130350806d53Smrg# Decode manufacturer-specific aliases for certain operating systems.
130450806d53Smrg
130550806d53Smrgif [ x"$os" != x"" ]
130650806d53Smrgthen
130750806d53Smrgcase $os in
1308a73423d7Smrg	# First match some system type aliases
1309a73423d7Smrg	# that might get confused with valid system types.
131050806d53Smrg	# -solaris* is a basic system type, with this one exception.
1311a73423d7Smrg	-auroraux)
1312a73423d7Smrg		os=-auroraux
1313a73423d7Smrg		;;
131450806d53Smrg	-solaris1 | -solaris1.*)
131550806d53Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131650806d53Smrg		;;
131750806d53Smrg	-solaris)
131850806d53Smrg		os=-solaris2
131950806d53Smrg		;;
132050806d53Smrg	-svr4*)
132150806d53Smrg		os=-sysv4
132250806d53Smrg		;;
132350806d53Smrg	-unixware*)
132450806d53Smrg		os=-sysv4.2uw
132550806d53Smrg		;;
132650806d53Smrg	-gnu/linux*)
132750806d53Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
132850806d53Smrg		;;
132950806d53Smrg	# First accept the basic system types.
133050806d53Smrg	# The portable systems comes first.
133150806d53Smrg	# Each alternative MUST END IN A *, to match a version number.
133250806d53Smrg	# -sysv* is not here because it comes later, after sysvr4.
133350806d53Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334a73423d7Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335a73423d7Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336a73423d7Smrg	      | -sym* | -kopensolaris* \
133750806d53Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338a73423d7Smrg	      | -aos* | -aros* \
133950806d53Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134050806d53Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13417965d9acSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13427965d9acSmrg	      | -openbsd* | -solidbsd* \
13437965d9acSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13447965d9acSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134550806d53Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134650806d53Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347b3e38ee4Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1348a73423d7Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1349a73423d7Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1350a73423d7Smrg	      | -linux-newlib* | -linux-uclibc* \
13517965d9acSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135250806d53Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135350806d53Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135450806d53Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135550806d53Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135650806d53Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13577965d9acSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358a73423d7Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
135950806d53Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136050806d53Smrg		;;
136150806d53Smrg	-qnx*)
136250806d53Smrg		case $basic_machine in
136350806d53Smrg		    x86-* | i*86-*)
136450806d53Smrg			;;
136550806d53Smrg		    *)
136650806d53Smrg			os=-nto$os
136750806d53Smrg			;;
136850806d53Smrg		esac
136950806d53Smrg		;;
137050806d53Smrg	-nto-qnx*)
137150806d53Smrg		;;
137250806d53Smrg	-nto*)
137350806d53Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137450806d53Smrg		;;
137550806d53Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13767965d9acSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137750806d53Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
137850806d53Smrg		;;
137950806d53Smrg	-mac*)
138050806d53Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138150806d53Smrg		;;
13827965d9acSmrg	-linux-dietlibc)
13837965d9acSmrg		os=-linux-dietlibc
13847965d9acSmrg		;;
138550806d53Smrg	-linux*)
138650806d53Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138750806d53Smrg		;;
138850806d53Smrg	-sunos5*)
138950806d53Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139050806d53Smrg		;;
139150806d53Smrg	-sunos6*)
139250806d53Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139350806d53Smrg		;;
139450806d53Smrg	-opened*)
139550806d53Smrg		os=-openedition
139650806d53Smrg		;;
1397a73423d7Smrg	-os400*)
13987965d9acSmrg		os=-os400
13997965d9acSmrg		;;
140050806d53Smrg	-wince*)
140150806d53Smrg		os=-wince
140250806d53Smrg		;;
140350806d53Smrg	-osfrose*)
140450806d53Smrg		os=-osfrose
140550806d53Smrg		;;
140650806d53Smrg	-osf*)
140750806d53Smrg		os=-osf
140850806d53Smrg		;;
140950806d53Smrg	-utek*)
141050806d53Smrg		os=-bsd
141150806d53Smrg		;;
141250806d53Smrg	-dynix*)
141350806d53Smrg		os=-bsd
141450806d53Smrg		;;
141550806d53Smrg	-acis*)
141650806d53Smrg		os=-aos
141750806d53Smrg		;;
141850806d53Smrg	-atheos*)
141950806d53Smrg		os=-atheos
142050806d53Smrg		;;
14217965d9acSmrg	-syllable*)
14227965d9acSmrg		os=-syllable
14237965d9acSmrg		;;
142450806d53Smrg	-386bsd)
142550806d53Smrg		os=-bsd
142650806d53Smrg		;;
142750806d53Smrg	-ctix* | -uts*)
142850806d53Smrg		os=-sysv
142950806d53Smrg		;;
143050806d53Smrg	-nova*)
143150806d53Smrg		os=-rtmk-nova
143250806d53Smrg		;;
143350806d53Smrg	-ns2 )
143450806d53Smrg		os=-nextstep2
143550806d53Smrg		;;
143650806d53Smrg	-nsk*)
143750806d53Smrg		os=-nsk
143850806d53Smrg		;;
143950806d53Smrg	# Preserve the version number of sinix5.
144050806d53Smrg	-sinix5.*)
144150806d53Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144250806d53Smrg		;;
144350806d53Smrg	-sinix*)
144450806d53Smrg		os=-sysv4
144550806d53Smrg		;;
1446a73423d7Smrg	-tpf*)
14477965d9acSmrg		os=-tpf
14487965d9acSmrg		;;
144950806d53Smrg	-triton*)
145050806d53Smrg		os=-sysv3
145150806d53Smrg		;;
145250806d53Smrg	-oss*)
145350806d53Smrg		os=-sysv3
145450806d53Smrg		;;
145550806d53Smrg	-svr4)
145650806d53Smrg		os=-sysv4
145750806d53Smrg		;;
145850806d53Smrg	-svr3)
145950806d53Smrg		os=-sysv3
146050806d53Smrg		;;
146150806d53Smrg	-sysvr4)
146250806d53Smrg		os=-sysv4
146350806d53Smrg		;;
146450806d53Smrg	# This must come after -sysvr4.
146550806d53Smrg	-sysv*)
146650806d53Smrg		;;
146750806d53Smrg	-ose*)
146850806d53Smrg		os=-ose
146950806d53Smrg		;;
147050806d53Smrg	-es1800*)
147150806d53Smrg		os=-ose
147250806d53Smrg		;;
147350806d53Smrg	-xenix)
147450806d53Smrg		os=-xenix
147550806d53Smrg		;;
147650806d53Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147750806d53Smrg		os=-mint
147850806d53Smrg		;;
147950806d53Smrg	-aros*)
148050806d53Smrg		os=-aros
148150806d53Smrg		;;
148250806d53Smrg	-kaos*)
148350806d53Smrg		os=-kaos
148450806d53Smrg		;;
14857965d9acSmrg	-zvmoe)
14867965d9acSmrg		os=-zvmoe
14877965d9acSmrg		;;
1488b3e38ee4Smrg	-dicos*)
1489b3e38ee4Smrg		os=-dicos
1490b3e38ee4Smrg		;;
1491a73423d7Smrg	-nacl*)
1492a73423d7Smrg		;;
149350806d53Smrg	-none)
149450806d53Smrg		;;
149550806d53Smrg	*)
149650806d53Smrg		# Get rid of the `-' at the beginning of $os.
149750806d53Smrg		os=`echo $os | sed 's/[^-]*-//'`
149850806d53Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
149950806d53Smrg		exit 1
150050806d53Smrg		;;
150150806d53Smrgesac
150250806d53Smrgelse
150350806d53Smrg
150450806d53Smrg# Here we handle the default operating systems that come with various machines.
150550806d53Smrg# The value should be what the vendor currently ships out the door with their
150650806d53Smrg# machine or put another way, the most popular os provided with the machine.
150750806d53Smrg
150850806d53Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
150950806d53Smrg# "-sun"), then you have to tell the case statement up towards the top
151050806d53Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151150806d53Smrg# will signal an error saying that MANUFACTURER isn't an operating
151250806d53Smrg# system, and we'll never get to this point.
151350806d53Smrg
151450806d53Smrgcase $basic_machine in
1515a73423d7Smrg	score-*)
15167965d9acSmrg		os=-elf
15177965d9acSmrg		;;
1518a73423d7Smrg	spu-*)
15197965d9acSmrg		os=-elf
15207965d9acSmrg		;;
152150806d53Smrg	*-acorn)
152250806d53Smrg		os=-riscix1.2
152350806d53Smrg		;;
152450806d53Smrg	arm*-rebel)
152550806d53Smrg		os=-linux
152650806d53Smrg		;;
152750806d53Smrg	arm*-semi)
152850806d53Smrg		os=-aout
152950806d53Smrg		;;
1530a73423d7Smrg	c4x-* | tic4x-*)
1531a73423d7Smrg		os=-coff
1532a73423d7Smrg		;;
1533a73423d7Smrg	tic54x-*)
1534a73423d7Smrg		os=-coff
1535a73423d7Smrg		;;
1536a73423d7Smrg	tic55x-*)
1537a73423d7Smrg		os=-coff
1538a73423d7Smrg		;;
1539a73423d7Smrg	tic6x-*)
1540a73423d7Smrg		os=-coff
154150806d53Smrg		;;
154250806d53Smrg	# This must come before the *-dec entry.
154350806d53Smrg	pdp10-*)
154450806d53Smrg		os=-tops20
154550806d53Smrg		;;
154650806d53Smrg	pdp11-*)
154750806d53Smrg		os=-none
154850806d53Smrg		;;
154950806d53Smrg	*-dec | vax-*)
155050806d53Smrg		os=-ultrix4.2
155150806d53Smrg		;;
155250806d53Smrg	m68*-apollo)
155350806d53Smrg		os=-domain
155450806d53Smrg		;;
155550806d53Smrg	i386-sun)
155650806d53Smrg		os=-sunos4.0.2
155750806d53Smrg		;;
155850806d53Smrg	m68000-sun)
155950806d53Smrg		os=-sunos3
156050806d53Smrg		;;
156150806d53Smrg	m68*-cisco)
156250806d53Smrg		os=-aout
156350806d53Smrg		;;
1564a73423d7Smrg	mep-*)
15657965d9acSmrg		os=-elf
15667965d9acSmrg		;;
156750806d53Smrg	mips*-cisco)
156850806d53Smrg		os=-elf
156950806d53Smrg		;;
157050806d53Smrg	mips*-*)
157150806d53Smrg		os=-elf
157250806d53Smrg		;;
157350806d53Smrg	or32-*)
157450806d53Smrg		os=-coff
157550806d53Smrg		;;
157650806d53Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
157750806d53Smrg		os=-sysv3
157850806d53Smrg		;;
157950806d53Smrg	sparc-* | *-sun)
158050806d53Smrg		os=-sunos4.1.1
158150806d53Smrg		;;
158250806d53Smrg	*-be)
158350806d53Smrg		os=-beos
158450806d53Smrg		;;
15857965d9acSmrg	*-haiku)
15867965d9acSmrg		os=-haiku
15877965d9acSmrg		;;
158850806d53Smrg	*-ibm)
158950806d53Smrg		os=-aix
159050806d53Smrg		;;
1591a73423d7Smrg	*-knuth)
15927965d9acSmrg		os=-mmixware
15937965d9acSmrg		;;
159450806d53Smrg	*-wec)
159550806d53Smrg		os=-proelf
159650806d53Smrg		;;
159750806d53Smrg	*-winbond)
159850806d53Smrg		os=-proelf
159950806d53Smrg		;;
160050806d53Smrg	*-oki)
160150806d53Smrg		os=-proelf
160250806d53Smrg		;;
160350806d53Smrg	*-hp)
160450806d53Smrg		os=-hpux
160550806d53Smrg		;;
160650806d53Smrg	*-hitachi)
160750806d53Smrg		os=-hiux
160850806d53Smrg		;;
160950806d53Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161050806d53Smrg		os=-sysv
161150806d53Smrg		;;
161250806d53Smrg	*-cbm)
161350806d53Smrg		os=-amigaos
161450806d53Smrg		;;
161550806d53Smrg	*-dg)
161650806d53Smrg		os=-dgux
161750806d53Smrg		;;
161850806d53Smrg	*-dolphin)
161950806d53Smrg		os=-sysv3
162050806d53Smrg		;;
162150806d53Smrg	m68k-ccur)
162250806d53Smrg		os=-rtu
162350806d53Smrg		;;
162450806d53Smrg	m88k-omron*)
162550806d53Smrg		os=-luna
162650806d53Smrg		;;
162750806d53Smrg	*-next )
162850806d53Smrg		os=-nextstep
162950806d53Smrg		;;
163050806d53Smrg	*-sequent)
163150806d53Smrg		os=-ptx
163250806d53Smrg		;;
163350806d53Smrg	*-crds)
163450806d53Smrg		os=-unos
163550806d53Smrg		;;
163650806d53Smrg	*-ns)
163750806d53Smrg		os=-genix
163850806d53Smrg		;;
163950806d53Smrg	i370-*)
164050806d53Smrg		os=-mvs
164150806d53Smrg		;;
164250806d53Smrg	*-next)
164350806d53Smrg		os=-nextstep3
164450806d53Smrg		;;
164550806d53Smrg	*-gould)
164650806d53Smrg		os=-sysv
164750806d53Smrg		;;
164850806d53Smrg	*-highlevel)
164950806d53Smrg		os=-bsd
165050806d53Smrg		;;
165150806d53Smrg	*-encore)
165250806d53Smrg		os=-bsd
165350806d53Smrg		;;
165450806d53Smrg	*-sgi)
165550806d53Smrg		os=-irix
165650806d53Smrg		;;
165750806d53Smrg	*-siemens)
165850806d53Smrg		os=-sysv4
165950806d53Smrg		;;
166050806d53Smrg	*-masscomp)
166150806d53Smrg		os=-rtu
166250806d53Smrg		;;
166350806d53Smrg	f30[01]-fujitsu | f700-fujitsu)
166450806d53Smrg		os=-uxpv
166550806d53Smrg		;;
166650806d53Smrg	*-rom68k)
166750806d53Smrg		os=-coff
166850806d53Smrg		;;
166950806d53Smrg	*-*bug)
167050806d53Smrg		os=-coff
167150806d53Smrg		;;
167250806d53Smrg	*-apple)
167350806d53Smrg		os=-macos
167450806d53Smrg		;;
167550806d53Smrg	*-atari*)
167650806d53Smrg		os=-mint
167750806d53Smrg		;;
167850806d53Smrg	*)
167950806d53Smrg		os=-none
168050806d53Smrg		;;
168150806d53Smrgesac
168250806d53Smrgfi
168350806d53Smrg
168450806d53Smrg# Here we handle the case where we know the os, and the CPU type, but not the
168550806d53Smrg# manufacturer.  We pick the logical manufacturer.
168650806d53Smrgvendor=unknown
168750806d53Smrgcase $basic_machine in
168850806d53Smrg	*-unknown)
168950806d53Smrg		case $os in
169050806d53Smrg			-riscix*)
169150806d53Smrg				vendor=acorn
169250806d53Smrg				;;
169350806d53Smrg			-sunos*)
169450806d53Smrg				vendor=sun
169550806d53Smrg				;;
1696a73423d7Smrg			-cnk*|-aix*)
169750806d53Smrg				vendor=ibm
169850806d53Smrg				;;
169950806d53Smrg			-beos*)
170050806d53Smrg				vendor=be
170150806d53Smrg				;;
170250806d53Smrg			-hpux*)
170350806d53Smrg				vendor=hp
170450806d53Smrg				;;
170550806d53Smrg			-mpeix*)
170650806d53Smrg				vendor=hp
170750806d53Smrg				;;
170850806d53Smrg			-hiux*)
170950806d53Smrg				vendor=hitachi
171050806d53Smrg				;;
171150806d53Smrg			-unos*)
171250806d53Smrg				vendor=crds
171350806d53Smrg				;;
171450806d53Smrg			-dgux*)
171550806d53Smrg				vendor=dg
171650806d53Smrg				;;
171750806d53Smrg			-luna*)
171850806d53Smrg				vendor=omron
171950806d53Smrg				;;
172050806d53Smrg			-genix*)
172150806d53Smrg				vendor=ns
172250806d53Smrg				;;
172350806d53Smrg			-mvs* | -opened*)
172450806d53Smrg				vendor=ibm
172550806d53Smrg				;;
17267965d9acSmrg			-os400*)
17277965d9acSmrg				vendor=ibm
17287965d9acSmrg				;;
172950806d53Smrg			-ptx*)
173050806d53Smrg				vendor=sequent
173150806d53Smrg				;;
17327965d9acSmrg			-tpf*)
17337965d9acSmrg				vendor=ibm
17347965d9acSmrg				;;
173550806d53Smrg			-vxsim* | -vxworks* | -windiss*)
173650806d53Smrg				vendor=wrs
173750806d53Smrg				;;
173850806d53Smrg			-aux*)
173950806d53Smrg				vendor=apple
174050806d53Smrg				;;
174150806d53Smrg			-hms*)
174250806d53Smrg				vendor=hitachi
174350806d53Smrg				;;
174450806d53Smrg			-mpw* | -macos*)
174550806d53Smrg				vendor=apple
174650806d53Smrg				;;
174750806d53Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
174850806d53Smrg				vendor=atari
174950806d53Smrg				;;
175050806d53Smrg			-vos*)
175150806d53Smrg				vendor=stratus
175250806d53Smrg				;;
175350806d53Smrg		esac
175450806d53Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
175550806d53Smrg		;;
175650806d53Smrgesac
175750806d53Smrg
175850806d53Smrgecho $basic_machine$os
17597965d9acSmrgexit
176050806d53Smrg
176150806d53Smrg# Local variables:
176250806d53Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176350806d53Smrg# time-stamp-start: "timestamp='"
176450806d53Smrg# time-stamp-format: "%:y-%02m-%02d"
176550806d53Smrg# time-stamp-end: "'"
176650806d53Smrg# End:
1767