config.sub revision 14330f12
195b296d0Smrg#! /bin/sh
295b296d0Smrg# Configuration validation subroutine script.
395b296d0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
414330f12Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5ff89ac2bSmrg#   Free Software Foundation, Inc.
695b296d0Smrg
714330f12Smrgtimestamp='2010-09-11'
895b296d0Smrg
995b296d0Smrg# This file is (in principle) common to ALL GNU software.
1095b296d0Smrg# The presence of a machine in this file suggests that SOME GNU software
1195b296d0Smrg# can handle that machine.  It does not imply ALL GNU software can.
1295b296d0Smrg#
1395b296d0Smrg# This file is free software; you can redistribute it and/or modify
1495b296d0Smrg# it under the terms of the GNU General Public License as published by
1595b296d0Smrg# the Free Software Foundation; either version 2 of the License, or
1695b296d0Smrg# (at your option) any later version.
1795b296d0Smrg#
1895b296d0Smrg# This program is distributed in the hope that it will be useful,
1995b296d0Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2095b296d0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2195b296d0Smrg# GNU General Public License for more details.
2295b296d0Smrg#
2395b296d0Smrg# You should have received a copy of the GNU General Public License
2495b296d0Smrg# along with this program; if not, write to the Free Software
2595b296d0Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2695b296d0Smrg# 02110-1301, USA.
2795b296d0Smrg#
2895b296d0Smrg# As a special exception to the GNU General Public License, if you
2995b296d0Smrg# distribute this file as part of a program that contains a
3095b296d0Smrg# configuration script generated by Autoconf, you may include it under
3195b296d0Smrg# the same distribution terms that you use for the rest of that program.
3295b296d0Smrg
3395b296d0Smrg
3495b296d0Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3514330f12Smrg# diff and a properly formatted GNU ChangeLog entry.
3695b296d0Smrg#
3795b296d0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3895b296d0Smrg# Supply the specified configuration type as an argument.
3995b296d0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4095b296d0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4195b296d0Smrg
4214330f12Smrg# You can get the latest version of this script from:
4314330f12Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4414330f12Smrg
4595b296d0Smrg# This file is supposed to be the same for all GNU packages
4695b296d0Smrg# and recognize all the CPU types, system types and aliases
4795b296d0Smrg# that are meaningful with *any* GNU software.
4895b296d0Smrg# Each package is responsible for reporting which valid configurations
4995b296d0Smrg# it does not support.  The user should be able to distinguish
5095b296d0Smrg# a failure to support a valid configuration from a meaningless
5195b296d0Smrg# configuration.
5295b296d0Smrg
5395b296d0Smrg# The goal of this file is to map all the various variations of a given
5495b296d0Smrg# machine specification into a single specification in the form:
5595b296d0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5695b296d0Smrg# or in some cases, the newer four-part form:
5795b296d0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5895b296d0Smrg# It is wrong to echo any other type of specification.
5995b296d0Smrg
6095b296d0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6195b296d0Smrg
6295b296d0Smrgusage="\
6395b296d0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6495b296d0Smrg       $0 [OPTION] ALIAS
6595b296d0Smrg
6695b296d0SmrgCanonicalize a configuration name.
6795b296d0Smrg
6895b296d0SmrgOperation modes:
6995b296d0Smrg  -h, --help         print this help, then exit
7095b296d0Smrg  -t, --time-stamp   print date of last modification, then exit
7195b296d0Smrg  -v, --version      print version number, then exit
7295b296d0Smrg
7395b296d0SmrgReport bugs and patches to <config-patches@gnu.org>."
7495b296d0Smrg
7595b296d0Smrgversion="\
7695b296d0SmrgGNU config.sub ($timestamp)
7795b296d0Smrg
7814330f12SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7914330f12Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8014330f12SmrgSoftware Foundation, Inc.
8195b296d0Smrg
8295b296d0SmrgThis is free software; see the source for copying conditions.  There is NO
8395b296d0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8495b296d0Smrg
8595b296d0Smrghelp="
8695b296d0SmrgTry \`$me --help' for more information."
8795b296d0Smrg
8895b296d0Smrg# Parse command line
8995b296d0Smrgwhile test $# -gt 0 ; do
9095b296d0Smrg  case $1 in
9195b296d0Smrg    --time-stamp | --time* | -t )
9295b296d0Smrg       echo "$timestamp" ; exit ;;
9395b296d0Smrg    --version | -v )
9495b296d0Smrg       echo "$version" ; exit ;;
9595b296d0Smrg    --help | --h* | -h )
9695b296d0Smrg       echo "$usage"; exit ;;
9795b296d0Smrg    -- )     # Stop option processing
9895b296d0Smrg       shift; break ;;
9995b296d0Smrg    - )	# Use stdin as input.
10095b296d0Smrg       break ;;
10195b296d0Smrg    -* )
10295b296d0Smrg       echo "$me: invalid option $1$help"
10395b296d0Smrg       exit 1 ;;
10495b296d0Smrg
10595b296d0Smrg    *local*)
10695b296d0Smrg       # First pass through any local machine types.
10795b296d0Smrg       echo $1
10895b296d0Smrg       exit ;;
10995b296d0Smrg
11095b296d0Smrg    * )
11195b296d0Smrg       break ;;
11295b296d0Smrg  esac
11395b296d0Smrgdone
11495b296d0Smrg
11595b296d0Smrgcase $# in
11695b296d0Smrg 0) echo "$me: missing argument$help" >&2
11795b296d0Smrg    exit 1;;
11895b296d0Smrg 1) ;;
11995b296d0Smrg *) echo "$me: too many arguments$help" >&2
12095b296d0Smrg    exit 1;;
12195b296d0Smrgesac
12295b296d0Smrg
12395b296d0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12495b296d0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12595b296d0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12695b296d0Smrgcase $maybe_os in
12714330f12Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12814330f12Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12914330f12Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13014330f12Smrg  kopensolaris*-gnu* | \
13195b296d0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13295b296d0Smrg    os=-$maybe_os
13395b296d0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13495b296d0Smrg    ;;
13595b296d0Smrg  *)
13695b296d0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13795b296d0Smrg    if [ $basic_machine != $1 ]
13895b296d0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13995b296d0Smrg    else os=; fi
14095b296d0Smrg    ;;
14195b296d0Smrgesac
14295b296d0Smrg
14395b296d0Smrg### Let's recognize common machines as not being operating systems so
14495b296d0Smrg### that things like config.sub decstation-3100 work.  We also
14595b296d0Smrg### recognize some manufacturers as not being operating systems, so we
14695b296d0Smrg### can provide default operating systems below.
14795b296d0Smrgcase $os in
14895b296d0Smrg	-sun*os*)
14995b296d0Smrg		# Prevent following clause from handling this invalid input.
15095b296d0Smrg		;;
15195b296d0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15295b296d0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15395b296d0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15495b296d0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15595b296d0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15695b296d0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15714330f12Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15895b296d0Smrg		os=
15995b296d0Smrg		basic_machine=$1
16095b296d0Smrg		;;
16114330f12Smrg        -bluegene*)
16214330f12Smrg	        os=-cnk
16314330f12Smrg		;;
16495b296d0Smrg	-sim | -cisco | -oki | -wec | -winbond)
16595b296d0Smrg		os=
16695b296d0Smrg		basic_machine=$1
16795b296d0Smrg		;;
16895b296d0Smrg	-scout)
16995b296d0Smrg		;;
17095b296d0Smrg	-wrs)
17195b296d0Smrg		os=-vxworks
17295b296d0Smrg		basic_machine=$1
17395b296d0Smrg		;;
17495b296d0Smrg	-chorusos*)
17595b296d0Smrg		os=-chorusos
17695b296d0Smrg		basic_machine=$1
17795b296d0Smrg		;;
17895b296d0Smrg 	-chorusrdb)
17995b296d0Smrg 		os=-chorusrdb
18095b296d0Smrg		basic_machine=$1
18195b296d0Smrg 		;;
18295b296d0Smrg	-hiux*)
18395b296d0Smrg		os=-hiuxwe2
18495b296d0Smrg		;;
18595b296d0Smrg	-sco6)
18695b296d0Smrg		os=-sco5v6
18795b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18895b296d0Smrg		;;
18995b296d0Smrg	-sco5)
19095b296d0Smrg		os=-sco3.2v5
19195b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19295b296d0Smrg		;;
19395b296d0Smrg	-sco4)
19495b296d0Smrg		os=-sco3.2v4
19595b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19695b296d0Smrg		;;
19795b296d0Smrg	-sco3.2.[4-9]*)
19895b296d0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19995b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20095b296d0Smrg		;;
20195b296d0Smrg	-sco3.2v[4-9]*)
20295b296d0Smrg		# Don't forget version if it is 3.2v4 or newer.
20395b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20495b296d0Smrg		;;
20595b296d0Smrg	-sco5v6*)
20695b296d0Smrg		# Don't forget version if it is 3.2v4 or newer.
20795b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20895b296d0Smrg		;;
20995b296d0Smrg	-sco*)
21095b296d0Smrg		os=-sco3.2v2
21195b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21295b296d0Smrg		;;
21395b296d0Smrg	-udk*)
21495b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21595b296d0Smrg		;;
21695b296d0Smrg	-isc)
21795b296d0Smrg		os=-isc2.2
21895b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21995b296d0Smrg		;;
22095b296d0Smrg	-clix*)
22195b296d0Smrg		basic_machine=clipper-intergraph
22295b296d0Smrg		;;
22395b296d0Smrg	-isc*)
22495b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22595b296d0Smrg		;;
22695b296d0Smrg	-lynx*)
22795b296d0Smrg		os=-lynxos
22895b296d0Smrg		;;
22995b296d0Smrg	-ptx*)
23095b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23195b296d0Smrg		;;
23295b296d0Smrg	-windowsnt*)
23395b296d0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23495b296d0Smrg		;;
23595b296d0Smrg	-psos*)
23695b296d0Smrg		os=-psos
23795b296d0Smrg		;;
23895b296d0Smrg	-mint | -mint[0-9]*)
23995b296d0Smrg		basic_machine=m68k-atari
24095b296d0Smrg		os=-mint
24195b296d0Smrg		;;
24295b296d0Smrgesac
24395b296d0Smrg
24495b296d0Smrg# Decode aliases for certain CPU-COMPANY combinations.
24595b296d0Smrgcase $basic_machine in
24695b296d0Smrg	# Recognize the basic CPU types without company name.
24795b296d0Smrg	# Some are omitted here because they have special meanings below.
24895b296d0Smrg	1750a | 580 \
24995b296d0Smrg	| a29k \
25095b296d0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25195b296d0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25295b296d0Smrg	| am33_2.0 \
25395b296d0Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25495b296d0Smrg	| bfin \
25595b296d0Smrg	| c4x | clipper \
256ff89ac2bSmrg	| d10v | d30v | dlx | dsp16xx \
257ff89ac2bSmrg	| fido | fr30 | frv \
25895b296d0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25995b296d0Smrg	| i370 | i860 | i960 | ia64 \
26095b296d0Smrg	| ip2k | iq2000 \
26114330f12Smrg	| lm32 \
26295b296d0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26314330f12Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26495b296d0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26595b296d0Smrg	| mips16 \
26695b296d0Smrg	| mips64 | mips64el \
26714330f12Smrg	| mips64octeon | mips64octeonel \
268e6f085baSmrg	| mips64orion | mips64orionel \
26914330f12Smrg	| mips64r5900 | mips64r5900el \
27014330f12Smrg	| mips64vr | mips64vrel \
27195b296d0Smrg	| mips64vr4100 | mips64vr4100el \
27295b296d0Smrg	| mips64vr4300 | mips64vr4300el \
27395b296d0Smrg	| mips64vr5000 | mips64vr5000el \
27495b296d0Smrg	| mips64vr5900 | mips64vr5900el \
27595b296d0Smrg	| mipsisa32 | mipsisa32el \
27695b296d0Smrg	| mipsisa32r2 | mipsisa32r2el \
27795b296d0Smrg	| mipsisa64 | mipsisa64el \
27895b296d0Smrg	| mipsisa64r2 | mipsisa64r2el \
27995b296d0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28095b296d0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28195b296d0Smrg	| mipstx39 | mipstx39el \
28295b296d0Smrg	| mn10200 | mn10300 \
28314330f12Smrg	| moxie \
28495b296d0Smrg	| mt \
28595b296d0Smrg	| msp430 \
28614330f12Smrg	| nds32 | nds32le | nds32be \
28795b296d0Smrg	| nios | nios2 \
28895b296d0Smrg	| ns16k | ns32k \
28995b296d0Smrg	| or32 \
29095b296d0Smrg	| pdp10 | pdp11 | pj | pjl \
29195b296d0Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29295b296d0Smrg	| pyramid \
29314330f12Smrg	| rx \
294ff89ac2bSmrg	| score \
29514330f12Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29695b296d0Smrg	| sh64 | sh64le \
29795b296d0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29895b296d0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29995b296d0Smrg	| spu | strongarm \
30014330f12Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30114330f12Smrg	| ubicom32 \
30295b296d0Smrg	| v850 | v850e \
30395b296d0Smrg	| we32k \
304ff89ac2bSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30514330f12Smrg	| z8k | z80)
30695b296d0Smrg		basic_machine=$basic_machine-unknown
30795b296d0Smrg		;;
30814330f12Smrg	c54x)
30914330f12Smrg		basic_machine=tic54x-unknown
31014330f12Smrg		;;
31114330f12Smrg	c55x)
31214330f12Smrg		basic_machine=tic55x-unknown
31314330f12Smrg		;;
31414330f12Smrg	c6x)
31514330f12Smrg		basic_machine=tic6x-unknown
31614330f12Smrg		;;
31714330f12Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31895b296d0Smrg		# Motorola 68HC11/12.
31995b296d0Smrg		basic_machine=$basic_machine-unknown
32095b296d0Smrg		os=-none
32195b296d0Smrg		;;
32295b296d0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32395b296d0Smrg		;;
32495b296d0Smrg	ms1)
32595b296d0Smrg		basic_machine=mt-unknown
32695b296d0Smrg		;;
32795b296d0Smrg
32895b296d0Smrg	# We use `pc' rather than `unknown'
32995b296d0Smrg	# because (1) that's what they normally are, and
33095b296d0Smrg	# (2) the word "unknown" tends to confuse beginning users.
33195b296d0Smrg	i*86 | x86_64)
33295b296d0Smrg	  basic_machine=$basic_machine-pc
33395b296d0Smrg	  ;;
33495b296d0Smrg	# Object if more than one company name word.
33595b296d0Smrg	*-*-*)
33695b296d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33795b296d0Smrg		exit 1
33895b296d0Smrg		;;
33995b296d0Smrg	# Recognize the basic CPU types with company name.
34095b296d0Smrg	580-* \
34195b296d0Smrg	| a29k-* \
34295b296d0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34395b296d0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34495b296d0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34595b296d0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34695b296d0Smrg	| avr-* | avr32-* \
34795b296d0Smrg	| bfin-* | bs2000-* \
34814330f12Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34995b296d0Smrg	| clipper-* | craynv-* | cydra-* \
35095b296d0Smrg	| d10v-* | d30v-* | dlx-* \
35195b296d0Smrg	| elxsi-* \
352ff89ac2bSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35395b296d0Smrg	| h8300-* | h8500-* \
35495b296d0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35595b296d0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
35695b296d0Smrg	| ip2k-* | iq2000-* \
35714330f12Smrg	| lm32-* \
35895b296d0Smrg	| m32c-* | m32r-* | m32rle-* \
35995b296d0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36014330f12Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36195b296d0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36295b296d0Smrg	| mips16-* \
36395b296d0Smrg	| mips64-* | mips64el-* \
36414330f12Smrg	| mips64octeon-* | mips64octeonel-* \
365e6f085baSmrg	| mips64orion-* | mips64orionel-* \
36614330f12Smrg	| mips64r5900-* | mips64r5900el-* \
36714330f12Smrg	| mips64vr-* | mips64vrel-* \
36895b296d0Smrg	| mips64vr4100-* | mips64vr4100el-* \
36995b296d0Smrg	| mips64vr4300-* | mips64vr4300el-* \
37095b296d0Smrg	| mips64vr5000-* | mips64vr5000el-* \
37195b296d0Smrg	| mips64vr5900-* | mips64vr5900el-* \
37295b296d0Smrg	| mipsisa32-* | mipsisa32el-* \
37395b296d0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
37495b296d0Smrg	| mipsisa64-* | mipsisa64el-* \
37595b296d0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
37695b296d0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37795b296d0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37895b296d0Smrg	| mipstx39-* | mipstx39el-* \
37995b296d0Smrg	| mmix-* \
38095b296d0Smrg	| mt-* \
38195b296d0Smrg	| msp430-* \
38214330f12Smrg	| nds32-* | nds32le-* | nds32be-* \
38395b296d0Smrg	| nios-* | nios2-* \
38495b296d0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
38595b296d0Smrg	| orion-* \
38695b296d0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38795b296d0Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38895b296d0Smrg	| pyramid-* \
38914330f12Smrg	| romp-* | rs6000-* | rx-* \
39014330f12Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39195b296d0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39295b296d0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39395b296d0Smrg	| sparclite-* \
39495b296d0Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39595b296d0Smrg	| tahoe-* | thumb-* \
396e6f085baSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39714330f12Smrg	| tile-* | tilegx-* \
39895b296d0Smrg	| tron-* \
39914330f12Smrg	| ubicom32-* \
40095b296d0Smrg	| v850-* | v850e-* | vax-* \
40195b296d0Smrg	| we32k-* \
402ff89ac2bSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403ff89ac2bSmrg	| xstormy16-* | xtensa*-* \
40495b296d0Smrg	| ymp-* \
40514330f12Smrg	| z8k-* | z80-*)
40695b296d0Smrg		;;
407ff89ac2bSmrg	# Recognize the basic CPU types without company name, with glob match.
408ff89ac2bSmrg	xtensa*)
409ff89ac2bSmrg		basic_machine=$basic_machine-unknown
410ff89ac2bSmrg		;;
41195b296d0Smrg	# Recognize the various machine names and aliases which stand
41295b296d0Smrg	# for a CPU type and a company and sometimes even an OS.
41395b296d0Smrg	386bsd)
41495b296d0Smrg		basic_machine=i386-unknown
41595b296d0Smrg		os=-bsd
41695b296d0Smrg		;;
41795b296d0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41895b296d0Smrg		basic_machine=m68000-att
41995b296d0Smrg		;;
42095b296d0Smrg	3b*)
42195b296d0Smrg		basic_machine=we32k-att
42295b296d0Smrg		;;
42395b296d0Smrg	a29khif)
42495b296d0Smrg		basic_machine=a29k-amd
42595b296d0Smrg		os=-udi
42695b296d0Smrg		;;
42795b296d0Smrg    	abacus)
42895b296d0Smrg		basic_machine=abacus-unknown
42995b296d0Smrg		;;
43095b296d0Smrg	adobe68k)
43195b296d0Smrg		basic_machine=m68010-adobe
43295b296d0Smrg		os=-scout
43395b296d0Smrg		;;
43495b296d0Smrg	alliant | fx80)
43595b296d0Smrg		basic_machine=fx80-alliant
43695b296d0Smrg		;;
43795b296d0Smrg	altos | altos3068)
43895b296d0Smrg		basic_machine=m68k-altos
43995b296d0Smrg		;;
44095b296d0Smrg	am29k)
44195b296d0Smrg		basic_machine=a29k-none
44295b296d0Smrg		os=-bsd
44395b296d0Smrg		;;
44495b296d0Smrg	amd64)
44595b296d0Smrg		basic_machine=x86_64-pc
44695b296d0Smrg		;;
44795b296d0Smrg	amd64-*)
44895b296d0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44995b296d0Smrg		;;
45095b296d0Smrg	amdahl)
45195b296d0Smrg		basic_machine=580-amdahl
45295b296d0Smrg		os=-sysv
45395b296d0Smrg		;;
45495b296d0Smrg	amiga | amiga-*)
45595b296d0Smrg		basic_machine=m68k-unknown
45695b296d0Smrg		;;
45795b296d0Smrg	amigaos | amigados)
45895b296d0Smrg		basic_machine=m68k-unknown
45995b296d0Smrg		os=-amigaos
46095b296d0Smrg		;;
46195b296d0Smrg	amigaunix | amix)
46295b296d0Smrg		basic_machine=m68k-unknown
46395b296d0Smrg		os=-sysv4
46495b296d0Smrg		;;
46595b296d0Smrg	apollo68)
46695b296d0Smrg		basic_machine=m68k-apollo
46795b296d0Smrg		os=-sysv
46895b296d0Smrg		;;
46995b296d0Smrg	apollo68bsd)
47095b296d0Smrg		basic_machine=m68k-apollo
47195b296d0Smrg		os=-bsd
47295b296d0Smrg		;;
47314330f12Smrg	aros)
47414330f12Smrg		basic_machine=i386-pc
47514330f12Smrg		os=-aros
47614330f12Smrg		;;
47795b296d0Smrg	aux)
47895b296d0Smrg		basic_machine=m68k-apple
47995b296d0Smrg		os=-aux
48095b296d0Smrg		;;
48195b296d0Smrg	balance)
48295b296d0Smrg		basic_machine=ns32k-sequent
48395b296d0Smrg		os=-dynix
48495b296d0Smrg		;;
485ff89ac2bSmrg	blackfin)
486ff89ac2bSmrg		basic_machine=bfin-unknown
487ff89ac2bSmrg		os=-linux
488ff89ac2bSmrg		;;
489ff89ac2bSmrg	blackfin-*)
490ff89ac2bSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491ff89ac2bSmrg		os=-linux
492ff89ac2bSmrg		;;
49314330f12Smrg	bluegene*)
49414330f12Smrg		basic_machine=powerpc-ibm
49514330f12Smrg		os=-cnk
49614330f12Smrg		;;
49714330f12Smrg	c54x-*)
49814330f12Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49914330f12Smrg		;;
50014330f12Smrg	c55x-*)
50114330f12Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50214330f12Smrg		;;
50314330f12Smrg	c6x-*)
50414330f12Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50514330f12Smrg		;;
50695b296d0Smrg	c90)
50795b296d0Smrg		basic_machine=c90-cray
50895b296d0Smrg		os=-unicos
50995b296d0Smrg		;;
51014330f12Smrg        cegcc)
51114330f12Smrg		basic_machine=arm-unknown
51214330f12Smrg		os=-cegcc
51314330f12Smrg		;;
51495b296d0Smrg	convex-c1)
51595b296d0Smrg		basic_machine=c1-convex
51695b296d0Smrg		os=-bsd
51795b296d0Smrg		;;
51895b296d0Smrg	convex-c2)
51995b296d0Smrg		basic_machine=c2-convex
52095b296d0Smrg		os=-bsd
52195b296d0Smrg		;;
52295b296d0Smrg	convex-c32)
52395b296d0Smrg		basic_machine=c32-convex
52495b296d0Smrg		os=-bsd
52595b296d0Smrg		;;
52695b296d0Smrg	convex-c34)
52795b296d0Smrg		basic_machine=c34-convex
52895b296d0Smrg		os=-bsd
52995b296d0Smrg		;;
53095b296d0Smrg	convex-c38)
53195b296d0Smrg		basic_machine=c38-convex
53295b296d0Smrg		os=-bsd
53395b296d0Smrg		;;
53495b296d0Smrg	cray | j90)
53595b296d0Smrg		basic_machine=j90-cray
53695b296d0Smrg		os=-unicos
53795b296d0Smrg		;;
53895b296d0Smrg	craynv)
53995b296d0Smrg		basic_machine=craynv-cray
54095b296d0Smrg		os=-unicosmp
54195b296d0Smrg		;;
542ff89ac2bSmrg	cr16)
543ff89ac2bSmrg		basic_machine=cr16-unknown
54495b296d0Smrg		os=-elf
54595b296d0Smrg		;;
54695b296d0Smrg	crds | unos)
54795b296d0Smrg		basic_machine=m68k-crds
54895b296d0Smrg		;;
54995b296d0Smrg	crisv32 | crisv32-* | etraxfs*)
55095b296d0Smrg		basic_machine=crisv32-axis
55195b296d0Smrg		;;
55295b296d0Smrg	cris | cris-* | etrax*)
55395b296d0Smrg		basic_machine=cris-axis
55495b296d0Smrg		;;
55595b296d0Smrg	crx)
55695b296d0Smrg		basic_machine=crx-unknown
55795b296d0Smrg		os=-elf
55895b296d0Smrg		;;
55995b296d0Smrg	da30 | da30-*)
56095b296d0Smrg		basic_machine=m68k-da30
56195b296d0Smrg		;;
56295b296d0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56395b296d0Smrg		basic_machine=mips-dec
56495b296d0Smrg		;;
56595b296d0Smrg	decsystem10* | dec10*)
56695b296d0Smrg		basic_machine=pdp10-dec
56795b296d0Smrg		os=-tops10
56895b296d0Smrg		;;
56995b296d0Smrg	decsystem20* | dec20*)
57095b296d0Smrg		basic_machine=pdp10-dec
57195b296d0Smrg		os=-tops20
57295b296d0Smrg		;;
57395b296d0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
57495b296d0Smrg	      | 3300-motorola | delta-motorola)
57595b296d0Smrg		basic_machine=m68k-motorola
57695b296d0Smrg		;;
57795b296d0Smrg	delta88)
57895b296d0Smrg		basic_machine=m88k-motorola
57995b296d0Smrg		os=-sysv3
58095b296d0Smrg		;;
58114330f12Smrg	dicos)
58214330f12Smrg		basic_machine=i686-pc
58314330f12Smrg		os=-dicos
58414330f12Smrg		;;
58595b296d0Smrg	djgpp)
58695b296d0Smrg		basic_machine=i586-pc
58795b296d0Smrg		os=-msdosdjgpp
58895b296d0Smrg		;;
58995b296d0Smrg	dpx20 | dpx20-*)
59095b296d0Smrg		basic_machine=rs6000-bull
59195b296d0Smrg		os=-bosx
59295b296d0Smrg		;;
59395b296d0Smrg	dpx2* | dpx2*-bull)
59495b296d0Smrg		basic_machine=m68k-bull
59595b296d0Smrg		os=-sysv3
59695b296d0Smrg		;;
59795b296d0Smrg	ebmon29k)
59895b296d0Smrg		basic_machine=a29k-amd
59995b296d0Smrg		os=-ebmon
60095b296d0Smrg		;;
60195b296d0Smrg	elxsi)
60295b296d0Smrg		basic_machine=elxsi-elxsi
60395b296d0Smrg		os=-bsd
60495b296d0Smrg		;;
60595b296d0Smrg	encore | umax | mmax)
60695b296d0Smrg		basic_machine=ns32k-encore
60795b296d0Smrg		;;
60895b296d0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
60995b296d0Smrg		basic_machine=m68k-ericsson
61095b296d0Smrg		os=-ose
61195b296d0Smrg		;;
61295b296d0Smrg	fx2800)
61395b296d0Smrg		basic_machine=i860-alliant
61495b296d0Smrg		;;
61595b296d0Smrg	genix)
61695b296d0Smrg		basic_machine=ns32k-ns
61795b296d0Smrg		;;
61895b296d0Smrg	gmicro)
61995b296d0Smrg		basic_machine=tron-gmicro
62095b296d0Smrg		os=-sysv
62195b296d0Smrg		;;
62295b296d0Smrg	go32)
62395b296d0Smrg		basic_machine=i386-pc
62495b296d0Smrg		os=-go32
62595b296d0Smrg		;;
62695b296d0Smrg	h3050r* | hiux*)
62795b296d0Smrg		basic_machine=hppa1.1-hitachi
62895b296d0Smrg		os=-hiuxwe2
62995b296d0Smrg		;;
63095b296d0Smrg	h8300hms)
63195b296d0Smrg		basic_machine=h8300-hitachi
63295b296d0Smrg		os=-hms
63395b296d0Smrg		;;
63495b296d0Smrg	h8300xray)
63595b296d0Smrg		basic_machine=h8300-hitachi
63695b296d0Smrg		os=-xray
63795b296d0Smrg		;;
63895b296d0Smrg	h8500hms)
63995b296d0Smrg		basic_machine=h8500-hitachi
64095b296d0Smrg		os=-hms
64195b296d0Smrg		;;
64295b296d0Smrg	harris)
64395b296d0Smrg		basic_machine=m88k-harris
64495b296d0Smrg		os=-sysv3
64595b296d0Smrg		;;
64695b296d0Smrg	hp300-*)
64795b296d0Smrg		basic_machine=m68k-hp
64895b296d0Smrg		;;
64995b296d0Smrg	hp300bsd)
65095b296d0Smrg		basic_machine=m68k-hp
65195b296d0Smrg		os=-bsd
65295b296d0Smrg		;;
65395b296d0Smrg	hp300hpux)
65495b296d0Smrg		basic_machine=m68k-hp
65595b296d0Smrg		os=-hpux
65695b296d0Smrg		;;
65795b296d0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65895b296d0Smrg		basic_machine=hppa1.0-hp
65995b296d0Smrg		;;
66095b296d0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66195b296d0Smrg		basic_machine=m68000-hp
66295b296d0Smrg		;;
66395b296d0Smrg	hp9k3[2-9][0-9])
66495b296d0Smrg		basic_machine=m68k-hp
66595b296d0Smrg		;;
66695b296d0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66795b296d0Smrg		basic_machine=hppa1.0-hp
66895b296d0Smrg		;;
66995b296d0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67095b296d0Smrg		basic_machine=hppa1.1-hp
67195b296d0Smrg		;;
67295b296d0Smrg	hp9k78[0-9] | hp78[0-9])
67395b296d0Smrg		# FIXME: really hppa2.0-hp
67495b296d0Smrg		basic_machine=hppa1.1-hp
67595b296d0Smrg		;;
67695b296d0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67795b296d0Smrg		# FIXME: really hppa2.0-hp
67895b296d0Smrg		basic_machine=hppa1.1-hp
67995b296d0Smrg		;;
68095b296d0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68195b296d0Smrg		basic_machine=hppa1.1-hp
68295b296d0Smrg		;;
68395b296d0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68495b296d0Smrg		basic_machine=hppa1.0-hp
68595b296d0Smrg		;;
68695b296d0Smrg	hppa-next)
68795b296d0Smrg		os=-nextstep3
68895b296d0Smrg		;;
68995b296d0Smrg	hppaosf)
69095b296d0Smrg		basic_machine=hppa1.1-hp
69195b296d0Smrg		os=-osf
69295b296d0Smrg		;;
69395b296d0Smrg	hppro)
69495b296d0Smrg		basic_machine=hppa1.1-hp
69595b296d0Smrg		os=-proelf
69695b296d0Smrg		;;
69795b296d0Smrg	i370-ibm* | ibm*)
69895b296d0Smrg		basic_machine=i370-ibm
69995b296d0Smrg		;;
70095b296d0Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70195b296d0Smrg	i*86v32)
70295b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70395b296d0Smrg		os=-sysv32
70495b296d0Smrg		;;
70595b296d0Smrg	i*86v4*)
70695b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70795b296d0Smrg		os=-sysv4
70895b296d0Smrg		;;
70995b296d0Smrg	i*86v)
71095b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71195b296d0Smrg		os=-sysv
71295b296d0Smrg		;;
71395b296d0Smrg	i*86sol2)
71495b296d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71595b296d0Smrg		os=-solaris2
71695b296d0Smrg		;;
71795b296d0Smrg	i386mach)
71895b296d0Smrg		basic_machine=i386-mach
71995b296d0Smrg		os=-mach
72095b296d0Smrg		;;
72195b296d0Smrg	i386-vsta | vsta)
72295b296d0Smrg		basic_machine=i386-unknown
72395b296d0Smrg		os=-vsta
72495b296d0Smrg		;;
72595b296d0Smrg	iris | iris4d)
72695b296d0Smrg		basic_machine=mips-sgi
72795b296d0Smrg		case $os in
72895b296d0Smrg		    -irix*)
72995b296d0Smrg			;;
73095b296d0Smrg		    *)
73195b296d0Smrg			os=-irix4
73295b296d0Smrg			;;
73395b296d0Smrg		esac
73495b296d0Smrg		;;
73595b296d0Smrg	isi68 | isi)
73695b296d0Smrg		basic_machine=m68k-isi
73795b296d0Smrg		os=-sysv
73895b296d0Smrg		;;
739ff89ac2bSmrg	m68knommu)
740ff89ac2bSmrg		basic_machine=m68k-unknown
741ff89ac2bSmrg		os=-linux
742ff89ac2bSmrg		;;
743ff89ac2bSmrg	m68knommu-*)
744ff89ac2bSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745ff89ac2bSmrg		os=-linux
746ff89ac2bSmrg		;;
74795b296d0Smrg	m88k-omron*)
74895b296d0Smrg		basic_machine=m88k-omron
74995b296d0Smrg		;;
75095b296d0Smrg	magnum | m3230)
75195b296d0Smrg		basic_machine=mips-mips
75295b296d0Smrg		os=-sysv
75395b296d0Smrg		;;
75495b296d0Smrg	merlin)
75595b296d0Smrg		basic_machine=ns32k-utek
75695b296d0Smrg		os=-sysv
75795b296d0Smrg		;;
75814330f12Smrg        microblaze)
75914330f12Smrg		basic_machine=microblaze-xilinx
76014330f12Smrg		;;
76195b296d0Smrg	mingw32)
76295b296d0Smrg		basic_machine=i386-pc
76395b296d0Smrg		os=-mingw32
76495b296d0Smrg		;;
765ff89ac2bSmrg	mingw32ce)
766ff89ac2bSmrg		basic_machine=arm-unknown
767ff89ac2bSmrg		os=-mingw32ce
768ff89ac2bSmrg		;;
76995b296d0Smrg	miniframe)
77095b296d0Smrg		basic_machine=m68000-convergent
77195b296d0Smrg		;;
77295b296d0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77395b296d0Smrg		basic_machine=m68k-atari
77495b296d0Smrg		os=-mint
77595b296d0Smrg		;;
77695b296d0Smrg	mips3*-*)
77795b296d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77895b296d0Smrg		;;
77995b296d0Smrg	mips3*)
78095b296d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78195b296d0Smrg		;;
78295b296d0Smrg	monitor)
78395b296d0Smrg		basic_machine=m68k-rom68k
78495b296d0Smrg		os=-coff
78595b296d0Smrg		;;
78695b296d0Smrg	morphos)
78795b296d0Smrg		basic_machine=powerpc-unknown
78895b296d0Smrg		os=-morphos
78995b296d0Smrg		;;
79095b296d0Smrg	msdos)
79195b296d0Smrg		basic_machine=i386-pc
79295b296d0Smrg		os=-msdos
79395b296d0Smrg		;;
79495b296d0Smrg	ms1-*)
79595b296d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79695b296d0Smrg		;;
79795b296d0Smrg	mvs)
79895b296d0Smrg		basic_machine=i370-ibm
79995b296d0Smrg		os=-mvs
80095b296d0Smrg		;;
80195b296d0Smrg	ncr3000)
80295b296d0Smrg		basic_machine=i486-ncr
80395b296d0Smrg		os=-sysv4
80495b296d0Smrg		;;
80595b296d0Smrg	netbsd386)
80695b296d0Smrg		basic_machine=i386-unknown
80795b296d0Smrg		os=-netbsd
80895b296d0Smrg		;;
80995b296d0Smrg	netwinder)
81095b296d0Smrg		basic_machine=armv4l-rebel
81195b296d0Smrg		os=-linux
81295b296d0Smrg		;;
81395b296d0Smrg	news | news700 | news800 | news900)
81495b296d0Smrg		basic_machine=m68k-sony
81595b296d0Smrg		os=-newsos
81695b296d0Smrg		;;
81795b296d0Smrg	news1000)
81895b296d0Smrg		basic_machine=m68030-sony
81995b296d0Smrg		os=-newsos
82095b296d0Smrg		;;
82195b296d0Smrg	news-3600 | risc-news)
82295b296d0Smrg		basic_machine=mips-sony
82395b296d0Smrg		os=-newsos
82495b296d0Smrg		;;
82595b296d0Smrg	necv70)
82695b296d0Smrg		basic_machine=v70-nec
82795b296d0Smrg		os=-sysv
82895b296d0Smrg		;;
82995b296d0Smrg	next | m*-next )
83095b296d0Smrg		basic_machine=m68k-next
83195b296d0Smrg		case $os in
83295b296d0Smrg		    -nextstep* )
83395b296d0Smrg			;;
83495b296d0Smrg		    -ns2*)
83595b296d0Smrg		      os=-nextstep2
83695b296d0Smrg			;;
83795b296d0Smrg		    *)
83895b296d0Smrg		      os=-nextstep3
83995b296d0Smrg			;;
84095b296d0Smrg		esac
84195b296d0Smrg		;;
84295b296d0Smrg	nh3000)
84395b296d0Smrg		basic_machine=m68k-harris
84495b296d0Smrg		os=-cxux
84595b296d0Smrg		;;
84695b296d0Smrg	nh[45]000)
84795b296d0Smrg		basic_machine=m88k-harris
84895b296d0Smrg		os=-cxux
84995b296d0Smrg		;;
85095b296d0Smrg	nindy960)
85195b296d0Smrg		basic_machine=i960-intel
85295b296d0Smrg		os=-nindy
85395b296d0Smrg		;;
85495b296d0Smrg	mon960)
85595b296d0Smrg		basic_machine=i960-intel
85695b296d0Smrg		os=-mon960
85795b296d0Smrg		;;
85895b296d0Smrg	nonstopux)
85995b296d0Smrg		basic_machine=mips-compaq
86095b296d0Smrg		os=-nonstopux
86195b296d0Smrg		;;
86295b296d0Smrg	np1)
86395b296d0Smrg		basic_machine=np1-gould
86495b296d0Smrg		;;
86514330f12Smrg        neo-tandem)
86614330f12Smrg		basic_machine=neo-tandem
86714330f12Smrg		;;
86814330f12Smrg        nse-tandem)
86914330f12Smrg		basic_machine=nse-tandem
87014330f12Smrg		;;
87195b296d0Smrg	nsr-tandem)
87295b296d0Smrg		basic_machine=nsr-tandem
87395b296d0Smrg		;;
87495b296d0Smrg	op50n-* | op60c-*)
87595b296d0Smrg		basic_machine=hppa1.1-oki
87695b296d0Smrg		os=-proelf
87795b296d0Smrg		;;
87895b296d0Smrg	openrisc | openrisc-*)
87995b296d0Smrg		basic_machine=or32-unknown
88095b296d0Smrg		;;
88195b296d0Smrg	os400)
88295b296d0Smrg		basic_machine=powerpc-ibm
88395b296d0Smrg		os=-os400
88495b296d0Smrg		;;
88595b296d0Smrg	OSE68000 | ose68000)
88695b296d0Smrg		basic_machine=m68000-ericsson
88795b296d0Smrg		os=-ose
88895b296d0Smrg		;;
88995b296d0Smrg	os68k)
89095b296d0Smrg		basic_machine=m68k-none
89195b296d0Smrg		os=-os68k
89295b296d0Smrg		;;
89395b296d0Smrg	pa-hitachi)
89495b296d0Smrg		basic_machine=hppa1.1-hitachi
89595b296d0Smrg		os=-hiuxwe2
89695b296d0Smrg		;;
89795b296d0Smrg	paragon)
89895b296d0Smrg		basic_machine=i860-intel
89995b296d0Smrg		os=-osf
90095b296d0Smrg		;;
901ff89ac2bSmrg	parisc)
902ff89ac2bSmrg		basic_machine=hppa-unknown
903ff89ac2bSmrg		os=-linux
904ff89ac2bSmrg		;;
905ff89ac2bSmrg	parisc-*)
906ff89ac2bSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907ff89ac2bSmrg		os=-linux
908ff89ac2bSmrg		;;
90995b296d0Smrg	pbd)
91095b296d0Smrg		basic_machine=sparc-tti
91195b296d0Smrg		;;
91295b296d0Smrg	pbb)
91395b296d0Smrg		basic_machine=m68k-tti
91495b296d0Smrg		;;
91595b296d0Smrg	pc532 | pc532-*)
91695b296d0Smrg		basic_machine=ns32k-pc532
91795b296d0Smrg		;;
91895b296d0Smrg	pc98)
91995b296d0Smrg		basic_machine=i386-pc
92095b296d0Smrg		;;
92195b296d0Smrg	pc98-*)
92295b296d0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92395b296d0Smrg		;;
92495b296d0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92595b296d0Smrg		basic_machine=i586-pc
92695b296d0Smrg		;;
92795b296d0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92895b296d0Smrg		basic_machine=i686-pc
92995b296d0Smrg		;;
93095b296d0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
93195b296d0Smrg		basic_machine=i686-pc
93295b296d0Smrg		;;
93395b296d0Smrg	pentium4)
93495b296d0Smrg		basic_machine=i786-pc
93595b296d0Smrg		;;
93695b296d0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93795b296d0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93895b296d0Smrg		;;
93995b296d0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94095b296d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94195b296d0Smrg		;;
94295b296d0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94395b296d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94495b296d0Smrg		;;
94595b296d0Smrg	pentium4-*)
94695b296d0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94795b296d0Smrg		;;
94895b296d0Smrg	pn)
94995b296d0Smrg		basic_machine=pn-gould
95095b296d0Smrg		;;
95195b296d0Smrg	power)	basic_machine=power-ibm
95295b296d0Smrg		;;
95395b296d0Smrg	ppc)	basic_machine=powerpc-unknown
95495b296d0Smrg		;;
95595b296d0Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95695b296d0Smrg		;;
95795b296d0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95895b296d0Smrg		basic_machine=powerpcle-unknown
95995b296d0Smrg		;;
96095b296d0Smrg	ppcle-* | powerpclittle-*)
96195b296d0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96295b296d0Smrg		;;
96395b296d0Smrg	ppc64)	basic_machine=powerpc64-unknown
96495b296d0Smrg		;;
96595b296d0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96695b296d0Smrg		;;
96795b296d0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96895b296d0Smrg		basic_machine=powerpc64le-unknown
96995b296d0Smrg		;;
97095b296d0Smrg	ppc64le-* | powerpc64little-*)
97195b296d0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97295b296d0Smrg		;;
97395b296d0Smrg	ps2)
97495b296d0Smrg		basic_machine=i386-ibm
97595b296d0Smrg		;;
97695b296d0Smrg	pw32)
97795b296d0Smrg		basic_machine=i586-unknown
97895b296d0Smrg		os=-pw32
97995b296d0Smrg		;;
98095b296d0Smrg	rdos)
98195b296d0Smrg		basic_machine=i386-pc
98295b296d0Smrg		os=-rdos
98395b296d0Smrg		;;
98495b296d0Smrg	rom68k)
98595b296d0Smrg		basic_machine=m68k-rom68k
98695b296d0Smrg		os=-coff
98795b296d0Smrg		;;
98895b296d0Smrg	rm[46]00)
98995b296d0Smrg		basic_machine=mips-siemens
99095b296d0Smrg		;;
99195b296d0Smrg	rtpc | rtpc-*)
99295b296d0Smrg		basic_machine=romp-ibm
99395b296d0Smrg		;;
99495b296d0Smrg	s390 | s390-*)
99595b296d0Smrg		basic_machine=s390-ibm
99695b296d0Smrg		;;
99795b296d0Smrg	s390x | s390x-*)
99895b296d0Smrg		basic_machine=s390x-ibm
99995b296d0Smrg		;;
100095b296d0Smrg	sa29200)
100195b296d0Smrg		basic_machine=a29k-amd
100295b296d0Smrg		os=-udi
100395b296d0Smrg		;;
100495b296d0Smrg	sb1)
100595b296d0Smrg		basic_machine=mipsisa64sb1-unknown
100695b296d0Smrg		;;
100795b296d0Smrg	sb1el)
100895b296d0Smrg		basic_machine=mipsisa64sb1el-unknown
100995b296d0Smrg		;;
1010ff89ac2bSmrg	sde)
1011ff89ac2bSmrg		basic_machine=mipsisa32-sde
1012ff89ac2bSmrg		os=-elf
1013ff89ac2bSmrg		;;
101495b296d0Smrg	sei)
101595b296d0Smrg		basic_machine=mips-sei
101695b296d0Smrg		os=-seiux
101795b296d0Smrg		;;
101895b296d0Smrg	sequent)
101995b296d0Smrg		basic_machine=i386-sequent
102095b296d0Smrg		;;
102195b296d0Smrg	sh)
102295b296d0Smrg		basic_machine=sh-hitachi
102395b296d0Smrg		os=-hms
102495b296d0Smrg		;;
1025ff89ac2bSmrg	sh5el)
1026ff89ac2bSmrg		basic_machine=sh5le-unknown
1027ff89ac2bSmrg		;;
102895b296d0Smrg	sh64)
102995b296d0Smrg		basic_machine=sh64-unknown
103095b296d0Smrg		;;
103195b296d0Smrg	sparclite-wrs | simso-wrs)
103295b296d0Smrg		basic_machine=sparclite-wrs
103395b296d0Smrg		os=-vxworks
103495b296d0Smrg		;;
103595b296d0Smrg	sps7)
103695b296d0Smrg		basic_machine=m68k-bull
103795b296d0Smrg		os=-sysv2
103895b296d0Smrg		;;
103995b296d0Smrg	spur)
104095b296d0Smrg		basic_machine=spur-unknown
104195b296d0Smrg		;;
104295b296d0Smrg	st2000)
104395b296d0Smrg		basic_machine=m68k-tandem
104495b296d0Smrg		;;
104595b296d0Smrg	stratus)
104695b296d0Smrg		basic_machine=i860-stratus
104795b296d0Smrg		os=-sysv4
104895b296d0Smrg		;;
104995b296d0Smrg	sun2)
105095b296d0Smrg		basic_machine=m68000-sun
105195b296d0Smrg		;;
105295b296d0Smrg	sun2os3)
105395b296d0Smrg		basic_machine=m68000-sun
105495b296d0Smrg		os=-sunos3
105595b296d0Smrg		;;
105695b296d0Smrg	sun2os4)
105795b296d0Smrg		basic_machine=m68000-sun
105895b296d0Smrg		os=-sunos4
105995b296d0Smrg		;;
106095b296d0Smrg	sun3os3)
106195b296d0Smrg		basic_machine=m68k-sun
106295b296d0Smrg		os=-sunos3
106395b296d0Smrg		;;
106495b296d0Smrg	sun3os4)
106595b296d0Smrg		basic_machine=m68k-sun
106695b296d0Smrg		os=-sunos4
106795b296d0Smrg		;;
106895b296d0Smrg	sun4os3)
106995b296d0Smrg		basic_machine=sparc-sun
107095b296d0Smrg		os=-sunos3
107195b296d0Smrg		;;
107295b296d0Smrg	sun4os4)
107395b296d0Smrg		basic_machine=sparc-sun
107495b296d0Smrg		os=-sunos4
107595b296d0Smrg		;;
107695b296d0Smrg	sun4sol2)
107795b296d0Smrg		basic_machine=sparc-sun
107895b296d0Smrg		os=-solaris2
107995b296d0Smrg		;;
108095b296d0Smrg	sun3 | sun3-*)
108195b296d0Smrg		basic_machine=m68k-sun
108295b296d0Smrg		;;
108395b296d0Smrg	sun4)
108495b296d0Smrg		basic_machine=sparc-sun
108595b296d0Smrg		;;
108695b296d0Smrg	sun386 | sun386i | roadrunner)
108795b296d0Smrg		basic_machine=i386-sun
108895b296d0Smrg		;;
108995b296d0Smrg	sv1)
109095b296d0Smrg		basic_machine=sv1-cray
109195b296d0Smrg		os=-unicos
109295b296d0Smrg		;;
109395b296d0Smrg	symmetry)
109495b296d0Smrg		basic_machine=i386-sequent
109595b296d0Smrg		os=-dynix
109695b296d0Smrg		;;
109795b296d0Smrg	t3e)
109895b296d0Smrg		basic_machine=alphaev5-cray
109995b296d0Smrg		os=-unicos
110095b296d0Smrg		;;
110195b296d0Smrg	t90)
110295b296d0Smrg		basic_machine=t90-cray
110395b296d0Smrg		os=-unicos
110495b296d0Smrg		;;
110514330f12Smrg        # This must be matched before tile*.
110614330f12Smrg        tilegx*)
110714330f12Smrg		basic_machine=tilegx-unknown
110814330f12Smrg		os=-linux-gnu
110995b296d0Smrg		;;
1110ff89ac2bSmrg	tile*)
1111ff89ac2bSmrg		basic_machine=tile-unknown
1112ff89ac2bSmrg		os=-linux-gnu
1113ff89ac2bSmrg		;;
111495b296d0Smrg	tx39)
111595b296d0Smrg		basic_machine=mipstx39-unknown
111695b296d0Smrg		;;
111795b296d0Smrg	tx39el)
111895b296d0Smrg		basic_machine=mipstx39el-unknown
111995b296d0Smrg		;;
112095b296d0Smrg	toad1)
112195b296d0Smrg		basic_machine=pdp10-xkl
112295b296d0Smrg		os=-tops20
112395b296d0Smrg		;;
112495b296d0Smrg	tower | tower-32)
112595b296d0Smrg		basic_machine=m68k-ncr
112695b296d0Smrg		;;
112795b296d0Smrg	tpf)
112895b296d0Smrg		basic_machine=s390x-ibm
112995b296d0Smrg		os=-tpf
113095b296d0Smrg		;;
113195b296d0Smrg	udi29k)
113295b296d0Smrg		basic_machine=a29k-amd
113395b296d0Smrg		os=-udi
113495b296d0Smrg		;;
113595b296d0Smrg	ultra3)
113695b296d0Smrg		basic_machine=a29k-nyu
113795b296d0Smrg		os=-sym1
113895b296d0Smrg		;;
113995b296d0Smrg	v810 | necv810)
114095b296d0Smrg		basic_machine=v810-nec
114195b296d0Smrg		os=-none
114295b296d0Smrg		;;
114395b296d0Smrg	vaxv)
114495b296d0Smrg		basic_machine=vax-dec
114595b296d0Smrg		os=-sysv
114695b296d0Smrg		;;
114795b296d0Smrg	vms)
114895b296d0Smrg		basic_machine=vax-dec
114995b296d0Smrg		os=-vms
115095b296d0Smrg		;;
115195b296d0Smrg	vpp*|vx|vx-*)
115295b296d0Smrg		basic_machine=f301-fujitsu
115395b296d0Smrg		;;
115495b296d0Smrg	vxworks960)
115595b296d0Smrg		basic_machine=i960-wrs
115695b296d0Smrg		os=-vxworks
115795b296d0Smrg		;;
115895b296d0Smrg	vxworks68)
115995b296d0Smrg		basic_machine=m68k-wrs
116095b296d0Smrg		os=-vxworks
116195b296d0Smrg		;;
116295b296d0Smrg	vxworks29k)
116395b296d0Smrg		basic_machine=a29k-wrs
116495b296d0Smrg		os=-vxworks
116595b296d0Smrg		;;
116695b296d0Smrg	w65*)
116795b296d0Smrg		basic_machine=w65-wdc
116895b296d0Smrg		os=-none
116995b296d0Smrg		;;
117095b296d0Smrg	w89k-*)
117195b296d0Smrg		basic_machine=hppa1.1-winbond
117295b296d0Smrg		os=-proelf
117395b296d0Smrg		;;
117495b296d0Smrg	xbox)
117595b296d0Smrg		basic_machine=i686-pc
117695b296d0Smrg		os=-mingw32
117795b296d0Smrg		;;
117895b296d0Smrg	xps | xps100)
117995b296d0Smrg		basic_machine=xps100-honeywell
118095b296d0Smrg		;;
118195b296d0Smrg	ymp)
118295b296d0Smrg		basic_machine=ymp-cray
118395b296d0Smrg		os=-unicos
118495b296d0Smrg		;;
118595b296d0Smrg	z8k-*-coff)
118695b296d0Smrg		basic_machine=z8k-unknown
118795b296d0Smrg		os=-sim
118895b296d0Smrg		;;
118914330f12Smrg	z80-*-coff)
119014330f12Smrg		basic_machine=z80-unknown
119114330f12Smrg		os=-sim
119214330f12Smrg		;;
119395b296d0Smrg	none)
119495b296d0Smrg		basic_machine=none-none
119595b296d0Smrg		os=-none
119695b296d0Smrg		;;
119795b296d0Smrg
119895b296d0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
119995b296d0Smrg# some cases the only manufacturer, in others, it is the most popular.
120095b296d0Smrg	w89k)
120195b296d0Smrg		basic_machine=hppa1.1-winbond
120295b296d0Smrg		;;
120395b296d0Smrg	op50n)
120495b296d0Smrg		basic_machine=hppa1.1-oki
120595b296d0Smrg		;;
120695b296d0Smrg	op60c)
120795b296d0Smrg		basic_machine=hppa1.1-oki
120895b296d0Smrg		;;
120995b296d0Smrg	romp)
121095b296d0Smrg		basic_machine=romp-ibm
121195b296d0Smrg		;;
121295b296d0Smrg	mmix)
121395b296d0Smrg		basic_machine=mmix-knuth
121495b296d0Smrg		;;
121595b296d0Smrg	rs6000)
121695b296d0Smrg		basic_machine=rs6000-ibm
121795b296d0Smrg		;;
121895b296d0Smrg	vax)
121995b296d0Smrg		basic_machine=vax-dec
122095b296d0Smrg		;;
122195b296d0Smrg	pdp10)
122295b296d0Smrg		# there are many clones, so DEC is not a safe bet
122395b296d0Smrg		basic_machine=pdp10-unknown
122495b296d0Smrg		;;
122595b296d0Smrg	pdp11)
122695b296d0Smrg		basic_machine=pdp11-dec
122795b296d0Smrg		;;
122895b296d0Smrg	we32k)
122995b296d0Smrg		basic_machine=we32k-att
123095b296d0Smrg		;;
123114330f12Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123295b296d0Smrg		basic_machine=sh-unknown
123395b296d0Smrg		;;
123495b296d0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123595b296d0Smrg		basic_machine=sparc-sun
123695b296d0Smrg		;;
123795b296d0Smrg	cydra)
123895b296d0Smrg		basic_machine=cydra-cydrome
123995b296d0Smrg		;;
124095b296d0Smrg	orion)
124195b296d0Smrg		basic_machine=orion-highlevel
124295b296d0Smrg		;;
124395b296d0Smrg	orion105)
124495b296d0Smrg		basic_machine=clipper-highlevel
124595b296d0Smrg		;;
124695b296d0Smrg	mac | mpw | mac-mpw)
124795b296d0Smrg		basic_machine=m68k-apple
124895b296d0Smrg		;;
124995b296d0Smrg	pmac | pmac-mpw)
125095b296d0Smrg		basic_machine=powerpc-apple
125195b296d0Smrg		;;
125295b296d0Smrg	*-unknown)
125395b296d0Smrg		# Make sure to match an already-canonicalized machine name.
125495b296d0Smrg		;;
125595b296d0Smrg	*)
125695b296d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125795b296d0Smrg		exit 1
125895b296d0Smrg		;;
125995b296d0Smrgesac
126095b296d0Smrg
126195b296d0Smrg# Here we canonicalize certain aliases for manufacturers.
126295b296d0Smrgcase $basic_machine in
126395b296d0Smrg	*-digital*)
126495b296d0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126595b296d0Smrg		;;
126695b296d0Smrg	*-commodore*)
126795b296d0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126895b296d0Smrg		;;
126995b296d0Smrg	*)
127095b296d0Smrg		;;
127195b296d0Smrgesac
127295b296d0Smrg
127395b296d0Smrg# Decode manufacturer-specific aliases for certain operating systems.
127495b296d0Smrg
127595b296d0Smrgif [ x"$os" != x"" ]
127695b296d0Smrgthen
127795b296d0Smrgcase $os in
127895b296d0Smrg        # First match some system type aliases
127995b296d0Smrg        # that might get confused with valid system types.
128095b296d0Smrg	# -solaris* is a basic system type, with this one exception.
128114330f12Smrg        -auroraux)
128214330f12Smrg	        os=-auroraux
128314330f12Smrg		;;
128495b296d0Smrg	-solaris1 | -solaris1.*)
128595b296d0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128695b296d0Smrg		;;
128795b296d0Smrg	-solaris)
128895b296d0Smrg		os=-solaris2
128995b296d0Smrg		;;
129095b296d0Smrg	-svr4*)
129195b296d0Smrg		os=-sysv4
129295b296d0Smrg		;;
129395b296d0Smrg	-unixware*)
129495b296d0Smrg		os=-sysv4.2uw
129595b296d0Smrg		;;
129695b296d0Smrg	-gnu/linux*)
129795b296d0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129895b296d0Smrg		;;
129995b296d0Smrg	# First accept the basic system types.
130095b296d0Smrg	# The portable systems comes first.
130195b296d0Smrg	# Each alternative MUST END IN A *, to match a version number.
130295b296d0Smrg	# -sysv* is not here because it comes later, after sysvr4.
130395b296d0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130414330f12Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130514330f12Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130614330f12Smrg	      | -sym* | -kopensolaris* \
130795b296d0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
130814330f12Smrg	      | -aos* | -aros* \
130995b296d0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131095b296d0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131195b296d0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131295b296d0Smrg	      | -openbsd* | -solidbsd* \
131395b296d0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
131495b296d0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131595b296d0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131695b296d0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
131714330f12Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131895b296d0Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131914330f12Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132014330f12Smrg	      | -linux-newlib* | -linux-uclibc* \
132195b296d0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132295b296d0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132395b296d0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132495b296d0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132595b296d0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132695b296d0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
132795b296d0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132814330f12Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132995b296d0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
133095b296d0Smrg		;;
133195b296d0Smrg	-qnx*)
133295b296d0Smrg		case $basic_machine in
133395b296d0Smrg		    x86-* | i*86-*)
133495b296d0Smrg			;;
133595b296d0Smrg		    *)
133695b296d0Smrg			os=-nto$os
133795b296d0Smrg			;;
133895b296d0Smrg		esac
133995b296d0Smrg		;;
134095b296d0Smrg	-nto-qnx*)
134195b296d0Smrg		;;
134295b296d0Smrg	-nto*)
134395b296d0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134495b296d0Smrg		;;
134595b296d0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
134695b296d0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134795b296d0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134895b296d0Smrg		;;
134995b296d0Smrg	-mac*)
135095b296d0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
135195b296d0Smrg		;;
135295b296d0Smrg	-linux-dietlibc)
135395b296d0Smrg		os=-linux-dietlibc
135495b296d0Smrg		;;
135595b296d0Smrg	-linux*)
135695b296d0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135795b296d0Smrg		;;
135895b296d0Smrg	-sunos5*)
135995b296d0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136095b296d0Smrg		;;
136195b296d0Smrg	-sunos6*)
136295b296d0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136395b296d0Smrg		;;
136495b296d0Smrg	-opened*)
136595b296d0Smrg		os=-openedition
136695b296d0Smrg		;;
136795b296d0Smrg        -os400*)
136895b296d0Smrg		os=-os400
136995b296d0Smrg		;;
137095b296d0Smrg	-wince*)
137195b296d0Smrg		os=-wince
137295b296d0Smrg		;;
137395b296d0Smrg	-osfrose*)
137495b296d0Smrg		os=-osfrose
137595b296d0Smrg		;;
137695b296d0Smrg	-osf*)
137795b296d0Smrg		os=-osf
137895b296d0Smrg		;;
137995b296d0Smrg	-utek*)
138095b296d0Smrg		os=-bsd
138195b296d0Smrg		;;
138295b296d0Smrg	-dynix*)
138395b296d0Smrg		os=-bsd
138495b296d0Smrg		;;
138595b296d0Smrg	-acis*)
138695b296d0Smrg		os=-aos
138795b296d0Smrg		;;
138895b296d0Smrg	-atheos*)
138995b296d0Smrg		os=-atheos
139095b296d0Smrg		;;
139195b296d0Smrg	-syllable*)
139295b296d0Smrg		os=-syllable
139395b296d0Smrg		;;
139495b296d0Smrg	-386bsd)
139595b296d0Smrg		os=-bsd
139695b296d0Smrg		;;
139795b296d0Smrg	-ctix* | -uts*)
139895b296d0Smrg		os=-sysv
139995b296d0Smrg		;;
140095b296d0Smrg	-nova*)
140195b296d0Smrg		os=-rtmk-nova
140295b296d0Smrg		;;
140395b296d0Smrg	-ns2 )
140495b296d0Smrg		os=-nextstep2
140595b296d0Smrg		;;
140695b296d0Smrg	-nsk*)
140795b296d0Smrg		os=-nsk
140895b296d0Smrg		;;
140995b296d0Smrg	# Preserve the version number of sinix5.
141095b296d0Smrg	-sinix5.*)
141195b296d0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141295b296d0Smrg		;;
141395b296d0Smrg	-sinix*)
141495b296d0Smrg		os=-sysv4
141595b296d0Smrg		;;
141695b296d0Smrg        -tpf*)
141795b296d0Smrg		os=-tpf
141895b296d0Smrg		;;
141995b296d0Smrg	-triton*)
142095b296d0Smrg		os=-sysv3
142195b296d0Smrg		;;
142295b296d0Smrg	-oss*)
142395b296d0Smrg		os=-sysv3
142495b296d0Smrg		;;
142595b296d0Smrg	-svr4)
142695b296d0Smrg		os=-sysv4
142795b296d0Smrg		;;
142895b296d0Smrg	-svr3)
142995b296d0Smrg		os=-sysv3
143095b296d0Smrg		;;
143195b296d0Smrg	-sysvr4)
143295b296d0Smrg		os=-sysv4
143395b296d0Smrg		;;
143495b296d0Smrg	# This must come after -sysvr4.
143595b296d0Smrg	-sysv*)
143695b296d0Smrg		;;
143795b296d0Smrg	-ose*)
143895b296d0Smrg		os=-ose
143995b296d0Smrg		;;
144095b296d0Smrg	-es1800*)
144195b296d0Smrg		os=-ose
144295b296d0Smrg		;;
144395b296d0Smrg	-xenix)
144495b296d0Smrg		os=-xenix
144595b296d0Smrg		;;
144695b296d0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144795b296d0Smrg		os=-mint
144895b296d0Smrg		;;
144995b296d0Smrg	-aros*)
145095b296d0Smrg		os=-aros
145195b296d0Smrg		;;
145295b296d0Smrg	-kaos*)
145395b296d0Smrg		os=-kaos
145495b296d0Smrg		;;
145595b296d0Smrg	-zvmoe)
145695b296d0Smrg		os=-zvmoe
145795b296d0Smrg		;;
145814330f12Smrg	-dicos*)
145914330f12Smrg		os=-dicos
146014330f12Smrg		;;
146114330f12Smrg        -nacl*)
146214330f12Smrg	        ;;
146395b296d0Smrg	-none)
146495b296d0Smrg		;;
146595b296d0Smrg	*)
146695b296d0Smrg		# Get rid of the `-' at the beginning of $os.
146795b296d0Smrg		os=`echo $os | sed 's/[^-]*-//'`
146895b296d0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146995b296d0Smrg		exit 1
147095b296d0Smrg		;;
147195b296d0Smrgesac
147295b296d0Smrgelse
147395b296d0Smrg
147495b296d0Smrg# Here we handle the default operating systems that come with various machines.
147595b296d0Smrg# The value should be what the vendor currently ships out the door with their
147695b296d0Smrg# machine or put another way, the most popular os provided with the machine.
147795b296d0Smrg
147895b296d0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147995b296d0Smrg# "-sun"), then you have to tell the case statement up towards the top
148095b296d0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148195b296d0Smrg# will signal an error saying that MANUFACTURER isn't an operating
148295b296d0Smrg# system, and we'll never get to this point.
148395b296d0Smrg
148495b296d0Smrgcase $basic_machine in
1485ff89ac2bSmrg        score-*)
1486ff89ac2bSmrg		os=-elf
1487ff89ac2bSmrg		;;
148895b296d0Smrg        spu-*)
148995b296d0Smrg		os=-elf
149095b296d0Smrg		;;
149195b296d0Smrg	*-acorn)
149295b296d0Smrg		os=-riscix1.2
149395b296d0Smrg		;;
149495b296d0Smrg	arm*-rebel)
149595b296d0Smrg		os=-linux
149695b296d0Smrg		;;
149795b296d0Smrg	arm*-semi)
149895b296d0Smrg		os=-aout
149995b296d0Smrg		;;
150095b296d0Smrg        c4x-* | tic4x-*)
150195b296d0Smrg        	os=-coff
150295b296d0Smrg		;;
150314330f12Smrg	tic54x-*)
150414330f12Smrg		os=-coff
150514330f12Smrg		;;
150614330f12Smrg	tic55x-*)
150714330f12Smrg		os=-coff
150814330f12Smrg		;;
150914330f12Smrg	tic6x-*)
151014330f12Smrg		os=-coff
151114330f12Smrg		;;
151295b296d0Smrg	# This must come before the *-dec entry.
151395b296d0Smrg	pdp10-*)
151495b296d0Smrg		os=-tops20
151595b296d0Smrg		;;
151695b296d0Smrg	pdp11-*)
151795b296d0Smrg		os=-none
151895b296d0Smrg		;;
151995b296d0Smrg	*-dec | vax-*)
152095b296d0Smrg		os=-ultrix4.2
152195b296d0Smrg		;;
152295b296d0Smrg	m68*-apollo)
152395b296d0Smrg		os=-domain
152495b296d0Smrg		;;
152595b296d0Smrg	i386-sun)
152695b296d0Smrg		os=-sunos4.0.2
152795b296d0Smrg		;;
152895b296d0Smrg	m68000-sun)
152995b296d0Smrg		os=-sunos3
153095b296d0Smrg		# This also exists in the configure program, but was not the
153195b296d0Smrg		# default.
153295b296d0Smrg		# os=-sunos4
153395b296d0Smrg		;;
153495b296d0Smrg	m68*-cisco)
153595b296d0Smrg		os=-aout
153695b296d0Smrg		;;
1537ff89ac2bSmrg        mep-*)
1538ff89ac2bSmrg		os=-elf
1539ff89ac2bSmrg		;;
154095b296d0Smrg	mips*-cisco)
154195b296d0Smrg		os=-elf
154295b296d0Smrg		;;
154395b296d0Smrg	mips*-*)
154495b296d0Smrg		os=-elf
154595b296d0Smrg		;;
154695b296d0Smrg	or32-*)
154795b296d0Smrg		os=-coff
154895b296d0Smrg		;;
154995b296d0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
155095b296d0Smrg		os=-sysv3
155195b296d0Smrg		;;
155295b296d0Smrg	sparc-* | *-sun)
155395b296d0Smrg		os=-sunos4.1.1
155495b296d0Smrg		;;
155595b296d0Smrg	*-be)
155695b296d0Smrg		os=-beos
155795b296d0Smrg		;;
155895b296d0Smrg	*-haiku)
155995b296d0Smrg		os=-haiku
156095b296d0Smrg		;;
156195b296d0Smrg	*-ibm)
156295b296d0Smrg		os=-aix
156395b296d0Smrg		;;
156495b296d0Smrg    	*-knuth)
156595b296d0Smrg		os=-mmixware
156695b296d0Smrg		;;
156795b296d0Smrg	*-wec)
156895b296d0Smrg		os=-proelf
156995b296d0Smrg		;;
157095b296d0Smrg	*-winbond)
157195b296d0Smrg		os=-proelf
157295b296d0Smrg		;;
157395b296d0Smrg	*-oki)
157495b296d0Smrg		os=-proelf
157595b296d0Smrg		;;
157695b296d0Smrg	*-hp)
157795b296d0Smrg		os=-hpux
157895b296d0Smrg		;;
157995b296d0Smrg	*-hitachi)
158095b296d0Smrg		os=-hiux
158195b296d0Smrg		;;
158295b296d0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158395b296d0Smrg		os=-sysv
158495b296d0Smrg		;;
158595b296d0Smrg	*-cbm)
158695b296d0Smrg		os=-amigaos
158795b296d0Smrg		;;
158895b296d0Smrg	*-dg)
158995b296d0Smrg		os=-dgux
159095b296d0Smrg		;;
159195b296d0Smrg	*-dolphin)
159295b296d0Smrg		os=-sysv3
159395b296d0Smrg		;;
159495b296d0Smrg	m68k-ccur)
159595b296d0Smrg		os=-rtu
159695b296d0Smrg		;;
159795b296d0Smrg	m88k-omron*)
159895b296d0Smrg		os=-luna
159995b296d0Smrg		;;
160095b296d0Smrg	*-next )
160195b296d0Smrg		os=-nextstep
160295b296d0Smrg		;;
160395b296d0Smrg	*-sequent)
160495b296d0Smrg		os=-ptx
160595b296d0Smrg		;;
160695b296d0Smrg	*-crds)
160795b296d0Smrg		os=-unos
160895b296d0Smrg		;;
160995b296d0Smrg	*-ns)
161095b296d0Smrg		os=-genix
161195b296d0Smrg		;;
161295b296d0Smrg	i370-*)
161395b296d0Smrg		os=-mvs
161495b296d0Smrg		;;
161595b296d0Smrg	*-next)
161695b296d0Smrg		os=-nextstep3
161795b296d0Smrg		;;
161895b296d0Smrg	*-gould)
161995b296d0Smrg		os=-sysv
162095b296d0Smrg		;;
162195b296d0Smrg	*-highlevel)
162295b296d0Smrg		os=-bsd
162395b296d0Smrg		;;
162495b296d0Smrg	*-encore)
162595b296d0Smrg		os=-bsd
162695b296d0Smrg		;;
162795b296d0Smrg	*-sgi)
162895b296d0Smrg		os=-irix
162995b296d0Smrg		;;
163095b296d0Smrg	*-siemens)
163195b296d0Smrg		os=-sysv4
163295b296d0Smrg		;;
163395b296d0Smrg	*-masscomp)
163495b296d0Smrg		os=-rtu
163595b296d0Smrg		;;
163695b296d0Smrg	f30[01]-fujitsu | f700-fujitsu)
163795b296d0Smrg		os=-uxpv
163895b296d0Smrg		;;
163995b296d0Smrg	*-rom68k)
164095b296d0Smrg		os=-coff
164195b296d0Smrg		;;
164295b296d0Smrg	*-*bug)
164395b296d0Smrg		os=-coff
164495b296d0Smrg		;;
164595b296d0Smrg	*-apple)
164695b296d0Smrg		os=-macos
164795b296d0Smrg		;;
164895b296d0Smrg	*-atari*)
164995b296d0Smrg		os=-mint
165095b296d0Smrg		;;
165195b296d0Smrg	*)
165295b296d0Smrg		os=-none
165395b296d0Smrg		;;
165495b296d0Smrgesac
165595b296d0Smrgfi
165695b296d0Smrg
165795b296d0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
165895b296d0Smrg# manufacturer.  We pick the logical manufacturer.
165995b296d0Smrgvendor=unknown
166095b296d0Smrgcase $basic_machine in
166195b296d0Smrg	*-unknown)
166295b296d0Smrg		case $os in
166395b296d0Smrg			-riscix*)
166495b296d0Smrg				vendor=acorn
166595b296d0Smrg				;;
166695b296d0Smrg			-sunos*)
166795b296d0Smrg				vendor=sun
166895b296d0Smrg				;;
166914330f12Smrg			-cnk*|-aix*)
167095b296d0Smrg				vendor=ibm
167195b296d0Smrg				;;
167295b296d0Smrg			-beos*)
167395b296d0Smrg				vendor=be
167495b296d0Smrg				;;
167595b296d0Smrg			-hpux*)
167695b296d0Smrg				vendor=hp
167795b296d0Smrg				;;
167895b296d0Smrg			-mpeix*)
167995b296d0Smrg				vendor=hp
168095b296d0Smrg				;;
168195b296d0Smrg			-hiux*)
168295b296d0Smrg				vendor=hitachi
168395b296d0Smrg				;;
168495b296d0Smrg			-unos*)
168595b296d0Smrg				vendor=crds
168695b296d0Smrg				;;
168795b296d0Smrg			-dgux*)
168895b296d0Smrg				vendor=dg
168995b296d0Smrg				;;
169095b296d0Smrg			-luna*)
169195b296d0Smrg				vendor=omron
169295b296d0Smrg				;;
169395b296d0Smrg			-genix*)
169495b296d0Smrg				vendor=ns
169595b296d0Smrg				;;
169695b296d0Smrg			-mvs* | -opened*)
169795b296d0Smrg				vendor=ibm
169895b296d0Smrg				;;
169995b296d0Smrg			-os400*)
170095b296d0Smrg				vendor=ibm
170195b296d0Smrg				;;
170295b296d0Smrg			-ptx*)
170395b296d0Smrg				vendor=sequent
170495b296d0Smrg				;;
170595b296d0Smrg			-tpf*)
170695b296d0Smrg				vendor=ibm
170795b296d0Smrg				;;
170895b296d0Smrg			-vxsim* | -vxworks* | -windiss*)
170995b296d0Smrg				vendor=wrs
171095b296d0Smrg				;;
171195b296d0Smrg			-aux*)
171295b296d0Smrg				vendor=apple
171395b296d0Smrg				;;
171495b296d0Smrg			-hms*)
171595b296d0Smrg				vendor=hitachi
171695b296d0Smrg				;;
171795b296d0Smrg			-mpw* | -macos*)
171895b296d0Smrg				vendor=apple
171995b296d0Smrg				;;
172095b296d0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172195b296d0Smrg				vendor=atari
172295b296d0Smrg				;;
172395b296d0Smrg			-vos*)
172495b296d0Smrg				vendor=stratus
172595b296d0Smrg				;;
172695b296d0Smrg		esac
172795b296d0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172895b296d0Smrg		;;
172995b296d0Smrgesac
173095b296d0Smrg
173195b296d0Smrgecho $basic_machine$os
173295b296d0Smrgexit
173395b296d0Smrg
173495b296d0Smrg# Local variables:
173595b296d0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173695b296d0Smrg# time-stamp-start: "timestamp='"
173795b296d0Smrg# time-stamp-format: "%:y-%02m-%02d"
173895b296d0Smrg# time-stamp-end: "'"
173995b296d0Smrg# End:
1740