config.sub revision 1b12faf6
132b578d3Smrg#! /bin/sh
232b578d3Smrg# Configuration validation subroutine script.
332b578d3Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
41b12faf6Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5d31dbc53Smrg#   Free Software Foundation, Inc.
632b578d3Smrg
71b12faf6Smrgtimestamp='2010-01-22'
832b578d3Smrg
932b578d3Smrg# This file is (in principle) common to ALL GNU software.
1032b578d3Smrg# The presence of a machine in this file suggests that SOME GNU software
1132b578d3Smrg# can handle that machine.  It does not imply ALL GNU software can.
1232b578d3Smrg#
1332b578d3Smrg# This file is free software; you can redistribute it and/or modify
1432b578d3Smrg# it under the terms of the GNU General Public License as published by
1532b578d3Smrg# the Free Software Foundation; either version 2 of the License, or
1632b578d3Smrg# (at your option) any later version.
1732b578d3Smrg#
1832b578d3Smrg# This program is distributed in the hope that it will be useful,
1932b578d3Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2032b578d3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2132b578d3Smrg# GNU General Public License for more details.
2232b578d3Smrg#
2332b578d3Smrg# You should have received a copy of the GNU General Public License
2432b578d3Smrg# along with this program; if not, write to the Free Software
2532b578d3Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2632b578d3Smrg# 02110-1301, USA.
2732b578d3Smrg#
2832b578d3Smrg# As a special exception to the GNU General Public License, if you
2932b578d3Smrg# distribute this file as part of a program that contains a
3032b578d3Smrg# configuration script generated by Autoconf, you may include it under
3132b578d3Smrg# the same distribution terms that you use for the rest of that program.
3232b578d3Smrg
3332b578d3Smrg
3432b578d3Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
351b12faf6Smrg# diff and a properly formatted GNU ChangeLog entry.
3632b578d3Smrg#
3732b578d3Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3832b578d3Smrg# Supply the specified configuration type as an argument.
3932b578d3Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4032b578d3Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4132b578d3Smrg
421b12faf6Smrg# You can get the latest version of this script from:
431b12faf6Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
441b12faf6Smrg
4532b578d3Smrg# This file is supposed to be the same for all GNU packages
4632b578d3Smrg# and recognize all the CPU types, system types and aliases
4732b578d3Smrg# that are meaningful with *any* GNU software.
4832b578d3Smrg# Each package is responsible for reporting which valid configurations
4932b578d3Smrg# it does not support.  The user should be able to distinguish
5032b578d3Smrg# a failure to support a valid configuration from a meaningless
5132b578d3Smrg# configuration.
5232b578d3Smrg
5332b578d3Smrg# The goal of this file is to map all the various variations of a given
5432b578d3Smrg# machine specification into a single specification in the form:
5532b578d3Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5632b578d3Smrg# or in some cases, the newer four-part form:
5732b578d3Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5832b578d3Smrg# It is wrong to echo any other type of specification.
5932b578d3Smrg
6032b578d3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6132b578d3Smrg
6232b578d3Smrgusage="\
6332b578d3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6432b578d3Smrg       $0 [OPTION] ALIAS
6532b578d3Smrg
6632b578d3SmrgCanonicalize a configuration name.
6732b578d3Smrg
6832b578d3SmrgOperation modes:
6932b578d3Smrg  -h, --help         print this help, then exit
7032b578d3Smrg  -t, --time-stamp   print date of last modification, then exit
7132b578d3Smrg  -v, --version      print version number, then exit
7232b578d3Smrg
7332b578d3SmrgReport bugs and patches to <config-patches@gnu.org>."
7432b578d3Smrg
7532b578d3Smrgversion="\
7632b578d3SmrgGNU config.sub ($timestamp)
7732b578d3Smrg
781b12faf6SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
791b12faf6Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
801b12faf6SmrgSoftware Foundation, Inc.
8132b578d3Smrg
8232b578d3SmrgThis is free software; see the source for copying conditions.  There is NO
8332b578d3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8432b578d3Smrg
8532b578d3Smrghelp="
8632b578d3SmrgTry \`$me --help' for more information."
8732b578d3Smrg
8832b578d3Smrg# Parse command line
8932b578d3Smrgwhile test $# -gt 0 ; do
9032b578d3Smrg  case $1 in
9132b578d3Smrg    --time-stamp | --time* | -t )
9232b578d3Smrg       echo "$timestamp" ; exit ;;
9332b578d3Smrg    --version | -v )
9432b578d3Smrg       echo "$version" ; exit ;;
9532b578d3Smrg    --help | --h* | -h )
9632b578d3Smrg       echo "$usage"; exit ;;
9732b578d3Smrg    -- )     # Stop option processing
9832b578d3Smrg       shift; break ;;
9932b578d3Smrg    - )	# Use stdin as input.
10032b578d3Smrg       break ;;
10132b578d3Smrg    -* )
10232b578d3Smrg       echo "$me: invalid option $1$help"
10332b578d3Smrg       exit 1 ;;
10432b578d3Smrg
10532b578d3Smrg    *local*)
10632b578d3Smrg       # First pass through any local machine types.
10732b578d3Smrg       echo $1
10832b578d3Smrg       exit ;;
10932b578d3Smrg
11032b578d3Smrg    * )
11132b578d3Smrg       break ;;
11232b578d3Smrg  esac
11332b578d3Smrgdone
11432b578d3Smrg
11532b578d3Smrgcase $# in
11632b578d3Smrg 0) echo "$me: missing argument$help" >&2
11732b578d3Smrg    exit 1;;
11832b578d3Smrg 1) ;;
11932b578d3Smrg *) echo "$me: too many arguments$help" >&2
12032b578d3Smrg    exit 1;;
12132b578d3Smrgesac
12232b578d3Smrg
12332b578d3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12432b578d3Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12532b578d3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12632b578d3Smrgcase $maybe_os in
12732b578d3Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
12832b578d3Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1291b12faf6Smrg  kopensolaris*-gnu* | \
13032b578d3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13132b578d3Smrg    os=-$maybe_os
13232b578d3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13332b578d3Smrg    ;;
13432b578d3Smrg  *)
13532b578d3Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13632b578d3Smrg    if [ $basic_machine != $1 ]
13732b578d3Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13832b578d3Smrg    else os=; fi
13932b578d3Smrg    ;;
14032b578d3Smrgesac
14132b578d3Smrg
14232b578d3Smrg### Let's recognize common machines as not being operating systems so
14332b578d3Smrg### that things like config.sub decstation-3100 work.  We also
14432b578d3Smrg### recognize some manufacturers as not being operating systems, so we
14532b578d3Smrg### can provide default operating systems below.
14632b578d3Smrgcase $os in
14732b578d3Smrg	-sun*os*)
14832b578d3Smrg		# Prevent following clause from handling this invalid input.
14932b578d3Smrg		;;
15032b578d3Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15132b578d3Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15232b578d3Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15332b578d3Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15432b578d3Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15532b578d3Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1561b12faf6Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15732b578d3Smrg		os=
15832b578d3Smrg		basic_machine=$1
15932b578d3Smrg		;;
1601b12faf6Smrg        -bluegene*)
1611b12faf6Smrg	        os=-cnk
1621b12faf6Smrg		;;
16332b578d3Smrg	-sim | -cisco | -oki | -wec | -winbond)
16432b578d3Smrg		os=
16532b578d3Smrg		basic_machine=$1
16632b578d3Smrg		;;
16732b578d3Smrg	-scout)
16832b578d3Smrg		;;
16932b578d3Smrg	-wrs)
17032b578d3Smrg		os=-vxworks
17132b578d3Smrg		basic_machine=$1
17232b578d3Smrg		;;
17332b578d3Smrg	-chorusos*)
17432b578d3Smrg		os=-chorusos
17532b578d3Smrg		basic_machine=$1
17632b578d3Smrg		;;
17732b578d3Smrg 	-chorusrdb)
17832b578d3Smrg 		os=-chorusrdb
17932b578d3Smrg		basic_machine=$1
18032b578d3Smrg 		;;
18132b578d3Smrg	-hiux*)
18232b578d3Smrg		os=-hiuxwe2
18332b578d3Smrg		;;
18432b578d3Smrg	-sco6)
18532b578d3Smrg		os=-sco5v6
18632b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18732b578d3Smrg		;;
18832b578d3Smrg	-sco5)
18932b578d3Smrg		os=-sco3.2v5
19032b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19132b578d3Smrg		;;
19232b578d3Smrg	-sco4)
19332b578d3Smrg		os=-sco3.2v4
19432b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19532b578d3Smrg		;;
19632b578d3Smrg	-sco3.2.[4-9]*)
19732b578d3Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19832b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19932b578d3Smrg		;;
20032b578d3Smrg	-sco3.2v[4-9]*)
20132b578d3Smrg		# Don't forget version if it is 3.2v4 or newer.
20232b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20332b578d3Smrg		;;
20432b578d3Smrg	-sco5v6*)
20532b578d3Smrg		# Don't forget version if it is 3.2v4 or newer.
20632b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20732b578d3Smrg		;;
20832b578d3Smrg	-sco*)
20932b578d3Smrg		os=-sco3.2v2
21032b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21132b578d3Smrg		;;
21232b578d3Smrg	-udk*)
21332b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21432b578d3Smrg		;;
21532b578d3Smrg	-isc)
21632b578d3Smrg		os=-isc2.2
21732b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21832b578d3Smrg		;;
21932b578d3Smrg	-clix*)
22032b578d3Smrg		basic_machine=clipper-intergraph
22132b578d3Smrg		;;
22232b578d3Smrg	-isc*)
22332b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22432b578d3Smrg		;;
22532b578d3Smrg	-lynx*)
22632b578d3Smrg		os=-lynxos
22732b578d3Smrg		;;
22832b578d3Smrg	-ptx*)
22932b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23032b578d3Smrg		;;
23132b578d3Smrg	-windowsnt*)
23232b578d3Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23332b578d3Smrg		;;
23432b578d3Smrg	-psos*)
23532b578d3Smrg		os=-psos
23632b578d3Smrg		;;
23732b578d3Smrg	-mint | -mint[0-9]*)
23832b578d3Smrg		basic_machine=m68k-atari
23932b578d3Smrg		os=-mint
24032b578d3Smrg		;;
24132b578d3Smrgesac
24232b578d3Smrg
24332b578d3Smrg# Decode aliases for certain CPU-COMPANY combinations.
24432b578d3Smrgcase $basic_machine in
24532b578d3Smrg	# Recognize the basic CPU types without company name.
24632b578d3Smrg	# Some are omitted here because they have special meanings below.
24732b578d3Smrg	1750a | 580 \
24832b578d3Smrg	| a29k \
24932b578d3Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25032b578d3Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25132b578d3Smrg	| am33_2.0 \
25232b578d3Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25332b578d3Smrg	| bfin \
25432b578d3Smrg	| c4x | clipper \
25532b578d3Smrg	| d10v | d30v | dlx | dsp16xx \
25632b578d3Smrg	| fido | fr30 | frv \
25732b578d3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25832b578d3Smrg	| i370 | i860 | i960 | ia64 \
25932b578d3Smrg	| ip2k | iq2000 \
2601b12faf6Smrg	| lm32 \
26132b578d3Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2621b12faf6Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26332b578d3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26432b578d3Smrg	| mips16 \
26532b578d3Smrg	| mips64 | mips64el \
2661b12faf6Smrg	| mips64octeon | mips64octeonel \
2672a51b5beSmrg	| mips64orion | mips64orionel \
2681b12faf6Smrg	| mips64r5900 | mips64r5900el \
2691b12faf6Smrg	| mips64vr | mips64vrel \
27032b578d3Smrg	| mips64vr4100 | mips64vr4100el \
27132b578d3Smrg	| mips64vr4300 | mips64vr4300el \
27232b578d3Smrg	| mips64vr5000 | mips64vr5000el \
27332b578d3Smrg	| mips64vr5900 | mips64vr5900el \
27432b578d3Smrg	| mipsisa32 | mipsisa32el \
27532b578d3Smrg	| mipsisa32r2 | mipsisa32r2el \
27632b578d3Smrg	| mipsisa64 | mipsisa64el \
27732b578d3Smrg	| mipsisa64r2 | mipsisa64r2el \
27832b578d3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
27932b578d3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28032b578d3Smrg	| mipstx39 | mipstx39el \
28132b578d3Smrg	| mn10200 | mn10300 \
2821b12faf6Smrg	| moxie \
28332b578d3Smrg	| mt \
28432b578d3Smrg	| msp430 \
28532b578d3Smrg	| nios | nios2 \
28632b578d3Smrg	| ns16k | ns32k \
28732b578d3Smrg	| or32 \
28832b578d3Smrg	| pdp10 | pdp11 | pj | pjl \
28932b578d3Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29032b578d3Smrg	| pyramid \
2911b12faf6Smrg	| rx \
29232b578d3Smrg	| score \
2931b12faf6Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29432b578d3Smrg	| sh64 | sh64le \
29532b578d3Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29632b578d3Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29732b578d3Smrg	| spu | strongarm \
29832b578d3Smrg	| tahoe | thumb | tic4x | tic80 | tron \
2991b12faf6Smrg	| ubicom32 \
30032b578d3Smrg	| v850 | v850e \
30132b578d3Smrg	| we32k \
30232b578d3Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3031b12faf6Smrg	| z8k | z80)
30432b578d3Smrg		basic_machine=$basic_machine-unknown
30532b578d3Smrg		;;
3061b12faf6Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
30732b578d3Smrg		# Motorola 68HC11/12.
30832b578d3Smrg		basic_machine=$basic_machine-unknown
30932b578d3Smrg		os=-none
31032b578d3Smrg		;;
31132b578d3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
31232b578d3Smrg		;;
31332b578d3Smrg	ms1)
31432b578d3Smrg		basic_machine=mt-unknown
31532b578d3Smrg		;;
31632b578d3Smrg
31732b578d3Smrg	# We use `pc' rather than `unknown'
31832b578d3Smrg	# because (1) that's what they normally are, and
31932b578d3Smrg	# (2) the word "unknown" tends to confuse beginning users.
32032b578d3Smrg	i*86 | x86_64)
32132b578d3Smrg	  basic_machine=$basic_machine-pc
32232b578d3Smrg	  ;;
32332b578d3Smrg	# Object if more than one company name word.
32432b578d3Smrg	*-*-*)
32532b578d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
32632b578d3Smrg		exit 1
32732b578d3Smrg		;;
32832b578d3Smrg	# Recognize the basic CPU types with company name.
32932b578d3Smrg	580-* \
33032b578d3Smrg	| a29k-* \
33132b578d3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
33232b578d3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
33332b578d3Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
33432b578d3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
33532b578d3Smrg	| avr-* | avr32-* \
33632b578d3Smrg	| bfin-* | bs2000-* \
33732b578d3Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
33832b578d3Smrg	| clipper-* | craynv-* | cydra-* \
33932b578d3Smrg	| d10v-* | d30v-* | dlx-* \
34032b578d3Smrg	| elxsi-* \
34132b578d3Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
34232b578d3Smrg	| h8300-* | h8500-* \
34332b578d3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
34432b578d3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
34532b578d3Smrg	| ip2k-* | iq2000-* \
3461b12faf6Smrg	| lm32-* \
34732b578d3Smrg	| m32c-* | m32r-* | m32rle-* \
34832b578d3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3491b12faf6Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
35032b578d3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
35132b578d3Smrg	| mips16-* \
35232b578d3Smrg	| mips64-* | mips64el-* \
3531b12faf6Smrg	| mips64octeon-* | mips64octeonel-* \
3542a51b5beSmrg	| mips64orion-* | mips64orionel-* \
3551b12faf6Smrg	| mips64r5900-* | mips64r5900el-* \
3561b12faf6Smrg	| mips64vr-* | mips64vrel-* \
35732b578d3Smrg	| mips64vr4100-* | mips64vr4100el-* \
35832b578d3Smrg	| mips64vr4300-* | mips64vr4300el-* \
35932b578d3Smrg	| mips64vr5000-* | mips64vr5000el-* \
36032b578d3Smrg	| mips64vr5900-* | mips64vr5900el-* \
36132b578d3Smrg	| mipsisa32-* | mipsisa32el-* \
36232b578d3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
36332b578d3Smrg	| mipsisa64-* | mipsisa64el-* \
36432b578d3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
36532b578d3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
36632b578d3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
36732b578d3Smrg	| mipstx39-* | mipstx39el-* \
36832b578d3Smrg	| mmix-* \
36932b578d3Smrg	| mt-* \
37032b578d3Smrg	| msp430-* \
37132b578d3Smrg	| nios-* | nios2-* \
37232b578d3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
37332b578d3Smrg	| orion-* \
37432b578d3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
37532b578d3Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
37632b578d3Smrg	| pyramid-* \
3771b12faf6Smrg	| romp-* | rs6000-* | rx-* \
3781b12faf6Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
37932b578d3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
38032b578d3Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
38132b578d3Smrg	| sparclite-* \
38232b578d3Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
38332b578d3Smrg	| tahoe-* | thumb-* \
3842a51b5beSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3851b12faf6Smrg	| tile-* | tilegx-* \
38632b578d3Smrg	| tron-* \
3871b12faf6Smrg	| ubicom32-* \
38832b578d3Smrg	| v850-* | v850e-* | vax-* \
38932b578d3Smrg	| we32k-* \
39032b578d3Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
391d31dbc53Smrg	| xstormy16-* | xtensa*-* \
39232b578d3Smrg	| ymp-* \
3931b12faf6Smrg	| z8k-* | z80-*)
394d31dbc53Smrg		;;
395d31dbc53Smrg	# Recognize the basic CPU types without company name, with glob match.
396d31dbc53Smrg	xtensa*)
397d31dbc53Smrg		basic_machine=$basic_machine-unknown
39832b578d3Smrg		;;
39932b578d3Smrg	# Recognize the various machine names and aliases which stand
40032b578d3Smrg	# for a CPU type and a company and sometimes even an OS.
40132b578d3Smrg	386bsd)
40232b578d3Smrg		basic_machine=i386-unknown
40332b578d3Smrg		os=-bsd
40432b578d3Smrg		;;
40532b578d3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
40632b578d3Smrg		basic_machine=m68000-att
40732b578d3Smrg		;;
40832b578d3Smrg	3b*)
40932b578d3Smrg		basic_machine=we32k-att
41032b578d3Smrg		;;
41132b578d3Smrg	a29khif)
41232b578d3Smrg		basic_machine=a29k-amd
41332b578d3Smrg		os=-udi
41432b578d3Smrg		;;
41532b578d3Smrg    	abacus)
41632b578d3Smrg		basic_machine=abacus-unknown
41732b578d3Smrg		;;
41832b578d3Smrg	adobe68k)
41932b578d3Smrg		basic_machine=m68010-adobe
42032b578d3Smrg		os=-scout
42132b578d3Smrg		;;
42232b578d3Smrg	alliant | fx80)
42332b578d3Smrg		basic_machine=fx80-alliant
42432b578d3Smrg		;;
42532b578d3Smrg	altos | altos3068)
42632b578d3Smrg		basic_machine=m68k-altos
42732b578d3Smrg		;;
42832b578d3Smrg	am29k)
42932b578d3Smrg		basic_machine=a29k-none
43032b578d3Smrg		os=-bsd
43132b578d3Smrg		;;
43232b578d3Smrg	amd64)
43332b578d3Smrg		basic_machine=x86_64-pc
43432b578d3Smrg		;;
43532b578d3Smrg	amd64-*)
43632b578d3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
43732b578d3Smrg		;;
43832b578d3Smrg	amdahl)
43932b578d3Smrg		basic_machine=580-amdahl
44032b578d3Smrg		os=-sysv
44132b578d3Smrg		;;
44232b578d3Smrg	amiga | amiga-*)
44332b578d3Smrg		basic_machine=m68k-unknown
44432b578d3Smrg		;;
44532b578d3Smrg	amigaos | amigados)
44632b578d3Smrg		basic_machine=m68k-unknown
44732b578d3Smrg		os=-amigaos
44832b578d3Smrg		;;
44932b578d3Smrg	amigaunix | amix)
45032b578d3Smrg		basic_machine=m68k-unknown
45132b578d3Smrg		os=-sysv4
45232b578d3Smrg		;;
45332b578d3Smrg	apollo68)
45432b578d3Smrg		basic_machine=m68k-apollo
45532b578d3Smrg		os=-sysv
45632b578d3Smrg		;;
45732b578d3Smrg	apollo68bsd)
45832b578d3Smrg		basic_machine=m68k-apollo
45932b578d3Smrg		os=-bsd
46032b578d3Smrg		;;
4611b12faf6Smrg	aros)
4621b12faf6Smrg		basic_machine=i386-pc
4631b12faf6Smrg		os=-aros
4641b12faf6Smrg		;;
46532b578d3Smrg	aux)
46632b578d3Smrg		basic_machine=m68k-apple
46732b578d3Smrg		os=-aux
46832b578d3Smrg		;;
46932b578d3Smrg	balance)
47032b578d3Smrg		basic_machine=ns32k-sequent
47132b578d3Smrg		os=-dynix
47232b578d3Smrg		;;
473d31dbc53Smrg	blackfin)
474d31dbc53Smrg		basic_machine=bfin-unknown
475d31dbc53Smrg		os=-linux
476d31dbc53Smrg		;;
477d31dbc53Smrg	blackfin-*)
478d31dbc53Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
479d31dbc53Smrg		os=-linux
480d31dbc53Smrg		;;
4811b12faf6Smrg	bluegene*)
4821b12faf6Smrg		basic_machine=powerpc-ibm
4831b12faf6Smrg		os=-cnk
4841b12faf6Smrg		;;
48532b578d3Smrg	c90)
48632b578d3Smrg		basic_machine=c90-cray
48732b578d3Smrg		os=-unicos
48832b578d3Smrg		;;
4891b12faf6Smrg        cegcc)
4901b12faf6Smrg		basic_machine=arm-unknown
4911b12faf6Smrg		os=-cegcc
4921b12faf6Smrg		;;
49332b578d3Smrg	convex-c1)
49432b578d3Smrg		basic_machine=c1-convex
49532b578d3Smrg		os=-bsd
49632b578d3Smrg		;;
49732b578d3Smrg	convex-c2)
49832b578d3Smrg		basic_machine=c2-convex
49932b578d3Smrg		os=-bsd
50032b578d3Smrg		;;
50132b578d3Smrg	convex-c32)
50232b578d3Smrg		basic_machine=c32-convex
50332b578d3Smrg		os=-bsd
50432b578d3Smrg		;;
50532b578d3Smrg	convex-c34)
50632b578d3Smrg		basic_machine=c34-convex
50732b578d3Smrg		os=-bsd
50832b578d3Smrg		;;
50932b578d3Smrg	convex-c38)
51032b578d3Smrg		basic_machine=c38-convex
51132b578d3Smrg		os=-bsd
51232b578d3Smrg		;;
51332b578d3Smrg	cray | j90)
51432b578d3Smrg		basic_machine=j90-cray
51532b578d3Smrg		os=-unicos
51632b578d3Smrg		;;
51732b578d3Smrg	craynv)
51832b578d3Smrg		basic_machine=craynv-cray
51932b578d3Smrg		os=-unicosmp
52032b578d3Smrg		;;
521d31dbc53Smrg	cr16)
522d31dbc53Smrg		basic_machine=cr16-unknown
52332b578d3Smrg		os=-elf
52432b578d3Smrg		;;
52532b578d3Smrg	crds | unos)
52632b578d3Smrg		basic_machine=m68k-crds
52732b578d3Smrg		;;
52832b578d3Smrg	crisv32 | crisv32-* | etraxfs*)
52932b578d3Smrg		basic_machine=crisv32-axis
53032b578d3Smrg		;;
53132b578d3Smrg	cris | cris-* | etrax*)
53232b578d3Smrg		basic_machine=cris-axis
53332b578d3Smrg		;;
53432b578d3Smrg	crx)
53532b578d3Smrg		basic_machine=crx-unknown
53632b578d3Smrg		os=-elf
53732b578d3Smrg		;;
53832b578d3Smrg	da30 | da30-*)
53932b578d3Smrg		basic_machine=m68k-da30
54032b578d3Smrg		;;
54132b578d3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
54232b578d3Smrg		basic_machine=mips-dec
54332b578d3Smrg		;;
54432b578d3Smrg	decsystem10* | dec10*)
54532b578d3Smrg		basic_machine=pdp10-dec
54632b578d3Smrg		os=-tops10
54732b578d3Smrg		;;
54832b578d3Smrg	decsystem20* | dec20*)
54932b578d3Smrg		basic_machine=pdp10-dec
55032b578d3Smrg		os=-tops20
55132b578d3Smrg		;;
55232b578d3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
55332b578d3Smrg	      | 3300-motorola | delta-motorola)
55432b578d3Smrg		basic_machine=m68k-motorola
55532b578d3Smrg		;;
55632b578d3Smrg	delta88)
55732b578d3Smrg		basic_machine=m88k-motorola
55832b578d3Smrg		os=-sysv3
55932b578d3Smrg		;;
5601b12faf6Smrg	dicos)
5611b12faf6Smrg		basic_machine=i686-pc
5621b12faf6Smrg		os=-dicos
5631b12faf6Smrg		;;
56432b578d3Smrg	djgpp)
56532b578d3Smrg		basic_machine=i586-pc
56632b578d3Smrg		os=-msdosdjgpp
56732b578d3Smrg		;;
56832b578d3Smrg	dpx20 | dpx20-*)
56932b578d3Smrg		basic_machine=rs6000-bull
57032b578d3Smrg		os=-bosx
57132b578d3Smrg		;;
57232b578d3Smrg	dpx2* | dpx2*-bull)
57332b578d3Smrg		basic_machine=m68k-bull
57432b578d3Smrg		os=-sysv3
57532b578d3Smrg		;;
57632b578d3Smrg	ebmon29k)
57732b578d3Smrg		basic_machine=a29k-amd
57832b578d3Smrg		os=-ebmon
57932b578d3Smrg		;;
58032b578d3Smrg	elxsi)
58132b578d3Smrg		basic_machine=elxsi-elxsi
58232b578d3Smrg		os=-bsd
58332b578d3Smrg		;;
58432b578d3Smrg	encore | umax | mmax)
58532b578d3Smrg		basic_machine=ns32k-encore
58632b578d3Smrg		;;
58732b578d3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
58832b578d3Smrg		basic_machine=m68k-ericsson
58932b578d3Smrg		os=-ose
59032b578d3Smrg		;;
59132b578d3Smrg	fx2800)
59232b578d3Smrg		basic_machine=i860-alliant
59332b578d3Smrg		;;
59432b578d3Smrg	genix)
59532b578d3Smrg		basic_machine=ns32k-ns
59632b578d3Smrg		;;
59732b578d3Smrg	gmicro)
59832b578d3Smrg		basic_machine=tron-gmicro
59932b578d3Smrg		os=-sysv
60032b578d3Smrg		;;
60132b578d3Smrg	go32)
60232b578d3Smrg		basic_machine=i386-pc
60332b578d3Smrg		os=-go32
60432b578d3Smrg		;;
60532b578d3Smrg	h3050r* | hiux*)
60632b578d3Smrg		basic_machine=hppa1.1-hitachi
60732b578d3Smrg		os=-hiuxwe2
60832b578d3Smrg		;;
60932b578d3Smrg	h8300hms)
61032b578d3Smrg		basic_machine=h8300-hitachi
61132b578d3Smrg		os=-hms
61232b578d3Smrg		;;
61332b578d3Smrg	h8300xray)
61432b578d3Smrg		basic_machine=h8300-hitachi
61532b578d3Smrg		os=-xray
61632b578d3Smrg		;;
61732b578d3Smrg	h8500hms)
61832b578d3Smrg		basic_machine=h8500-hitachi
61932b578d3Smrg		os=-hms
62032b578d3Smrg		;;
62132b578d3Smrg	harris)
62232b578d3Smrg		basic_machine=m88k-harris
62332b578d3Smrg		os=-sysv3
62432b578d3Smrg		;;
62532b578d3Smrg	hp300-*)
62632b578d3Smrg		basic_machine=m68k-hp
62732b578d3Smrg		;;
62832b578d3Smrg	hp300bsd)
62932b578d3Smrg		basic_machine=m68k-hp
63032b578d3Smrg		os=-bsd
63132b578d3Smrg		;;
63232b578d3Smrg	hp300hpux)
63332b578d3Smrg		basic_machine=m68k-hp
63432b578d3Smrg		os=-hpux
63532b578d3Smrg		;;
63632b578d3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
63732b578d3Smrg		basic_machine=hppa1.0-hp
63832b578d3Smrg		;;
63932b578d3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
64032b578d3Smrg		basic_machine=m68000-hp
64132b578d3Smrg		;;
64232b578d3Smrg	hp9k3[2-9][0-9])
64332b578d3Smrg		basic_machine=m68k-hp
64432b578d3Smrg		;;
64532b578d3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
64632b578d3Smrg		basic_machine=hppa1.0-hp
64732b578d3Smrg		;;
64832b578d3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
64932b578d3Smrg		basic_machine=hppa1.1-hp
65032b578d3Smrg		;;
65132b578d3Smrg	hp9k78[0-9] | hp78[0-9])
65232b578d3Smrg		# FIXME: really hppa2.0-hp
65332b578d3Smrg		basic_machine=hppa1.1-hp
65432b578d3Smrg		;;
65532b578d3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
65632b578d3Smrg		# FIXME: really hppa2.0-hp
65732b578d3Smrg		basic_machine=hppa1.1-hp
65832b578d3Smrg		;;
65932b578d3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
66032b578d3Smrg		basic_machine=hppa1.1-hp
66132b578d3Smrg		;;
66232b578d3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
66332b578d3Smrg		basic_machine=hppa1.0-hp
66432b578d3Smrg		;;
66532b578d3Smrg	hppa-next)
66632b578d3Smrg		os=-nextstep3
66732b578d3Smrg		;;
66832b578d3Smrg	hppaosf)
66932b578d3Smrg		basic_machine=hppa1.1-hp
67032b578d3Smrg		os=-osf
67132b578d3Smrg		;;
67232b578d3Smrg	hppro)
67332b578d3Smrg		basic_machine=hppa1.1-hp
67432b578d3Smrg		os=-proelf
67532b578d3Smrg		;;
67632b578d3Smrg	i370-ibm* | ibm*)
67732b578d3Smrg		basic_machine=i370-ibm
67832b578d3Smrg		;;
67932b578d3Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
68032b578d3Smrg	i*86v32)
68132b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
68232b578d3Smrg		os=-sysv32
68332b578d3Smrg		;;
68432b578d3Smrg	i*86v4*)
68532b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
68632b578d3Smrg		os=-sysv4
68732b578d3Smrg		;;
68832b578d3Smrg	i*86v)
68932b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
69032b578d3Smrg		os=-sysv
69132b578d3Smrg		;;
69232b578d3Smrg	i*86sol2)
69332b578d3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
69432b578d3Smrg		os=-solaris2
69532b578d3Smrg		;;
69632b578d3Smrg	i386mach)
69732b578d3Smrg		basic_machine=i386-mach
69832b578d3Smrg		os=-mach
69932b578d3Smrg		;;
70032b578d3Smrg	i386-vsta | vsta)
70132b578d3Smrg		basic_machine=i386-unknown
70232b578d3Smrg		os=-vsta
70332b578d3Smrg		;;
70432b578d3Smrg	iris | iris4d)
70532b578d3Smrg		basic_machine=mips-sgi
70632b578d3Smrg		case $os in
70732b578d3Smrg		    -irix*)
70832b578d3Smrg			;;
70932b578d3Smrg		    *)
71032b578d3Smrg			os=-irix4
71132b578d3Smrg			;;
71232b578d3Smrg		esac
71332b578d3Smrg		;;
71432b578d3Smrg	isi68 | isi)
71532b578d3Smrg		basic_machine=m68k-isi
71632b578d3Smrg		os=-sysv
71732b578d3Smrg		;;
718d31dbc53Smrg	m68knommu)
719d31dbc53Smrg		basic_machine=m68k-unknown
720d31dbc53Smrg		os=-linux
721d31dbc53Smrg		;;
722d31dbc53Smrg	m68knommu-*)
723d31dbc53Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
724d31dbc53Smrg		os=-linux
725d31dbc53Smrg		;;
72632b578d3Smrg	m88k-omron*)
72732b578d3Smrg		basic_machine=m88k-omron
72832b578d3Smrg		;;
72932b578d3Smrg	magnum | m3230)
73032b578d3Smrg		basic_machine=mips-mips
73132b578d3Smrg		os=-sysv
73232b578d3Smrg		;;
73332b578d3Smrg	merlin)
73432b578d3Smrg		basic_machine=ns32k-utek
73532b578d3Smrg		os=-sysv
73632b578d3Smrg		;;
7371b12faf6Smrg        microblaze)
7381b12faf6Smrg		basic_machine=microblaze-xilinx
7391b12faf6Smrg		;;
74032b578d3Smrg	mingw32)
74132b578d3Smrg		basic_machine=i386-pc
74232b578d3Smrg		os=-mingw32
74332b578d3Smrg		;;
74432b578d3Smrg	mingw32ce)
74532b578d3Smrg		basic_machine=arm-unknown
74632b578d3Smrg		os=-mingw32ce
74732b578d3Smrg		;;
74832b578d3Smrg	miniframe)
74932b578d3Smrg		basic_machine=m68000-convergent
75032b578d3Smrg		;;
75132b578d3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
75232b578d3Smrg		basic_machine=m68k-atari
75332b578d3Smrg		os=-mint
75432b578d3Smrg		;;
75532b578d3Smrg	mips3*-*)
75632b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
75732b578d3Smrg		;;
75832b578d3Smrg	mips3*)
75932b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
76032b578d3Smrg		;;
76132b578d3Smrg	monitor)
76232b578d3Smrg		basic_machine=m68k-rom68k
76332b578d3Smrg		os=-coff
76432b578d3Smrg		;;
76532b578d3Smrg	morphos)
76632b578d3Smrg		basic_machine=powerpc-unknown
76732b578d3Smrg		os=-morphos
76832b578d3Smrg		;;
76932b578d3Smrg	msdos)
77032b578d3Smrg		basic_machine=i386-pc
77132b578d3Smrg		os=-msdos
77232b578d3Smrg		;;
77332b578d3Smrg	ms1-*)
77432b578d3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
77532b578d3Smrg		;;
77632b578d3Smrg	mvs)
77732b578d3Smrg		basic_machine=i370-ibm
77832b578d3Smrg		os=-mvs
77932b578d3Smrg		;;
78032b578d3Smrg	ncr3000)
78132b578d3Smrg		basic_machine=i486-ncr
78232b578d3Smrg		os=-sysv4
78332b578d3Smrg		;;
78432b578d3Smrg	netbsd386)
78532b578d3Smrg		basic_machine=i386-unknown
78632b578d3Smrg		os=-netbsd
78732b578d3Smrg		;;
78832b578d3Smrg	netwinder)
78932b578d3Smrg		basic_machine=armv4l-rebel
79032b578d3Smrg		os=-linux
79132b578d3Smrg		;;
79232b578d3Smrg	news | news700 | news800 | news900)
79332b578d3Smrg		basic_machine=m68k-sony
79432b578d3Smrg		os=-newsos
79532b578d3Smrg		;;
79632b578d3Smrg	news1000)
79732b578d3Smrg		basic_machine=m68030-sony
79832b578d3Smrg		os=-newsos
79932b578d3Smrg		;;
80032b578d3Smrg	news-3600 | risc-news)
80132b578d3Smrg		basic_machine=mips-sony
80232b578d3Smrg		os=-newsos
80332b578d3Smrg		;;
80432b578d3Smrg	necv70)
80532b578d3Smrg		basic_machine=v70-nec
80632b578d3Smrg		os=-sysv
80732b578d3Smrg		;;
80832b578d3Smrg	next | m*-next )
80932b578d3Smrg		basic_machine=m68k-next
81032b578d3Smrg		case $os in
81132b578d3Smrg		    -nextstep* )
81232b578d3Smrg			;;
81332b578d3Smrg		    -ns2*)
81432b578d3Smrg		      os=-nextstep2
81532b578d3Smrg			;;
81632b578d3Smrg		    *)
81732b578d3Smrg		      os=-nextstep3
81832b578d3Smrg			;;
81932b578d3Smrg		esac
82032b578d3Smrg		;;
82132b578d3Smrg	nh3000)
82232b578d3Smrg		basic_machine=m68k-harris
82332b578d3Smrg		os=-cxux
82432b578d3Smrg		;;
82532b578d3Smrg	nh[45]000)
82632b578d3Smrg		basic_machine=m88k-harris
82732b578d3Smrg		os=-cxux
82832b578d3Smrg		;;
82932b578d3Smrg	nindy960)
83032b578d3Smrg		basic_machine=i960-intel
83132b578d3Smrg		os=-nindy
83232b578d3Smrg		;;
83332b578d3Smrg	mon960)
83432b578d3Smrg		basic_machine=i960-intel
83532b578d3Smrg		os=-mon960
83632b578d3Smrg		;;
83732b578d3Smrg	nonstopux)
83832b578d3Smrg		basic_machine=mips-compaq
83932b578d3Smrg		os=-nonstopux
84032b578d3Smrg		;;
84132b578d3Smrg	np1)
84232b578d3Smrg		basic_machine=np1-gould
84332b578d3Smrg		;;
84432b578d3Smrg	nsr-tandem)
84532b578d3Smrg		basic_machine=nsr-tandem
84632b578d3Smrg		;;
84732b578d3Smrg	op50n-* | op60c-*)
84832b578d3Smrg		basic_machine=hppa1.1-oki
84932b578d3Smrg		os=-proelf
85032b578d3Smrg		;;
85132b578d3Smrg	openrisc | openrisc-*)
85232b578d3Smrg		basic_machine=or32-unknown
85332b578d3Smrg		;;
85432b578d3Smrg	os400)
85532b578d3Smrg		basic_machine=powerpc-ibm
85632b578d3Smrg		os=-os400
85732b578d3Smrg		;;
85832b578d3Smrg	OSE68000 | ose68000)
85932b578d3Smrg		basic_machine=m68000-ericsson
86032b578d3Smrg		os=-ose
86132b578d3Smrg		;;
86232b578d3Smrg	os68k)
86332b578d3Smrg		basic_machine=m68k-none
86432b578d3Smrg		os=-os68k
86532b578d3Smrg		;;
86632b578d3Smrg	pa-hitachi)
86732b578d3Smrg		basic_machine=hppa1.1-hitachi
86832b578d3Smrg		os=-hiuxwe2
86932b578d3Smrg		;;
87032b578d3Smrg	paragon)
87132b578d3Smrg		basic_machine=i860-intel
87232b578d3Smrg		os=-osf
87332b578d3Smrg		;;
874d31dbc53Smrg	parisc)
875d31dbc53Smrg		basic_machine=hppa-unknown
876d31dbc53Smrg		os=-linux
877d31dbc53Smrg		;;
878d31dbc53Smrg	parisc-*)
879d31dbc53Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
880d31dbc53Smrg		os=-linux
881d31dbc53Smrg		;;
88232b578d3Smrg	pbd)
88332b578d3Smrg		basic_machine=sparc-tti
88432b578d3Smrg		;;
88532b578d3Smrg	pbb)
88632b578d3Smrg		basic_machine=m68k-tti
88732b578d3Smrg		;;
88832b578d3Smrg	pc532 | pc532-*)
88932b578d3Smrg		basic_machine=ns32k-pc532
89032b578d3Smrg		;;
89132b578d3Smrg	pc98)
89232b578d3Smrg		basic_machine=i386-pc
89332b578d3Smrg		;;
89432b578d3Smrg	pc98-*)
89532b578d3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
89632b578d3Smrg		;;
89732b578d3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
89832b578d3Smrg		basic_machine=i586-pc
89932b578d3Smrg		;;
90032b578d3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
90132b578d3Smrg		basic_machine=i686-pc
90232b578d3Smrg		;;
90332b578d3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
90432b578d3Smrg		basic_machine=i686-pc
90532b578d3Smrg		;;
90632b578d3Smrg	pentium4)
90732b578d3Smrg		basic_machine=i786-pc
90832b578d3Smrg		;;
90932b578d3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
91032b578d3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
91132b578d3Smrg		;;
91232b578d3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
91332b578d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
91432b578d3Smrg		;;
91532b578d3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
91632b578d3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
91732b578d3Smrg		;;
91832b578d3Smrg	pentium4-*)
91932b578d3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
92032b578d3Smrg		;;
92132b578d3Smrg	pn)
92232b578d3Smrg		basic_machine=pn-gould
92332b578d3Smrg		;;
92432b578d3Smrg	power)	basic_machine=power-ibm
92532b578d3Smrg		;;
92632b578d3Smrg	ppc)	basic_machine=powerpc-unknown
92732b578d3Smrg		;;
92832b578d3Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
92932b578d3Smrg		;;
93032b578d3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
93132b578d3Smrg		basic_machine=powerpcle-unknown
93232b578d3Smrg		;;
93332b578d3Smrg	ppcle-* | powerpclittle-*)
93432b578d3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
93532b578d3Smrg		;;
93632b578d3Smrg	ppc64)	basic_machine=powerpc64-unknown
93732b578d3Smrg		;;
93832b578d3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
93932b578d3Smrg		;;
94032b578d3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
94132b578d3Smrg		basic_machine=powerpc64le-unknown
94232b578d3Smrg		;;
94332b578d3Smrg	ppc64le-* | powerpc64little-*)
94432b578d3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
94532b578d3Smrg		;;
94632b578d3Smrg	ps2)
94732b578d3Smrg		basic_machine=i386-ibm
94832b578d3Smrg		;;
94932b578d3Smrg	pw32)
95032b578d3Smrg		basic_machine=i586-unknown
95132b578d3Smrg		os=-pw32
95232b578d3Smrg		;;
95332b578d3Smrg	rdos)
95432b578d3Smrg		basic_machine=i386-pc
95532b578d3Smrg		os=-rdos
95632b578d3Smrg		;;
95732b578d3Smrg	rom68k)
95832b578d3Smrg		basic_machine=m68k-rom68k
95932b578d3Smrg		os=-coff
96032b578d3Smrg		;;
96132b578d3Smrg	rm[46]00)
96232b578d3Smrg		basic_machine=mips-siemens
96332b578d3Smrg		;;
96432b578d3Smrg	rtpc | rtpc-*)
96532b578d3Smrg		basic_machine=romp-ibm
96632b578d3Smrg		;;
96732b578d3Smrg	s390 | s390-*)
96832b578d3Smrg		basic_machine=s390-ibm
96932b578d3Smrg		;;
97032b578d3Smrg	s390x | s390x-*)
97132b578d3Smrg		basic_machine=s390x-ibm
97232b578d3Smrg		;;
97332b578d3Smrg	sa29200)
97432b578d3Smrg		basic_machine=a29k-amd
97532b578d3Smrg		os=-udi
97632b578d3Smrg		;;
97732b578d3Smrg	sb1)
97832b578d3Smrg		basic_machine=mipsisa64sb1-unknown
97932b578d3Smrg		;;
98032b578d3Smrg	sb1el)
98132b578d3Smrg		basic_machine=mipsisa64sb1el-unknown
98232b578d3Smrg		;;
98332b578d3Smrg	sde)
98432b578d3Smrg		basic_machine=mipsisa32-sde
98532b578d3Smrg		os=-elf
98632b578d3Smrg		;;
98732b578d3Smrg	sei)
98832b578d3Smrg		basic_machine=mips-sei
98932b578d3Smrg		os=-seiux
99032b578d3Smrg		;;
99132b578d3Smrg	sequent)
99232b578d3Smrg		basic_machine=i386-sequent
99332b578d3Smrg		;;
99432b578d3Smrg	sh)
99532b578d3Smrg		basic_machine=sh-hitachi
99632b578d3Smrg		os=-hms
99732b578d3Smrg		;;
99832b578d3Smrg	sh5el)
99932b578d3Smrg		basic_machine=sh5le-unknown
100032b578d3Smrg		;;
100132b578d3Smrg	sh64)
100232b578d3Smrg		basic_machine=sh64-unknown
100332b578d3Smrg		;;
100432b578d3Smrg	sparclite-wrs | simso-wrs)
100532b578d3Smrg		basic_machine=sparclite-wrs
100632b578d3Smrg		os=-vxworks
100732b578d3Smrg		;;
100832b578d3Smrg	sps7)
100932b578d3Smrg		basic_machine=m68k-bull
101032b578d3Smrg		os=-sysv2
101132b578d3Smrg		;;
101232b578d3Smrg	spur)
101332b578d3Smrg		basic_machine=spur-unknown
101432b578d3Smrg		;;
101532b578d3Smrg	st2000)
101632b578d3Smrg		basic_machine=m68k-tandem
101732b578d3Smrg		;;
101832b578d3Smrg	stratus)
101932b578d3Smrg		basic_machine=i860-stratus
102032b578d3Smrg		os=-sysv4
102132b578d3Smrg		;;
102232b578d3Smrg	sun2)
102332b578d3Smrg		basic_machine=m68000-sun
102432b578d3Smrg		;;
102532b578d3Smrg	sun2os3)
102632b578d3Smrg		basic_machine=m68000-sun
102732b578d3Smrg		os=-sunos3
102832b578d3Smrg		;;
102932b578d3Smrg	sun2os4)
103032b578d3Smrg		basic_machine=m68000-sun
103132b578d3Smrg		os=-sunos4
103232b578d3Smrg		;;
103332b578d3Smrg	sun3os3)
103432b578d3Smrg		basic_machine=m68k-sun
103532b578d3Smrg		os=-sunos3
103632b578d3Smrg		;;
103732b578d3Smrg	sun3os4)
103832b578d3Smrg		basic_machine=m68k-sun
103932b578d3Smrg		os=-sunos4
104032b578d3Smrg		;;
104132b578d3Smrg	sun4os3)
104232b578d3Smrg		basic_machine=sparc-sun
104332b578d3Smrg		os=-sunos3
104432b578d3Smrg		;;
104532b578d3Smrg	sun4os4)
104632b578d3Smrg		basic_machine=sparc-sun
104732b578d3Smrg		os=-sunos4
104832b578d3Smrg		;;
104932b578d3Smrg	sun4sol2)
105032b578d3Smrg		basic_machine=sparc-sun
105132b578d3Smrg		os=-solaris2
105232b578d3Smrg		;;
105332b578d3Smrg	sun3 | sun3-*)
105432b578d3Smrg		basic_machine=m68k-sun
105532b578d3Smrg		;;
105632b578d3Smrg	sun4)
105732b578d3Smrg		basic_machine=sparc-sun
105832b578d3Smrg		;;
105932b578d3Smrg	sun386 | sun386i | roadrunner)
106032b578d3Smrg		basic_machine=i386-sun
106132b578d3Smrg		;;
106232b578d3Smrg	sv1)
106332b578d3Smrg		basic_machine=sv1-cray
106432b578d3Smrg		os=-unicos
106532b578d3Smrg		;;
106632b578d3Smrg	symmetry)
106732b578d3Smrg		basic_machine=i386-sequent
106832b578d3Smrg		os=-dynix
106932b578d3Smrg		;;
107032b578d3Smrg	t3e)
107132b578d3Smrg		basic_machine=alphaev5-cray
107232b578d3Smrg		os=-unicos
107332b578d3Smrg		;;
107432b578d3Smrg	t90)
107532b578d3Smrg		basic_machine=t90-cray
107632b578d3Smrg		os=-unicos
107732b578d3Smrg		;;
107832b578d3Smrg	tic54x | c54x*)
107932b578d3Smrg		basic_machine=tic54x-unknown
108032b578d3Smrg		os=-coff
108132b578d3Smrg		;;
108232b578d3Smrg	tic55x | c55x*)
108332b578d3Smrg		basic_machine=tic55x-unknown
108432b578d3Smrg		os=-coff
108532b578d3Smrg		;;
108632b578d3Smrg	tic6x | c6x*)
108732b578d3Smrg		basic_machine=tic6x-unknown
108832b578d3Smrg		os=-coff
108932b578d3Smrg		;;
10901b12faf6Smrg        # This must be matched before tile*.
10911b12faf6Smrg        tilegx*)
10921b12faf6Smrg		basic_machine=tilegx-unknown
10931b12faf6Smrg		os=-linux-gnu
10941b12faf6Smrg		;;
1095d31dbc53Smrg	tile*)
1096d31dbc53Smrg		basic_machine=tile-unknown
1097d31dbc53Smrg		os=-linux-gnu
1098d31dbc53Smrg		;;
109932b578d3Smrg	tx39)
110032b578d3Smrg		basic_machine=mipstx39-unknown
110132b578d3Smrg		;;
110232b578d3Smrg	tx39el)
110332b578d3Smrg		basic_machine=mipstx39el-unknown
110432b578d3Smrg		;;
110532b578d3Smrg	toad1)
110632b578d3Smrg		basic_machine=pdp10-xkl
110732b578d3Smrg		os=-tops20
110832b578d3Smrg		;;
110932b578d3Smrg	tower | tower-32)
111032b578d3Smrg		basic_machine=m68k-ncr
111132b578d3Smrg		;;
111232b578d3Smrg	tpf)
111332b578d3Smrg		basic_machine=s390x-ibm
111432b578d3Smrg		os=-tpf
111532b578d3Smrg		;;
111632b578d3Smrg	udi29k)
111732b578d3Smrg		basic_machine=a29k-amd
111832b578d3Smrg		os=-udi
111932b578d3Smrg		;;
112032b578d3Smrg	ultra3)
112132b578d3Smrg		basic_machine=a29k-nyu
112232b578d3Smrg		os=-sym1
112332b578d3Smrg		;;
112432b578d3Smrg	v810 | necv810)
112532b578d3Smrg		basic_machine=v810-nec
112632b578d3Smrg		os=-none
112732b578d3Smrg		;;
112832b578d3Smrg	vaxv)
112932b578d3Smrg		basic_machine=vax-dec
113032b578d3Smrg		os=-sysv
113132b578d3Smrg		;;
113232b578d3Smrg	vms)
113332b578d3Smrg		basic_machine=vax-dec
113432b578d3Smrg		os=-vms
113532b578d3Smrg		;;
113632b578d3Smrg	vpp*|vx|vx-*)
113732b578d3Smrg		basic_machine=f301-fujitsu
113832b578d3Smrg		;;
113932b578d3Smrg	vxworks960)
114032b578d3Smrg		basic_machine=i960-wrs
114132b578d3Smrg		os=-vxworks
114232b578d3Smrg		;;
114332b578d3Smrg	vxworks68)
114432b578d3Smrg		basic_machine=m68k-wrs
114532b578d3Smrg		os=-vxworks
114632b578d3Smrg		;;
114732b578d3Smrg	vxworks29k)
114832b578d3Smrg		basic_machine=a29k-wrs
114932b578d3Smrg		os=-vxworks
115032b578d3Smrg		;;
115132b578d3Smrg	w65*)
115232b578d3Smrg		basic_machine=w65-wdc
115332b578d3Smrg		os=-none
115432b578d3Smrg		;;
115532b578d3Smrg	w89k-*)
115632b578d3Smrg		basic_machine=hppa1.1-winbond
115732b578d3Smrg		os=-proelf
115832b578d3Smrg		;;
115932b578d3Smrg	xbox)
116032b578d3Smrg		basic_machine=i686-pc
116132b578d3Smrg		os=-mingw32
116232b578d3Smrg		;;
116332b578d3Smrg	xps | xps100)
116432b578d3Smrg		basic_machine=xps100-honeywell
116532b578d3Smrg		;;
116632b578d3Smrg	ymp)
116732b578d3Smrg		basic_machine=ymp-cray
116832b578d3Smrg		os=-unicos
116932b578d3Smrg		;;
117032b578d3Smrg	z8k-*-coff)
117132b578d3Smrg		basic_machine=z8k-unknown
117232b578d3Smrg		os=-sim
117332b578d3Smrg		;;
11741b12faf6Smrg	z80-*-coff)
11751b12faf6Smrg		basic_machine=z80-unknown
11761b12faf6Smrg		os=-sim
11771b12faf6Smrg		;;
117832b578d3Smrg	none)
117932b578d3Smrg		basic_machine=none-none
118032b578d3Smrg		os=-none
118132b578d3Smrg		;;
118232b578d3Smrg
118332b578d3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
118432b578d3Smrg# some cases the only manufacturer, in others, it is the most popular.
118532b578d3Smrg	w89k)
118632b578d3Smrg		basic_machine=hppa1.1-winbond
118732b578d3Smrg		;;
118832b578d3Smrg	op50n)
118932b578d3Smrg		basic_machine=hppa1.1-oki
119032b578d3Smrg		;;
119132b578d3Smrg	op60c)
119232b578d3Smrg		basic_machine=hppa1.1-oki
119332b578d3Smrg		;;
119432b578d3Smrg	romp)
119532b578d3Smrg		basic_machine=romp-ibm
119632b578d3Smrg		;;
119732b578d3Smrg	mmix)
119832b578d3Smrg		basic_machine=mmix-knuth
119932b578d3Smrg		;;
120032b578d3Smrg	rs6000)
120132b578d3Smrg		basic_machine=rs6000-ibm
120232b578d3Smrg		;;
120332b578d3Smrg	vax)
120432b578d3Smrg		basic_machine=vax-dec
120532b578d3Smrg		;;
120632b578d3Smrg	pdp10)
120732b578d3Smrg		# there are many clones, so DEC is not a safe bet
120832b578d3Smrg		basic_machine=pdp10-unknown
120932b578d3Smrg		;;
121032b578d3Smrg	pdp11)
121132b578d3Smrg		basic_machine=pdp11-dec
121232b578d3Smrg		;;
121332b578d3Smrg	we32k)
121432b578d3Smrg		basic_machine=we32k-att
121532b578d3Smrg		;;
12161b12faf6Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
121732b578d3Smrg		basic_machine=sh-unknown
121832b578d3Smrg		;;
121932b578d3Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
122032b578d3Smrg		basic_machine=sparc-sun
122132b578d3Smrg		;;
122232b578d3Smrg	cydra)
122332b578d3Smrg		basic_machine=cydra-cydrome
122432b578d3Smrg		;;
122532b578d3Smrg	orion)
122632b578d3Smrg		basic_machine=orion-highlevel
122732b578d3Smrg		;;
122832b578d3Smrg	orion105)
122932b578d3Smrg		basic_machine=clipper-highlevel
123032b578d3Smrg		;;
123132b578d3Smrg	mac | mpw | mac-mpw)
123232b578d3Smrg		basic_machine=m68k-apple
123332b578d3Smrg		;;
123432b578d3Smrg	pmac | pmac-mpw)
123532b578d3Smrg		basic_machine=powerpc-apple
123632b578d3Smrg		;;
123732b578d3Smrg	*-unknown)
123832b578d3Smrg		# Make sure to match an already-canonicalized machine name.
123932b578d3Smrg		;;
124032b578d3Smrg	*)
124132b578d3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
124232b578d3Smrg		exit 1
124332b578d3Smrg		;;
124432b578d3Smrgesac
124532b578d3Smrg
124632b578d3Smrg# Here we canonicalize certain aliases for manufacturers.
124732b578d3Smrgcase $basic_machine in
124832b578d3Smrg	*-digital*)
124932b578d3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
125032b578d3Smrg		;;
125132b578d3Smrg	*-commodore*)
125232b578d3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
125332b578d3Smrg		;;
125432b578d3Smrg	*)
125532b578d3Smrg		;;
125632b578d3Smrgesac
125732b578d3Smrg
125832b578d3Smrg# Decode manufacturer-specific aliases for certain operating systems.
125932b578d3Smrg
126032b578d3Smrgif [ x"$os" != x"" ]
126132b578d3Smrgthen
126232b578d3Smrgcase $os in
126332b578d3Smrg        # First match some system type aliases
126432b578d3Smrg        # that might get confused with valid system types.
126532b578d3Smrg	# -solaris* is a basic system type, with this one exception.
12661b12faf6Smrg        -auroraux)
12671b12faf6Smrg	        os=-auroraux
12681b12faf6Smrg		;;
126932b578d3Smrg	-solaris1 | -solaris1.*)
127032b578d3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
127132b578d3Smrg		;;
127232b578d3Smrg	-solaris)
127332b578d3Smrg		os=-solaris2
127432b578d3Smrg		;;
127532b578d3Smrg	-svr4*)
127632b578d3Smrg		os=-sysv4
127732b578d3Smrg		;;
127832b578d3Smrg	-unixware*)
127932b578d3Smrg		os=-sysv4.2uw
128032b578d3Smrg		;;
128132b578d3Smrg	-gnu/linux*)
128232b578d3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
128332b578d3Smrg		;;
128432b578d3Smrg	# First accept the basic system types.
128532b578d3Smrg	# The portable systems comes first.
128632b578d3Smrg	# Each alternative MUST END IN A *, to match a version number.
128732b578d3Smrg	# -sysv* is not here because it comes later, after sysvr4.
128832b578d3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12891b12faf6Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
12901b12faf6Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
12911b12faf6Smrg	      | -sym* | -kopensolaris* \
129232b578d3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12931b12faf6Smrg	      | -aos* | -aros* \
129432b578d3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
129532b578d3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
129632b578d3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
129732b578d3Smrg	      | -openbsd* | -solidbsd* \
129832b578d3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
129932b578d3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
130032b578d3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
130132b578d3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13021b12faf6Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
130332b578d3Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
130432b578d3Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
130532b578d3Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
130632b578d3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
130732b578d3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
130832b578d3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
130932b578d3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
131032b578d3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
131132b578d3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13121b12faf6Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
131332b578d3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
131432b578d3Smrg		;;
131532b578d3Smrg	-qnx*)
131632b578d3Smrg		case $basic_machine in
131732b578d3Smrg		    x86-* | i*86-*)
131832b578d3Smrg			;;
131932b578d3Smrg		    *)
132032b578d3Smrg			os=-nto$os
132132b578d3Smrg			;;
132232b578d3Smrg		esac
132332b578d3Smrg		;;
132432b578d3Smrg	-nto-qnx*)
132532b578d3Smrg		;;
132632b578d3Smrg	-nto*)
132732b578d3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
132832b578d3Smrg		;;
132932b578d3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
133032b578d3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
133132b578d3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
133232b578d3Smrg		;;
133332b578d3Smrg	-mac*)
133432b578d3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
133532b578d3Smrg		;;
133632b578d3Smrg	-linux-dietlibc)
133732b578d3Smrg		os=-linux-dietlibc
133832b578d3Smrg		;;
133932b578d3Smrg	-linux*)
134032b578d3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
134132b578d3Smrg		;;
134232b578d3Smrg	-sunos5*)
134332b578d3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
134432b578d3Smrg		;;
134532b578d3Smrg	-sunos6*)
134632b578d3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
134732b578d3Smrg		;;
134832b578d3Smrg	-opened*)
134932b578d3Smrg		os=-openedition
135032b578d3Smrg		;;
135132b578d3Smrg        -os400*)
135232b578d3Smrg		os=-os400
135332b578d3Smrg		;;
135432b578d3Smrg	-wince*)
135532b578d3Smrg		os=-wince
135632b578d3Smrg		;;
135732b578d3Smrg	-osfrose*)
135832b578d3Smrg		os=-osfrose
135932b578d3Smrg		;;
136032b578d3Smrg	-osf*)
136132b578d3Smrg		os=-osf
136232b578d3Smrg		;;
136332b578d3Smrg	-utek*)
136432b578d3Smrg		os=-bsd
136532b578d3Smrg		;;
136632b578d3Smrg	-dynix*)
136732b578d3Smrg		os=-bsd
136832b578d3Smrg		;;
136932b578d3Smrg	-acis*)
137032b578d3Smrg		os=-aos
137132b578d3Smrg		;;
137232b578d3Smrg	-atheos*)
137332b578d3Smrg		os=-atheos
137432b578d3Smrg		;;
137532b578d3Smrg	-syllable*)
137632b578d3Smrg		os=-syllable
137732b578d3Smrg		;;
137832b578d3Smrg	-386bsd)
137932b578d3Smrg		os=-bsd
138032b578d3Smrg		;;
138132b578d3Smrg	-ctix* | -uts*)
138232b578d3Smrg		os=-sysv
138332b578d3Smrg		;;
138432b578d3Smrg	-nova*)
138532b578d3Smrg		os=-rtmk-nova
138632b578d3Smrg		;;
138732b578d3Smrg	-ns2 )
138832b578d3Smrg		os=-nextstep2
138932b578d3Smrg		;;
139032b578d3Smrg	-nsk*)
139132b578d3Smrg		os=-nsk
139232b578d3Smrg		;;
139332b578d3Smrg	# Preserve the version number of sinix5.
139432b578d3Smrg	-sinix5.*)
139532b578d3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
139632b578d3Smrg		;;
139732b578d3Smrg	-sinix*)
139832b578d3Smrg		os=-sysv4
139932b578d3Smrg		;;
140032b578d3Smrg        -tpf*)
140132b578d3Smrg		os=-tpf
140232b578d3Smrg		;;
140332b578d3Smrg	-triton*)
140432b578d3Smrg		os=-sysv3
140532b578d3Smrg		;;
140632b578d3Smrg	-oss*)
140732b578d3Smrg		os=-sysv3
140832b578d3Smrg		;;
140932b578d3Smrg	-svr4)
141032b578d3Smrg		os=-sysv4
141132b578d3Smrg		;;
141232b578d3Smrg	-svr3)
141332b578d3Smrg		os=-sysv3
141432b578d3Smrg		;;
141532b578d3Smrg	-sysvr4)
141632b578d3Smrg		os=-sysv4
141732b578d3Smrg		;;
141832b578d3Smrg	# This must come after -sysvr4.
141932b578d3Smrg	-sysv*)
142032b578d3Smrg		;;
142132b578d3Smrg	-ose*)
142232b578d3Smrg		os=-ose
142332b578d3Smrg		;;
142432b578d3Smrg	-es1800*)
142532b578d3Smrg		os=-ose
142632b578d3Smrg		;;
142732b578d3Smrg	-xenix)
142832b578d3Smrg		os=-xenix
142932b578d3Smrg		;;
143032b578d3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
143132b578d3Smrg		os=-mint
143232b578d3Smrg		;;
143332b578d3Smrg	-aros*)
143432b578d3Smrg		os=-aros
143532b578d3Smrg		;;
143632b578d3Smrg	-kaos*)
143732b578d3Smrg		os=-kaos
143832b578d3Smrg		;;
143932b578d3Smrg	-zvmoe)
144032b578d3Smrg		os=-zvmoe
144132b578d3Smrg		;;
14421b12faf6Smrg	-dicos*)
14431b12faf6Smrg		os=-dicos
14441b12faf6Smrg		;;
14451b12faf6Smrg        -nacl*)
14461b12faf6Smrg	        ;;
144732b578d3Smrg	-none)
144832b578d3Smrg		;;
144932b578d3Smrg	*)
145032b578d3Smrg		# Get rid of the `-' at the beginning of $os.
145132b578d3Smrg		os=`echo $os | sed 's/[^-]*-//'`
145232b578d3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
145332b578d3Smrg		exit 1
145432b578d3Smrg		;;
145532b578d3Smrgesac
145632b578d3Smrgelse
145732b578d3Smrg
145832b578d3Smrg# Here we handle the default operating systems that come with various machines.
145932b578d3Smrg# The value should be what the vendor currently ships out the door with their
146032b578d3Smrg# machine or put another way, the most popular os provided with the machine.
146132b578d3Smrg
146232b578d3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
146332b578d3Smrg# "-sun"), then you have to tell the case statement up towards the top
146432b578d3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
146532b578d3Smrg# will signal an error saying that MANUFACTURER isn't an operating
146632b578d3Smrg# system, and we'll never get to this point.
146732b578d3Smrg
146832b578d3Smrgcase $basic_machine in
146932b578d3Smrg        score-*)
147032b578d3Smrg		os=-elf
147132b578d3Smrg		;;
147232b578d3Smrg        spu-*)
147332b578d3Smrg		os=-elf
147432b578d3Smrg		;;
147532b578d3Smrg	*-acorn)
147632b578d3Smrg		os=-riscix1.2
147732b578d3Smrg		;;
147832b578d3Smrg	arm*-rebel)
147932b578d3Smrg		os=-linux
148032b578d3Smrg		;;
148132b578d3Smrg	arm*-semi)
148232b578d3Smrg		os=-aout
148332b578d3Smrg		;;
148432b578d3Smrg        c4x-* | tic4x-*)
148532b578d3Smrg        	os=-coff
148632b578d3Smrg		;;
148732b578d3Smrg	# This must come before the *-dec entry.
148832b578d3Smrg	pdp10-*)
148932b578d3Smrg		os=-tops20
149032b578d3Smrg		;;
149132b578d3Smrg	pdp11-*)
149232b578d3Smrg		os=-none
149332b578d3Smrg		;;
149432b578d3Smrg	*-dec | vax-*)
149532b578d3Smrg		os=-ultrix4.2
149632b578d3Smrg		;;
149732b578d3Smrg	m68*-apollo)
149832b578d3Smrg		os=-domain
149932b578d3Smrg		;;
150032b578d3Smrg	i386-sun)
150132b578d3Smrg		os=-sunos4.0.2
150232b578d3Smrg		;;
150332b578d3Smrg	m68000-sun)
150432b578d3Smrg		os=-sunos3
150532b578d3Smrg		# This also exists in the configure program, but was not the
150632b578d3Smrg		# default.
150732b578d3Smrg		# os=-sunos4
150832b578d3Smrg		;;
150932b578d3Smrg	m68*-cisco)
151032b578d3Smrg		os=-aout
151132b578d3Smrg		;;
151232b578d3Smrg        mep-*)
151332b578d3Smrg		os=-elf
151432b578d3Smrg		;;
151532b578d3Smrg	mips*-cisco)
151632b578d3Smrg		os=-elf
151732b578d3Smrg		;;
151832b578d3Smrg	mips*-*)
151932b578d3Smrg		os=-elf
152032b578d3Smrg		;;
152132b578d3Smrg	or32-*)
152232b578d3Smrg		os=-coff
152332b578d3Smrg		;;
152432b578d3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
152532b578d3Smrg		os=-sysv3
152632b578d3Smrg		;;
152732b578d3Smrg	sparc-* | *-sun)
152832b578d3Smrg		os=-sunos4.1.1
152932b578d3Smrg		;;
153032b578d3Smrg	*-be)
153132b578d3Smrg		os=-beos
153232b578d3Smrg		;;
153332b578d3Smrg	*-haiku)
153432b578d3Smrg		os=-haiku
153532b578d3Smrg		;;
153632b578d3Smrg	*-ibm)
153732b578d3Smrg		os=-aix
153832b578d3Smrg		;;
153932b578d3Smrg    	*-knuth)
154032b578d3Smrg		os=-mmixware
154132b578d3Smrg		;;
154232b578d3Smrg	*-wec)
154332b578d3Smrg		os=-proelf
154432b578d3Smrg		;;
154532b578d3Smrg	*-winbond)
154632b578d3Smrg		os=-proelf
154732b578d3Smrg		;;
154832b578d3Smrg	*-oki)
154932b578d3Smrg		os=-proelf
155032b578d3Smrg		;;
155132b578d3Smrg	*-hp)
155232b578d3Smrg		os=-hpux
155332b578d3Smrg		;;
155432b578d3Smrg	*-hitachi)
155532b578d3Smrg		os=-hiux
155632b578d3Smrg		;;
155732b578d3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
155832b578d3Smrg		os=-sysv
155932b578d3Smrg		;;
156032b578d3Smrg	*-cbm)
156132b578d3Smrg		os=-amigaos
156232b578d3Smrg		;;
156332b578d3Smrg	*-dg)
156432b578d3Smrg		os=-dgux
156532b578d3Smrg		;;
156632b578d3Smrg	*-dolphin)
156732b578d3Smrg		os=-sysv3
156832b578d3Smrg		;;
156932b578d3Smrg	m68k-ccur)
157032b578d3Smrg		os=-rtu
157132b578d3Smrg		;;
157232b578d3Smrg	m88k-omron*)
157332b578d3Smrg		os=-luna
157432b578d3Smrg		;;
157532b578d3Smrg	*-next )
157632b578d3Smrg		os=-nextstep
157732b578d3Smrg		;;
157832b578d3Smrg	*-sequent)
157932b578d3Smrg		os=-ptx
158032b578d3Smrg		;;
158132b578d3Smrg	*-crds)
158232b578d3Smrg		os=-unos
158332b578d3Smrg		;;
158432b578d3Smrg	*-ns)
158532b578d3Smrg		os=-genix
158632b578d3Smrg		;;
158732b578d3Smrg	i370-*)
158832b578d3Smrg		os=-mvs
158932b578d3Smrg		;;
159032b578d3Smrg	*-next)
159132b578d3Smrg		os=-nextstep3
159232b578d3Smrg		;;
159332b578d3Smrg	*-gould)
159432b578d3Smrg		os=-sysv
159532b578d3Smrg		;;
159632b578d3Smrg	*-highlevel)
159732b578d3Smrg		os=-bsd
159832b578d3Smrg		;;
159932b578d3Smrg	*-encore)
160032b578d3Smrg		os=-bsd
160132b578d3Smrg		;;
160232b578d3Smrg	*-sgi)
160332b578d3Smrg		os=-irix
160432b578d3Smrg		;;
160532b578d3Smrg	*-siemens)
160632b578d3Smrg		os=-sysv4
160732b578d3Smrg		;;
160832b578d3Smrg	*-masscomp)
160932b578d3Smrg		os=-rtu
161032b578d3Smrg		;;
161132b578d3Smrg	f30[01]-fujitsu | f700-fujitsu)
161232b578d3Smrg		os=-uxpv
161332b578d3Smrg		;;
161432b578d3Smrg	*-rom68k)
161532b578d3Smrg		os=-coff
161632b578d3Smrg		;;
161732b578d3Smrg	*-*bug)
161832b578d3Smrg		os=-coff
161932b578d3Smrg		;;
162032b578d3Smrg	*-apple)
162132b578d3Smrg		os=-macos
162232b578d3Smrg		;;
162332b578d3Smrg	*-atari*)
162432b578d3Smrg		os=-mint
162532b578d3Smrg		;;
162632b578d3Smrg	*)
162732b578d3Smrg		os=-none
162832b578d3Smrg		;;
162932b578d3Smrgesac
163032b578d3Smrgfi
163132b578d3Smrg
163232b578d3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
163332b578d3Smrg# manufacturer.  We pick the logical manufacturer.
163432b578d3Smrgvendor=unknown
163532b578d3Smrgcase $basic_machine in
163632b578d3Smrg	*-unknown)
163732b578d3Smrg		case $os in
163832b578d3Smrg			-riscix*)
163932b578d3Smrg				vendor=acorn
164032b578d3Smrg				;;
164132b578d3Smrg			-sunos*)
164232b578d3Smrg				vendor=sun
164332b578d3Smrg				;;
16441b12faf6Smrg			-cnk*|-aix*)
164532b578d3Smrg				vendor=ibm
164632b578d3Smrg				;;
164732b578d3Smrg			-beos*)
164832b578d3Smrg				vendor=be
164932b578d3Smrg				;;
165032b578d3Smrg			-hpux*)
165132b578d3Smrg				vendor=hp
165232b578d3Smrg				;;
165332b578d3Smrg			-mpeix*)
165432b578d3Smrg				vendor=hp
165532b578d3Smrg				;;
165632b578d3Smrg			-hiux*)
165732b578d3Smrg				vendor=hitachi
165832b578d3Smrg				;;
165932b578d3Smrg			-unos*)
166032b578d3Smrg				vendor=crds
166132b578d3Smrg				;;
166232b578d3Smrg			-dgux*)
166332b578d3Smrg				vendor=dg
166432b578d3Smrg				;;
166532b578d3Smrg			-luna*)
166632b578d3Smrg				vendor=omron
166732b578d3Smrg				;;
166832b578d3Smrg			-genix*)
166932b578d3Smrg				vendor=ns
167032b578d3Smrg				;;
167132b578d3Smrg			-mvs* | -opened*)
167232b578d3Smrg				vendor=ibm
167332b578d3Smrg				;;
167432b578d3Smrg			-os400*)
167532b578d3Smrg				vendor=ibm
167632b578d3Smrg				;;
167732b578d3Smrg			-ptx*)
167832b578d3Smrg				vendor=sequent
167932b578d3Smrg				;;
168032b578d3Smrg			-tpf*)
168132b578d3Smrg				vendor=ibm
168232b578d3Smrg				;;
168332b578d3Smrg			-vxsim* | -vxworks* | -windiss*)
168432b578d3Smrg				vendor=wrs
168532b578d3Smrg				;;
168632b578d3Smrg			-aux*)
168732b578d3Smrg				vendor=apple
168832b578d3Smrg				;;
168932b578d3Smrg			-hms*)
169032b578d3Smrg				vendor=hitachi
169132b578d3Smrg				;;
169232b578d3Smrg			-mpw* | -macos*)
169332b578d3Smrg				vendor=apple
169432b578d3Smrg				;;
169532b578d3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
169632b578d3Smrg				vendor=atari
169732b578d3Smrg				;;
169832b578d3Smrg			-vos*)
169932b578d3Smrg				vendor=stratus
170032b578d3Smrg				;;
170132b578d3Smrg		esac
170232b578d3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
170332b578d3Smrg		;;
170432b578d3Smrgesac
170532b578d3Smrg
170632b578d3Smrgecho $basic_machine$os
170732b578d3Smrgexit
170832b578d3Smrg
170932b578d3Smrg# Local variables:
171032b578d3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
171132b578d3Smrg# time-stamp-start: "timestamp='"
171232b578d3Smrg# time-stamp-format: "%:y-%02m-%02d"
171332b578d3Smrg# time-stamp-end: "'"
171432b578d3Smrg# End:
1715