config.sub revision b40a6198
145bc899bSmrg#! /bin/sh
245bc899bSmrg# Configuration validation subroutine script.
345bc899bSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4b40a6198Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5b40a6198Smrg#   2011, 2012 Free Software Foundation, Inc.
645bc899bSmrg
7b40a6198Smrgtimestamp='2012-01-01'
845bc899bSmrg
945bc899bSmrg# This file is (in principle) common to ALL GNU software.
1045bc899bSmrg# The presence of a machine in this file suggests that SOME GNU software
1145bc899bSmrg# can handle that machine.  It does not imply ALL GNU software can.
1245bc899bSmrg#
1345bc899bSmrg# This file is free software; you can redistribute it and/or modify
1445bc899bSmrg# it under the terms of the GNU General Public License as published by
1545bc899bSmrg# the Free Software Foundation; either version 2 of the License, or
1645bc899bSmrg# (at your option) any later version.
1745bc899bSmrg#
1845bc899bSmrg# This program is distributed in the hope that it will be useful,
1945bc899bSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2045bc899bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2145bc899bSmrg# GNU General Public License for more details.
2245bc899bSmrg#
2345bc899bSmrg# You should have received a copy of the GNU General Public License
2445bc899bSmrg# along with this program; if not, write to the Free Software
2550f2e948Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2650f2e948Smrg# 02110-1301, USA.
2750f2e948Smrg#
2845bc899bSmrg# As a special exception to the GNU General Public License, if you
2945bc899bSmrg# distribute this file as part of a program that contains a
3045bc899bSmrg# configuration script generated by Autoconf, you may include it under
3145bc899bSmrg# the same distribution terms that you use for the rest of that program.
3245bc899bSmrg
3350f2e948Smrg
3445bc899bSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b40a6198Smrg# diff and a properly formatted GNU ChangeLog entry.
3645bc899bSmrg#
3745bc899bSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3845bc899bSmrg# Supply the specified configuration type as an argument.
3945bc899bSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
4045bc899bSmrg# Otherwise, we print the canonical config type on stdout and succeed.
4145bc899bSmrg
42b40a6198Smrg# You can get the latest version of this script from:
43b40a6198Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b40a6198Smrg
4545bc899bSmrg# This file is supposed to be the same for all GNU packages
4645bc899bSmrg# and recognize all the CPU types, system types and aliases
4745bc899bSmrg# that are meaningful with *any* GNU software.
4845bc899bSmrg# Each package is responsible for reporting which valid configurations
4945bc899bSmrg# it does not support.  The user should be able to distinguish
5045bc899bSmrg# a failure to support a valid configuration from a meaningless
5145bc899bSmrg# configuration.
5245bc899bSmrg
5345bc899bSmrg# The goal of this file is to map all the various variations of a given
5445bc899bSmrg# machine specification into a single specification in the form:
5545bc899bSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5645bc899bSmrg# or in some cases, the newer four-part form:
5745bc899bSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5845bc899bSmrg# It is wrong to echo any other type of specification.
5945bc899bSmrg
6045bc899bSmrgme=`echo "$0" | sed -e 's,.*/,,'`
6145bc899bSmrg
6245bc899bSmrgusage="\
6345bc899bSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6445bc899bSmrg       $0 [OPTION] ALIAS
6545bc899bSmrg
6645bc899bSmrgCanonicalize a configuration name.
6745bc899bSmrg
6845bc899bSmrgOperation modes:
6945bc899bSmrg  -h, --help         print this help, then exit
7045bc899bSmrg  -t, --time-stamp   print date of last modification, then exit
7145bc899bSmrg  -v, --version      print version number, then exit
7245bc899bSmrg
7345bc899bSmrgReport bugs and patches to <config-patches@gnu.org>."
7445bc899bSmrg
7545bc899bSmrgversion="\
7645bc899bSmrgGNU config.sub ($timestamp)
7745bc899bSmrg
78b40a6198SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79b40a6198Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80b40a6198SmrgFree Software Foundation, Inc.
8145bc899bSmrg
8245bc899bSmrgThis is free software; see the source for copying conditions.  There is NO
8345bc899bSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8445bc899bSmrg
8545bc899bSmrghelp="
8645bc899bSmrgTry \`$me --help' for more information."
8745bc899bSmrg
8845bc899bSmrg# Parse command line
8945bc899bSmrgwhile test $# -gt 0 ; do
9045bc899bSmrg  case $1 in
9145bc899bSmrg    --time-stamp | --time* | -t )
9250f2e948Smrg       echo "$timestamp" ; exit ;;
9345bc899bSmrg    --version | -v )
9450f2e948Smrg       echo "$version" ; exit ;;
9545bc899bSmrg    --help | --h* | -h )
9650f2e948Smrg       echo "$usage"; exit ;;
9745bc899bSmrg    -- )     # Stop option processing
9845bc899bSmrg       shift; break ;;
9945bc899bSmrg    - )	# Use stdin as input.
10045bc899bSmrg       break ;;
10145bc899bSmrg    -* )
10245bc899bSmrg       echo "$me: invalid option $1$help"
10345bc899bSmrg       exit 1 ;;
10445bc899bSmrg
10545bc899bSmrg    *local*)
10645bc899bSmrg       # First pass through any local machine types.
10745bc899bSmrg       echo $1
10850f2e948Smrg       exit ;;
10945bc899bSmrg
11045bc899bSmrg    * )
11145bc899bSmrg       break ;;
11245bc899bSmrg  esac
11345bc899bSmrgdone
11445bc899bSmrg
11545bc899bSmrgcase $# in
11645bc899bSmrg 0) echo "$me: missing argument$help" >&2
11745bc899bSmrg    exit 1;;
11845bc899bSmrg 1) ;;
11945bc899bSmrg *) echo "$me: too many arguments$help" >&2
12045bc899bSmrg    exit 1;;
12145bc899bSmrgesac
12245bc899bSmrg
12345bc899bSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12445bc899bSmrg# Here we must recognize all the valid KERNEL-OS combinations.
12545bc899bSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12645bc899bSmrgcase $maybe_os in
127b40a6198Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128b40a6198Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129b40a6198Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b40a6198Smrg  kopensolaris*-gnu* | \
13150f2e948Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13245bc899bSmrg    os=-$maybe_os
13345bc899bSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13445bc899bSmrg    ;;
13545bc899bSmrg  *)
13645bc899bSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13745bc899bSmrg    if [ $basic_machine != $1 ]
13845bc899bSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13945bc899bSmrg    else os=; fi
14045bc899bSmrg    ;;
14145bc899bSmrgesac
14245bc899bSmrg
14345bc899bSmrg### Let's recognize common machines as not being operating systems so
14445bc899bSmrg### that things like config.sub decstation-3100 work.  We also
14545bc899bSmrg### recognize some manufacturers as not being operating systems, so we
14645bc899bSmrg### can provide default operating systems below.
14745bc899bSmrgcase $os in
14845bc899bSmrg	-sun*os*)
14945bc899bSmrg		# Prevent following clause from handling this invalid input.
15045bc899bSmrg		;;
15145bc899bSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15245bc899bSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15345bc899bSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15445bc899bSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15545bc899bSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15645bc899bSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b40a6198Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15845bc899bSmrg		os=
15945bc899bSmrg		basic_machine=$1
16045bc899bSmrg		;;
161b40a6198Smrg	-bluegene*)
162b40a6198Smrg		os=-cnk
163b40a6198Smrg		;;
16445bc899bSmrg	-sim | -cisco | -oki | -wec | -winbond)
16545bc899bSmrg		os=
16645bc899bSmrg		basic_machine=$1
16745bc899bSmrg		;;
16845bc899bSmrg	-scout)
16945bc899bSmrg		;;
17045bc899bSmrg	-wrs)
17145bc899bSmrg		os=-vxworks
17245bc899bSmrg		basic_machine=$1
17345bc899bSmrg		;;
17445bc899bSmrg	-chorusos*)
17545bc899bSmrg		os=-chorusos
17645bc899bSmrg		basic_machine=$1
17745bc899bSmrg		;;
178b40a6198Smrg	-chorusrdb)
179b40a6198Smrg		os=-chorusrdb
18045bc899bSmrg		basic_machine=$1
181b40a6198Smrg		;;
18245bc899bSmrg	-hiux*)
18345bc899bSmrg		os=-hiuxwe2
18445bc899bSmrg		;;
18550f2e948Smrg	-sco6)
18650f2e948Smrg		os=-sco5v6
18750f2e948Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18850f2e948Smrg		;;
18945bc899bSmrg	-sco5)
19045bc899bSmrg		os=-sco3.2v5
19145bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19245bc899bSmrg		;;
19345bc899bSmrg	-sco4)
19445bc899bSmrg		os=-sco3.2v4
19545bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19645bc899bSmrg		;;
19745bc899bSmrg	-sco3.2.[4-9]*)
19845bc899bSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19945bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20045bc899bSmrg		;;
20145bc899bSmrg	-sco3.2v[4-9]*)
20245bc899bSmrg		# Don't forget version if it is 3.2v4 or newer.
20345bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20445bc899bSmrg		;;
20550f2e948Smrg	-sco5v6*)
20650f2e948Smrg		# Don't forget version if it is 3.2v4 or newer.
20750f2e948Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20850f2e948Smrg		;;
20945bc899bSmrg	-sco*)
21045bc899bSmrg		os=-sco3.2v2
21145bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21245bc899bSmrg		;;
21345bc899bSmrg	-udk*)
21445bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21545bc899bSmrg		;;
21645bc899bSmrg	-isc)
21745bc899bSmrg		os=-isc2.2
21845bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21945bc899bSmrg		;;
22045bc899bSmrg	-clix*)
22145bc899bSmrg		basic_machine=clipper-intergraph
22245bc899bSmrg		;;
22345bc899bSmrg	-isc*)
22445bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22545bc899bSmrg		;;
22645bc899bSmrg	-lynx*)
22745bc899bSmrg		os=-lynxos
22845bc899bSmrg		;;
22945bc899bSmrg	-ptx*)
23045bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23145bc899bSmrg		;;
23245bc899bSmrg	-windowsnt*)
23345bc899bSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23445bc899bSmrg		;;
23545bc899bSmrg	-psos*)
23645bc899bSmrg		os=-psos
23745bc899bSmrg		;;
23845bc899bSmrg	-mint | -mint[0-9]*)
23945bc899bSmrg		basic_machine=m68k-atari
24045bc899bSmrg		os=-mint
24145bc899bSmrg		;;
24245bc899bSmrgesac
24345bc899bSmrg
24445bc899bSmrg# Decode aliases for certain CPU-COMPANY combinations.
24545bc899bSmrgcase $basic_machine in
24645bc899bSmrg	# Recognize the basic CPU types without company name.
24745bc899bSmrg	# Some are omitted here because they have special meanings below.
24845bc899bSmrg	1750a | 580 \
24945bc899bSmrg	| a29k \
25045bc899bSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25145bc899bSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25250f2e948Smrg	| am33_2.0 \
25350f2e948Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254b40a6198Smrg        | be32 | be64 \
25550f2e948Smrg	| bfin \
25645bc899bSmrg	| c4x | clipper \
25745bc899bSmrg	| d10v | d30v | dlx | dsp16xx \
258b40a6198Smrg	| epiphany \
25950f2e948Smrg	| fido | fr30 | frv \
26045bc899bSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261b40a6198Smrg	| hexagon \
26245bc899bSmrg	| i370 | i860 | i960 | ia64 \
26350f2e948Smrg	| ip2k | iq2000 \
264b40a6198Smrg	| le32 | le64 \
265b40a6198Smrg	| lm32 \
26650f2e948Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267b40a6198Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26845bc899bSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26945bc899bSmrg	| mips16 \
27045bc899bSmrg	| mips64 | mips64el \
271b40a6198Smrg	| mips64octeon | mips64octeonel \
27245bc899bSmrg	| mips64orion | mips64orionel \
273b40a6198Smrg	| mips64r5900 | mips64r5900el \
274b40a6198Smrg	| mips64vr | mips64vrel \
27545bc899bSmrg	| mips64vr4100 | mips64vr4100el \
27645bc899bSmrg	| mips64vr4300 | mips64vr4300el \
27745bc899bSmrg	| mips64vr5000 | mips64vr5000el \
27850f2e948Smrg	| mips64vr5900 | mips64vr5900el \
27945bc899bSmrg	| mipsisa32 | mipsisa32el \
28045bc899bSmrg	| mipsisa32r2 | mipsisa32r2el \
28145bc899bSmrg	| mipsisa64 | mipsisa64el \
28250f2e948Smrg	| mipsisa64r2 | mipsisa64r2el \
28345bc899bSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28445bc899bSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28545bc899bSmrg	| mipstx39 | mipstx39el \
28645bc899bSmrg	| mn10200 | mn10300 \
287b40a6198Smrg	| moxie \
28850f2e948Smrg	| mt \
28945bc899bSmrg	| msp430 \
290b40a6198Smrg	| nds32 | nds32le | nds32be \
29150f2e948Smrg	| nios | nios2 \
29245bc899bSmrg	| ns16k | ns32k \
293b40a6198Smrg	| open8 \
29450f2e948Smrg	| or32 \
29545bc899bSmrg	| pdp10 | pdp11 | pj | pjl \
296b40a6198Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29745bc899bSmrg	| pyramid \
298b40a6198Smrg	| rl78 | rx \
29950f2e948Smrg	| score \
300b40a6198Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30145bc899bSmrg	| sh64 | sh64le \
30250f2e948Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30350f2e948Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304b40a6198Smrg	| spu \
305b40a6198Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306b40a6198Smrg	| ubicom32 \
307b40a6198Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30845bc899bSmrg	| we32k \
309b40a6198Smrg	| x86 | xc16x | xstormy16 | xtensa \
310b40a6198Smrg	| z8k | z80)
31145bc899bSmrg		basic_machine=$basic_machine-unknown
31245bc899bSmrg		;;
313b40a6198Smrg	c54x)
314b40a6198Smrg		basic_machine=tic54x-unknown
315b40a6198Smrg		;;
316b40a6198Smrg	c55x)
317b40a6198Smrg		basic_machine=tic55x-unknown
318b40a6198Smrg		;;
319b40a6198Smrg	c6x)
320b40a6198Smrg		basic_machine=tic6x-unknown
321b40a6198Smrg		;;
322b40a6198Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32345bc899bSmrg		basic_machine=$basic_machine-unknown
32445bc899bSmrg		os=-none
32545bc899bSmrg		;;
32645bc899bSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32745bc899bSmrg		;;
32850f2e948Smrg	ms1)
32950f2e948Smrg		basic_machine=mt-unknown
33050f2e948Smrg		;;
33145bc899bSmrg
332b40a6198Smrg	strongarm | thumb | xscale)
333b40a6198Smrg		basic_machine=arm-unknown
334b40a6198Smrg		;;
335b40a6198Smrg
336b40a6198Smrg	xscaleeb)
337b40a6198Smrg		basic_machine=armeb-unknown
338b40a6198Smrg		;;
339b40a6198Smrg
340b40a6198Smrg	xscaleel)
341b40a6198Smrg		basic_machine=armel-unknown
342b40a6198Smrg		;;
343b40a6198Smrg
34445bc899bSmrg	# We use `pc' rather than `unknown'
34545bc899bSmrg	# because (1) that's what they normally are, and
34645bc899bSmrg	# (2) the word "unknown" tends to confuse beginning users.
34745bc899bSmrg	i*86 | x86_64)
34845bc899bSmrg	  basic_machine=$basic_machine-pc
34945bc899bSmrg	  ;;
35045bc899bSmrg	# Object if more than one company name word.
35145bc899bSmrg	*-*-*)
35245bc899bSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35345bc899bSmrg		exit 1
35445bc899bSmrg		;;
35545bc899bSmrg	# Recognize the basic CPU types with company name.
35645bc899bSmrg	580-* \
35745bc899bSmrg	| a29k-* \
35845bc899bSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
35945bc899bSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36045bc899bSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36145bc899bSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36250f2e948Smrg	| avr-* | avr32-* \
363b40a6198Smrg	| be32-* | be64-* \
36450f2e948Smrg	| bfin-* | bs2000-* \
365b40a6198Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36650f2e948Smrg	| clipper-* | craynv-* | cydra-* \
36745bc899bSmrg	| d10v-* | d30v-* | dlx-* \
36845bc899bSmrg	| elxsi-* \
36950f2e948Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37045bc899bSmrg	| h8300-* | h8500-* \
37145bc899bSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
372b40a6198Smrg	| hexagon-* \
37345bc899bSmrg	| i*86-* | i860-* | i960-* | ia64-* \
37450f2e948Smrg	| ip2k-* | iq2000-* \
375b40a6198Smrg	| le32-* | le64-* \
376b40a6198Smrg	| lm32-* \
37750f2e948Smrg	| m32c-* | m32r-* | m32rle-* \
37845bc899bSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379b40a6198Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38045bc899bSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38145bc899bSmrg	| mips16-* \
38245bc899bSmrg	| mips64-* | mips64el-* \
383b40a6198Smrg	| mips64octeon-* | mips64octeonel-* \
38445bc899bSmrg	| mips64orion-* | mips64orionel-* \
385b40a6198Smrg	| mips64r5900-* | mips64r5900el-* \
386b40a6198Smrg	| mips64vr-* | mips64vrel-* \
38745bc899bSmrg	| mips64vr4100-* | mips64vr4100el-* \
38845bc899bSmrg	| mips64vr4300-* | mips64vr4300el-* \
38945bc899bSmrg	| mips64vr5000-* | mips64vr5000el-* \
39050f2e948Smrg	| mips64vr5900-* | mips64vr5900el-* \
39145bc899bSmrg	| mipsisa32-* | mipsisa32el-* \
39245bc899bSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
39345bc899bSmrg	| mipsisa64-* | mipsisa64el-* \
39450f2e948Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39545bc899bSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39645bc899bSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39745bc899bSmrg	| mipstx39-* | mipstx39el-* \
39850f2e948Smrg	| mmix-* \
39950f2e948Smrg	| mt-* \
40045bc899bSmrg	| msp430-* \
401b40a6198Smrg	| nds32-* | nds32le-* | nds32be-* \
40250f2e948Smrg	| nios-* | nios2-* \
40350f2e948Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
404b40a6198Smrg	| open8-* \
40545bc899bSmrg	| orion-* \
40645bc899bSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
407b40a6198Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40845bc899bSmrg	| pyramid-* \
409b40a6198Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
410b40a6198Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41145bc899bSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41250f2e948Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41350f2e948Smrg	| sparclite-* \
414b40a6198Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
415b40a6198Smrg	| tahoe-* \
41645bc899bSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
417b40a6198Smrg	| tile*-* \
41845bc899bSmrg	| tron-* \
419b40a6198Smrg	| ubicom32-* \
420b40a6198Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
421b40a6198Smrg	| vax-* \
42245bc899bSmrg	| we32k-* \
423b40a6198Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
42450f2e948Smrg	| xstormy16-* | xtensa*-* \
42545bc899bSmrg	| ymp-* \
426b40a6198Smrg	| z8k-* | z80-*)
42745bc899bSmrg		;;
42850f2e948Smrg	# Recognize the basic CPU types without company name, with glob match.
42950f2e948Smrg	xtensa*)
43050f2e948Smrg		basic_machine=$basic_machine-unknown
43150f2e948Smrg		;;
43245bc899bSmrg	# Recognize the various machine names and aliases which stand
43345bc899bSmrg	# for a CPU type and a company and sometimes even an OS.
43445bc899bSmrg	386bsd)
43545bc899bSmrg		basic_machine=i386-unknown
43645bc899bSmrg		os=-bsd
43745bc899bSmrg		;;
43845bc899bSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
43945bc899bSmrg		basic_machine=m68000-att
44045bc899bSmrg		;;
44145bc899bSmrg	3b*)
44245bc899bSmrg		basic_machine=we32k-att
44345bc899bSmrg		;;
44445bc899bSmrg	a29khif)
44545bc899bSmrg		basic_machine=a29k-amd
44645bc899bSmrg		os=-udi
44745bc899bSmrg		;;
448b40a6198Smrg	abacus)
44950f2e948Smrg		basic_machine=abacus-unknown
45050f2e948Smrg		;;
45145bc899bSmrg	adobe68k)
45245bc899bSmrg		basic_machine=m68010-adobe
45345bc899bSmrg		os=-scout
45445bc899bSmrg		;;
45545bc899bSmrg	alliant | fx80)
45645bc899bSmrg		basic_machine=fx80-alliant
45745bc899bSmrg		;;
45845bc899bSmrg	altos | altos3068)
45945bc899bSmrg		basic_machine=m68k-altos
46045bc899bSmrg		;;
46145bc899bSmrg	am29k)
46245bc899bSmrg		basic_machine=a29k-none
46345bc899bSmrg		os=-bsd
46445bc899bSmrg		;;
46545bc899bSmrg	amd64)
46645bc899bSmrg		basic_machine=x86_64-pc
46745bc899bSmrg		;;
46850f2e948Smrg	amd64-*)
46950f2e948Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47050f2e948Smrg		;;
47145bc899bSmrg	amdahl)
47245bc899bSmrg		basic_machine=580-amdahl
47345bc899bSmrg		os=-sysv
47445bc899bSmrg		;;
47545bc899bSmrg	amiga | amiga-*)
47645bc899bSmrg		basic_machine=m68k-unknown
47745bc899bSmrg		;;
47845bc899bSmrg	amigaos | amigados)
47945bc899bSmrg		basic_machine=m68k-unknown
48045bc899bSmrg		os=-amigaos
48145bc899bSmrg		;;
48245bc899bSmrg	amigaunix | amix)
48345bc899bSmrg		basic_machine=m68k-unknown
48445bc899bSmrg		os=-sysv4
48545bc899bSmrg		;;
48645bc899bSmrg	apollo68)
48745bc899bSmrg		basic_machine=m68k-apollo
48845bc899bSmrg		os=-sysv
48945bc899bSmrg		;;
49045bc899bSmrg	apollo68bsd)
49145bc899bSmrg		basic_machine=m68k-apollo
49245bc899bSmrg		os=-bsd
49345bc899bSmrg		;;
494b40a6198Smrg	aros)
495b40a6198Smrg		basic_machine=i386-pc
496b40a6198Smrg		os=-aros
497b40a6198Smrg		;;
49845bc899bSmrg	aux)
49945bc899bSmrg		basic_machine=m68k-apple
50045bc899bSmrg		os=-aux
50145bc899bSmrg		;;
50245bc899bSmrg	balance)
50345bc899bSmrg		basic_machine=ns32k-sequent
50445bc899bSmrg		os=-dynix
50545bc899bSmrg		;;
50650f2e948Smrg	blackfin)
50750f2e948Smrg		basic_machine=bfin-unknown
50850f2e948Smrg		os=-linux
50950f2e948Smrg		;;
51050f2e948Smrg	blackfin-*)
51150f2e948Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
51250f2e948Smrg		os=-linux
51350f2e948Smrg		;;
514b40a6198Smrg	bluegene*)
515b40a6198Smrg		basic_machine=powerpc-ibm
516b40a6198Smrg		os=-cnk
517b40a6198Smrg		;;
518b40a6198Smrg	c54x-*)
519b40a6198Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
520b40a6198Smrg		;;
521b40a6198Smrg	c55x-*)
522b40a6198Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
523b40a6198Smrg		;;
524b40a6198Smrg	c6x-*)
525b40a6198Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
526b40a6198Smrg		;;
52745bc899bSmrg	c90)
52845bc899bSmrg		basic_machine=c90-cray
52945bc899bSmrg		os=-unicos
53045bc899bSmrg		;;
531b40a6198Smrg	cegcc)
532b40a6198Smrg		basic_machine=arm-unknown
533b40a6198Smrg		os=-cegcc
534b40a6198Smrg		;;
53545bc899bSmrg	convex-c1)
53645bc899bSmrg		basic_machine=c1-convex
53745bc899bSmrg		os=-bsd
53845bc899bSmrg		;;
53945bc899bSmrg	convex-c2)
54045bc899bSmrg		basic_machine=c2-convex
54145bc899bSmrg		os=-bsd
54245bc899bSmrg		;;
54345bc899bSmrg	convex-c32)
54445bc899bSmrg		basic_machine=c32-convex
54545bc899bSmrg		os=-bsd
54645bc899bSmrg		;;
54745bc899bSmrg	convex-c34)
54845bc899bSmrg		basic_machine=c34-convex
54945bc899bSmrg		os=-bsd
55045bc899bSmrg		;;
55145bc899bSmrg	convex-c38)
55245bc899bSmrg		basic_machine=c38-convex
55345bc899bSmrg		os=-bsd
55445bc899bSmrg		;;
55545bc899bSmrg	cray | j90)
55645bc899bSmrg		basic_machine=j90-cray
55745bc899bSmrg		os=-unicos
55845bc899bSmrg		;;
55950f2e948Smrg	craynv)
56050f2e948Smrg		basic_machine=craynv-cray
56150f2e948Smrg		os=-unicosmp
56250f2e948Smrg		;;
563b40a6198Smrg	cr16 | cr16-*)
56450f2e948Smrg		basic_machine=cr16-unknown
56550f2e948Smrg		os=-elf
56650f2e948Smrg		;;
56745bc899bSmrg	crds | unos)
56845bc899bSmrg		basic_machine=m68k-crds
56945bc899bSmrg		;;
57050f2e948Smrg	crisv32 | crisv32-* | etraxfs*)
57150f2e948Smrg		basic_machine=crisv32-axis
57250f2e948Smrg		;;
57345bc899bSmrg	cris | cris-* | etrax*)
57445bc899bSmrg		basic_machine=cris-axis
57545bc899bSmrg		;;
57650f2e948Smrg	crx)
57750f2e948Smrg		basic_machine=crx-unknown
57850f2e948Smrg		os=-elf
57950f2e948Smrg		;;
58045bc899bSmrg	da30 | da30-*)
58145bc899bSmrg		basic_machine=m68k-da30
58245bc899bSmrg		;;
58345bc899bSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58445bc899bSmrg		basic_machine=mips-dec
58545bc899bSmrg		;;
58645bc899bSmrg	decsystem10* | dec10*)
58745bc899bSmrg		basic_machine=pdp10-dec
58845bc899bSmrg		os=-tops10
58945bc899bSmrg		;;
59045bc899bSmrg	decsystem20* | dec20*)
59145bc899bSmrg		basic_machine=pdp10-dec
59245bc899bSmrg		os=-tops20
59345bc899bSmrg		;;
59445bc899bSmrg	delta | 3300 | motorola-3300 | motorola-delta \
59545bc899bSmrg	      | 3300-motorola | delta-motorola)
59645bc899bSmrg		basic_machine=m68k-motorola
59745bc899bSmrg		;;
59845bc899bSmrg	delta88)
59945bc899bSmrg		basic_machine=m88k-motorola
60045bc899bSmrg		os=-sysv3
60145bc899bSmrg		;;
602b40a6198Smrg	dicos)
603b40a6198Smrg		basic_machine=i686-pc
604b40a6198Smrg		os=-dicos
605b40a6198Smrg		;;
60650f2e948Smrg	djgpp)
60750f2e948Smrg		basic_machine=i586-pc
60850f2e948Smrg		os=-msdosdjgpp
60950f2e948Smrg		;;
61045bc899bSmrg	dpx20 | dpx20-*)
61145bc899bSmrg		basic_machine=rs6000-bull
61245bc899bSmrg		os=-bosx
61345bc899bSmrg		;;
61445bc899bSmrg	dpx2* | dpx2*-bull)
61545bc899bSmrg		basic_machine=m68k-bull
61645bc899bSmrg		os=-sysv3
61745bc899bSmrg		;;
61845bc899bSmrg	ebmon29k)
61945bc899bSmrg		basic_machine=a29k-amd
62045bc899bSmrg		os=-ebmon
62145bc899bSmrg		;;
62245bc899bSmrg	elxsi)
62345bc899bSmrg		basic_machine=elxsi-elxsi
62445bc899bSmrg		os=-bsd
62545bc899bSmrg		;;
62645bc899bSmrg	encore | umax | mmax)
62745bc899bSmrg		basic_machine=ns32k-encore
62845bc899bSmrg		;;
62945bc899bSmrg	es1800 | OSE68k | ose68k | ose | OSE)
63045bc899bSmrg		basic_machine=m68k-ericsson
63145bc899bSmrg		os=-ose
63245bc899bSmrg		;;
63345bc899bSmrg	fx2800)
63445bc899bSmrg		basic_machine=i860-alliant
63545bc899bSmrg		;;
63645bc899bSmrg	genix)
63745bc899bSmrg		basic_machine=ns32k-ns
63845bc899bSmrg		;;
63945bc899bSmrg	gmicro)
64045bc899bSmrg		basic_machine=tron-gmicro
64145bc899bSmrg		os=-sysv
64245bc899bSmrg		;;
64345bc899bSmrg	go32)
64445bc899bSmrg		basic_machine=i386-pc
64545bc899bSmrg		os=-go32
64645bc899bSmrg		;;
64745bc899bSmrg	h3050r* | hiux*)
64845bc899bSmrg		basic_machine=hppa1.1-hitachi
64945bc899bSmrg		os=-hiuxwe2
65045bc899bSmrg		;;
65145bc899bSmrg	h8300hms)
65245bc899bSmrg		basic_machine=h8300-hitachi
65345bc899bSmrg		os=-hms
65445bc899bSmrg		;;
65545bc899bSmrg	h8300xray)
65645bc899bSmrg		basic_machine=h8300-hitachi
65745bc899bSmrg		os=-xray
65845bc899bSmrg		;;
65945bc899bSmrg	h8500hms)
66045bc899bSmrg		basic_machine=h8500-hitachi
66145bc899bSmrg		os=-hms
66245bc899bSmrg		;;
66345bc899bSmrg	harris)
66445bc899bSmrg		basic_machine=m88k-harris
66545bc899bSmrg		os=-sysv3
66645bc899bSmrg		;;
66745bc899bSmrg	hp300-*)
66845bc899bSmrg		basic_machine=m68k-hp
66945bc899bSmrg		;;
67045bc899bSmrg	hp300bsd)
67145bc899bSmrg		basic_machine=m68k-hp
67245bc899bSmrg		os=-bsd
67345bc899bSmrg		;;
67445bc899bSmrg	hp300hpux)
67545bc899bSmrg		basic_machine=m68k-hp
67645bc899bSmrg		os=-hpux
67745bc899bSmrg		;;
67845bc899bSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
67945bc899bSmrg		basic_machine=hppa1.0-hp
68045bc899bSmrg		;;
68145bc899bSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68245bc899bSmrg		basic_machine=m68000-hp
68345bc899bSmrg		;;
68445bc899bSmrg	hp9k3[2-9][0-9])
68545bc899bSmrg		basic_machine=m68k-hp
68645bc899bSmrg		;;
68745bc899bSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68845bc899bSmrg		basic_machine=hppa1.0-hp
68945bc899bSmrg		;;
69045bc899bSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69145bc899bSmrg		basic_machine=hppa1.1-hp
69245bc899bSmrg		;;
69345bc899bSmrg	hp9k78[0-9] | hp78[0-9])
69445bc899bSmrg		# FIXME: really hppa2.0-hp
69545bc899bSmrg		basic_machine=hppa1.1-hp
69645bc899bSmrg		;;
69745bc899bSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69845bc899bSmrg		# FIXME: really hppa2.0-hp
69945bc899bSmrg		basic_machine=hppa1.1-hp
70045bc899bSmrg		;;
70145bc899bSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70245bc899bSmrg		basic_machine=hppa1.1-hp
70345bc899bSmrg		;;
70445bc899bSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70545bc899bSmrg		basic_machine=hppa1.0-hp
70645bc899bSmrg		;;
70745bc899bSmrg	hppa-next)
70845bc899bSmrg		os=-nextstep3
70945bc899bSmrg		;;
71045bc899bSmrg	hppaosf)
71145bc899bSmrg		basic_machine=hppa1.1-hp
71245bc899bSmrg		os=-osf
71345bc899bSmrg		;;
71445bc899bSmrg	hppro)
71545bc899bSmrg		basic_machine=hppa1.1-hp
71645bc899bSmrg		os=-proelf
71745bc899bSmrg		;;
71845bc899bSmrg	i370-ibm* | ibm*)
71945bc899bSmrg		basic_machine=i370-ibm
72045bc899bSmrg		;;
72145bc899bSmrg	i*86v32)
72245bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72345bc899bSmrg		os=-sysv32
72445bc899bSmrg		;;
72545bc899bSmrg	i*86v4*)
72645bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72745bc899bSmrg		os=-sysv4
72845bc899bSmrg		;;
72945bc899bSmrg	i*86v)
73045bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73145bc899bSmrg		os=-sysv
73245bc899bSmrg		;;
73345bc899bSmrg	i*86sol2)
73445bc899bSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73545bc899bSmrg		os=-solaris2
73645bc899bSmrg		;;
73745bc899bSmrg	i386mach)
73845bc899bSmrg		basic_machine=i386-mach
73945bc899bSmrg		os=-mach
74045bc899bSmrg		;;
74145bc899bSmrg	i386-vsta | vsta)
74245bc899bSmrg		basic_machine=i386-unknown
74345bc899bSmrg		os=-vsta
74445bc899bSmrg		;;
74545bc899bSmrg	iris | iris4d)
74645bc899bSmrg		basic_machine=mips-sgi
74745bc899bSmrg		case $os in
74845bc899bSmrg		    -irix*)
74945bc899bSmrg			;;
75045bc899bSmrg		    *)
75145bc899bSmrg			os=-irix4
75245bc899bSmrg			;;
75345bc899bSmrg		esac
75445bc899bSmrg		;;
75545bc899bSmrg	isi68 | isi)
75645bc899bSmrg		basic_machine=m68k-isi
75745bc899bSmrg		os=-sysv
75845bc899bSmrg		;;
75950f2e948Smrg	m68knommu)
76050f2e948Smrg		basic_machine=m68k-unknown
76150f2e948Smrg		os=-linux
76250f2e948Smrg		;;
76350f2e948Smrg	m68knommu-*)
76450f2e948Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
76550f2e948Smrg		os=-linux
76650f2e948Smrg		;;
76745bc899bSmrg	m88k-omron*)
76845bc899bSmrg		basic_machine=m88k-omron
76945bc899bSmrg		;;
77045bc899bSmrg	magnum | m3230)
77145bc899bSmrg		basic_machine=mips-mips
77245bc899bSmrg		os=-sysv
77345bc899bSmrg		;;
77445bc899bSmrg	merlin)
77545bc899bSmrg		basic_machine=ns32k-utek
77645bc899bSmrg		os=-sysv
77745bc899bSmrg		;;
778b40a6198Smrg	microblaze)
779b40a6198Smrg		basic_machine=microblaze-xilinx
780b40a6198Smrg		;;
78145bc899bSmrg	mingw32)
78245bc899bSmrg		basic_machine=i386-pc
78345bc899bSmrg		os=-mingw32
78445bc899bSmrg		;;
78550f2e948Smrg	mingw32ce)
78650f2e948Smrg		basic_machine=arm-unknown
78750f2e948Smrg		os=-mingw32ce
78850f2e948Smrg		;;
78945bc899bSmrg	miniframe)
79045bc899bSmrg		basic_machine=m68000-convergent
79145bc899bSmrg		;;
79245bc899bSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79345bc899bSmrg		basic_machine=m68k-atari
79445bc899bSmrg		os=-mint
79545bc899bSmrg		;;
79645bc899bSmrg	mips3*-*)
79745bc899bSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
79845bc899bSmrg		;;
79945bc899bSmrg	mips3*)
80045bc899bSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80145bc899bSmrg		;;
80245bc899bSmrg	monitor)
80345bc899bSmrg		basic_machine=m68k-rom68k
80445bc899bSmrg		os=-coff
80545bc899bSmrg		;;
80645bc899bSmrg	morphos)
80745bc899bSmrg		basic_machine=powerpc-unknown
80845bc899bSmrg		os=-morphos
80945bc899bSmrg		;;
81045bc899bSmrg	msdos)
81145bc899bSmrg		basic_machine=i386-pc
81245bc899bSmrg		os=-msdos
81345bc899bSmrg		;;
81450f2e948Smrg	ms1-*)
81550f2e948Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81650f2e948Smrg		;;
817b40a6198Smrg	msys)
818b40a6198Smrg		basic_machine=i386-pc
819b40a6198Smrg		os=-msys
820b40a6198Smrg		;;
82145bc899bSmrg	mvs)
82245bc899bSmrg		basic_machine=i370-ibm
82345bc899bSmrg		os=-mvs
82445bc899bSmrg		;;
825b40a6198Smrg	nacl)
826b40a6198Smrg		basic_machine=le32-unknown
827b40a6198Smrg		os=-nacl
828b40a6198Smrg		;;
82945bc899bSmrg	ncr3000)
83045bc899bSmrg		basic_machine=i486-ncr
83145bc899bSmrg		os=-sysv4
83245bc899bSmrg		;;
83345bc899bSmrg	netbsd386)
83445bc899bSmrg		basic_machine=i386-unknown
83545bc899bSmrg		os=-netbsd
83645bc899bSmrg		;;
83745bc899bSmrg	netwinder)
83845bc899bSmrg		basic_machine=armv4l-rebel
83945bc899bSmrg		os=-linux
84045bc899bSmrg		;;
84145bc899bSmrg	news | news700 | news800 | news900)
84245bc899bSmrg		basic_machine=m68k-sony
84345bc899bSmrg		os=-newsos
84445bc899bSmrg		;;
84545bc899bSmrg	news1000)
84645bc899bSmrg		basic_machine=m68030-sony
84745bc899bSmrg		os=-newsos
84845bc899bSmrg		;;
84945bc899bSmrg	news-3600 | risc-news)
85045bc899bSmrg		basic_machine=mips-sony
85145bc899bSmrg		os=-newsos
85245bc899bSmrg		;;
85345bc899bSmrg	necv70)
85445bc899bSmrg		basic_machine=v70-nec
85545bc899bSmrg		os=-sysv
85645bc899bSmrg		;;
85745bc899bSmrg	next | m*-next )
85845bc899bSmrg		basic_machine=m68k-next
85945bc899bSmrg		case $os in
86045bc899bSmrg		    -nextstep* )
86145bc899bSmrg			;;
86245bc899bSmrg		    -ns2*)
86345bc899bSmrg		      os=-nextstep2
86445bc899bSmrg			;;
86545bc899bSmrg		    *)
86645bc899bSmrg		      os=-nextstep3
86745bc899bSmrg			;;
86845bc899bSmrg		esac
86945bc899bSmrg		;;
87045bc899bSmrg	nh3000)
87145bc899bSmrg		basic_machine=m68k-harris
87245bc899bSmrg		os=-cxux
87345bc899bSmrg		;;
87445bc899bSmrg	nh[45]000)
87545bc899bSmrg		basic_machine=m88k-harris
87645bc899bSmrg		os=-cxux
87745bc899bSmrg		;;
87845bc899bSmrg	nindy960)
87945bc899bSmrg		basic_machine=i960-intel
88045bc899bSmrg		os=-nindy
88145bc899bSmrg		;;
88245bc899bSmrg	mon960)
88345bc899bSmrg		basic_machine=i960-intel
88445bc899bSmrg		os=-mon960
88545bc899bSmrg		;;
88645bc899bSmrg	nonstopux)
88745bc899bSmrg		basic_machine=mips-compaq
88845bc899bSmrg		os=-nonstopux
88945bc899bSmrg		;;
89045bc899bSmrg	np1)
89145bc899bSmrg		basic_machine=np1-gould
89245bc899bSmrg		;;
893b40a6198Smrg	neo-tandem)
894b40a6198Smrg		basic_machine=neo-tandem
895b40a6198Smrg		;;
896b40a6198Smrg	nse-tandem)
897b40a6198Smrg		basic_machine=nse-tandem
898b40a6198Smrg		;;
89945bc899bSmrg	nsr-tandem)
90045bc899bSmrg		basic_machine=nsr-tandem
90145bc899bSmrg		;;
90245bc899bSmrg	op50n-* | op60c-*)
90345bc899bSmrg		basic_machine=hppa1.1-oki
90445bc899bSmrg		os=-proelf
90545bc899bSmrg		;;
90650f2e948Smrg	openrisc | openrisc-*)
90745bc899bSmrg		basic_machine=or32-unknown
90850f2e948Smrg		;;
90950f2e948Smrg	os400)
91050f2e948Smrg		basic_machine=powerpc-ibm
91150f2e948Smrg		os=-os400
91245bc899bSmrg		;;
91345bc899bSmrg	OSE68000 | ose68000)
91445bc899bSmrg		basic_machine=m68000-ericsson
91545bc899bSmrg		os=-ose
91645bc899bSmrg		;;
91745bc899bSmrg	os68k)
91845bc899bSmrg		basic_machine=m68k-none
91945bc899bSmrg		os=-os68k
92045bc899bSmrg		;;
92145bc899bSmrg	pa-hitachi)
92245bc899bSmrg		basic_machine=hppa1.1-hitachi
92345bc899bSmrg		os=-hiuxwe2
92445bc899bSmrg		;;
92545bc899bSmrg	paragon)
92645bc899bSmrg		basic_machine=i860-intel
92745bc899bSmrg		os=-osf
92845bc899bSmrg		;;
92950f2e948Smrg	parisc)
93050f2e948Smrg		basic_machine=hppa-unknown
93150f2e948Smrg		os=-linux
93250f2e948Smrg		;;
93350f2e948Smrg	parisc-*)
93450f2e948Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
93550f2e948Smrg		os=-linux
93650f2e948Smrg		;;
93745bc899bSmrg	pbd)
93845bc899bSmrg		basic_machine=sparc-tti
93945bc899bSmrg		;;
94045bc899bSmrg	pbb)
94145bc899bSmrg		basic_machine=m68k-tti
94245bc899bSmrg		;;
94345bc899bSmrg	pc532 | pc532-*)
94445bc899bSmrg		basic_machine=ns32k-pc532
94545bc899bSmrg		;;
94650f2e948Smrg	pc98)
94750f2e948Smrg		basic_machine=i386-pc
94850f2e948Smrg		;;
94950f2e948Smrg	pc98-*)
95050f2e948Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95150f2e948Smrg		;;
95245bc899bSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95345bc899bSmrg		basic_machine=i586-pc
95445bc899bSmrg		;;
95545bc899bSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95645bc899bSmrg		basic_machine=i686-pc
95745bc899bSmrg		;;
95845bc899bSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
95945bc899bSmrg		basic_machine=i686-pc
96045bc899bSmrg		;;
96145bc899bSmrg	pentium4)
96245bc899bSmrg		basic_machine=i786-pc
96345bc899bSmrg		;;
96445bc899bSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96545bc899bSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96645bc899bSmrg		;;
96745bc899bSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
96845bc899bSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
96945bc899bSmrg		;;
97045bc899bSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97145bc899bSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97245bc899bSmrg		;;
97345bc899bSmrg	pentium4-*)
97445bc899bSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97545bc899bSmrg		;;
97645bc899bSmrg	pn)
97745bc899bSmrg		basic_machine=pn-gould
97845bc899bSmrg		;;
97945bc899bSmrg	power)	basic_machine=power-ibm
98045bc899bSmrg		;;
981b40a6198Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98245bc899bSmrg		;;
983b40a6198Smrg	ppc-* | ppcbe-*)
984b40a6198Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98545bc899bSmrg		;;
98645bc899bSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98745bc899bSmrg		basic_machine=powerpcle-unknown
98845bc899bSmrg		;;
98945bc899bSmrg	ppcle-* | powerpclittle-*)
99045bc899bSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99145bc899bSmrg		;;
99245bc899bSmrg	ppc64)	basic_machine=powerpc64-unknown
99345bc899bSmrg		;;
99445bc899bSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99545bc899bSmrg		;;
99645bc899bSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99745bc899bSmrg		basic_machine=powerpc64le-unknown
99845bc899bSmrg		;;
99945bc899bSmrg	ppc64le-* | powerpc64little-*)
100045bc899bSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100145bc899bSmrg		;;
100245bc899bSmrg	ps2)
100345bc899bSmrg		basic_machine=i386-ibm
100445bc899bSmrg		;;
100545bc899bSmrg	pw32)
100645bc899bSmrg		basic_machine=i586-unknown
100745bc899bSmrg		os=-pw32
100845bc899bSmrg		;;
100950f2e948Smrg	rdos)
101050f2e948Smrg		basic_machine=i386-pc
101150f2e948Smrg		os=-rdos
101250f2e948Smrg		;;
101345bc899bSmrg	rom68k)
101445bc899bSmrg		basic_machine=m68k-rom68k
101545bc899bSmrg		os=-coff
101645bc899bSmrg		;;
101745bc899bSmrg	rm[46]00)
101845bc899bSmrg		basic_machine=mips-siemens
101945bc899bSmrg		;;
102045bc899bSmrg	rtpc | rtpc-*)
102145bc899bSmrg		basic_machine=romp-ibm
102245bc899bSmrg		;;
102350f2e948Smrg	s390 | s390-*)
102450f2e948Smrg		basic_machine=s390-ibm
102550f2e948Smrg		;;
102650f2e948Smrg	s390x | s390x-*)
102750f2e948Smrg		basic_machine=s390x-ibm
102850f2e948Smrg		;;
102945bc899bSmrg	sa29200)
103045bc899bSmrg		basic_machine=a29k-amd
103145bc899bSmrg		os=-udi
103245bc899bSmrg		;;
103345bc899bSmrg	sb1)
103445bc899bSmrg		basic_machine=mipsisa64sb1-unknown
103545bc899bSmrg		;;
103645bc899bSmrg	sb1el)
103745bc899bSmrg		basic_machine=mipsisa64sb1el-unknown
103845bc899bSmrg		;;
103950f2e948Smrg	sde)
104050f2e948Smrg		basic_machine=mipsisa32-sde
104150f2e948Smrg		os=-elf
104250f2e948Smrg		;;
104345bc899bSmrg	sei)
104445bc899bSmrg		basic_machine=mips-sei
104545bc899bSmrg		os=-seiux
104645bc899bSmrg		;;
104745bc899bSmrg	sequent)
104845bc899bSmrg		basic_machine=i386-sequent
104945bc899bSmrg		;;
105045bc899bSmrg	sh)
105145bc899bSmrg		basic_machine=sh-hitachi
105245bc899bSmrg		os=-hms
105345bc899bSmrg		;;
105450f2e948Smrg	sh5el)
105550f2e948Smrg		basic_machine=sh5le-unknown
105650f2e948Smrg		;;
105745bc899bSmrg	sh64)
105845bc899bSmrg		basic_machine=sh64-unknown
105945bc899bSmrg		;;
106045bc899bSmrg	sparclite-wrs | simso-wrs)
106145bc899bSmrg		basic_machine=sparclite-wrs
106245bc899bSmrg		os=-vxworks
106345bc899bSmrg		;;
106445bc899bSmrg	sps7)
106545bc899bSmrg		basic_machine=m68k-bull
106645bc899bSmrg		os=-sysv2
106745bc899bSmrg		;;
106845bc899bSmrg	spur)
106945bc899bSmrg		basic_machine=spur-unknown
107045bc899bSmrg		;;
107145bc899bSmrg	st2000)
107245bc899bSmrg		basic_machine=m68k-tandem
107345bc899bSmrg		;;
107445bc899bSmrg	stratus)
107545bc899bSmrg		basic_machine=i860-stratus
107645bc899bSmrg		os=-sysv4
107745bc899bSmrg		;;
1078b40a6198Smrg	strongarm-* | thumb-*)
1079b40a6198Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1080b40a6198Smrg		;;
108145bc899bSmrg	sun2)
108245bc899bSmrg		basic_machine=m68000-sun
108345bc899bSmrg		;;
108445bc899bSmrg	sun2os3)
108545bc899bSmrg		basic_machine=m68000-sun
108645bc899bSmrg		os=-sunos3
108745bc899bSmrg		;;
108845bc899bSmrg	sun2os4)
108945bc899bSmrg		basic_machine=m68000-sun
109045bc899bSmrg		os=-sunos4
109145bc899bSmrg		;;
109245bc899bSmrg	sun3os3)
109345bc899bSmrg		basic_machine=m68k-sun
109445bc899bSmrg		os=-sunos3
109545bc899bSmrg		;;
109645bc899bSmrg	sun3os4)
109745bc899bSmrg		basic_machine=m68k-sun
109845bc899bSmrg		os=-sunos4
109945bc899bSmrg		;;
110045bc899bSmrg	sun4os3)
110145bc899bSmrg		basic_machine=sparc-sun
110245bc899bSmrg		os=-sunos3
110345bc899bSmrg		;;
110445bc899bSmrg	sun4os4)
110545bc899bSmrg		basic_machine=sparc-sun
110645bc899bSmrg		os=-sunos4
110745bc899bSmrg		;;
110845bc899bSmrg	sun4sol2)
110945bc899bSmrg		basic_machine=sparc-sun
111045bc899bSmrg		os=-solaris2
111145bc899bSmrg		;;
111245bc899bSmrg	sun3 | sun3-*)
111345bc899bSmrg		basic_machine=m68k-sun
111445bc899bSmrg		;;
111545bc899bSmrg	sun4)
111645bc899bSmrg		basic_machine=sparc-sun
111745bc899bSmrg		;;
111845bc899bSmrg	sun386 | sun386i | roadrunner)
111945bc899bSmrg		basic_machine=i386-sun
112045bc899bSmrg		;;
112145bc899bSmrg	sv1)
112245bc899bSmrg		basic_machine=sv1-cray
112345bc899bSmrg		os=-unicos
112445bc899bSmrg		;;
112545bc899bSmrg	symmetry)
112645bc899bSmrg		basic_machine=i386-sequent
112745bc899bSmrg		os=-dynix
112845bc899bSmrg		;;
112945bc899bSmrg	t3e)
113045bc899bSmrg		basic_machine=alphaev5-cray
113145bc899bSmrg		os=-unicos
113245bc899bSmrg		;;
113345bc899bSmrg	t90)
113445bc899bSmrg		basic_machine=t90-cray
113545bc899bSmrg		os=-unicos
113645bc899bSmrg		;;
113750f2e948Smrg	tile*)
1138b40a6198Smrg		basic_machine=$basic_machine-unknown
113950f2e948Smrg		os=-linux-gnu
114050f2e948Smrg		;;
114145bc899bSmrg	tx39)
114245bc899bSmrg		basic_machine=mipstx39-unknown
114345bc899bSmrg		;;
114445bc899bSmrg	tx39el)
114545bc899bSmrg		basic_machine=mipstx39el-unknown
114645bc899bSmrg		;;
114745bc899bSmrg	toad1)
114845bc899bSmrg		basic_machine=pdp10-xkl
114945bc899bSmrg		os=-tops20
115045bc899bSmrg		;;
115145bc899bSmrg	tower | tower-32)
115245bc899bSmrg		basic_machine=m68k-ncr
115345bc899bSmrg		;;
115450f2e948Smrg	tpf)
115550f2e948Smrg		basic_machine=s390x-ibm
115650f2e948Smrg		os=-tpf
115750f2e948Smrg		;;
115845bc899bSmrg	udi29k)
115945bc899bSmrg		basic_machine=a29k-amd
116045bc899bSmrg		os=-udi
116145bc899bSmrg		;;
116245bc899bSmrg	ultra3)
116345bc899bSmrg		basic_machine=a29k-nyu
116445bc899bSmrg		os=-sym1
116545bc899bSmrg		;;
116645bc899bSmrg	v810 | necv810)
116745bc899bSmrg		basic_machine=v810-nec
116845bc899bSmrg		os=-none
116945bc899bSmrg		;;
117045bc899bSmrg	vaxv)
117145bc899bSmrg		basic_machine=vax-dec
117245bc899bSmrg		os=-sysv
117345bc899bSmrg		;;
117445bc899bSmrg	vms)
117545bc899bSmrg		basic_machine=vax-dec
117645bc899bSmrg		os=-vms
117745bc899bSmrg		;;
117845bc899bSmrg	vpp*|vx|vx-*)
117945bc899bSmrg		basic_machine=f301-fujitsu
118045bc899bSmrg		;;
118145bc899bSmrg	vxworks960)
118245bc899bSmrg		basic_machine=i960-wrs
118345bc899bSmrg		os=-vxworks
118445bc899bSmrg		;;
118545bc899bSmrg	vxworks68)
118645bc899bSmrg		basic_machine=m68k-wrs
118745bc899bSmrg		os=-vxworks
118845bc899bSmrg		;;
118945bc899bSmrg	vxworks29k)
119045bc899bSmrg		basic_machine=a29k-wrs
119145bc899bSmrg		os=-vxworks
119245bc899bSmrg		;;
119345bc899bSmrg	w65*)
119445bc899bSmrg		basic_machine=w65-wdc
119545bc899bSmrg		os=-none
119645bc899bSmrg		;;
119745bc899bSmrg	w89k-*)
119845bc899bSmrg		basic_machine=hppa1.1-winbond
119945bc899bSmrg		os=-proelf
120045bc899bSmrg		;;
120150f2e948Smrg	xbox)
120250f2e948Smrg		basic_machine=i686-pc
120350f2e948Smrg		os=-mingw32
120450f2e948Smrg		;;
120545bc899bSmrg	xps | xps100)
120645bc899bSmrg		basic_machine=xps100-honeywell
120745bc899bSmrg		;;
1208b40a6198Smrg	xscale-* | xscalee[bl]-*)
1209b40a6198Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1210b40a6198Smrg		;;
121145bc899bSmrg	ymp)
121245bc899bSmrg		basic_machine=ymp-cray
121345bc899bSmrg		os=-unicos
121445bc899bSmrg		;;
121545bc899bSmrg	z8k-*-coff)
121645bc899bSmrg		basic_machine=z8k-unknown
121745bc899bSmrg		os=-sim
121845bc899bSmrg		;;
1219b40a6198Smrg	z80-*-coff)
1220b40a6198Smrg		basic_machine=z80-unknown
1221b40a6198Smrg		os=-sim
1222b40a6198Smrg		;;
122345bc899bSmrg	none)
122445bc899bSmrg		basic_machine=none-none
122545bc899bSmrg		os=-none
122645bc899bSmrg		;;
122745bc899bSmrg
122845bc899bSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
122945bc899bSmrg# some cases the only manufacturer, in others, it is the most popular.
123045bc899bSmrg	w89k)
123145bc899bSmrg		basic_machine=hppa1.1-winbond
123245bc899bSmrg		;;
123345bc899bSmrg	op50n)
123445bc899bSmrg		basic_machine=hppa1.1-oki
123545bc899bSmrg		;;
123645bc899bSmrg	op60c)
123745bc899bSmrg		basic_machine=hppa1.1-oki
123845bc899bSmrg		;;
123945bc899bSmrg	romp)
124045bc899bSmrg		basic_machine=romp-ibm
124145bc899bSmrg		;;
124250f2e948Smrg	mmix)
124350f2e948Smrg		basic_machine=mmix-knuth
124450f2e948Smrg		;;
124545bc899bSmrg	rs6000)
124645bc899bSmrg		basic_machine=rs6000-ibm
124745bc899bSmrg		;;
124845bc899bSmrg	vax)
124945bc899bSmrg		basic_machine=vax-dec
125045bc899bSmrg		;;
125145bc899bSmrg	pdp10)
125245bc899bSmrg		# there are many clones, so DEC is not a safe bet
125345bc899bSmrg		basic_machine=pdp10-unknown
125445bc899bSmrg		;;
125545bc899bSmrg	pdp11)
125645bc899bSmrg		basic_machine=pdp11-dec
125745bc899bSmrg		;;
125845bc899bSmrg	we32k)
125945bc899bSmrg		basic_machine=we32k-att
126045bc899bSmrg		;;
1261b40a6198Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126245bc899bSmrg		basic_machine=sh-unknown
126345bc899bSmrg		;;
126450f2e948Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126545bc899bSmrg		basic_machine=sparc-sun
126645bc899bSmrg		;;
126745bc899bSmrg	cydra)
126845bc899bSmrg		basic_machine=cydra-cydrome
126945bc899bSmrg		;;
127045bc899bSmrg	orion)
127145bc899bSmrg		basic_machine=orion-highlevel
127245bc899bSmrg		;;
127345bc899bSmrg	orion105)
127445bc899bSmrg		basic_machine=clipper-highlevel
127545bc899bSmrg		;;
127645bc899bSmrg	mac | mpw | mac-mpw)
127745bc899bSmrg		basic_machine=m68k-apple
127845bc899bSmrg		;;
127945bc899bSmrg	pmac | pmac-mpw)
128045bc899bSmrg		basic_machine=powerpc-apple
128145bc899bSmrg		;;
128245bc899bSmrg	*-unknown)
128345bc899bSmrg		# Make sure to match an already-canonicalized machine name.
128445bc899bSmrg		;;
128545bc899bSmrg	*)
128645bc899bSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128745bc899bSmrg		exit 1
128845bc899bSmrg		;;
128945bc899bSmrgesac
129045bc899bSmrg
129145bc899bSmrg# Here we canonicalize certain aliases for manufacturers.
129245bc899bSmrgcase $basic_machine in
129345bc899bSmrg	*-digital*)
129445bc899bSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129545bc899bSmrg		;;
129645bc899bSmrg	*-commodore*)
129745bc899bSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
129845bc899bSmrg		;;
129945bc899bSmrg	*)
130045bc899bSmrg		;;
130145bc899bSmrgesac
130245bc899bSmrg
130345bc899bSmrg# Decode manufacturer-specific aliases for certain operating systems.
130445bc899bSmrg
130545bc899bSmrgif [ x"$os" != x"" ]
130645bc899bSmrgthen
130745bc899bSmrgcase $os in
1308b40a6198Smrg	# First match some system type aliases
1309b40a6198Smrg	# that might get confused with valid system types.
131045bc899bSmrg	# -solaris* is a basic system type, with this one exception.
1311b40a6198Smrg	-auroraux)
1312b40a6198Smrg		os=-auroraux
1313b40a6198Smrg		;;
131445bc899bSmrg	-solaris1 | -solaris1.*)
131545bc899bSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131645bc899bSmrg		;;
131745bc899bSmrg	-solaris)
131845bc899bSmrg		os=-solaris2
131945bc899bSmrg		;;
132045bc899bSmrg	-svr4*)
132145bc899bSmrg		os=-sysv4
132245bc899bSmrg		;;
132345bc899bSmrg	-unixware*)
132445bc899bSmrg		os=-sysv4.2uw
132545bc899bSmrg		;;
132645bc899bSmrg	-gnu/linux*)
132745bc899bSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
132845bc899bSmrg		;;
132945bc899bSmrg	# First accept the basic system types.
133045bc899bSmrg	# The portable systems comes first.
133145bc899bSmrg	# Each alternative MUST END IN A *, to match a version number.
133245bc899bSmrg	# -sysv* is not here because it comes later, after sysvr4.
133345bc899bSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334b40a6198Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335b40a6198Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336b40a6198Smrg	      | -sym* | -kopensolaris* \
133745bc899bSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338b40a6198Smrg	      | -aos* | -aros* \
133945bc899bSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134045bc899bSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134150f2e948Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134250f2e948Smrg	      | -openbsd* | -solidbsd* \
134350f2e948Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134450f2e948Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134545bc899bSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134645bc899bSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347b40a6198Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1348b40a6198Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1349b40a6198Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1350b40a6198Smrg	      | -linux-newlib* | -linux-uclibc* \
135150f2e948Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135245bc899bSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135345bc899bSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135445bc899bSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135545bc899bSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135645bc899bSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135750f2e948Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358b40a6198Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
135945bc899bSmrg	# Remember, each alternative MUST END IN *, to match a version number.
136045bc899bSmrg		;;
136145bc899bSmrg	-qnx*)
136245bc899bSmrg		case $basic_machine in
136345bc899bSmrg		    x86-* | i*86-*)
136445bc899bSmrg			;;
136545bc899bSmrg		    *)
136645bc899bSmrg			os=-nto$os
136745bc899bSmrg			;;
136845bc899bSmrg		esac
136945bc899bSmrg		;;
137045bc899bSmrg	-nto-qnx*)
137145bc899bSmrg		;;
137245bc899bSmrg	-nto*)
137345bc899bSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137445bc899bSmrg		;;
137545bc899bSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137650f2e948Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137745bc899bSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
137845bc899bSmrg		;;
137945bc899bSmrg	-mac*)
138045bc899bSmrg		os=`echo $os | sed -e 's|mac|macos|'`
138145bc899bSmrg		;;
138250f2e948Smrg	-linux-dietlibc)
138350f2e948Smrg		os=-linux-dietlibc
138450f2e948Smrg		;;
138545bc899bSmrg	-linux*)
138645bc899bSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138745bc899bSmrg		;;
138845bc899bSmrg	-sunos5*)
138945bc899bSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139045bc899bSmrg		;;
139145bc899bSmrg	-sunos6*)
139245bc899bSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139345bc899bSmrg		;;
139445bc899bSmrg	-opened*)
139545bc899bSmrg		os=-openedition
139645bc899bSmrg		;;
1397b40a6198Smrg	-os400*)
139850f2e948Smrg		os=-os400
139950f2e948Smrg		;;
140045bc899bSmrg	-wince*)
140145bc899bSmrg		os=-wince
140245bc899bSmrg		;;
140345bc899bSmrg	-osfrose*)
140445bc899bSmrg		os=-osfrose
140545bc899bSmrg		;;
140645bc899bSmrg	-osf*)
140745bc899bSmrg		os=-osf
140845bc899bSmrg		;;
140945bc899bSmrg	-utek*)
141045bc899bSmrg		os=-bsd
141145bc899bSmrg		;;
141245bc899bSmrg	-dynix*)
141345bc899bSmrg		os=-bsd
141445bc899bSmrg		;;
141545bc899bSmrg	-acis*)
141645bc899bSmrg		os=-aos
141745bc899bSmrg		;;
141845bc899bSmrg	-atheos*)
141945bc899bSmrg		os=-atheos
142045bc899bSmrg		;;
142150f2e948Smrg	-syllable*)
142250f2e948Smrg		os=-syllable
142350f2e948Smrg		;;
142445bc899bSmrg	-386bsd)
142545bc899bSmrg		os=-bsd
142645bc899bSmrg		;;
142745bc899bSmrg	-ctix* | -uts*)
142845bc899bSmrg		os=-sysv
142945bc899bSmrg		;;
143045bc899bSmrg	-nova*)
143145bc899bSmrg		os=-rtmk-nova
143245bc899bSmrg		;;
143345bc899bSmrg	-ns2 )
143445bc899bSmrg		os=-nextstep2
143545bc899bSmrg		;;
143645bc899bSmrg	-nsk*)
143745bc899bSmrg		os=-nsk
143845bc899bSmrg		;;
143945bc899bSmrg	# Preserve the version number of sinix5.
144045bc899bSmrg	-sinix5.*)
144145bc899bSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144245bc899bSmrg		;;
144345bc899bSmrg	-sinix*)
144445bc899bSmrg		os=-sysv4
144545bc899bSmrg		;;
1446b40a6198Smrg	-tpf*)
144750f2e948Smrg		os=-tpf
144850f2e948Smrg		;;
144945bc899bSmrg	-triton*)
145045bc899bSmrg		os=-sysv3
145145bc899bSmrg		;;
145245bc899bSmrg	-oss*)
145345bc899bSmrg		os=-sysv3
145445bc899bSmrg		;;
145545bc899bSmrg	-svr4)
145645bc899bSmrg		os=-sysv4
145745bc899bSmrg		;;
145845bc899bSmrg	-svr3)
145945bc899bSmrg		os=-sysv3
146045bc899bSmrg		;;
146145bc899bSmrg	-sysvr4)
146245bc899bSmrg		os=-sysv4
146345bc899bSmrg		;;
146445bc899bSmrg	# This must come after -sysvr4.
146545bc899bSmrg	-sysv*)
146645bc899bSmrg		;;
146745bc899bSmrg	-ose*)
146845bc899bSmrg		os=-ose
146945bc899bSmrg		;;
147045bc899bSmrg	-es1800*)
147145bc899bSmrg		os=-ose
147245bc899bSmrg		;;
147345bc899bSmrg	-xenix)
147445bc899bSmrg		os=-xenix
147545bc899bSmrg		;;
147645bc899bSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147745bc899bSmrg		os=-mint
147845bc899bSmrg		;;
147945bc899bSmrg	-aros*)
148045bc899bSmrg		os=-aros
148145bc899bSmrg		;;
148245bc899bSmrg	-kaos*)
148345bc899bSmrg		os=-kaos
148445bc899bSmrg		;;
148550f2e948Smrg	-zvmoe)
148650f2e948Smrg		os=-zvmoe
148750f2e948Smrg		;;
1488b40a6198Smrg	-dicos*)
1489b40a6198Smrg		os=-dicos
1490b40a6198Smrg		;;
1491b40a6198Smrg	-nacl*)
1492b40a6198Smrg		;;
149345bc899bSmrg	-none)
149445bc899bSmrg		;;
149545bc899bSmrg	*)
149645bc899bSmrg		# Get rid of the `-' at the beginning of $os.
149745bc899bSmrg		os=`echo $os | sed 's/[^-]*-//'`
149845bc899bSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
149945bc899bSmrg		exit 1
150045bc899bSmrg		;;
150145bc899bSmrgesac
150245bc899bSmrgelse
150345bc899bSmrg
150445bc899bSmrg# Here we handle the default operating systems that come with various machines.
150545bc899bSmrg# The value should be what the vendor currently ships out the door with their
150645bc899bSmrg# machine or put another way, the most popular os provided with the machine.
150745bc899bSmrg
150845bc899bSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
150945bc899bSmrg# "-sun"), then you have to tell the case statement up towards the top
151045bc899bSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151145bc899bSmrg# will signal an error saying that MANUFACTURER isn't an operating
151245bc899bSmrg# system, and we'll never get to this point.
151345bc899bSmrg
151445bc899bSmrgcase $basic_machine in
1515b40a6198Smrg	score-*)
151650f2e948Smrg		os=-elf
151750f2e948Smrg		;;
1518b40a6198Smrg	spu-*)
151950f2e948Smrg		os=-elf
152050f2e948Smrg		;;
152145bc899bSmrg	*-acorn)
152245bc899bSmrg		os=-riscix1.2
152345bc899bSmrg		;;
152445bc899bSmrg	arm*-rebel)
152545bc899bSmrg		os=-linux
152645bc899bSmrg		;;
152745bc899bSmrg	arm*-semi)
152845bc899bSmrg		os=-aout
152945bc899bSmrg		;;
1530b40a6198Smrg	c4x-* | tic4x-*)
1531b40a6198Smrg		os=-coff
1532b40a6198Smrg		;;
1533b40a6198Smrg	tic54x-*)
1534b40a6198Smrg		os=-coff
1535b40a6198Smrg		;;
1536b40a6198Smrg	tic55x-*)
1537b40a6198Smrg		os=-coff
1538b40a6198Smrg		;;
1539b40a6198Smrg	tic6x-*)
1540b40a6198Smrg		os=-coff
154145bc899bSmrg		;;
154245bc899bSmrg	# This must come before the *-dec entry.
154345bc899bSmrg	pdp10-*)
154445bc899bSmrg		os=-tops20
154545bc899bSmrg		;;
154645bc899bSmrg	pdp11-*)
154745bc899bSmrg		os=-none
154845bc899bSmrg		;;
154945bc899bSmrg	*-dec | vax-*)
155045bc899bSmrg		os=-ultrix4.2
155145bc899bSmrg		;;
155245bc899bSmrg	m68*-apollo)
155345bc899bSmrg		os=-domain
155445bc899bSmrg		;;
155545bc899bSmrg	i386-sun)
155645bc899bSmrg		os=-sunos4.0.2
155745bc899bSmrg		;;
155845bc899bSmrg	m68000-sun)
155945bc899bSmrg		os=-sunos3
156045bc899bSmrg		;;
156145bc899bSmrg	m68*-cisco)
156245bc899bSmrg		os=-aout
156345bc899bSmrg		;;
1564b40a6198Smrg	mep-*)
156550f2e948Smrg		os=-elf
156650f2e948Smrg		;;
156745bc899bSmrg	mips*-cisco)
156845bc899bSmrg		os=-elf
156945bc899bSmrg		;;
157045bc899bSmrg	mips*-*)
157145bc899bSmrg		os=-elf
157245bc899bSmrg		;;
157345bc899bSmrg	or32-*)
157445bc899bSmrg		os=-coff
157545bc899bSmrg		;;
157645bc899bSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
157745bc899bSmrg		os=-sysv3
157845bc899bSmrg		;;
157945bc899bSmrg	sparc-* | *-sun)
158045bc899bSmrg		os=-sunos4.1.1
158145bc899bSmrg		;;
158245bc899bSmrg	*-be)
158345bc899bSmrg		os=-beos
158445bc899bSmrg		;;
158550f2e948Smrg	*-haiku)
158650f2e948Smrg		os=-haiku
158750f2e948Smrg		;;
158845bc899bSmrg	*-ibm)
158945bc899bSmrg		os=-aix
159045bc899bSmrg		;;
1591b40a6198Smrg	*-knuth)
159250f2e948Smrg		os=-mmixware
159350f2e948Smrg		;;
159445bc899bSmrg	*-wec)
159545bc899bSmrg		os=-proelf
159645bc899bSmrg		;;
159745bc899bSmrg	*-winbond)
159845bc899bSmrg		os=-proelf
159945bc899bSmrg		;;
160045bc899bSmrg	*-oki)
160145bc899bSmrg		os=-proelf
160245bc899bSmrg		;;
160345bc899bSmrg	*-hp)
160445bc899bSmrg		os=-hpux
160545bc899bSmrg		;;
160645bc899bSmrg	*-hitachi)
160745bc899bSmrg		os=-hiux
160845bc899bSmrg		;;
160945bc899bSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161045bc899bSmrg		os=-sysv
161145bc899bSmrg		;;
161245bc899bSmrg	*-cbm)
161345bc899bSmrg		os=-amigaos
161445bc899bSmrg		;;
161545bc899bSmrg	*-dg)
161645bc899bSmrg		os=-dgux
161745bc899bSmrg		;;
161845bc899bSmrg	*-dolphin)
161945bc899bSmrg		os=-sysv3
162045bc899bSmrg		;;
162145bc899bSmrg	m68k-ccur)
162245bc899bSmrg		os=-rtu
162345bc899bSmrg		;;
162445bc899bSmrg	m88k-omron*)
162545bc899bSmrg		os=-luna
162645bc899bSmrg		;;
162745bc899bSmrg	*-next )
162845bc899bSmrg		os=-nextstep
162945bc899bSmrg		;;
163045bc899bSmrg	*-sequent)
163145bc899bSmrg		os=-ptx
163245bc899bSmrg		;;
163345bc899bSmrg	*-crds)
163445bc899bSmrg		os=-unos
163545bc899bSmrg		;;
163645bc899bSmrg	*-ns)
163745bc899bSmrg		os=-genix
163845bc899bSmrg		;;
163945bc899bSmrg	i370-*)
164045bc899bSmrg		os=-mvs
164145bc899bSmrg		;;
164245bc899bSmrg	*-next)
164345bc899bSmrg		os=-nextstep3
164445bc899bSmrg		;;
164545bc899bSmrg	*-gould)
164645bc899bSmrg		os=-sysv
164745bc899bSmrg		;;
164845bc899bSmrg	*-highlevel)
164945bc899bSmrg		os=-bsd
165045bc899bSmrg		;;
165145bc899bSmrg	*-encore)
165245bc899bSmrg		os=-bsd
165345bc899bSmrg		;;
165445bc899bSmrg	*-sgi)
165545bc899bSmrg		os=-irix
165645bc899bSmrg		;;
165745bc899bSmrg	*-siemens)
165845bc899bSmrg		os=-sysv4
165945bc899bSmrg		;;
166045bc899bSmrg	*-masscomp)
166145bc899bSmrg		os=-rtu
166245bc899bSmrg		;;
166345bc899bSmrg	f30[01]-fujitsu | f700-fujitsu)
166445bc899bSmrg		os=-uxpv
166545bc899bSmrg		;;
166645bc899bSmrg	*-rom68k)
166745bc899bSmrg		os=-coff
166845bc899bSmrg		;;
166945bc899bSmrg	*-*bug)
167045bc899bSmrg		os=-coff
167145bc899bSmrg		;;
167245bc899bSmrg	*-apple)
167345bc899bSmrg		os=-macos
167445bc899bSmrg		;;
167545bc899bSmrg	*-atari*)
167645bc899bSmrg		os=-mint
167745bc899bSmrg		;;
167845bc899bSmrg	*)
167945bc899bSmrg		os=-none
168045bc899bSmrg		;;
168145bc899bSmrgesac
168245bc899bSmrgfi
168345bc899bSmrg
168445bc899bSmrg# Here we handle the case where we know the os, and the CPU type, but not the
168545bc899bSmrg# manufacturer.  We pick the logical manufacturer.
168645bc899bSmrgvendor=unknown
168745bc899bSmrgcase $basic_machine in
168845bc899bSmrg	*-unknown)
168945bc899bSmrg		case $os in
169045bc899bSmrg			-riscix*)
169145bc899bSmrg				vendor=acorn
169245bc899bSmrg				;;
169345bc899bSmrg			-sunos*)
169445bc899bSmrg				vendor=sun
169545bc899bSmrg				;;
1696b40a6198Smrg			-cnk*|-aix*)
169745bc899bSmrg				vendor=ibm
169845bc899bSmrg				;;
169945bc899bSmrg			-beos*)
170045bc899bSmrg				vendor=be
170145bc899bSmrg				;;
170245bc899bSmrg			-hpux*)
170345bc899bSmrg				vendor=hp
170445bc899bSmrg				;;
170545bc899bSmrg			-mpeix*)
170645bc899bSmrg				vendor=hp
170745bc899bSmrg				;;
170845bc899bSmrg			-hiux*)
170945bc899bSmrg				vendor=hitachi
171045bc899bSmrg				;;
171145bc899bSmrg			-unos*)
171245bc899bSmrg				vendor=crds
171345bc899bSmrg				;;
171445bc899bSmrg			-dgux*)
171545bc899bSmrg				vendor=dg
171645bc899bSmrg				;;
171745bc899bSmrg			-luna*)
171845bc899bSmrg				vendor=omron
171945bc899bSmrg				;;
172045bc899bSmrg			-genix*)
172145bc899bSmrg				vendor=ns
172245bc899bSmrg				;;
172345bc899bSmrg			-mvs* | -opened*)
172445bc899bSmrg				vendor=ibm
172545bc899bSmrg				;;
172650f2e948Smrg			-os400*)
172750f2e948Smrg				vendor=ibm
172850f2e948Smrg				;;
172945bc899bSmrg			-ptx*)
173045bc899bSmrg				vendor=sequent
173145bc899bSmrg				;;
173250f2e948Smrg			-tpf*)
173350f2e948Smrg				vendor=ibm
173450f2e948Smrg				;;
173545bc899bSmrg			-vxsim* | -vxworks* | -windiss*)
173645bc899bSmrg				vendor=wrs
173745bc899bSmrg				;;
173845bc899bSmrg			-aux*)
173945bc899bSmrg				vendor=apple
174045bc899bSmrg				;;
174145bc899bSmrg			-hms*)
174245bc899bSmrg				vendor=hitachi
174345bc899bSmrg				;;
174445bc899bSmrg			-mpw* | -macos*)
174545bc899bSmrg				vendor=apple
174645bc899bSmrg				;;
174745bc899bSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
174845bc899bSmrg				vendor=atari
174945bc899bSmrg				;;
175045bc899bSmrg			-vos*)
175145bc899bSmrg				vendor=stratus
175245bc899bSmrg				;;
175345bc899bSmrg		esac
175445bc899bSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
175545bc899bSmrg		;;
175645bc899bSmrgesac
175745bc899bSmrg
175845bc899bSmrgecho $basic_machine$os
175950f2e948Smrgexit
176045bc899bSmrg
176145bc899bSmrg# Local variables:
176245bc899bSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176345bc899bSmrg# time-stamp-start: "timestamp='"
176445bc899bSmrg# time-stamp-format: "%:y-%02m-%02d"
176545bc899bSmrg# time-stamp-end: "'"
176645bc899bSmrg# End:
1767