config.sub revision 16d8e44f
133c89af1Smrg#! /bin/sh
233c89af1Smrg# Configuration validation subroutine script.
333c89af1Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
416d8e44fSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5278eca22Smrg#   Free Software Foundation, Inc.
633c89af1Smrg
716d8e44fSmrgtimestamp='2010-09-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,
7916d8e44fSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 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		;;
16116d8e44fSmrg        -bluegene*)
16216d8e44fSmrg	        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		;;
17833c89af1Smrg 	-chorusrdb)
17933c89af1Smrg 		os=-chorusrdb
18033c89af1Smrg		basic_machine=$1
18133c89af1Smrg 		;;
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 \
25433c89af1Smrg	| bfin \
25533c89af1Smrg	| c4x | clipper \
25633c89af1Smrg	| d10v | d30v | dlx | dsp16xx \
25733c89af1Smrg	| fido | fr30 | frv \
25833c89af1Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25933c89af1Smrg	| i370 | i860 | i960 | ia64 \
26033c89af1Smrg	| ip2k | iq2000 \
261278eca22Smrg	| lm32 \
26233c89af1Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263278eca22Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26433c89af1Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26533c89af1Smrg	| mips16 \
26633c89af1Smrg	| mips64 | mips64el \
267278eca22Smrg	| mips64octeon | mips64octeonel \
26833c89af1Smrg	| mips64orion | mips64orionel \
269278eca22Smrg	| mips64r5900 | mips64r5900el \
270278eca22Smrg	| mips64vr | mips64vrel \
27133c89af1Smrg	| mips64vr4100 | mips64vr4100el \
27233c89af1Smrg	| mips64vr4300 | mips64vr4300el \
27333c89af1Smrg	| mips64vr5000 | mips64vr5000el \
27433c89af1Smrg	| mips64vr5900 | mips64vr5900el \
27533c89af1Smrg	| mipsisa32 | mipsisa32el \
27633c89af1Smrg	| mipsisa32r2 | mipsisa32r2el \
27733c89af1Smrg	| mipsisa64 | mipsisa64el \
27833c89af1Smrg	| mipsisa64r2 | mipsisa64r2el \
27933c89af1Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28033c89af1Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28133c89af1Smrg	| mipstx39 | mipstx39el \
28233c89af1Smrg	| mn10200 | mn10300 \
283278eca22Smrg	| moxie \
28433c89af1Smrg	| mt \
28533c89af1Smrg	| msp430 \
28616d8e44fSmrg	| nds32 | nds32le | nds32be \
28733c89af1Smrg	| nios | nios2 \
28833c89af1Smrg	| ns16k | ns32k \
28933c89af1Smrg	| or32 \
29033c89af1Smrg	| pdp10 | pdp11 | pj | pjl \
29133c89af1Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29233c89af1Smrg	| pyramid \
29316d8e44fSmrg	| rx \
29433c89af1Smrg	| score \
295278eca22Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29633c89af1Smrg	| sh64 | sh64le \
29733c89af1Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29833c89af1Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29933c89af1Smrg	| spu | strongarm \
30016d8e44fSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30116d8e44fSmrg	| ubicom32 \
30233c89af1Smrg	| v850 | v850e \
30333c89af1Smrg	| we32k \
30433c89af1Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305278eca22Smrg	| z8k | z80)
30633c89af1Smrg		basic_machine=$basic_machine-unknown
30733c89af1Smrg		;;
30816d8e44fSmrg	c54x)
30916d8e44fSmrg		basic_machine=tic54x-unknown
31016d8e44fSmrg		;;
31116d8e44fSmrg	c55x)
31216d8e44fSmrg		basic_machine=tic55x-unknown
31316d8e44fSmrg		;;
31416d8e44fSmrg	c6x)
31516d8e44fSmrg		basic_machine=tic6x-unknown
31616d8e44fSmrg		;;
31716d8e44fSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31833c89af1Smrg		# Motorola 68HC11/12.
31933c89af1Smrg		basic_machine=$basic_machine-unknown
32033c89af1Smrg		os=-none
32133c89af1Smrg		;;
32233c89af1Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32333c89af1Smrg		;;
32433c89af1Smrg	ms1)
32533c89af1Smrg		basic_machine=mt-unknown
32633c89af1Smrg		;;
32733c89af1Smrg
32833c89af1Smrg	# We use `pc' rather than `unknown'
32933c89af1Smrg	# because (1) that's what they normally are, and
33033c89af1Smrg	# (2) the word "unknown" tends to confuse beginning users.
33133c89af1Smrg	i*86 | x86_64)
33233c89af1Smrg	  basic_machine=$basic_machine-pc
33333c89af1Smrg	  ;;
33433c89af1Smrg	# Object if more than one company name word.
33533c89af1Smrg	*-*-*)
33633c89af1Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33733c89af1Smrg		exit 1
33833c89af1Smrg		;;
33933c89af1Smrg	# Recognize the basic CPU types with company name.
34033c89af1Smrg	580-* \
34133c89af1Smrg	| a29k-* \
34233c89af1Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34333c89af1Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34433c89af1Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34533c89af1Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34633c89af1Smrg	| avr-* | avr32-* \
34733c89af1Smrg	| bfin-* | bs2000-* \
34816d8e44fSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34933c89af1Smrg	| clipper-* | craynv-* | cydra-* \
35033c89af1Smrg	| d10v-* | d30v-* | dlx-* \
35133c89af1Smrg	| elxsi-* \
35233c89af1Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35333c89af1Smrg	| h8300-* | h8500-* \
35433c89af1Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35533c89af1Smrg	| i*86-* | i860-* | i960-* | ia64-* \
35633c89af1Smrg	| ip2k-* | iq2000-* \
357278eca22Smrg	| lm32-* \
35833c89af1Smrg	| m32c-* | m32r-* | m32rle-* \
35933c89af1Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36016d8e44fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36133c89af1Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36233c89af1Smrg	| mips16-* \
36333c89af1Smrg	| mips64-* | mips64el-* \
364278eca22Smrg	| mips64octeon-* | mips64octeonel-* \
36533c89af1Smrg	| mips64orion-* | mips64orionel-* \
366278eca22Smrg	| mips64r5900-* | mips64r5900el-* \
367278eca22Smrg	| mips64vr-* | mips64vrel-* \
36833c89af1Smrg	| mips64vr4100-* | mips64vr4100el-* \
36933c89af1Smrg	| mips64vr4300-* | mips64vr4300el-* \
37033c89af1Smrg	| mips64vr5000-* | mips64vr5000el-* \
37133c89af1Smrg	| mips64vr5900-* | mips64vr5900el-* \
37233c89af1Smrg	| mipsisa32-* | mipsisa32el-* \
37333c89af1Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
37433c89af1Smrg	| mipsisa64-* | mipsisa64el-* \
37533c89af1Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
37633c89af1Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37733c89af1Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37833c89af1Smrg	| mipstx39-* | mipstx39el-* \
37933c89af1Smrg	| mmix-* \
38033c89af1Smrg	| mt-* \
38133c89af1Smrg	| msp430-* \
38216d8e44fSmrg	| nds32-* | nds32le-* | nds32be-* \
38333c89af1Smrg	| nios-* | nios2-* \
38433c89af1Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
38533c89af1Smrg	| orion-* \
38633c89af1Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38733c89af1Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38833c89af1Smrg	| pyramid-* \
38916d8e44fSmrg	| romp-* | rs6000-* | rx-* \
390278eca22Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39133c89af1Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39233c89af1Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39333c89af1Smrg	| sparclite-* \
39433c89af1Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39533c89af1Smrg	| tahoe-* | thumb-* \
39616d8e44fSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39716d8e44fSmrg	| tile-* | tilegx-* \
39833c89af1Smrg	| tron-* \
39916d8e44fSmrg	| ubicom32-* \
40033c89af1Smrg	| v850-* | v850e-* | vax-* \
40133c89af1Smrg	| we32k-* \
40233c89af1Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403278eca22Smrg	| xstormy16-* | xtensa*-* \
40433c89af1Smrg	| ymp-* \
405278eca22Smrg	| z8k-* | z80-*)
406278eca22Smrg		;;
407278eca22Smrg	# Recognize the basic CPU types without company name, with glob match.
408278eca22Smrg	xtensa*)
409278eca22Smrg		basic_machine=$basic_machine-unknown
41033c89af1Smrg		;;
41133c89af1Smrg	# Recognize the various machine names and aliases which stand
41233c89af1Smrg	# for a CPU type and a company and sometimes even an OS.
41333c89af1Smrg	386bsd)
41433c89af1Smrg		basic_machine=i386-unknown
41533c89af1Smrg		os=-bsd
41633c89af1Smrg		;;
41733c89af1Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41833c89af1Smrg		basic_machine=m68000-att
41933c89af1Smrg		;;
42033c89af1Smrg	3b*)
42133c89af1Smrg		basic_machine=we32k-att
42233c89af1Smrg		;;
42333c89af1Smrg	a29khif)
42433c89af1Smrg		basic_machine=a29k-amd
42533c89af1Smrg		os=-udi
42633c89af1Smrg		;;
42733c89af1Smrg    	abacus)
42833c89af1Smrg		basic_machine=abacus-unknown
42933c89af1Smrg		;;
43033c89af1Smrg	adobe68k)
43133c89af1Smrg		basic_machine=m68010-adobe
43233c89af1Smrg		os=-scout
43333c89af1Smrg		;;
43433c89af1Smrg	alliant | fx80)
43533c89af1Smrg		basic_machine=fx80-alliant
43633c89af1Smrg		;;
43733c89af1Smrg	altos | altos3068)
43833c89af1Smrg		basic_machine=m68k-altos
43933c89af1Smrg		;;
44033c89af1Smrg	am29k)
44133c89af1Smrg		basic_machine=a29k-none
44233c89af1Smrg		os=-bsd
44333c89af1Smrg		;;
44433c89af1Smrg	amd64)
44533c89af1Smrg		basic_machine=x86_64-pc
44633c89af1Smrg		;;
44733c89af1Smrg	amd64-*)
44833c89af1Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44933c89af1Smrg		;;
45033c89af1Smrg	amdahl)
45133c89af1Smrg		basic_machine=580-amdahl
45233c89af1Smrg		os=-sysv
45333c89af1Smrg		;;
45433c89af1Smrg	amiga | amiga-*)
45533c89af1Smrg		basic_machine=m68k-unknown
45633c89af1Smrg		;;
45733c89af1Smrg	amigaos | amigados)
45833c89af1Smrg		basic_machine=m68k-unknown
45933c89af1Smrg		os=-amigaos
46033c89af1Smrg		;;
46133c89af1Smrg	amigaunix | amix)
46233c89af1Smrg		basic_machine=m68k-unknown
46333c89af1Smrg		os=-sysv4
46433c89af1Smrg		;;
46533c89af1Smrg	apollo68)
46633c89af1Smrg		basic_machine=m68k-apollo
46733c89af1Smrg		os=-sysv
46833c89af1Smrg		;;
46933c89af1Smrg	apollo68bsd)
47033c89af1Smrg		basic_machine=m68k-apollo
47133c89af1Smrg		os=-bsd
47233c89af1Smrg		;;
473278eca22Smrg	aros)
474278eca22Smrg		basic_machine=i386-pc
475278eca22Smrg		os=-aros
476278eca22Smrg		;;
47733c89af1Smrg	aux)
47833c89af1Smrg		basic_machine=m68k-apple
47933c89af1Smrg		os=-aux
48033c89af1Smrg		;;
48133c89af1Smrg	balance)
48233c89af1Smrg		basic_machine=ns32k-sequent
48333c89af1Smrg		os=-dynix
48433c89af1Smrg		;;
485278eca22Smrg	blackfin)
486278eca22Smrg		basic_machine=bfin-unknown
487278eca22Smrg		os=-linux
488278eca22Smrg		;;
489278eca22Smrg	blackfin-*)
490278eca22Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491278eca22Smrg		os=-linux
492278eca22Smrg		;;
49316d8e44fSmrg	bluegene*)
49416d8e44fSmrg		basic_machine=powerpc-ibm
49516d8e44fSmrg		os=-cnk
49616d8e44fSmrg		;;
49716d8e44fSmrg	c54x-*)
49816d8e44fSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49916d8e44fSmrg		;;
50016d8e44fSmrg	c55x-*)
50116d8e44fSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50216d8e44fSmrg		;;
50316d8e44fSmrg	c6x-*)
50416d8e44fSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50516d8e44fSmrg		;;
50633c89af1Smrg	c90)
50733c89af1Smrg		basic_machine=c90-cray
50833c89af1Smrg		os=-unicos
50933c89af1Smrg		;;
510278eca22Smrg        cegcc)
511278eca22Smrg		basic_machine=arm-unknown
512278eca22Smrg		os=-cegcc
513278eca22Smrg		;;
51433c89af1Smrg	convex-c1)
51533c89af1Smrg		basic_machine=c1-convex
51633c89af1Smrg		os=-bsd
51733c89af1Smrg		;;
51833c89af1Smrg	convex-c2)
51933c89af1Smrg		basic_machine=c2-convex
52033c89af1Smrg		os=-bsd
52133c89af1Smrg		;;
52233c89af1Smrg	convex-c32)
52333c89af1Smrg		basic_machine=c32-convex
52433c89af1Smrg		os=-bsd
52533c89af1Smrg		;;
52633c89af1Smrg	convex-c34)
52733c89af1Smrg		basic_machine=c34-convex
52833c89af1Smrg		os=-bsd
52933c89af1Smrg		;;
53033c89af1Smrg	convex-c38)
53133c89af1Smrg		basic_machine=c38-convex
53233c89af1Smrg		os=-bsd
53333c89af1Smrg		;;
53433c89af1Smrg	cray | j90)
53533c89af1Smrg		basic_machine=j90-cray
53633c89af1Smrg		os=-unicos
53733c89af1Smrg		;;
53833c89af1Smrg	craynv)
53933c89af1Smrg		basic_machine=craynv-cray
54033c89af1Smrg		os=-unicosmp
54133c89af1Smrg		;;
542278eca22Smrg	cr16)
543278eca22Smrg		basic_machine=cr16-unknown
54433c89af1Smrg		os=-elf
54533c89af1Smrg		;;
54633c89af1Smrg	crds | unos)
54733c89af1Smrg		basic_machine=m68k-crds
54833c89af1Smrg		;;
54933c89af1Smrg	crisv32 | crisv32-* | etraxfs*)
55033c89af1Smrg		basic_machine=crisv32-axis
55133c89af1Smrg		;;
55233c89af1Smrg	cris | cris-* | etrax*)
55333c89af1Smrg		basic_machine=cris-axis
55433c89af1Smrg		;;
55533c89af1Smrg	crx)
55633c89af1Smrg		basic_machine=crx-unknown
55733c89af1Smrg		os=-elf
55833c89af1Smrg		;;
55933c89af1Smrg	da30 | da30-*)
56033c89af1Smrg		basic_machine=m68k-da30
56133c89af1Smrg		;;
56233c89af1Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56333c89af1Smrg		basic_machine=mips-dec
56433c89af1Smrg		;;
56533c89af1Smrg	decsystem10* | dec10*)
56633c89af1Smrg		basic_machine=pdp10-dec
56733c89af1Smrg		os=-tops10
56833c89af1Smrg		;;
56933c89af1Smrg	decsystem20* | dec20*)
57033c89af1Smrg		basic_machine=pdp10-dec
57133c89af1Smrg		os=-tops20
57233c89af1Smrg		;;
57333c89af1Smrg	delta | 3300 | motorola-3300 | motorola-delta \
57433c89af1Smrg	      | 3300-motorola | delta-motorola)
57533c89af1Smrg		basic_machine=m68k-motorola
57633c89af1Smrg		;;
57733c89af1Smrg	delta88)
57833c89af1Smrg		basic_machine=m88k-motorola
57933c89af1Smrg		os=-sysv3
58033c89af1Smrg		;;
581278eca22Smrg	dicos)
582278eca22Smrg		basic_machine=i686-pc
583278eca22Smrg		os=-dicos
584278eca22Smrg		;;
58533c89af1Smrg	djgpp)
58633c89af1Smrg		basic_machine=i586-pc
58733c89af1Smrg		os=-msdosdjgpp
58833c89af1Smrg		;;
58933c89af1Smrg	dpx20 | dpx20-*)
59033c89af1Smrg		basic_machine=rs6000-bull
59133c89af1Smrg		os=-bosx
59233c89af1Smrg		;;
59333c89af1Smrg	dpx2* | dpx2*-bull)
59433c89af1Smrg		basic_machine=m68k-bull
59533c89af1Smrg		os=-sysv3
59633c89af1Smrg		;;
59733c89af1Smrg	ebmon29k)
59833c89af1Smrg		basic_machine=a29k-amd
59933c89af1Smrg		os=-ebmon
60033c89af1Smrg		;;
60133c89af1Smrg	elxsi)
60233c89af1Smrg		basic_machine=elxsi-elxsi
60333c89af1Smrg		os=-bsd
60433c89af1Smrg		;;
60533c89af1Smrg	encore | umax | mmax)
60633c89af1Smrg		basic_machine=ns32k-encore
60733c89af1Smrg		;;
60833c89af1Smrg	es1800 | OSE68k | ose68k | ose | OSE)
60933c89af1Smrg		basic_machine=m68k-ericsson
61033c89af1Smrg		os=-ose
61133c89af1Smrg		;;
61233c89af1Smrg	fx2800)
61333c89af1Smrg		basic_machine=i860-alliant
61433c89af1Smrg		;;
61533c89af1Smrg	genix)
61633c89af1Smrg		basic_machine=ns32k-ns
61733c89af1Smrg		;;
61833c89af1Smrg	gmicro)
61933c89af1Smrg		basic_machine=tron-gmicro
62033c89af1Smrg		os=-sysv
62133c89af1Smrg		;;
62233c89af1Smrg	go32)
62333c89af1Smrg		basic_machine=i386-pc
62433c89af1Smrg		os=-go32
62533c89af1Smrg		;;
62633c89af1Smrg	h3050r* | hiux*)
62733c89af1Smrg		basic_machine=hppa1.1-hitachi
62833c89af1Smrg		os=-hiuxwe2
62933c89af1Smrg		;;
63033c89af1Smrg	h8300hms)
63133c89af1Smrg		basic_machine=h8300-hitachi
63233c89af1Smrg		os=-hms
63333c89af1Smrg		;;
63433c89af1Smrg	h8300xray)
63533c89af1Smrg		basic_machine=h8300-hitachi
63633c89af1Smrg		os=-xray
63733c89af1Smrg		;;
63833c89af1Smrg	h8500hms)
63933c89af1Smrg		basic_machine=h8500-hitachi
64033c89af1Smrg		os=-hms
64133c89af1Smrg		;;
64233c89af1Smrg	harris)
64333c89af1Smrg		basic_machine=m88k-harris
64433c89af1Smrg		os=-sysv3
64533c89af1Smrg		;;
64633c89af1Smrg	hp300-*)
64733c89af1Smrg		basic_machine=m68k-hp
64833c89af1Smrg		;;
64933c89af1Smrg	hp300bsd)
65033c89af1Smrg		basic_machine=m68k-hp
65133c89af1Smrg		os=-bsd
65233c89af1Smrg		;;
65333c89af1Smrg	hp300hpux)
65433c89af1Smrg		basic_machine=m68k-hp
65533c89af1Smrg		os=-hpux
65633c89af1Smrg		;;
65733c89af1Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65833c89af1Smrg		basic_machine=hppa1.0-hp
65933c89af1Smrg		;;
66033c89af1Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66133c89af1Smrg		basic_machine=m68000-hp
66233c89af1Smrg		;;
66333c89af1Smrg	hp9k3[2-9][0-9])
66433c89af1Smrg		basic_machine=m68k-hp
66533c89af1Smrg		;;
66633c89af1Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66733c89af1Smrg		basic_machine=hppa1.0-hp
66833c89af1Smrg		;;
66933c89af1Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67033c89af1Smrg		basic_machine=hppa1.1-hp
67133c89af1Smrg		;;
67233c89af1Smrg	hp9k78[0-9] | hp78[0-9])
67333c89af1Smrg		# FIXME: really hppa2.0-hp
67433c89af1Smrg		basic_machine=hppa1.1-hp
67533c89af1Smrg		;;
67633c89af1Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67733c89af1Smrg		# FIXME: really hppa2.0-hp
67833c89af1Smrg		basic_machine=hppa1.1-hp
67933c89af1Smrg		;;
68033c89af1Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68133c89af1Smrg		basic_machine=hppa1.1-hp
68233c89af1Smrg		;;
68333c89af1Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68433c89af1Smrg		basic_machine=hppa1.0-hp
68533c89af1Smrg		;;
68633c89af1Smrg	hppa-next)
68733c89af1Smrg		os=-nextstep3
68833c89af1Smrg		;;
68933c89af1Smrg	hppaosf)
69033c89af1Smrg		basic_machine=hppa1.1-hp
69133c89af1Smrg		os=-osf
69233c89af1Smrg		;;
69333c89af1Smrg	hppro)
69433c89af1Smrg		basic_machine=hppa1.1-hp
69533c89af1Smrg		os=-proelf
69633c89af1Smrg		;;
69733c89af1Smrg	i370-ibm* | ibm*)
69833c89af1Smrg		basic_machine=i370-ibm
69933c89af1Smrg		;;
70033c89af1Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70133c89af1Smrg	i*86v32)
70233c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70333c89af1Smrg		os=-sysv32
70433c89af1Smrg		;;
70533c89af1Smrg	i*86v4*)
70633c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70733c89af1Smrg		os=-sysv4
70833c89af1Smrg		;;
70933c89af1Smrg	i*86v)
71033c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71133c89af1Smrg		os=-sysv
71233c89af1Smrg		;;
71333c89af1Smrg	i*86sol2)
71433c89af1Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71533c89af1Smrg		os=-solaris2
71633c89af1Smrg		;;
71733c89af1Smrg	i386mach)
71833c89af1Smrg		basic_machine=i386-mach
71933c89af1Smrg		os=-mach
72033c89af1Smrg		;;
72133c89af1Smrg	i386-vsta | vsta)
72233c89af1Smrg		basic_machine=i386-unknown
72333c89af1Smrg		os=-vsta
72433c89af1Smrg		;;
72533c89af1Smrg	iris | iris4d)
72633c89af1Smrg		basic_machine=mips-sgi
72733c89af1Smrg		case $os in
72833c89af1Smrg		    -irix*)
72933c89af1Smrg			;;
73033c89af1Smrg		    *)
73133c89af1Smrg			os=-irix4
73233c89af1Smrg			;;
73333c89af1Smrg		esac
73433c89af1Smrg		;;
73533c89af1Smrg	isi68 | isi)
73633c89af1Smrg		basic_machine=m68k-isi
73733c89af1Smrg		os=-sysv
73833c89af1Smrg		;;
739278eca22Smrg	m68knommu)
740278eca22Smrg		basic_machine=m68k-unknown
741278eca22Smrg		os=-linux
742278eca22Smrg		;;
743278eca22Smrg	m68knommu-*)
744278eca22Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745278eca22Smrg		os=-linux
746278eca22Smrg		;;
74733c89af1Smrg	m88k-omron*)
74833c89af1Smrg		basic_machine=m88k-omron
74933c89af1Smrg		;;
75033c89af1Smrg	magnum | m3230)
75133c89af1Smrg		basic_machine=mips-mips
75233c89af1Smrg		os=-sysv
75333c89af1Smrg		;;
75433c89af1Smrg	merlin)
75533c89af1Smrg		basic_machine=ns32k-utek
75633c89af1Smrg		os=-sysv
75733c89af1Smrg		;;
75816d8e44fSmrg        microblaze)
75916d8e44fSmrg		basic_machine=microblaze-xilinx
76016d8e44fSmrg		;;
76133c89af1Smrg	mingw32)
76233c89af1Smrg		basic_machine=i386-pc
76333c89af1Smrg		os=-mingw32
76433c89af1Smrg		;;
765278eca22Smrg	mingw32ce)
766278eca22Smrg		basic_machine=arm-unknown
767278eca22Smrg		os=-mingw32ce
768278eca22Smrg		;;
76933c89af1Smrg	miniframe)
77033c89af1Smrg		basic_machine=m68000-convergent
77133c89af1Smrg		;;
77233c89af1Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77333c89af1Smrg		basic_machine=m68k-atari
77433c89af1Smrg		os=-mint
77533c89af1Smrg		;;
77633c89af1Smrg	mips3*-*)
77733c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77833c89af1Smrg		;;
77933c89af1Smrg	mips3*)
78033c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78133c89af1Smrg		;;
78233c89af1Smrg	monitor)
78333c89af1Smrg		basic_machine=m68k-rom68k
78433c89af1Smrg		os=-coff
78533c89af1Smrg		;;
78633c89af1Smrg	morphos)
78733c89af1Smrg		basic_machine=powerpc-unknown
78833c89af1Smrg		os=-morphos
78933c89af1Smrg		;;
79033c89af1Smrg	msdos)
79133c89af1Smrg		basic_machine=i386-pc
79233c89af1Smrg		os=-msdos
79333c89af1Smrg		;;
79433c89af1Smrg	ms1-*)
79533c89af1Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79633c89af1Smrg		;;
79733c89af1Smrg	mvs)
79833c89af1Smrg		basic_machine=i370-ibm
79933c89af1Smrg		os=-mvs
80033c89af1Smrg		;;
80133c89af1Smrg	ncr3000)
80233c89af1Smrg		basic_machine=i486-ncr
80333c89af1Smrg		os=-sysv4
80433c89af1Smrg		;;
80533c89af1Smrg	netbsd386)
80633c89af1Smrg		basic_machine=i386-unknown
80733c89af1Smrg		os=-netbsd
80833c89af1Smrg		;;
80933c89af1Smrg	netwinder)
81033c89af1Smrg		basic_machine=armv4l-rebel
81133c89af1Smrg		os=-linux
81233c89af1Smrg		;;
81333c89af1Smrg	news | news700 | news800 | news900)
81433c89af1Smrg		basic_machine=m68k-sony
81533c89af1Smrg		os=-newsos
81633c89af1Smrg		;;
81733c89af1Smrg	news1000)
81833c89af1Smrg		basic_machine=m68030-sony
81933c89af1Smrg		os=-newsos
82033c89af1Smrg		;;
82133c89af1Smrg	news-3600 | risc-news)
82233c89af1Smrg		basic_machine=mips-sony
82333c89af1Smrg		os=-newsos
82433c89af1Smrg		;;
82533c89af1Smrg	necv70)
82633c89af1Smrg		basic_machine=v70-nec
82733c89af1Smrg		os=-sysv
82833c89af1Smrg		;;
82933c89af1Smrg	next | m*-next )
83033c89af1Smrg		basic_machine=m68k-next
83133c89af1Smrg		case $os in
83233c89af1Smrg		    -nextstep* )
83333c89af1Smrg			;;
83433c89af1Smrg		    -ns2*)
83533c89af1Smrg		      os=-nextstep2
83633c89af1Smrg			;;
83733c89af1Smrg		    *)
83833c89af1Smrg		      os=-nextstep3
83933c89af1Smrg			;;
84033c89af1Smrg		esac
84133c89af1Smrg		;;
84233c89af1Smrg	nh3000)
84333c89af1Smrg		basic_machine=m68k-harris
84433c89af1Smrg		os=-cxux
84533c89af1Smrg		;;
84633c89af1Smrg	nh[45]000)
84733c89af1Smrg		basic_machine=m88k-harris
84833c89af1Smrg		os=-cxux
84933c89af1Smrg		;;
85033c89af1Smrg	nindy960)
85133c89af1Smrg		basic_machine=i960-intel
85233c89af1Smrg		os=-nindy
85333c89af1Smrg		;;
85433c89af1Smrg	mon960)
85533c89af1Smrg		basic_machine=i960-intel
85633c89af1Smrg		os=-mon960
85733c89af1Smrg		;;
85833c89af1Smrg	nonstopux)
85933c89af1Smrg		basic_machine=mips-compaq
86033c89af1Smrg		os=-nonstopux
86133c89af1Smrg		;;
86233c89af1Smrg	np1)
86333c89af1Smrg		basic_machine=np1-gould
86433c89af1Smrg		;;
86516d8e44fSmrg        neo-tandem)
86616d8e44fSmrg		basic_machine=neo-tandem
86716d8e44fSmrg		;;
86816d8e44fSmrg        nse-tandem)
86916d8e44fSmrg		basic_machine=nse-tandem
87016d8e44fSmrg		;;
87133c89af1Smrg	nsr-tandem)
87233c89af1Smrg		basic_machine=nsr-tandem
87333c89af1Smrg		;;
87433c89af1Smrg	op50n-* | op60c-*)
87533c89af1Smrg		basic_machine=hppa1.1-oki
87633c89af1Smrg		os=-proelf
87733c89af1Smrg		;;
87833c89af1Smrg	openrisc | openrisc-*)
87933c89af1Smrg		basic_machine=or32-unknown
88033c89af1Smrg		;;
88133c89af1Smrg	os400)
88233c89af1Smrg		basic_machine=powerpc-ibm
88333c89af1Smrg		os=-os400
88433c89af1Smrg		;;
88533c89af1Smrg	OSE68000 | ose68000)
88633c89af1Smrg		basic_machine=m68000-ericsson
88733c89af1Smrg		os=-ose
88833c89af1Smrg		;;
88933c89af1Smrg	os68k)
89033c89af1Smrg		basic_machine=m68k-none
89133c89af1Smrg		os=-os68k
89233c89af1Smrg		;;
89333c89af1Smrg	pa-hitachi)
89433c89af1Smrg		basic_machine=hppa1.1-hitachi
89533c89af1Smrg		os=-hiuxwe2
89633c89af1Smrg		;;
89733c89af1Smrg	paragon)
89833c89af1Smrg		basic_machine=i860-intel
89933c89af1Smrg		os=-osf
90033c89af1Smrg		;;
901278eca22Smrg	parisc)
902278eca22Smrg		basic_machine=hppa-unknown
903278eca22Smrg		os=-linux
904278eca22Smrg		;;
905278eca22Smrg	parisc-*)
906278eca22Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907278eca22Smrg		os=-linux
908278eca22Smrg		;;
90933c89af1Smrg	pbd)
91033c89af1Smrg		basic_machine=sparc-tti
91133c89af1Smrg		;;
91233c89af1Smrg	pbb)
91333c89af1Smrg		basic_machine=m68k-tti
91433c89af1Smrg		;;
91533c89af1Smrg	pc532 | pc532-*)
91633c89af1Smrg		basic_machine=ns32k-pc532
91733c89af1Smrg		;;
91833c89af1Smrg	pc98)
91933c89af1Smrg		basic_machine=i386-pc
92033c89af1Smrg		;;
92133c89af1Smrg	pc98-*)
92233c89af1Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92333c89af1Smrg		;;
92433c89af1Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92533c89af1Smrg		basic_machine=i586-pc
92633c89af1Smrg		;;
92733c89af1Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92833c89af1Smrg		basic_machine=i686-pc
92933c89af1Smrg		;;
93033c89af1Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
93133c89af1Smrg		basic_machine=i686-pc
93233c89af1Smrg		;;
93333c89af1Smrg	pentium4)
93433c89af1Smrg		basic_machine=i786-pc
93533c89af1Smrg		;;
93633c89af1Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93733c89af1Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93833c89af1Smrg		;;
93933c89af1Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94033c89af1Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94133c89af1Smrg		;;
94233c89af1Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94333c89af1Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94433c89af1Smrg		;;
94533c89af1Smrg	pentium4-*)
94633c89af1Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94733c89af1Smrg		;;
94833c89af1Smrg	pn)
94933c89af1Smrg		basic_machine=pn-gould
95033c89af1Smrg		;;
95133c89af1Smrg	power)	basic_machine=power-ibm
95233c89af1Smrg		;;
95333c89af1Smrg	ppc)	basic_machine=powerpc-unknown
95433c89af1Smrg		;;
95533c89af1Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95633c89af1Smrg		;;
95733c89af1Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95833c89af1Smrg		basic_machine=powerpcle-unknown
95933c89af1Smrg		;;
96033c89af1Smrg	ppcle-* | powerpclittle-*)
96133c89af1Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96233c89af1Smrg		;;
96333c89af1Smrg	ppc64)	basic_machine=powerpc64-unknown
96433c89af1Smrg		;;
96533c89af1Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96633c89af1Smrg		;;
96733c89af1Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96833c89af1Smrg		basic_machine=powerpc64le-unknown
96933c89af1Smrg		;;
97033c89af1Smrg	ppc64le-* | powerpc64little-*)
97133c89af1Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97233c89af1Smrg		;;
97333c89af1Smrg	ps2)
97433c89af1Smrg		basic_machine=i386-ibm
97533c89af1Smrg		;;
97633c89af1Smrg	pw32)
97733c89af1Smrg		basic_machine=i586-unknown
97833c89af1Smrg		os=-pw32
97933c89af1Smrg		;;
98033c89af1Smrg	rdos)
98133c89af1Smrg		basic_machine=i386-pc
98233c89af1Smrg		os=-rdos
98333c89af1Smrg		;;
98433c89af1Smrg	rom68k)
98533c89af1Smrg		basic_machine=m68k-rom68k
98633c89af1Smrg		os=-coff
98733c89af1Smrg		;;
98833c89af1Smrg	rm[46]00)
98933c89af1Smrg		basic_machine=mips-siemens
99033c89af1Smrg		;;
99133c89af1Smrg	rtpc | rtpc-*)
99233c89af1Smrg		basic_machine=romp-ibm
99333c89af1Smrg		;;
99433c89af1Smrg	s390 | s390-*)
99533c89af1Smrg		basic_machine=s390-ibm
99633c89af1Smrg		;;
99733c89af1Smrg	s390x | s390x-*)
99833c89af1Smrg		basic_machine=s390x-ibm
99933c89af1Smrg		;;
100033c89af1Smrg	sa29200)
100133c89af1Smrg		basic_machine=a29k-amd
100233c89af1Smrg		os=-udi
100333c89af1Smrg		;;
100433c89af1Smrg	sb1)
100533c89af1Smrg		basic_machine=mipsisa64sb1-unknown
100633c89af1Smrg		;;
100733c89af1Smrg	sb1el)
100833c89af1Smrg		basic_machine=mipsisa64sb1el-unknown
100933c89af1Smrg		;;
101033c89af1Smrg	sde)
101133c89af1Smrg		basic_machine=mipsisa32-sde
101233c89af1Smrg		os=-elf
101333c89af1Smrg		;;
101433c89af1Smrg	sei)
101533c89af1Smrg		basic_machine=mips-sei
101633c89af1Smrg		os=-seiux
101733c89af1Smrg		;;
101833c89af1Smrg	sequent)
101933c89af1Smrg		basic_machine=i386-sequent
102033c89af1Smrg		;;
102133c89af1Smrg	sh)
102233c89af1Smrg		basic_machine=sh-hitachi
102333c89af1Smrg		os=-hms
102433c89af1Smrg		;;
102533c89af1Smrg	sh5el)
102633c89af1Smrg		basic_machine=sh5le-unknown
102733c89af1Smrg		;;
102833c89af1Smrg	sh64)
102933c89af1Smrg		basic_machine=sh64-unknown
103033c89af1Smrg		;;
103133c89af1Smrg	sparclite-wrs | simso-wrs)
103233c89af1Smrg		basic_machine=sparclite-wrs
103333c89af1Smrg		os=-vxworks
103433c89af1Smrg		;;
103533c89af1Smrg	sps7)
103633c89af1Smrg		basic_machine=m68k-bull
103733c89af1Smrg		os=-sysv2
103833c89af1Smrg		;;
103933c89af1Smrg	spur)
104033c89af1Smrg		basic_machine=spur-unknown
104133c89af1Smrg		;;
104233c89af1Smrg	st2000)
104333c89af1Smrg		basic_machine=m68k-tandem
104433c89af1Smrg		;;
104533c89af1Smrg	stratus)
104633c89af1Smrg		basic_machine=i860-stratus
104733c89af1Smrg		os=-sysv4
104833c89af1Smrg		;;
104933c89af1Smrg	sun2)
105033c89af1Smrg		basic_machine=m68000-sun
105133c89af1Smrg		;;
105233c89af1Smrg	sun2os3)
105333c89af1Smrg		basic_machine=m68000-sun
105433c89af1Smrg		os=-sunos3
105533c89af1Smrg		;;
105633c89af1Smrg	sun2os4)
105733c89af1Smrg		basic_machine=m68000-sun
105833c89af1Smrg		os=-sunos4
105933c89af1Smrg		;;
106033c89af1Smrg	sun3os3)
106133c89af1Smrg		basic_machine=m68k-sun
106233c89af1Smrg		os=-sunos3
106333c89af1Smrg		;;
106433c89af1Smrg	sun3os4)
106533c89af1Smrg		basic_machine=m68k-sun
106633c89af1Smrg		os=-sunos4
106733c89af1Smrg		;;
106833c89af1Smrg	sun4os3)
106933c89af1Smrg		basic_machine=sparc-sun
107033c89af1Smrg		os=-sunos3
107133c89af1Smrg		;;
107233c89af1Smrg	sun4os4)
107333c89af1Smrg		basic_machine=sparc-sun
107433c89af1Smrg		os=-sunos4
107533c89af1Smrg		;;
107633c89af1Smrg	sun4sol2)
107733c89af1Smrg		basic_machine=sparc-sun
107833c89af1Smrg		os=-solaris2
107933c89af1Smrg		;;
108033c89af1Smrg	sun3 | sun3-*)
108133c89af1Smrg		basic_machine=m68k-sun
108233c89af1Smrg		;;
108333c89af1Smrg	sun4)
108433c89af1Smrg		basic_machine=sparc-sun
108533c89af1Smrg		;;
108633c89af1Smrg	sun386 | sun386i | roadrunner)
108733c89af1Smrg		basic_machine=i386-sun
108833c89af1Smrg		;;
108933c89af1Smrg	sv1)
109033c89af1Smrg		basic_machine=sv1-cray
109133c89af1Smrg		os=-unicos
109233c89af1Smrg		;;
109333c89af1Smrg	symmetry)
109433c89af1Smrg		basic_machine=i386-sequent
109533c89af1Smrg		os=-dynix
109633c89af1Smrg		;;
109733c89af1Smrg	t3e)
109833c89af1Smrg		basic_machine=alphaev5-cray
109933c89af1Smrg		os=-unicos
110033c89af1Smrg		;;
110133c89af1Smrg	t90)
110233c89af1Smrg		basic_machine=t90-cray
110333c89af1Smrg		os=-unicos
110433c89af1Smrg		;;
110516d8e44fSmrg        # This must be matched before tile*.
110616d8e44fSmrg        tilegx*)
110716d8e44fSmrg		basic_machine=tilegx-unknown
110816d8e44fSmrg		os=-linux-gnu
110933c89af1Smrg		;;
1110278eca22Smrg	tile*)
1111278eca22Smrg		basic_machine=tile-unknown
1112278eca22Smrg		os=-linux-gnu
1113278eca22Smrg		;;
111433c89af1Smrg	tx39)
111533c89af1Smrg		basic_machine=mipstx39-unknown
111633c89af1Smrg		;;
111733c89af1Smrg	tx39el)
111833c89af1Smrg		basic_machine=mipstx39el-unknown
111933c89af1Smrg		;;
112033c89af1Smrg	toad1)
112133c89af1Smrg		basic_machine=pdp10-xkl
112233c89af1Smrg		os=-tops20
112333c89af1Smrg		;;
112433c89af1Smrg	tower | tower-32)
112533c89af1Smrg		basic_machine=m68k-ncr
112633c89af1Smrg		;;
112733c89af1Smrg	tpf)
112833c89af1Smrg		basic_machine=s390x-ibm
112933c89af1Smrg		os=-tpf
113033c89af1Smrg		;;
113133c89af1Smrg	udi29k)
113233c89af1Smrg		basic_machine=a29k-amd
113333c89af1Smrg		os=-udi
113433c89af1Smrg		;;
113533c89af1Smrg	ultra3)
113633c89af1Smrg		basic_machine=a29k-nyu
113733c89af1Smrg		os=-sym1
113833c89af1Smrg		;;
113933c89af1Smrg	v810 | necv810)
114033c89af1Smrg		basic_machine=v810-nec
114133c89af1Smrg		os=-none
114233c89af1Smrg		;;
114333c89af1Smrg	vaxv)
114433c89af1Smrg		basic_machine=vax-dec
114533c89af1Smrg		os=-sysv
114633c89af1Smrg		;;
114733c89af1Smrg	vms)
114833c89af1Smrg		basic_machine=vax-dec
114933c89af1Smrg		os=-vms
115033c89af1Smrg		;;
115133c89af1Smrg	vpp*|vx|vx-*)
115233c89af1Smrg		basic_machine=f301-fujitsu
115333c89af1Smrg		;;
115433c89af1Smrg	vxworks960)
115533c89af1Smrg		basic_machine=i960-wrs
115633c89af1Smrg		os=-vxworks
115733c89af1Smrg		;;
115833c89af1Smrg	vxworks68)
115933c89af1Smrg		basic_machine=m68k-wrs
116033c89af1Smrg		os=-vxworks
116133c89af1Smrg		;;
116233c89af1Smrg	vxworks29k)
116333c89af1Smrg		basic_machine=a29k-wrs
116433c89af1Smrg		os=-vxworks
116533c89af1Smrg		;;
116633c89af1Smrg	w65*)
116733c89af1Smrg		basic_machine=w65-wdc
116833c89af1Smrg		os=-none
116933c89af1Smrg		;;
117033c89af1Smrg	w89k-*)
117133c89af1Smrg		basic_machine=hppa1.1-winbond
117233c89af1Smrg		os=-proelf
117333c89af1Smrg		;;
117433c89af1Smrg	xbox)
117533c89af1Smrg		basic_machine=i686-pc
117633c89af1Smrg		os=-mingw32
117733c89af1Smrg		;;
117833c89af1Smrg	xps | xps100)
117933c89af1Smrg		basic_machine=xps100-honeywell
118033c89af1Smrg		;;
118133c89af1Smrg	ymp)
118233c89af1Smrg		basic_machine=ymp-cray
118333c89af1Smrg		os=-unicos
118433c89af1Smrg		;;
118533c89af1Smrg	z8k-*-coff)
118633c89af1Smrg		basic_machine=z8k-unknown
118733c89af1Smrg		os=-sim
118833c89af1Smrg		;;
1189278eca22Smrg	z80-*-coff)
1190278eca22Smrg		basic_machine=z80-unknown
1191278eca22Smrg		os=-sim
1192278eca22Smrg		;;
119333c89af1Smrg	none)
119433c89af1Smrg		basic_machine=none-none
119533c89af1Smrg		os=-none
119633c89af1Smrg		;;
119733c89af1Smrg
119833c89af1Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
119933c89af1Smrg# some cases the only manufacturer, in others, it is the most popular.
120033c89af1Smrg	w89k)
120133c89af1Smrg		basic_machine=hppa1.1-winbond
120233c89af1Smrg		;;
120333c89af1Smrg	op50n)
120433c89af1Smrg		basic_machine=hppa1.1-oki
120533c89af1Smrg		;;
120633c89af1Smrg	op60c)
120733c89af1Smrg		basic_machine=hppa1.1-oki
120833c89af1Smrg		;;
120933c89af1Smrg	romp)
121033c89af1Smrg		basic_machine=romp-ibm
121133c89af1Smrg		;;
121233c89af1Smrg	mmix)
121333c89af1Smrg		basic_machine=mmix-knuth
121433c89af1Smrg		;;
121533c89af1Smrg	rs6000)
121633c89af1Smrg		basic_machine=rs6000-ibm
121733c89af1Smrg		;;
121833c89af1Smrg	vax)
121933c89af1Smrg		basic_machine=vax-dec
122033c89af1Smrg		;;
122133c89af1Smrg	pdp10)
122233c89af1Smrg		# there are many clones, so DEC is not a safe bet
122333c89af1Smrg		basic_machine=pdp10-unknown
122433c89af1Smrg		;;
122533c89af1Smrg	pdp11)
122633c89af1Smrg		basic_machine=pdp11-dec
122733c89af1Smrg		;;
122833c89af1Smrg	we32k)
122933c89af1Smrg		basic_machine=we32k-att
123033c89af1Smrg		;;
1231278eca22Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123233c89af1Smrg		basic_machine=sh-unknown
123333c89af1Smrg		;;
123433c89af1Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123533c89af1Smrg		basic_machine=sparc-sun
123633c89af1Smrg		;;
123733c89af1Smrg	cydra)
123833c89af1Smrg		basic_machine=cydra-cydrome
123933c89af1Smrg		;;
124033c89af1Smrg	orion)
124133c89af1Smrg		basic_machine=orion-highlevel
124233c89af1Smrg		;;
124333c89af1Smrg	orion105)
124433c89af1Smrg		basic_machine=clipper-highlevel
124533c89af1Smrg		;;
124633c89af1Smrg	mac | mpw | mac-mpw)
124733c89af1Smrg		basic_machine=m68k-apple
124833c89af1Smrg		;;
124933c89af1Smrg	pmac | pmac-mpw)
125033c89af1Smrg		basic_machine=powerpc-apple
125133c89af1Smrg		;;
125233c89af1Smrg	*-unknown)
125333c89af1Smrg		# Make sure to match an already-canonicalized machine name.
125433c89af1Smrg		;;
125533c89af1Smrg	*)
125633c89af1Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125733c89af1Smrg		exit 1
125833c89af1Smrg		;;
125933c89af1Smrgesac
126033c89af1Smrg
126133c89af1Smrg# Here we canonicalize certain aliases for manufacturers.
126233c89af1Smrgcase $basic_machine in
126333c89af1Smrg	*-digital*)
126433c89af1Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126533c89af1Smrg		;;
126633c89af1Smrg	*-commodore*)
126733c89af1Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126833c89af1Smrg		;;
126933c89af1Smrg	*)
127033c89af1Smrg		;;
127133c89af1Smrgesac
127233c89af1Smrg
127333c89af1Smrg# Decode manufacturer-specific aliases for certain operating systems.
127433c89af1Smrg
127533c89af1Smrgif [ x"$os" != x"" ]
127633c89af1Smrgthen
127733c89af1Smrgcase $os in
127833c89af1Smrg        # First match some system type aliases
127933c89af1Smrg        # that might get confused with valid system types.
128033c89af1Smrg	# -solaris* is a basic system type, with this one exception.
128116d8e44fSmrg        -auroraux)
128216d8e44fSmrg	        os=-auroraux
128316d8e44fSmrg		;;
128433c89af1Smrg	-solaris1 | -solaris1.*)
128533c89af1Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128633c89af1Smrg		;;
128733c89af1Smrg	-solaris)
128833c89af1Smrg		os=-solaris2
128933c89af1Smrg		;;
129033c89af1Smrg	-svr4*)
129133c89af1Smrg		os=-sysv4
129233c89af1Smrg		;;
129333c89af1Smrg	-unixware*)
129433c89af1Smrg		os=-sysv4.2uw
129533c89af1Smrg		;;
129633c89af1Smrg	-gnu/linux*)
129733c89af1Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129833c89af1Smrg		;;
129933c89af1Smrg	# First accept the basic system types.
130033c89af1Smrg	# The portable systems comes first.
130133c89af1Smrg	# Each alternative MUST END IN A *, to match a version number.
130233c89af1Smrg	# -sysv* is not here because it comes later, after sysvr4.
130333c89af1Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130416d8e44fSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130516d8e44fSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130616d8e44fSmrg	      | -sym* | -kopensolaris* \
130733c89af1Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308278eca22Smrg	      | -aos* | -aros* \
130933c89af1Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131033c89af1Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131133c89af1Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131233c89af1Smrg	      | -openbsd* | -solidbsd* \
131333c89af1Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
131433c89af1Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131533c89af1Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131633c89af1Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317278eca22Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131833c89af1Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131916d8e44fSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132016d8e44fSmrg	      | -linux-newlib* | -linux-uclibc* \
132133c89af1Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132233c89af1Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132333c89af1Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132433c89af1Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132533c89af1Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132633c89af1Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
132733c89af1Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132816d8e44fSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132933c89af1Smrg	# Remember, each alternative MUST END IN *, to match a version number.
133033c89af1Smrg		;;
133133c89af1Smrg	-qnx*)
133233c89af1Smrg		case $basic_machine in
133333c89af1Smrg		    x86-* | i*86-*)
133433c89af1Smrg			;;
133533c89af1Smrg		    *)
133633c89af1Smrg			os=-nto$os
133733c89af1Smrg			;;
133833c89af1Smrg		esac
133933c89af1Smrg		;;
134033c89af1Smrg	-nto-qnx*)
134133c89af1Smrg		;;
134233c89af1Smrg	-nto*)
134333c89af1Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134433c89af1Smrg		;;
134533c89af1Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
134633c89af1Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134733c89af1Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134833c89af1Smrg		;;
134933c89af1Smrg	-mac*)
135033c89af1Smrg		os=`echo $os | sed -e 's|mac|macos|'`
135133c89af1Smrg		;;
135233c89af1Smrg	-linux-dietlibc)
135333c89af1Smrg		os=-linux-dietlibc
135433c89af1Smrg		;;
135533c89af1Smrg	-linux*)
135633c89af1Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135733c89af1Smrg		;;
135833c89af1Smrg	-sunos5*)
135933c89af1Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136033c89af1Smrg		;;
136133c89af1Smrg	-sunos6*)
136233c89af1Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136333c89af1Smrg		;;
136433c89af1Smrg	-opened*)
136533c89af1Smrg		os=-openedition
136633c89af1Smrg		;;
136733c89af1Smrg        -os400*)
136833c89af1Smrg		os=-os400
136933c89af1Smrg		;;
137033c89af1Smrg	-wince*)
137133c89af1Smrg		os=-wince
137233c89af1Smrg		;;
137333c89af1Smrg	-osfrose*)
137433c89af1Smrg		os=-osfrose
137533c89af1Smrg		;;
137633c89af1Smrg	-osf*)
137733c89af1Smrg		os=-osf
137833c89af1Smrg		;;
137933c89af1Smrg	-utek*)
138033c89af1Smrg		os=-bsd
138133c89af1Smrg		;;
138233c89af1Smrg	-dynix*)
138333c89af1Smrg		os=-bsd
138433c89af1Smrg		;;
138533c89af1Smrg	-acis*)
138633c89af1Smrg		os=-aos
138733c89af1Smrg		;;
138833c89af1Smrg	-atheos*)
138933c89af1Smrg		os=-atheos
139033c89af1Smrg		;;
139133c89af1Smrg	-syllable*)
139233c89af1Smrg		os=-syllable
139333c89af1Smrg		;;
139433c89af1Smrg	-386bsd)
139533c89af1Smrg		os=-bsd
139633c89af1Smrg		;;
139733c89af1Smrg	-ctix* | -uts*)
139833c89af1Smrg		os=-sysv
139933c89af1Smrg		;;
140033c89af1Smrg	-nova*)
140133c89af1Smrg		os=-rtmk-nova
140233c89af1Smrg		;;
140333c89af1Smrg	-ns2 )
140433c89af1Smrg		os=-nextstep2
140533c89af1Smrg		;;
140633c89af1Smrg	-nsk*)
140733c89af1Smrg		os=-nsk
140833c89af1Smrg		;;
140933c89af1Smrg	# Preserve the version number of sinix5.
141033c89af1Smrg	-sinix5.*)
141133c89af1Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141233c89af1Smrg		;;
141333c89af1Smrg	-sinix*)
141433c89af1Smrg		os=-sysv4
141533c89af1Smrg		;;
141633c89af1Smrg        -tpf*)
141733c89af1Smrg		os=-tpf
141833c89af1Smrg		;;
141933c89af1Smrg	-triton*)
142033c89af1Smrg		os=-sysv3
142133c89af1Smrg		;;
142233c89af1Smrg	-oss*)
142333c89af1Smrg		os=-sysv3
142433c89af1Smrg		;;
142533c89af1Smrg	-svr4)
142633c89af1Smrg		os=-sysv4
142733c89af1Smrg		;;
142833c89af1Smrg	-svr3)
142933c89af1Smrg		os=-sysv3
143033c89af1Smrg		;;
143133c89af1Smrg	-sysvr4)
143233c89af1Smrg		os=-sysv4
143333c89af1Smrg		;;
143433c89af1Smrg	# This must come after -sysvr4.
143533c89af1Smrg	-sysv*)
143633c89af1Smrg		;;
143733c89af1Smrg	-ose*)
143833c89af1Smrg		os=-ose
143933c89af1Smrg		;;
144033c89af1Smrg	-es1800*)
144133c89af1Smrg		os=-ose
144233c89af1Smrg		;;
144333c89af1Smrg	-xenix)
144433c89af1Smrg		os=-xenix
144533c89af1Smrg		;;
144633c89af1Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144733c89af1Smrg		os=-mint
144833c89af1Smrg		;;
144933c89af1Smrg	-aros*)
145033c89af1Smrg		os=-aros
145133c89af1Smrg		;;
145233c89af1Smrg	-kaos*)
145333c89af1Smrg		os=-kaos
145433c89af1Smrg		;;
145533c89af1Smrg	-zvmoe)
145633c89af1Smrg		os=-zvmoe
145733c89af1Smrg		;;
1458278eca22Smrg	-dicos*)
1459278eca22Smrg		os=-dicos
1460278eca22Smrg		;;
146116d8e44fSmrg        -nacl*)
146216d8e44fSmrg	        ;;
146333c89af1Smrg	-none)
146433c89af1Smrg		;;
146533c89af1Smrg	*)
146633c89af1Smrg		# Get rid of the `-' at the beginning of $os.
146733c89af1Smrg		os=`echo $os | sed 's/[^-]*-//'`
146833c89af1Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146933c89af1Smrg		exit 1
147033c89af1Smrg		;;
147133c89af1Smrgesac
147233c89af1Smrgelse
147333c89af1Smrg
147433c89af1Smrg# Here we handle the default operating systems that come with various machines.
147533c89af1Smrg# The value should be what the vendor currently ships out the door with their
147633c89af1Smrg# machine or put another way, the most popular os provided with the machine.
147733c89af1Smrg
147833c89af1Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147933c89af1Smrg# "-sun"), then you have to tell the case statement up towards the top
148033c89af1Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148133c89af1Smrg# will signal an error saying that MANUFACTURER isn't an operating
148233c89af1Smrg# system, and we'll never get to this point.
148333c89af1Smrg
148433c89af1Smrgcase $basic_machine in
148533c89af1Smrg        score-*)
148633c89af1Smrg		os=-elf
148733c89af1Smrg		;;
148833c89af1Smrg        spu-*)
148933c89af1Smrg		os=-elf
149033c89af1Smrg		;;
149133c89af1Smrg	*-acorn)
149233c89af1Smrg		os=-riscix1.2
149333c89af1Smrg		;;
149433c89af1Smrg	arm*-rebel)
149533c89af1Smrg		os=-linux
149633c89af1Smrg		;;
149733c89af1Smrg	arm*-semi)
149833c89af1Smrg		os=-aout
149933c89af1Smrg		;;
150033c89af1Smrg        c4x-* | tic4x-*)
150133c89af1Smrg        	os=-coff
150233c89af1Smrg		;;
150316d8e44fSmrg	tic54x-*)
150416d8e44fSmrg		os=-coff
150516d8e44fSmrg		;;
150616d8e44fSmrg	tic55x-*)
150716d8e44fSmrg		os=-coff
150816d8e44fSmrg		;;
150916d8e44fSmrg	tic6x-*)
151016d8e44fSmrg		os=-coff
151116d8e44fSmrg		;;
151233c89af1Smrg	# This must come before the *-dec entry.
151333c89af1Smrg	pdp10-*)
151433c89af1Smrg		os=-tops20
151533c89af1Smrg		;;
151633c89af1Smrg	pdp11-*)
151733c89af1Smrg		os=-none
151833c89af1Smrg		;;
151933c89af1Smrg	*-dec | vax-*)
152033c89af1Smrg		os=-ultrix4.2
152133c89af1Smrg		;;
152233c89af1Smrg	m68*-apollo)
152333c89af1Smrg		os=-domain
152433c89af1Smrg		;;
152533c89af1Smrg	i386-sun)
152633c89af1Smrg		os=-sunos4.0.2
152733c89af1Smrg		;;
152833c89af1Smrg	m68000-sun)
152933c89af1Smrg		os=-sunos3
153033c89af1Smrg		# This also exists in the configure program, but was not the
153133c89af1Smrg		# default.
153233c89af1Smrg		# os=-sunos4
153333c89af1Smrg		;;
153433c89af1Smrg	m68*-cisco)
153533c89af1Smrg		os=-aout
153633c89af1Smrg		;;
1537278eca22Smrg        mep-*)
1538278eca22Smrg		os=-elf
1539278eca22Smrg		;;
154033c89af1Smrg	mips*-cisco)
154133c89af1Smrg		os=-elf
154233c89af1Smrg		;;
154333c89af1Smrg	mips*-*)
154433c89af1Smrg		os=-elf
154533c89af1Smrg		;;
154633c89af1Smrg	or32-*)
154733c89af1Smrg		os=-coff
154833c89af1Smrg		;;
154933c89af1Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
155033c89af1Smrg		os=-sysv3
155133c89af1Smrg		;;
155233c89af1Smrg	sparc-* | *-sun)
155333c89af1Smrg		os=-sunos4.1.1
155433c89af1Smrg		;;
155533c89af1Smrg	*-be)
155633c89af1Smrg		os=-beos
155733c89af1Smrg		;;
155833c89af1Smrg	*-haiku)
155933c89af1Smrg		os=-haiku
156033c89af1Smrg		;;
156133c89af1Smrg	*-ibm)
156233c89af1Smrg		os=-aix
156333c89af1Smrg		;;
156433c89af1Smrg    	*-knuth)
156533c89af1Smrg		os=-mmixware
156633c89af1Smrg		;;
156733c89af1Smrg	*-wec)
156833c89af1Smrg		os=-proelf
156933c89af1Smrg		;;
157033c89af1Smrg	*-winbond)
157133c89af1Smrg		os=-proelf
157233c89af1Smrg		;;
157333c89af1Smrg	*-oki)
157433c89af1Smrg		os=-proelf
157533c89af1Smrg		;;
157633c89af1Smrg	*-hp)
157733c89af1Smrg		os=-hpux
157833c89af1Smrg		;;
157933c89af1Smrg	*-hitachi)
158033c89af1Smrg		os=-hiux
158133c89af1Smrg		;;
158233c89af1Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158333c89af1Smrg		os=-sysv
158433c89af1Smrg		;;
158533c89af1Smrg	*-cbm)
158633c89af1Smrg		os=-amigaos
158733c89af1Smrg		;;
158833c89af1Smrg	*-dg)
158933c89af1Smrg		os=-dgux
159033c89af1Smrg		;;
159133c89af1Smrg	*-dolphin)
159233c89af1Smrg		os=-sysv3
159333c89af1Smrg		;;
159433c89af1Smrg	m68k-ccur)
159533c89af1Smrg		os=-rtu
159633c89af1Smrg		;;
159733c89af1Smrg	m88k-omron*)
159833c89af1Smrg		os=-luna
159933c89af1Smrg		;;
160033c89af1Smrg	*-next )
160133c89af1Smrg		os=-nextstep
160233c89af1Smrg		;;
160333c89af1Smrg	*-sequent)
160433c89af1Smrg		os=-ptx
160533c89af1Smrg		;;
160633c89af1Smrg	*-crds)
160733c89af1Smrg		os=-unos
160833c89af1Smrg		;;
160933c89af1Smrg	*-ns)
161033c89af1Smrg		os=-genix
161133c89af1Smrg		;;
161233c89af1Smrg	i370-*)
161333c89af1Smrg		os=-mvs
161433c89af1Smrg		;;
161533c89af1Smrg	*-next)
161633c89af1Smrg		os=-nextstep3
161733c89af1Smrg		;;
161833c89af1Smrg	*-gould)
161933c89af1Smrg		os=-sysv
162033c89af1Smrg		;;
162133c89af1Smrg	*-highlevel)
162233c89af1Smrg		os=-bsd
162333c89af1Smrg		;;
162433c89af1Smrg	*-encore)
162533c89af1Smrg		os=-bsd
162633c89af1Smrg		;;
162733c89af1Smrg	*-sgi)
162833c89af1Smrg		os=-irix
162933c89af1Smrg		;;
163033c89af1Smrg	*-siemens)
163133c89af1Smrg		os=-sysv4
163233c89af1Smrg		;;
163333c89af1Smrg	*-masscomp)
163433c89af1Smrg		os=-rtu
163533c89af1Smrg		;;
163633c89af1Smrg	f30[01]-fujitsu | f700-fujitsu)
163733c89af1Smrg		os=-uxpv
163833c89af1Smrg		;;
163933c89af1Smrg	*-rom68k)
164033c89af1Smrg		os=-coff
164133c89af1Smrg		;;
164233c89af1Smrg	*-*bug)
164333c89af1Smrg		os=-coff
164433c89af1Smrg		;;
164533c89af1Smrg	*-apple)
164633c89af1Smrg		os=-macos
164733c89af1Smrg		;;
164833c89af1Smrg	*-atari*)
164933c89af1Smrg		os=-mint
165033c89af1Smrg		;;
165133c89af1Smrg	*)
165233c89af1Smrg		os=-none
165333c89af1Smrg		;;
165433c89af1Smrgesac
165533c89af1Smrgfi
165633c89af1Smrg
165733c89af1Smrg# Here we handle the case where we know the os, and the CPU type, but not the
165833c89af1Smrg# manufacturer.  We pick the logical manufacturer.
165933c89af1Smrgvendor=unknown
166033c89af1Smrgcase $basic_machine in
166133c89af1Smrg	*-unknown)
166233c89af1Smrg		case $os in
166333c89af1Smrg			-riscix*)
166433c89af1Smrg				vendor=acorn
166533c89af1Smrg				;;
166633c89af1Smrg			-sunos*)
166733c89af1Smrg				vendor=sun
166833c89af1Smrg				;;
166916d8e44fSmrg			-cnk*|-aix*)
167033c89af1Smrg				vendor=ibm
167133c89af1Smrg				;;
167233c89af1Smrg			-beos*)
167333c89af1Smrg				vendor=be
167433c89af1Smrg				;;
167533c89af1Smrg			-hpux*)
167633c89af1Smrg				vendor=hp
167733c89af1Smrg				;;
167833c89af1Smrg			-mpeix*)
167933c89af1Smrg				vendor=hp
168033c89af1Smrg				;;
168133c89af1Smrg			-hiux*)
168233c89af1Smrg				vendor=hitachi
168333c89af1Smrg				;;
168433c89af1Smrg			-unos*)
168533c89af1Smrg				vendor=crds
168633c89af1Smrg				;;
168733c89af1Smrg			-dgux*)
168833c89af1Smrg				vendor=dg
168933c89af1Smrg				;;
169033c89af1Smrg			-luna*)
169133c89af1Smrg				vendor=omron
169233c89af1Smrg				;;
169333c89af1Smrg			-genix*)
169433c89af1Smrg				vendor=ns
169533c89af1Smrg				;;
169633c89af1Smrg			-mvs* | -opened*)
169733c89af1Smrg				vendor=ibm
169833c89af1Smrg				;;
169933c89af1Smrg			-os400*)
170033c89af1Smrg				vendor=ibm
170133c89af1Smrg				;;
170233c89af1Smrg			-ptx*)
170333c89af1Smrg				vendor=sequent
170433c89af1Smrg				;;
170533c89af1Smrg			-tpf*)
170633c89af1Smrg				vendor=ibm
170733c89af1Smrg				;;
170833c89af1Smrg			-vxsim* | -vxworks* | -windiss*)
170933c89af1Smrg				vendor=wrs
171033c89af1Smrg				;;
171133c89af1Smrg			-aux*)
171233c89af1Smrg				vendor=apple
171333c89af1Smrg				;;
171433c89af1Smrg			-hms*)
171533c89af1Smrg				vendor=hitachi
171633c89af1Smrg				;;
171733c89af1Smrg			-mpw* | -macos*)
171833c89af1Smrg				vendor=apple
171933c89af1Smrg				;;
172033c89af1Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172133c89af1Smrg				vendor=atari
172233c89af1Smrg				;;
172333c89af1Smrg			-vos*)
172433c89af1Smrg				vendor=stratus
172533c89af1Smrg				;;
172633c89af1Smrg		esac
172733c89af1Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172833c89af1Smrg		;;
172933c89af1Smrgesac
173033c89af1Smrg
173133c89af1Smrgecho $basic_machine$os
173233c89af1Smrgexit
173333c89af1Smrg
173433c89af1Smrg# Local variables:
173533c89af1Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173633c89af1Smrg# time-stamp-start: "timestamp='"
173733c89af1Smrg# time-stamp-format: "%:y-%02m-%02d"
173833c89af1Smrg# time-stamp-end: "'"
173933c89af1Smrg# End:
1740