config.sub revision 988795be
133c89af1Smrg#! /bin/sh
233c89af1Smrg# Configuration validation subroutine script.
333c89af1Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4988795beSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5988795beSmrg#   2011 Free Software Foundation, Inc.
633c89af1Smrg
7988795beSmrgtimestamp='2011-11-11'
833c89af1Smrg
933c89af1Smrg# This file is (in principle) common to ALL GNU software.
1033c89af1Smrg# The presence of a machine in this file suggests that SOME GNU software
1133c89af1Smrg# can handle that machine.  It does not imply ALL GNU software can.
1233c89af1Smrg#
1333c89af1Smrg# This file is free software; you can redistribute it and/or modify
1433c89af1Smrg# it under the terms of the GNU General Public License as published by
1533c89af1Smrg# the Free Software Foundation; either version 2 of the License, or
1633c89af1Smrg# (at your option) any later version.
1733c89af1Smrg#
1833c89af1Smrg# This program is distributed in the hope that it will be useful,
1933c89af1Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2033c89af1Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2133c89af1Smrg# GNU General Public License for more details.
2233c89af1Smrg#
2333c89af1Smrg# You should have received a copy of the GNU General Public License
2433c89af1Smrg# along with this program; if not, write to the Free Software
2533c89af1Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2633c89af1Smrg# 02110-1301, USA.
2733c89af1Smrg#
2833c89af1Smrg# As a special exception to the GNU General Public License, if you
2933c89af1Smrg# distribute this file as part of a program that contains a
3033c89af1Smrg# configuration script generated by Autoconf, you may include it under
3133c89af1Smrg# the same distribution terms that you use for the rest of that program.
3233c89af1Smrg
3333c89af1Smrg
3433c89af1Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3516d8e44fSmrg# diff and a properly formatted GNU ChangeLog entry.
3633c89af1Smrg#
3733c89af1Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3833c89af1Smrg# Supply the specified configuration type as an argument.
3933c89af1Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4033c89af1Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4133c89af1Smrg
4216d8e44fSmrg# You can get the latest version of this script from:
4316d8e44fSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4416d8e44fSmrg
4533c89af1Smrg# This file is supposed to be the same for all GNU packages
4633c89af1Smrg# and recognize all the CPU types, system types and aliases
4733c89af1Smrg# that are meaningful with *any* GNU software.
4833c89af1Smrg# Each package is responsible for reporting which valid configurations
4933c89af1Smrg# it does not support.  The user should be able to distinguish
5033c89af1Smrg# a failure to support a valid configuration from a meaningless
5133c89af1Smrg# configuration.
5233c89af1Smrg
5333c89af1Smrg# The goal of this file is to map all the various variations of a given
5433c89af1Smrg# machine specification into a single specification in the form:
5533c89af1Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5633c89af1Smrg# or in some cases, the newer four-part form:
5733c89af1Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5833c89af1Smrg# It is wrong to echo any other type of specification.
5933c89af1Smrg
6033c89af1Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6133c89af1Smrg
6233c89af1Smrgusage="\
6333c89af1SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6433c89af1Smrg       $0 [OPTION] ALIAS
6533c89af1Smrg
6633c89af1SmrgCanonicalize a configuration name.
6733c89af1Smrg
6833c89af1SmrgOperation modes:
6933c89af1Smrg  -h, --help         print this help, then exit
7033c89af1Smrg  -t, --time-stamp   print date of last modification, then exit
7133c89af1Smrg  -v, --version      print version number, then exit
7233c89af1Smrg
7333c89af1SmrgReport bugs and patches to <config-patches@gnu.org>."
7433c89af1Smrg
7533c89af1Smrgversion="\
7633c89af1SmrgGNU config.sub ($timestamp)
7733c89af1Smrg
7816d8e44fSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79988795beSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
8016d8e44fSmrgSoftware Foundation, Inc.
8133c89af1Smrg
8233c89af1SmrgThis is free software; see the source for copying conditions.  There is NO
8333c89af1Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8433c89af1Smrg
8533c89af1Smrghelp="
8633c89af1SmrgTry \`$me --help' for more information."
8733c89af1Smrg
8833c89af1Smrg# Parse command line
8933c89af1Smrgwhile test $# -gt 0 ; do
9033c89af1Smrg  case $1 in
9133c89af1Smrg    --time-stamp | --time* | -t )
9233c89af1Smrg       echo "$timestamp" ; exit ;;
9333c89af1Smrg    --version | -v )
9433c89af1Smrg       echo "$version" ; exit ;;
9533c89af1Smrg    --help | --h* | -h )
9633c89af1Smrg       echo "$usage"; exit ;;
9733c89af1Smrg    -- )     # Stop option processing
9833c89af1Smrg       shift; break ;;
9933c89af1Smrg    - )	# Use stdin as input.
10033c89af1Smrg       break ;;
10133c89af1Smrg    -* )
10233c89af1Smrg       echo "$me: invalid option $1$help"
10333c89af1Smrg       exit 1 ;;
10433c89af1Smrg
10533c89af1Smrg    *local*)
10633c89af1Smrg       # First pass through any local machine types.
10733c89af1Smrg       echo $1
10833c89af1Smrg       exit ;;
10933c89af1Smrg
11033c89af1Smrg    * )
11133c89af1Smrg       break ;;
11233c89af1Smrg  esac
11333c89af1Smrgdone
11433c89af1Smrg
11533c89af1Smrgcase $# in
11633c89af1Smrg 0) echo "$me: missing argument$help" >&2
11733c89af1Smrg    exit 1;;
11833c89af1Smrg 1) ;;
11933c89af1Smrg *) echo "$me: too many arguments$help" >&2
12033c89af1Smrg    exit 1;;
12133c89af1Smrgesac
12233c89af1Smrg
12333c89af1Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12433c89af1Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12533c89af1Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12633c89af1Smrgcase $maybe_os in
12716d8e44fSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12816d8e44fSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12916d8e44fSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130278eca22Smrg  kopensolaris*-gnu* | \
13133c89af1Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13233c89af1Smrg    os=-$maybe_os
13333c89af1Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13433c89af1Smrg    ;;
13533c89af1Smrg  *)
13633c89af1Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13733c89af1Smrg    if [ $basic_machine != $1 ]
13833c89af1Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13933c89af1Smrg    else os=; fi
14033c89af1Smrg    ;;
14133c89af1Smrgesac
14233c89af1Smrg
14333c89af1Smrg### Let's recognize common machines as not being operating systems so
14433c89af1Smrg### that things like config.sub decstation-3100 work.  We also
14533c89af1Smrg### recognize some manufacturers as not being operating systems, so we
14633c89af1Smrg### can provide default operating systems below.
14733c89af1Smrgcase $os in
14833c89af1Smrg	-sun*os*)
14933c89af1Smrg		# Prevent following clause from handling this invalid input.
15033c89af1Smrg		;;
15133c89af1Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15233c89af1Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15333c89af1Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15433c89af1Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15533c89af1Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15633c89af1Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15716d8e44fSmrg	-apple | -axis | -knuth | -cray | -microblaze)
15833c89af1Smrg		os=
15933c89af1Smrg		basic_machine=$1
16033c89af1Smrg		;;
161988795beSmrg	-bluegene*)
162988795beSmrg		os=-cnk
16316d8e44fSmrg		;;
16433c89af1Smrg	-sim | -cisco | -oki | -wec | -winbond)
16533c89af1Smrg		os=
16633c89af1Smrg		basic_machine=$1
16733c89af1Smrg		;;
16833c89af1Smrg	-scout)
16933c89af1Smrg		;;
17033c89af1Smrg	-wrs)
17133c89af1Smrg		os=-vxworks
17233c89af1Smrg		basic_machine=$1
17333c89af1Smrg		;;
17433c89af1Smrg	-chorusos*)
17533c89af1Smrg		os=-chorusos
17633c89af1Smrg		basic_machine=$1
17733c89af1Smrg		;;
178988795beSmrg	-chorusrdb)
179988795beSmrg		os=-chorusrdb
18033c89af1Smrg		basic_machine=$1
181988795beSmrg		;;
18233c89af1Smrg	-hiux*)
18333c89af1Smrg		os=-hiuxwe2
18433c89af1Smrg		;;
18533c89af1Smrg	-sco6)
18633c89af1Smrg		os=-sco5v6
18733c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18833c89af1Smrg		;;
18933c89af1Smrg	-sco5)
19033c89af1Smrg		os=-sco3.2v5
19133c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19233c89af1Smrg		;;
19333c89af1Smrg	-sco4)
19433c89af1Smrg		os=-sco3.2v4
19533c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19633c89af1Smrg		;;
19733c89af1Smrg	-sco3.2.[4-9]*)
19833c89af1Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19933c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20033c89af1Smrg		;;
20133c89af1Smrg	-sco3.2v[4-9]*)
20233c89af1Smrg		# Don't forget version if it is 3.2v4 or newer.
20333c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20433c89af1Smrg		;;
20533c89af1Smrg	-sco5v6*)
20633c89af1Smrg		# Don't forget version if it is 3.2v4 or newer.
20733c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20833c89af1Smrg		;;
20933c89af1Smrg	-sco*)
21033c89af1Smrg		os=-sco3.2v2
21133c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21233c89af1Smrg		;;
21333c89af1Smrg	-udk*)
21433c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21533c89af1Smrg		;;
21633c89af1Smrg	-isc)
21733c89af1Smrg		os=-isc2.2
21833c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21933c89af1Smrg		;;
22033c89af1Smrg	-clix*)
22133c89af1Smrg		basic_machine=clipper-intergraph
22233c89af1Smrg		;;
22333c89af1Smrg	-isc*)
22433c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22533c89af1Smrg		;;
22633c89af1Smrg	-lynx*)
22733c89af1Smrg		os=-lynxos
22833c89af1Smrg		;;
22933c89af1Smrg	-ptx*)
23033c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23133c89af1Smrg		;;
23233c89af1Smrg	-windowsnt*)
23333c89af1Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23433c89af1Smrg		;;
23533c89af1Smrg	-psos*)
23633c89af1Smrg		os=-psos
23733c89af1Smrg		;;
23833c89af1Smrg	-mint | -mint[0-9]*)
23933c89af1Smrg		basic_machine=m68k-atari
24033c89af1Smrg		os=-mint
24133c89af1Smrg		;;
24233c89af1Smrgesac
24333c89af1Smrg
24433c89af1Smrg# Decode aliases for certain CPU-COMPANY combinations.
24533c89af1Smrgcase $basic_machine in
24633c89af1Smrg	# Recognize the basic CPU types without company name.
24733c89af1Smrg	# Some are omitted here because they have special meanings below.
24833c89af1Smrg	1750a | 580 \
24933c89af1Smrg	| a29k \
25033c89af1Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25133c89af1Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25233c89af1Smrg	| am33_2.0 \
25333c89af1Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254988795beSmrg        | be32 | be64 \
25533c89af1Smrg	| bfin \
25633c89af1Smrg	| c4x | clipper \
25733c89af1Smrg	| d10v | d30v | dlx | dsp16xx \
258988795beSmrg	| epiphany \
25933c89af1Smrg	| fido | fr30 | frv \
26033c89af1Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261988795beSmrg	| hexagon \
26233c89af1Smrg	| i370 | i860 | i960 | ia64 \
26333c89af1Smrg	| ip2k | iq2000 \
264988795beSmrg	| le32 | le64 \
265278eca22Smrg	| lm32 \
26633c89af1Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267278eca22Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26833c89af1Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26933c89af1Smrg	| mips16 \
27033c89af1Smrg	| mips64 | mips64el \
271278eca22Smrg	| mips64octeon | mips64octeonel \
27233c89af1Smrg	| mips64orion | mips64orionel \
273278eca22Smrg	| mips64r5900 | mips64r5900el \
274278eca22Smrg	| mips64vr | mips64vrel \
27533c89af1Smrg	| mips64vr4100 | mips64vr4100el \
27633c89af1Smrg	| mips64vr4300 | mips64vr4300el \
27733c89af1Smrg	| mips64vr5000 | mips64vr5000el \
27833c89af1Smrg	| mips64vr5900 | mips64vr5900el \
27933c89af1Smrg	| mipsisa32 | mipsisa32el \
28033c89af1Smrg	| mipsisa32r2 | mipsisa32r2el \
28133c89af1Smrg	| mipsisa64 | mipsisa64el \
28233c89af1Smrg	| mipsisa64r2 | mipsisa64r2el \
28333c89af1Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28433c89af1Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28533c89af1Smrg	| mipstx39 | mipstx39el \
28633c89af1Smrg	| mn10200 | mn10300 \
287278eca22Smrg	| moxie \
28833c89af1Smrg	| mt \
28933c89af1Smrg	| msp430 \
29016d8e44fSmrg	| nds32 | nds32le | nds32be \
29133c89af1Smrg	| nios | nios2 \
29233c89af1Smrg	| ns16k | ns32k \
293988795beSmrg	| open8 \
29433c89af1Smrg	| or32 \
29533c89af1Smrg	| pdp10 | pdp11 | pj | pjl \
296988795beSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29733c89af1Smrg	| pyramid \
298988795beSmrg	| rl78 | rx \
29933c89af1Smrg	| score \
300278eca22Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30133c89af1Smrg	| sh64 | sh64le \
30233c89af1Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30333c89af1Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304988795beSmrg	| spu \
305988795beSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30616d8e44fSmrg	| ubicom32 \
307988795beSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30833c89af1Smrg	| we32k \
309988795beSmrg	| x86 | xc16x | xstormy16 | xtensa \
310278eca22Smrg	| z8k | z80)
31133c89af1Smrg		basic_machine=$basic_machine-unknown
31233c89af1Smrg		;;
31316d8e44fSmrg	c54x)
31416d8e44fSmrg		basic_machine=tic54x-unknown
31516d8e44fSmrg		;;
31616d8e44fSmrg	c55x)
31716d8e44fSmrg		basic_machine=tic55x-unknown
31816d8e44fSmrg		;;
31916d8e44fSmrg	c6x)
32016d8e44fSmrg		basic_machine=tic6x-unknown
32116d8e44fSmrg		;;
32216d8e44fSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32333c89af1Smrg		# Motorola 68HC11/12.
32433c89af1Smrg		basic_machine=$basic_machine-unknown
32533c89af1Smrg		os=-none
32633c89af1Smrg		;;
32733c89af1Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32833c89af1Smrg		;;
32933c89af1Smrg	ms1)
33033c89af1Smrg		basic_machine=mt-unknown
33133c89af1Smrg		;;
33233c89af1Smrg
333988795beSmrg	strongarm | thumb | xscale)
334988795beSmrg		basic_machine=arm-unknown
335988795beSmrg		;;
336988795beSmrg
337988795beSmrg	xscaleeb)
338988795beSmrg		basic_machine=armeb-unknown
339988795beSmrg		;;
340988795beSmrg
341988795beSmrg	xscaleel)
342988795beSmrg		basic_machine=armel-unknown
343988795beSmrg		;;
344988795beSmrg
34533c89af1Smrg	# We use `pc' rather than `unknown'
34633c89af1Smrg	# because (1) that's what they normally are, and
34733c89af1Smrg	# (2) the word "unknown" tends to confuse beginning users.
34833c89af1Smrg	i*86 | x86_64)
34933c89af1Smrg	  basic_machine=$basic_machine-pc
35033c89af1Smrg	  ;;
35133c89af1Smrg	# Object if more than one company name word.
35233c89af1Smrg	*-*-*)
35333c89af1Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35433c89af1Smrg		exit 1
35533c89af1Smrg		;;
35633c89af1Smrg	# Recognize the basic CPU types with company name.
35733c89af1Smrg	580-* \
35833c89af1Smrg	| a29k-* \
35933c89af1Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
36033c89af1Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36133c89af1Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36233c89af1Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
36333c89af1Smrg	| avr-* | avr32-* \
364988795beSmrg	| be32-* | be64-* \
36533c89af1Smrg	| bfin-* | bs2000-* \
36616d8e44fSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
36733c89af1Smrg	| clipper-* | craynv-* | cydra-* \
36833c89af1Smrg	| d10v-* | d30v-* | dlx-* \
36933c89af1Smrg	| elxsi-* \
37033c89af1Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37133c89af1Smrg	| h8300-* | h8500-* \
37233c89af1Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
373988795beSmrg	| hexagon-* \
37433c89af1Smrg	| i*86-* | i860-* | i960-* | ia64-* \
37533c89af1Smrg	| ip2k-* | iq2000-* \
376988795beSmrg	| le32-* | le64-* \
377278eca22Smrg	| lm32-* \
37833c89af1Smrg	| m32c-* | m32r-* | m32rle-* \
37933c89af1Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
38016d8e44fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38133c89af1Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38233c89af1Smrg	| mips16-* \
38333c89af1Smrg	| mips64-* | mips64el-* \
384278eca22Smrg	| mips64octeon-* | mips64octeonel-* \
38533c89af1Smrg	| mips64orion-* | mips64orionel-* \
386278eca22Smrg	| mips64r5900-* | mips64r5900el-* \
387278eca22Smrg	| mips64vr-* | mips64vrel-* \
38833c89af1Smrg	| mips64vr4100-* | mips64vr4100el-* \
38933c89af1Smrg	| mips64vr4300-* | mips64vr4300el-* \
39033c89af1Smrg	| mips64vr5000-* | mips64vr5000el-* \
39133c89af1Smrg	| mips64vr5900-* | mips64vr5900el-* \
39233c89af1Smrg	| mipsisa32-* | mipsisa32el-* \
39333c89af1Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
39433c89af1Smrg	| mipsisa64-* | mipsisa64el-* \
39533c89af1Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39633c89af1Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39733c89af1Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39833c89af1Smrg	| mipstx39-* | mipstx39el-* \
39933c89af1Smrg	| mmix-* \
40033c89af1Smrg	| mt-* \
40133c89af1Smrg	| msp430-* \
40216d8e44fSmrg	| nds32-* | nds32le-* | nds32be-* \
40333c89af1Smrg	| nios-* | nios2-* \
40433c89af1Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
405988795beSmrg	| open8-* \
40633c89af1Smrg	| orion-* \
40733c89af1Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
408988795beSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40933c89af1Smrg	| pyramid-* \
410988795beSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
411278eca22Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41233c89af1Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
41333c89af1Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
41433c89af1Smrg	| sparclite-* \
415988795beSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
416988795beSmrg	| tahoe-* \
41716d8e44fSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
418988795beSmrg	| tile*-* \
41933c89af1Smrg	| tron-* \
42016d8e44fSmrg	| ubicom32-* \
421988795beSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
422988795beSmrg	| vax-* \
42333c89af1Smrg	| we32k-* \
424988795beSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425278eca22Smrg	| xstormy16-* | xtensa*-* \
42633c89af1Smrg	| ymp-* \
427278eca22Smrg	| z8k-* | z80-*)
428278eca22Smrg		;;
429278eca22Smrg	# Recognize the basic CPU types without company name, with glob match.
430278eca22Smrg	xtensa*)
431278eca22Smrg		basic_machine=$basic_machine-unknown
43233c89af1Smrg		;;
43333c89af1Smrg	# Recognize the various machine names and aliases which stand
43433c89af1Smrg	# for a CPU type and a company and sometimes even an OS.
43533c89af1Smrg	386bsd)
43633c89af1Smrg		basic_machine=i386-unknown
43733c89af1Smrg		os=-bsd
43833c89af1Smrg		;;
43933c89af1Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
44033c89af1Smrg		basic_machine=m68000-att
44133c89af1Smrg		;;
44233c89af1Smrg	3b*)
44333c89af1Smrg		basic_machine=we32k-att
44433c89af1Smrg		;;
44533c89af1Smrg	a29khif)
44633c89af1Smrg		basic_machine=a29k-amd
44733c89af1Smrg		os=-udi
44833c89af1Smrg		;;
449988795beSmrg	abacus)
45033c89af1Smrg		basic_machine=abacus-unknown
45133c89af1Smrg		;;
45233c89af1Smrg	adobe68k)
45333c89af1Smrg		basic_machine=m68010-adobe
45433c89af1Smrg		os=-scout
45533c89af1Smrg		;;
45633c89af1Smrg	alliant | fx80)
45733c89af1Smrg		basic_machine=fx80-alliant
45833c89af1Smrg		;;
45933c89af1Smrg	altos | altos3068)
46033c89af1Smrg		basic_machine=m68k-altos
46133c89af1Smrg		;;
46233c89af1Smrg	am29k)
46333c89af1Smrg		basic_machine=a29k-none
46433c89af1Smrg		os=-bsd
46533c89af1Smrg		;;
46633c89af1Smrg	amd64)
46733c89af1Smrg		basic_machine=x86_64-pc
46833c89af1Smrg		;;
46933c89af1Smrg	amd64-*)
47033c89af1Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
47133c89af1Smrg		;;
47233c89af1Smrg	amdahl)
47333c89af1Smrg		basic_machine=580-amdahl
47433c89af1Smrg		os=-sysv
47533c89af1Smrg		;;
47633c89af1Smrg	amiga | amiga-*)
47733c89af1Smrg		basic_machine=m68k-unknown
47833c89af1Smrg		;;
47933c89af1Smrg	amigaos | amigados)
48033c89af1Smrg		basic_machine=m68k-unknown
48133c89af1Smrg		os=-amigaos
48233c89af1Smrg		;;
48333c89af1Smrg	amigaunix | amix)
48433c89af1Smrg		basic_machine=m68k-unknown
48533c89af1Smrg		os=-sysv4
48633c89af1Smrg		;;
48733c89af1Smrg	apollo68)
48833c89af1Smrg		basic_machine=m68k-apollo
48933c89af1Smrg		os=-sysv
49033c89af1Smrg		;;
49133c89af1Smrg	apollo68bsd)
49233c89af1Smrg		basic_machine=m68k-apollo
49333c89af1Smrg		os=-bsd
49433c89af1Smrg		;;
495278eca22Smrg	aros)
496278eca22Smrg		basic_machine=i386-pc
497278eca22Smrg		os=-aros
498278eca22Smrg		;;
49933c89af1Smrg	aux)
50033c89af1Smrg		basic_machine=m68k-apple
50133c89af1Smrg		os=-aux
50233c89af1Smrg		;;
50333c89af1Smrg	balance)
50433c89af1Smrg		basic_machine=ns32k-sequent
50533c89af1Smrg		os=-dynix
50633c89af1Smrg		;;
507278eca22Smrg	blackfin)
508278eca22Smrg		basic_machine=bfin-unknown
509278eca22Smrg		os=-linux
510278eca22Smrg		;;
511278eca22Smrg	blackfin-*)
512278eca22Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513278eca22Smrg		os=-linux
514278eca22Smrg		;;
51516d8e44fSmrg	bluegene*)
51616d8e44fSmrg		basic_machine=powerpc-ibm
51716d8e44fSmrg		os=-cnk
51816d8e44fSmrg		;;
51916d8e44fSmrg	c54x-*)
52016d8e44fSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
52116d8e44fSmrg		;;
52216d8e44fSmrg	c55x-*)
52316d8e44fSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
52416d8e44fSmrg		;;
52516d8e44fSmrg	c6x-*)
52616d8e44fSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
52716d8e44fSmrg		;;
52833c89af1Smrg	c90)
52933c89af1Smrg		basic_machine=c90-cray
53033c89af1Smrg		os=-unicos
53133c89af1Smrg		;;
532988795beSmrg	cegcc)
533278eca22Smrg		basic_machine=arm-unknown
534278eca22Smrg		os=-cegcc
535278eca22Smrg		;;
53633c89af1Smrg	convex-c1)
53733c89af1Smrg		basic_machine=c1-convex
53833c89af1Smrg		os=-bsd
53933c89af1Smrg		;;
54033c89af1Smrg	convex-c2)
54133c89af1Smrg		basic_machine=c2-convex
54233c89af1Smrg		os=-bsd
54333c89af1Smrg		;;
54433c89af1Smrg	convex-c32)
54533c89af1Smrg		basic_machine=c32-convex
54633c89af1Smrg		os=-bsd
54733c89af1Smrg		;;
54833c89af1Smrg	convex-c34)
54933c89af1Smrg		basic_machine=c34-convex
55033c89af1Smrg		os=-bsd
55133c89af1Smrg		;;
55233c89af1Smrg	convex-c38)
55333c89af1Smrg		basic_machine=c38-convex
55433c89af1Smrg		os=-bsd
55533c89af1Smrg		;;
55633c89af1Smrg	cray | j90)
55733c89af1Smrg		basic_machine=j90-cray
55833c89af1Smrg		os=-unicos
55933c89af1Smrg		;;
56033c89af1Smrg	craynv)
56133c89af1Smrg		basic_machine=craynv-cray
56233c89af1Smrg		os=-unicosmp
56333c89af1Smrg		;;
564988795beSmrg	cr16 | cr16-*)
565278eca22Smrg		basic_machine=cr16-unknown
56633c89af1Smrg		os=-elf
56733c89af1Smrg		;;
56833c89af1Smrg	crds | unos)
56933c89af1Smrg		basic_machine=m68k-crds
57033c89af1Smrg		;;
57133c89af1Smrg	crisv32 | crisv32-* | etraxfs*)
57233c89af1Smrg		basic_machine=crisv32-axis
57333c89af1Smrg		;;
57433c89af1Smrg	cris | cris-* | etrax*)
57533c89af1Smrg		basic_machine=cris-axis
57633c89af1Smrg		;;
57733c89af1Smrg	crx)
57833c89af1Smrg		basic_machine=crx-unknown
57933c89af1Smrg		os=-elf
58033c89af1Smrg		;;
58133c89af1Smrg	da30 | da30-*)
58233c89af1Smrg		basic_machine=m68k-da30
58333c89af1Smrg		;;
58433c89af1Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58533c89af1Smrg		basic_machine=mips-dec
58633c89af1Smrg		;;
58733c89af1Smrg	decsystem10* | dec10*)
58833c89af1Smrg		basic_machine=pdp10-dec
58933c89af1Smrg		os=-tops10
59033c89af1Smrg		;;
59133c89af1Smrg	decsystem20* | dec20*)
59233c89af1Smrg		basic_machine=pdp10-dec
59333c89af1Smrg		os=-tops20
59433c89af1Smrg		;;
59533c89af1Smrg	delta | 3300 | motorola-3300 | motorola-delta \
59633c89af1Smrg	      | 3300-motorola | delta-motorola)
59733c89af1Smrg		basic_machine=m68k-motorola
59833c89af1Smrg		;;
59933c89af1Smrg	delta88)
60033c89af1Smrg		basic_machine=m88k-motorola
60133c89af1Smrg		os=-sysv3
60233c89af1Smrg		;;
603278eca22Smrg	dicos)
604278eca22Smrg		basic_machine=i686-pc
605278eca22Smrg		os=-dicos
606278eca22Smrg		;;
60733c89af1Smrg	djgpp)
60833c89af1Smrg		basic_machine=i586-pc
60933c89af1Smrg		os=-msdosdjgpp
61033c89af1Smrg		;;
61133c89af1Smrg	dpx20 | dpx20-*)
61233c89af1Smrg		basic_machine=rs6000-bull
61333c89af1Smrg		os=-bosx
61433c89af1Smrg		;;
61533c89af1Smrg	dpx2* | dpx2*-bull)
61633c89af1Smrg		basic_machine=m68k-bull
61733c89af1Smrg		os=-sysv3
61833c89af1Smrg		;;
61933c89af1Smrg	ebmon29k)
62033c89af1Smrg		basic_machine=a29k-amd
62133c89af1Smrg		os=-ebmon
62233c89af1Smrg		;;
62333c89af1Smrg	elxsi)
62433c89af1Smrg		basic_machine=elxsi-elxsi
62533c89af1Smrg		os=-bsd
62633c89af1Smrg		;;
62733c89af1Smrg	encore | umax | mmax)
62833c89af1Smrg		basic_machine=ns32k-encore
62933c89af1Smrg		;;
63033c89af1Smrg	es1800 | OSE68k | ose68k | ose | OSE)
63133c89af1Smrg		basic_machine=m68k-ericsson
63233c89af1Smrg		os=-ose
63333c89af1Smrg		;;
63433c89af1Smrg	fx2800)
63533c89af1Smrg		basic_machine=i860-alliant
63633c89af1Smrg		;;
63733c89af1Smrg	genix)
63833c89af1Smrg		basic_machine=ns32k-ns
63933c89af1Smrg		;;
64033c89af1Smrg	gmicro)
64133c89af1Smrg		basic_machine=tron-gmicro
64233c89af1Smrg		os=-sysv
64333c89af1Smrg		;;
64433c89af1Smrg	go32)
64533c89af1Smrg		basic_machine=i386-pc
64633c89af1Smrg		os=-go32
64733c89af1Smrg		;;
64833c89af1Smrg	h3050r* | hiux*)
64933c89af1Smrg		basic_machine=hppa1.1-hitachi
65033c89af1Smrg		os=-hiuxwe2
65133c89af1Smrg		;;
65233c89af1Smrg	h8300hms)
65333c89af1Smrg		basic_machine=h8300-hitachi
65433c89af1Smrg		os=-hms
65533c89af1Smrg		;;
65633c89af1Smrg	h8300xray)
65733c89af1Smrg		basic_machine=h8300-hitachi
65833c89af1Smrg		os=-xray
65933c89af1Smrg		;;
66033c89af1Smrg	h8500hms)
66133c89af1Smrg		basic_machine=h8500-hitachi
66233c89af1Smrg		os=-hms
66333c89af1Smrg		;;
66433c89af1Smrg	harris)
66533c89af1Smrg		basic_machine=m88k-harris
66633c89af1Smrg		os=-sysv3
66733c89af1Smrg		;;
66833c89af1Smrg	hp300-*)
66933c89af1Smrg		basic_machine=m68k-hp
67033c89af1Smrg		;;
67133c89af1Smrg	hp300bsd)
67233c89af1Smrg		basic_machine=m68k-hp
67333c89af1Smrg		os=-bsd
67433c89af1Smrg		;;
67533c89af1Smrg	hp300hpux)
67633c89af1Smrg		basic_machine=m68k-hp
67733c89af1Smrg		os=-hpux
67833c89af1Smrg		;;
67933c89af1Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
68033c89af1Smrg		basic_machine=hppa1.0-hp
68133c89af1Smrg		;;
68233c89af1Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68333c89af1Smrg		basic_machine=m68000-hp
68433c89af1Smrg		;;
68533c89af1Smrg	hp9k3[2-9][0-9])
68633c89af1Smrg		basic_machine=m68k-hp
68733c89af1Smrg		;;
68833c89af1Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68933c89af1Smrg		basic_machine=hppa1.0-hp
69033c89af1Smrg		;;
69133c89af1Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69233c89af1Smrg		basic_machine=hppa1.1-hp
69333c89af1Smrg		;;
69433c89af1Smrg	hp9k78[0-9] | hp78[0-9])
69533c89af1Smrg		# FIXME: really hppa2.0-hp
69633c89af1Smrg		basic_machine=hppa1.1-hp
69733c89af1Smrg		;;
69833c89af1Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69933c89af1Smrg		# FIXME: really hppa2.0-hp
70033c89af1Smrg		basic_machine=hppa1.1-hp
70133c89af1Smrg		;;
70233c89af1Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70333c89af1Smrg		basic_machine=hppa1.1-hp
70433c89af1Smrg		;;
70533c89af1Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70633c89af1Smrg		basic_machine=hppa1.0-hp
70733c89af1Smrg		;;
70833c89af1Smrg	hppa-next)
70933c89af1Smrg		os=-nextstep3
71033c89af1Smrg		;;
71133c89af1Smrg	hppaosf)
71233c89af1Smrg		basic_machine=hppa1.1-hp
71333c89af1Smrg		os=-osf
71433c89af1Smrg		;;
71533c89af1Smrg	hppro)
71633c89af1Smrg		basic_machine=hppa1.1-hp
71733c89af1Smrg		os=-proelf
71833c89af1Smrg		;;
71933c89af1Smrg	i370-ibm* | ibm*)
72033c89af1Smrg		basic_machine=i370-ibm
72133c89af1Smrg		;;
72233c89af1Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
72333c89af1Smrg	i*86v32)
72433c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72533c89af1Smrg		os=-sysv32
72633c89af1Smrg		;;
72733c89af1Smrg	i*86v4*)
72833c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72933c89af1Smrg		os=-sysv4
73033c89af1Smrg		;;
73133c89af1Smrg	i*86v)
73233c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73333c89af1Smrg		os=-sysv
73433c89af1Smrg		;;
73533c89af1Smrg	i*86sol2)
73633c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73733c89af1Smrg		os=-solaris2
73833c89af1Smrg		;;
73933c89af1Smrg	i386mach)
74033c89af1Smrg		basic_machine=i386-mach
74133c89af1Smrg		os=-mach
74233c89af1Smrg		;;
74333c89af1Smrg	i386-vsta | vsta)
74433c89af1Smrg		basic_machine=i386-unknown
74533c89af1Smrg		os=-vsta
74633c89af1Smrg		;;
74733c89af1Smrg	iris | iris4d)
74833c89af1Smrg		basic_machine=mips-sgi
74933c89af1Smrg		case $os in
75033c89af1Smrg		    -irix*)
75133c89af1Smrg			;;
75233c89af1Smrg		    *)
75333c89af1Smrg			os=-irix4
75433c89af1Smrg			;;
75533c89af1Smrg		esac
75633c89af1Smrg		;;
75733c89af1Smrg	isi68 | isi)
75833c89af1Smrg		basic_machine=m68k-isi
75933c89af1Smrg		os=-sysv
76033c89af1Smrg		;;
761278eca22Smrg	m68knommu)
762278eca22Smrg		basic_machine=m68k-unknown
763278eca22Smrg		os=-linux
764278eca22Smrg		;;
765278eca22Smrg	m68knommu-*)
766278eca22Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767278eca22Smrg		os=-linux
768278eca22Smrg		;;
76933c89af1Smrg	m88k-omron*)
77033c89af1Smrg		basic_machine=m88k-omron
77133c89af1Smrg		;;
77233c89af1Smrg	magnum | m3230)
77333c89af1Smrg		basic_machine=mips-mips
77433c89af1Smrg		os=-sysv
77533c89af1Smrg		;;
77633c89af1Smrg	merlin)
77733c89af1Smrg		basic_machine=ns32k-utek
77833c89af1Smrg		os=-sysv
77933c89af1Smrg		;;
780988795beSmrg	microblaze)
78116d8e44fSmrg		basic_machine=microblaze-xilinx
78216d8e44fSmrg		;;
78333c89af1Smrg	mingw32)
78433c89af1Smrg		basic_machine=i386-pc
78533c89af1Smrg		os=-mingw32
78633c89af1Smrg		;;
787278eca22Smrg	mingw32ce)
788278eca22Smrg		basic_machine=arm-unknown
789278eca22Smrg		os=-mingw32ce
790278eca22Smrg		;;
79133c89af1Smrg	miniframe)
79233c89af1Smrg		basic_machine=m68000-convergent
79333c89af1Smrg		;;
79433c89af1Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79533c89af1Smrg		basic_machine=m68k-atari
79633c89af1Smrg		os=-mint
79733c89af1Smrg		;;
79833c89af1Smrg	mips3*-*)
79933c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
80033c89af1Smrg		;;
80133c89af1Smrg	mips3*)
80233c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80333c89af1Smrg		;;
80433c89af1Smrg	monitor)
80533c89af1Smrg		basic_machine=m68k-rom68k
80633c89af1Smrg		os=-coff
80733c89af1Smrg		;;
80833c89af1Smrg	morphos)
80933c89af1Smrg		basic_machine=powerpc-unknown
81033c89af1Smrg		os=-morphos
81133c89af1Smrg		;;
81233c89af1Smrg	msdos)
81333c89af1Smrg		basic_machine=i386-pc
81433c89af1Smrg		os=-msdos
81533c89af1Smrg		;;
81633c89af1Smrg	ms1-*)
81733c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81833c89af1Smrg		;;
819988795beSmrg	msys)
820988795beSmrg		basic_machine=i386-pc
821988795beSmrg		os=-msys
822988795beSmrg		;;
82333c89af1Smrg	mvs)
82433c89af1Smrg		basic_machine=i370-ibm
82533c89af1Smrg		os=-mvs
82633c89af1Smrg		;;
827988795beSmrg	nacl)
828988795beSmrg		basic_machine=le32-unknown
829988795beSmrg		os=-nacl
830988795beSmrg		;;
83133c89af1Smrg	ncr3000)
83233c89af1Smrg		basic_machine=i486-ncr
83333c89af1Smrg		os=-sysv4
83433c89af1Smrg		;;
83533c89af1Smrg	netbsd386)
83633c89af1Smrg		basic_machine=i386-unknown
83733c89af1Smrg		os=-netbsd
83833c89af1Smrg		;;
83933c89af1Smrg	netwinder)
84033c89af1Smrg		basic_machine=armv4l-rebel
84133c89af1Smrg		os=-linux
84233c89af1Smrg		;;
84333c89af1Smrg	news | news700 | news800 | news900)
84433c89af1Smrg		basic_machine=m68k-sony
84533c89af1Smrg		os=-newsos
84633c89af1Smrg		;;
84733c89af1Smrg	news1000)
84833c89af1Smrg		basic_machine=m68030-sony
84933c89af1Smrg		os=-newsos
85033c89af1Smrg		;;
85133c89af1Smrg	news-3600 | risc-news)
85233c89af1Smrg		basic_machine=mips-sony
85333c89af1Smrg		os=-newsos
85433c89af1Smrg		;;
85533c89af1Smrg	necv70)
85633c89af1Smrg		basic_machine=v70-nec
85733c89af1Smrg		os=-sysv
85833c89af1Smrg		;;
85933c89af1Smrg	next | m*-next )
86033c89af1Smrg		basic_machine=m68k-next
86133c89af1Smrg		case $os in
86233c89af1Smrg		    -nextstep* )
86333c89af1Smrg			;;
86433c89af1Smrg		    -ns2*)
86533c89af1Smrg		      os=-nextstep2
86633c89af1Smrg			;;
86733c89af1Smrg		    *)
86833c89af1Smrg		      os=-nextstep3
86933c89af1Smrg			;;
87033c89af1Smrg		esac
87133c89af1Smrg		;;
87233c89af1Smrg	nh3000)
87333c89af1Smrg		basic_machine=m68k-harris
87433c89af1Smrg		os=-cxux
87533c89af1Smrg		;;
87633c89af1Smrg	nh[45]000)
87733c89af1Smrg		basic_machine=m88k-harris
87833c89af1Smrg		os=-cxux
87933c89af1Smrg		;;
88033c89af1Smrg	nindy960)
88133c89af1Smrg		basic_machine=i960-intel
88233c89af1Smrg		os=-nindy
88333c89af1Smrg		;;
88433c89af1Smrg	mon960)
88533c89af1Smrg		basic_machine=i960-intel
88633c89af1Smrg		os=-mon960
88733c89af1Smrg		;;
88833c89af1Smrg	nonstopux)
88933c89af1Smrg		basic_machine=mips-compaq
89033c89af1Smrg		os=-nonstopux
89133c89af1Smrg		;;
89233c89af1Smrg	np1)
89333c89af1Smrg		basic_machine=np1-gould
89433c89af1Smrg		;;
895988795beSmrg	neo-tandem)
89616d8e44fSmrg		basic_machine=neo-tandem
89716d8e44fSmrg		;;
898988795beSmrg	nse-tandem)
89916d8e44fSmrg		basic_machine=nse-tandem
90016d8e44fSmrg		;;
90133c89af1Smrg	nsr-tandem)
90233c89af1Smrg		basic_machine=nsr-tandem
90333c89af1Smrg		;;
90433c89af1Smrg	op50n-* | op60c-*)
90533c89af1Smrg		basic_machine=hppa1.1-oki
90633c89af1Smrg		os=-proelf
90733c89af1Smrg		;;
90833c89af1Smrg	openrisc | openrisc-*)
90933c89af1Smrg		basic_machine=or32-unknown
91033c89af1Smrg		;;
91133c89af1Smrg	os400)
91233c89af1Smrg		basic_machine=powerpc-ibm
91333c89af1Smrg		os=-os400
91433c89af1Smrg		;;
91533c89af1Smrg	OSE68000 | ose68000)
91633c89af1Smrg		basic_machine=m68000-ericsson
91733c89af1Smrg		os=-ose
91833c89af1Smrg		;;
91933c89af1Smrg	os68k)
92033c89af1Smrg		basic_machine=m68k-none
92133c89af1Smrg		os=-os68k
92233c89af1Smrg		;;
92333c89af1Smrg	pa-hitachi)
92433c89af1Smrg		basic_machine=hppa1.1-hitachi
92533c89af1Smrg		os=-hiuxwe2
92633c89af1Smrg		;;
92733c89af1Smrg	paragon)
92833c89af1Smrg		basic_machine=i860-intel
92933c89af1Smrg		os=-osf
93033c89af1Smrg		;;
931278eca22Smrg	parisc)
932278eca22Smrg		basic_machine=hppa-unknown
933278eca22Smrg		os=-linux
934278eca22Smrg		;;
935278eca22Smrg	parisc-*)
936278eca22Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937278eca22Smrg		os=-linux
938278eca22Smrg		;;
93933c89af1Smrg	pbd)
94033c89af1Smrg		basic_machine=sparc-tti
94133c89af1Smrg		;;
94233c89af1Smrg	pbb)
94333c89af1Smrg		basic_machine=m68k-tti
94433c89af1Smrg		;;
94533c89af1Smrg	pc532 | pc532-*)
94633c89af1Smrg		basic_machine=ns32k-pc532
94733c89af1Smrg		;;
94833c89af1Smrg	pc98)
94933c89af1Smrg		basic_machine=i386-pc
95033c89af1Smrg		;;
95133c89af1Smrg	pc98-*)
95233c89af1Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
95333c89af1Smrg		;;
95433c89af1Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95533c89af1Smrg		basic_machine=i586-pc
95633c89af1Smrg		;;
95733c89af1Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95833c89af1Smrg		basic_machine=i686-pc
95933c89af1Smrg		;;
96033c89af1Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
96133c89af1Smrg		basic_machine=i686-pc
96233c89af1Smrg		;;
96333c89af1Smrg	pentium4)
96433c89af1Smrg		basic_machine=i786-pc
96533c89af1Smrg		;;
96633c89af1Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96733c89af1Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96833c89af1Smrg		;;
96933c89af1Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
97033c89af1Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97133c89af1Smrg		;;
97233c89af1Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97333c89af1Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97433c89af1Smrg		;;
97533c89af1Smrg	pentium4-*)
97633c89af1Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97733c89af1Smrg		;;
97833c89af1Smrg	pn)
97933c89af1Smrg		basic_machine=pn-gould
98033c89af1Smrg		;;
98133c89af1Smrg	power)	basic_machine=power-ibm
98233c89af1Smrg		;;
983988795beSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98433c89af1Smrg		;;
985988795beSmrg	ppc-* | ppcbe-*)
986988795beSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98733c89af1Smrg		;;
98833c89af1Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98933c89af1Smrg		basic_machine=powerpcle-unknown
99033c89af1Smrg		;;
99133c89af1Smrg	ppcle-* | powerpclittle-*)
99233c89af1Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99333c89af1Smrg		;;
99433c89af1Smrg	ppc64)	basic_machine=powerpc64-unknown
99533c89af1Smrg		;;
99633c89af1Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99733c89af1Smrg		;;
99833c89af1Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99933c89af1Smrg		basic_machine=powerpc64le-unknown
100033c89af1Smrg		;;
100133c89af1Smrg	ppc64le-* | powerpc64little-*)
100233c89af1Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100333c89af1Smrg		;;
100433c89af1Smrg	ps2)
100533c89af1Smrg		basic_machine=i386-ibm
100633c89af1Smrg		;;
100733c89af1Smrg	pw32)
100833c89af1Smrg		basic_machine=i586-unknown
100933c89af1Smrg		os=-pw32
101033c89af1Smrg		;;
101133c89af1Smrg	rdos)
101233c89af1Smrg		basic_machine=i386-pc
101333c89af1Smrg		os=-rdos
101433c89af1Smrg		;;
101533c89af1Smrg	rom68k)
101633c89af1Smrg		basic_machine=m68k-rom68k
101733c89af1Smrg		os=-coff
101833c89af1Smrg		;;
101933c89af1Smrg	rm[46]00)
102033c89af1Smrg		basic_machine=mips-siemens
102133c89af1Smrg		;;
102233c89af1Smrg	rtpc | rtpc-*)
102333c89af1Smrg		basic_machine=romp-ibm
102433c89af1Smrg		;;
102533c89af1Smrg	s390 | s390-*)
102633c89af1Smrg		basic_machine=s390-ibm
102733c89af1Smrg		;;
102833c89af1Smrg	s390x | s390x-*)
102933c89af1Smrg		basic_machine=s390x-ibm
103033c89af1Smrg		;;
103133c89af1Smrg	sa29200)
103233c89af1Smrg		basic_machine=a29k-amd
103333c89af1Smrg		os=-udi
103433c89af1Smrg		;;
103533c89af1Smrg	sb1)
103633c89af1Smrg		basic_machine=mipsisa64sb1-unknown
103733c89af1Smrg		;;
103833c89af1Smrg	sb1el)
103933c89af1Smrg		basic_machine=mipsisa64sb1el-unknown
104033c89af1Smrg		;;
104133c89af1Smrg	sde)
104233c89af1Smrg		basic_machine=mipsisa32-sde
104333c89af1Smrg		os=-elf
104433c89af1Smrg		;;
104533c89af1Smrg	sei)
104633c89af1Smrg		basic_machine=mips-sei
104733c89af1Smrg		os=-seiux
104833c89af1Smrg		;;
104933c89af1Smrg	sequent)
105033c89af1Smrg		basic_machine=i386-sequent
105133c89af1Smrg		;;
105233c89af1Smrg	sh)
105333c89af1Smrg		basic_machine=sh-hitachi
105433c89af1Smrg		os=-hms
105533c89af1Smrg		;;
105633c89af1Smrg	sh5el)
105733c89af1Smrg		basic_machine=sh5le-unknown
105833c89af1Smrg		;;
105933c89af1Smrg	sh64)
106033c89af1Smrg		basic_machine=sh64-unknown
106133c89af1Smrg		;;
106233c89af1Smrg	sparclite-wrs | simso-wrs)
106333c89af1Smrg		basic_machine=sparclite-wrs
106433c89af1Smrg		os=-vxworks
106533c89af1Smrg		;;
106633c89af1Smrg	sps7)
106733c89af1Smrg		basic_machine=m68k-bull
106833c89af1Smrg		os=-sysv2
106933c89af1Smrg		;;
107033c89af1Smrg	spur)
107133c89af1Smrg		basic_machine=spur-unknown
107233c89af1Smrg		;;
107333c89af1Smrg	st2000)
107433c89af1Smrg		basic_machine=m68k-tandem
107533c89af1Smrg		;;
107633c89af1Smrg	stratus)
107733c89af1Smrg		basic_machine=i860-stratus
107833c89af1Smrg		os=-sysv4
107933c89af1Smrg		;;
1080988795beSmrg	strongarm-* | thumb-*)
1081988795beSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1082988795beSmrg		;;
108333c89af1Smrg	sun2)
108433c89af1Smrg		basic_machine=m68000-sun
108533c89af1Smrg		;;
108633c89af1Smrg	sun2os3)
108733c89af1Smrg		basic_machine=m68000-sun
108833c89af1Smrg		os=-sunos3
108933c89af1Smrg		;;
109033c89af1Smrg	sun2os4)
109133c89af1Smrg		basic_machine=m68000-sun
109233c89af1Smrg		os=-sunos4
109333c89af1Smrg		;;
109433c89af1Smrg	sun3os3)
109533c89af1Smrg		basic_machine=m68k-sun
109633c89af1Smrg		os=-sunos3
109733c89af1Smrg		;;
109833c89af1Smrg	sun3os4)
109933c89af1Smrg		basic_machine=m68k-sun
110033c89af1Smrg		os=-sunos4
110133c89af1Smrg		;;
110233c89af1Smrg	sun4os3)
110333c89af1Smrg		basic_machine=sparc-sun
110433c89af1Smrg		os=-sunos3
110533c89af1Smrg		;;
110633c89af1Smrg	sun4os4)
110733c89af1Smrg		basic_machine=sparc-sun
110833c89af1Smrg		os=-sunos4
110933c89af1Smrg		;;
111033c89af1Smrg	sun4sol2)
111133c89af1Smrg		basic_machine=sparc-sun
111233c89af1Smrg		os=-solaris2
111333c89af1Smrg		;;
111433c89af1Smrg	sun3 | sun3-*)
111533c89af1Smrg		basic_machine=m68k-sun
111633c89af1Smrg		;;
111733c89af1Smrg	sun4)
111833c89af1Smrg		basic_machine=sparc-sun
111933c89af1Smrg		;;
112033c89af1Smrg	sun386 | sun386i | roadrunner)
112133c89af1Smrg		basic_machine=i386-sun
112233c89af1Smrg		;;
112333c89af1Smrg	sv1)
112433c89af1Smrg		basic_machine=sv1-cray
112533c89af1Smrg		os=-unicos
112633c89af1Smrg		;;
112733c89af1Smrg	symmetry)
112833c89af1Smrg		basic_machine=i386-sequent
112933c89af1Smrg		os=-dynix
113033c89af1Smrg		;;
113133c89af1Smrg	t3e)
113233c89af1Smrg		basic_machine=alphaev5-cray
113333c89af1Smrg		os=-unicos
113433c89af1Smrg		;;
113533c89af1Smrg	t90)
113633c89af1Smrg		basic_machine=t90-cray
113733c89af1Smrg		os=-unicos
113833c89af1Smrg		;;
1139278eca22Smrg	tile*)
1140988795beSmrg		basic_machine=$basic_machine-unknown
1141278eca22Smrg		os=-linux-gnu
1142278eca22Smrg		;;
114333c89af1Smrg	tx39)
114433c89af1Smrg		basic_machine=mipstx39-unknown
114533c89af1Smrg		;;
114633c89af1Smrg	tx39el)
114733c89af1Smrg		basic_machine=mipstx39el-unknown
114833c89af1Smrg		;;
114933c89af1Smrg	toad1)
115033c89af1Smrg		basic_machine=pdp10-xkl
115133c89af1Smrg		os=-tops20
115233c89af1Smrg		;;
115333c89af1Smrg	tower | tower-32)
115433c89af1Smrg		basic_machine=m68k-ncr
115533c89af1Smrg		;;
115633c89af1Smrg	tpf)
115733c89af1Smrg		basic_machine=s390x-ibm
115833c89af1Smrg		os=-tpf
115933c89af1Smrg		;;
116033c89af1Smrg	udi29k)
116133c89af1Smrg		basic_machine=a29k-amd
116233c89af1Smrg		os=-udi
116333c89af1Smrg		;;
116433c89af1Smrg	ultra3)
116533c89af1Smrg		basic_machine=a29k-nyu
116633c89af1Smrg		os=-sym1
116733c89af1Smrg		;;
116833c89af1Smrg	v810 | necv810)
116933c89af1Smrg		basic_machine=v810-nec
117033c89af1Smrg		os=-none
117133c89af1Smrg		;;
117233c89af1Smrg	vaxv)
117333c89af1Smrg		basic_machine=vax-dec
117433c89af1Smrg		os=-sysv
117533c89af1Smrg		;;
117633c89af1Smrg	vms)
117733c89af1Smrg		basic_machine=vax-dec
117833c89af1Smrg		os=-vms
117933c89af1Smrg		;;
118033c89af1Smrg	vpp*|vx|vx-*)
118133c89af1Smrg		basic_machine=f301-fujitsu
118233c89af1Smrg		;;
118333c89af1Smrg	vxworks960)
118433c89af1Smrg		basic_machine=i960-wrs
118533c89af1Smrg		os=-vxworks
118633c89af1Smrg		;;
118733c89af1Smrg	vxworks68)
118833c89af1Smrg		basic_machine=m68k-wrs
118933c89af1Smrg		os=-vxworks
119033c89af1Smrg		;;
119133c89af1Smrg	vxworks29k)
119233c89af1Smrg		basic_machine=a29k-wrs
119333c89af1Smrg		os=-vxworks
119433c89af1Smrg		;;
119533c89af1Smrg	w65*)
119633c89af1Smrg		basic_machine=w65-wdc
119733c89af1Smrg		os=-none
119833c89af1Smrg		;;
119933c89af1Smrg	w89k-*)
120033c89af1Smrg		basic_machine=hppa1.1-winbond
120133c89af1Smrg		os=-proelf
120233c89af1Smrg		;;
120333c89af1Smrg	xbox)
120433c89af1Smrg		basic_machine=i686-pc
120533c89af1Smrg		os=-mingw32
120633c89af1Smrg		;;
120733c89af1Smrg	xps | xps100)
120833c89af1Smrg		basic_machine=xps100-honeywell
120933c89af1Smrg		;;
1210988795beSmrg	xscale-* | xscalee[bl]-*)
1211988795beSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1212988795beSmrg		;;
121333c89af1Smrg	ymp)
121433c89af1Smrg		basic_machine=ymp-cray
121533c89af1Smrg		os=-unicos
121633c89af1Smrg		;;
121733c89af1Smrg	z8k-*-coff)
121833c89af1Smrg		basic_machine=z8k-unknown
121933c89af1Smrg		os=-sim
122033c89af1Smrg		;;
1221278eca22Smrg	z80-*-coff)
1222278eca22Smrg		basic_machine=z80-unknown
1223278eca22Smrg		os=-sim
1224278eca22Smrg		;;
122533c89af1Smrg	none)
122633c89af1Smrg		basic_machine=none-none
122733c89af1Smrg		os=-none
122833c89af1Smrg		;;
122933c89af1Smrg
123033c89af1Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
123133c89af1Smrg# some cases the only manufacturer, in others, it is the most popular.
123233c89af1Smrg	w89k)
123333c89af1Smrg		basic_machine=hppa1.1-winbond
123433c89af1Smrg		;;
123533c89af1Smrg	op50n)
123633c89af1Smrg		basic_machine=hppa1.1-oki
123733c89af1Smrg		;;
123833c89af1Smrg	op60c)
123933c89af1Smrg		basic_machine=hppa1.1-oki
124033c89af1Smrg		;;
124133c89af1Smrg	romp)
124233c89af1Smrg		basic_machine=romp-ibm
124333c89af1Smrg		;;
124433c89af1Smrg	mmix)
124533c89af1Smrg		basic_machine=mmix-knuth
124633c89af1Smrg		;;
124733c89af1Smrg	rs6000)
124833c89af1Smrg		basic_machine=rs6000-ibm
124933c89af1Smrg		;;
125033c89af1Smrg	vax)
125133c89af1Smrg		basic_machine=vax-dec
125233c89af1Smrg		;;
125333c89af1Smrg	pdp10)
125433c89af1Smrg		# there are many clones, so DEC is not a safe bet
125533c89af1Smrg		basic_machine=pdp10-unknown
125633c89af1Smrg		;;
125733c89af1Smrg	pdp11)
125833c89af1Smrg		basic_machine=pdp11-dec
125933c89af1Smrg		;;
126033c89af1Smrg	we32k)
126133c89af1Smrg		basic_machine=we32k-att
126233c89af1Smrg		;;
1263278eca22Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126433c89af1Smrg		basic_machine=sh-unknown
126533c89af1Smrg		;;
126633c89af1Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126733c89af1Smrg		basic_machine=sparc-sun
126833c89af1Smrg		;;
126933c89af1Smrg	cydra)
127033c89af1Smrg		basic_machine=cydra-cydrome
127133c89af1Smrg		;;
127233c89af1Smrg	orion)
127333c89af1Smrg		basic_machine=orion-highlevel
127433c89af1Smrg		;;
127533c89af1Smrg	orion105)
127633c89af1Smrg		basic_machine=clipper-highlevel
127733c89af1Smrg		;;
127833c89af1Smrg	mac | mpw | mac-mpw)
127933c89af1Smrg		basic_machine=m68k-apple
128033c89af1Smrg		;;
128133c89af1Smrg	pmac | pmac-mpw)
128233c89af1Smrg		basic_machine=powerpc-apple
128333c89af1Smrg		;;
128433c89af1Smrg	*-unknown)
128533c89af1Smrg		# Make sure to match an already-canonicalized machine name.
128633c89af1Smrg		;;
128733c89af1Smrg	*)
128833c89af1Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128933c89af1Smrg		exit 1
129033c89af1Smrg		;;
129133c89af1Smrgesac
129233c89af1Smrg
129333c89af1Smrg# Here we canonicalize certain aliases for manufacturers.
129433c89af1Smrgcase $basic_machine in
129533c89af1Smrg	*-digital*)
129633c89af1Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129733c89af1Smrg		;;
129833c89af1Smrg	*-commodore*)
129933c89af1Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
130033c89af1Smrg		;;
130133c89af1Smrg	*)
130233c89af1Smrg		;;
130333c89af1Smrgesac
130433c89af1Smrg
130533c89af1Smrg# Decode manufacturer-specific aliases for certain operating systems.
130633c89af1Smrg
130733c89af1Smrgif [ x"$os" != x"" ]
130833c89af1Smrgthen
130933c89af1Smrgcase $os in
1310988795beSmrg	# First match some system type aliases
1311988795beSmrg	# that might get confused with valid system types.
131233c89af1Smrg	# -solaris* is a basic system type, with this one exception.
1313988795beSmrg	-auroraux)
1314988795beSmrg		os=-auroraux
131516d8e44fSmrg		;;
131633c89af1Smrg	-solaris1 | -solaris1.*)
131733c89af1Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131833c89af1Smrg		;;
131933c89af1Smrg	-solaris)
132033c89af1Smrg		os=-solaris2
132133c89af1Smrg		;;
132233c89af1Smrg	-svr4*)
132333c89af1Smrg		os=-sysv4
132433c89af1Smrg		;;
132533c89af1Smrg	-unixware*)
132633c89af1Smrg		os=-sysv4.2uw
132733c89af1Smrg		;;
132833c89af1Smrg	-gnu/linux*)
132933c89af1Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
133033c89af1Smrg		;;
133133c89af1Smrg	# First accept the basic system types.
133233c89af1Smrg	# The portable systems comes first.
133333c89af1Smrg	# Each alternative MUST END IN A *, to match a version number.
133433c89af1Smrg	# -sysv* is not here because it comes later, after sysvr4.
133533c89af1Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
133616d8e44fSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
133716d8e44fSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
133816d8e44fSmrg	      | -sym* | -kopensolaris* \
133933c89af1Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1340278eca22Smrg	      | -aos* | -aros* \
134133c89af1Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134233c89af1Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
134333c89af1Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
134433c89af1Smrg	      | -openbsd* | -solidbsd* \
134533c89af1Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
134633c89af1Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134733c89af1Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134833c89af1Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1349278eca22Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1350988795beSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
135116d8e44fSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
135216d8e44fSmrg	      | -linux-newlib* | -linux-uclibc* \
135333c89af1Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135433c89af1Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135533c89af1Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135633c89af1Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135733c89af1Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135833c89af1Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
135933c89af1Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
136016d8e44fSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
136133c89af1Smrg	# Remember, each alternative MUST END IN *, to match a version number.
136233c89af1Smrg		;;
136333c89af1Smrg	-qnx*)
136433c89af1Smrg		case $basic_machine in
136533c89af1Smrg		    x86-* | i*86-*)
136633c89af1Smrg			;;
136733c89af1Smrg		    *)
136833c89af1Smrg			os=-nto$os
136933c89af1Smrg			;;
137033c89af1Smrg		esac
137133c89af1Smrg		;;
137233c89af1Smrg	-nto-qnx*)
137333c89af1Smrg		;;
137433c89af1Smrg	-nto*)
137533c89af1Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137633c89af1Smrg		;;
137733c89af1Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
137833c89af1Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137933c89af1Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
138033c89af1Smrg		;;
138133c89af1Smrg	-mac*)
138233c89af1Smrg		os=`echo $os | sed -e 's|mac|macos|'`
138333c89af1Smrg		;;
138433c89af1Smrg	-linux-dietlibc)
138533c89af1Smrg		os=-linux-dietlibc
138633c89af1Smrg		;;
138733c89af1Smrg	-linux*)
138833c89af1Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138933c89af1Smrg		;;
139033c89af1Smrg	-sunos5*)
139133c89af1Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139233c89af1Smrg		;;
139333c89af1Smrg	-sunos6*)
139433c89af1Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139533c89af1Smrg		;;
139633c89af1Smrg	-opened*)
139733c89af1Smrg		os=-openedition
139833c89af1Smrg		;;
1399988795beSmrg	-os400*)
140033c89af1Smrg		os=-os400
140133c89af1Smrg		;;
140233c89af1Smrg	-wince*)
140333c89af1Smrg		os=-wince
140433c89af1Smrg		;;
140533c89af1Smrg	-osfrose*)
140633c89af1Smrg		os=-osfrose
140733c89af1Smrg		;;
140833c89af1Smrg	-osf*)
140933c89af1Smrg		os=-osf
141033c89af1Smrg		;;
141133c89af1Smrg	-utek*)
141233c89af1Smrg		os=-bsd
141333c89af1Smrg		;;
141433c89af1Smrg	-dynix*)
141533c89af1Smrg		os=-bsd
141633c89af1Smrg		;;
141733c89af1Smrg	-acis*)
141833c89af1Smrg		os=-aos
141933c89af1Smrg		;;
142033c89af1Smrg	-atheos*)
142133c89af1Smrg		os=-atheos
142233c89af1Smrg		;;
142333c89af1Smrg	-syllable*)
142433c89af1Smrg		os=-syllable
142533c89af1Smrg		;;
142633c89af1Smrg	-386bsd)
142733c89af1Smrg		os=-bsd
142833c89af1Smrg		;;
142933c89af1Smrg	-ctix* | -uts*)
143033c89af1Smrg		os=-sysv
143133c89af1Smrg		;;
143233c89af1Smrg	-nova*)
143333c89af1Smrg		os=-rtmk-nova
143433c89af1Smrg		;;
143533c89af1Smrg	-ns2 )
143633c89af1Smrg		os=-nextstep2
143733c89af1Smrg		;;
143833c89af1Smrg	-nsk*)
143933c89af1Smrg		os=-nsk
144033c89af1Smrg		;;
144133c89af1Smrg	# Preserve the version number of sinix5.
144233c89af1Smrg	-sinix5.*)
144333c89af1Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144433c89af1Smrg		;;
144533c89af1Smrg	-sinix*)
144633c89af1Smrg		os=-sysv4
144733c89af1Smrg		;;
1448988795beSmrg	-tpf*)
144933c89af1Smrg		os=-tpf
145033c89af1Smrg		;;
145133c89af1Smrg	-triton*)
145233c89af1Smrg		os=-sysv3
145333c89af1Smrg		;;
145433c89af1Smrg	-oss*)
145533c89af1Smrg		os=-sysv3
145633c89af1Smrg		;;
145733c89af1Smrg	-svr4)
145833c89af1Smrg		os=-sysv4
145933c89af1Smrg		;;
146033c89af1Smrg	-svr3)
146133c89af1Smrg		os=-sysv3
146233c89af1Smrg		;;
146333c89af1Smrg	-sysvr4)
146433c89af1Smrg		os=-sysv4
146533c89af1Smrg		;;
146633c89af1Smrg	# This must come after -sysvr4.
146733c89af1Smrg	-sysv*)
146833c89af1Smrg		;;
146933c89af1Smrg	-ose*)
147033c89af1Smrg		os=-ose
147133c89af1Smrg		;;
147233c89af1Smrg	-es1800*)
147333c89af1Smrg		os=-ose
147433c89af1Smrg		;;
147533c89af1Smrg	-xenix)
147633c89af1Smrg		os=-xenix
147733c89af1Smrg		;;
147833c89af1Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147933c89af1Smrg		os=-mint
148033c89af1Smrg		;;
148133c89af1Smrg	-aros*)
148233c89af1Smrg		os=-aros
148333c89af1Smrg		;;
148433c89af1Smrg	-kaos*)
148533c89af1Smrg		os=-kaos
148633c89af1Smrg		;;
148733c89af1Smrg	-zvmoe)
148833c89af1Smrg		os=-zvmoe
148933c89af1Smrg		;;
1490278eca22Smrg	-dicos*)
1491278eca22Smrg		os=-dicos
1492278eca22Smrg		;;
1493988795beSmrg	-nacl*)
1494988795beSmrg		;;
149533c89af1Smrg	-none)
149633c89af1Smrg		;;
149733c89af1Smrg	*)
149833c89af1Smrg		# Get rid of the `-' at the beginning of $os.
149933c89af1Smrg		os=`echo $os | sed 's/[^-]*-//'`
150033c89af1Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
150133c89af1Smrg		exit 1
150233c89af1Smrg		;;
150333c89af1Smrgesac
150433c89af1Smrgelse
150533c89af1Smrg
150633c89af1Smrg# Here we handle the default operating systems that come with various machines.
150733c89af1Smrg# The value should be what the vendor currently ships out the door with their
150833c89af1Smrg# machine or put another way, the most popular os provided with the machine.
150933c89af1Smrg
151033c89af1Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
151133c89af1Smrg# "-sun"), then you have to tell the case statement up towards the top
151233c89af1Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151333c89af1Smrg# will signal an error saying that MANUFACTURER isn't an operating
151433c89af1Smrg# system, and we'll never get to this point.
151533c89af1Smrg
151633c89af1Smrgcase $basic_machine in
1517988795beSmrg	score-*)
151833c89af1Smrg		os=-elf
151933c89af1Smrg		;;
1520988795beSmrg	spu-*)
152133c89af1Smrg		os=-elf
152233c89af1Smrg		;;
152333c89af1Smrg	*-acorn)
152433c89af1Smrg		os=-riscix1.2
152533c89af1Smrg		;;
152633c89af1Smrg	arm*-rebel)
152733c89af1Smrg		os=-linux
152833c89af1Smrg		;;
152933c89af1Smrg	arm*-semi)
153033c89af1Smrg		os=-aout
153133c89af1Smrg		;;
1532988795beSmrg	c4x-* | tic4x-*)
1533988795beSmrg		os=-coff
153433c89af1Smrg		;;
153516d8e44fSmrg	tic54x-*)
153616d8e44fSmrg		os=-coff
153716d8e44fSmrg		;;
153816d8e44fSmrg	tic55x-*)
153916d8e44fSmrg		os=-coff
154016d8e44fSmrg		;;
154116d8e44fSmrg	tic6x-*)
154216d8e44fSmrg		os=-coff
154316d8e44fSmrg		;;
154433c89af1Smrg	# This must come before the *-dec entry.
154533c89af1Smrg	pdp10-*)
154633c89af1Smrg		os=-tops20
154733c89af1Smrg		;;
154833c89af1Smrg	pdp11-*)
154933c89af1Smrg		os=-none
155033c89af1Smrg		;;
155133c89af1Smrg	*-dec | vax-*)
155233c89af1Smrg		os=-ultrix4.2
155333c89af1Smrg		;;
155433c89af1Smrg	m68*-apollo)
155533c89af1Smrg		os=-domain
155633c89af1Smrg		;;
155733c89af1Smrg	i386-sun)
155833c89af1Smrg		os=-sunos4.0.2
155933c89af1Smrg		;;
156033c89af1Smrg	m68000-sun)
156133c89af1Smrg		os=-sunos3
156233c89af1Smrg		# This also exists in the configure program, but was not the
156333c89af1Smrg		# default.
156433c89af1Smrg		# os=-sunos4
156533c89af1Smrg		;;
156633c89af1Smrg	m68*-cisco)
156733c89af1Smrg		os=-aout
156833c89af1Smrg		;;
1569988795beSmrg	mep-*)
1570278eca22Smrg		os=-elf
1571278eca22Smrg		;;
157233c89af1Smrg	mips*-cisco)
157333c89af1Smrg		os=-elf
157433c89af1Smrg		;;
157533c89af1Smrg	mips*-*)
157633c89af1Smrg		os=-elf
157733c89af1Smrg		;;
157833c89af1Smrg	or32-*)
157933c89af1Smrg		os=-coff
158033c89af1Smrg		;;
158133c89af1Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
158233c89af1Smrg		os=-sysv3
158333c89af1Smrg		;;
158433c89af1Smrg	sparc-* | *-sun)
158533c89af1Smrg		os=-sunos4.1.1
158633c89af1Smrg		;;
158733c89af1Smrg	*-be)
158833c89af1Smrg		os=-beos
158933c89af1Smrg		;;
159033c89af1Smrg	*-haiku)
159133c89af1Smrg		os=-haiku
159233c89af1Smrg		;;
159333c89af1Smrg	*-ibm)
159433c89af1Smrg		os=-aix
159533c89af1Smrg		;;
1596988795beSmrg	*-knuth)
159733c89af1Smrg		os=-mmixware
159833c89af1Smrg		;;
159933c89af1Smrg	*-wec)
160033c89af1Smrg		os=-proelf
160133c89af1Smrg		;;
160233c89af1Smrg	*-winbond)
160333c89af1Smrg		os=-proelf
160433c89af1Smrg		;;
160533c89af1Smrg	*-oki)
160633c89af1Smrg		os=-proelf
160733c89af1Smrg		;;
160833c89af1Smrg	*-hp)
160933c89af1Smrg		os=-hpux
161033c89af1Smrg		;;
161133c89af1Smrg	*-hitachi)
161233c89af1Smrg		os=-hiux
161333c89af1Smrg		;;
161433c89af1Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161533c89af1Smrg		os=-sysv
161633c89af1Smrg		;;
161733c89af1Smrg	*-cbm)
161833c89af1Smrg		os=-amigaos
161933c89af1Smrg		;;
162033c89af1Smrg	*-dg)
162133c89af1Smrg		os=-dgux
162233c89af1Smrg		;;
162333c89af1Smrg	*-dolphin)
162433c89af1Smrg		os=-sysv3
162533c89af1Smrg		;;
162633c89af1Smrg	m68k-ccur)
162733c89af1Smrg		os=-rtu
162833c89af1Smrg		;;
162933c89af1Smrg	m88k-omron*)
163033c89af1Smrg		os=-luna
163133c89af1Smrg		;;
163233c89af1Smrg	*-next )
163333c89af1Smrg		os=-nextstep
163433c89af1Smrg		;;
163533c89af1Smrg	*-sequent)
163633c89af1Smrg		os=-ptx
163733c89af1Smrg		;;
163833c89af1Smrg	*-crds)
163933c89af1Smrg		os=-unos
164033c89af1Smrg		;;
164133c89af1Smrg	*-ns)
164233c89af1Smrg		os=-genix
164333c89af1Smrg		;;
164433c89af1Smrg	i370-*)
164533c89af1Smrg		os=-mvs
164633c89af1Smrg		;;
164733c89af1Smrg	*-next)
164833c89af1Smrg		os=-nextstep3
164933c89af1Smrg		;;
165033c89af1Smrg	*-gould)
165133c89af1Smrg		os=-sysv
165233c89af1Smrg		;;
165333c89af1Smrg	*-highlevel)
165433c89af1Smrg		os=-bsd
165533c89af1Smrg		;;
165633c89af1Smrg	*-encore)
165733c89af1Smrg		os=-bsd
165833c89af1Smrg		;;
165933c89af1Smrg	*-sgi)
166033c89af1Smrg		os=-irix
166133c89af1Smrg		;;
166233c89af1Smrg	*-siemens)
166333c89af1Smrg		os=-sysv4
166433c89af1Smrg		;;
166533c89af1Smrg	*-masscomp)
166633c89af1Smrg		os=-rtu
166733c89af1Smrg		;;
166833c89af1Smrg	f30[01]-fujitsu | f700-fujitsu)
166933c89af1Smrg		os=-uxpv
167033c89af1Smrg		;;
167133c89af1Smrg	*-rom68k)
167233c89af1Smrg		os=-coff
167333c89af1Smrg		;;
167433c89af1Smrg	*-*bug)
167533c89af1Smrg		os=-coff
167633c89af1Smrg		;;
167733c89af1Smrg	*-apple)
167833c89af1Smrg		os=-macos
167933c89af1Smrg		;;
168033c89af1Smrg	*-atari*)
168133c89af1Smrg		os=-mint
168233c89af1Smrg		;;
168333c89af1Smrg	*)
168433c89af1Smrg		os=-none
168533c89af1Smrg		;;
168633c89af1Smrgesac
168733c89af1Smrgfi
168833c89af1Smrg
168933c89af1Smrg# Here we handle the case where we know the os, and the CPU type, but not the
169033c89af1Smrg# manufacturer.  We pick the logical manufacturer.
169133c89af1Smrgvendor=unknown
169233c89af1Smrgcase $basic_machine in
169333c89af1Smrg	*-unknown)
169433c89af1Smrg		case $os in
169533c89af1Smrg			-riscix*)
169633c89af1Smrg				vendor=acorn
169733c89af1Smrg				;;
169833c89af1Smrg			-sunos*)
169933c89af1Smrg				vendor=sun
170033c89af1Smrg				;;
170116d8e44fSmrg			-cnk*|-aix*)
170233c89af1Smrg				vendor=ibm
170333c89af1Smrg				;;
170433c89af1Smrg			-beos*)
170533c89af1Smrg				vendor=be
170633c89af1Smrg				;;
170733c89af1Smrg			-hpux*)
170833c89af1Smrg				vendor=hp
170933c89af1Smrg				;;
171033c89af1Smrg			-mpeix*)
171133c89af1Smrg				vendor=hp
171233c89af1Smrg				;;
171333c89af1Smrg			-hiux*)
171433c89af1Smrg				vendor=hitachi
171533c89af1Smrg				;;
171633c89af1Smrg			-unos*)
171733c89af1Smrg				vendor=crds
171833c89af1Smrg				;;
171933c89af1Smrg			-dgux*)
172033c89af1Smrg				vendor=dg
172133c89af1Smrg				;;
172233c89af1Smrg			-luna*)
172333c89af1Smrg				vendor=omron
172433c89af1Smrg				;;
172533c89af1Smrg			-genix*)
172633c89af1Smrg				vendor=ns
172733c89af1Smrg				;;
172833c89af1Smrg			-mvs* | -opened*)
172933c89af1Smrg				vendor=ibm
173033c89af1Smrg				;;
173133c89af1Smrg			-os400*)
173233c89af1Smrg				vendor=ibm
173333c89af1Smrg				;;
173433c89af1Smrg			-ptx*)
173533c89af1Smrg				vendor=sequent
173633c89af1Smrg				;;
173733c89af1Smrg			-tpf*)
173833c89af1Smrg				vendor=ibm
173933c89af1Smrg				;;
174033c89af1Smrg			-vxsim* | -vxworks* | -windiss*)
174133c89af1Smrg				vendor=wrs
174233c89af1Smrg				;;
174333c89af1Smrg			-aux*)
174433c89af1Smrg				vendor=apple
174533c89af1Smrg				;;
174633c89af1Smrg			-hms*)
174733c89af1Smrg				vendor=hitachi
174833c89af1Smrg				;;
174933c89af1Smrg			-mpw* | -macos*)
175033c89af1Smrg				vendor=apple
175133c89af1Smrg				;;
175233c89af1Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
175333c89af1Smrg				vendor=atari
175433c89af1Smrg				;;
175533c89af1Smrg			-vos*)
175633c89af1Smrg				vendor=stratus
175733c89af1Smrg				;;
175833c89af1Smrg		esac
175933c89af1Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
176033c89af1Smrg		;;
176133c89af1Smrgesac
176233c89af1Smrg
176333c89af1Smrgecho $basic_machine$os
176433c89af1Smrgexit
176533c89af1Smrg
176633c89af1Smrg# Local variables:
176733c89af1Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176833c89af1Smrg# time-stamp-start: "timestamp='"
176933c89af1Smrg# time-stamp-format: "%:y-%02m-%02d"
177033c89af1Smrg# time-stamp-end: "'"
177133c89af1Smrg# End:
1772