config.sub revision 169a0819
164ce7165Smrg#! /bin/sh
264ce7165Smrg# Configuration validation subroutine script.
364ce7165Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4169a0819Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5fb23d3a8Smrg#   Free Software Foundation, Inc.
664ce7165Smrg
7169a0819Smrgtimestamp='2010-09-11'
864ce7165Smrg
964ce7165Smrg# This file is (in principle) common to ALL GNU software.
1064ce7165Smrg# The presence of a machine in this file suggests that SOME GNU software
1164ce7165Smrg# can handle that machine.  It does not imply ALL GNU software can.
1264ce7165Smrg#
1364ce7165Smrg# This file is free software; you can redistribute it and/or modify
1464ce7165Smrg# it under the terms of the GNU General Public License as published by
1564ce7165Smrg# the Free Software Foundation; either version 2 of the License, or
1664ce7165Smrg# (at your option) any later version.
1764ce7165Smrg#
1864ce7165Smrg# This program is distributed in the hope that it will be useful,
1964ce7165Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2064ce7165Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2164ce7165Smrg# GNU General Public License for more details.
2264ce7165Smrg#
2364ce7165Smrg# You should have received a copy of the GNU General Public License
2464ce7165Smrg# along with this program; if not, write to the Free Software
2564ce7165Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2664ce7165Smrg# 02110-1301, USA.
2764ce7165Smrg#
2864ce7165Smrg# As a special exception to the GNU General Public License, if you
2964ce7165Smrg# distribute this file as part of a program that contains a
3064ce7165Smrg# configuration script generated by Autoconf, you may include it under
3164ce7165Smrg# the same distribution terms that you use for the rest of that program.
3264ce7165Smrg
3364ce7165Smrg
3464ce7165Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35169a0819Smrg# diff and a properly formatted GNU ChangeLog entry.
3664ce7165Smrg#
3764ce7165Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3864ce7165Smrg# Supply the specified configuration type as an argument.
3964ce7165Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4064ce7165Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4164ce7165Smrg
42169a0819Smrg# You can get the latest version of this script from:
43169a0819Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44169a0819Smrg
4564ce7165Smrg# This file is supposed to be the same for all GNU packages
4664ce7165Smrg# and recognize all the CPU types, system types and aliases
4764ce7165Smrg# that are meaningful with *any* GNU software.
4864ce7165Smrg# Each package is responsible for reporting which valid configurations
4964ce7165Smrg# it does not support.  The user should be able to distinguish
5064ce7165Smrg# a failure to support a valid configuration from a meaningless
5164ce7165Smrg# configuration.
5264ce7165Smrg
5364ce7165Smrg# The goal of this file is to map all the various variations of a given
5464ce7165Smrg# machine specification into a single specification in the form:
5564ce7165Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5664ce7165Smrg# or in some cases, the newer four-part form:
5764ce7165Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5864ce7165Smrg# It is wrong to echo any other type of specification.
5964ce7165Smrg
6064ce7165Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6164ce7165Smrg
6264ce7165Smrgusage="\
6364ce7165SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6464ce7165Smrg       $0 [OPTION] ALIAS
6564ce7165Smrg
6664ce7165SmrgCanonicalize a configuration name.
6764ce7165Smrg
6864ce7165SmrgOperation modes:
6964ce7165Smrg  -h, --help         print this help, then exit
7064ce7165Smrg  -t, --time-stamp   print date of last modification, then exit
7164ce7165Smrg  -v, --version      print version number, then exit
7264ce7165Smrg
7364ce7165SmrgReport bugs and patches to <config-patches@gnu.org>."
7464ce7165Smrg
7564ce7165Smrgversion="\
7664ce7165SmrgGNU config.sub ($timestamp)
7764ce7165Smrg
78169a0819SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79169a0819Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80169a0819SmrgSoftware Foundation, Inc.
8164ce7165Smrg
8264ce7165SmrgThis is free software; see the source for copying conditions.  There is NO
8364ce7165Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8464ce7165Smrg
8564ce7165Smrghelp="
8664ce7165SmrgTry \`$me --help' for more information."
8764ce7165Smrg
8864ce7165Smrg# Parse command line
8964ce7165Smrgwhile test $# -gt 0 ; do
9064ce7165Smrg  case $1 in
9164ce7165Smrg    --time-stamp | --time* | -t )
9264ce7165Smrg       echo "$timestamp" ; exit ;;
9364ce7165Smrg    --version | -v )
9464ce7165Smrg       echo "$version" ; exit ;;
9564ce7165Smrg    --help | --h* | -h )
9664ce7165Smrg       echo "$usage"; exit ;;
9764ce7165Smrg    -- )     # Stop option processing
9864ce7165Smrg       shift; break ;;
9964ce7165Smrg    - )	# Use stdin as input.
10064ce7165Smrg       break ;;
10164ce7165Smrg    -* )
10264ce7165Smrg       echo "$me: invalid option $1$help"
10364ce7165Smrg       exit 1 ;;
10464ce7165Smrg
10564ce7165Smrg    *local*)
10664ce7165Smrg       # First pass through any local machine types.
10764ce7165Smrg       echo $1
10864ce7165Smrg       exit ;;
10964ce7165Smrg
11064ce7165Smrg    * )
11164ce7165Smrg       break ;;
11264ce7165Smrg  esac
11364ce7165Smrgdone
11464ce7165Smrg
11564ce7165Smrgcase $# in
11664ce7165Smrg 0) echo "$me: missing argument$help" >&2
11764ce7165Smrg    exit 1;;
11864ce7165Smrg 1) ;;
11964ce7165Smrg *) echo "$me: too many arguments$help" >&2
12064ce7165Smrg    exit 1;;
12164ce7165Smrgesac
12264ce7165Smrg
12364ce7165Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12464ce7165Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12564ce7165Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12664ce7165Smrgcase $maybe_os in
127169a0819Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128169a0819Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129169a0819Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130fb23d3a8Smrg  kopensolaris*-gnu* | \
13164ce7165Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13264ce7165Smrg    os=-$maybe_os
13364ce7165Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13464ce7165Smrg    ;;
13564ce7165Smrg  *)
13664ce7165Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13764ce7165Smrg    if [ $basic_machine != $1 ]
13864ce7165Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13964ce7165Smrg    else os=; fi
14064ce7165Smrg    ;;
14164ce7165Smrgesac
14264ce7165Smrg
14364ce7165Smrg### Let's recognize common machines as not being operating systems so
14464ce7165Smrg### that things like config.sub decstation-3100 work.  We also
14564ce7165Smrg### recognize some manufacturers as not being operating systems, so we
14664ce7165Smrg### can provide default operating systems below.
14764ce7165Smrgcase $os in
14864ce7165Smrg	-sun*os*)
14964ce7165Smrg		# Prevent following clause from handling this invalid input.
15064ce7165Smrg		;;
15164ce7165Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15264ce7165Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15364ce7165Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15464ce7165Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15564ce7165Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15664ce7165Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157169a0819Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15864ce7165Smrg		os=
15964ce7165Smrg		basic_machine=$1
16064ce7165Smrg		;;
161169a0819Smrg        -bluegene*)
162169a0819Smrg	        os=-cnk
163169a0819Smrg		;;
16464ce7165Smrg	-sim | -cisco | -oki | -wec | -winbond)
16564ce7165Smrg		os=
16664ce7165Smrg		basic_machine=$1
16764ce7165Smrg		;;
16864ce7165Smrg	-scout)
16964ce7165Smrg		;;
17064ce7165Smrg	-wrs)
17164ce7165Smrg		os=-vxworks
17264ce7165Smrg		basic_machine=$1
17364ce7165Smrg		;;
17464ce7165Smrg	-chorusos*)
17564ce7165Smrg		os=-chorusos
17664ce7165Smrg		basic_machine=$1
17764ce7165Smrg		;;
17864ce7165Smrg 	-chorusrdb)
17964ce7165Smrg 		os=-chorusrdb
18064ce7165Smrg		basic_machine=$1
18164ce7165Smrg 		;;
18264ce7165Smrg	-hiux*)
18364ce7165Smrg		os=-hiuxwe2
18464ce7165Smrg		;;
18564ce7165Smrg	-sco6)
18664ce7165Smrg		os=-sco5v6
18764ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18864ce7165Smrg		;;
18964ce7165Smrg	-sco5)
19064ce7165Smrg		os=-sco3.2v5
19164ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19264ce7165Smrg		;;
19364ce7165Smrg	-sco4)
19464ce7165Smrg		os=-sco3.2v4
19564ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19664ce7165Smrg		;;
19764ce7165Smrg	-sco3.2.[4-9]*)
19864ce7165Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19964ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20064ce7165Smrg		;;
20164ce7165Smrg	-sco3.2v[4-9]*)
20264ce7165Smrg		# Don't forget version if it is 3.2v4 or newer.
20364ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20464ce7165Smrg		;;
20564ce7165Smrg	-sco5v6*)
20664ce7165Smrg		# Don't forget version if it is 3.2v4 or newer.
20764ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20864ce7165Smrg		;;
20964ce7165Smrg	-sco*)
21064ce7165Smrg		os=-sco3.2v2
21164ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21264ce7165Smrg		;;
21364ce7165Smrg	-udk*)
21464ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21564ce7165Smrg		;;
21664ce7165Smrg	-isc)
21764ce7165Smrg		os=-isc2.2
21864ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21964ce7165Smrg		;;
22064ce7165Smrg	-clix*)
22164ce7165Smrg		basic_machine=clipper-intergraph
22264ce7165Smrg		;;
22364ce7165Smrg	-isc*)
22464ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22564ce7165Smrg		;;
22664ce7165Smrg	-lynx*)
22764ce7165Smrg		os=-lynxos
22864ce7165Smrg		;;
22964ce7165Smrg	-ptx*)
23064ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23164ce7165Smrg		;;
23264ce7165Smrg	-windowsnt*)
23364ce7165Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23464ce7165Smrg		;;
23564ce7165Smrg	-psos*)
23664ce7165Smrg		os=-psos
23764ce7165Smrg		;;
23864ce7165Smrg	-mint | -mint[0-9]*)
23964ce7165Smrg		basic_machine=m68k-atari
24064ce7165Smrg		os=-mint
24164ce7165Smrg		;;
24264ce7165Smrgesac
24364ce7165Smrg
24464ce7165Smrg# Decode aliases for certain CPU-COMPANY combinations.
24564ce7165Smrgcase $basic_machine in
24664ce7165Smrg	# Recognize the basic CPU types without company name.
24764ce7165Smrg	# Some are omitted here because they have special meanings below.
24864ce7165Smrg	1750a | 580 \
24964ce7165Smrg	| a29k \
25064ce7165Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25164ce7165Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
25264ce7165Smrg	| am33_2.0 \
25364ce7165Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
25464ce7165Smrg	| bfin \
25564ce7165Smrg	| c4x | clipper \
25664ce7165Smrg	| d10v | d30v | dlx | dsp16xx \
257fb23d3a8Smrg	| fido | fr30 | frv \
25864ce7165Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25964ce7165Smrg	| i370 | i860 | i960 | ia64 \
26064ce7165Smrg	| ip2k | iq2000 \
261fb23d3a8Smrg	| lm32 \
26264ce7165Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263fb23d3a8Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26464ce7165Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26564ce7165Smrg	| mips16 \
26664ce7165Smrg	| mips64 | mips64el \
267fb23d3a8Smrg	| mips64octeon | mips64octeonel \
26864ce7165Smrg	| mips64orion | mips64orionel \
269fb23d3a8Smrg	| mips64r5900 | mips64r5900el \
270fb23d3a8Smrg	| mips64vr | mips64vrel \
27164ce7165Smrg	| mips64vr4100 | mips64vr4100el \
27264ce7165Smrg	| mips64vr4300 | mips64vr4300el \
27364ce7165Smrg	| mips64vr5000 | mips64vr5000el \
27464ce7165Smrg	| mips64vr5900 | mips64vr5900el \
27564ce7165Smrg	| mipsisa32 | mipsisa32el \
27664ce7165Smrg	| mipsisa32r2 | mipsisa32r2el \
27764ce7165Smrg	| mipsisa64 | mipsisa64el \
27864ce7165Smrg	| mipsisa64r2 | mipsisa64r2el \
27964ce7165Smrg	| mipsisa64sb1 | mipsisa64sb1el \
28064ce7165Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
28164ce7165Smrg	| mipstx39 | mipstx39el \
28264ce7165Smrg	| mn10200 | mn10300 \
283fb23d3a8Smrg	| moxie \
28464ce7165Smrg	| mt \
28564ce7165Smrg	| msp430 \
286169a0819Smrg	| nds32 | nds32le | nds32be \
28764ce7165Smrg	| nios | nios2 \
28864ce7165Smrg	| ns16k | ns32k \
28964ce7165Smrg	| or32 \
29064ce7165Smrg	| pdp10 | pdp11 | pj | pjl \
29164ce7165Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
29264ce7165Smrg	| pyramid \
293169a0819Smrg	| rx \
29464ce7165Smrg	| score \
295fb23d3a8Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29664ce7165Smrg	| sh64 | sh64le \
29764ce7165Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29864ce7165Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29964ce7165Smrg	| spu | strongarm \
300169a0819Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301169a0819Smrg	| ubicom32 \
30264ce7165Smrg	| v850 | v850e \
30364ce7165Smrg	| we32k \
30464ce7165Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305fb23d3a8Smrg	| z8k | z80)
30664ce7165Smrg		basic_machine=$basic_machine-unknown
30764ce7165Smrg		;;
308169a0819Smrg	c54x)
309169a0819Smrg		basic_machine=tic54x-unknown
310169a0819Smrg		;;
311169a0819Smrg	c55x)
312169a0819Smrg		basic_machine=tic55x-unknown
313169a0819Smrg		;;
314169a0819Smrg	c6x)
315169a0819Smrg		basic_machine=tic6x-unknown
316169a0819Smrg		;;
317169a0819Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
31864ce7165Smrg		# Motorola 68HC11/12.
31964ce7165Smrg		basic_machine=$basic_machine-unknown
32064ce7165Smrg		os=-none
32164ce7165Smrg		;;
32264ce7165Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32364ce7165Smrg		;;
32464ce7165Smrg	ms1)
32564ce7165Smrg		basic_machine=mt-unknown
32664ce7165Smrg		;;
32764ce7165Smrg
32864ce7165Smrg	# We use `pc' rather than `unknown'
32964ce7165Smrg	# because (1) that's what they normally are, and
33064ce7165Smrg	# (2) the word "unknown" tends to confuse beginning users.
33164ce7165Smrg	i*86 | x86_64)
33264ce7165Smrg	  basic_machine=$basic_machine-pc
33364ce7165Smrg	  ;;
33464ce7165Smrg	# Object if more than one company name word.
33564ce7165Smrg	*-*-*)
33664ce7165Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
33764ce7165Smrg		exit 1
33864ce7165Smrg		;;
33964ce7165Smrg	# Recognize the basic CPU types with company name.
34064ce7165Smrg	580-* \
34164ce7165Smrg	| a29k-* \
34264ce7165Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
34364ce7165Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
34464ce7165Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
34564ce7165Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34664ce7165Smrg	| avr-* | avr32-* \
34764ce7165Smrg	| bfin-* | bs2000-* \
348169a0819Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
34964ce7165Smrg	| clipper-* | craynv-* | cydra-* \
35064ce7165Smrg	| d10v-* | d30v-* | dlx-* \
35164ce7165Smrg	| elxsi-* \
352fb23d3a8Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
35364ce7165Smrg	| h8300-* | h8500-* \
35464ce7165Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
35564ce7165Smrg	| i*86-* | i860-* | i960-* | ia64-* \
35664ce7165Smrg	| ip2k-* | iq2000-* \
357fb23d3a8Smrg	| lm32-* \
35864ce7165Smrg	| m32c-* | m32r-* | m32rle-* \
35964ce7165Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360169a0819Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
36164ce7165Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
36264ce7165Smrg	| mips16-* \
36364ce7165Smrg	| mips64-* | mips64el-* \
364fb23d3a8Smrg	| mips64octeon-* | mips64octeonel-* \
36564ce7165Smrg	| mips64orion-* | mips64orionel-* \
366fb23d3a8Smrg	| mips64r5900-* | mips64r5900el-* \
367fb23d3a8Smrg	| mips64vr-* | mips64vrel-* \
36864ce7165Smrg	| mips64vr4100-* | mips64vr4100el-* \
36964ce7165Smrg	| mips64vr4300-* | mips64vr4300el-* \
37064ce7165Smrg	| mips64vr5000-* | mips64vr5000el-* \
37164ce7165Smrg	| mips64vr5900-* | mips64vr5900el-* \
37264ce7165Smrg	| mipsisa32-* | mipsisa32el-* \
37364ce7165Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
37464ce7165Smrg	| mipsisa64-* | mipsisa64el-* \
37564ce7165Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
37664ce7165Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
37764ce7165Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
37864ce7165Smrg	| mipstx39-* | mipstx39el-* \
37964ce7165Smrg	| mmix-* \
38064ce7165Smrg	| mt-* \
38164ce7165Smrg	| msp430-* \
382169a0819Smrg	| nds32-* | nds32le-* | nds32be-* \
38364ce7165Smrg	| nios-* | nios2-* \
38464ce7165Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
38564ce7165Smrg	| orion-* \
38664ce7165Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
38764ce7165Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
38864ce7165Smrg	| pyramid-* \
389169a0819Smrg	| romp-* | rs6000-* | rx-* \
390fb23d3a8Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
39164ce7165Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39264ce7165Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
39364ce7165Smrg	| sparclite-* \
39464ce7165Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
39564ce7165Smrg	| tahoe-* | thumb-* \
396169a0819Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397169a0819Smrg	| tile-* | tilegx-* \
39864ce7165Smrg	| tron-* \
399169a0819Smrg	| ubicom32-* \
40064ce7165Smrg	| v850-* | v850e-* | vax-* \
40164ce7165Smrg	| we32k-* \
40264ce7165Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403fb23d3a8Smrg	| xstormy16-* | xtensa*-* \
40464ce7165Smrg	| ymp-* \
405fb23d3a8Smrg	| z8k-* | z80-*)
406fb23d3a8Smrg		;;
407fb23d3a8Smrg	# Recognize the basic CPU types without company name, with glob match.
408fb23d3a8Smrg	xtensa*)
409fb23d3a8Smrg		basic_machine=$basic_machine-unknown
41064ce7165Smrg		;;
41164ce7165Smrg	# Recognize the various machine names and aliases which stand
41264ce7165Smrg	# for a CPU type and a company and sometimes even an OS.
41364ce7165Smrg	386bsd)
41464ce7165Smrg		basic_machine=i386-unknown
41564ce7165Smrg		os=-bsd
41664ce7165Smrg		;;
41764ce7165Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
41864ce7165Smrg		basic_machine=m68000-att
41964ce7165Smrg		;;
42064ce7165Smrg	3b*)
42164ce7165Smrg		basic_machine=we32k-att
42264ce7165Smrg		;;
42364ce7165Smrg	a29khif)
42464ce7165Smrg		basic_machine=a29k-amd
42564ce7165Smrg		os=-udi
42664ce7165Smrg		;;
42764ce7165Smrg    	abacus)
42864ce7165Smrg		basic_machine=abacus-unknown
42964ce7165Smrg		;;
43064ce7165Smrg	adobe68k)
43164ce7165Smrg		basic_machine=m68010-adobe
43264ce7165Smrg		os=-scout
43364ce7165Smrg		;;
43464ce7165Smrg	alliant | fx80)
43564ce7165Smrg		basic_machine=fx80-alliant
43664ce7165Smrg		;;
43764ce7165Smrg	altos | altos3068)
43864ce7165Smrg		basic_machine=m68k-altos
43964ce7165Smrg		;;
44064ce7165Smrg	am29k)
44164ce7165Smrg		basic_machine=a29k-none
44264ce7165Smrg		os=-bsd
44364ce7165Smrg		;;
44464ce7165Smrg	amd64)
44564ce7165Smrg		basic_machine=x86_64-pc
44664ce7165Smrg		;;
44764ce7165Smrg	amd64-*)
44864ce7165Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
44964ce7165Smrg		;;
45064ce7165Smrg	amdahl)
45164ce7165Smrg		basic_machine=580-amdahl
45264ce7165Smrg		os=-sysv
45364ce7165Smrg		;;
45464ce7165Smrg	amiga | amiga-*)
45564ce7165Smrg		basic_machine=m68k-unknown
45664ce7165Smrg		;;
45764ce7165Smrg	amigaos | amigados)
45864ce7165Smrg		basic_machine=m68k-unknown
45964ce7165Smrg		os=-amigaos
46064ce7165Smrg		;;
46164ce7165Smrg	amigaunix | amix)
46264ce7165Smrg		basic_machine=m68k-unknown
46364ce7165Smrg		os=-sysv4
46464ce7165Smrg		;;
46564ce7165Smrg	apollo68)
46664ce7165Smrg		basic_machine=m68k-apollo
46764ce7165Smrg		os=-sysv
46864ce7165Smrg		;;
46964ce7165Smrg	apollo68bsd)
47064ce7165Smrg		basic_machine=m68k-apollo
47164ce7165Smrg		os=-bsd
47264ce7165Smrg		;;
473fb23d3a8Smrg	aros)
474fb23d3a8Smrg		basic_machine=i386-pc
475fb23d3a8Smrg		os=-aros
476fb23d3a8Smrg		;;
47764ce7165Smrg	aux)
47864ce7165Smrg		basic_machine=m68k-apple
47964ce7165Smrg		os=-aux
48064ce7165Smrg		;;
48164ce7165Smrg	balance)
48264ce7165Smrg		basic_machine=ns32k-sequent
48364ce7165Smrg		os=-dynix
48464ce7165Smrg		;;
485fb23d3a8Smrg	blackfin)
486fb23d3a8Smrg		basic_machine=bfin-unknown
487fb23d3a8Smrg		os=-linux
488fb23d3a8Smrg		;;
489fb23d3a8Smrg	blackfin-*)
490fb23d3a8Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491fb23d3a8Smrg		os=-linux
492fb23d3a8Smrg		;;
493169a0819Smrg	bluegene*)
494169a0819Smrg		basic_machine=powerpc-ibm
495169a0819Smrg		os=-cnk
496169a0819Smrg		;;
497169a0819Smrg	c54x-*)
498169a0819Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499169a0819Smrg		;;
500169a0819Smrg	c55x-*)
501169a0819Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502169a0819Smrg		;;
503169a0819Smrg	c6x-*)
504169a0819Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505169a0819Smrg		;;
50664ce7165Smrg	c90)
50764ce7165Smrg		basic_machine=c90-cray
50864ce7165Smrg		os=-unicos
50964ce7165Smrg		;;
510fb23d3a8Smrg        cegcc)
511fb23d3a8Smrg		basic_machine=arm-unknown
512fb23d3a8Smrg		os=-cegcc
513fb23d3a8Smrg		;;
51464ce7165Smrg	convex-c1)
51564ce7165Smrg		basic_machine=c1-convex
51664ce7165Smrg		os=-bsd
51764ce7165Smrg		;;
51864ce7165Smrg	convex-c2)
51964ce7165Smrg		basic_machine=c2-convex
52064ce7165Smrg		os=-bsd
52164ce7165Smrg		;;
52264ce7165Smrg	convex-c32)
52364ce7165Smrg		basic_machine=c32-convex
52464ce7165Smrg		os=-bsd
52564ce7165Smrg		;;
52664ce7165Smrg	convex-c34)
52764ce7165Smrg		basic_machine=c34-convex
52864ce7165Smrg		os=-bsd
52964ce7165Smrg		;;
53064ce7165Smrg	convex-c38)
53164ce7165Smrg		basic_machine=c38-convex
53264ce7165Smrg		os=-bsd
53364ce7165Smrg		;;
53464ce7165Smrg	cray | j90)
53564ce7165Smrg		basic_machine=j90-cray
53664ce7165Smrg		os=-unicos
53764ce7165Smrg		;;
53864ce7165Smrg	craynv)
53964ce7165Smrg		basic_machine=craynv-cray
54064ce7165Smrg		os=-unicosmp
54164ce7165Smrg		;;
542fb23d3a8Smrg	cr16)
543fb23d3a8Smrg		basic_machine=cr16-unknown
54464ce7165Smrg		os=-elf
54564ce7165Smrg		;;
54664ce7165Smrg	crds | unos)
54764ce7165Smrg		basic_machine=m68k-crds
54864ce7165Smrg		;;
54964ce7165Smrg	crisv32 | crisv32-* | etraxfs*)
55064ce7165Smrg		basic_machine=crisv32-axis
55164ce7165Smrg		;;
55264ce7165Smrg	cris | cris-* | etrax*)
55364ce7165Smrg		basic_machine=cris-axis
55464ce7165Smrg		;;
55564ce7165Smrg	crx)
55664ce7165Smrg		basic_machine=crx-unknown
55764ce7165Smrg		os=-elf
55864ce7165Smrg		;;
55964ce7165Smrg	da30 | da30-*)
56064ce7165Smrg		basic_machine=m68k-da30
56164ce7165Smrg		;;
56264ce7165Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
56364ce7165Smrg		basic_machine=mips-dec
56464ce7165Smrg		;;
56564ce7165Smrg	decsystem10* | dec10*)
56664ce7165Smrg		basic_machine=pdp10-dec
56764ce7165Smrg		os=-tops10
56864ce7165Smrg		;;
56964ce7165Smrg	decsystem20* | dec20*)
57064ce7165Smrg		basic_machine=pdp10-dec
57164ce7165Smrg		os=-tops20
57264ce7165Smrg		;;
57364ce7165Smrg	delta | 3300 | motorola-3300 | motorola-delta \
57464ce7165Smrg	      | 3300-motorola | delta-motorola)
57564ce7165Smrg		basic_machine=m68k-motorola
57664ce7165Smrg		;;
57764ce7165Smrg	delta88)
57864ce7165Smrg		basic_machine=m88k-motorola
57964ce7165Smrg		os=-sysv3
58064ce7165Smrg		;;
581fb23d3a8Smrg	dicos)
582fb23d3a8Smrg		basic_machine=i686-pc
583fb23d3a8Smrg		os=-dicos
584fb23d3a8Smrg		;;
58564ce7165Smrg	djgpp)
58664ce7165Smrg		basic_machine=i586-pc
58764ce7165Smrg		os=-msdosdjgpp
58864ce7165Smrg		;;
58964ce7165Smrg	dpx20 | dpx20-*)
59064ce7165Smrg		basic_machine=rs6000-bull
59164ce7165Smrg		os=-bosx
59264ce7165Smrg		;;
59364ce7165Smrg	dpx2* | dpx2*-bull)
59464ce7165Smrg		basic_machine=m68k-bull
59564ce7165Smrg		os=-sysv3
59664ce7165Smrg		;;
59764ce7165Smrg	ebmon29k)
59864ce7165Smrg		basic_machine=a29k-amd
59964ce7165Smrg		os=-ebmon
60064ce7165Smrg		;;
60164ce7165Smrg	elxsi)
60264ce7165Smrg		basic_machine=elxsi-elxsi
60364ce7165Smrg		os=-bsd
60464ce7165Smrg		;;
60564ce7165Smrg	encore | umax | mmax)
60664ce7165Smrg		basic_machine=ns32k-encore
60764ce7165Smrg		;;
60864ce7165Smrg	es1800 | OSE68k | ose68k | ose | OSE)
60964ce7165Smrg		basic_machine=m68k-ericsson
61064ce7165Smrg		os=-ose
61164ce7165Smrg		;;
61264ce7165Smrg	fx2800)
61364ce7165Smrg		basic_machine=i860-alliant
61464ce7165Smrg		;;
61564ce7165Smrg	genix)
61664ce7165Smrg		basic_machine=ns32k-ns
61764ce7165Smrg		;;
61864ce7165Smrg	gmicro)
61964ce7165Smrg		basic_machine=tron-gmicro
62064ce7165Smrg		os=-sysv
62164ce7165Smrg		;;
62264ce7165Smrg	go32)
62364ce7165Smrg		basic_machine=i386-pc
62464ce7165Smrg		os=-go32
62564ce7165Smrg		;;
62664ce7165Smrg	h3050r* | hiux*)
62764ce7165Smrg		basic_machine=hppa1.1-hitachi
62864ce7165Smrg		os=-hiuxwe2
62964ce7165Smrg		;;
63064ce7165Smrg	h8300hms)
63164ce7165Smrg		basic_machine=h8300-hitachi
63264ce7165Smrg		os=-hms
63364ce7165Smrg		;;
63464ce7165Smrg	h8300xray)
63564ce7165Smrg		basic_machine=h8300-hitachi
63664ce7165Smrg		os=-xray
63764ce7165Smrg		;;
63864ce7165Smrg	h8500hms)
63964ce7165Smrg		basic_machine=h8500-hitachi
64064ce7165Smrg		os=-hms
64164ce7165Smrg		;;
64264ce7165Smrg	harris)
64364ce7165Smrg		basic_machine=m88k-harris
64464ce7165Smrg		os=-sysv3
64564ce7165Smrg		;;
64664ce7165Smrg	hp300-*)
64764ce7165Smrg		basic_machine=m68k-hp
64864ce7165Smrg		;;
64964ce7165Smrg	hp300bsd)
65064ce7165Smrg		basic_machine=m68k-hp
65164ce7165Smrg		os=-bsd
65264ce7165Smrg		;;
65364ce7165Smrg	hp300hpux)
65464ce7165Smrg		basic_machine=m68k-hp
65564ce7165Smrg		os=-hpux
65664ce7165Smrg		;;
65764ce7165Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
65864ce7165Smrg		basic_machine=hppa1.0-hp
65964ce7165Smrg		;;
66064ce7165Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
66164ce7165Smrg		basic_machine=m68000-hp
66264ce7165Smrg		;;
66364ce7165Smrg	hp9k3[2-9][0-9])
66464ce7165Smrg		basic_machine=m68k-hp
66564ce7165Smrg		;;
66664ce7165Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
66764ce7165Smrg		basic_machine=hppa1.0-hp
66864ce7165Smrg		;;
66964ce7165Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
67064ce7165Smrg		basic_machine=hppa1.1-hp
67164ce7165Smrg		;;
67264ce7165Smrg	hp9k78[0-9] | hp78[0-9])
67364ce7165Smrg		# FIXME: really hppa2.0-hp
67464ce7165Smrg		basic_machine=hppa1.1-hp
67564ce7165Smrg		;;
67664ce7165Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
67764ce7165Smrg		# FIXME: really hppa2.0-hp
67864ce7165Smrg		basic_machine=hppa1.1-hp
67964ce7165Smrg		;;
68064ce7165Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
68164ce7165Smrg		basic_machine=hppa1.1-hp
68264ce7165Smrg		;;
68364ce7165Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
68464ce7165Smrg		basic_machine=hppa1.0-hp
68564ce7165Smrg		;;
68664ce7165Smrg	hppa-next)
68764ce7165Smrg		os=-nextstep3
68864ce7165Smrg		;;
68964ce7165Smrg	hppaosf)
69064ce7165Smrg		basic_machine=hppa1.1-hp
69164ce7165Smrg		os=-osf
69264ce7165Smrg		;;
69364ce7165Smrg	hppro)
69464ce7165Smrg		basic_machine=hppa1.1-hp
69564ce7165Smrg		os=-proelf
69664ce7165Smrg		;;
69764ce7165Smrg	i370-ibm* | ibm*)
69864ce7165Smrg		basic_machine=i370-ibm
69964ce7165Smrg		;;
70064ce7165Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
70164ce7165Smrg	i*86v32)
70264ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70364ce7165Smrg		os=-sysv32
70464ce7165Smrg		;;
70564ce7165Smrg	i*86v4*)
70664ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
70764ce7165Smrg		os=-sysv4
70864ce7165Smrg		;;
70964ce7165Smrg	i*86v)
71064ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71164ce7165Smrg		os=-sysv
71264ce7165Smrg		;;
71364ce7165Smrg	i*86sol2)
71464ce7165Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
71564ce7165Smrg		os=-solaris2
71664ce7165Smrg		;;
71764ce7165Smrg	i386mach)
71864ce7165Smrg		basic_machine=i386-mach
71964ce7165Smrg		os=-mach
72064ce7165Smrg		;;
72164ce7165Smrg	i386-vsta | vsta)
72264ce7165Smrg		basic_machine=i386-unknown
72364ce7165Smrg		os=-vsta
72464ce7165Smrg		;;
72564ce7165Smrg	iris | iris4d)
72664ce7165Smrg		basic_machine=mips-sgi
72764ce7165Smrg		case $os in
72864ce7165Smrg		    -irix*)
72964ce7165Smrg			;;
73064ce7165Smrg		    *)
73164ce7165Smrg			os=-irix4
73264ce7165Smrg			;;
73364ce7165Smrg		esac
73464ce7165Smrg		;;
73564ce7165Smrg	isi68 | isi)
73664ce7165Smrg		basic_machine=m68k-isi
73764ce7165Smrg		os=-sysv
73864ce7165Smrg		;;
739fb23d3a8Smrg	m68knommu)
740fb23d3a8Smrg		basic_machine=m68k-unknown
741fb23d3a8Smrg		os=-linux
742fb23d3a8Smrg		;;
743fb23d3a8Smrg	m68knommu-*)
744fb23d3a8Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745fb23d3a8Smrg		os=-linux
746fb23d3a8Smrg		;;
74764ce7165Smrg	m88k-omron*)
74864ce7165Smrg		basic_machine=m88k-omron
74964ce7165Smrg		;;
75064ce7165Smrg	magnum | m3230)
75164ce7165Smrg		basic_machine=mips-mips
75264ce7165Smrg		os=-sysv
75364ce7165Smrg		;;
75464ce7165Smrg	merlin)
75564ce7165Smrg		basic_machine=ns32k-utek
75664ce7165Smrg		os=-sysv
75764ce7165Smrg		;;
758169a0819Smrg        microblaze)
759169a0819Smrg		basic_machine=microblaze-xilinx
760169a0819Smrg		;;
76164ce7165Smrg	mingw32)
76264ce7165Smrg		basic_machine=i386-pc
76364ce7165Smrg		os=-mingw32
76464ce7165Smrg		;;
765fb23d3a8Smrg	mingw32ce)
766fb23d3a8Smrg		basic_machine=arm-unknown
767fb23d3a8Smrg		os=-mingw32ce
768fb23d3a8Smrg		;;
76964ce7165Smrg	miniframe)
77064ce7165Smrg		basic_machine=m68000-convergent
77164ce7165Smrg		;;
77264ce7165Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
77364ce7165Smrg		basic_machine=m68k-atari
77464ce7165Smrg		os=-mint
77564ce7165Smrg		;;
77664ce7165Smrg	mips3*-*)
77764ce7165Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
77864ce7165Smrg		;;
77964ce7165Smrg	mips3*)
78064ce7165Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
78164ce7165Smrg		;;
78264ce7165Smrg	monitor)
78364ce7165Smrg		basic_machine=m68k-rom68k
78464ce7165Smrg		os=-coff
78564ce7165Smrg		;;
78664ce7165Smrg	morphos)
78764ce7165Smrg		basic_machine=powerpc-unknown
78864ce7165Smrg		os=-morphos
78964ce7165Smrg		;;
79064ce7165Smrg	msdos)
79164ce7165Smrg		basic_machine=i386-pc
79264ce7165Smrg		os=-msdos
79364ce7165Smrg		;;
79464ce7165Smrg	ms1-*)
79564ce7165Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79664ce7165Smrg		;;
79764ce7165Smrg	mvs)
79864ce7165Smrg		basic_machine=i370-ibm
79964ce7165Smrg		os=-mvs
80064ce7165Smrg		;;
80164ce7165Smrg	ncr3000)
80264ce7165Smrg		basic_machine=i486-ncr
80364ce7165Smrg		os=-sysv4
80464ce7165Smrg		;;
80564ce7165Smrg	netbsd386)
80664ce7165Smrg		basic_machine=i386-unknown
80764ce7165Smrg		os=-netbsd
80864ce7165Smrg		;;
80964ce7165Smrg	netwinder)
81064ce7165Smrg		basic_machine=armv4l-rebel
81164ce7165Smrg		os=-linux
81264ce7165Smrg		;;
81364ce7165Smrg	news | news700 | news800 | news900)
81464ce7165Smrg		basic_machine=m68k-sony
81564ce7165Smrg		os=-newsos
81664ce7165Smrg		;;
81764ce7165Smrg	news1000)
81864ce7165Smrg		basic_machine=m68030-sony
81964ce7165Smrg		os=-newsos
82064ce7165Smrg		;;
82164ce7165Smrg	news-3600 | risc-news)
82264ce7165Smrg		basic_machine=mips-sony
82364ce7165Smrg		os=-newsos
82464ce7165Smrg		;;
82564ce7165Smrg	necv70)
82664ce7165Smrg		basic_machine=v70-nec
82764ce7165Smrg		os=-sysv
82864ce7165Smrg		;;
82964ce7165Smrg	next | m*-next )
83064ce7165Smrg		basic_machine=m68k-next
83164ce7165Smrg		case $os in
83264ce7165Smrg		    -nextstep* )
83364ce7165Smrg			;;
83464ce7165Smrg		    -ns2*)
83564ce7165Smrg		      os=-nextstep2
83664ce7165Smrg			;;
83764ce7165Smrg		    *)
83864ce7165Smrg		      os=-nextstep3
83964ce7165Smrg			;;
84064ce7165Smrg		esac
84164ce7165Smrg		;;
84264ce7165Smrg	nh3000)
84364ce7165Smrg		basic_machine=m68k-harris
84464ce7165Smrg		os=-cxux
84564ce7165Smrg		;;
84664ce7165Smrg	nh[45]000)
84764ce7165Smrg		basic_machine=m88k-harris
84864ce7165Smrg		os=-cxux
84964ce7165Smrg		;;
85064ce7165Smrg	nindy960)
85164ce7165Smrg		basic_machine=i960-intel
85264ce7165Smrg		os=-nindy
85364ce7165Smrg		;;
85464ce7165Smrg	mon960)
85564ce7165Smrg		basic_machine=i960-intel
85664ce7165Smrg		os=-mon960
85764ce7165Smrg		;;
85864ce7165Smrg	nonstopux)
85964ce7165Smrg		basic_machine=mips-compaq
86064ce7165Smrg		os=-nonstopux
86164ce7165Smrg		;;
86264ce7165Smrg	np1)
86364ce7165Smrg		basic_machine=np1-gould
86464ce7165Smrg		;;
865169a0819Smrg        neo-tandem)
866169a0819Smrg		basic_machine=neo-tandem
867169a0819Smrg		;;
868169a0819Smrg        nse-tandem)
869169a0819Smrg		basic_machine=nse-tandem
870169a0819Smrg		;;
87164ce7165Smrg	nsr-tandem)
87264ce7165Smrg		basic_machine=nsr-tandem
87364ce7165Smrg		;;
87464ce7165Smrg	op50n-* | op60c-*)
87564ce7165Smrg		basic_machine=hppa1.1-oki
87664ce7165Smrg		os=-proelf
87764ce7165Smrg		;;
87864ce7165Smrg	openrisc | openrisc-*)
87964ce7165Smrg		basic_machine=or32-unknown
88064ce7165Smrg		;;
88164ce7165Smrg	os400)
88264ce7165Smrg		basic_machine=powerpc-ibm
88364ce7165Smrg		os=-os400
88464ce7165Smrg		;;
88564ce7165Smrg	OSE68000 | ose68000)
88664ce7165Smrg		basic_machine=m68000-ericsson
88764ce7165Smrg		os=-ose
88864ce7165Smrg		;;
88964ce7165Smrg	os68k)
89064ce7165Smrg		basic_machine=m68k-none
89164ce7165Smrg		os=-os68k
89264ce7165Smrg		;;
89364ce7165Smrg	pa-hitachi)
89464ce7165Smrg		basic_machine=hppa1.1-hitachi
89564ce7165Smrg		os=-hiuxwe2
89664ce7165Smrg		;;
89764ce7165Smrg	paragon)
89864ce7165Smrg		basic_machine=i860-intel
89964ce7165Smrg		os=-osf
90064ce7165Smrg		;;
901fb23d3a8Smrg	parisc)
902fb23d3a8Smrg		basic_machine=hppa-unknown
903fb23d3a8Smrg		os=-linux
904fb23d3a8Smrg		;;
905fb23d3a8Smrg	parisc-*)
906fb23d3a8Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907fb23d3a8Smrg		os=-linux
908fb23d3a8Smrg		;;
90964ce7165Smrg	pbd)
91064ce7165Smrg		basic_machine=sparc-tti
91164ce7165Smrg		;;
91264ce7165Smrg	pbb)
91364ce7165Smrg		basic_machine=m68k-tti
91464ce7165Smrg		;;
91564ce7165Smrg	pc532 | pc532-*)
91664ce7165Smrg		basic_machine=ns32k-pc532
91764ce7165Smrg		;;
91864ce7165Smrg	pc98)
91964ce7165Smrg		basic_machine=i386-pc
92064ce7165Smrg		;;
92164ce7165Smrg	pc98-*)
92264ce7165Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92364ce7165Smrg		;;
92464ce7165Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
92564ce7165Smrg		basic_machine=i586-pc
92664ce7165Smrg		;;
92764ce7165Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
92864ce7165Smrg		basic_machine=i686-pc
92964ce7165Smrg		;;
93064ce7165Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
93164ce7165Smrg		basic_machine=i686-pc
93264ce7165Smrg		;;
93364ce7165Smrg	pentium4)
93464ce7165Smrg		basic_machine=i786-pc
93564ce7165Smrg		;;
93664ce7165Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
93764ce7165Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
93864ce7165Smrg		;;
93964ce7165Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
94064ce7165Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94164ce7165Smrg		;;
94264ce7165Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
94364ce7165Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
94464ce7165Smrg		;;
94564ce7165Smrg	pentium4-*)
94664ce7165Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
94764ce7165Smrg		;;
94864ce7165Smrg	pn)
94964ce7165Smrg		basic_machine=pn-gould
95064ce7165Smrg		;;
95164ce7165Smrg	power)	basic_machine=power-ibm
95264ce7165Smrg		;;
95364ce7165Smrg	ppc)	basic_machine=powerpc-unknown
95464ce7165Smrg		;;
95564ce7165Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
95664ce7165Smrg		;;
95764ce7165Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
95864ce7165Smrg		basic_machine=powerpcle-unknown
95964ce7165Smrg		;;
96064ce7165Smrg	ppcle-* | powerpclittle-*)
96164ce7165Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
96264ce7165Smrg		;;
96364ce7165Smrg	ppc64)	basic_machine=powerpc64-unknown
96464ce7165Smrg		;;
96564ce7165Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
96664ce7165Smrg		;;
96764ce7165Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
96864ce7165Smrg		basic_machine=powerpc64le-unknown
96964ce7165Smrg		;;
97064ce7165Smrg	ppc64le-* | powerpc64little-*)
97164ce7165Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
97264ce7165Smrg		;;
97364ce7165Smrg	ps2)
97464ce7165Smrg		basic_machine=i386-ibm
97564ce7165Smrg		;;
97664ce7165Smrg	pw32)
97764ce7165Smrg		basic_machine=i586-unknown
97864ce7165Smrg		os=-pw32
97964ce7165Smrg		;;
98064ce7165Smrg	rdos)
98164ce7165Smrg		basic_machine=i386-pc
98264ce7165Smrg		os=-rdos
98364ce7165Smrg		;;
98464ce7165Smrg	rom68k)
98564ce7165Smrg		basic_machine=m68k-rom68k
98664ce7165Smrg		os=-coff
98764ce7165Smrg		;;
98864ce7165Smrg	rm[46]00)
98964ce7165Smrg		basic_machine=mips-siemens
99064ce7165Smrg		;;
99164ce7165Smrg	rtpc | rtpc-*)
99264ce7165Smrg		basic_machine=romp-ibm
99364ce7165Smrg		;;
99464ce7165Smrg	s390 | s390-*)
99564ce7165Smrg		basic_machine=s390-ibm
99664ce7165Smrg		;;
99764ce7165Smrg	s390x | s390x-*)
99864ce7165Smrg		basic_machine=s390x-ibm
99964ce7165Smrg		;;
100064ce7165Smrg	sa29200)
100164ce7165Smrg		basic_machine=a29k-amd
100264ce7165Smrg		os=-udi
100364ce7165Smrg		;;
100464ce7165Smrg	sb1)
100564ce7165Smrg		basic_machine=mipsisa64sb1-unknown
100664ce7165Smrg		;;
100764ce7165Smrg	sb1el)
100864ce7165Smrg		basic_machine=mipsisa64sb1el-unknown
100964ce7165Smrg		;;
101064ce7165Smrg	sde)
101164ce7165Smrg		basic_machine=mipsisa32-sde
101264ce7165Smrg		os=-elf
101364ce7165Smrg		;;
101464ce7165Smrg	sei)
101564ce7165Smrg		basic_machine=mips-sei
101664ce7165Smrg		os=-seiux
101764ce7165Smrg		;;
101864ce7165Smrg	sequent)
101964ce7165Smrg		basic_machine=i386-sequent
102064ce7165Smrg		;;
102164ce7165Smrg	sh)
102264ce7165Smrg		basic_machine=sh-hitachi
102364ce7165Smrg		os=-hms
102464ce7165Smrg		;;
1025fb23d3a8Smrg	sh5el)
1026fb23d3a8Smrg		basic_machine=sh5le-unknown
1027fb23d3a8Smrg		;;
102864ce7165Smrg	sh64)
102964ce7165Smrg		basic_machine=sh64-unknown
103064ce7165Smrg		;;
103164ce7165Smrg	sparclite-wrs | simso-wrs)
103264ce7165Smrg		basic_machine=sparclite-wrs
103364ce7165Smrg		os=-vxworks
103464ce7165Smrg		;;
103564ce7165Smrg	sps7)
103664ce7165Smrg		basic_machine=m68k-bull
103764ce7165Smrg		os=-sysv2
103864ce7165Smrg		;;
103964ce7165Smrg	spur)
104064ce7165Smrg		basic_machine=spur-unknown
104164ce7165Smrg		;;
104264ce7165Smrg	st2000)
104364ce7165Smrg		basic_machine=m68k-tandem
104464ce7165Smrg		;;
104564ce7165Smrg	stratus)
104664ce7165Smrg		basic_machine=i860-stratus
104764ce7165Smrg		os=-sysv4
104864ce7165Smrg		;;
104964ce7165Smrg	sun2)
105064ce7165Smrg		basic_machine=m68000-sun
105164ce7165Smrg		;;
105264ce7165Smrg	sun2os3)
105364ce7165Smrg		basic_machine=m68000-sun
105464ce7165Smrg		os=-sunos3
105564ce7165Smrg		;;
105664ce7165Smrg	sun2os4)
105764ce7165Smrg		basic_machine=m68000-sun
105864ce7165Smrg		os=-sunos4
105964ce7165Smrg		;;
106064ce7165Smrg	sun3os3)
106164ce7165Smrg		basic_machine=m68k-sun
106264ce7165Smrg		os=-sunos3
106364ce7165Smrg		;;
106464ce7165Smrg	sun3os4)
106564ce7165Smrg		basic_machine=m68k-sun
106664ce7165Smrg		os=-sunos4
106764ce7165Smrg		;;
106864ce7165Smrg	sun4os3)
106964ce7165Smrg		basic_machine=sparc-sun
107064ce7165Smrg		os=-sunos3
107164ce7165Smrg		;;
107264ce7165Smrg	sun4os4)
107364ce7165Smrg		basic_machine=sparc-sun
107464ce7165Smrg		os=-sunos4
107564ce7165Smrg		;;
107664ce7165Smrg	sun4sol2)
107764ce7165Smrg		basic_machine=sparc-sun
107864ce7165Smrg		os=-solaris2
107964ce7165Smrg		;;
108064ce7165Smrg	sun3 | sun3-*)
108164ce7165Smrg		basic_machine=m68k-sun
108264ce7165Smrg		;;
108364ce7165Smrg	sun4)
108464ce7165Smrg		basic_machine=sparc-sun
108564ce7165Smrg		;;
108664ce7165Smrg	sun386 | sun386i | roadrunner)
108764ce7165Smrg		basic_machine=i386-sun
108864ce7165Smrg		;;
108964ce7165Smrg	sv1)
109064ce7165Smrg		basic_machine=sv1-cray
109164ce7165Smrg		os=-unicos
109264ce7165Smrg		;;
109364ce7165Smrg	symmetry)
109464ce7165Smrg		basic_machine=i386-sequent
109564ce7165Smrg		os=-dynix
109664ce7165Smrg		;;
109764ce7165Smrg	t3e)
109864ce7165Smrg		basic_machine=alphaev5-cray
109964ce7165Smrg		os=-unicos
110064ce7165Smrg		;;
110164ce7165Smrg	t90)
110264ce7165Smrg		basic_machine=t90-cray
110364ce7165Smrg		os=-unicos
110464ce7165Smrg		;;
1105169a0819Smrg        # This must be matched before tile*.
1106169a0819Smrg        tilegx*)
1107169a0819Smrg		basic_machine=tilegx-unknown
1108169a0819Smrg		os=-linux-gnu
110964ce7165Smrg		;;
1110fb23d3a8Smrg	tile*)
1111fb23d3a8Smrg		basic_machine=tile-unknown
1112fb23d3a8Smrg		os=-linux-gnu
1113fb23d3a8Smrg		;;
111464ce7165Smrg	tx39)
111564ce7165Smrg		basic_machine=mipstx39-unknown
111664ce7165Smrg		;;
111764ce7165Smrg	tx39el)
111864ce7165Smrg		basic_machine=mipstx39el-unknown
111964ce7165Smrg		;;
112064ce7165Smrg	toad1)
112164ce7165Smrg		basic_machine=pdp10-xkl
112264ce7165Smrg		os=-tops20
112364ce7165Smrg		;;
112464ce7165Smrg	tower | tower-32)
112564ce7165Smrg		basic_machine=m68k-ncr
112664ce7165Smrg		;;
112764ce7165Smrg	tpf)
112864ce7165Smrg		basic_machine=s390x-ibm
112964ce7165Smrg		os=-tpf
113064ce7165Smrg		;;
113164ce7165Smrg	udi29k)
113264ce7165Smrg		basic_machine=a29k-amd
113364ce7165Smrg		os=-udi
113464ce7165Smrg		;;
113564ce7165Smrg	ultra3)
113664ce7165Smrg		basic_machine=a29k-nyu
113764ce7165Smrg		os=-sym1
113864ce7165Smrg		;;
113964ce7165Smrg	v810 | necv810)
114064ce7165Smrg		basic_machine=v810-nec
114164ce7165Smrg		os=-none
114264ce7165Smrg		;;
114364ce7165Smrg	vaxv)
114464ce7165Smrg		basic_machine=vax-dec
114564ce7165Smrg		os=-sysv
114664ce7165Smrg		;;
114764ce7165Smrg	vms)
114864ce7165Smrg		basic_machine=vax-dec
114964ce7165Smrg		os=-vms
115064ce7165Smrg		;;
115164ce7165Smrg	vpp*|vx|vx-*)
115264ce7165Smrg		basic_machine=f301-fujitsu
115364ce7165Smrg		;;
115464ce7165Smrg	vxworks960)
115564ce7165Smrg		basic_machine=i960-wrs
115664ce7165Smrg		os=-vxworks
115764ce7165Smrg		;;
115864ce7165Smrg	vxworks68)
115964ce7165Smrg		basic_machine=m68k-wrs
116064ce7165Smrg		os=-vxworks
116164ce7165Smrg		;;
116264ce7165Smrg	vxworks29k)
116364ce7165Smrg		basic_machine=a29k-wrs
116464ce7165Smrg		os=-vxworks
116564ce7165Smrg		;;
116664ce7165Smrg	w65*)
116764ce7165Smrg		basic_machine=w65-wdc
116864ce7165Smrg		os=-none
116964ce7165Smrg		;;
117064ce7165Smrg	w89k-*)
117164ce7165Smrg		basic_machine=hppa1.1-winbond
117264ce7165Smrg		os=-proelf
117364ce7165Smrg		;;
117464ce7165Smrg	xbox)
117564ce7165Smrg		basic_machine=i686-pc
117664ce7165Smrg		os=-mingw32
117764ce7165Smrg		;;
117864ce7165Smrg	xps | xps100)
117964ce7165Smrg		basic_machine=xps100-honeywell
118064ce7165Smrg		;;
118164ce7165Smrg	ymp)
118264ce7165Smrg		basic_machine=ymp-cray
118364ce7165Smrg		os=-unicos
118464ce7165Smrg		;;
118564ce7165Smrg	z8k-*-coff)
118664ce7165Smrg		basic_machine=z8k-unknown
118764ce7165Smrg		os=-sim
118864ce7165Smrg		;;
1189fb23d3a8Smrg	z80-*-coff)
1190fb23d3a8Smrg		basic_machine=z80-unknown
1191fb23d3a8Smrg		os=-sim
1192fb23d3a8Smrg		;;
119364ce7165Smrg	none)
119464ce7165Smrg		basic_machine=none-none
119564ce7165Smrg		os=-none
119664ce7165Smrg		;;
119764ce7165Smrg
119864ce7165Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
119964ce7165Smrg# some cases the only manufacturer, in others, it is the most popular.
120064ce7165Smrg	w89k)
120164ce7165Smrg		basic_machine=hppa1.1-winbond
120264ce7165Smrg		;;
120364ce7165Smrg	op50n)
120464ce7165Smrg		basic_machine=hppa1.1-oki
120564ce7165Smrg		;;
120664ce7165Smrg	op60c)
120764ce7165Smrg		basic_machine=hppa1.1-oki
120864ce7165Smrg		;;
120964ce7165Smrg	romp)
121064ce7165Smrg		basic_machine=romp-ibm
121164ce7165Smrg		;;
121264ce7165Smrg	mmix)
121364ce7165Smrg		basic_machine=mmix-knuth
121464ce7165Smrg		;;
121564ce7165Smrg	rs6000)
121664ce7165Smrg		basic_machine=rs6000-ibm
121764ce7165Smrg		;;
121864ce7165Smrg	vax)
121964ce7165Smrg		basic_machine=vax-dec
122064ce7165Smrg		;;
122164ce7165Smrg	pdp10)
122264ce7165Smrg		# there are many clones, so DEC is not a safe bet
122364ce7165Smrg		basic_machine=pdp10-unknown
122464ce7165Smrg		;;
122564ce7165Smrg	pdp11)
122664ce7165Smrg		basic_machine=pdp11-dec
122764ce7165Smrg		;;
122864ce7165Smrg	we32k)
122964ce7165Smrg		basic_machine=we32k-att
123064ce7165Smrg		;;
1231fb23d3a8Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
123264ce7165Smrg		basic_machine=sh-unknown
123364ce7165Smrg		;;
123464ce7165Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
123564ce7165Smrg		basic_machine=sparc-sun
123664ce7165Smrg		;;
123764ce7165Smrg	cydra)
123864ce7165Smrg		basic_machine=cydra-cydrome
123964ce7165Smrg		;;
124064ce7165Smrg	orion)
124164ce7165Smrg		basic_machine=orion-highlevel
124264ce7165Smrg		;;
124364ce7165Smrg	orion105)
124464ce7165Smrg		basic_machine=clipper-highlevel
124564ce7165Smrg		;;
124664ce7165Smrg	mac | mpw | mac-mpw)
124764ce7165Smrg		basic_machine=m68k-apple
124864ce7165Smrg		;;
124964ce7165Smrg	pmac | pmac-mpw)
125064ce7165Smrg		basic_machine=powerpc-apple
125164ce7165Smrg		;;
125264ce7165Smrg	*-unknown)
125364ce7165Smrg		# Make sure to match an already-canonicalized machine name.
125464ce7165Smrg		;;
125564ce7165Smrg	*)
125664ce7165Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
125764ce7165Smrg		exit 1
125864ce7165Smrg		;;
125964ce7165Smrgesac
126064ce7165Smrg
126164ce7165Smrg# Here we canonicalize certain aliases for manufacturers.
126264ce7165Smrgcase $basic_machine in
126364ce7165Smrg	*-digital*)
126464ce7165Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
126564ce7165Smrg		;;
126664ce7165Smrg	*-commodore*)
126764ce7165Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
126864ce7165Smrg		;;
126964ce7165Smrg	*)
127064ce7165Smrg		;;
127164ce7165Smrgesac
127264ce7165Smrg
127364ce7165Smrg# Decode manufacturer-specific aliases for certain operating systems.
127464ce7165Smrg
127564ce7165Smrgif [ x"$os" != x"" ]
127664ce7165Smrgthen
127764ce7165Smrgcase $os in
127864ce7165Smrg        # First match some system type aliases
127964ce7165Smrg        # that might get confused with valid system types.
128064ce7165Smrg	# -solaris* is a basic system type, with this one exception.
1281169a0819Smrg        -auroraux)
1282169a0819Smrg	        os=-auroraux
1283169a0819Smrg		;;
128464ce7165Smrg	-solaris1 | -solaris1.*)
128564ce7165Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
128664ce7165Smrg		;;
128764ce7165Smrg	-solaris)
128864ce7165Smrg		os=-solaris2
128964ce7165Smrg		;;
129064ce7165Smrg	-svr4*)
129164ce7165Smrg		os=-sysv4
129264ce7165Smrg		;;
129364ce7165Smrg	-unixware*)
129464ce7165Smrg		os=-sysv4.2uw
129564ce7165Smrg		;;
129664ce7165Smrg	-gnu/linux*)
129764ce7165Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
129864ce7165Smrg		;;
129964ce7165Smrg	# First accept the basic system types.
130064ce7165Smrg	# The portable systems comes first.
130164ce7165Smrg	# Each alternative MUST END IN A *, to match a version number.
130264ce7165Smrg	# -sysv* is not here because it comes later, after sysvr4.
130364ce7165Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304169a0819Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305169a0819Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306169a0819Smrg	      | -sym* | -kopensolaris* \
130764ce7165Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308fb23d3a8Smrg	      | -aos* | -aros* \
130964ce7165Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
131064ce7165Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131164ce7165Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131264ce7165Smrg	      | -openbsd* | -solidbsd* \
131364ce7165Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
131464ce7165Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
131564ce7165Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
131664ce7165Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317fb23d3a8Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
131864ce7165Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319169a0819Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320169a0819Smrg	      | -linux-newlib* | -linux-uclibc* \
132164ce7165Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
132264ce7165Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
132364ce7165Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
132464ce7165Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
132564ce7165Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
132664ce7165Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
132764ce7165Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328169a0819Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
132964ce7165Smrg	# Remember, each alternative MUST END IN *, to match a version number.
133064ce7165Smrg		;;
133164ce7165Smrg	-qnx*)
133264ce7165Smrg		case $basic_machine in
133364ce7165Smrg		    x86-* | i*86-*)
133464ce7165Smrg			;;
133564ce7165Smrg		    *)
133664ce7165Smrg			os=-nto$os
133764ce7165Smrg			;;
133864ce7165Smrg		esac
133964ce7165Smrg		;;
134064ce7165Smrg	-nto-qnx*)
134164ce7165Smrg		;;
134264ce7165Smrg	-nto*)
134364ce7165Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
134464ce7165Smrg		;;
134564ce7165Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
134664ce7165Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
134764ce7165Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
134864ce7165Smrg		;;
134964ce7165Smrg	-mac*)
135064ce7165Smrg		os=`echo $os | sed -e 's|mac|macos|'`
135164ce7165Smrg		;;
135264ce7165Smrg	-linux-dietlibc)
135364ce7165Smrg		os=-linux-dietlibc
135464ce7165Smrg		;;
135564ce7165Smrg	-linux*)
135664ce7165Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
135764ce7165Smrg		;;
135864ce7165Smrg	-sunos5*)
135964ce7165Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
136064ce7165Smrg		;;
136164ce7165Smrg	-sunos6*)
136264ce7165Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
136364ce7165Smrg		;;
136464ce7165Smrg	-opened*)
136564ce7165Smrg		os=-openedition
136664ce7165Smrg		;;
136764ce7165Smrg        -os400*)
136864ce7165Smrg		os=-os400
136964ce7165Smrg		;;
137064ce7165Smrg	-wince*)
137164ce7165Smrg		os=-wince
137264ce7165Smrg		;;
137364ce7165Smrg	-osfrose*)
137464ce7165Smrg		os=-osfrose
137564ce7165Smrg		;;
137664ce7165Smrg	-osf*)
137764ce7165Smrg		os=-osf
137864ce7165Smrg		;;
137964ce7165Smrg	-utek*)
138064ce7165Smrg		os=-bsd
138164ce7165Smrg		;;
138264ce7165Smrg	-dynix*)
138364ce7165Smrg		os=-bsd
138464ce7165Smrg		;;
138564ce7165Smrg	-acis*)
138664ce7165Smrg		os=-aos
138764ce7165Smrg		;;
138864ce7165Smrg	-atheos*)
138964ce7165Smrg		os=-atheos
139064ce7165Smrg		;;
139164ce7165Smrg	-syllable*)
139264ce7165Smrg		os=-syllable
139364ce7165Smrg		;;
139464ce7165Smrg	-386bsd)
139564ce7165Smrg		os=-bsd
139664ce7165Smrg		;;
139764ce7165Smrg	-ctix* | -uts*)
139864ce7165Smrg		os=-sysv
139964ce7165Smrg		;;
140064ce7165Smrg	-nova*)
140164ce7165Smrg		os=-rtmk-nova
140264ce7165Smrg		;;
140364ce7165Smrg	-ns2 )
140464ce7165Smrg		os=-nextstep2
140564ce7165Smrg		;;
140664ce7165Smrg	-nsk*)
140764ce7165Smrg		os=-nsk
140864ce7165Smrg		;;
140964ce7165Smrg	# Preserve the version number of sinix5.
141064ce7165Smrg	-sinix5.*)
141164ce7165Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
141264ce7165Smrg		;;
141364ce7165Smrg	-sinix*)
141464ce7165Smrg		os=-sysv4
141564ce7165Smrg		;;
141664ce7165Smrg        -tpf*)
141764ce7165Smrg		os=-tpf
141864ce7165Smrg		;;
141964ce7165Smrg	-triton*)
142064ce7165Smrg		os=-sysv3
142164ce7165Smrg		;;
142264ce7165Smrg	-oss*)
142364ce7165Smrg		os=-sysv3
142464ce7165Smrg		;;
142564ce7165Smrg	-svr4)
142664ce7165Smrg		os=-sysv4
142764ce7165Smrg		;;
142864ce7165Smrg	-svr3)
142964ce7165Smrg		os=-sysv3
143064ce7165Smrg		;;
143164ce7165Smrg	-sysvr4)
143264ce7165Smrg		os=-sysv4
143364ce7165Smrg		;;
143464ce7165Smrg	# This must come after -sysvr4.
143564ce7165Smrg	-sysv*)
143664ce7165Smrg		;;
143764ce7165Smrg	-ose*)
143864ce7165Smrg		os=-ose
143964ce7165Smrg		;;
144064ce7165Smrg	-es1800*)
144164ce7165Smrg		os=-ose
144264ce7165Smrg		;;
144364ce7165Smrg	-xenix)
144464ce7165Smrg		os=-xenix
144564ce7165Smrg		;;
144664ce7165Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144764ce7165Smrg		os=-mint
144864ce7165Smrg		;;
144964ce7165Smrg	-aros*)
145064ce7165Smrg		os=-aros
145164ce7165Smrg		;;
145264ce7165Smrg	-kaos*)
145364ce7165Smrg		os=-kaos
145464ce7165Smrg		;;
145564ce7165Smrg	-zvmoe)
145664ce7165Smrg		os=-zvmoe
145764ce7165Smrg		;;
1458fb23d3a8Smrg	-dicos*)
1459fb23d3a8Smrg		os=-dicos
1460fb23d3a8Smrg		;;
1461169a0819Smrg        -nacl*)
1462169a0819Smrg	        ;;
146364ce7165Smrg	-none)
146464ce7165Smrg		;;
146564ce7165Smrg	*)
146664ce7165Smrg		# Get rid of the `-' at the beginning of $os.
146764ce7165Smrg		os=`echo $os | sed 's/[^-]*-//'`
146864ce7165Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
146964ce7165Smrg		exit 1
147064ce7165Smrg		;;
147164ce7165Smrgesac
147264ce7165Smrgelse
147364ce7165Smrg
147464ce7165Smrg# Here we handle the default operating systems that come with various machines.
147564ce7165Smrg# The value should be what the vendor currently ships out the door with their
147664ce7165Smrg# machine or put another way, the most popular os provided with the machine.
147764ce7165Smrg
147864ce7165Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
147964ce7165Smrg# "-sun"), then you have to tell the case statement up towards the top
148064ce7165Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
148164ce7165Smrg# will signal an error saying that MANUFACTURER isn't an operating
148264ce7165Smrg# system, and we'll never get to this point.
148364ce7165Smrg
148464ce7165Smrgcase $basic_machine in
148564ce7165Smrg        score-*)
148664ce7165Smrg		os=-elf
148764ce7165Smrg		;;
148864ce7165Smrg        spu-*)
148964ce7165Smrg		os=-elf
149064ce7165Smrg		;;
149164ce7165Smrg	*-acorn)
149264ce7165Smrg		os=-riscix1.2
149364ce7165Smrg		;;
149464ce7165Smrg	arm*-rebel)
149564ce7165Smrg		os=-linux
149664ce7165Smrg		;;
149764ce7165Smrg	arm*-semi)
149864ce7165Smrg		os=-aout
149964ce7165Smrg		;;
150064ce7165Smrg        c4x-* | tic4x-*)
150164ce7165Smrg        	os=-coff
150264ce7165Smrg		;;
1503169a0819Smrg	tic54x-*)
1504169a0819Smrg		os=-coff
1505169a0819Smrg		;;
1506169a0819Smrg	tic55x-*)
1507169a0819Smrg		os=-coff
1508169a0819Smrg		;;
1509169a0819Smrg	tic6x-*)
1510169a0819Smrg		os=-coff
1511169a0819Smrg		;;
151264ce7165Smrg	# This must come before the *-dec entry.
151364ce7165Smrg	pdp10-*)
151464ce7165Smrg		os=-tops20
151564ce7165Smrg		;;
151664ce7165Smrg	pdp11-*)
151764ce7165Smrg		os=-none
151864ce7165Smrg		;;
151964ce7165Smrg	*-dec | vax-*)
152064ce7165Smrg		os=-ultrix4.2
152164ce7165Smrg		;;
152264ce7165Smrg	m68*-apollo)
152364ce7165Smrg		os=-domain
152464ce7165Smrg		;;
152564ce7165Smrg	i386-sun)
152664ce7165Smrg		os=-sunos4.0.2
152764ce7165Smrg		;;
152864ce7165Smrg	m68000-sun)
152964ce7165Smrg		os=-sunos3
153064ce7165Smrg		# This also exists in the configure program, but was not the
153164ce7165Smrg		# default.
153264ce7165Smrg		# os=-sunos4
153364ce7165Smrg		;;
153464ce7165Smrg	m68*-cisco)
153564ce7165Smrg		os=-aout
153664ce7165Smrg		;;
1537fb23d3a8Smrg        mep-*)
1538fb23d3a8Smrg		os=-elf
1539fb23d3a8Smrg		;;
154064ce7165Smrg	mips*-cisco)
154164ce7165Smrg		os=-elf
154264ce7165Smrg		;;
154364ce7165Smrg	mips*-*)
154464ce7165Smrg		os=-elf
154564ce7165Smrg		;;
154664ce7165Smrg	or32-*)
154764ce7165Smrg		os=-coff
154864ce7165Smrg		;;
154964ce7165Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
155064ce7165Smrg		os=-sysv3
155164ce7165Smrg		;;
155264ce7165Smrg	sparc-* | *-sun)
155364ce7165Smrg		os=-sunos4.1.1
155464ce7165Smrg		;;
155564ce7165Smrg	*-be)
155664ce7165Smrg		os=-beos
155764ce7165Smrg		;;
155864ce7165Smrg	*-haiku)
155964ce7165Smrg		os=-haiku
156064ce7165Smrg		;;
156164ce7165Smrg	*-ibm)
156264ce7165Smrg		os=-aix
156364ce7165Smrg		;;
156464ce7165Smrg    	*-knuth)
156564ce7165Smrg		os=-mmixware
156664ce7165Smrg		;;
156764ce7165Smrg	*-wec)
156864ce7165Smrg		os=-proelf
156964ce7165Smrg		;;
157064ce7165Smrg	*-winbond)
157164ce7165Smrg		os=-proelf
157264ce7165Smrg		;;
157364ce7165Smrg	*-oki)
157464ce7165Smrg		os=-proelf
157564ce7165Smrg		;;
157664ce7165Smrg	*-hp)
157764ce7165Smrg		os=-hpux
157864ce7165Smrg		;;
157964ce7165Smrg	*-hitachi)
158064ce7165Smrg		os=-hiux
158164ce7165Smrg		;;
158264ce7165Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
158364ce7165Smrg		os=-sysv
158464ce7165Smrg		;;
158564ce7165Smrg	*-cbm)
158664ce7165Smrg		os=-amigaos
158764ce7165Smrg		;;
158864ce7165Smrg	*-dg)
158964ce7165Smrg		os=-dgux
159064ce7165Smrg		;;
159164ce7165Smrg	*-dolphin)
159264ce7165Smrg		os=-sysv3
159364ce7165Smrg		;;
159464ce7165Smrg	m68k-ccur)
159564ce7165Smrg		os=-rtu
159664ce7165Smrg		;;
159764ce7165Smrg	m88k-omron*)
159864ce7165Smrg		os=-luna
159964ce7165Smrg		;;
160064ce7165Smrg	*-next )
160164ce7165Smrg		os=-nextstep
160264ce7165Smrg		;;
160364ce7165Smrg	*-sequent)
160464ce7165Smrg		os=-ptx
160564ce7165Smrg		;;
160664ce7165Smrg	*-crds)
160764ce7165Smrg		os=-unos
160864ce7165Smrg		;;
160964ce7165Smrg	*-ns)
161064ce7165Smrg		os=-genix
161164ce7165Smrg		;;
161264ce7165Smrg	i370-*)
161364ce7165Smrg		os=-mvs
161464ce7165Smrg		;;
161564ce7165Smrg	*-next)
161664ce7165Smrg		os=-nextstep3
161764ce7165Smrg		;;
161864ce7165Smrg	*-gould)
161964ce7165Smrg		os=-sysv
162064ce7165Smrg		;;
162164ce7165Smrg	*-highlevel)
162264ce7165Smrg		os=-bsd
162364ce7165Smrg		;;
162464ce7165Smrg	*-encore)
162564ce7165Smrg		os=-bsd
162664ce7165Smrg		;;
162764ce7165Smrg	*-sgi)
162864ce7165Smrg		os=-irix
162964ce7165Smrg		;;
163064ce7165Smrg	*-siemens)
163164ce7165Smrg		os=-sysv4
163264ce7165Smrg		;;
163364ce7165Smrg	*-masscomp)
163464ce7165Smrg		os=-rtu
163564ce7165Smrg		;;
163664ce7165Smrg	f30[01]-fujitsu | f700-fujitsu)
163764ce7165Smrg		os=-uxpv
163864ce7165Smrg		;;
163964ce7165Smrg	*-rom68k)
164064ce7165Smrg		os=-coff
164164ce7165Smrg		;;
164264ce7165Smrg	*-*bug)
164364ce7165Smrg		os=-coff
164464ce7165Smrg		;;
164564ce7165Smrg	*-apple)
164664ce7165Smrg		os=-macos
164764ce7165Smrg		;;
164864ce7165Smrg	*-atari*)
164964ce7165Smrg		os=-mint
165064ce7165Smrg		;;
165164ce7165Smrg	*)
165264ce7165Smrg		os=-none
165364ce7165Smrg		;;
165464ce7165Smrgesac
165564ce7165Smrgfi
165664ce7165Smrg
165764ce7165Smrg# Here we handle the case where we know the os, and the CPU type, but not the
165864ce7165Smrg# manufacturer.  We pick the logical manufacturer.
165964ce7165Smrgvendor=unknown
166064ce7165Smrgcase $basic_machine in
166164ce7165Smrg	*-unknown)
166264ce7165Smrg		case $os in
166364ce7165Smrg			-riscix*)
166464ce7165Smrg				vendor=acorn
166564ce7165Smrg				;;
166664ce7165Smrg			-sunos*)
166764ce7165Smrg				vendor=sun
166864ce7165Smrg				;;
1669169a0819Smrg			-cnk*|-aix*)
167064ce7165Smrg				vendor=ibm
167164ce7165Smrg				;;
167264ce7165Smrg			-beos*)
167364ce7165Smrg				vendor=be
167464ce7165Smrg				;;
167564ce7165Smrg			-hpux*)
167664ce7165Smrg				vendor=hp
167764ce7165Smrg				;;
167864ce7165Smrg			-mpeix*)
167964ce7165Smrg				vendor=hp
168064ce7165Smrg				;;
168164ce7165Smrg			-hiux*)
168264ce7165Smrg				vendor=hitachi
168364ce7165Smrg				;;
168464ce7165Smrg			-unos*)
168564ce7165Smrg				vendor=crds
168664ce7165Smrg				;;
168764ce7165Smrg			-dgux*)
168864ce7165Smrg				vendor=dg
168964ce7165Smrg				;;
169064ce7165Smrg			-luna*)
169164ce7165Smrg				vendor=omron
169264ce7165Smrg				;;
169364ce7165Smrg			-genix*)
169464ce7165Smrg				vendor=ns
169564ce7165Smrg				;;
169664ce7165Smrg			-mvs* | -opened*)
169764ce7165Smrg				vendor=ibm
169864ce7165Smrg				;;
169964ce7165Smrg			-os400*)
170064ce7165Smrg				vendor=ibm
170164ce7165Smrg				;;
170264ce7165Smrg			-ptx*)
170364ce7165Smrg				vendor=sequent
170464ce7165Smrg				;;
170564ce7165Smrg			-tpf*)
170664ce7165Smrg				vendor=ibm
170764ce7165Smrg				;;
170864ce7165Smrg			-vxsim* | -vxworks* | -windiss*)
170964ce7165Smrg				vendor=wrs
171064ce7165Smrg				;;
171164ce7165Smrg			-aux*)
171264ce7165Smrg				vendor=apple
171364ce7165Smrg				;;
171464ce7165Smrg			-hms*)
171564ce7165Smrg				vendor=hitachi
171664ce7165Smrg				;;
171764ce7165Smrg			-mpw* | -macos*)
171864ce7165Smrg				vendor=apple
171964ce7165Smrg				;;
172064ce7165Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
172164ce7165Smrg				vendor=atari
172264ce7165Smrg				;;
172364ce7165Smrg			-vos*)
172464ce7165Smrg				vendor=stratus
172564ce7165Smrg				;;
172664ce7165Smrg		esac
172764ce7165Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
172864ce7165Smrg		;;
172964ce7165Smrgesac
173064ce7165Smrg
173164ce7165Smrgecho $basic_machine$os
173264ce7165Smrgexit
173364ce7165Smrg
173464ce7165Smrg# Local variables:
173564ce7165Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
173664ce7165Smrg# time-stamp-start: "timestamp='"
173764ce7165Smrg# time-stamp-format: "%:y-%02m-%02d"
173864ce7165Smrg# time-stamp-end: "'"
173964ce7165Smrg# End:
1740