config.sub revision 6dbd43aa
167f05d30Smrg#! /bin/sh
267f05d30Smrg# Configuration validation subroutine script.
367f05d30Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
46dbd43aaSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
56dbd43aaSmrg#   2011 Free Software Foundation, Inc.
667f05d30Smrg
76dbd43aaSmrgtimestamp='2011-11-11'
867f05d30Smrg
967f05d30Smrg# This file is (in principle) common to ALL GNU software.
1067f05d30Smrg# The presence of a machine in this file suggests that SOME GNU software
1167f05d30Smrg# can handle that machine.  It does not imply ALL GNU software can.
1267f05d30Smrg#
1367f05d30Smrg# This file is free software; you can redistribute it and/or modify
1467f05d30Smrg# it under the terms of the GNU General Public License as published by
1567f05d30Smrg# the Free Software Foundation; either version 2 of the License, or
1667f05d30Smrg# (at your option) any later version.
1767f05d30Smrg#
1867f05d30Smrg# This program is distributed in the hope that it will be useful,
1967f05d30Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2067f05d30Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2167f05d30Smrg# GNU General Public License for more details.
2267f05d30Smrg#
2367f05d30Smrg# You should have received a copy of the GNU General Public License
2467f05d30Smrg# along with this program; if not, write to the Free Software
25fffe5102Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26fffe5102Smrg# 02110-1301, USA.
27fffe5102Smrg#
2867f05d30Smrg# As a special exception to the GNU General Public License, if you
2967f05d30Smrg# distribute this file as part of a program that contains a
3067f05d30Smrg# configuration script generated by Autoconf, you may include it under
3167f05d30Smrg# the same distribution terms that you use for the rest of that program.
3267f05d30Smrg
33fffe5102Smrg
3467f05d30Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35fffe5102Smrg# diff and a properly formatted GNU ChangeLog entry.
3667f05d30Smrg#
3767f05d30Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3867f05d30Smrg# Supply the specified configuration type as an argument.
3967f05d30Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4067f05d30Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4167f05d30Smrg
42fffe5102Smrg# You can get the latest version of this script from:
43fffe5102Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44fffe5102Smrg
4567f05d30Smrg# This file is supposed to be the same for all GNU packages
4667f05d30Smrg# and recognize all the CPU types, system types and aliases
4767f05d30Smrg# that are meaningful with *any* GNU software.
4867f05d30Smrg# Each package is responsible for reporting which valid configurations
4967f05d30Smrg# it does not support.  The user should be able to distinguish
5067f05d30Smrg# a failure to support a valid configuration from a meaningless
5167f05d30Smrg# configuration.
5267f05d30Smrg
5367f05d30Smrg# The goal of this file is to map all the various variations of a given
5467f05d30Smrg# machine specification into a single specification in the form:
5567f05d30Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5667f05d30Smrg# or in some cases, the newer four-part form:
5767f05d30Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5867f05d30Smrg# It is wrong to echo any other type of specification.
5967f05d30Smrg
6067f05d30Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6167f05d30Smrg
6267f05d30Smrgusage="\
6367f05d30SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6467f05d30Smrg       $0 [OPTION] ALIAS
6567f05d30Smrg
6667f05d30SmrgCanonicalize a configuration name.
6767f05d30Smrg
6867f05d30SmrgOperation modes:
6967f05d30Smrg  -h, --help         print this help, then exit
7067f05d30Smrg  -t, --time-stamp   print date of last modification, then exit
7167f05d30Smrg  -v, --version      print version number, then exit
7267f05d30Smrg
7367f05d30SmrgReport bugs and patches to <config-patches@gnu.org>."
7467f05d30Smrg
7567f05d30Smrgversion="\
7667f05d30SmrgGNU config.sub ($timestamp)
7767f05d30Smrg
78fc51f767SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
796dbd43aaSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
80fc51f767SmrgSoftware Foundation, Inc.
8167f05d30Smrg
8267f05d30SmrgThis is free software; see the source for copying conditions.  There is NO
8367f05d30Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8467f05d30Smrg
8567f05d30Smrghelp="
8667f05d30SmrgTry \`$me --help' for more information."
8767f05d30Smrg
8867f05d30Smrg# Parse command line
8967f05d30Smrgwhile test $# -gt 0 ; do
9067f05d30Smrg  case $1 in
9167f05d30Smrg    --time-stamp | --time* | -t )
92fffe5102Smrg       echo "$timestamp" ; exit ;;
9367f05d30Smrg    --version | -v )
94fffe5102Smrg       echo "$version" ; exit ;;
9567f05d30Smrg    --help | --h* | -h )
96fffe5102Smrg       echo "$usage"; exit ;;
9767f05d30Smrg    -- )     # Stop option processing
9867f05d30Smrg       shift; break ;;
9967f05d30Smrg    - )	# Use stdin as input.
10067f05d30Smrg       break ;;
10167f05d30Smrg    -* )
10267f05d30Smrg       echo "$me: invalid option $1$help"
10367f05d30Smrg       exit 1 ;;
10467f05d30Smrg
10567f05d30Smrg    *local*)
10667f05d30Smrg       # First pass through any local machine types.
10767f05d30Smrg       echo $1
108fffe5102Smrg       exit ;;
10967f05d30Smrg
11067f05d30Smrg    * )
11167f05d30Smrg       break ;;
11267f05d30Smrg  esac
11367f05d30Smrgdone
11467f05d30Smrg
11567f05d30Smrgcase $# in
11667f05d30Smrg 0) echo "$me: missing argument$help" >&2
11767f05d30Smrg    exit 1;;
11867f05d30Smrg 1) ;;
11967f05d30Smrg *) echo "$me: too many arguments$help" >&2
12067f05d30Smrg    exit 1;;
12167f05d30Smrgesac
12267f05d30Smrg
12367f05d30Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12467f05d30Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12567f05d30Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12667f05d30Smrgcase $maybe_os in
127fc51f767Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128fc51f767Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129fc51f767Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130fffe5102Smrg  kopensolaris*-gnu* | \
131fffe5102Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13267f05d30Smrg    os=-$maybe_os
13367f05d30Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13467f05d30Smrg    ;;
13567f05d30Smrg  *)
13667f05d30Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13767f05d30Smrg    if [ $basic_machine != $1 ]
13867f05d30Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13967f05d30Smrg    else os=; fi
14067f05d30Smrg    ;;
14167f05d30Smrgesac
14267f05d30Smrg
14367f05d30Smrg### Let's recognize common machines as not being operating systems so
14467f05d30Smrg### that things like config.sub decstation-3100 work.  We also
14567f05d30Smrg### recognize some manufacturers as not being operating systems, so we
14667f05d30Smrg### can provide default operating systems below.
14767f05d30Smrgcase $os in
14867f05d30Smrg	-sun*os*)
14967f05d30Smrg		# Prevent following clause from handling this invalid input.
15067f05d30Smrg		;;
15167f05d30Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15267f05d30Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15367f05d30Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15467f05d30Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15567f05d30Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15667f05d30Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157fffe5102Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15867f05d30Smrg		os=
15967f05d30Smrg		basic_machine=$1
16067f05d30Smrg		;;
1616dbd43aaSmrg	-bluegene*)
1626dbd43aaSmrg		os=-cnk
163fffe5102Smrg		;;
16467f05d30Smrg	-sim | -cisco | -oki | -wec | -winbond)
16567f05d30Smrg		os=
16667f05d30Smrg		basic_machine=$1
16767f05d30Smrg		;;
16867f05d30Smrg	-scout)
16967f05d30Smrg		;;
17067f05d30Smrg	-wrs)
17167f05d30Smrg		os=-vxworks
17267f05d30Smrg		basic_machine=$1
17367f05d30Smrg		;;
17467f05d30Smrg	-chorusos*)
17567f05d30Smrg		os=-chorusos
17667f05d30Smrg		basic_machine=$1
17767f05d30Smrg		;;
1786dbd43aaSmrg	-chorusrdb)
1796dbd43aaSmrg		os=-chorusrdb
18067f05d30Smrg		basic_machine=$1
1816dbd43aaSmrg		;;
18267f05d30Smrg	-hiux*)
18367f05d30Smrg		os=-hiuxwe2
18467f05d30Smrg		;;
185fffe5102Smrg	-sco6)
186fffe5102Smrg		os=-sco5v6
187fffe5102Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188fffe5102Smrg		;;
18967f05d30Smrg	-sco5)
19067f05d30Smrg		os=-sco3.2v5
19167f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19267f05d30Smrg		;;
19367f05d30Smrg	-sco4)
19467f05d30Smrg		os=-sco3.2v4
19567f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19667f05d30Smrg		;;
19767f05d30Smrg	-sco3.2.[4-9]*)
19867f05d30Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19967f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20067f05d30Smrg		;;
20167f05d30Smrg	-sco3.2v[4-9]*)
20267f05d30Smrg		# Don't forget version if it is 3.2v4 or newer.
20367f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20467f05d30Smrg		;;
205fffe5102Smrg	-sco5v6*)
206fffe5102Smrg		# Don't forget version if it is 3.2v4 or newer.
207fffe5102Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208fffe5102Smrg		;;
20967f05d30Smrg	-sco*)
21067f05d30Smrg		os=-sco3.2v2
21167f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21267f05d30Smrg		;;
21367f05d30Smrg	-udk*)
21467f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21567f05d30Smrg		;;
21667f05d30Smrg	-isc)
21767f05d30Smrg		os=-isc2.2
21867f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21967f05d30Smrg		;;
22067f05d30Smrg	-clix*)
22167f05d30Smrg		basic_machine=clipper-intergraph
22267f05d30Smrg		;;
22367f05d30Smrg	-isc*)
22467f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22567f05d30Smrg		;;
22667f05d30Smrg	-lynx*)
22767f05d30Smrg		os=-lynxos
22867f05d30Smrg		;;
22967f05d30Smrg	-ptx*)
23067f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23167f05d30Smrg		;;
23267f05d30Smrg	-windowsnt*)
23367f05d30Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23467f05d30Smrg		;;
23567f05d30Smrg	-psos*)
23667f05d30Smrg		os=-psos
23767f05d30Smrg		;;
23867f05d30Smrg	-mint | -mint[0-9]*)
23967f05d30Smrg		basic_machine=m68k-atari
24067f05d30Smrg		os=-mint
24167f05d30Smrg		;;
24267f05d30Smrgesac
24367f05d30Smrg
24467f05d30Smrg# Decode aliases for certain CPU-COMPANY combinations.
24567f05d30Smrgcase $basic_machine in
24667f05d30Smrg	# Recognize the basic CPU types without company name.
24767f05d30Smrg	# Some are omitted here because they have special meanings below.
24867f05d30Smrg	1750a | 580 \
24967f05d30Smrg	| a29k \
25067f05d30Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25167f05d30Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252fffe5102Smrg	| am33_2.0 \
253fffe5102Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2546dbd43aaSmrg        | be32 | be64 \
255fffe5102Smrg	| bfin \
25667f05d30Smrg	| c4x | clipper \
25767f05d30Smrg	| d10v | d30v | dlx | dsp16xx \
2586dbd43aaSmrg	| epiphany \
259fffe5102Smrg	| fido | fr30 | frv \
26067f05d30Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2616dbd43aaSmrg	| hexagon \
26267f05d30Smrg	| i370 | i860 | i960 | ia64 \
263fffe5102Smrg	| ip2k | iq2000 \
2646dbd43aaSmrg	| le32 | le64 \
265fffe5102Smrg	| lm32 \
266fffe5102Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267fffe5102Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26867f05d30Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26967f05d30Smrg	| mips16 \
27067f05d30Smrg	| mips64 | mips64el \
271fffe5102Smrg	| mips64octeon | mips64octeonel \
27267f05d30Smrg	| mips64orion | mips64orionel \
273fffe5102Smrg	| mips64r5900 | mips64r5900el \
274fffe5102Smrg	| mips64vr | mips64vrel \
27567f05d30Smrg	| mips64vr4100 | mips64vr4100el \
27667f05d30Smrg	| mips64vr4300 | mips64vr4300el \
27767f05d30Smrg	| mips64vr5000 | mips64vr5000el \
278fffe5102Smrg	| mips64vr5900 | mips64vr5900el \
27967f05d30Smrg	| mipsisa32 | mipsisa32el \
28067f05d30Smrg	| mipsisa32r2 | mipsisa32r2el \
28167f05d30Smrg	| mipsisa64 | mipsisa64el \
282fffe5102Smrg	| mipsisa64r2 | mipsisa64r2el \
28367f05d30Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28467f05d30Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28567f05d30Smrg	| mipstx39 | mipstx39el \
28667f05d30Smrg	| mn10200 | mn10300 \
287fffe5102Smrg	| moxie \
288fffe5102Smrg	| mt \
28967f05d30Smrg	| msp430 \
290fc51f767Smrg	| nds32 | nds32le | nds32be \
291fffe5102Smrg	| nios | nios2 \
29267f05d30Smrg	| ns16k | ns32k \
2936dbd43aaSmrg	| open8 \
294fffe5102Smrg	| or32 \
29567f05d30Smrg	| pdp10 | pdp11 | pj | pjl \
2966dbd43aaSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29767f05d30Smrg	| pyramid \
2986dbd43aaSmrg	| rl78 | rx \
299fffe5102Smrg	| score \
300fffe5102Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30167f05d30Smrg	| sh64 | sh64le \
302fffe5102Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303fffe5102Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3046dbd43aaSmrg	| spu \
3056dbd43aaSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306fffe5102Smrg	| ubicom32 \
3076dbd43aaSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30867f05d30Smrg	| we32k \
3096dbd43aaSmrg	| x86 | xc16x | xstormy16 | xtensa \
310fffe5102Smrg	| z8k | z80)
31167f05d30Smrg		basic_machine=$basic_machine-unknown
31267f05d30Smrg		;;
313fc51f767Smrg	c54x)
314fc51f767Smrg		basic_machine=tic54x-unknown
315fc51f767Smrg		;;
316fc51f767Smrg	c55x)
317fc51f767Smrg		basic_machine=tic55x-unknown
318fc51f767Smrg		;;
319fc51f767Smrg	c6x)
320fc51f767Smrg		basic_machine=tic6x-unknown
321fc51f767Smrg		;;
322fffe5102Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32367f05d30Smrg		# Motorola 68HC11/12.
32467f05d30Smrg		basic_machine=$basic_machine-unknown
32567f05d30Smrg		os=-none
32667f05d30Smrg		;;
32767f05d30Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32867f05d30Smrg		;;
329fffe5102Smrg	ms1)
330fffe5102Smrg		basic_machine=mt-unknown
331fffe5102Smrg		;;
33267f05d30Smrg
3336dbd43aaSmrg	strongarm | thumb | xscale)
3346dbd43aaSmrg		basic_machine=arm-unknown
3356dbd43aaSmrg		;;
3366dbd43aaSmrg
3376dbd43aaSmrg	xscaleeb)
3386dbd43aaSmrg		basic_machine=armeb-unknown
3396dbd43aaSmrg		;;
3406dbd43aaSmrg
3416dbd43aaSmrg	xscaleel)
3426dbd43aaSmrg		basic_machine=armel-unknown
3436dbd43aaSmrg		;;
3446dbd43aaSmrg
34567f05d30Smrg	# We use `pc' rather than `unknown'
34667f05d30Smrg	# because (1) that's what they normally are, and
34767f05d30Smrg	# (2) the word "unknown" tends to confuse beginning users.
34867f05d30Smrg	i*86 | x86_64)
34967f05d30Smrg	  basic_machine=$basic_machine-pc
35067f05d30Smrg	  ;;
35167f05d30Smrg	# Object if more than one company name word.
35267f05d30Smrg	*-*-*)
35367f05d30Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35467f05d30Smrg		exit 1
35567f05d30Smrg		;;
35667f05d30Smrg	# Recognize the basic CPU types with company name.
35767f05d30Smrg	580-* \
35867f05d30Smrg	| a29k-* \
35967f05d30Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36067f05d30Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36167f05d30Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36267f05d30Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
363fffe5102Smrg	| avr-* | avr32-* \
3646dbd43aaSmrg	| be32-* | be64-* \
365fffe5102Smrg	| bfin-* | bs2000-* \
366fc51f767Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
367fffe5102Smrg	| clipper-* | craynv-* | cydra-* \
36867f05d30Smrg	| d10v-* | d30v-* | dlx-* \
36967f05d30Smrg	| elxsi-* \
370fffe5102Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37167f05d30Smrg	| h8300-* | h8500-* \
37267f05d30Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3736dbd43aaSmrg	| hexagon-* \
37467f05d30Smrg	| i*86-* | i860-* | i960-* | ia64-* \
375fffe5102Smrg	| ip2k-* | iq2000-* \
3766dbd43aaSmrg	| le32-* | le64-* \
377fffe5102Smrg	| lm32-* \
378fffe5102Smrg	| m32c-* | m32r-* | m32rle-* \
37967f05d30Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
380fffe5102Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38167f05d30Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38267f05d30Smrg	| mips16-* \
38367f05d30Smrg	| mips64-* | mips64el-* \
384fffe5102Smrg	| mips64octeon-* | mips64octeonel-* \
38567f05d30Smrg	| mips64orion-* | mips64orionel-* \
386fffe5102Smrg	| mips64r5900-* | mips64r5900el-* \
387fffe5102Smrg	| mips64vr-* | mips64vrel-* \
38867f05d30Smrg	| mips64vr4100-* | mips64vr4100el-* \
38967f05d30Smrg	| mips64vr4300-* | mips64vr4300el-* \
39067f05d30Smrg	| mips64vr5000-* | mips64vr5000el-* \
391fffe5102Smrg	| mips64vr5900-* | mips64vr5900el-* \
39267f05d30Smrg	| mipsisa32-* | mipsisa32el-* \
39367f05d30Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39467f05d30Smrg	| mipsisa64-* | mipsisa64el-* \
395fffe5102Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39667f05d30Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39767f05d30Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39867f05d30Smrg	| mipstx39-* | mipstx39el-* \
399fffe5102Smrg	| mmix-* \
400fffe5102Smrg	| mt-* \
40167f05d30Smrg	| msp430-* \
402fc51f767Smrg	| nds32-* | nds32le-* | nds32be-* \
403fffe5102Smrg	| nios-* | nios2-* \
404fffe5102Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4056dbd43aaSmrg	| open8-* \
40667f05d30Smrg	| orion-* \
40767f05d30Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4086dbd43aaSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40967f05d30Smrg	| pyramid-* \
4106dbd43aaSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
411fffe5102Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41267f05d30Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
413fffe5102Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
414fffe5102Smrg	| sparclite-* \
4156dbd43aaSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4166dbd43aaSmrg	| tahoe-* \
417fc51f767Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4186dbd43aaSmrg	| tile*-* \
41967f05d30Smrg	| tron-* \
420fffe5102Smrg	| ubicom32-* \
4216dbd43aaSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4226dbd43aaSmrg	| vax-* \
42367f05d30Smrg	| we32k-* \
4246dbd43aaSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425fffe5102Smrg	| xstormy16-* | xtensa*-* \
42667f05d30Smrg	| ymp-* \
427fffe5102Smrg	| z8k-* | z80-*)
428fffe5102Smrg		;;
429fffe5102Smrg	# Recognize the basic CPU types without company name, with glob match.
430fffe5102Smrg	xtensa*)
431fffe5102Smrg		basic_machine=$basic_machine-unknown
43267f05d30Smrg		;;
43367f05d30Smrg	# Recognize the various machine names and aliases which stand
43467f05d30Smrg	# for a CPU type and a company and sometimes even an OS.
43567f05d30Smrg	386bsd)
43667f05d30Smrg		basic_machine=i386-unknown
43767f05d30Smrg		os=-bsd
43867f05d30Smrg		;;
43967f05d30Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
44067f05d30Smrg		basic_machine=m68000-att
44167f05d30Smrg		;;
44267f05d30Smrg	3b*)
44367f05d30Smrg		basic_machine=we32k-att
44467f05d30Smrg		;;
44567f05d30Smrg	a29khif)
44667f05d30Smrg		basic_machine=a29k-amd
44767f05d30Smrg		os=-udi
44867f05d30Smrg		;;
4496dbd43aaSmrg	abacus)
450fffe5102Smrg		basic_machine=abacus-unknown
451fffe5102Smrg		;;
45267f05d30Smrg	adobe68k)
45367f05d30Smrg		basic_machine=m68010-adobe
45467f05d30Smrg		os=-scout
45567f05d30Smrg		;;
45667f05d30Smrg	alliant | fx80)
45767f05d30Smrg		basic_machine=fx80-alliant
45867f05d30Smrg		;;
45967f05d30Smrg	altos | altos3068)
46067f05d30Smrg		basic_machine=m68k-altos
46167f05d30Smrg		;;
46267f05d30Smrg	am29k)
46367f05d30Smrg		basic_machine=a29k-none
46467f05d30Smrg		os=-bsd
46567f05d30Smrg		;;
46667f05d30Smrg	amd64)
46767f05d30Smrg		basic_machine=x86_64-pc
46867f05d30Smrg		;;
469fffe5102Smrg	amd64-*)
470fffe5102Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
471fffe5102Smrg		;;
47267f05d30Smrg	amdahl)
47367f05d30Smrg		basic_machine=580-amdahl
47467f05d30Smrg		os=-sysv
47567f05d30Smrg		;;
47667f05d30Smrg	amiga | amiga-*)
47767f05d30Smrg		basic_machine=m68k-unknown
47867f05d30Smrg		;;
47967f05d30Smrg	amigaos | amigados)
48067f05d30Smrg		basic_machine=m68k-unknown
48167f05d30Smrg		os=-amigaos
48267f05d30Smrg		;;
48367f05d30Smrg	amigaunix | amix)
48467f05d30Smrg		basic_machine=m68k-unknown
48567f05d30Smrg		os=-sysv4
48667f05d30Smrg		;;
48767f05d30Smrg	apollo68)
48867f05d30Smrg		basic_machine=m68k-apollo
48967f05d30Smrg		os=-sysv
49067f05d30Smrg		;;
49167f05d30Smrg	apollo68bsd)
49267f05d30Smrg		basic_machine=m68k-apollo
49367f05d30Smrg		os=-bsd
49467f05d30Smrg		;;
495fffe5102Smrg	aros)
496fffe5102Smrg		basic_machine=i386-pc
497fffe5102Smrg		os=-aros
498fffe5102Smrg		;;
49967f05d30Smrg	aux)
50067f05d30Smrg		basic_machine=m68k-apple
50167f05d30Smrg		os=-aux
50267f05d30Smrg		;;
50367f05d30Smrg	balance)
50467f05d30Smrg		basic_machine=ns32k-sequent
50567f05d30Smrg		os=-dynix
50667f05d30Smrg		;;
507fffe5102Smrg	blackfin)
508fffe5102Smrg		basic_machine=bfin-unknown
509fffe5102Smrg		os=-linux
510fffe5102Smrg		;;
511fffe5102Smrg	blackfin-*)
512fffe5102Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513fffe5102Smrg		os=-linux
514fffe5102Smrg		;;
515fffe5102Smrg	bluegene*)
516fffe5102Smrg		basic_machine=powerpc-ibm
517fffe5102Smrg		os=-cnk
518fffe5102Smrg		;;
519fc51f767Smrg	c54x-*)
520fc51f767Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
521fc51f767Smrg		;;
522fc51f767Smrg	c55x-*)
523fc51f767Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
524fc51f767Smrg		;;
525fc51f767Smrg	c6x-*)
526fc51f767Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
527fc51f767Smrg		;;
52867f05d30Smrg	c90)
52967f05d30Smrg		basic_machine=c90-cray
53067f05d30Smrg		os=-unicos
53167f05d30Smrg		;;
5326dbd43aaSmrg	cegcc)
533fffe5102Smrg		basic_machine=arm-unknown
534fffe5102Smrg		os=-cegcc
535fffe5102Smrg		;;
53667f05d30Smrg	convex-c1)
53767f05d30Smrg		basic_machine=c1-convex
53867f05d30Smrg		os=-bsd
53967f05d30Smrg		;;
54067f05d30Smrg	convex-c2)
54167f05d30Smrg		basic_machine=c2-convex
54267f05d30Smrg		os=-bsd
54367f05d30Smrg		;;
54467f05d30Smrg	convex-c32)
54567f05d30Smrg		basic_machine=c32-convex
54667f05d30Smrg		os=-bsd
54767f05d30Smrg		;;
54867f05d30Smrg	convex-c34)
54967f05d30Smrg		basic_machine=c34-convex
55067f05d30Smrg		os=-bsd
55167f05d30Smrg		;;
55267f05d30Smrg	convex-c38)
55367f05d30Smrg		basic_machine=c38-convex
55467f05d30Smrg		os=-bsd
55567f05d30Smrg		;;
55667f05d30Smrg	cray | j90)
55767f05d30Smrg		basic_machine=j90-cray
55867f05d30Smrg		os=-unicos
55967f05d30Smrg		;;
560fffe5102Smrg	craynv)
561fffe5102Smrg		basic_machine=craynv-cray
562fffe5102Smrg		os=-unicosmp
563fffe5102Smrg		;;
5646dbd43aaSmrg	cr16 | cr16-*)
565fffe5102Smrg		basic_machine=cr16-unknown
566fffe5102Smrg		os=-elf
567fffe5102Smrg		;;
56867f05d30Smrg	crds | unos)
56967f05d30Smrg		basic_machine=m68k-crds
57067f05d30Smrg		;;
571fffe5102Smrg	crisv32 | crisv32-* | etraxfs*)
572fffe5102Smrg		basic_machine=crisv32-axis
573fffe5102Smrg		;;
57467f05d30Smrg	cris | cris-* | etrax*)
57567f05d30Smrg		basic_machine=cris-axis
57667f05d30Smrg		;;
577fffe5102Smrg	crx)
578fffe5102Smrg		basic_machine=crx-unknown
579fffe5102Smrg		os=-elf
580fffe5102Smrg		;;
58167f05d30Smrg	da30 | da30-*)
58267f05d30Smrg		basic_machine=m68k-da30
58367f05d30Smrg		;;
58467f05d30Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58567f05d30Smrg		basic_machine=mips-dec
58667f05d30Smrg		;;
58767f05d30Smrg	decsystem10* | dec10*)
58867f05d30Smrg		basic_machine=pdp10-dec
58967f05d30Smrg		os=-tops10
59067f05d30Smrg		;;
59167f05d30Smrg	decsystem20* | dec20*)
59267f05d30Smrg		basic_machine=pdp10-dec
59367f05d30Smrg		os=-tops20
59467f05d30Smrg		;;
59567f05d30Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59667f05d30Smrg	      | 3300-motorola | delta-motorola)
59767f05d30Smrg		basic_machine=m68k-motorola
59867f05d30Smrg		;;
59967f05d30Smrg	delta88)
60067f05d30Smrg		basic_machine=m88k-motorola
60167f05d30Smrg		os=-sysv3
60267f05d30Smrg		;;
603fffe5102Smrg	dicos)
604fffe5102Smrg		basic_machine=i686-pc
605fffe5102Smrg		os=-dicos
606fffe5102Smrg		;;
607fffe5102Smrg	djgpp)
608fffe5102Smrg		basic_machine=i586-pc
609fffe5102Smrg		os=-msdosdjgpp
610fffe5102Smrg		;;
61167f05d30Smrg	dpx20 | dpx20-*)
61267f05d30Smrg		basic_machine=rs6000-bull
61367f05d30Smrg		os=-bosx
61467f05d30Smrg		;;
61567f05d30Smrg	dpx2* | dpx2*-bull)
61667f05d30Smrg		basic_machine=m68k-bull
61767f05d30Smrg		os=-sysv3
61867f05d30Smrg		;;
61967f05d30Smrg	ebmon29k)
62067f05d30Smrg		basic_machine=a29k-amd
62167f05d30Smrg		os=-ebmon
62267f05d30Smrg		;;
62367f05d30Smrg	elxsi)
62467f05d30Smrg		basic_machine=elxsi-elxsi
62567f05d30Smrg		os=-bsd
62667f05d30Smrg		;;
62767f05d30Smrg	encore | umax | mmax)
62867f05d30Smrg		basic_machine=ns32k-encore
62967f05d30Smrg		;;
63067f05d30Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63167f05d30Smrg		basic_machine=m68k-ericsson
63267f05d30Smrg		os=-ose
63367f05d30Smrg		;;
63467f05d30Smrg	fx2800)
63567f05d30Smrg		basic_machine=i860-alliant
63667f05d30Smrg		;;
63767f05d30Smrg	genix)
63867f05d30Smrg		basic_machine=ns32k-ns
63967f05d30Smrg		;;
64067f05d30Smrg	gmicro)
64167f05d30Smrg		basic_machine=tron-gmicro
64267f05d30Smrg		os=-sysv
64367f05d30Smrg		;;
64467f05d30Smrg	go32)
64567f05d30Smrg		basic_machine=i386-pc
64667f05d30Smrg		os=-go32
64767f05d30Smrg		;;
64867f05d30Smrg	h3050r* | hiux*)
64967f05d30Smrg		basic_machine=hppa1.1-hitachi
65067f05d30Smrg		os=-hiuxwe2
65167f05d30Smrg		;;
65267f05d30Smrg	h8300hms)
65367f05d30Smrg		basic_machine=h8300-hitachi
65467f05d30Smrg		os=-hms
65567f05d30Smrg		;;
65667f05d30Smrg	h8300xray)
65767f05d30Smrg		basic_machine=h8300-hitachi
65867f05d30Smrg		os=-xray
65967f05d30Smrg		;;
66067f05d30Smrg	h8500hms)
66167f05d30Smrg		basic_machine=h8500-hitachi
66267f05d30Smrg		os=-hms
66367f05d30Smrg		;;
66467f05d30Smrg	harris)
66567f05d30Smrg		basic_machine=m88k-harris
66667f05d30Smrg		os=-sysv3
66767f05d30Smrg		;;
66867f05d30Smrg	hp300-*)
66967f05d30Smrg		basic_machine=m68k-hp
67067f05d30Smrg		;;
67167f05d30Smrg	hp300bsd)
67267f05d30Smrg		basic_machine=m68k-hp
67367f05d30Smrg		os=-bsd
67467f05d30Smrg		;;
67567f05d30Smrg	hp300hpux)
67667f05d30Smrg		basic_machine=m68k-hp
67767f05d30Smrg		os=-hpux
67867f05d30Smrg		;;
67967f05d30Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
68067f05d30Smrg		basic_machine=hppa1.0-hp
68167f05d30Smrg		;;
68267f05d30Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68367f05d30Smrg		basic_machine=m68000-hp
68467f05d30Smrg		;;
68567f05d30Smrg	hp9k3[2-9][0-9])
68667f05d30Smrg		basic_machine=m68k-hp
68767f05d30Smrg		;;
68867f05d30Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68967f05d30Smrg		basic_machine=hppa1.0-hp
69067f05d30Smrg		;;
69167f05d30Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69267f05d30Smrg		basic_machine=hppa1.1-hp
69367f05d30Smrg		;;
69467f05d30Smrg	hp9k78[0-9] | hp78[0-9])
69567f05d30Smrg		# FIXME: really hppa2.0-hp
69667f05d30Smrg		basic_machine=hppa1.1-hp
69767f05d30Smrg		;;
69867f05d30Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69967f05d30Smrg		# FIXME: really hppa2.0-hp
70067f05d30Smrg		basic_machine=hppa1.1-hp
70167f05d30Smrg		;;
70267f05d30Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70367f05d30Smrg		basic_machine=hppa1.1-hp
70467f05d30Smrg		;;
70567f05d30Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70667f05d30Smrg		basic_machine=hppa1.0-hp
70767f05d30Smrg		;;
70867f05d30Smrg	hppa-next)
70967f05d30Smrg		os=-nextstep3
71067f05d30Smrg		;;
71167f05d30Smrg	hppaosf)
71267f05d30Smrg		basic_machine=hppa1.1-hp
71367f05d30Smrg		os=-osf
71467f05d30Smrg		;;
71567f05d30Smrg	hppro)
71667f05d30Smrg		basic_machine=hppa1.1-hp
71767f05d30Smrg		os=-proelf
71867f05d30Smrg		;;
71967f05d30Smrg	i370-ibm* | ibm*)
72067f05d30Smrg		basic_machine=i370-ibm
72167f05d30Smrg		;;
72267f05d30Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
72367f05d30Smrg	i*86v32)
72467f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72567f05d30Smrg		os=-sysv32
72667f05d30Smrg		;;
72767f05d30Smrg	i*86v4*)
72867f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72967f05d30Smrg		os=-sysv4
73067f05d30Smrg		;;
73167f05d30Smrg	i*86v)
73267f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73367f05d30Smrg		os=-sysv
73467f05d30Smrg		;;
73567f05d30Smrg	i*86sol2)
73667f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73767f05d30Smrg		os=-solaris2
73867f05d30Smrg		;;
73967f05d30Smrg	i386mach)
74067f05d30Smrg		basic_machine=i386-mach
74167f05d30Smrg		os=-mach
74267f05d30Smrg		;;
74367f05d30Smrg	i386-vsta | vsta)
74467f05d30Smrg		basic_machine=i386-unknown
74567f05d30Smrg		os=-vsta
74667f05d30Smrg		;;
74767f05d30Smrg	iris | iris4d)
74867f05d30Smrg		basic_machine=mips-sgi
74967f05d30Smrg		case $os in
75067f05d30Smrg		    -irix*)
75167f05d30Smrg			;;
75267f05d30Smrg		    *)
75367f05d30Smrg			os=-irix4
75467f05d30Smrg			;;
75567f05d30Smrg		esac
75667f05d30Smrg		;;
75767f05d30Smrg	isi68 | isi)
75867f05d30Smrg		basic_machine=m68k-isi
75967f05d30Smrg		os=-sysv
76067f05d30Smrg		;;
761fffe5102Smrg	m68knommu)
762fffe5102Smrg		basic_machine=m68k-unknown
763fffe5102Smrg		os=-linux
764fffe5102Smrg		;;
765fffe5102Smrg	m68knommu-*)
766fffe5102Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767fffe5102Smrg		os=-linux
768fffe5102Smrg		;;
76967f05d30Smrg	m88k-omron*)
77067f05d30Smrg		basic_machine=m88k-omron
77167f05d30Smrg		;;
77267f05d30Smrg	magnum | m3230)
77367f05d30Smrg		basic_machine=mips-mips
77467f05d30Smrg		os=-sysv
77567f05d30Smrg		;;
77667f05d30Smrg	merlin)
77767f05d30Smrg		basic_machine=ns32k-utek
77867f05d30Smrg		os=-sysv
77967f05d30Smrg		;;
7806dbd43aaSmrg	microblaze)
781fffe5102Smrg		basic_machine=microblaze-xilinx
782fffe5102Smrg		;;
78367f05d30Smrg	mingw32)
78467f05d30Smrg		basic_machine=i386-pc
78567f05d30Smrg		os=-mingw32
78667f05d30Smrg		;;
787fffe5102Smrg	mingw32ce)
788fffe5102Smrg		basic_machine=arm-unknown
789fffe5102Smrg		os=-mingw32ce
790fffe5102Smrg		;;
79167f05d30Smrg	miniframe)
79267f05d30Smrg		basic_machine=m68000-convergent
79367f05d30Smrg		;;
79467f05d30Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79567f05d30Smrg		basic_machine=m68k-atari
79667f05d30Smrg		os=-mint
79767f05d30Smrg		;;
79867f05d30Smrg	mips3*-*)
79967f05d30Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
80067f05d30Smrg		;;
80167f05d30Smrg	mips3*)
80267f05d30Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80367f05d30Smrg		;;
80467f05d30Smrg	monitor)
80567f05d30Smrg		basic_machine=m68k-rom68k
80667f05d30Smrg		os=-coff
80767f05d30Smrg		;;
80867f05d30Smrg	morphos)
80967f05d30Smrg		basic_machine=powerpc-unknown
81067f05d30Smrg		os=-morphos
81167f05d30Smrg		;;
81267f05d30Smrg	msdos)
81367f05d30Smrg		basic_machine=i386-pc
81467f05d30Smrg		os=-msdos
81567f05d30Smrg		;;
816fffe5102Smrg	ms1-*)
817fffe5102Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
818fffe5102Smrg		;;
8196dbd43aaSmrg	msys)
8206dbd43aaSmrg		basic_machine=i386-pc
8216dbd43aaSmrg		os=-msys
8226dbd43aaSmrg		;;
82367f05d30Smrg	mvs)
82467f05d30Smrg		basic_machine=i370-ibm
82567f05d30Smrg		os=-mvs
82667f05d30Smrg		;;
8276dbd43aaSmrg	nacl)
8286dbd43aaSmrg		basic_machine=le32-unknown
8296dbd43aaSmrg		os=-nacl
8306dbd43aaSmrg		;;
83167f05d30Smrg	ncr3000)
83267f05d30Smrg		basic_machine=i486-ncr
83367f05d30Smrg		os=-sysv4
83467f05d30Smrg		;;
83567f05d30Smrg	netbsd386)
83667f05d30Smrg		basic_machine=i386-unknown
83767f05d30Smrg		os=-netbsd
83867f05d30Smrg		;;
83967f05d30Smrg	netwinder)
84067f05d30Smrg		basic_machine=armv4l-rebel
84167f05d30Smrg		os=-linux
84267f05d30Smrg		;;
84367f05d30Smrg	news | news700 | news800 | news900)
84467f05d30Smrg		basic_machine=m68k-sony
84567f05d30Smrg		os=-newsos
84667f05d30Smrg		;;
84767f05d30Smrg	news1000)
84867f05d30Smrg		basic_machine=m68030-sony
84967f05d30Smrg		os=-newsos
85067f05d30Smrg		;;
85167f05d30Smrg	news-3600 | risc-news)
85267f05d30Smrg		basic_machine=mips-sony
85367f05d30Smrg		os=-newsos
85467f05d30Smrg		;;
85567f05d30Smrg	necv70)
85667f05d30Smrg		basic_machine=v70-nec
85767f05d30Smrg		os=-sysv
85867f05d30Smrg		;;
85967f05d30Smrg	next | m*-next )
86067f05d30Smrg		basic_machine=m68k-next
86167f05d30Smrg		case $os in
86267f05d30Smrg		    -nextstep* )
86367f05d30Smrg			;;
86467f05d30Smrg		    -ns2*)
86567f05d30Smrg		      os=-nextstep2
86667f05d30Smrg			;;
86767f05d30Smrg		    *)
86867f05d30Smrg		      os=-nextstep3
86967f05d30Smrg			;;
87067f05d30Smrg		esac
87167f05d30Smrg		;;
87267f05d30Smrg	nh3000)
87367f05d30Smrg		basic_machine=m68k-harris
87467f05d30Smrg		os=-cxux
87567f05d30Smrg		;;
87667f05d30Smrg	nh[45]000)
87767f05d30Smrg		basic_machine=m88k-harris
87867f05d30Smrg		os=-cxux
87967f05d30Smrg		;;
88067f05d30Smrg	nindy960)
88167f05d30Smrg		basic_machine=i960-intel
88267f05d30Smrg		os=-nindy
88367f05d30Smrg		;;
88467f05d30Smrg	mon960)
88567f05d30Smrg		basic_machine=i960-intel
88667f05d30Smrg		os=-mon960
88767f05d30Smrg		;;
88867f05d30Smrg	nonstopux)
88967f05d30Smrg		basic_machine=mips-compaq
89067f05d30Smrg		os=-nonstopux
89167f05d30Smrg		;;
89267f05d30Smrg	np1)
89367f05d30Smrg		basic_machine=np1-gould
89467f05d30Smrg		;;
8956dbd43aaSmrg	neo-tandem)
896fc51f767Smrg		basic_machine=neo-tandem
897fc51f767Smrg		;;
8986dbd43aaSmrg	nse-tandem)
899fc51f767Smrg		basic_machine=nse-tandem
900fc51f767Smrg		;;
90167f05d30Smrg	nsr-tandem)
90267f05d30Smrg		basic_machine=nsr-tandem
90367f05d30Smrg		;;
90467f05d30Smrg	op50n-* | op60c-*)
90567f05d30Smrg		basic_machine=hppa1.1-oki
90667f05d30Smrg		os=-proelf
90767f05d30Smrg		;;
908fffe5102Smrg	openrisc | openrisc-*)
90967f05d30Smrg		basic_machine=or32-unknown
910fffe5102Smrg		;;
911fffe5102Smrg	os400)
912fffe5102Smrg		basic_machine=powerpc-ibm
913fffe5102Smrg		os=-os400
91467f05d30Smrg		;;
91567f05d30Smrg	OSE68000 | ose68000)
91667f05d30Smrg		basic_machine=m68000-ericsson
91767f05d30Smrg		os=-ose
91867f05d30Smrg		;;
91967f05d30Smrg	os68k)
92067f05d30Smrg		basic_machine=m68k-none
92167f05d30Smrg		os=-os68k
92267f05d30Smrg		;;
92367f05d30Smrg	pa-hitachi)
92467f05d30Smrg		basic_machine=hppa1.1-hitachi
92567f05d30Smrg		os=-hiuxwe2
92667f05d30Smrg		;;
92767f05d30Smrg	paragon)
92867f05d30Smrg		basic_machine=i860-intel
92967f05d30Smrg		os=-osf
93067f05d30Smrg		;;
931fffe5102Smrg	parisc)
932fffe5102Smrg		basic_machine=hppa-unknown
933fffe5102Smrg		os=-linux
934fffe5102Smrg		;;
935fffe5102Smrg	parisc-*)
936fffe5102Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937fffe5102Smrg		os=-linux
938fffe5102Smrg		;;
93967f05d30Smrg	pbd)
94067f05d30Smrg		basic_machine=sparc-tti
94167f05d30Smrg		;;
94267f05d30Smrg	pbb)
94367f05d30Smrg		basic_machine=m68k-tti
94467f05d30Smrg		;;
94567f05d30Smrg	pc532 | pc532-*)
94667f05d30Smrg		basic_machine=ns32k-pc532
94767f05d30Smrg		;;
948fffe5102Smrg	pc98)
949fffe5102Smrg		basic_machine=i386-pc
950fffe5102Smrg		;;
951fffe5102Smrg	pc98-*)
952fffe5102Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
953fffe5102Smrg		;;
95467f05d30Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95567f05d30Smrg		basic_machine=i586-pc
95667f05d30Smrg		;;
95767f05d30Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95867f05d30Smrg		basic_machine=i686-pc
95967f05d30Smrg		;;
96067f05d30Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
96167f05d30Smrg		basic_machine=i686-pc
96267f05d30Smrg		;;
96367f05d30Smrg	pentium4)
96467f05d30Smrg		basic_machine=i786-pc
96567f05d30Smrg		;;
96667f05d30Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96767f05d30Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96867f05d30Smrg		;;
96967f05d30Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
97067f05d30Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97167f05d30Smrg		;;
97267f05d30Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97367f05d30Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97467f05d30Smrg		;;
97567f05d30Smrg	pentium4-*)
97667f05d30Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97767f05d30Smrg		;;
97867f05d30Smrg	pn)
97967f05d30Smrg		basic_machine=pn-gould
98067f05d30Smrg		;;
98167f05d30Smrg	power)	basic_machine=power-ibm
98267f05d30Smrg		;;
9836dbd43aaSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98467f05d30Smrg		;;
9856dbd43aaSmrg	ppc-* | ppcbe-*)
9866dbd43aaSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98767f05d30Smrg		;;
98867f05d30Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98967f05d30Smrg		basic_machine=powerpcle-unknown
99067f05d30Smrg		;;
99167f05d30Smrg	ppcle-* | powerpclittle-*)
99267f05d30Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99367f05d30Smrg		;;
99467f05d30Smrg	ppc64)	basic_machine=powerpc64-unknown
99567f05d30Smrg		;;
99667f05d30Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99767f05d30Smrg		;;
99867f05d30Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99967f05d30Smrg		basic_machine=powerpc64le-unknown
100067f05d30Smrg		;;
100167f05d30Smrg	ppc64le-* | powerpc64little-*)
100267f05d30Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100367f05d30Smrg		;;
100467f05d30Smrg	ps2)
100567f05d30Smrg		basic_machine=i386-ibm
100667f05d30Smrg		;;
100767f05d30Smrg	pw32)
100867f05d30Smrg		basic_machine=i586-unknown
100967f05d30Smrg		os=-pw32
101067f05d30Smrg		;;
1011fffe5102Smrg	rdos)
1012fffe5102Smrg		basic_machine=i386-pc
1013fffe5102Smrg		os=-rdos
1014fffe5102Smrg		;;
101567f05d30Smrg	rom68k)
101667f05d30Smrg		basic_machine=m68k-rom68k
101767f05d30Smrg		os=-coff
101867f05d30Smrg		;;
101967f05d30Smrg	rm[46]00)
102067f05d30Smrg		basic_machine=mips-siemens
102167f05d30Smrg		;;
102267f05d30Smrg	rtpc | rtpc-*)
102367f05d30Smrg		basic_machine=romp-ibm
102467f05d30Smrg		;;
1025fffe5102Smrg	s390 | s390-*)
1026fffe5102Smrg		basic_machine=s390-ibm
1027fffe5102Smrg		;;
1028fffe5102Smrg	s390x | s390x-*)
1029fffe5102Smrg		basic_machine=s390x-ibm
1030fffe5102Smrg		;;
103167f05d30Smrg	sa29200)
103267f05d30Smrg		basic_machine=a29k-amd
103367f05d30Smrg		os=-udi
103467f05d30Smrg		;;
103567f05d30Smrg	sb1)
103667f05d30Smrg		basic_machine=mipsisa64sb1-unknown
103767f05d30Smrg		;;
103867f05d30Smrg	sb1el)
103967f05d30Smrg		basic_machine=mipsisa64sb1el-unknown
104067f05d30Smrg		;;
1041fffe5102Smrg	sde)
1042fffe5102Smrg		basic_machine=mipsisa32-sde
1043fffe5102Smrg		os=-elf
1044fffe5102Smrg		;;
104567f05d30Smrg	sei)
104667f05d30Smrg		basic_machine=mips-sei
104767f05d30Smrg		os=-seiux
104867f05d30Smrg		;;
104967f05d30Smrg	sequent)
105067f05d30Smrg		basic_machine=i386-sequent
105167f05d30Smrg		;;
105267f05d30Smrg	sh)
105367f05d30Smrg		basic_machine=sh-hitachi
105467f05d30Smrg		os=-hms
105567f05d30Smrg		;;
1056fffe5102Smrg	sh5el)
1057fffe5102Smrg		basic_machine=sh5le-unknown
1058fffe5102Smrg		;;
105967f05d30Smrg	sh64)
106067f05d30Smrg		basic_machine=sh64-unknown
106167f05d30Smrg		;;
106267f05d30Smrg	sparclite-wrs | simso-wrs)
106367f05d30Smrg		basic_machine=sparclite-wrs
106467f05d30Smrg		os=-vxworks
106567f05d30Smrg		;;
106667f05d30Smrg	sps7)
106767f05d30Smrg		basic_machine=m68k-bull
106867f05d30Smrg		os=-sysv2
106967f05d30Smrg		;;
107067f05d30Smrg	spur)
107167f05d30Smrg		basic_machine=spur-unknown
107267f05d30Smrg		;;
107367f05d30Smrg	st2000)
107467f05d30Smrg		basic_machine=m68k-tandem
107567f05d30Smrg		;;
107667f05d30Smrg	stratus)
107767f05d30Smrg		basic_machine=i860-stratus
107867f05d30Smrg		os=-sysv4
107967f05d30Smrg		;;
10806dbd43aaSmrg	strongarm-* | thumb-*)
10816dbd43aaSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10826dbd43aaSmrg		;;
108367f05d30Smrg	sun2)
108467f05d30Smrg		basic_machine=m68000-sun
108567f05d30Smrg		;;
108667f05d30Smrg	sun2os3)
108767f05d30Smrg		basic_machine=m68000-sun
108867f05d30Smrg		os=-sunos3
108967f05d30Smrg		;;
109067f05d30Smrg	sun2os4)
109167f05d30Smrg		basic_machine=m68000-sun
109267f05d30Smrg		os=-sunos4
109367f05d30Smrg		;;
109467f05d30Smrg	sun3os3)
109567f05d30Smrg		basic_machine=m68k-sun
109667f05d30Smrg		os=-sunos3
109767f05d30Smrg		;;
109867f05d30Smrg	sun3os4)
109967f05d30Smrg		basic_machine=m68k-sun
110067f05d30Smrg		os=-sunos4
110167f05d30Smrg		;;
110267f05d30Smrg	sun4os3)
110367f05d30Smrg		basic_machine=sparc-sun
110467f05d30Smrg		os=-sunos3
110567f05d30Smrg		;;
110667f05d30Smrg	sun4os4)
110767f05d30Smrg		basic_machine=sparc-sun
110867f05d30Smrg		os=-sunos4
110967f05d30Smrg		;;
111067f05d30Smrg	sun4sol2)
111167f05d30Smrg		basic_machine=sparc-sun
111267f05d30Smrg		os=-solaris2
111367f05d30Smrg		;;
111467f05d30Smrg	sun3 | sun3-*)
111567f05d30Smrg		basic_machine=m68k-sun
111667f05d30Smrg		;;
111767f05d30Smrg	sun4)
111867f05d30Smrg		basic_machine=sparc-sun
111967f05d30Smrg		;;
112067f05d30Smrg	sun386 | sun386i | roadrunner)
112167f05d30Smrg		basic_machine=i386-sun
112267f05d30Smrg		;;
112367f05d30Smrg	sv1)
112467f05d30Smrg		basic_machine=sv1-cray
112567f05d30Smrg		os=-unicos
112667f05d30Smrg		;;
112767f05d30Smrg	symmetry)
112867f05d30Smrg		basic_machine=i386-sequent
112967f05d30Smrg		os=-dynix
113067f05d30Smrg		;;
113167f05d30Smrg	t3e)
113267f05d30Smrg		basic_machine=alphaev5-cray
113367f05d30Smrg		os=-unicos
113467f05d30Smrg		;;
113567f05d30Smrg	t90)
113667f05d30Smrg		basic_machine=t90-cray
113767f05d30Smrg		os=-unicos
113867f05d30Smrg		;;
1139fffe5102Smrg	tile*)
11406dbd43aaSmrg		basic_machine=$basic_machine-unknown
1141fffe5102Smrg		os=-linux-gnu
1142fffe5102Smrg		;;
114367f05d30Smrg	tx39)
114467f05d30Smrg		basic_machine=mipstx39-unknown
114567f05d30Smrg		;;
114667f05d30Smrg	tx39el)
114767f05d30Smrg		basic_machine=mipstx39el-unknown
114867f05d30Smrg		;;
114967f05d30Smrg	toad1)
115067f05d30Smrg		basic_machine=pdp10-xkl
115167f05d30Smrg		os=-tops20
115267f05d30Smrg		;;
115367f05d30Smrg	tower | tower-32)
115467f05d30Smrg		basic_machine=m68k-ncr
115567f05d30Smrg		;;
1156fffe5102Smrg	tpf)
1157fffe5102Smrg		basic_machine=s390x-ibm
1158fffe5102Smrg		os=-tpf
1159fffe5102Smrg		;;
116067f05d30Smrg	udi29k)
116167f05d30Smrg		basic_machine=a29k-amd
116267f05d30Smrg		os=-udi
116367f05d30Smrg		;;
116467f05d30Smrg	ultra3)
116567f05d30Smrg		basic_machine=a29k-nyu
116667f05d30Smrg		os=-sym1
116767f05d30Smrg		;;
116867f05d30Smrg	v810 | necv810)
116967f05d30Smrg		basic_machine=v810-nec
117067f05d30Smrg		os=-none
117167f05d30Smrg		;;
117267f05d30Smrg	vaxv)
117367f05d30Smrg		basic_machine=vax-dec
117467f05d30Smrg		os=-sysv
117567f05d30Smrg		;;
117667f05d30Smrg	vms)
117767f05d30Smrg		basic_machine=vax-dec
117867f05d30Smrg		os=-vms
117967f05d30Smrg		;;
118067f05d30Smrg	vpp*|vx|vx-*)
118167f05d30Smrg		basic_machine=f301-fujitsu
118267f05d30Smrg		;;
118367f05d30Smrg	vxworks960)
118467f05d30Smrg		basic_machine=i960-wrs
118567f05d30Smrg		os=-vxworks
118667f05d30Smrg		;;
118767f05d30Smrg	vxworks68)
118867f05d30Smrg		basic_machine=m68k-wrs
118967f05d30Smrg		os=-vxworks
119067f05d30Smrg		;;
119167f05d30Smrg	vxworks29k)
119267f05d30Smrg		basic_machine=a29k-wrs
119367f05d30Smrg		os=-vxworks
119467f05d30Smrg		;;
119567f05d30Smrg	w65*)
119667f05d30Smrg		basic_machine=w65-wdc
119767f05d30Smrg		os=-none
119867f05d30Smrg		;;
119967f05d30Smrg	w89k-*)
120067f05d30Smrg		basic_machine=hppa1.1-winbond
120167f05d30Smrg		os=-proelf
120267f05d30Smrg		;;
1203fffe5102Smrg	xbox)
1204fffe5102Smrg		basic_machine=i686-pc
1205fffe5102Smrg		os=-mingw32
1206fffe5102Smrg		;;
120767f05d30Smrg	xps | xps100)
120867f05d30Smrg		basic_machine=xps100-honeywell
120967f05d30Smrg		;;
12106dbd43aaSmrg	xscale-* | xscalee[bl]-*)
12116dbd43aaSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12126dbd43aaSmrg		;;
121367f05d30Smrg	ymp)
121467f05d30Smrg		basic_machine=ymp-cray
121567f05d30Smrg		os=-unicos
121667f05d30Smrg		;;
121767f05d30Smrg	z8k-*-coff)
121867f05d30Smrg		basic_machine=z8k-unknown
121967f05d30Smrg		os=-sim
122067f05d30Smrg		;;
1221fffe5102Smrg	z80-*-coff)
1222fffe5102Smrg		basic_machine=z80-unknown
1223fffe5102Smrg		os=-sim
1224fffe5102Smrg		;;
122567f05d30Smrg	none)
122667f05d30Smrg		basic_machine=none-none
122767f05d30Smrg		os=-none
122867f05d30Smrg		;;
122967f05d30Smrg
123067f05d30Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
123167f05d30Smrg# some cases the only manufacturer, in others, it is the most popular.
123267f05d30Smrg	w89k)
123367f05d30Smrg		basic_machine=hppa1.1-winbond
123467f05d30Smrg		;;
123567f05d30Smrg	op50n)
123667f05d30Smrg		basic_machine=hppa1.1-oki
123767f05d30Smrg		;;
123867f05d30Smrg	op60c)
123967f05d30Smrg		basic_machine=hppa1.1-oki
124067f05d30Smrg		;;
124167f05d30Smrg	romp)
124267f05d30Smrg		basic_machine=romp-ibm
124367f05d30Smrg		;;
1244fffe5102Smrg	mmix)
1245fffe5102Smrg		basic_machine=mmix-knuth
1246fffe5102Smrg		;;
124767f05d30Smrg	rs6000)
124867f05d30Smrg		basic_machine=rs6000-ibm
124967f05d30Smrg		;;
125067f05d30Smrg	vax)
125167f05d30Smrg		basic_machine=vax-dec
125267f05d30Smrg		;;
125367f05d30Smrg	pdp10)
125467f05d30Smrg		# there are many clones, so DEC is not a safe bet
125567f05d30Smrg		basic_machine=pdp10-unknown
125667f05d30Smrg		;;
125767f05d30Smrg	pdp11)
125867f05d30Smrg		basic_machine=pdp11-dec
125967f05d30Smrg		;;
126067f05d30Smrg	we32k)
126167f05d30Smrg		basic_machine=we32k-att
126267f05d30Smrg		;;
1263fffe5102Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126467f05d30Smrg		basic_machine=sh-unknown
126567f05d30Smrg		;;
1266fffe5102Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126767f05d30Smrg		basic_machine=sparc-sun
126867f05d30Smrg		;;
126967f05d30Smrg	cydra)
127067f05d30Smrg		basic_machine=cydra-cydrome
127167f05d30Smrg		;;
127267f05d30Smrg	orion)
127367f05d30Smrg		basic_machine=orion-highlevel
127467f05d30Smrg		;;
127567f05d30Smrg	orion105)
127667f05d30Smrg		basic_machine=clipper-highlevel
127767f05d30Smrg		;;
127867f05d30Smrg	mac | mpw | mac-mpw)
127967f05d30Smrg		basic_machine=m68k-apple
128067f05d30Smrg		;;
128167f05d30Smrg	pmac | pmac-mpw)
128267f05d30Smrg		basic_machine=powerpc-apple
128367f05d30Smrg		;;
128467f05d30Smrg	*-unknown)
128567f05d30Smrg		# Make sure to match an already-canonicalized machine name.
128667f05d30Smrg		;;
128767f05d30Smrg	*)
128867f05d30Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128967f05d30Smrg		exit 1
129067f05d30Smrg		;;
129167f05d30Smrgesac
129267f05d30Smrg
129367f05d30Smrg# Here we canonicalize certain aliases for manufacturers.
129467f05d30Smrgcase $basic_machine in
129567f05d30Smrg	*-digital*)
129667f05d30Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129767f05d30Smrg		;;
129867f05d30Smrg	*-commodore*)
129967f05d30Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
130067f05d30Smrg		;;
130167f05d30Smrg	*)
130267f05d30Smrg		;;
130367f05d30Smrgesac
130467f05d30Smrg
130567f05d30Smrg# Decode manufacturer-specific aliases for certain operating systems.
130667f05d30Smrg
130767f05d30Smrgif [ x"$os" != x"" ]
130867f05d30Smrgthen
130967f05d30Smrgcase $os in
13106dbd43aaSmrg	# First match some system type aliases
13116dbd43aaSmrg	# that might get confused with valid system types.
131267f05d30Smrg	# -solaris* is a basic system type, with this one exception.
13136dbd43aaSmrg	-auroraux)
13146dbd43aaSmrg		os=-auroraux
1315fffe5102Smrg		;;
131667f05d30Smrg	-solaris1 | -solaris1.*)
131767f05d30Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131867f05d30Smrg		;;
131967f05d30Smrg	-solaris)
132067f05d30Smrg		os=-solaris2
132167f05d30Smrg		;;
132267f05d30Smrg	-svr4*)
132367f05d30Smrg		os=-sysv4
132467f05d30Smrg		;;
132567f05d30Smrg	-unixware*)
132667f05d30Smrg		os=-sysv4.2uw
132767f05d30Smrg		;;
132867f05d30Smrg	-gnu/linux*)
132967f05d30Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
133067f05d30Smrg		;;
133167f05d30Smrg	# First accept the basic system types.
133267f05d30Smrg	# The portable systems comes first.
133367f05d30Smrg	# Each alternative MUST END IN A *, to match a version number.
133467f05d30Smrg	# -sysv* is not here because it comes later, after sysvr4.
133567f05d30Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1336fffe5102Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1337fffe5102Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1338fffe5102Smrg	      | -sym* | -kopensolaris* \
133967f05d30Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1340fffe5102Smrg	      | -aos* | -aros* \
134167f05d30Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134267f05d30Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1343fffe5102Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1344fffe5102Smrg	      | -openbsd* | -solidbsd* \
1345fffe5102Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1346fffe5102Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134767f05d30Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134867f05d30Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1349fffe5102Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13506dbd43aaSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1351fc51f767Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1352fc51f767Smrg	      | -linux-newlib* | -linux-uclibc* \
1353fffe5102Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135467f05d30Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135567f05d30Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135667f05d30Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135767f05d30Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135867f05d30Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1359fffe5102Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1360fffe5102Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
136167f05d30Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136267f05d30Smrg		;;
136367f05d30Smrg	-qnx*)
136467f05d30Smrg		case $basic_machine in
136567f05d30Smrg		    x86-* | i*86-*)
136667f05d30Smrg			;;
136767f05d30Smrg		    *)
136867f05d30Smrg			os=-nto$os
136967f05d30Smrg			;;
137067f05d30Smrg		esac
137167f05d30Smrg		;;
137267f05d30Smrg	-nto-qnx*)
137367f05d30Smrg		;;
137467f05d30Smrg	-nto*)
137567f05d30Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137667f05d30Smrg		;;
137767f05d30Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1378fffe5102Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137967f05d30Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
138067f05d30Smrg		;;
138167f05d30Smrg	-mac*)
138267f05d30Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138367f05d30Smrg		;;
1384fffe5102Smrg	-linux-dietlibc)
1385fffe5102Smrg		os=-linux-dietlibc
1386fffe5102Smrg		;;
138767f05d30Smrg	-linux*)
138867f05d30Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138967f05d30Smrg		;;
139067f05d30Smrg	-sunos5*)
139167f05d30Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139267f05d30Smrg		;;
139367f05d30Smrg	-sunos6*)
139467f05d30Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139567f05d30Smrg		;;
139667f05d30Smrg	-opened*)
139767f05d30Smrg		os=-openedition
139867f05d30Smrg		;;
13996dbd43aaSmrg	-os400*)
1400fffe5102Smrg		os=-os400
1401fffe5102Smrg		;;
140267f05d30Smrg	-wince*)
140367f05d30Smrg		os=-wince
140467f05d30Smrg		;;
140567f05d30Smrg	-osfrose*)
140667f05d30Smrg		os=-osfrose
140767f05d30Smrg		;;
140867f05d30Smrg	-osf*)
140967f05d30Smrg		os=-osf
141067f05d30Smrg		;;
141167f05d30Smrg	-utek*)
141267f05d30Smrg		os=-bsd
141367f05d30Smrg		;;
141467f05d30Smrg	-dynix*)
141567f05d30Smrg		os=-bsd
141667f05d30Smrg		;;
141767f05d30Smrg	-acis*)
141867f05d30Smrg		os=-aos
141967f05d30Smrg		;;
142067f05d30Smrg	-atheos*)
142167f05d30Smrg		os=-atheos
142267f05d30Smrg		;;
1423fffe5102Smrg	-syllable*)
1424fffe5102Smrg		os=-syllable
1425fffe5102Smrg		;;
142667f05d30Smrg	-386bsd)
142767f05d30Smrg		os=-bsd
142867f05d30Smrg		;;
142967f05d30Smrg	-ctix* | -uts*)
143067f05d30Smrg		os=-sysv
143167f05d30Smrg		;;
143267f05d30Smrg	-nova*)
143367f05d30Smrg		os=-rtmk-nova
143467f05d30Smrg		;;
143567f05d30Smrg	-ns2 )
143667f05d30Smrg		os=-nextstep2
143767f05d30Smrg		;;
143867f05d30Smrg	-nsk*)
143967f05d30Smrg		os=-nsk
144067f05d30Smrg		;;
144167f05d30Smrg	# Preserve the version number of sinix5.
144267f05d30Smrg	-sinix5.*)
144367f05d30Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144467f05d30Smrg		;;
144567f05d30Smrg	-sinix*)
144667f05d30Smrg		os=-sysv4
144767f05d30Smrg		;;
14486dbd43aaSmrg	-tpf*)
1449fffe5102Smrg		os=-tpf
1450fffe5102Smrg		;;
145167f05d30Smrg	-triton*)
145267f05d30Smrg		os=-sysv3
145367f05d30Smrg		;;
145467f05d30Smrg	-oss*)
145567f05d30Smrg		os=-sysv3
145667f05d30Smrg		;;
145767f05d30Smrg	-svr4)
145867f05d30Smrg		os=-sysv4
145967f05d30Smrg		;;
146067f05d30Smrg	-svr3)
146167f05d30Smrg		os=-sysv3
146267f05d30Smrg		;;
146367f05d30Smrg	-sysvr4)
146467f05d30Smrg		os=-sysv4
146567f05d30Smrg		;;
146667f05d30Smrg	# This must come after -sysvr4.
146767f05d30Smrg	-sysv*)
146867f05d30Smrg		;;
146967f05d30Smrg	-ose*)
147067f05d30Smrg		os=-ose
147167f05d30Smrg		;;
147267f05d30Smrg	-es1800*)
147367f05d30Smrg		os=-ose
147467f05d30Smrg		;;
147567f05d30Smrg	-xenix)
147667f05d30Smrg		os=-xenix
147767f05d30Smrg		;;
147867f05d30Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147967f05d30Smrg		os=-mint
148067f05d30Smrg		;;
148167f05d30Smrg	-aros*)
148267f05d30Smrg		os=-aros
148367f05d30Smrg		;;
148467f05d30Smrg	-kaos*)
148567f05d30Smrg		os=-kaos
148667f05d30Smrg		;;
1487fffe5102Smrg	-zvmoe)
1488fffe5102Smrg		os=-zvmoe
1489fffe5102Smrg		;;
1490fffe5102Smrg	-dicos*)
1491fffe5102Smrg		os=-dicos
1492fffe5102Smrg		;;
14936dbd43aaSmrg	-nacl*)
14946dbd43aaSmrg		;;
149567f05d30Smrg	-none)
149667f05d30Smrg		;;
149767f05d30Smrg	*)
149867f05d30Smrg		# Get rid of the `-' at the beginning of $os.
149967f05d30Smrg		os=`echo $os | sed 's/[^-]*-//'`
150067f05d30Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
150167f05d30Smrg		exit 1
150267f05d30Smrg		;;
150367f05d30Smrgesac
150467f05d30Smrgelse
150567f05d30Smrg
150667f05d30Smrg# Here we handle the default operating systems that come with various machines.
150767f05d30Smrg# The value should be what the vendor currently ships out the door with their
150867f05d30Smrg# machine or put another way, the most popular os provided with the machine.
150967f05d30Smrg
151067f05d30Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
151167f05d30Smrg# "-sun"), then you have to tell the case statement up towards the top
151267f05d30Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151367f05d30Smrg# will signal an error saying that MANUFACTURER isn't an operating
151467f05d30Smrg# system, and we'll never get to this point.
151567f05d30Smrg
151667f05d30Smrgcase $basic_machine in
15176dbd43aaSmrg	score-*)
1518fffe5102Smrg		os=-elf
1519fffe5102Smrg		;;
15206dbd43aaSmrg	spu-*)
1521fffe5102Smrg		os=-elf
1522fffe5102Smrg		;;
152367f05d30Smrg	*-acorn)
152467f05d30Smrg		os=-riscix1.2
152567f05d30Smrg		;;
152667f05d30Smrg	arm*-rebel)
152767f05d30Smrg		os=-linux
152867f05d30Smrg		;;
152967f05d30Smrg	arm*-semi)
153067f05d30Smrg		os=-aout
153167f05d30Smrg		;;
15326dbd43aaSmrg	c4x-* | tic4x-*)
15336dbd43aaSmrg		os=-coff
153467f05d30Smrg		;;
1535fc51f767Smrg	tic54x-*)
1536fc51f767Smrg		os=-coff
1537fc51f767Smrg		;;
1538fc51f767Smrg	tic55x-*)
1539fc51f767Smrg		os=-coff
1540fc51f767Smrg		;;
1541fc51f767Smrg	tic6x-*)
1542fc51f767Smrg		os=-coff
1543fc51f767Smrg		;;
154467f05d30Smrg	# This must come before the *-dec entry.
154567f05d30Smrg	pdp10-*)
154667f05d30Smrg		os=-tops20
154767f05d30Smrg		;;
154867f05d30Smrg	pdp11-*)
154967f05d30Smrg		os=-none
155067f05d30Smrg		;;
155167f05d30Smrg	*-dec | vax-*)
155267f05d30Smrg		os=-ultrix4.2
155367f05d30Smrg		;;
155467f05d30Smrg	m68*-apollo)
155567f05d30Smrg		os=-domain
155667f05d30Smrg		;;
155767f05d30Smrg	i386-sun)
155867f05d30Smrg		os=-sunos4.0.2
155967f05d30Smrg		;;
156067f05d30Smrg	m68000-sun)
156167f05d30Smrg		os=-sunos3
156267f05d30Smrg		# This also exists in the configure program, but was not the
156367f05d30Smrg		# default.
156467f05d30Smrg		# os=-sunos4
156567f05d30Smrg		;;
156667f05d30Smrg	m68*-cisco)
156767f05d30Smrg		os=-aout
156867f05d30Smrg		;;
15696dbd43aaSmrg	mep-*)
1570fffe5102Smrg		os=-elf
1571fffe5102Smrg		;;
157267f05d30Smrg	mips*-cisco)
157367f05d30Smrg		os=-elf
157467f05d30Smrg		;;
157567f05d30Smrg	mips*-*)
157667f05d30Smrg		os=-elf
157767f05d30Smrg		;;
157867f05d30Smrg	or32-*)
157967f05d30Smrg		os=-coff
158067f05d30Smrg		;;
158167f05d30Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
158267f05d30Smrg		os=-sysv3
158367f05d30Smrg		;;
158467f05d30Smrg	sparc-* | *-sun)
158567f05d30Smrg		os=-sunos4.1.1
158667f05d30Smrg		;;
158767f05d30Smrg	*-be)
158867f05d30Smrg		os=-beos
158967f05d30Smrg		;;
1590fffe5102Smrg	*-haiku)
1591fffe5102Smrg		os=-haiku
1592fffe5102Smrg		;;
159367f05d30Smrg	*-ibm)
159467f05d30Smrg		os=-aix
159567f05d30Smrg		;;
15966dbd43aaSmrg	*-knuth)
1597fffe5102Smrg		os=-mmixware
1598fffe5102Smrg		;;
159967f05d30Smrg	*-wec)
160067f05d30Smrg		os=-proelf
160167f05d30Smrg		;;
160267f05d30Smrg	*-winbond)
160367f05d30Smrg		os=-proelf
160467f05d30Smrg		;;
160567f05d30Smrg	*-oki)
160667f05d30Smrg		os=-proelf
160767f05d30Smrg		;;
160867f05d30Smrg	*-hp)
160967f05d30Smrg		os=-hpux
161067f05d30Smrg		;;
161167f05d30Smrg	*-hitachi)
161267f05d30Smrg		os=-hiux
161367f05d30Smrg		;;
161467f05d30Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161567f05d30Smrg		os=-sysv
161667f05d30Smrg		;;
161767f05d30Smrg	*-cbm)
161867f05d30Smrg		os=-amigaos
161967f05d30Smrg		;;
162067f05d30Smrg	*-dg)
162167f05d30Smrg		os=-dgux
162267f05d30Smrg		;;
162367f05d30Smrg	*-dolphin)
162467f05d30Smrg		os=-sysv3
162567f05d30Smrg		;;
162667f05d30Smrg	m68k-ccur)
162767f05d30Smrg		os=-rtu
162867f05d30Smrg		;;
162967f05d30Smrg	m88k-omron*)
163067f05d30Smrg		os=-luna
163167f05d30Smrg		;;
163267f05d30Smrg	*-next )
163367f05d30Smrg		os=-nextstep
163467f05d30Smrg		;;
163567f05d30Smrg	*-sequent)
163667f05d30Smrg		os=-ptx
163767f05d30Smrg		;;
163867f05d30Smrg	*-crds)
163967f05d30Smrg		os=-unos
164067f05d30Smrg		;;
164167f05d30Smrg	*-ns)
164267f05d30Smrg		os=-genix
164367f05d30Smrg		;;
164467f05d30Smrg	i370-*)
164567f05d30Smrg		os=-mvs
164667f05d30Smrg		;;
164767f05d30Smrg	*-next)
164867f05d30Smrg		os=-nextstep3
164967f05d30Smrg		;;
165067f05d30Smrg	*-gould)
165167f05d30Smrg		os=-sysv
165267f05d30Smrg		;;
165367f05d30Smrg	*-highlevel)
165467f05d30Smrg		os=-bsd
165567f05d30Smrg		;;
165667f05d30Smrg	*-encore)
165767f05d30Smrg		os=-bsd
165867f05d30Smrg		;;
165967f05d30Smrg	*-sgi)
166067f05d30Smrg		os=-irix
166167f05d30Smrg		;;
166267f05d30Smrg	*-siemens)
166367f05d30Smrg		os=-sysv4
166467f05d30Smrg		;;
166567f05d30Smrg	*-masscomp)
166667f05d30Smrg		os=-rtu
166767f05d30Smrg		;;
166867f05d30Smrg	f30[01]-fujitsu | f700-fujitsu)
166967f05d30Smrg		os=-uxpv
167067f05d30Smrg		;;
167167f05d30Smrg	*-rom68k)
167267f05d30Smrg		os=-coff
167367f05d30Smrg		;;
167467f05d30Smrg	*-*bug)
167567f05d30Smrg		os=-coff
167667f05d30Smrg		;;
167767f05d30Smrg	*-apple)
167867f05d30Smrg		os=-macos
167967f05d30Smrg		;;
168067f05d30Smrg	*-atari*)
168167f05d30Smrg		os=-mint
168267f05d30Smrg		;;
168367f05d30Smrg	*)
168467f05d30Smrg		os=-none
168567f05d30Smrg		;;
168667f05d30Smrgesac
168767f05d30Smrgfi
168867f05d30Smrg
168967f05d30Smrg# Here we handle the case where we know the os, and the CPU type, but not the
169067f05d30Smrg# manufacturer.  We pick the logical manufacturer.
169167f05d30Smrgvendor=unknown
169267f05d30Smrgcase $basic_machine in
169367f05d30Smrg	*-unknown)
169467f05d30Smrg		case $os in
169567f05d30Smrg			-riscix*)
169667f05d30Smrg				vendor=acorn
169767f05d30Smrg				;;
169867f05d30Smrg			-sunos*)
169967f05d30Smrg				vendor=sun
170067f05d30Smrg				;;
1701fffe5102Smrg			-cnk*|-aix*)
170267f05d30Smrg				vendor=ibm
170367f05d30Smrg				;;
170467f05d30Smrg			-beos*)
170567f05d30Smrg				vendor=be
170667f05d30Smrg				;;
170767f05d30Smrg			-hpux*)
170867f05d30Smrg				vendor=hp
170967f05d30Smrg				;;
171067f05d30Smrg			-mpeix*)
171167f05d30Smrg				vendor=hp
171267f05d30Smrg				;;
171367f05d30Smrg			-hiux*)
171467f05d30Smrg				vendor=hitachi
171567f05d30Smrg				;;
171667f05d30Smrg			-unos*)
171767f05d30Smrg				vendor=crds
171867f05d30Smrg				;;
171967f05d30Smrg			-dgux*)
172067f05d30Smrg				vendor=dg
172167f05d30Smrg				;;
172267f05d30Smrg			-luna*)
172367f05d30Smrg				vendor=omron
172467f05d30Smrg				;;
172567f05d30Smrg			-genix*)
172667f05d30Smrg				vendor=ns
172767f05d30Smrg				;;
172867f05d30Smrg			-mvs* | -opened*)
172967f05d30Smrg				vendor=ibm
173067f05d30Smrg				;;
1731fffe5102Smrg			-os400*)
1732fffe5102Smrg				vendor=ibm
1733fffe5102Smrg				;;
173467f05d30Smrg			-ptx*)
173567f05d30Smrg				vendor=sequent
173667f05d30Smrg				;;
1737fffe5102Smrg			-tpf*)
1738fffe5102Smrg				vendor=ibm
1739fffe5102Smrg				;;
174067f05d30Smrg			-vxsim* | -vxworks* | -windiss*)
174167f05d30Smrg				vendor=wrs
174267f05d30Smrg				;;
174367f05d30Smrg			-aux*)
174467f05d30Smrg				vendor=apple
174567f05d30Smrg				;;
174667f05d30Smrg			-hms*)
174767f05d30Smrg				vendor=hitachi
174867f05d30Smrg				;;
174967f05d30Smrg			-mpw* | -macos*)
175067f05d30Smrg				vendor=apple
175167f05d30Smrg				;;
175267f05d30Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
175367f05d30Smrg				vendor=atari
175467f05d30Smrg				;;
175567f05d30Smrg			-vos*)
175667f05d30Smrg				vendor=stratus
175767f05d30Smrg				;;
175867f05d30Smrg		esac
175967f05d30Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176067f05d30Smrg		;;
176167f05d30Smrgesac
176267f05d30Smrg
176367f05d30Smrgecho $basic_machine$os
1764fffe5102Smrgexit
176567f05d30Smrg
176667f05d30Smrg# Local variables:
176767f05d30Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176867f05d30Smrg# time-stamp-start: "timestamp='"
176967f05d30Smrg# time-stamp-format: "%:y-%02m-%02d"
177067f05d30Smrg# time-stamp-end: "'"
177167f05d30Smrg# End:
1772