config.sub revision 0dd80ee0
117a48c7cSmrg#! /bin/sh
217a48c7cSmrg# Configuration validation subroutine script.
317a48c7cSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
40dd80ee0Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
50dd80ee0Smrg#   2011, 2012 Free Software Foundation, Inc.
617a48c7cSmrg
70dd80ee0Smrgtimestamp='2012-01-01'
817a48c7cSmrg
917a48c7cSmrg# This file is (in principle) common to ALL GNU software.
1017a48c7cSmrg# The presence of a machine in this file suggests that SOME GNU software
1117a48c7cSmrg# can handle that machine.  It does not imply ALL GNU software can.
1217a48c7cSmrg#
1317a48c7cSmrg# This file is free software; you can redistribute it and/or modify
1417a48c7cSmrg# it under the terms of the GNU General Public License as published by
1517a48c7cSmrg# the Free Software Foundation; either version 2 of the License, or
1617a48c7cSmrg# (at your option) any later version.
1717a48c7cSmrg#
1817a48c7cSmrg# This program is distributed in the hope that it will be useful,
1917a48c7cSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2017a48c7cSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2117a48c7cSmrg# GNU General Public License for more details.
2217a48c7cSmrg#
2317a48c7cSmrg# You should have received a copy of the GNU General Public License
2417a48c7cSmrg# along with this program; if not, write to the Free Software
258e0ed500Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
268e0ed500Smrg# 02110-1301, USA.
278e0ed500Smrg#
2817a48c7cSmrg# As a special exception to the GNU General Public License, if you
2917a48c7cSmrg# distribute this file as part of a program that contains a
3017a48c7cSmrg# configuration script generated by Autoconf, you may include it under
3117a48c7cSmrg# the same distribution terms that you use for the rest of that program.
3217a48c7cSmrg
338e0ed500Smrg
3417a48c7cSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
355f5b92ffSmrg# diff and a properly formatted GNU ChangeLog entry.
3617a48c7cSmrg#
3717a48c7cSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3817a48c7cSmrg# Supply the specified configuration type as an argument.
3917a48c7cSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
4017a48c7cSmrg# Otherwise, we print the canonical config type on stdout and succeed.
4117a48c7cSmrg
425f5b92ffSmrg# You can get the latest version of this script from:
435f5b92ffSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
445f5b92ffSmrg
4517a48c7cSmrg# This file is supposed to be the same for all GNU packages
4617a48c7cSmrg# and recognize all the CPU types, system types and aliases
4717a48c7cSmrg# that are meaningful with *any* GNU software.
4817a48c7cSmrg# Each package is responsible for reporting which valid configurations
4917a48c7cSmrg# it does not support.  The user should be able to distinguish
5017a48c7cSmrg# a failure to support a valid configuration from a meaningless
5117a48c7cSmrg# configuration.
5217a48c7cSmrg
5317a48c7cSmrg# The goal of this file is to map all the various variations of a given
5417a48c7cSmrg# machine specification into a single specification in the form:
5517a48c7cSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5617a48c7cSmrg# or in some cases, the newer four-part form:
5717a48c7cSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5817a48c7cSmrg# It is wrong to echo any other type of specification.
5917a48c7cSmrg
6017a48c7cSmrgme=`echo "$0" | sed -e 's,.*/,,'`
6117a48c7cSmrg
6217a48c7cSmrgusage="\
6317a48c7cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6417a48c7cSmrg       $0 [OPTION] ALIAS
6517a48c7cSmrg
6617a48c7cSmrgCanonicalize a configuration name.
6717a48c7cSmrg
6817a48c7cSmrgOperation modes:
6917a48c7cSmrg  -h, --help         print this help, then exit
7017a48c7cSmrg  -t, --time-stamp   print date of last modification, then exit
7117a48c7cSmrg  -v, --version      print version number, then exit
7217a48c7cSmrg
7317a48c7cSmrgReport bugs and patches to <config-patches@gnu.org>."
7417a48c7cSmrg
7517a48c7cSmrgversion="\
7617a48c7cSmrgGNU config.sub ($timestamp)
7717a48c7cSmrg
780dd80ee0SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
790dd80ee0Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
800dd80ee0SmrgFree Software Foundation, Inc.
8117a48c7cSmrg
8217a48c7cSmrgThis is free software; see the source for copying conditions.  There is NO
8317a48c7cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8417a48c7cSmrg
8517a48c7cSmrghelp="
8617a48c7cSmrgTry \`$me --help' for more information."
8717a48c7cSmrg
8817a48c7cSmrg# Parse command line
8917a48c7cSmrgwhile test $# -gt 0 ; do
9017a48c7cSmrg  case $1 in
9117a48c7cSmrg    --time-stamp | --time* | -t )
928e0ed500Smrg       echo "$timestamp" ; exit ;;
9317a48c7cSmrg    --version | -v )
948e0ed500Smrg       echo "$version" ; exit ;;
9517a48c7cSmrg    --help | --h* | -h )
968e0ed500Smrg       echo "$usage"; exit ;;
9717a48c7cSmrg    -- )     # Stop option processing
9817a48c7cSmrg       shift; break ;;
9917a48c7cSmrg    - )	# Use stdin as input.
10017a48c7cSmrg       break ;;
10117a48c7cSmrg    -* )
10217a48c7cSmrg       echo "$me: invalid option $1$help"
10317a48c7cSmrg       exit 1 ;;
10417a48c7cSmrg
10517a48c7cSmrg    *local*)
10617a48c7cSmrg       # First pass through any local machine types.
10717a48c7cSmrg       echo $1
1088e0ed500Smrg       exit ;;
10917a48c7cSmrg
11017a48c7cSmrg    * )
11117a48c7cSmrg       break ;;
11217a48c7cSmrg  esac
11317a48c7cSmrgdone
11417a48c7cSmrg
11517a48c7cSmrgcase $# in
11617a48c7cSmrg 0) echo "$me: missing argument$help" >&2
11717a48c7cSmrg    exit 1;;
11817a48c7cSmrg 1) ;;
11917a48c7cSmrg *) echo "$me: too many arguments$help" >&2
12017a48c7cSmrg    exit 1;;
12117a48c7cSmrgesac
12217a48c7cSmrg
12317a48c7cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12417a48c7cSmrg# Here we must recognize all the valid KERNEL-OS combinations.
12517a48c7cSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12617a48c7cSmrgcase $maybe_os in
1270dd80ee0Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1280dd80ee0Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1290dd80ee0Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1305f5b92ffSmrg  kopensolaris*-gnu* | \
1318e0ed500Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13217a48c7cSmrg    os=-$maybe_os
13317a48c7cSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13417a48c7cSmrg    ;;
13517a48c7cSmrg  *)
13617a48c7cSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13717a48c7cSmrg    if [ $basic_machine != $1 ]
13817a48c7cSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13917a48c7cSmrg    else os=; fi
14017a48c7cSmrg    ;;
14117a48c7cSmrgesac
14217a48c7cSmrg
14317a48c7cSmrg### Let's recognize common machines as not being operating systems so
14417a48c7cSmrg### that things like config.sub decstation-3100 work.  We also
14517a48c7cSmrg### recognize some manufacturers as not being operating systems, so we
14617a48c7cSmrg### can provide default operating systems below.
14717a48c7cSmrgcase $os in
14817a48c7cSmrg	-sun*os*)
14917a48c7cSmrg		# Prevent following clause from handling this invalid input.
15017a48c7cSmrg		;;
15117a48c7cSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15217a48c7cSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15317a48c7cSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15417a48c7cSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15517a48c7cSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15617a48c7cSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1575f5b92ffSmrg	-apple | -axis | -knuth | -cray | -microblaze)
15817a48c7cSmrg		os=
15917a48c7cSmrg		basic_machine=$1
16017a48c7cSmrg		;;
1610dd80ee0Smrg	-bluegene*)
1620dd80ee0Smrg		os=-cnk
1635f5b92ffSmrg		;;
16417a48c7cSmrg	-sim | -cisco | -oki | -wec | -winbond)
16517a48c7cSmrg		os=
16617a48c7cSmrg		basic_machine=$1
16717a48c7cSmrg		;;
16817a48c7cSmrg	-scout)
16917a48c7cSmrg		;;
17017a48c7cSmrg	-wrs)
17117a48c7cSmrg		os=-vxworks
17217a48c7cSmrg		basic_machine=$1
17317a48c7cSmrg		;;
17417a48c7cSmrg	-chorusos*)
17517a48c7cSmrg		os=-chorusos
17617a48c7cSmrg		basic_machine=$1
17717a48c7cSmrg		;;
1780dd80ee0Smrg	-chorusrdb)
1790dd80ee0Smrg		os=-chorusrdb
18017a48c7cSmrg		basic_machine=$1
1810dd80ee0Smrg		;;
18217a48c7cSmrg	-hiux*)
18317a48c7cSmrg		os=-hiuxwe2
18417a48c7cSmrg		;;
1858e0ed500Smrg	-sco6)
1868e0ed500Smrg		os=-sco5v6
1878e0ed500Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1888e0ed500Smrg		;;
18917a48c7cSmrg	-sco5)
19017a48c7cSmrg		os=-sco3.2v5
19117a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19217a48c7cSmrg		;;
19317a48c7cSmrg	-sco4)
19417a48c7cSmrg		os=-sco3.2v4
19517a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19617a48c7cSmrg		;;
19717a48c7cSmrg	-sco3.2.[4-9]*)
19817a48c7cSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19917a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20017a48c7cSmrg		;;
20117a48c7cSmrg	-sco3.2v[4-9]*)
20217a48c7cSmrg		# Don't forget version if it is 3.2v4 or newer.
20317a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20417a48c7cSmrg		;;
2058e0ed500Smrg	-sco5v6*)
2068e0ed500Smrg		# Don't forget version if it is 3.2v4 or newer.
2078e0ed500Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2088e0ed500Smrg		;;
20917a48c7cSmrg	-sco*)
21017a48c7cSmrg		os=-sco3.2v2
21117a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21217a48c7cSmrg		;;
21317a48c7cSmrg	-udk*)
21417a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21517a48c7cSmrg		;;
21617a48c7cSmrg	-isc)
21717a48c7cSmrg		os=-isc2.2
21817a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21917a48c7cSmrg		;;
22017a48c7cSmrg	-clix*)
22117a48c7cSmrg		basic_machine=clipper-intergraph
22217a48c7cSmrg		;;
22317a48c7cSmrg	-isc*)
22417a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22517a48c7cSmrg		;;
22617a48c7cSmrg	-lynx*)
22717a48c7cSmrg		os=-lynxos
22817a48c7cSmrg		;;
22917a48c7cSmrg	-ptx*)
23017a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
23117a48c7cSmrg		;;
23217a48c7cSmrg	-windowsnt*)
23317a48c7cSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23417a48c7cSmrg		;;
23517a48c7cSmrg	-psos*)
23617a48c7cSmrg		os=-psos
23717a48c7cSmrg		;;
23817a48c7cSmrg	-mint | -mint[0-9]*)
23917a48c7cSmrg		basic_machine=m68k-atari
24017a48c7cSmrg		os=-mint
24117a48c7cSmrg		;;
24217a48c7cSmrgesac
24317a48c7cSmrg
24417a48c7cSmrg# Decode aliases for certain CPU-COMPANY combinations.
24517a48c7cSmrgcase $basic_machine in
24617a48c7cSmrg	# Recognize the basic CPU types without company name.
24717a48c7cSmrg	# Some are omitted here because they have special meanings below.
24817a48c7cSmrg	1750a | 580 \
24917a48c7cSmrg	| a29k \
25017a48c7cSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
25117a48c7cSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2528e0ed500Smrg	| am33_2.0 \
2538e0ed500Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2540dd80ee0Smrg        | be32 | be64 \
2558e0ed500Smrg	| bfin \
25617a48c7cSmrg	| c4x | clipper \
25717a48c7cSmrg	| d10v | d30v | dlx | dsp16xx \
2580dd80ee0Smrg	| epiphany \
259fbed5abfSmrg	| fido | fr30 | frv \
26017a48c7cSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2610dd80ee0Smrg	| hexagon \
26217a48c7cSmrg	| i370 | i860 | i960 | ia64 \
2638e0ed500Smrg	| ip2k | iq2000 \
2640dd80ee0Smrg	| le32 | le64 \
2655f5b92ffSmrg	| lm32 \
2668e0ed500Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2675f5b92ffSmrg	| maxq | mb | microblaze | mcore | mep | metag \
26817a48c7cSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26917a48c7cSmrg	| mips16 \
27017a48c7cSmrg	| mips64 | mips64el \
2715f5b92ffSmrg	| mips64octeon | mips64octeonel \
27217a48c7cSmrg	| mips64orion | mips64orionel \
2735f5b92ffSmrg	| mips64r5900 | mips64r5900el \
2745f5b92ffSmrg	| mips64vr | mips64vrel \
27517a48c7cSmrg	| mips64vr4100 | mips64vr4100el \
27617a48c7cSmrg	| mips64vr4300 | mips64vr4300el \
27717a48c7cSmrg	| mips64vr5000 | mips64vr5000el \
2788e0ed500Smrg	| mips64vr5900 | mips64vr5900el \
27917a48c7cSmrg	| mipsisa32 | mipsisa32el \
28017a48c7cSmrg	| mipsisa32r2 | mipsisa32r2el \
28117a48c7cSmrg	| mipsisa64 | mipsisa64el \
2828e0ed500Smrg	| mipsisa64r2 | mipsisa64r2el \
28317a48c7cSmrg	| mipsisa64sb1 | mipsisa64sb1el \
28417a48c7cSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
28517a48c7cSmrg	| mipstx39 | mipstx39el \
28617a48c7cSmrg	| mn10200 | mn10300 \
2875f5b92ffSmrg	| moxie \
2888e0ed500Smrg	| mt \
28917a48c7cSmrg	| msp430 \
2900dd80ee0Smrg	| nds32 | nds32le | nds32be \
2918e0ed500Smrg	| nios | nios2 \
29217a48c7cSmrg	| ns16k | ns32k \
2930dd80ee0Smrg	| open8 \
2948e0ed500Smrg	| or32 \
29517a48c7cSmrg	| pdp10 | pdp11 | pj | pjl \
2960dd80ee0Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
29717a48c7cSmrg	| pyramid \
2980dd80ee0Smrg	| rl78 | rx \
2998e0ed500Smrg	| score \
3005f5b92ffSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
30117a48c7cSmrg	| sh64 | sh64le \
3028e0ed500Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3038e0ed500Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3040dd80ee0Smrg	| spu \
3050dd80ee0Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3065f5b92ffSmrg	| ubicom32 \
3070dd80ee0Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
30817a48c7cSmrg	| we32k \
3090dd80ee0Smrg	| x86 | xc16x | xstormy16 | xtensa \
3105f5b92ffSmrg	| z8k | z80)
31117a48c7cSmrg		basic_machine=$basic_machine-unknown
31217a48c7cSmrg		;;
3130dd80ee0Smrg	c54x)
3140dd80ee0Smrg		basic_machine=tic54x-unknown
3150dd80ee0Smrg		;;
3160dd80ee0Smrg	c55x)
3170dd80ee0Smrg		basic_machine=tic55x-unknown
3180dd80ee0Smrg		;;
3190dd80ee0Smrg	c6x)
3200dd80ee0Smrg		basic_machine=tic6x-unknown
3210dd80ee0Smrg		;;
3225f5b92ffSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
32317a48c7cSmrg		basic_machine=$basic_machine-unknown
32417a48c7cSmrg		os=-none
32517a48c7cSmrg		;;
32617a48c7cSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
32717a48c7cSmrg		;;
3288e0ed500Smrg	ms1)
3298e0ed500Smrg		basic_machine=mt-unknown
3308e0ed500Smrg		;;
33117a48c7cSmrg
3320dd80ee0Smrg	strongarm | thumb | xscale)
3330dd80ee0Smrg		basic_machine=arm-unknown
3340dd80ee0Smrg		;;
3350dd80ee0Smrg
3360dd80ee0Smrg	xscaleeb)
3370dd80ee0Smrg		basic_machine=armeb-unknown
3380dd80ee0Smrg		;;
3390dd80ee0Smrg
3400dd80ee0Smrg	xscaleel)
3410dd80ee0Smrg		basic_machine=armel-unknown
3420dd80ee0Smrg		;;
3430dd80ee0Smrg
34417a48c7cSmrg	# We use `pc' rather than `unknown'
34517a48c7cSmrg	# because (1) that's what they normally are, and
34617a48c7cSmrg	# (2) the word "unknown" tends to confuse beginning users.
34717a48c7cSmrg	i*86 | x86_64)
34817a48c7cSmrg	  basic_machine=$basic_machine-pc
34917a48c7cSmrg	  ;;
35017a48c7cSmrg	# Object if more than one company name word.
35117a48c7cSmrg	*-*-*)
35217a48c7cSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
35317a48c7cSmrg		exit 1
35417a48c7cSmrg		;;
35517a48c7cSmrg	# Recognize the basic CPU types with company name.
35617a48c7cSmrg	580-* \
35717a48c7cSmrg	| a29k-* \
35817a48c7cSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
35917a48c7cSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
36017a48c7cSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
36117a48c7cSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3628e0ed500Smrg	| avr-* | avr32-* \
3630dd80ee0Smrg	| be32-* | be64-* \
3648e0ed500Smrg	| bfin-* | bs2000-* \
3650dd80ee0Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3668e0ed500Smrg	| clipper-* | craynv-* | cydra-* \
36717a48c7cSmrg	| d10v-* | d30v-* | dlx-* \
36817a48c7cSmrg	| elxsi-* \
369fbed5abfSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
37017a48c7cSmrg	| h8300-* | h8500-* \
37117a48c7cSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3720dd80ee0Smrg	| hexagon-* \
37317a48c7cSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3748e0ed500Smrg	| ip2k-* | iq2000-* \
3750dd80ee0Smrg	| le32-* | le64-* \
3765f5b92ffSmrg	| lm32-* \
3778e0ed500Smrg	| m32c-* | m32r-* | m32rle-* \
37817a48c7cSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3795f5b92ffSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
38017a48c7cSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
38117a48c7cSmrg	| mips16-* \
38217a48c7cSmrg	| mips64-* | mips64el-* \
3835f5b92ffSmrg	| mips64octeon-* | mips64octeonel-* \
38417a48c7cSmrg	| mips64orion-* | mips64orionel-* \
3855f5b92ffSmrg	| mips64r5900-* | mips64r5900el-* \
3865f5b92ffSmrg	| mips64vr-* | mips64vrel-* \
38717a48c7cSmrg	| mips64vr4100-* | mips64vr4100el-* \
38817a48c7cSmrg	| mips64vr4300-* | mips64vr4300el-* \
38917a48c7cSmrg	| mips64vr5000-* | mips64vr5000el-* \
3908e0ed500Smrg	| mips64vr5900-* | mips64vr5900el-* \
39117a48c7cSmrg	| mipsisa32-* | mipsisa32el-* \
39217a48c7cSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
39317a48c7cSmrg	| mipsisa64-* | mipsisa64el-* \
3948e0ed500Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
39517a48c7cSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
39617a48c7cSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
39717a48c7cSmrg	| mipstx39-* | mipstx39el-* \
3988e0ed500Smrg	| mmix-* \
3998e0ed500Smrg	| mt-* \
40017a48c7cSmrg	| msp430-* \
4010dd80ee0Smrg	| nds32-* | nds32le-* | nds32be-* \
4028e0ed500Smrg	| nios-* | nios2-* \
4038e0ed500Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4040dd80ee0Smrg	| open8-* \
40517a48c7cSmrg	| orion-* \
40617a48c7cSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4070dd80ee0Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
40817a48c7cSmrg	| pyramid-* \
4090dd80ee0Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
4105f5b92ffSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
41117a48c7cSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4128e0ed500Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4138e0ed500Smrg	| sparclite-* \
4140dd80ee0Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4150dd80ee0Smrg	| tahoe-* \
4160dd80ee0Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4170dd80ee0Smrg	| tile*-* \
41817a48c7cSmrg	| tron-* \
4195f5b92ffSmrg	| ubicom32-* \
4200dd80ee0Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4210dd80ee0Smrg	| vax-* \
42217a48c7cSmrg	| we32k-* \
4230dd80ee0Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
424fbed5abfSmrg	| xstormy16-* | xtensa*-* \
42517a48c7cSmrg	| ymp-* \
4265f5b92ffSmrg	| z8k-* | z80-*)
42717a48c7cSmrg		;;
428fbed5abfSmrg	# Recognize the basic CPU types without company name, with glob match.
429fbed5abfSmrg	xtensa*)
430fbed5abfSmrg		basic_machine=$basic_machine-unknown
431fbed5abfSmrg		;;
43217a48c7cSmrg	# Recognize the various machine names and aliases which stand
43317a48c7cSmrg	# for a CPU type and a company and sometimes even an OS.
43417a48c7cSmrg	386bsd)
43517a48c7cSmrg		basic_machine=i386-unknown
43617a48c7cSmrg		os=-bsd
43717a48c7cSmrg		;;
43817a48c7cSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
43917a48c7cSmrg		basic_machine=m68000-att
44017a48c7cSmrg		;;
44117a48c7cSmrg	3b*)
44217a48c7cSmrg		basic_machine=we32k-att
44317a48c7cSmrg		;;
44417a48c7cSmrg	a29khif)
44517a48c7cSmrg		basic_machine=a29k-amd
44617a48c7cSmrg		os=-udi
44717a48c7cSmrg		;;
4480dd80ee0Smrg	abacus)
4498e0ed500Smrg		basic_machine=abacus-unknown
4508e0ed500Smrg		;;
45117a48c7cSmrg	adobe68k)
45217a48c7cSmrg		basic_machine=m68010-adobe
45317a48c7cSmrg		os=-scout
45417a48c7cSmrg		;;
45517a48c7cSmrg	alliant | fx80)
45617a48c7cSmrg		basic_machine=fx80-alliant
45717a48c7cSmrg		;;
45817a48c7cSmrg	altos | altos3068)
45917a48c7cSmrg		basic_machine=m68k-altos
46017a48c7cSmrg		;;
46117a48c7cSmrg	am29k)
46217a48c7cSmrg		basic_machine=a29k-none
46317a48c7cSmrg		os=-bsd
46417a48c7cSmrg		;;
46517a48c7cSmrg	amd64)
46617a48c7cSmrg		basic_machine=x86_64-pc
46717a48c7cSmrg		;;
4688e0ed500Smrg	amd64-*)
4698e0ed500Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4708e0ed500Smrg		;;
47117a48c7cSmrg	amdahl)
47217a48c7cSmrg		basic_machine=580-amdahl
47317a48c7cSmrg		os=-sysv
47417a48c7cSmrg		;;
47517a48c7cSmrg	amiga | amiga-*)
47617a48c7cSmrg		basic_machine=m68k-unknown
47717a48c7cSmrg		;;
47817a48c7cSmrg	amigaos | amigados)
47917a48c7cSmrg		basic_machine=m68k-unknown
48017a48c7cSmrg		os=-amigaos
48117a48c7cSmrg		;;
48217a48c7cSmrg	amigaunix | amix)
48317a48c7cSmrg		basic_machine=m68k-unknown
48417a48c7cSmrg		os=-sysv4
48517a48c7cSmrg		;;
48617a48c7cSmrg	apollo68)
48717a48c7cSmrg		basic_machine=m68k-apollo
48817a48c7cSmrg		os=-sysv
48917a48c7cSmrg		;;
49017a48c7cSmrg	apollo68bsd)
49117a48c7cSmrg		basic_machine=m68k-apollo
49217a48c7cSmrg		os=-bsd
49317a48c7cSmrg		;;
4945f5b92ffSmrg	aros)
4955f5b92ffSmrg		basic_machine=i386-pc
4965f5b92ffSmrg		os=-aros
4975f5b92ffSmrg		;;
49817a48c7cSmrg	aux)
49917a48c7cSmrg		basic_machine=m68k-apple
50017a48c7cSmrg		os=-aux
50117a48c7cSmrg		;;
50217a48c7cSmrg	balance)
50317a48c7cSmrg		basic_machine=ns32k-sequent
50417a48c7cSmrg		os=-dynix
50517a48c7cSmrg		;;
506fbed5abfSmrg	blackfin)
507fbed5abfSmrg		basic_machine=bfin-unknown
508fbed5abfSmrg		os=-linux
509fbed5abfSmrg		;;
510fbed5abfSmrg	blackfin-*)
511fbed5abfSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
512fbed5abfSmrg		os=-linux
513fbed5abfSmrg		;;
5145f5b92ffSmrg	bluegene*)
5155f5b92ffSmrg		basic_machine=powerpc-ibm
5165f5b92ffSmrg		os=-cnk
5175f5b92ffSmrg		;;
5180dd80ee0Smrg	c54x-*)
5190dd80ee0Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5200dd80ee0Smrg		;;
5210dd80ee0Smrg	c55x-*)
5220dd80ee0Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5230dd80ee0Smrg		;;
5240dd80ee0Smrg	c6x-*)
5250dd80ee0Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5260dd80ee0Smrg		;;
52717a48c7cSmrg	c90)
52817a48c7cSmrg		basic_machine=c90-cray
52917a48c7cSmrg		os=-unicos
53017a48c7cSmrg		;;
5310dd80ee0Smrg	cegcc)
5325f5b92ffSmrg		basic_machine=arm-unknown
5335f5b92ffSmrg		os=-cegcc
5345f5b92ffSmrg		;;
53517a48c7cSmrg	convex-c1)
53617a48c7cSmrg		basic_machine=c1-convex
53717a48c7cSmrg		os=-bsd
53817a48c7cSmrg		;;
53917a48c7cSmrg	convex-c2)
54017a48c7cSmrg		basic_machine=c2-convex
54117a48c7cSmrg		os=-bsd
54217a48c7cSmrg		;;
54317a48c7cSmrg	convex-c32)
54417a48c7cSmrg		basic_machine=c32-convex
54517a48c7cSmrg		os=-bsd
54617a48c7cSmrg		;;
54717a48c7cSmrg	convex-c34)
54817a48c7cSmrg		basic_machine=c34-convex
54917a48c7cSmrg		os=-bsd
55017a48c7cSmrg		;;
55117a48c7cSmrg	convex-c38)
55217a48c7cSmrg		basic_machine=c38-convex
55317a48c7cSmrg		os=-bsd
55417a48c7cSmrg		;;
55517a48c7cSmrg	cray | j90)
55617a48c7cSmrg		basic_machine=j90-cray
55717a48c7cSmrg		os=-unicos
55817a48c7cSmrg		;;
5598e0ed500Smrg	craynv)
5608e0ed500Smrg		basic_machine=craynv-cray
5618e0ed500Smrg		os=-unicosmp
5628e0ed500Smrg		;;
5630dd80ee0Smrg	cr16 | cr16-*)
564fbed5abfSmrg		basic_machine=cr16-unknown
5658e0ed500Smrg		os=-elf
5668e0ed500Smrg		;;
56717a48c7cSmrg	crds | unos)
56817a48c7cSmrg		basic_machine=m68k-crds
56917a48c7cSmrg		;;
5708e0ed500Smrg	crisv32 | crisv32-* | etraxfs*)
5718e0ed500Smrg		basic_machine=crisv32-axis
5728e0ed500Smrg		;;
57317a48c7cSmrg	cris | cris-* | etrax*)
57417a48c7cSmrg		basic_machine=cris-axis
57517a48c7cSmrg		;;
5768e0ed500Smrg	crx)
5778e0ed500Smrg		basic_machine=crx-unknown
5788e0ed500Smrg		os=-elf
5798e0ed500Smrg		;;
58017a48c7cSmrg	da30 | da30-*)
58117a48c7cSmrg		basic_machine=m68k-da30
58217a48c7cSmrg		;;
58317a48c7cSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
58417a48c7cSmrg		basic_machine=mips-dec
58517a48c7cSmrg		;;
58617a48c7cSmrg	decsystem10* | dec10*)
58717a48c7cSmrg		basic_machine=pdp10-dec
58817a48c7cSmrg		os=-tops10
58917a48c7cSmrg		;;
59017a48c7cSmrg	decsystem20* | dec20*)
59117a48c7cSmrg		basic_machine=pdp10-dec
59217a48c7cSmrg		os=-tops20
59317a48c7cSmrg		;;
59417a48c7cSmrg	delta | 3300 | motorola-3300 | motorola-delta \
59517a48c7cSmrg	      | 3300-motorola | delta-motorola)
59617a48c7cSmrg		basic_machine=m68k-motorola
59717a48c7cSmrg		;;
59817a48c7cSmrg	delta88)
59917a48c7cSmrg		basic_machine=m88k-motorola
60017a48c7cSmrg		os=-sysv3
60117a48c7cSmrg		;;
6025f5b92ffSmrg	dicos)
6035f5b92ffSmrg		basic_machine=i686-pc
6045f5b92ffSmrg		os=-dicos
6055f5b92ffSmrg		;;
6068e0ed500Smrg	djgpp)
6078e0ed500Smrg		basic_machine=i586-pc
6088e0ed500Smrg		os=-msdosdjgpp
6098e0ed500Smrg		;;
61017a48c7cSmrg	dpx20 | dpx20-*)
61117a48c7cSmrg		basic_machine=rs6000-bull
61217a48c7cSmrg		os=-bosx
61317a48c7cSmrg		;;
61417a48c7cSmrg	dpx2* | dpx2*-bull)
61517a48c7cSmrg		basic_machine=m68k-bull
61617a48c7cSmrg		os=-sysv3
61717a48c7cSmrg		;;
61817a48c7cSmrg	ebmon29k)
61917a48c7cSmrg		basic_machine=a29k-amd
62017a48c7cSmrg		os=-ebmon
62117a48c7cSmrg		;;
62217a48c7cSmrg	elxsi)
62317a48c7cSmrg		basic_machine=elxsi-elxsi
62417a48c7cSmrg		os=-bsd
62517a48c7cSmrg		;;
62617a48c7cSmrg	encore | umax | mmax)
62717a48c7cSmrg		basic_machine=ns32k-encore
62817a48c7cSmrg		;;
62917a48c7cSmrg	es1800 | OSE68k | ose68k | ose | OSE)
63017a48c7cSmrg		basic_machine=m68k-ericsson
63117a48c7cSmrg		os=-ose
63217a48c7cSmrg		;;
63317a48c7cSmrg	fx2800)
63417a48c7cSmrg		basic_machine=i860-alliant
63517a48c7cSmrg		;;
63617a48c7cSmrg	genix)
63717a48c7cSmrg		basic_machine=ns32k-ns
63817a48c7cSmrg		;;
63917a48c7cSmrg	gmicro)
64017a48c7cSmrg		basic_machine=tron-gmicro
64117a48c7cSmrg		os=-sysv
64217a48c7cSmrg		;;
64317a48c7cSmrg	go32)
64417a48c7cSmrg		basic_machine=i386-pc
64517a48c7cSmrg		os=-go32
64617a48c7cSmrg		;;
64717a48c7cSmrg	h3050r* | hiux*)
64817a48c7cSmrg		basic_machine=hppa1.1-hitachi
64917a48c7cSmrg		os=-hiuxwe2
65017a48c7cSmrg		;;
65117a48c7cSmrg	h8300hms)
65217a48c7cSmrg		basic_machine=h8300-hitachi
65317a48c7cSmrg		os=-hms
65417a48c7cSmrg		;;
65517a48c7cSmrg	h8300xray)
65617a48c7cSmrg		basic_machine=h8300-hitachi
65717a48c7cSmrg		os=-xray
65817a48c7cSmrg		;;
65917a48c7cSmrg	h8500hms)
66017a48c7cSmrg		basic_machine=h8500-hitachi
66117a48c7cSmrg		os=-hms
66217a48c7cSmrg		;;
66317a48c7cSmrg	harris)
66417a48c7cSmrg		basic_machine=m88k-harris
66517a48c7cSmrg		os=-sysv3
66617a48c7cSmrg		;;
66717a48c7cSmrg	hp300-*)
66817a48c7cSmrg		basic_machine=m68k-hp
66917a48c7cSmrg		;;
67017a48c7cSmrg	hp300bsd)
67117a48c7cSmrg		basic_machine=m68k-hp
67217a48c7cSmrg		os=-bsd
67317a48c7cSmrg		;;
67417a48c7cSmrg	hp300hpux)
67517a48c7cSmrg		basic_machine=m68k-hp
67617a48c7cSmrg		os=-hpux
67717a48c7cSmrg		;;
67817a48c7cSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
67917a48c7cSmrg		basic_machine=hppa1.0-hp
68017a48c7cSmrg		;;
68117a48c7cSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
68217a48c7cSmrg		basic_machine=m68000-hp
68317a48c7cSmrg		;;
68417a48c7cSmrg	hp9k3[2-9][0-9])
68517a48c7cSmrg		basic_machine=m68k-hp
68617a48c7cSmrg		;;
68717a48c7cSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
68817a48c7cSmrg		basic_machine=hppa1.0-hp
68917a48c7cSmrg		;;
69017a48c7cSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
69117a48c7cSmrg		basic_machine=hppa1.1-hp
69217a48c7cSmrg		;;
69317a48c7cSmrg	hp9k78[0-9] | hp78[0-9])
69417a48c7cSmrg		# FIXME: really hppa2.0-hp
69517a48c7cSmrg		basic_machine=hppa1.1-hp
69617a48c7cSmrg		;;
69717a48c7cSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
69817a48c7cSmrg		# FIXME: really hppa2.0-hp
69917a48c7cSmrg		basic_machine=hppa1.1-hp
70017a48c7cSmrg		;;
70117a48c7cSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
70217a48c7cSmrg		basic_machine=hppa1.1-hp
70317a48c7cSmrg		;;
70417a48c7cSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
70517a48c7cSmrg		basic_machine=hppa1.0-hp
70617a48c7cSmrg		;;
70717a48c7cSmrg	hppa-next)
70817a48c7cSmrg		os=-nextstep3
70917a48c7cSmrg		;;
71017a48c7cSmrg	hppaosf)
71117a48c7cSmrg		basic_machine=hppa1.1-hp
71217a48c7cSmrg		os=-osf
71317a48c7cSmrg		;;
71417a48c7cSmrg	hppro)
71517a48c7cSmrg		basic_machine=hppa1.1-hp
71617a48c7cSmrg		os=-proelf
71717a48c7cSmrg		;;
71817a48c7cSmrg	i370-ibm* | ibm*)
71917a48c7cSmrg		basic_machine=i370-ibm
72017a48c7cSmrg		;;
72117a48c7cSmrg	i*86v32)
72217a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72317a48c7cSmrg		os=-sysv32
72417a48c7cSmrg		;;
72517a48c7cSmrg	i*86v4*)
72617a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
72717a48c7cSmrg		os=-sysv4
72817a48c7cSmrg		;;
72917a48c7cSmrg	i*86v)
73017a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73117a48c7cSmrg		os=-sysv
73217a48c7cSmrg		;;
73317a48c7cSmrg	i*86sol2)
73417a48c7cSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
73517a48c7cSmrg		os=-solaris2
73617a48c7cSmrg		;;
73717a48c7cSmrg	i386mach)
73817a48c7cSmrg		basic_machine=i386-mach
73917a48c7cSmrg		os=-mach
74017a48c7cSmrg		;;
74117a48c7cSmrg	i386-vsta | vsta)
74217a48c7cSmrg		basic_machine=i386-unknown
74317a48c7cSmrg		os=-vsta
74417a48c7cSmrg		;;
74517a48c7cSmrg	iris | iris4d)
74617a48c7cSmrg		basic_machine=mips-sgi
74717a48c7cSmrg		case $os in
74817a48c7cSmrg		    -irix*)
74917a48c7cSmrg			;;
75017a48c7cSmrg		    *)
75117a48c7cSmrg			os=-irix4
75217a48c7cSmrg			;;
75317a48c7cSmrg		esac
75417a48c7cSmrg		;;
75517a48c7cSmrg	isi68 | isi)
75617a48c7cSmrg		basic_machine=m68k-isi
75717a48c7cSmrg		os=-sysv
75817a48c7cSmrg		;;
759fbed5abfSmrg	m68knommu)
760fbed5abfSmrg		basic_machine=m68k-unknown
761fbed5abfSmrg		os=-linux
762fbed5abfSmrg		;;
763fbed5abfSmrg	m68knommu-*)
764fbed5abfSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
765fbed5abfSmrg		os=-linux
766fbed5abfSmrg		;;
76717a48c7cSmrg	m88k-omron*)
76817a48c7cSmrg		basic_machine=m88k-omron
76917a48c7cSmrg		;;
77017a48c7cSmrg	magnum | m3230)
77117a48c7cSmrg		basic_machine=mips-mips
77217a48c7cSmrg		os=-sysv
77317a48c7cSmrg		;;
77417a48c7cSmrg	merlin)
77517a48c7cSmrg		basic_machine=ns32k-utek
77617a48c7cSmrg		os=-sysv
77717a48c7cSmrg		;;
7780dd80ee0Smrg	microblaze)
7795f5b92ffSmrg		basic_machine=microblaze-xilinx
7805f5b92ffSmrg		;;
78117a48c7cSmrg	mingw32)
78217a48c7cSmrg		basic_machine=i386-pc
78317a48c7cSmrg		os=-mingw32
78417a48c7cSmrg		;;
785fbed5abfSmrg	mingw32ce)
786fbed5abfSmrg		basic_machine=arm-unknown
787fbed5abfSmrg		os=-mingw32ce
788fbed5abfSmrg		;;
78917a48c7cSmrg	miniframe)
79017a48c7cSmrg		basic_machine=m68000-convergent
79117a48c7cSmrg		;;
79217a48c7cSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
79317a48c7cSmrg		basic_machine=m68k-atari
79417a48c7cSmrg		os=-mint
79517a48c7cSmrg		;;
79617a48c7cSmrg	mips3*-*)
79717a48c7cSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
79817a48c7cSmrg		;;
79917a48c7cSmrg	mips3*)
80017a48c7cSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
80117a48c7cSmrg		;;
80217a48c7cSmrg	monitor)
80317a48c7cSmrg		basic_machine=m68k-rom68k
80417a48c7cSmrg		os=-coff
80517a48c7cSmrg		;;
80617a48c7cSmrg	morphos)
80717a48c7cSmrg		basic_machine=powerpc-unknown
80817a48c7cSmrg		os=-morphos
80917a48c7cSmrg		;;
81017a48c7cSmrg	msdos)
81117a48c7cSmrg		basic_machine=i386-pc
81217a48c7cSmrg		os=-msdos
81317a48c7cSmrg		;;
8148e0ed500Smrg	ms1-*)
8158e0ed500Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8168e0ed500Smrg		;;
8170dd80ee0Smrg	msys)
8180dd80ee0Smrg		basic_machine=i386-pc
8190dd80ee0Smrg		os=-msys
8200dd80ee0Smrg		;;
82117a48c7cSmrg	mvs)
82217a48c7cSmrg		basic_machine=i370-ibm
82317a48c7cSmrg		os=-mvs
82417a48c7cSmrg		;;
8250dd80ee0Smrg	nacl)
8260dd80ee0Smrg		basic_machine=le32-unknown
8270dd80ee0Smrg		os=-nacl
8280dd80ee0Smrg		;;
82917a48c7cSmrg	ncr3000)
83017a48c7cSmrg		basic_machine=i486-ncr
83117a48c7cSmrg		os=-sysv4
83217a48c7cSmrg		;;
83317a48c7cSmrg	netbsd386)
83417a48c7cSmrg		basic_machine=i386-unknown
83517a48c7cSmrg		os=-netbsd
83617a48c7cSmrg		;;
83717a48c7cSmrg	netwinder)
83817a48c7cSmrg		basic_machine=armv4l-rebel
83917a48c7cSmrg		os=-linux
84017a48c7cSmrg		;;
84117a48c7cSmrg	news | news700 | news800 | news900)
84217a48c7cSmrg		basic_machine=m68k-sony
84317a48c7cSmrg		os=-newsos
84417a48c7cSmrg		;;
84517a48c7cSmrg	news1000)
84617a48c7cSmrg		basic_machine=m68030-sony
84717a48c7cSmrg		os=-newsos
84817a48c7cSmrg		;;
84917a48c7cSmrg	news-3600 | risc-news)
85017a48c7cSmrg		basic_machine=mips-sony
85117a48c7cSmrg		os=-newsos
85217a48c7cSmrg		;;
85317a48c7cSmrg	necv70)
85417a48c7cSmrg		basic_machine=v70-nec
85517a48c7cSmrg		os=-sysv
85617a48c7cSmrg		;;
85717a48c7cSmrg	next | m*-next )
85817a48c7cSmrg		basic_machine=m68k-next
85917a48c7cSmrg		case $os in
86017a48c7cSmrg		    -nextstep* )
86117a48c7cSmrg			;;
86217a48c7cSmrg		    -ns2*)
86317a48c7cSmrg		      os=-nextstep2
86417a48c7cSmrg			;;
86517a48c7cSmrg		    *)
86617a48c7cSmrg		      os=-nextstep3
86717a48c7cSmrg			;;
86817a48c7cSmrg		esac
86917a48c7cSmrg		;;
87017a48c7cSmrg	nh3000)
87117a48c7cSmrg		basic_machine=m68k-harris
87217a48c7cSmrg		os=-cxux
87317a48c7cSmrg		;;
87417a48c7cSmrg	nh[45]000)
87517a48c7cSmrg		basic_machine=m88k-harris
87617a48c7cSmrg		os=-cxux
87717a48c7cSmrg		;;
87817a48c7cSmrg	nindy960)
87917a48c7cSmrg		basic_machine=i960-intel
88017a48c7cSmrg		os=-nindy
88117a48c7cSmrg		;;
88217a48c7cSmrg	mon960)
88317a48c7cSmrg		basic_machine=i960-intel
88417a48c7cSmrg		os=-mon960
88517a48c7cSmrg		;;
88617a48c7cSmrg	nonstopux)
88717a48c7cSmrg		basic_machine=mips-compaq
88817a48c7cSmrg		os=-nonstopux
88917a48c7cSmrg		;;
89017a48c7cSmrg	np1)
89117a48c7cSmrg		basic_machine=np1-gould
89217a48c7cSmrg		;;
8930dd80ee0Smrg	neo-tandem)
8940dd80ee0Smrg		basic_machine=neo-tandem
8950dd80ee0Smrg		;;
8960dd80ee0Smrg	nse-tandem)
8970dd80ee0Smrg		basic_machine=nse-tandem
8980dd80ee0Smrg		;;
89917a48c7cSmrg	nsr-tandem)
90017a48c7cSmrg		basic_machine=nsr-tandem
90117a48c7cSmrg		;;
90217a48c7cSmrg	op50n-* | op60c-*)
90317a48c7cSmrg		basic_machine=hppa1.1-oki
90417a48c7cSmrg		os=-proelf
90517a48c7cSmrg		;;
9068e0ed500Smrg	openrisc | openrisc-*)
90717a48c7cSmrg		basic_machine=or32-unknown
9088e0ed500Smrg		;;
9098e0ed500Smrg	os400)
9108e0ed500Smrg		basic_machine=powerpc-ibm
9118e0ed500Smrg		os=-os400
91217a48c7cSmrg		;;
91317a48c7cSmrg	OSE68000 | ose68000)
91417a48c7cSmrg		basic_machine=m68000-ericsson
91517a48c7cSmrg		os=-ose
91617a48c7cSmrg		;;
91717a48c7cSmrg	os68k)
91817a48c7cSmrg		basic_machine=m68k-none
91917a48c7cSmrg		os=-os68k
92017a48c7cSmrg		;;
92117a48c7cSmrg	pa-hitachi)
92217a48c7cSmrg		basic_machine=hppa1.1-hitachi
92317a48c7cSmrg		os=-hiuxwe2
92417a48c7cSmrg		;;
92517a48c7cSmrg	paragon)
92617a48c7cSmrg		basic_machine=i860-intel
92717a48c7cSmrg		os=-osf
92817a48c7cSmrg		;;
929fbed5abfSmrg	parisc)
930fbed5abfSmrg		basic_machine=hppa-unknown
931fbed5abfSmrg		os=-linux
932fbed5abfSmrg		;;
933fbed5abfSmrg	parisc-*)
934fbed5abfSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
935fbed5abfSmrg		os=-linux
936fbed5abfSmrg		;;
93717a48c7cSmrg	pbd)
93817a48c7cSmrg		basic_machine=sparc-tti
93917a48c7cSmrg		;;
94017a48c7cSmrg	pbb)
94117a48c7cSmrg		basic_machine=m68k-tti
94217a48c7cSmrg		;;
94317a48c7cSmrg	pc532 | pc532-*)
94417a48c7cSmrg		basic_machine=ns32k-pc532
94517a48c7cSmrg		;;
9468e0ed500Smrg	pc98)
9478e0ed500Smrg		basic_machine=i386-pc
9488e0ed500Smrg		;;
9498e0ed500Smrg	pc98-*)
9508e0ed500Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9518e0ed500Smrg		;;
95217a48c7cSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
95317a48c7cSmrg		basic_machine=i586-pc
95417a48c7cSmrg		;;
95517a48c7cSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
95617a48c7cSmrg		basic_machine=i686-pc
95717a48c7cSmrg		;;
95817a48c7cSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
95917a48c7cSmrg		basic_machine=i686-pc
96017a48c7cSmrg		;;
96117a48c7cSmrg	pentium4)
96217a48c7cSmrg		basic_machine=i786-pc
96317a48c7cSmrg		;;
96417a48c7cSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
96517a48c7cSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
96617a48c7cSmrg		;;
96717a48c7cSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
96817a48c7cSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
96917a48c7cSmrg		;;
97017a48c7cSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
97117a48c7cSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
97217a48c7cSmrg		;;
97317a48c7cSmrg	pentium4-*)
97417a48c7cSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
97517a48c7cSmrg		;;
97617a48c7cSmrg	pn)
97717a48c7cSmrg		basic_machine=pn-gould
97817a48c7cSmrg		;;
97917a48c7cSmrg	power)	basic_machine=power-ibm
98017a48c7cSmrg		;;
9810dd80ee0Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
98217a48c7cSmrg		;;
9830dd80ee0Smrg	ppc-* | ppcbe-*)
9840dd80ee0Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
98517a48c7cSmrg		;;
98617a48c7cSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
98717a48c7cSmrg		basic_machine=powerpcle-unknown
98817a48c7cSmrg		;;
98917a48c7cSmrg	ppcle-* | powerpclittle-*)
99017a48c7cSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
99117a48c7cSmrg		;;
99217a48c7cSmrg	ppc64)	basic_machine=powerpc64-unknown
99317a48c7cSmrg		;;
99417a48c7cSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
99517a48c7cSmrg		;;
99617a48c7cSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
99717a48c7cSmrg		basic_machine=powerpc64le-unknown
99817a48c7cSmrg		;;
99917a48c7cSmrg	ppc64le-* | powerpc64little-*)
100017a48c7cSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
100117a48c7cSmrg		;;
100217a48c7cSmrg	ps2)
100317a48c7cSmrg		basic_machine=i386-ibm
100417a48c7cSmrg		;;
100517a48c7cSmrg	pw32)
100617a48c7cSmrg		basic_machine=i586-unknown
100717a48c7cSmrg		os=-pw32
100817a48c7cSmrg		;;
10098e0ed500Smrg	rdos)
10108e0ed500Smrg		basic_machine=i386-pc
10118e0ed500Smrg		os=-rdos
10128e0ed500Smrg		;;
101317a48c7cSmrg	rom68k)
101417a48c7cSmrg		basic_machine=m68k-rom68k
101517a48c7cSmrg		os=-coff
101617a48c7cSmrg		;;
101717a48c7cSmrg	rm[46]00)
101817a48c7cSmrg		basic_machine=mips-siemens
101917a48c7cSmrg		;;
102017a48c7cSmrg	rtpc | rtpc-*)
102117a48c7cSmrg		basic_machine=romp-ibm
102217a48c7cSmrg		;;
10238e0ed500Smrg	s390 | s390-*)
10248e0ed500Smrg		basic_machine=s390-ibm
10258e0ed500Smrg		;;
10268e0ed500Smrg	s390x | s390x-*)
10278e0ed500Smrg		basic_machine=s390x-ibm
10288e0ed500Smrg		;;
102917a48c7cSmrg	sa29200)
103017a48c7cSmrg		basic_machine=a29k-amd
103117a48c7cSmrg		os=-udi
103217a48c7cSmrg		;;
103317a48c7cSmrg	sb1)
103417a48c7cSmrg		basic_machine=mipsisa64sb1-unknown
103517a48c7cSmrg		;;
103617a48c7cSmrg	sb1el)
103717a48c7cSmrg		basic_machine=mipsisa64sb1el-unknown
103817a48c7cSmrg		;;
10398e0ed500Smrg	sde)
10408e0ed500Smrg		basic_machine=mipsisa32-sde
10418e0ed500Smrg		os=-elf
10428e0ed500Smrg		;;
104317a48c7cSmrg	sei)
104417a48c7cSmrg		basic_machine=mips-sei
104517a48c7cSmrg		os=-seiux
104617a48c7cSmrg		;;
104717a48c7cSmrg	sequent)
104817a48c7cSmrg		basic_machine=i386-sequent
104917a48c7cSmrg		;;
105017a48c7cSmrg	sh)
105117a48c7cSmrg		basic_machine=sh-hitachi
105217a48c7cSmrg		os=-hms
105317a48c7cSmrg		;;
1054fbed5abfSmrg	sh5el)
1055fbed5abfSmrg		basic_machine=sh5le-unknown
1056fbed5abfSmrg		;;
105717a48c7cSmrg	sh64)
105817a48c7cSmrg		basic_machine=sh64-unknown
105917a48c7cSmrg		;;
106017a48c7cSmrg	sparclite-wrs | simso-wrs)
106117a48c7cSmrg		basic_machine=sparclite-wrs
106217a48c7cSmrg		os=-vxworks
106317a48c7cSmrg		;;
106417a48c7cSmrg	sps7)
106517a48c7cSmrg		basic_machine=m68k-bull
106617a48c7cSmrg		os=-sysv2
106717a48c7cSmrg		;;
106817a48c7cSmrg	spur)
106917a48c7cSmrg		basic_machine=spur-unknown
107017a48c7cSmrg		;;
107117a48c7cSmrg	st2000)
107217a48c7cSmrg		basic_machine=m68k-tandem
107317a48c7cSmrg		;;
107417a48c7cSmrg	stratus)
107517a48c7cSmrg		basic_machine=i860-stratus
107617a48c7cSmrg		os=-sysv4
107717a48c7cSmrg		;;
10780dd80ee0Smrg	strongarm-* | thumb-*)
10790dd80ee0Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10800dd80ee0Smrg		;;
108117a48c7cSmrg	sun2)
108217a48c7cSmrg		basic_machine=m68000-sun
108317a48c7cSmrg		;;
108417a48c7cSmrg	sun2os3)
108517a48c7cSmrg		basic_machine=m68000-sun
108617a48c7cSmrg		os=-sunos3
108717a48c7cSmrg		;;
108817a48c7cSmrg	sun2os4)
108917a48c7cSmrg		basic_machine=m68000-sun
109017a48c7cSmrg		os=-sunos4
109117a48c7cSmrg		;;
109217a48c7cSmrg	sun3os3)
109317a48c7cSmrg		basic_machine=m68k-sun
109417a48c7cSmrg		os=-sunos3
109517a48c7cSmrg		;;
109617a48c7cSmrg	sun3os4)
109717a48c7cSmrg		basic_machine=m68k-sun
109817a48c7cSmrg		os=-sunos4
109917a48c7cSmrg		;;
110017a48c7cSmrg	sun4os3)
110117a48c7cSmrg		basic_machine=sparc-sun
110217a48c7cSmrg		os=-sunos3
110317a48c7cSmrg		;;
110417a48c7cSmrg	sun4os4)
110517a48c7cSmrg		basic_machine=sparc-sun
110617a48c7cSmrg		os=-sunos4
110717a48c7cSmrg		;;
110817a48c7cSmrg	sun4sol2)
110917a48c7cSmrg		basic_machine=sparc-sun
111017a48c7cSmrg		os=-solaris2
111117a48c7cSmrg		;;
111217a48c7cSmrg	sun3 | sun3-*)
111317a48c7cSmrg		basic_machine=m68k-sun
111417a48c7cSmrg		;;
111517a48c7cSmrg	sun4)
111617a48c7cSmrg		basic_machine=sparc-sun
111717a48c7cSmrg		;;
111817a48c7cSmrg	sun386 | sun386i | roadrunner)
111917a48c7cSmrg		basic_machine=i386-sun
112017a48c7cSmrg		;;
112117a48c7cSmrg	sv1)
112217a48c7cSmrg		basic_machine=sv1-cray
112317a48c7cSmrg		os=-unicos
112417a48c7cSmrg		;;
112517a48c7cSmrg	symmetry)
112617a48c7cSmrg		basic_machine=i386-sequent
112717a48c7cSmrg		os=-dynix
112817a48c7cSmrg		;;
112917a48c7cSmrg	t3e)
113017a48c7cSmrg		basic_machine=alphaev5-cray
113117a48c7cSmrg		os=-unicos
113217a48c7cSmrg		;;
113317a48c7cSmrg	t90)
113417a48c7cSmrg		basic_machine=t90-cray
113517a48c7cSmrg		os=-unicos
113617a48c7cSmrg		;;
1137fbed5abfSmrg	tile*)
11380dd80ee0Smrg		basic_machine=$basic_machine-unknown
1139fbed5abfSmrg		os=-linux-gnu
1140fbed5abfSmrg		;;
114117a48c7cSmrg	tx39)
114217a48c7cSmrg		basic_machine=mipstx39-unknown
114317a48c7cSmrg		;;
114417a48c7cSmrg	tx39el)
114517a48c7cSmrg		basic_machine=mipstx39el-unknown
114617a48c7cSmrg		;;
114717a48c7cSmrg	toad1)
114817a48c7cSmrg		basic_machine=pdp10-xkl
114917a48c7cSmrg		os=-tops20
115017a48c7cSmrg		;;
115117a48c7cSmrg	tower | tower-32)
115217a48c7cSmrg		basic_machine=m68k-ncr
115317a48c7cSmrg		;;
11548e0ed500Smrg	tpf)
11558e0ed500Smrg		basic_machine=s390x-ibm
11568e0ed500Smrg		os=-tpf
11578e0ed500Smrg		;;
115817a48c7cSmrg	udi29k)
115917a48c7cSmrg		basic_machine=a29k-amd
116017a48c7cSmrg		os=-udi
116117a48c7cSmrg		;;
116217a48c7cSmrg	ultra3)
116317a48c7cSmrg		basic_machine=a29k-nyu
116417a48c7cSmrg		os=-sym1
116517a48c7cSmrg		;;
116617a48c7cSmrg	v810 | necv810)
116717a48c7cSmrg		basic_machine=v810-nec
116817a48c7cSmrg		os=-none
116917a48c7cSmrg		;;
117017a48c7cSmrg	vaxv)
117117a48c7cSmrg		basic_machine=vax-dec
117217a48c7cSmrg		os=-sysv
117317a48c7cSmrg		;;
117417a48c7cSmrg	vms)
117517a48c7cSmrg		basic_machine=vax-dec
117617a48c7cSmrg		os=-vms
117717a48c7cSmrg		;;
117817a48c7cSmrg	vpp*|vx|vx-*)
117917a48c7cSmrg		basic_machine=f301-fujitsu
118017a48c7cSmrg		;;
118117a48c7cSmrg	vxworks960)
118217a48c7cSmrg		basic_machine=i960-wrs
118317a48c7cSmrg		os=-vxworks
118417a48c7cSmrg		;;
118517a48c7cSmrg	vxworks68)
118617a48c7cSmrg		basic_machine=m68k-wrs
118717a48c7cSmrg		os=-vxworks
118817a48c7cSmrg		;;
118917a48c7cSmrg	vxworks29k)
119017a48c7cSmrg		basic_machine=a29k-wrs
119117a48c7cSmrg		os=-vxworks
119217a48c7cSmrg		;;
119317a48c7cSmrg	w65*)
119417a48c7cSmrg		basic_machine=w65-wdc
119517a48c7cSmrg		os=-none
119617a48c7cSmrg		;;
119717a48c7cSmrg	w89k-*)
119817a48c7cSmrg		basic_machine=hppa1.1-winbond
119917a48c7cSmrg		os=-proelf
120017a48c7cSmrg		;;
12018e0ed500Smrg	xbox)
12028e0ed500Smrg		basic_machine=i686-pc
12038e0ed500Smrg		os=-mingw32
12048e0ed500Smrg		;;
120517a48c7cSmrg	xps | xps100)
120617a48c7cSmrg		basic_machine=xps100-honeywell
120717a48c7cSmrg		;;
12080dd80ee0Smrg	xscale-* | xscalee[bl]-*)
12090dd80ee0Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12100dd80ee0Smrg		;;
121117a48c7cSmrg	ymp)
121217a48c7cSmrg		basic_machine=ymp-cray
121317a48c7cSmrg		os=-unicos
121417a48c7cSmrg		;;
121517a48c7cSmrg	z8k-*-coff)
121617a48c7cSmrg		basic_machine=z8k-unknown
121717a48c7cSmrg		os=-sim
121817a48c7cSmrg		;;
12195f5b92ffSmrg	z80-*-coff)
12205f5b92ffSmrg		basic_machine=z80-unknown
12215f5b92ffSmrg		os=-sim
12225f5b92ffSmrg		;;
122317a48c7cSmrg	none)
122417a48c7cSmrg		basic_machine=none-none
122517a48c7cSmrg		os=-none
122617a48c7cSmrg		;;
122717a48c7cSmrg
122817a48c7cSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
122917a48c7cSmrg# some cases the only manufacturer, in others, it is the most popular.
123017a48c7cSmrg	w89k)
123117a48c7cSmrg		basic_machine=hppa1.1-winbond
123217a48c7cSmrg		;;
123317a48c7cSmrg	op50n)
123417a48c7cSmrg		basic_machine=hppa1.1-oki
123517a48c7cSmrg		;;
123617a48c7cSmrg	op60c)
123717a48c7cSmrg		basic_machine=hppa1.1-oki
123817a48c7cSmrg		;;
123917a48c7cSmrg	romp)
124017a48c7cSmrg		basic_machine=romp-ibm
124117a48c7cSmrg		;;
12428e0ed500Smrg	mmix)
12438e0ed500Smrg		basic_machine=mmix-knuth
12448e0ed500Smrg		;;
124517a48c7cSmrg	rs6000)
124617a48c7cSmrg		basic_machine=rs6000-ibm
124717a48c7cSmrg		;;
124817a48c7cSmrg	vax)
124917a48c7cSmrg		basic_machine=vax-dec
125017a48c7cSmrg		;;
125117a48c7cSmrg	pdp10)
125217a48c7cSmrg		# there are many clones, so DEC is not a safe bet
125317a48c7cSmrg		basic_machine=pdp10-unknown
125417a48c7cSmrg		;;
125517a48c7cSmrg	pdp11)
125617a48c7cSmrg		basic_machine=pdp11-dec
125717a48c7cSmrg		;;
125817a48c7cSmrg	we32k)
125917a48c7cSmrg		basic_machine=we32k-att
126017a48c7cSmrg		;;
12615f5b92ffSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
126217a48c7cSmrg		basic_machine=sh-unknown
126317a48c7cSmrg		;;
12648e0ed500Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
126517a48c7cSmrg		basic_machine=sparc-sun
126617a48c7cSmrg		;;
126717a48c7cSmrg	cydra)
126817a48c7cSmrg		basic_machine=cydra-cydrome
126917a48c7cSmrg		;;
127017a48c7cSmrg	orion)
127117a48c7cSmrg		basic_machine=orion-highlevel
127217a48c7cSmrg		;;
127317a48c7cSmrg	orion105)
127417a48c7cSmrg		basic_machine=clipper-highlevel
127517a48c7cSmrg		;;
127617a48c7cSmrg	mac | mpw | mac-mpw)
127717a48c7cSmrg		basic_machine=m68k-apple
127817a48c7cSmrg		;;
127917a48c7cSmrg	pmac | pmac-mpw)
128017a48c7cSmrg		basic_machine=powerpc-apple
128117a48c7cSmrg		;;
128217a48c7cSmrg	*-unknown)
128317a48c7cSmrg		# Make sure to match an already-canonicalized machine name.
128417a48c7cSmrg		;;
128517a48c7cSmrg	*)
128617a48c7cSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
128717a48c7cSmrg		exit 1
128817a48c7cSmrg		;;
128917a48c7cSmrgesac
129017a48c7cSmrg
129117a48c7cSmrg# Here we canonicalize certain aliases for manufacturers.
129217a48c7cSmrgcase $basic_machine in
129317a48c7cSmrg	*-digital*)
129417a48c7cSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
129517a48c7cSmrg		;;
129617a48c7cSmrg	*-commodore*)
129717a48c7cSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
129817a48c7cSmrg		;;
129917a48c7cSmrg	*)
130017a48c7cSmrg		;;
130117a48c7cSmrgesac
130217a48c7cSmrg
130317a48c7cSmrg# Decode manufacturer-specific aliases for certain operating systems.
130417a48c7cSmrg
130517a48c7cSmrgif [ x"$os" != x"" ]
130617a48c7cSmrgthen
130717a48c7cSmrgcase $os in
13080dd80ee0Smrg	# First match some system type aliases
13090dd80ee0Smrg	# that might get confused with valid system types.
131017a48c7cSmrg	# -solaris* is a basic system type, with this one exception.
13110dd80ee0Smrg	-auroraux)
13120dd80ee0Smrg		os=-auroraux
13135f5b92ffSmrg		;;
131417a48c7cSmrg	-solaris1 | -solaris1.*)
131517a48c7cSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
131617a48c7cSmrg		;;
131717a48c7cSmrg	-solaris)
131817a48c7cSmrg		os=-solaris2
131917a48c7cSmrg		;;
132017a48c7cSmrg	-svr4*)
132117a48c7cSmrg		os=-sysv4
132217a48c7cSmrg		;;
132317a48c7cSmrg	-unixware*)
132417a48c7cSmrg		os=-sysv4.2uw
132517a48c7cSmrg		;;
132617a48c7cSmrg	-gnu/linux*)
132717a48c7cSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
132817a48c7cSmrg		;;
132917a48c7cSmrg	# First accept the basic system types.
133017a48c7cSmrg	# The portable systems comes first.
133117a48c7cSmrg	# Each alternative MUST END IN A *, to match a version number.
133217a48c7cSmrg	# -sysv* is not here because it comes later, after sysvr4.
133317a48c7cSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13345f5b92ffSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13355f5b92ffSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13365f5b92ffSmrg	      | -sym* | -kopensolaris* \
133717a48c7cSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13385f5b92ffSmrg	      | -aos* | -aros* \
133917a48c7cSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
134017a48c7cSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13418e0ed500Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13428e0ed500Smrg	      | -openbsd* | -solidbsd* \
13438e0ed500Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13448e0ed500Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
134517a48c7cSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
134617a48c7cSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13475f5b92ffSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13480dd80ee0Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13490dd80ee0Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13500dd80ee0Smrg	      | -linux-newlib* | -linux-uclibc* \
13518e0ed500Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
135217a48c7cSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
135317a48c7cSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
135417a48c7cSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
135517a48c7cSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
135617a48c7cSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13578e0ed500Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13585f5b92ffSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
135917a48c7cSmrg	# Remember, each alternative MUST END IN *, to match a version number.
136017a48c7cSmrg		;;
136117a48c7cSmrg	-qnx*)
136217a48c7cSmrg		case $basic_machine in
136317a48c7cSmrg		    x86-* | i*86-*)
136417a48c7cSmrg			;;
136517a48c7cSmrg		    *)
136617a48c7cSmrg			os=-nto$os
136717a48c7cSmrg			;;
136817a48c7cSmrg		esac
136917a48c7cSmrg		;;
137017a48c7cSmrg	-nto-qnx*)
137117a48c7cSmrg		;;
137217a48c7cSmrg	-nto*)
137317a48c7cSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
137417a48c7cSmrg		;;
137517a48c7cSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13768e0ed500Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
137717a48c7cSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
137817a48c7cSmrg		;;
137917a48c7cSmrg	-mac*)
138017a48c7cSmrg		os=`echo $os | sed -e 's|mac|macos|'`
138117a48c7cSmrg		;;
13828e0ed500Smrg	-linux-dietlibc)
13838e0ed500Smrg		os=-linux-dietlibc
13848e0ed500Smrg		;;
138517a48c7cSmrg	-linux*)
138617a48c7cSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
138717a48c7cSmrg		;;
138817a48c7cSmrg	-sunos5*)
138917a48c7cSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
139017a48c7cSmrg		;;
139117a48c7cSmrg	-sunos6*)
139217a48c7cSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
139317a48c7cSmrg		;;
139417a48c7cSmrg	-opened*)
139517a48c7cSmrg		os=-openedition
139617a48c7cSmrg		;;
13970dd80ee0Smrg	-os400*)
13988e0ed500Smrg		os=-os400
13998e0ed500Smrg		;;
140017a48c7cSmrg	-wince*)
140117a48c7cSmrg		os=-wince
140217a48c7cSmrg		;;
140317a48c7cSmrg	-osfrose*)
140417a48c7cSmrg		os=-osfrose
140517a48c7cSmrg		;;
140617a48c7cSmrg	-osf*)
140717a48c7cSmrg		os=-osf
140817a48c7cSmrg		;;
140917a48c7cSmrg	-utek*)
141017a48c7cSmrg		os=-bsd
141117a48c7cSmrg		;;
141217a48c7cSmrg	-dynix*)
141317a48c7cSmrg		os=-bsd
141417a48c7cSmrg		;;
141517a48c7cSmrg	-acis*)
141617a48c7cSmrg		os=-aos
141717a48c7cSmrg		;;
141817a48c7cSmrg	-atheos*)
141917a48c7cSmrg		os=-atheos
142017a48c7cSmrg		;;
14218e0ed500Smrg	-syllable*)
14228e0ed500Smrg		os=-syllable
14238e0ed500Smrg		;;
142417a48c7cSmrg	-386bsd)
142517a48c7cSmrg		os=-bsd
142617a48c7cSmrg		;;
142717a48c7cSmrg	-ctix* | -uts*)
142817a48c7cSmrg		os=-sysv
142917a48c7cSmrg		;;
143017a48c7cSmrg	-nova*)
143117a48c7cSmrg		os=-rtmk-nova
143217a48c7cSmrg		;;
143317a48c7cSmrg	-ns2 )
143417a48c7cSmrg		os=-nextstep2
143517a48c7cSmrg		;;
143617a48c7cSmrg	-nsk*)
143717a48c7cSmrg		os=-nsk
143817a48c7cSmrg		;;
143917a48c7cSmrg	# Preserve the version number of sinix5.
144017a48c7cSmrg	-sinix5.*)
144117a48c7cSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
144217a48c7cSmrg		;;
144317a48c7cSmrg	-sinix*)
144417a48c7cSmrg		os=-sysv4
144517a48c7cSmrg		;;
14460dd80ee0Smrg	-tpf*)
14478e0ed500Smrg		os=-tpf
14488e0ed500Smrg		;;
144917a48c7cSmrg	-triton*)
145017a48c7cSmrg		os=-sysv3
145117a48c7cSmrg		;;
145217a48c7cSmrg	-oss*)
145317a48c7cSmrg		os=-sysv3
145417a48c7cSmrg		;;
145517a48c7cSmrg	-svr4)
145617a48c7cSmrg		os=-sysv4
145717a48c7cSmrg		;;
145817a48c7cSmrg	-svr3)
145917a48c7cSmrg		os=-sysv3
146017a48c7cSmrg		;;
146117a48c7cSmrg	-sysvr4)
146217a48c7cSmrg		os=-sysv4
146317a48c7cSmrg		;;
146417a48c7cSmrg	# This must come after -sysvr4.
146517a48c7cSmrg	-sysv*)
146617a48c7cSmrg		;;
146717a48c7cSmrg	-ose*)
146817a48c7cSmrg		os=-ose
146917a48c7cSmrg		;;
147017a48c7cSmrg	-es1800*)
147117a48c7cSmrg		os=-ose
147217a48c7cSmrg		;;
147317a48c7cSmrg	-xenix)
147417a48c7cSmrg		os=-xenix
147517a48c7cSmrg		;;
147617a48c7cSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
147717a48c7cSmrg		os=-mint
147817a48c7cSmrg		;;
147917a48c7cSmrg	-aros*)
148017a48c7cSmrg		os=-aros
148117a48c7cSmrg		;;
148217a48c7cSmrg	-kaos*)
148317a48c7cSmrg		os=-kaos
148417a48c7cSmrg		;;
14858e0ed500Smrg	-zvmoe)
14868e0ed500Smrg		os=-zvmoe
14878e0ed500Smrg		;;
14885f5b92ffSmrg	-dicos*)
14895f5b92ffSmrg		os=-dicos
14905f5b92ffSmrg		;;
14910dd80ee0Smrg	-nacl*)
14920dd80ee0Smrg		;;
149317a48c7cSmrg	-none)
149417a48c7cSmrg		;;
149517a48c7cSmrg	*)
149617a48c7cSmrg		# Get rid of the `-' at the beginning of $os.
149717a48c7cSmrg		os=`echo $os | sed 's/[^-]*-//'`
149817a48c7cSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
149917a48c7cSmrg		exit 1
150017a48c7cSmrg		;;
150117a48c7cSmrgesac
150217a48c7cSmrgelse
150317a48c7cSmrg
150417a48c7cSmrg# Here we handle the default operating systems that come with various machines.
150517a48c7cSmrg# The value should be what the vendor currently ships out the door with their
150617a48c7cSmrg# machine or put another way, the most popular os provided with the machine.
150717a48c7cSmrg
150817a48c7cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
150917a48c7cSmrg# "-sun"), then you have to tell the case statement up towards the top
151017a48c7cSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
151117a48c7cSmrg# will signal an error saying that MANUFACTURER isn't an operating
151217a48c7cSmrg# system, and we'll never get to this point.
151317a48c7cSmrg
151417a48c7cSmrgcase $basic_machine in
15150dd80ee0Smrg	score-*)
15168e0ed500Smrg		os=-elf
15178e0ed500Smrg		;;
15180dd80ee0Smrg	spu-*)
15198e0ed500Smrg		os=-elf
15208e0ed500Smrg		;;
152117a48c7cSmrg	*-acorn)
152217a48c7cSmrg		os=-riscix1.2
152317a48c7cSmrg		;;
152417a48c7cSmrg	arm*-rebel)
152517a48c7cSmrg		os=-linux
152617a48c7cSmrg		;;
152717a48c7cSmrg	arm*-semi)
152817a48c7cSmrg		os=-aout
152917a48c7cSmrg		;;
15300dd80ee0Smrg	c4x-* | tic4x-*)
15310dd80ee0Smrg		os=-coff
15320dd80ee0Smrg		;;
15330dd80ee0Smrg	tic54x-*)
15340dd80ee0Smrg		os=-coff
15350dd80ee0Smrg		;;
15360dd80ee0Smrg	tic55x-*)
15370dd80ee0Smrg		os=-coff
15380dd80ee0Smrg		;;
15390dd80ee0Smrg	tic6x-*)
15400dd80ee0Smrg		os=-coff
154117a48c7cSmrg		;;
154217a48c7cSmrg	# This must come before the *-dec entry.
154317a48c7cSmrg	pdp10-*)
154417a48c7cSmrg		os=-tops20
154517a48c7cSmrg		;;
154617a48c7cSmrg	pdp11-*)
154717a48c7cSmrg		os=-none
154817a48c7cSmrg		;;
154917a48c7cSmrg	*-dec | vax-*)
155017a48c7cSmrg		os=-ultrix4.2
155117a48c7cSmrg		;;
155217a48c7cSmrg	m68*-apollo)
155317a48c7cSmrg		os=-domain
155417a48c7cSmrg		;;
155517a48c7cSmrg	i386-sun)
155617a48c7cSmrg		os=-sunos4.0.2
155717a48c7cSmrg		;;
155817a48c7cSmrg	m68000-sun)
155917a48c7cSmrg		os=-sunos3
156017a48c7cSmrg		;;
156117a48c7cSmrg	m68*-cisco)
156217a48c7cSmrg		os=-aout
156317a48c7cSmrg		;;
15640dd80ee0Smrg	mep-*)
1565fbed5abfSmrg		os=-elf
1566fbed5abfSmrg		;;
156717a48c7cSmrg	mips*-cisco)
156817a48c7cSmrg		os=-elf
156917a48c7cSmrg		;;
157017a48c7cSmrg	mips*-*)
157117a48c7cSmrg		os=-elf
157217a48c7cSmrg		;;
157317a48c7cSmrg	or32-*)
157417a48c7cSmrg		os=-coff
157517a48c7cSmrg		;;
157617a48c7cSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
157717a48c7cSmrg		os=-sysv3
157817a48c7cSmrg		;;
157917a48c7cSmrg	sparc-* | *-sun)
158017a48c7cSmrg		os=-sunos4.1.1
158117a48c7cSmrg		;;
158217a48c7cSmrg	*-be)
158317a48c7cSmrg		os=-beos
158417a48c7cSmrg		;;
15858e0ed500Smrg	*-haiku)
15868e0ed500Smrg		os=-haiku
15878e0ed500Smrg		;;
158817a48c7cSmrg	*-ibm)
158917a48c7cSmrg		os=-aix
159017a48c7cSmrg		;;
15910dd80ee0Smrg	*-knuth)
15928e0ed500Smrg		os=-mmixware
15938e0ed500Smrg		;;
159417a48c7cSmrg	*-wec)
159517a48c7cSmrg		os=-proelf
159617a48c7cSmrg		;;
159717a48c7cSmrg	*-winbond)
159817a48c7cSmrg		os=-proelf
159917a48c7cSmrg		;;
160017a48c7cSmrg	*-oki)
160117a48c7cSmrg		os=-proelf
160217a48c7cSmrg		;;
160317a48c7cSmrg	*-hp)
160417a48c7cSmrg		os=-hpux
160517a48c7cSmrg		;;
160617a48c7cSmrg	*-hitachi)
160717a48c7cSmrg		os=-hiux
160817a48c7cSmrg		;;
160917a48c7cSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
161017a48c7cSmrg		os=-sysv
161117a48c7cSmrg		;;
161217a48c7cSmrg	*-cbm)
161317a48c7cSmrg		os=-amigaos
161417a48c7cSmrg		;;
161517a48c7cSmrg	*-dg)
161617a48c7cSmrg		os=-dgux
161717a48c7cSmrg		;;
161817a48c7cSmrg	*-dolphin)
161917a48c7cSmrg		os=-sysv3
162017a48c7cSmrg		;;
162117a48c7cSmrg	m68k-ccur)
162217a48c7cSmrg		os=-rtu
162317a48c7cSmrg		;;
162417a48c7cSmrg	m88k-omron*)
162517a48c7cSmrg		os=-luna
162617a48c7cSmrg		;;
162717a48c7cSmrg	*-next )
162817a48c7cSmrg		os=-nextstep
162917a48c7cSmrg		;;
163017a48c7cSmrg	*-sequent)
163117a48c7cSmrg		os=-ptx
163217a48c7cSmrg		;;
163317a48c7cSmrg	*-crds)
163417a48c7cSmrg		os=-unos
163517a48c7cSmrg		;;
163617a48c7cSmrg	*-ns)
163717a48c7cSmrg		os=-genix
163817a48c7cSmrg		;;
163917a48c7cSmrg	i370-*)
164017a48c7cSmrg		os=-mvs
164117a48c7cSmrg		;;
164217a48c7cSmrg	*-next)
164317a48c7cSmrg		os=-nextstep3
164417a48c7cSmrg		;;
164517a48c7cSmrg	*-gould)
164617a48c7cSmrg		os=-sysv
164717a48c7cSmrg		;;
164817a48c7cSmrg	*-highlevel)
164917a48c7cSmrg		os=-bsd
165017a48c7cSmrg		;;
165117a48c7cSmrg	*-encore)
165217a48c7cSmrg		os=-bsd
165317a48c7cSmrg		;;
165417a48c7cSmrg	*-sgi)
165517a48c7cSmrg		os=-irix
165617a48c7cSmrg		;;
165717a48c7cSmrg	*-siemens)
165817a48c7cSmrg		os=-sysv4
165917a48c7cSmrg		;;
166017a48c7cSmrg	*-masscomp)
166117a48c7cSmrg		os=-rtu
166217a48c7cSmrg		;;
166317a48c7cSmrg	f30[01]-fujitsu | f700-fujitsu)
166417a48c7cSmrg		os=-uxpv
166517a48c7cSmrg		;;
166617a48c7cSmrg	*-rom68k)
166717a48c7cSmrg		os=-coff
166817a48c7cSmrg		;;
166917a48c7cSmrg	*-*bug)
167017a48c7cSmrg		os=-coff
167117a48c7cSmrg		;;
167217a48c7cSmrg	*-apple)
167317a48c7cSmrg		os=-macos
167417a48c7cSmrg		;;
167517a48c7cSmrg	*-atari*)
167617a48c7cSmrg		os=-mint
167717a48c7cSmrg		;;
167817a48c7cSmrg	*)
167917a48c7cSmrg		os=-none
168017a48c7cSmrg		;;
168117a48c7cSmrgesac
168217a48c7cSmrgfi
168317a48c7cSmrg
168417a48c7cSmrg# Here we handle the case where we know the os, and the CPU type, but not the
168517a48c7cSmrg# manufacturer.  We pick the logical manufacturer.
168617a48c7cSmrgvendor=unknown
168717a48c7cSmrgcase $basic_machine in
168817a48c7cSmrg	*-unknown)
168917a48c7cSmrg		case $os in
169017a48c7cSmrg			-riscix*)
169117a48c7cSmrg				vendor=acorn
169217a48c7cSmrg				;;
169317a48c7cSmrg			-sunos*)
169417a48c7cSmrg				vendor=sun
169517a48c7cSmrg				;;
16965f5b92ffSmrg			-cnk*|-aix*)
169717a48c7cSmrg				vendor=ibm
169817a48c7cSmrg				;;
169917a48c7cSmrg			-beos*)
170017a48c7cSmrg				vendor=be
170117a48c7cSmrg				;;
170217a48c7cSmrg			-hpux*)
170317a48c7cSmrg				vendor=hp
170417a48c7cSmrg				;;
170517a48c7cSmrg			-mpeix*)
170617a48c7cSmrg				vendor=hp
170717a48c7cSmrg				;;
170817a48c7cSmrg			-hiux*)
170917a48c7cSmrg				vendor=hitachi
171017a48c7cSmrg				;;
171117a48c7cSmrg			-unos*)
171217a48c7cSmrg				vendor=crds
171317a48c7cSmrg				;;
171417a48c7cSmrg			-dgux*)
171517a48c7cSmrg				vendor=dg
171617a48c7cSmrg				;;
171717a48c7cSmrg			-luna*)
171817a48c7cSmrg				vendor=omron
171917a48c7cSmrg				;;
172017a48c7cSmrg			-genix*)
172117a48c7cSmrg				vendor=ns
172217a48c7cSmrg				;;
172317a48c7cSmrg			-mvs* | -opened*)
172417a48c7cSmrg				vendor=ibm
172517a48c7cSmrg				;;
17268e0ed500Smrg			-os400*)
17278e0ed500Smrg				vendor=ibm
17288e0ed500Smrg				;;
172917a48c7cSmrg			-ptx*)
173017a48c7cSmrg				vendor=sequent
173117a48c7cSmrg				;;
17328e0ed500Smrg			-tpf*)
17338e0ed500Smrg				vendor=ibm
17348e0ed500Smrg				;;
173517a48c7cSmrg			-vxsim* | -vxworks* | -windiss*)
173617a48c7cSmrg				vendor=wrs
173717a48c7cSmrg				;;
173817a48c7cSmrg			-aux*)
173917a48c7cSmrg				vendor=apple
174017a48c7cSmrg				;;
174117a48c7cSmrg			-hms*)
174217a48c7cSmrg				vendor=hitachi
174317a48c7cSmrg				;;
174417a48c7cSmrg			-mpw* | -macos*)
174517a48c7cSmrg				vendor=apple
174617a48c7cSmrg				;;
174717a48c7cSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
174817a48c7cSmrg				vendor=atari
174917a48c7cSmrg				;;
175017a48c7cSmrg			-vos*)
175117a48c7cSmrg				vendor=stratus
175217a48c7cSmrg				;;
175317a48c7cSmrg		esac
175417a48c7cSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
175517a48c7cSmrg		;;
175617a48c7cSmrgesac
175717a48c7cSmrg
175817a48c7cSmrgecho $basic_machine$os
17598e0ed500Smrgexit
176017a48c7cSmrg
176117a48c7cSmrg# Local variables:
176217a48c7cSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
176317a48c7cSmrg# time-stamp-start: "timestamp='"
176417a48c7cSmrg# time-stamp-format: "%:y-%02m-%02d"
176517a48c7cSmrg# time-stamp-end: "'"
176617a48c7cSmrg# End:
1767