config.sub revision 11245024
141b2f0bdSmrg#! /bin/sh
241b2f0bdSmrg# Configuration validation subroutine script.
341b2f0bdSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
411245024Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
511245024Smrg#   Free Software Foundation, Inc.
641b2f0bdSmrg
711245024Smrgtimestamp='2008-01-16'
841b2f0bdSmrg
941b2f0bdSmrg# This file is (in principle) common to ALL GNU software.
1041b2f0bdSmrg# The presence of a machine in this file suggests that SOME GNU software
1141b2f0bdSmrg# can handle that machine.  It does not imply ALL GNU software can.
1241b2f0bdSmrg#
1341b2f0bdSmrg# This file is free software; you can redistribute it and/or modify
1441b2f0bdSmrg# it under the terms of the GNU General Public License as published by
1541b2f0bdSmrg# the Free Software Foundation; either version 2 of the License, or
1641b2f0bdSmrg# (at your option) any later version.
1741b2f0bdSmrg#
1841b2f0bdSmrg# This program is distributed in the hope that it will be useful,
1941b2f0bdSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2041b2f0bdSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2141b2f0bdSmrg# GNU General Public License for more details.
2241b2f0bdSmrg#
2341b2f0bdSmrg# You should have received a copy of the GNU General Public License
2441b2f0bdSmrg# along with this program; if not, write to the Free Software
2511245024Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
2611245024Smrg# 02110-1301, USA.
2711245024Smrg#
2841b2f0bdSmrg# As a special exception to the GNU General Public License, if you
2941b2f0bdSmrg# distribute this file as part of a program that contains a
3041b2f0bdSmrg# configuration script generated by Autoconf, you may include it under
3141b2f0bdSmrg# the same distribution terms that you use for the rest of that program.
3241b2f0bdSmrg
3311245024Smrg
3441b2f0bdSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3541b2f0bdSmrg# diff and a properly formatted ChangeLog entry.
3641b2f0bdSmrg#
3741b2f0bdSmrg# Configuration subroutine to validate and canonicalize a configuration type.
3841b2f0bdSmrg# Supply the specified configuration type as an argument.
3941b2f0bdSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
4041b2f0bdSmrg# Otherwise, we print the canonical config type on stdout and succeed.
4141b2f0bdSmrg
4241b2f0bdSmrg# This file is supposed to be the same for all GNU packages
4341b2f0bdSmrg# and recognize all the CPU types, system types and aliases
4441b2f0bdSmrg# that are meaningful with *any* GNU software.
4541b2f0bdSmrg# Each package is responsible for reporting which valid configurations
4641b2f0bdSmrg# it does not support.  The user should be able to distinguish
4741b2f0bdSmrg# a failure to support a valid configuration from a meaningless
4841b2f0bdSmrg# configuration.
4941b2f0bdSmrg
5041b2f0bdSmrg# The goal of this file is to map all the various variations of a given
5141b2f0bdSmrg# machine specification into a single specification in the form:
5241b2f0bdSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5341b2f0bdSmrg# or in some cases, the newer four-part form:
5441b2f0bdSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5541b2f0bdSmrg# It is wrong to echo any other type of specification.
5641b2f0bdSmrg
5741b2f0bdSmrgme=`echo "$0" | sed -e 's,.*/,,'`
5841b2f0bdSmrg
5941b2f0bdSmrgusage="\
6041b2f0bdSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6141b2f0bdSmrg       $0 [OPTION] ALIAS
6241b2f0bdSmrg
6341b2f0bdSmrgCanonicalize a configuration name.
6441b2f0bdSmrg
6541b2f0bdSmrgOperation modes:
6641b2f0bdSmrg  -h, --help         print this help, then exit
6741b2f0bdSmrg  -t, --time-stamp   print date of last modification, then exit
6841b2f0bdSmrg  -v, --version      print version number, then exit
6941b2f0bdSmrg
7041b2f0bdSmrgReport bugs and patches to <config-patches@gnu.org>."
7141b2f0bdSmrg
7241b2f0bdSmrgversion="\
7341b2f0bdSmrgGNU config.sub ($timestamp)
7441b2f0bdSmrg
7511245024SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
7611245024Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
7741b2f0bdSmrg
7841b2f0bdSmrgThis is free software; see the source for copying conditions.  There is NO
7941b2f0bdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8041b2f0bdSmrg
8141b2f0bdSmrghelp="
8241b2f0bdSmrgTry \`$me --help' for more information."
8341b2f0bdSmrg
8441b2f0bdSmrg# Parse command line
8541b2f0bdSmrgwhile test $# -gt 0 ; do
8641b2f0bdSmrg  case $1 in
8741b2f0bdSmrg    --time-stamp | --time* | -t )
8811245024Smrg       echo "$timestamp" ; exit ;;
8941b2f0bdSmrg    --version | -v )
9011245024Smrg       echo "$version" ; exit ;;
9141b2f0bdSmrg    --help | --h* | -h )
9211245024Smrg       echo "$usage"; exit ;;
9341b2f0bdSmrg    -- )     # Stop option processing
9441b2f0bdSmrg       shift; break ;;
9541b2f0bdSmrg    - )	# Use stdin as input.
9641b2f0bdSmrg       break ;;
9741b2f0bdSmrg    -* )
9841b2f0bdSmrg       echo "$me: invalid option $1$help"
9941b2f0bdSmrg       exit 1 ;;
10041b2f0bdSmrg
10141b2f0bdSmrg    *local*)
10241b2f0bdSmrg       # First pass through any local machine types.
10341b2f0bdSmrg       echo $1
10411245024Smrg       exit ;;
10541b2f0bdSmrg
10641b2f0bdSmrg    * )
10741b2f0bdSmrg       break ;;
10841b2f0bdSmrg  esac
10941b2f0bdSmrgdone
11041b2f0bdSmrg
11141b2f0bdSmrgcase $# in
11241b2f0bdSmrg 0) echo "$me: missing argument$help" >&2
11341b2f0bdSmrg    exit 1;;
11441b2f0bdSmrg 1) ;;
11541b2f0bdSmrg *) echo "$me: too many arguments$help" >&2
11641b2f0bdSmrg    exit 1;;
11741b2f0bdSmrgesac
11841b2f0bdSmrg
11941b2f0bdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12041b2f0bdSmrg# Here we must recognize all the valid KERNEL-OS combinations.
12141b2f0bdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12241b2f0bdSmrgcase $maybe_os in
12311245024Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
12411245024Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
12511245024Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
12641b2f0bdSmrg    os=-$maybe_os
12741b2f0bdSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12841b2f0bdSmrg    ;;
12941b2f0bdSmrg  *)
13041b2f0bdSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13141b2f0bdSmrg    if [ $basic_machine != $1 ]
13241b2f0bdSmrg    then os=`echo $1 | sed 's/.*-/-/'`
13341b2f0bdSmrg    else os=; fi
13441b2f0bdSmrg    ;;
13541b2f0bdSmrgesac
13641b2f0bdSmrg
13741b2f0bdSmrg### Let's recognize common machines as not being operating systems so
13841b2f0bdSmrg### that things like config.sub decstation-3100 work.  We also
13941b2f0bdSmrg### recognize some manufacturers as not being operating systems, so we
14041b2f0bdSmrg### can provide default operating systems below.
14141b2f0bdSmrgcase $os in
14241b2f0bdSmrg	-sun*os*)
14341b2f0bdSmrg		# Prevent following clause from handling this invalid input.
14441b2f0bdSmrg		;;
14541b2f0bdSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14641b2f0bdSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14741b2f0bdSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14841b2f0bdSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14941b2f0bdSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15041b2f0bdSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15111245024Smrg	-apple | -axis | -knuth | -cray)
15241b2f0bdSmrg		os=
15341b2f0bdSmrg		basic_machine=$1
15441b2f0bdSmrg		;;
15541b2f0bdSmrg	-sim | -cisco | -oki | -wec | -winbond)
15641b2f0bdSmrg		os=
15741b2f0bdSmrg		basic_machine=$1
15841b2f0bdSmrg		;;
15941b2f0bdSmrg	-scout)
16041b2f0bdSmrg		;;
16141b2f0bdSmrg	-wrs)
16241b2f0bdSmrg		os=-vxworks
16341b2f0bdSmrg		basic_machine=$1
16441b2f0bdSmrg		;;
16541b2f0bdSmrg	-chorusos*)
16641b2f0bdSmrg		os=-chorusos
16741b2f0bdSmrg		basic_machine=$1
16841b2f0bdSmrg		;;
16941b2f0bdSmrg 	-chorusrdb)
17041b2f0bdSmrg 		os=-chorusrdb
17141b2f0bdSmrg		basic_machine=$1
17241b2f0bdSmrg 		;;
17341b2f0bdSmrg	-hiux*)
17441b2f0bdSmrg		os=-hiuxwe2
17541b2f0bdSmrg		;;
17611245024Smrg	-sco6)
17711245024Smrg		os=-sco5v6
17811245024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17911245024Smrg		;;
18041b2f0bdSmrg	-sco5)
18141b2f0bdSmrg		os=-sco3.2v5
18241b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18341b2f0bdSmrg		;;
18441b2f0bdSmrg	-sco4)
18541b2f0bdSmrg		os=-sco3.2v4
18641b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18741b2f0bdSmrg		;;
18841b2f0bdSmrg	-sco3.2.[4-9]*)
18941b2f0bdSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19041b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19141b2f0bdSmrg		;;
19241b2f0bdSmrg	-sco3.2v[4-9]*)
19341b2f0bdSmrg		# Don't forget version if it is 3.2v4 or newer.
19441b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19541b2f0bdSmrg		;;
19611245024Smrg	-sco5v6*)
19711245024Smrg		# Don't forget version if it is 3.2v4 or newer.
19811245024Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19911245024Smrg		;;
20041b2f0bdSmrg	-sco*)
20141b2f0bdSmrg		os=-sco3.2v2
20241b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20341b2f0bdSmrg		;;
20441b2f0bdSmrg	-udk*)
20541b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20641b2f0bdSmrg		;;
20741b2f0bdSmrg	-isc)
20841b2f0bdSmrg		os=-isc2.2
20941b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21041b2f0bdSmrg		;;
21141b2f0bdSmrg	-clix*)
21241b2f0bdSmrg		basic_machine=clipper-intergraph
21341b2f0bdSmrg		;;
21441b2f0bdSmrg	-isc*)
21541b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21641b2f0bdSmrg		;;
21741b2f0bdSmrg	-lynx*)
21841b2f0bdSmrg		os=-lynxos
21941b2f0bdSmrg		;;
22041b2f0bdSmrg	-ptx*)
22141b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
22241b2f0bdSmrg		;;
22341b2f0bdSmrg	-windowsnt*)
22441b2f0bdSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
22541b2f0bdSmrg		;;
22641b2f0bdSmrg	-psos*)
22741b2f0bdSmrg		os=-psos
22841b2f0bdSmrg		;;
22941b2f0bdSmrg	-mint | -mint[0-9]*)
23041b2f0bdSmrg		basic_machine=m68k-atari
23141b2f0bdSmrg		os=-mint
23241b2f0bdSmrg		;;
23341b2f0bdSmrgesac
23441b2f0bdSmrg
23541b2f0bdSmrg# Decode aliases for certain CPU-COMPANY combinations.
23641b2f0bdSmrgcase $basic_machine in
23741b2f0bdSmrg	# Recognize the basic CPU types without company name.
23841b2f0bdSmrg	# Some are omitted here because they have special meanings below.
23941b2f0bdSmrg	1750a | 580 \
24041b2f0bdSmrg	| a29k \
24141b2f0bdSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
24241b2f0bdSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
24311245024Smrg	| am33_2.0 \
24411245024Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
24511245024Smrg	| bfin \
24641b2f0bdSmrg	| c4x | clipper \
24741b2f0bdSmrg	| d10v | d30v | dlx | dsp16xx \
24811245024Smrg	| fido | fr30 | frv \
24941b2f0bdSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25041b2f0bdSmrg	| i370 | i860 | i960 | ia64 \
25111245024Smrg	| ip2k | iq2000 \
25211245024Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
25311245024Smrg	| maxq | mb | microblaze | mcore | mep \
25441b2f0bdSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
25541b2f0bdSmrg	| mips16 \
25641b2f0bdSmrg	| mips64 | mips64el \
25741b2f0bdSmrg	| mips64vr | mips64vrel \
25841b2f0bdSmrg	| mips64orion | mips64orionel \
25941b2f0bdSmrg	| mips64vr4100 | mips64vr4100el \
26041b2f0bdSmrg	| mips64vr4300 | mips64vr4300el \
26141b2f0bdSmrg	| mips64vr5000 | mips64vr5000el \
26211245024Smrg	| mips64vr5900 | mips64vr5900el \
26341b2f0bdSmrg	| mipsisa32 | mipsisa32el \
26441b2f0bdSmrg	| mipsisa32r2 | mipsisa32r2el \
26541b2f0bdSmrg	| mipsisa64 | mipsisa64el \
26611245024Smrg	| mipsisa64r2 | mipsisa64r2el \
26741b2f0bdSmrg	| mipsisa64sb1 | mipsisa64sb1el \
26841b2f0bdSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
26941b2f0bdSmrg	| mipstx39 | mipstx39el \
27041b2f0bdSmrg	| mn10200 | mn10300 \
27111245024Smrg	| mt \
27241b2f0bdSmrg	| msp430 \
27311245024Smrg	| nios | nios2 \
27441b2f0bdSmrg	| ns16k | ns32k \
27511245024Smrg	| or32 \
27641b2f0bdSmrg	| pdp10 | pdp11 | pj | pjl \
27741b2f0bdSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
27841b2f0bdSmrg	| pyramid \
27911245024Smrg	| score \
28011245024Smrg	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
28141b2f0bdSmrg	| sh64 | sh64le \
28211245024Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
28311245024Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
28411245024Smrg	| spu | strongarm \
28541b2f0bdSmrg	| tahoe | thumb | tic4x | tic80 | tron \
28641b2f0bdSmrg	| v850 | v850e \
28741b2f0bdSmrg	| we32k \
28811245024Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
28941b2f0bdSmrg	| z8k)
29041b2f0bdSmrg		basic_machine=$basic_machine-unknown
29141b2f0bdSmrg		;;
29241b2f0bdSmrg	m6811 | m68hc11 | m6812 | m68hc12)
29341b2f0bdSmrg		# Motorola 68HC11/12.
29441b2f0bdSmrg		basic_machine=$basic_machine-unknown
29541b2f0bdSmrg		os=-none
29641b2f0bdSmrg		;;
29741b2f0bdSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
29841b2f0bdSmrg		;;
29911245024Smrg	ms1)
30011245024Smrg		basic_machine=mt-unknown
30111245024Smrg		;;
30241b2f0bdSmrg
30341b2f0bdSmrg	# We use `pc' rather than `unknown'
30441b2f0bdSmrg	# because (1) that's what they normally are, and
30541b2f0bdSmrg	# (2) the word "unknown" tends to confuse beginning users.
30641b2f0bdSmrg	i*86 | x86_64)
30741b2f0bdSmrg	  basic_machine=$basic_machine-pc
30841b2f0bdSmrg	  ;;
30941b2f0bdSmrg	# Object if more than one company name word.
31041b2f0bdSmrg	*-*-*)
31141b2f0bdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
31241b2f0bdSmrg		exit 1
31341b2f0bdSmrg		;;
31441b2f0bdSmrg	# Recognize the basic CPU types with company name.
31541b2f0bdSmrg	580-* \
31641b2f0bdSmrg	| a29k-* \
31741b2f0bdSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
31841b2f0bdSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
31941b2f0bdSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
32041b2f0bdSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
32111245024Smrg	| avr-* | avr32-* \
32211245024Smrg	| bfin-* | bs2000-* \
32341b2f0bdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
32411245024Smrg	| clipper-* | craynv-* | cydra-* \
32541b2f0bdSmrg	| d10v-* | d30v-* | dlx-* \
32641b2f0bdSmrg	| elxsi-* \
32711245024Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
32841b2f0bdSmrg	| h8300-* | h8500-* \
32941b2f0bdSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
33041b2f0bdSmrg	| i*86-* | i860-* | i960-* | ia64-* \
33111245024Smrg	| ip2k-* | iq2000-* \
33211245024Smrg	| m32c-* | m32r-* | m32rle-* \
33341b2f0bdSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
33411245024Smrg	| m88110-* | m88k-* | maxq-* | mcore-* \
33541b2f0bdSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
33641b2f0bdSmrg	| mips16-* \
33741b2f0bdSmrg	| mips64-* | mips64el-* \
33841b2f0bdSmrg	| mips64vr-* | mips64vrel-* \
33941b2f0bdSmrg	| mips64orion-* | mips64orionel-* \
34041b2f0bdSmrg	| mips64vr4100-* | mips64vr4100el-* \
34141b2f0bdSmrg	| mips64vr4300-* | mips64vr4300el-* \
34241b2f0bdSmrg	| mips64vr5000-* | mips64vr5000el-* \
34311245024Smrg	| mips64vr5900-* | mips64vr5900el-* \
34441b2f0bdSmrg	| mipsisa32-* | mipsisa32el-* \
34541b2f0bdSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
34641b2f0bdSmrg	| mipsisa64-* | mipsisa64el-* \
34711245024Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
34841b2f0bdSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
34941b2f0bdSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
35041b2f0bdSmrg	| mipstx39-* | mipstx39el-* \
35111245024Smrg	| mmix-* \
35211245024Smrg	| mt-* \
35341b2f0bdSmrg	| msp430-* \
35411245024Smrg	| nios-* | nios2-* \
35511245024Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
35641b2f0bdSmrg	| orion-* \
35741b2f0bdSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
35841b2f0bdSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
35941b2f0bdSmrg	| pyramid-* \
36041b2f0bdSmrg	| romp-* | rs6000-* \
36111245024Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
36241b2f0bdSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
36311245024Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
36411245024Smrg	| sparclite-* \
36511245024Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
36641b2f0bdSmrg	| tahoe-* | thumb-* \
36741b2f0bdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
36841b2f0bdSmrg	| tron-* \
36941b2f0bdSmrg	| v850-* | v850e-* | vax-* \
37041b2f0bdSmrg	| we32k-* \
37111245024Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
37211245024Smrg	| xstormy16-* | xtensa*-* \
37341b2f0bdSmrg	| ymp-* \
37441b2f0bdSmrg	| z8k-*)
37541b2f0bdSmrg		;;
37611245024Smrg	# Recognize the basic CPU types without company name, with glob match.
37711245024Smrg	xtensa*)
37811245024Smrg		basic_machine=$basic_machine-unknown
37911245024Smrg		;;
38041b2f0bdSmrg	# Recognize the various machine names and aliases which stand
38141b2f0bdSmrg	# for a CPU type and a company and sometimes even an OS.
38241b2f0bdSmrg	386bsd)
38341b2f0bdSmrg		basic_machine=i386-unknown
38441b2f0bdSmrg		os=-bsd
38541b2f0bdSmrg		;;
38641b2f0bdSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
38741b2f0bdSmrg		basic_machine=m68000-att
38841b2f0bdSmrg		;;
38941b2f0bdSmrg	3b*)
39041b2f0bdSmrg		basic_machine=we32k-att
39141b2f0bdSmrg		;;
39241b2f0bdSmrg	a29khif)
39341b2f0bdSmrg		basic_machine=a29k-amd
39441b2f0bdSmrg		os=-udi
39541b2f0bdSmrg		;;
39611245024Smrg    	abacus)
39711245024Smrg		basic_machine=abacus-unknown
39811245024Smrg		;;
39941b2f0bdSmrg	adobe68k)
40041b2f0bdSmrg		basic_machine=m68010-adobe
40141b2f0bdSmrg		os=-scout
40241b2f0bdSmrg		;;
40341b2f0bdSmrg	alliant | fx80)
40441b2f0bdSmrg		basic_machine=fx80-alliant
40541b2f0bdSmrg		;;
40641b2f0bdSmrg	altos | altos3068)
40741b2f0bdSmrg		basic_machine=m68k-altos
40841b2f0bdSmrg		;;
40941b2f0bdSmrg	am29k)
41041b2f0bdSmrg		basic_machine=a29k-none
41141b2f0bdSmrg		os=-bsd
41241b2f0bdSmrg		;;
41341b2f0bdSmrg	amd64)
41441b2f0bdSmrg		basic_machine=x86_64-pc
41541b2f0bdSmrg		;;
41611245024Smrg	amd64-*)
41711245024Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
41811245024Smrg		;;
41941b2f0bdSmrg	amdahl)
42041b2f0bdSmrg		basic_machine=580-amdahl
42141b2f0bdSmrg		os=-sysv
42241b2f0bdSmrg		;;
42341b2f0bdSmrg	amiga | amiga-*)
42441b2f0bdSmrg		basic_machine=m68k-unknown
42541b2f0bdSmrg		;;
42641b2f0bdSmrg	amigaos | amigados)
42741b2f0bdSmrg		basic_machine=m68k-unknown
42841b2f0bdSmrg		os=-amigaos
42941b2f0bdSmrg		;;
43041b2f0bdSmrg	amigaunix | amix)
43141b2f0bdSmrg		basic_machine=m68k-unknown
43241b2f0bdSmrg		os=-sysv4
43341b2f0bdSmrg		;;
43441b2f0bdSmrg	apollo68)
43541b2f0bdSmrg		basic_machine=m68k-apollo
43641b2f0bdSmrg		os=-sysv
43741b2f0bdSmrg		;;
43841b2f0bdSmrg	apollo68bsd)
43941b2f0bdSmrg		basic_machine=m68k-apollo
44041b2f0bdSmrg		os=-bsd
44141b2f0bdSmrg		;;
44241b2f0bdSmrg	aux)
44341b2f0bdSmrg		basic_machine=m68k-apple
44441b2f0bdSmrg		os=-aux
44541b2f0bdSmrg		;;
44641b2f0bdSmrg	balance)
44741b2f0bdSmrg		basic_machine=ns32k-sequent
44841b2f0bdSmrg		os=-dynix
44941b2f0bdSmrg		;;
45011245024Smrg	blackfin)
45111245024Smrg		basic_machine=bfin-unknown
45211245024Smrg		os=-linux
45311245024Smrg		;;
45411245024Smrg	blackfin-*)
45511245024Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
45611245024Smrg		os=-linux
45711245024Smrg		;;
45841b2f0bdSmrg	c90)
45941b2f0bdSmrg		basic_machine=c90-cray
46041b2f0bdSmrg		os=-unicos
46141b2f0bdSmrg		;;
46241b2f0bdSmrg	convex-c1)
46341b2f0bdSmrg		basic_machine=c1-convex
46441b2f0bdSmrg		os=-bsd
46541b2f0bdSmrg		;;
46641b2f0bdSmrg	convex-c2)
46741b2f0bdSmrg		basic_machine=c2-convex
46841b2f0bdSmrg		os=-bsd
46941b2f0bdSmrg		;;
47041b2f0bdSmrg	convex-c32)
47141b2f0bdSmrg		basic_machine=c32-convex
47241b2f0bdSmrg		os=-bsd
47341b2f0bdSmrg		;;
47441b2f0bdSmrg	convex-c34)
47541b2f0bdSmrg		basic_machine=c34-convex
47641b2f0bdSmrg		os=-bsd
47741b2f0bdSmrg		;;
47841b2f0bdSmrg	convex-c38)
47941b2f0bdSmrg		basic_machine=c38-convex
48041b2f0bdSmrg		os=-bsd
48141b2f0bdSmrg		;;
48241b2f0bdSmrg	cray | j90)
48341b2f0bdSmrg		basic_machine=j90-cray
48441b2f0bdSmrg		os=-unicos
48541b2f0bdSmrg		;;
48611245024Smrg	craynv)
48711245024Smrg		basic_machine=craynv-cray
48811245024Smrg		os=-unicosmp
48911245024Smrg		;;
49011245024Smrg	cr16)
49111245024Smrg		basic_machine=cr16-unknown
49211245024Smrg		os=-elf
49311245024Smrg		;;
49441b2f0bdSmrg	crds | unos)
49541b2f0bdSmrg		basic_machine=m68k-crds
49641b2f0bdSmrg		;;
49711245024Smrg	crisv32 | crisv32-* | etraxfs*)
49811245024Smrg		basic_machine=crisv32-axis
49911245024Smrg		;;
50041b2f0bdSmrg	cris | cris-* | etrax*)
50141b2f0bdSmrg		basic_machine=cris-axis
50241b2f0bdSmrg		;;
50311245024Smrg	crx)
50411245024Smrg		basic_machine=crx-unknown
50511245024Smrg		os=-elf
50611245024Smrg		;;
50741b2f0bdSmrg	da30 | da30-*)
50841b2f0bdSmrg		basic_machine=m68k-da30
50941b2f0bdSmrg		;;
51041b2f0bdSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
51141b2f0bdSmrg		basic_machine=mips-dec
51241b2f0bdSmrg		;;
51341b2f0bdSmrg	decsystem10* | dec10*)
51441b2f0bdSmrg		basic_machine=pdp10-dec
51541b2f0bdSmrg		os=-tops10
51641b2f0bdSmrg		;;
51741b2f0bdSmrg	decsystem20* | dec20*)
51841b2f0bdSmrg		basic_machine=pdp10-dec
51941b2f0bdSmrg		os=-tops20
52041b2f0bdSmrg		;;
52141b2f0bdSmrg	delta | 3300 | motorola-3300 | motorola-delta \
52241b2f0bdSmrg	      | 3300-motorola | delta-motorola)
52341b2f0bdSmrg		basic_machine=m68k-motorola
52441b2f0bdSmrg		;;
52541b2f0bdSmrg	delta88)
52641b2f0bdSmrg		basic_machine=m88k-motorola
52741b2f0bdSmrg		os=-sysv3
52841b2f0bdSmrg		;;
52911245024Smrg	djgpp)
53011245024Smrg		basic_machine=i586-pc
53111245024Smrg		os=-msdosdjgpp
53211245024Smrg		;;
53341b2f0bdSmrg	dpx20 | dpx20-*)
53441b2f0bdSmrg		basic_machine=rs6000-bull
53541b2f0bdSmrg		os=-bosx
53641b2f0bdSmrg		;;
53741b2f0bdSmrg	dpx2* | dpx2*-bull)
53841b2f0bdSmrg		basic_machine=m68k-bull
53941b2f0bdSmrg		os=-sysv3
54041b2f0bdSmrg		;;
54141b2f0bdSmrg	ebmon29k)
54241b2f0bdSmrg		basic_machine=a29k-amd
54341b2f0bdSmrg		os=-ebmon
54441b2f0bdSmrg		;;
54541b2f0bdSmrg	elxsi)
54641b2f0bdSmrg		basic_machine=elxsi-elxsi
54741b2f0bdSmrg		os=-bsd
54841b2f0bdSmrg		;;
54941b2f0bdSmrg	encore | umax | mmax)
55041b2f0bdSmrg		basic_machine=ns32k-encore
55141b2f0bdSmrg		;;
55241b2f0bdSmrg	es1800 | OSE68k | ose68k | ose | OSE)
55341b2f0bdSmrg		basic_machine=m68k-ericsson
55441b2f0bdSmrg		os=-ose
55541b2f0bdSmrg		;;
55641b2f0bdSmrg	fx2800)
55741b2f0bdSmrg		basic_machine=i860-alliant
55841b2f0bdSmrg		;;
55941b2f0bdSmrg	genix)
56041b2f0bdSmrg		basic_machine=ns32k-ns
56141b2f0bdSmrg		;;
56241b2f0bdSmrg	gmicro)
56341b2f0bdSmrg		basic_machine=tron-gmicro
56441b2f0bdSmrg		os=-sysv
56541b2f0bdSmrg		;;
56641b2f0bdSmrg	go32)
56741b2f0bdSmrg		basic_machine=i386-pc
56841b2f0bdSmrg		os=-go32
56941b2f0bdSmrg		;;
57041b2f0bdSmrg	h3050r* | hiux*)
57141b2f0bdSmrg		basic_machine=hppa1.1-hitachi
57241b2f0bdSmrg		os=-hiuxwe2
57341b2f0bdSmrg		;;
57441b2f0bdSmrg	h8300hms)
57541b2f0bdSmrg		basic_machine=h8300-hitachi
57641b2f0bdSmrg		os=-hms
57741b2f0bdSmrg		;;
57841b2f0bdSmrg	h8300xray)
57941b2f0bdSmrg		basic_machine=h8300-hitachi
58041b2f0bdSmrg		os=-xray
58141b2f0bdSmrg		;;
58241b2f0bdSmrg	h8500hms)
58341b2f0bdSmrg		basic_machine=h8500-hitachi
58441b2f0bdSmrg		os=-hms
58541b2f0bdSmrg		;;
58641b2f0bdSmrg	harris)
58741b2f0bdSmrg		basic_machine=m88k-harris
58841b2f0bdSmrg		os=-sysv3
58941b2f0bdSmrg		;;
59041b2f0bdSmrg	hp300-*)
59141b2f0bdSmrg		basic_machine=m68k-hp
59241b2f0bdSmrg		;;
59341b2f0bdSmrg	hp300bsd)
59441b2f0bdSmrg		basic_machine=m68k-hp
59541b2f0bdSmrg		os=-bsd
59641b2f0bdSmrg		;;
59741b2f0bdSmrg	hp300hpux)
59841b2f0bdSmrg		basic_machine=m68k-hp
59941b2f0bdSmrg		os=-hpux
60041b2f0bdSmrg		;;
60141b2f0bdSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
60241b2f0bdSmrg		basic_machine=hppa1.0-hp
60341b2f0bdSmrg		;;
60441b2f0bdSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
60541b2f0bdSmrg		basic_machine=m68000-hp
60641b2f0bdSmrg		;;
60741b2f0bdSmrg	hp9k3[2-9][0-9])
60841b2f0bdSmrg		basic_machine=m68k-hp
60941b2f0bdSmrg		;;
61041b2f0bdSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
61141b2f0bdSmrg		basic_machine=hppa1.0-hp
61241b2f0bdSmrg		;;
61341b2f0bdSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
61441b2f0bdSmrg		basic_machine=hppa1.1-hp
61541b2f0bdSmrg		;;
61641b2f0bdSmrg	hp9k78[0-9] | hp78[0-9])
61741b2f0bdSmrg		# FIXME: really hppa2.0-hp
61841b2f0bdSmrg		basic_machine=hppa1.1-hp
61941b2f0bdSmrg		;;
62041b2f0bdSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
62141b2f0bdSmrg		# FIXME: really hppa2.0-hp
62241b2f0bdSmrg		basic_machine=hppa1.1-hp
62341b2f0bdSmrg		;;
62441b2f0bdSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
62541b2f0bdSmrg		basic_machine=hppa1.1-hp
62641b2f0bdSmrg		;;
62741b2f0bdSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
62841b2f0bdSmrg		basic_machine=hppa1.0-hp
62941b2f0bdSmrg		;;
63041b2f0bdSmrg	hppa-next)
63141b2f0bdSmrg		os=-nextstep3
63241b2f0bdSmrg		;;
63341b2f0bdSmrg	hppaosf)
63441b2f0bdSmrg		basic_machine=hppa1.1-hp
63541b2f0bdSmrg		os=-osf
63641b2f0bdSmrg		;;
63741b2f0bdSmrg	hppro)
63841b2f0bdSmrg		basic_machine=hppa1.1-hp
63941b2f0bdSmrg		os=-proelf
64041b2f0bdSmrg		;;
64141b2f0bdSmrg	i370-ibm* | ibm*)
64241b2f0bdSmrg		basic_machine=i370-ibm
64341b2f0bdSmrg		;;
64441b2f0bdSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
64541b2f0bdSmrg	i*86v32)
64641b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
64741b2f0bdSmrg		os=-sysv32
64841b2f0bdSmrg		;;
64941b2f0bdSmrg	i*86v4*)
65041b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
65141b2f0bdSmrg		os=-sysv4
65241b2f0bdSmrg		;;
65341b2f0bdSmrg	i*86v)
65441b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
65541b2f0bdSmrg		os=-sysv
65641b2f0bdSmrg		;;
65741b2f0bdSmrg	i*86sol2)
65841b2f0bdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
65941b2f0bdSmrg		os=-solaris2
66041b2f0bdSmrg		;;
66141b2f0bdSmrg	i386mach)
66241b2f0bdSmrg		basic_machine=i386-mach
66341b2f0bdSmrg		os=-mach
66441b2f0bdSmrg		;;
66541b2f0bdSmrg	i386-vsta | vsta)
66641b2f0bdSmrg		basic_machine=i386-unknown
66741b2f0bdSmrg		os=-vsta
66841b2f0bdSmrg		;;
66941b2f0bdSmrg	iris | iris4d)
67041b2f0bdSmrg		basic_machine=mips-sgi
67141b2f0bdSmrg		case $os in
67241b2f0bdSmrg		    -irix*)
67341b2f0bdSmrg			;;
67441b2f0bdSmrg		    *)
67541b2f0bdSmrg			os=-irix4
67641b2f0bdSmrg			;;
67741b2f0bdSmrg		esac
67841b2f0bdSmrg		;;
67941b2f0bdSmrg	isi68 | isi)
68041b2f0bdSmrg		basic_machine=m68k-isi
68141b2f0bdSmrg		os=-sysv
68241b2f0bdSmrg		;;
68311245024Smrg	m68knommu)
68411245024Smrg		basic_machine=m68k-unknown
68511245024Smrg		os=-linux
68611245024Smrg		;;
68711245024Smrg	m68knommu-*)
68811245024Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
68911245024Smrg		os=-linux
69011245024Smrg		;;
69141b2f0bdSmrg	m88k-omron*)
69241b2f0bdSmrg		basic_machine=m88k-omron
69341b2f0bdSmrg		;;
69441b2f0bdSmrg	magnum | m3230)
69541b2f0bdSmrg		basic_machine=mips-mips
69641b2f0bdSmrg		os=-sysv
69741b2f0bdSmrg		;;
69841b2f0bdSmrg	merlin)
69941b2f0bdSmrg		basic_machine=ns32k-utek
70041b2f0bdSmrg		os=-sysv
70141b2f0bdSmrg		;;
70241b2f0bdSmrg	mingw32)
70341b2f0bdSmrg		basic_machine=i386-pc
70441b2f0bdSmrg		os=-mingw32
70541b2f0bdSmrg		;;
70611245024Smrg	mingw32ce)
70711245024Smrg		basic_machine=arm-unknown
70811245024Smrg		os=-mingw32ce
70911245024Smrg		;;
71041b2f0bdSmrg	miniframe)
71141b2f0bdSmrg		basic_machine=m68000-convergent
71241b2f0bdSmrg		;;
71341b2f0bdSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
71441b2f0bdSmrg		basic_machine=m68k-atari
71541b2f0bdSmrg		os=-mint
71641b2f0bdSmrg		;;
71741b2f0bdSmrg	mips3*-*)
71841b2f0bdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
71941b2f0bdSmrg		;;
72041b2f0bdSmrg	mips3*)
72141b2f0bdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
72241b2f0bdSmrg		;;
72341b2f0bdSmrg	monitor)
72441b2f0bdSmrg		basic_machine=m68k-rom68k
72541b2f0bdSmrg		os=-coff
72641b2f0bdSmrg		;;
72741b2f0bdSmrg	morphos)
72841b2f0bdSmrg		basic_machine=powerpc-unknown
72941b2f0bdSmrg		os=-morphos
73041b2f0bdSmrg		;;
73141b2f0bdSmrg	msdos)
73241b2f0bdSmrg		basic_machine=i386-pc
73341b2f0bdSmrg		os=-msdos
73441b2f0bdSmrg		;;
73511245024Smrg	ms1-*)
73611245024Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
73711245024Smrg		;;
73841b2f0bdSmrg	mvs)
73941b2f0bdSmrg		basic_machine=i370-ibm
74041b2f0bdSmrg		os=-mvs
74141b2f0bdSmrg		;;
74241b2f0bdSmrg	ncr3000)
74341b2f0bdSmrg		basic_machine=i486-ncr
74441b2f0bdSmrg		os=-sysv4
74541b2f0bdSmrg		;;
74641b2f0bdSmrg	netbsd386)
74741b2f0bdSmrg		basic_machine=i386-unknown
74841b2f0bdSmrg		os=-netbsd
74941b2f0bdSmrg		;;
75041b2f0bdSmrg	netwinder)
75141b2f0bdSmrg		basic_machine=armv4l-rebel
75241b2f0bdSmrg		os=-linux
75341b2f0bdSmrg		;;
75441b2f0bdSmrg	news | news700 | news800 | news900)
75541b2f0bdSmrg		basic_machine=m68k-sony
75641b2f0bdSmrg		os=-newsos
75741b2f0bdSmrg		;;
75841b2f0bdSmrg	news1000)
75941b2f0bdSmrg		basic_machine=m68030-sony
76041b2f0bdSmrg		os=-newsos
76141b2f0bdSmrg		;;
76241b2f0bdSmrg	news-3600 | risc-news)
76341b2f0bdSmrg		basic_machine=mips-sony
76441b2f0bdSmrg		os=-newsos
76541b2f0bdSmrg		;;
76641b2f0bdSmrg	necv70)
76741b2f0bdSmrg		basic_machine=v70-nec
76841b2f0bdSmrg		os=-sysv
76941b2f0bdSmrg		;;
77041b2f0bdSmrg	next | m*-next )
77141b2f0bdSmrg		basic_machine=m68k-next
77241b2f0bdSmrg		case $os in
77341b2f0bdSmrg		    -nextstep* )
77441b2f0bdSmrg			;;
77541b2f0bdSmrg		    -ns2*)
77641b2f0bdSmrg		      os=-nextstep2
77741b2f0bdSmrg			;;
77841b2f0bdSmrg		    *)
77941b2f0bdSmrg		      os=-nextstep3
78041b2f0bdSmrg			;;
78141b2f0bdSmrg		esac
78241b2f0bdSmrg		;;
78341b2f0bdSmrg	nh3000)
78441b2f0bdSmrg		basic_machine=m68k-harris
78541b2f0bdSmrg		os=-cxux
78641b2f0bdSmrg		;;
78741b2f0bdSmrg	nh[45]000)
78841b2f0bdSmrg		basic_machine=m88k-harris
78941b2f0bdSmrg		os=-cxux
79041b2f0bdSmrg		;;
79141b2f0bdSmrg	nindy960)
79241b2f0bdSmrg		basic_machine=i960-intel
79341b2f0bdSmrg		os=-nindy
79441b2f0bdSmrg		;;
79541b2f0bdSmrg	mon960)
79641b2f0bdSmrg		basic_machine=i960-intel
79741b2f0bdSmrg		os=-mon960
79841b2f0bdSmrg		;;
79941b2f0bdSmrg	nonstopux)
80041b2f0bdSmrg		basic_machine=mips-compaq
80141b2f0bdSmrg		os=-nonstopux
80241b2f0bdSmrg		;;
80341b2f0bdSmrg	np1)
80441b2f0bdSmrg		basic_machine=np1-gould
80541b2f0bdSmrg		;;
80641b2f0bdSmrg	nsr-tandem)
80741b2f0bdSmrg		basic_machine=nsr-tandem
80841b2f0bdSmrg		;;
80941b2f0bdSmrg	op50n-* | op60c-*)
81041b2f0bdSmrg		basic_machine=hppa1.1-oki
81141b2f0bdSmrg		os=-proelf
81241b2f0bdSmrg		;;
81311245024Smrg	openrisc | openrisc-*)
81441b2f0bdSmrg		basic_machine=or32-unknown
81511245024Smrg		;;
81611245024Smrg	os400)
81711245024Smrg		basic_machine=powerpc-ibm
81811245024Smrg		os=-os400
81941b2f0bdSmrg		;;
82041b2f0bdSmrg	OSE68000 | ose68000)
82141b2f0bdSmrg		basic_machine=m68000-ericsson
82241b2f0bdSmrg		os=-ose
82341b2f0bdSmrg		;;
82441b2f0bdSmrg	os68k)
82541b2f0bdSmrg		basic_machine=m68k-none
82641b2f0bdSmrg		os=-os68k
82741b2f0bdSmrg		;;
82841b2f0bdSmrg	pa-hitachi)
82941b2f0bdSmrg		basic_machine=hppa1.1-hitachi
83041b2f0bdSmrg		os=-hiuxwe2
83141b2f0bdSmrg		;;
83241b2f0bdSmrg	paragon)
83341b2f0bdSmrg		basic_machine=i860-intel
83441b2f0bdSmrg		os=-osf
83541b2f0bdSmrg		;;
83611245024Smrg	parisc)
83711245024Smrg		basic_machine=hppa-unknown
83811245024Smrg		os=-linux
83911245024Smrg		;;
84011245024Smrg	parisc-*)
84111245024Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
84211245024Smrg		os=-linux
84311245024Smrg		;;
84441b2f0bdSmrg	pbd)
84541b2f0bdSmrg		basic_machine=sparc-tti
84641b2f0bdSmrg		;;
84741b2f0bdSmrg	pbb)
84841b2f0bdSmrg		basic_machine=m68k-tti
84941b2f0bdSmrg		;;
85041b2f0bdSmrg	pc532 | pc532-*)
85141b2f0bdSmrg		basic_machine=ns32k-pc532
85241b2f0bdSmrg		;;
85311245024Smrg	pc98)
85411245024Smrg		basic_machine=i386-pc
85511245024Smrg		;;
85611245024Smrg	pc98-*)
85711245024Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
85811245024Smrg		;;
85941b2f0bdSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
86041b2f0bdSmrg		basic_machine=i586-pc
86141b2f0bdSmrg		;;
86241b2f0bdSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
86341b2f0bdSmrg		basic_machine=i686-pc
86441b2f0bdSmrg		;;
86541b2f0bdSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
86641b2f0bdSmrg		basic_machine=i686-pc
86741b2f0bdSmrg		;;
86841b2f0bdSmrg	pentium4)
86941b2f0bdSmrg		basic_machine=i786-pc
87041b2f0bdSmrg		;;
87141b2f0bdSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
87241b2f0bdSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
87341b2f0bdSmrg		;;
87441b2f0bdSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
87541b2f0bdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
87641b2f0bdSmrg		;;
87741b2f0bdSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
87841b2f0bdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
87941b2f0bdSmrg		;;
88041b2f0bdSmrg	pentium4-*)
88141b2f0bdSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
88241b2f0bdSmrg		;;
88341b2f0bdSmrg	pn)
88441b2f0bdSmrg		basic_machine=pn-gould
88541b2f0bdSmrg		;;
88641b2f0bdSmrg	power)	basic_machine=power-ibm
88741b2f0bdSmrg		;;
88841b2f0bdSmrg	ppc)	basic_machine=powerpc-unknown
88941b2f0bdSmrg		;;
89041b2f0bdSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
89141b2f0bdSmrg		;;
89241b2f0bdSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
89341b2f0bdSmrg		basic_machine=powerpcle-unknown
89441b2f0bdSmrg		;;
89541b2f0bdSmrg	ppcle-* | powerpclittle-*)
89641b2f0bdSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
89741b2f0bdSmrg		;;
89841b2f0bdSmrg	ppc64)	basic_machine=powerpc64-unknown
89941b2f0bdSmrg		;;
90041b2f0bdSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
90141b2f0bdSmrg		;;
90241b2f0bdSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
90341b2f0bdSmrg		basic_machine=powerpc64le-unknown
90441b2f0bdSmrg		;;
90541b2f0bdSmrg	ppc64le-* | powerpc64little-*)
90641b2f0bdSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
90741b2f0bdSmrg		;;
90841b2f0bdSmrg	ps2)
90941b2f0bdSmrg		basic_machine=i386-ibm
91041b2f0bdSmrg		;;
91141b2f0bdSmrg	pw32)
91241b2f0bdSmrg		basic_machine=i586-unknown
91341b2f0bdSmrg		os=-pw32
91441b2f0bdSmrg		;;
91511245024Smrg	rdos)
91611245024Smrg		basic_machine=i386-pc
91711245024Smrg		os=-rdos
91811245024Smrg		;;
91941b2f0bdSmrg	rom68k)
92041b2f0bdSmrg		basic_machine=m68k-rom68k
92141b2f0bdSmrg		os=-coff
92241b2f0bdSmrg		;;
92341b2f0bdSmrg	rm[46]00)
92441b2f0bdSmrg		basic_machine=mips-siemens
92541b2f0bdSmrg		;;
92641b2f0bdSmrg	rtpc | rtpc-*)
92741b2f0bdSmrg		basic_machine=romp-ibm
92841b2f0bdSmrg		;;
92911245024Smrg	s390 | s390-*)
93011245024Smrg		basic_machine=s390-ibm
93111245024Smrg		;;
93211245024Smrg	s390x | s390x-*)
93311245024Smrg		basic_machine=s390x-ibm
93411245024Smrg		;;
93541b2f0bdSmrg	sa29200)
93641b2f0bdSmrg		basic_machine=a29k-amd
93741b2f0bdSmrg		os=-udi
93841b2f0bdSmrg		;;
93941b2f0bdSmrg	sb1)
94041b2f0bdSmrg		basic_machine=mipsisa64sb1-unknown
94141b2f0bdSmrg		;;
94241b2f0bdSmrg	sb1el)
94341b2f0bdSmrg		basic_machine=mipsisa64sb1el-unknown
94441b2f0bdSmrg		;;
94511245024Smrg	sde)
94611245024Smrg		basic_machine=mipsisa32-sde
94711245024Smrg		os=-elf
94811245024Smrg		;;
94941b2f0bdSmrg	sei)
95041b2f0bdSmrg		basic_machine=mips-sei
95141b2f0bdSmrg		os=-seiux
95241b2f0bdSmrg		;;
95341b2f0bdSmrg	sequent)
95441b2f0bdSmrg		basic_machine=i386-sequent
95541b2f0bdSmrg		;;
95641b2f0bdSmrg	sh)
95741b2f0bdSmrg		basic_machine=sh-hitachi
95841b2f0bdSmrg		os=-hms
95941b2f0bdSmrg		;;
96011245024Smrg	sh5el)
96111245024Smrg		basic_machine=sh5le-unknown
96211245024Smrg		;;
96341b2f0bdSmrg	sh64)
96441b2f0bdSmrg		basic_machine=sh64-unknown
96541b2f0bdSmrg		;;
96641b2f0bdSmrg	sparclite-wrs | simso-wrs)
96741b2f0bdSmrg		basic_machine=sparclite-wrs
96841b2f0bdSmrg		os=-vxworks
96941b2f0bdSmrg		;;
97041b2f0bdSmrg	sps7)
97141b2f0bdSmrg		basic_machine=m68k-bull
97241b2f0bdSmrg		os=-sysv2
97341b2f0bdSmrg		;;
97441b2f0bdSmrg	spur)
97541b2f0bdSmrg		basic_machine=spur-unknown
97641b2f0bdSmrg		;;
97741b2f0bdSmrg	st2000)
97841b2f0bdSmrg		basic_machine=m68k-tandem
97941b2f0bdSmrg		;;
98041b2f0bdSmrg	stratus)
98141b2f0bdSmrg		basic_machine=i860-stratus
98241b2f0bdSmrg		os=-sysv4
98341b2f0bdSmrg		;;
98441b2f0bdSmrg	sun2)
98541b2f0bdSmrg		basic_machine=m68000-sun
98641b2f0bdSmrg		;;
98741b2f0bdSmrg	sun2os3)
98841b2f0bdSmrg		basic_machine=m68000-sun
98941b2f0bdSmrg		os=-sunos3
99041b2f0bdSmrg		;;
99141b2f0bdSmrg	sun2os4)
99241b2f0bdSmrg		basic_machine=m68000-sun
99341b2f0bdSmrg		os=-sunos4
99441b2f0bdSmrg		;;
99541b2f0bdSmrg	sun3os3)
99641b2f0bdSmrg		basic_machine=m68k-sun
99741b2f0bdSmrg		os=-sunos3
99841b2f0bdSmrg		;;
99941b2f0bdSmrg	sun3os4)
100041b2f0bdSmrg		basic_machine=m68k-sun
100141b2f0bdSmrg		os=-sunos4
100241b2f0bdSmrg		;;
100341b2f0bdSmrg	sun4os3)
100441b2f0bdSmrg		basic_machine=sparc-sun
100541b2f0bdSmrg		os=-sunos3
100641b2f0bdSmrg		;;
100741b2f0bdSmrg	sun4os4)
100841b2f0bdSmrg		basic_machine=sparc-sun
100941b2f0bdSmrg		os=-sunos4
101041b2f0bdSmrg		;;
101141b2f0bdSmrg	sun4sol2)
101241b2f0bdSmrg		basic_machine=sparc-sun
101341b2f0bdSmrg		os=-solaris2
101441b2f0bdSmrg		;;
101541b2f0bdSmrg	sun3 | sun3-*)
101641b2f0bdSmrg		basic_machine=m68k-sun
101741b2f0bdSmrg		;;
101841b2f0bdSmrg	sun4)
101941b2f0bdSmrg		basic_machine=sparc-sun
102041b2f0bdSmrg		;;
102141b2f0bdSmrg	sun386 | sun386i | roadrunner)
102241b2f0bdSmrg		basic_machine=i386-sun
102341b2f0bdSmrg		;;
102441b2f0bdSmrg	sv1)
102541b2f0bdSmrg		basic_machine=sv1-cray
102641b2f0bdSmrg		os=-unicos
102741b2f0bdSmrg		;;
102841b2f0bdSmrg	symmetry)
102941b2f0bdSmrg		basic_machine=i386-sequent
103041b2f0bdSmrg		os=-dynix
103141b2f0bdSmrg		;;
103241b2f0bdSmrg	t3e)
103341b2f0bdSmrg		basic_machine=alphaev5-cray
103441b2f0bdSmrg		os=-unicos
103541b2f0bdSmrg		;;
103641b2f0bdSmrg	t90)
103741b2f0bdSmrg		basic_machine=t90-cray
103841b2f0bdSmrg		os=-unicos
103941b2f0bdSmrg		;;
104041b2f0bdSmrg	tic54x | c54x*)
104141b2f0bdSmrg		basic_machine=tic54x-unknown
104241b2f0bdSmrg		os=-coff
104341b2f0bdSmrg		;;
104441b2f0bdSmrg	tic55x | c55x*)
104541b2f0bdSmrg		basic_machine=tic55x-unknown
104641b2f0bdSmrg		os=-coff
104741b2f0bdSmrg		;;
104841b2f0bdSmrg	tic6x | c6x*)
104941b2f0bdSmrg		basic_machine=tic6x-unknown
105041b2f0bdSmrg		os=-coff
105141b2f0bdSmrg		;;
105211245024Smrg	tile*)
105311245024Smrg		basic_machine=tile-unknown
105411245024Smrg		os=-linux-gnu
105511245024Smrg		;;
105641b2f0bdSmrg	tx39)
105741b2f0bdSmrg		basic_machine=mipstx39-unknown
105841b2f0bdSmrg		;;
105941b2f0bdSmrg	tx39el)
106041b2f0bdSmrg		basic_machine=mipstx39el-unknown
106141b2f0bdSmrg		;;
106241b2f0bdSmrg	toad1)
106341b2f0bdSmrg		basic_machine=pdp10-xkl
106441b2f0bdSmrg		os=-tops20
106541b2f0bdSmrg		;;
106641b2f0bdSmrg	tower | tower-32)
106741b2f0bdSmrg		basic_machine=m68k-ncr
106841b2f0bdSmrg		;;
106911245024Smrg	tpf)
107011245024Smrg		basic_machine=s390x-ibm
107111245024Smrg		os=-tpf
107211245024Smrg		;;
107341b2f0bdSmrg	udi29k)
107441b2f0bdSmrg		basic_machine=a29k-amd
107541b2f0bdSmrg		os=-udi
107641b2f0bdSmrg		;;
107741b2f0bdSmrg	ultra3)
107841b2f0bdSmrg		basic_machine=a29k-nyu
107941b2f0bdSmrg		os=-sym1
108041b2f0bdSmrg		;;
108141b2f0bdSmrg	v810 | necv810)
108241b2f0bdSmrg		basic_machine=v810-nec
108341b2f0bdSmrg		os=-none
108441b2f0bdSmrg		;;
108541b2f0bdSmrg	vaxv)
108641b2f0bdSmrg		basic_machine=vax-dec
108741b2f0bdSmrg		os=-sysv
108841b2f0bdSmrg		;;
108941b2f0bdSmrg	vms)
109041b2f0bdSmrg		basic_machine=vax-dec
109141b2f0bdSmrg		os=-vms
109241b2f0bdSmrg		;;
109341b2f0bdSmrg	vpp*|vx|vx-*)
109441b2f0bdSmrg		basic_machine=f301-fujitsu
109541b2f0bdSmrg		;;
109641b2f0bdSmrg	vxworks960)
109741b2f0bdSmrg		basic_machine=i960-wrs
109841b2f0bdSmrg		os=-vxworks
109941b2f0bdSmrg		;;
110041b2f0bdSmrg	vxworks68)
110141b2f0bdSmrg		basic_machine=m68k-wrs
110241b2f0bdSmrg		os=-vxworks
110341b2f0bdSmrg		;;
110441b2f0bdSmrg	vxworks29k)
110541b2f0bdSmrg		basic_machine=a29k-wrs
110641b2f0bdSmrg		os=-vxworks
110741b2f0bdSmrg		;;
110841b2f0bdSmrg	w65*)
110941b2f0bdSmrg		basic_machine=w65-wdc
111041b2f0bdSmrg		os=-none
111141b2f0bdSmrg		;;
111241b2f0bdSmrg	w89k-*)
111341b2f0bdSmrg		basic_machine=hppa1.1-winbond
111441b2f0bdSmrg		os=-proelf
111541b2f0bdSmrg		;;
111611245024Smrg	xbox)
111711245024Smrg		basic_machine=i686-pc
111811245024Smrg		os=-mingw32
111911245024Smrg		;;
112041b2f0bdSmrg	xps | xps100)
112141b2f0bdSmrg		basic_machine=xps100-honeywell
112241b2f0bdSmrg		;;
112341b2f0bdSmrg	ymp)
112441b2f0bdSmrg		basic_machine=ymp-cray
112541b2f0bdSmrg		os=-unicos
112641b2f0bdSmrg		;;
112741b2f0bdSmrg	z8k-*-coff)
112841b2f0bdSmrg		basic_machine=z8k-unknown
112941b2f0bdSmrg		os=-sim
113041b2f0bdSmrg		;;
113141b2f0bdSmrg	none)
113241b2f0bdSmrg		basic_machine=none-none
113341b2f0bdSmrg		os=-none
113441b2f0bdSmrg		;;
113541b2f0bdSmrg
113641b2f0bdSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
113741b2f0bdSmrg# some cases the only manufacturer, in others, it is the most popular.
113841b2f0bdSmrg	w89k)
113941b2f0bdSmrg		basic_machine=hppa1.1-winbond
114041b2f0bdSmrg		;;
114141b2f0bdSmrg	op50n)
114241b2f0bdSmrg		basic_machine=hppa1.1-oki
114341b2f0bdSmrg		;;
114441b2f0bdSmrg	op60c)
114541b2f0bdSmrg		basic_machine=hppa1.1-oki
114641b2f0bdSmrg		;;
114741b2f0bdSmrg	romp)
114841b2f0bdSmrg		basic_machine=romp-ibm
114941b2f0bdSmrg		;;
115011245024Smrg	mmix)
115111245024Smrg		basic_machine=mmix-knuth
115211245024Smrg		;;
115341b2f0bdSmrg	rs6000)
115441b2f0bdSmrg		basic_machine=rs6000-ibm
115541b2f0bdSmrg		;;
115641b2f0bdSmrg	vax)
115741b2f0bdSmrg		basic_machine=vax-dec
115841b2f0bdSmrg		;;
115941b2f0bdSmrg	pdp10)
116041b2f0bdSmrg		# there are many clones, so DEC is not a safe bet
116141b2f0bdSmrg		basic_machine=pdp10-unknown
116241b2f0bdSmrg		;;
116341b2f0bdSmrg	pdp11)
116441b2f0bdSmrg		basic_machine=pdp11-dec
116541b2f0bdSmrg		;;
116641b2f0bdSmrg	we32k)
116741b2f0bdSmrg		basic_machine=we32k-att
116841b2f0bdSmrg		;;
116911245024Smrg	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
117041b2f0bdSmrg		basic_machine=sh-unknown
117141b2f0bdSmrg		;;
117211245024Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
117341b2f0bdSmrg		basic_machine=sparc-sun
117441b2f0bdSmrg		;;
117541b2f0bdSmrg	cydra)
117641b2f0bdSmrg		basic_machine=cydra-cydrome
117741b2f0bdSmrg		;;
117841b2f0bdSmrg	orion)
117941b2f0bdSmrg		basic_machine=orion-highlevel
118041b2f0bdSmrg		;;
118141b2f0bdSmrg	orion105)
118241b2f0bdSmrg		basic_machine=clipper-highlevel
118341b2f0bdSmrg		;;
118441b2f0bdSmrg	mac | mpw | mac-mpw)
118541b2f0bdSmrg		basic_machine=m68k-apple
118641b2f0bdSmrg		;;
118741b2f0bdSmrg	pmac | pmac-mpw)
118841b2f0bdSmrg		basic_machine=powerpc-apple
118941b2f0bdSmrg		;;
119041b2f0bdSmrg	*-unknown)
119141b2f0bdSmrg		# Make sure to match an already-canonicalized machine name.
119241b2f0bdSmrg		;;
119341b2f0bdSmrg	*)
119441b2f0bdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
119541b2f0bdSmrg		exit 1
119641b2f0bdSmrg		;;
119741b2f0bdSmrgesac
119841b2f0bdSmrg
119941b2f0bdSmrg# Here we canonicalize certain aliases for manufacturers.
120041b2f0bdSmrgcase $basic_machine in
120141b2f0bdSmrg	*-digital*)
120241b2f0bdSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
120341b2f0bdSmrg		;;
120441b2f0bdSmrg	*-commodore*)
120541b2f0bdSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
120641b2f0bdSmrg		;;
120741b2f0bdSmrg	*)
120841b2f0bdSmrg		;;
120941b2f0bdSmrgesac
121041b2f0bdSmrg
121141b2f0bdSmrg# Decode manufacturer-specific aliases for certain operating systems.
121241b2f0bdSmrg
121341b2f0bdSmrgif [ x"$os" != x"" ]
121441b2f0bdSmrgthen
121541b2f0bdSmrgcase $os in
121641b2f0bdSmrg        # First match some system type aliases
121741b2f0bdSmrg        # that might get confused with valid system types.
121841b2f0bdSmrg	# -solaris* is a basic system type, with this one exception.
121941b2f0bdSmrg	-solaris1 | -solaris1.*)
122041b2f0bdSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
122141b2f0bdSmrg		;;
122241b2f0bdSmrg	-solaris)
122341b2f0bdSmrg		os=-solaris2
122441b2f0bdSmrg		;;
122541b2f0bdSmrg	-svr4*)
122641b2f0bdSmrg		os=-sysv4
122741b2f0bdSmrg		;;
122841b2f0bdSmrg	-unixware*)
122941b2f0bdSmrg		os=-sysv4.2uw
123041b2f0bdSmrg		;;
123141b2f0bdSmrg	-gnu/linux*)
123241b2f0bdSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
123341b2f0bdSmrg		;;
123441b2f0bdSmrg	# First accept the basic system types.
123541b2f0bdSmrg	# The portable systems comes first.
123641b2f0bdSmrg	# Each alternative MUST END IN A *, to match a version number.
123741b2f0bdSmrg	# -sysv* is not here because it comes later, after sysvr4.
123841b2f0bdSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
123941b2f0bdSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
124041b2f0bdSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
124141b2f0bdSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
124241b2f0bdSmrg	      | -aos* \
124341b2f0bdSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
124441b2f0bdSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
124511245024Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
124611245024Smrg	      | -openbsd* | -solidbsd* \
124711245024Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
124811245024Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
124941b2f0bdSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
125041b2f0bdSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
125141b2f0bdSmrg	      | -chorusos* | -chorusrdb* \
125241b2f0bdSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
125311245024Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
125411245024Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
125541b2f0bdSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
125641b2f0bdSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
125741b2f0bdSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
125841b2f0bdSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
125941b2f0bdSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
126011245024Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
126111245024Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
126241b2f0bdSmrg	# Remember, each alternative MUST END IN *, to match a version number.
126341b2f0bdSmrg		;;
126441b2f0bdSmrg	-qnx*)
126541b2f0bdSmrg		case $basic_machine in
126641b2f0bdSmrg		    x86-* | i*86-*)
126741b2f0bdSmrg			;;
126841b2f0bdSmrg		    *)
126941b2f0bdSmrg			os=-nto$os
127041b2f0bdSmrg			;;
127141b2f0bdSmrg		esac
127241b2f0bdSmrg		;;
127341b2f0bdSmrg	-nto-qnx*)
127441b2f0bdSmrg		;;
127541b2f0bdSmrg	-nto*)
127641b2f0bdSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
127741b2f0bdSmrg		;;
127841b2f0bdSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
127911245024Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
128041b2f0bdSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
128141b2f0bdSmrg		;;
128241b2f0bdSmrg	-mac*)
128341b2f0bdSmrg		os=`echo $os | sed -e 's|mac|macos|'`
128441b2f0bdSmrg		;;
128511245024Smrg	-linux-dietlibc)
128611245024Smrg		os=-linux-dietlibc
128711245024Smrg		;;
128841b2f0bdSmrg	-linux*)
128941b2f0bdSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
129041b2f0bdSmrg		;;
129141b2f0bdSmrg	-sunos5*)
129241b2f0bdSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
129341b2f0bdSmrg		;;
129441b2f0bdSmrg	-sunos6*)
129541b2f0bdSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
129641b2f0bdSmrg		;;
129741b2f0bdSmrg	-opened*)
129841b2f0bdSmrg		os=-openedition
129941b2f0bdSmrg		;;
130011245024Smrg        -os400*)
130111245024Smrg		os=-os400
130211245024Smrg		;;
130341b2f0bdSmrg	-wince*)
130441b2f0bdSmrg		os=-wince
130541b2f0bdSmrg		;;
130641b2f0bdSmrg	-osfrose*)
130741b2f0bdSmrg		os=-osfrose
130841b2f0bdSmrg		;;
130941b2f0bdSmrg	-osf*)
131041b2f0bdSmrg		os=-osf
131141b2f0bdSmrg		;;
131241b2f0bdSmrg	-utek*)
131341b2f0bdSmrg		os=-bsd
131441b2f0bdSmrg		;;
131541b2f0bdSmrg	-dynix*)
131641b2f0bdSmrg		os=-bsd
131741b2f0bdSmrg		;;
131841b2f0bdSmrg	-acis*)
131941b2f0bdSmrg		os=-aos
132041b2f0bdSmrg		;;
132141b2f0bdSmrg	-atheos*)
132241b2f0bdSmrg		os=-atheos
132341b2f0bdSmrg		;;
132411245024Smrg	-syllable*)
132511245024Smrg		os=-syllable
132611245024Smrg		;;
132741b2f0bdSmrg	-386bsd)
132841b2f0bdSmrg		os=-bsd
132941b2f0bdSmrg		;;
133041b2f0bdSmrg	-ctix* | -uts*)
133141b2f0bdSmrg		os=-sysv
133241b2f0bdSmrg		;;
133341b2f0bdSmrg	-nova*)
133441b2f0bdSmrg		os=-rtmk-nova
133541b2f0bdSmrg		;;
133641b2f0bdSmrg	-ns2 )
133741b2f0bdSmrg		os=-nextstep2
133841b2f0bdSmrg		;;
133941b2f0bdSmrg	-nsk*)
134041b2f0bdSmrg		os=-nsk
134141b2f0bdSmrg		;;
134241b2f0bdSmrg	# Preserve the version number of sinix5.
134341b2f0bdSmrg	-sinix5.*)
134441b2f0bdSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
134541b2f0bdSmrg		;;
134641b2f0bdSmrg	-sinix*)
134741b2f0bdSmrg		os=-sysv4
134841b2f0bdSmrg		;;
134911245024Smrg        -tpf*)
135011245024Smrg		os=-tpf
135111245024Smrg		;;
135241b2f0bdSmrg	-triton*)
135341b2f0bdSmrg		os=-sysv3
135441b2f0bdSmrg		;;
135541b2f0bdSmrg	-oss*)
135641b2f0bdSmrg		os=-sysv3
135741b2f0bdSmrg		;;
135841b2f0bdSmrg	-svr4)
135941b2f0bdSmrg		os=-sysv4
136041b2f0bdSmrg		;;
136141b2f0bdSmrg	-svr3)
136241b2f0bdSmrg		os=-sysv3
136341b2f0bdSmrg		;;
136441b2f0bdSmrg	-sysvr4)
136541b2f0bdSmrg		os=-sysv4
136641b2f0bdSmrg		;;
136741b2f0bdSmrg	# This must come after -sysvr4.
136841b2f0bdSmrg	-sysv*)
136941b2f0bdSmrg		;;
137041b2f0bdSmrg	-ose*)
137141b2f0bdSmrg		os=-ose
137241b2f0bdSmrg		;;
137341b2f0bdSmrg	-es1800*)
137441b2f0bdSmrg		os=-ose
137541b2f0bdSmrg		;;
137641b2f0bdSmrg	-xenix)
137741b2f0bdSmrg		os=-xenix
137841b2f0bdSmrg		;;
137941b2f0bdSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
138041b2f0bdSmrg		os=-mint
138141b2f0bdSmrg		;;
138241b2f0bdSmrg	-aros*)
138341b2f0bdSmrg		os=-aros
138441b2f0bdSmrg		;;
138541b2f0bdSmrg	-kaos*)
138641b2f0bdSmrg		os=-kaos
138741b2f0bdSmrg		;;
138811245024Smrg	-zvmoe)
138911245024Smrg		os=-zvmoe
139011245024Smrg		;;
139141b2f0bdSmrg	-none)
139241b2f0bdSmrg		;;
139341b2f0bdSmrg	*)
139441b2f0bdSmrg		# Get rid of the `-' at the beginning of $os.
139541b2f0bdSmrg		os=`echo $os | sed 's/[^-]*-//'`
139641b2f0bdSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
139741b2f0bdSmrg		exit 1
139841b2f0bdSmrg		;;
139941b2f0bdSmrgesac
140041b2f0bdSmrgelse
140141b2f0bdSmrg
140241b2f0bdSmrg# Here we handle the default operating systems that come with various machines.
140341b2f0bdSmrg# The value should be what the vendor currently ships out the door with their
140441b2f0bdSmrg# machine or put another way, the most popular os provided with the machine.
140541b2f0bdSmrg
140641b2f0bdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
140741b2f0bdSmrg# "-sun"), then you have to tell the case statement up towards the top
140841b2f0bdSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
140941b2f0bdSmrg# will signal an error saying that MANUFACTURER isn't an operating
141041b2f0bdSmrg# system, and we'll never get to this point.
141141b2f0bdSmrg
141241b2f0bdSmrgcase $basic_machine in
141311245024Smrg        score-*)
141411245024Smrg		os=-elf
141511245024Smrg		;;
141611245024Smrg        spu-*)
141711245024Smrg		os=-elf
141811245024Smrg		;;
141941b2f0bdSmrg	*-acorn)
142041b2f0bdSmrg		os=-riscix1.2
142141b2f0bdSmrg		;;
142241b2f0bdSmrg	arm*-rebel)
142341b2f0bdSmrg		os=-linux
142441b2f0bdSmrg		;;
142541b2f0bdSmrg	arm*-semi)
142641b2f0bdSmrg		os=-aout
142741b2f0bdSmrg		;;
142811245024Smrg        c4x-* | tic4x-*)
142911245024Smrg        	os=-coff
143041b2f0bdSmrg		;;
143141b2f0bdSmrg	# This must come before the *-dec entry.
143241b2f0bdSmrg	pdp10-*)
143341b2f0bdSmrg		os=-tops20
143441b2f0bdSmrg		;;
143541b2f0bdSmrg	pdp11-*)
143641b2f0bdSmrg		os=-none
143741b2f0bdSmrg		;;
143841b2f0bdSmrg	*-dec | vax-*)
143941b2f0bdSmrg		os=-ultrix4.2
144041b2f0bdSmrg		;;
144141b2f0bdSmrg	m68*-apollo)
144241b2f0bdSmrg		os=-domain
144341b2f0bdSmrg		;;
144441b2f0bdSmrg	i386-sun)
144541b2f0bdSmrg		os=-sunos4.0.2
144641b2f0bdSmrg		;;
144741b2f0bdSmrg	m68000-sun)
144841b2f0bdSmrg		os=-sunos3
144941b2f0bdSmrg		# This also exists in the configure program, but was not the
145041b2f0bdSmrg		# default.
145141b2f0bdSmrg		# os=-sunos4
145241b2f0bdSmrg		;;
145341b2f0bdSmrg	m68*-cisco)
145441b2f0bdSmrg		os=-aout
145541b2f0bdSmrg		;;
145611245024Smrg        mep-*)
145711245024Smrg		os=-elf
145811245024Smrg		;;
145941b2f0bdSmrg	mips*-cisco)
146041b2f0bdSmrg		os=-elf
146141b2f0bdSmrg		;;
146241b2f0bdSmrg	mips*-*)
146341b2f0bdSmrg		os=-elf
146441b2f0bdSmrg		;;
146541b2f0bdSmrg	or32-*)
146641b2f0bdSmrg		os=-coff
146741b2f0bdSmrg		;;
146841b2f0bdSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
146941b2f0bdSmrg		os=-sysv3
147041b2f0bdSmrg		;;
147141b2f0bdSmrg	sparc-* | *-sun)
147241b2f0bdSmrg		os=-sunos4.1.1
147341b2f0bdSmrg		;;
147441b2f0bdSmrg	*-be)
147541b2f0bdSmrg		os=-beos
147641b2f0bdSmrg		;;
147711245024Smrg	*-haiku)
147811245024Smrg		os=-haiku
147911245024Smrg		;;
148041b2f0bdSmrg	*-ibm)
148141b2f0bdSmrg		os=-aix
148241b2f0bdSmrg		;;
148311245024Smrg    	*-knuth)
148411245024Smrg		os=-mmixware
148511245024Smrg		;;
148641b2f0bdSmrg	*-wec)
148741b2f0bdSmrg		os=-proelf
148841b2f0bdSmrg		;;
148941b2f0bdSmrg	*-winbond)
149041b2f0bdSmrg		os=-proelf
149141b2f0bdSmrg		;;
149241b2f0bdSmrg	*-oki)
149341b2f0bdSmrg		os=-proelf
149441b2f0bdSmrg		;;
149541b2f0bdSmrg	*-hp)
149641b2f0bdSmrg		os=-hpux
149741b2f0bdSmrg		;;
149841b2f0bdSmrg	*-hitachi)
149941b2f0bdSmrg		os=-hiux
150041b2f0bdSmrg		;;
150141b2f0bdSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
150241b2f0bdSmrg		os=-sysv
150341b2f0bdSmrg		;;
150441b2f0bdSmrg	*-cbm)
150541b2f0bdSmrg		os=-amigaos
150641b2f0bdSmrg		;;
150741b2f0bdSmrg	*-dg)
150841b2f0bdSmrg		os=-dgux
150941b2f0bdSmrg		;;
151041b2f0bdSmrg	*-dolphin)
151141b2f0bdSmrg		os=-sysv3
151241b2f0bdSmrg		;;
151341b2f0bdSmrg	m68k-ccur)
151441b2f0bdSmrg		os=-rtu
151541b2f0bdSmrg		;;
151641b2f0bdSmrg	m88k-omron*)
151741b2f0bdSmrg		os=-luna
151841b2f0bdSmrg		;;
151941b2f0bdSmrg	*-next )
152041b2f0bdSmrg		os=-nextstep
152141b2f0bdSmrg		;;
152241b2f0bdSmrg	*-sequent)
152341b2f0bdSmrg		os=-ptx
152441b2f0bdSmrg		;;
152541b2f0bdSmrg	*-crds)
152641b2f0bdSmrg		os=-unos
152741b2f0bdSmrg		;;
152841b2f0bdSmrg	*-ns)
152941b2f0bdSmrg		os=-genix
153041b2f0bdSmrg		;;
153141b2f0bdSmrg	i370-*)
153241b2f0bdSmrg		os=-mvs
153341b2f0bdSmrg		;;
153441b2f0bdSmrg	*-next)
153541b2f0bdSmrg		os=-nextstep3
153641b2f0bdSmrg		;;
153741b2f0bdSmrg	*-gould)
153841b2f0bdSmrg		os=-sysv
153941b2f0bdSmrg		;;
154041b2f0bdSmrg	*-highlevel)
154141b2f0bdSmrg		os=-bsd
154241b2f0bdSmrg		;;
154341b2f0bdSmrg	*-encore)
154441b2f0bdSmrg		os=-bsd
154541b2f0bdSmrg		;;
154641b2f0bdSmrg	*-sgi)
154741b2f0bdSmrg		os=-irix
154841b2f0bdSmrg		;;
154941b2f0bdSmrg	*-siemens)
155041b2f0bdSmrg		os=-sysv4
155141b2f0bdSmrg		;;
155241b2f0bdSmrg	*-masscomp)
155341b2f0bdSmrg		os=-rtu
155441b2f0bdSmrg		;;
155541b2f0bdSmrg	f30[01]-fujitsu | f700-fujitsu)
155641b2f0bdSmrg		os=-uxpv
155741b2f0bdSmrg		;;
155841b2f0bdSmrg	*-rom68k)
155941b2f0bdSmrg		os=-coff
156041b2f0bdSmrg		;;
156141b2f0bdSmrg	*-*bug)
156241b2f0bdSmrg		os=-coff
156341b2f0bdSmrg		;;
156441b2f0bdSmrg	*-apple)
156541b2f0bdSmrg		os=-macos
156641b2f0bdSmrg		;;
156741b2f0bdSmrg	*-atari*)
156841b2f0bdSmrg		os=-mint
156941b2f0bdSmrg		;;
157041b2f0bdSmrg	*)
157141b2f0bdSmrg		os=-none
157241b2f0bdSmrg		;;
157341b2f0bdSmrgesac
157441b2f0bdSmrgfi
157541b2f0bdSmrg
157641b2f0bdSmrg# Here we handle the case where we know the os, and the CPU type, but not the
157741b2f0bdSmrg# manufacturer.  We pick the logical manufacturer.
157841b2f0bdSmrgvendor=unknown
157941b2f0bdSmrgcase $basic_machine in
158041b2f0bdSmrg	*-unknown)
158141b2f0bdSmrg		case $os in
158241b2f0bdSmrg			-riscix*)
158341b2f0bdSmrg				vendor=acorn
158441b2f0bdSmrg				;;
158541b2f0bdSmrg			-sunos*)
158641b2f0bdSmrg				vendor=sun
158741b2f0bdSmrg				;;
158841b2f0bdSmrg			-aix*)
158941b2f0bdSmrg				vendor=ibm
159041b2f0bdSmrg				;;
159141b2f0bdSmrg			-beos*)
159241b2f0bdSmrg				vendor=be
159341b2f0bdSmrg				;;
159441b2f0bdSmrg			-hpux*)
159541b2f0bdSmrg				vendor=hp
159641b2f0bdSmrg				;;
159741b2f0bdSmrg			-mpeix*)
159841b2f0bdSmrg				vendor=hp
159941b2f0bdSmrg				;;
160041b2f0bdSmrg			-hiux*)
160141b2f0bdSmrg				vendor=hitachi
160241b2f0bdSmrg				;;
160341b2f0bdSmrg			-unos*)
160441b2f0bdSmrg				vendor=crds
160541b2f0bdSmrg				;;
160641b2f0bdSmrg			-dgux*)
160741b2f0bdSmrg				vendor=dg
160841b2f0bdSmrg				;;
160941b2f0bdSmrg			-luna*)
161041b2f0bdSmrg				vendor=omron
161141b2f0bdSmrg				;;
161241b2f0bdSmrg			-genix*)
161341b2f0bdSmrg				vendor=ns
161441b2f0bdSmrg				;;
161541b2f0bdSmrg			-mvs* | -opened*)
161641b2f0bdSmrg				vendor=ibm
161741b2f0bdSmrg				;;
161811245024Smrg			-os400*)
161911245024Smrg				vendor=ibm
162011245024Smrg				;;
162141b2f0bdSmrg			-ptx*)
162241b2f0bdSmrg				vendor=sequent
162341b2f0bdSmrg				;;
162411245024Smrg			-tpf*)
162511245024Smrg				vendor=ibm
162611245024Smrg				;;
162741b2f0bdSmrg			-vxsim* | -vxworks* | -windiss*)
162841b2f0bdSmrg				vendor=wrs
162941b2f0bdSmrg				;;
163041b2f0bdSmrg			-aux*)
163141b2f0bdSmrg				vendor=apple
163241b2f0bdSmrg				;;
163341b2f0bdSmrg			-hms*)
163441b2f0bdSmrg				vendor=hitachi
163541b2f0bdSmrg				;;
163641b2f0bdSmrg			-mpw* | -macos*)
163741b2f0bdSmrg				vendor=apple
163841b2f0bdSmrg				;;
163941b2f0bdSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
164041b2f0bdSmrg				vendor=atari
164141b2f0bdSmrg				;;
164241b2f0bdSmrg			-vos*)
164341b2f0bdSmrg				vendor=stratus
164441b2f0bdSmrg				;;
164541b2f0bdSmrg		esac
164641b2f0bdSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
164741b2f0bdSmrg		;;
164841b2f0bdSmrgesac
164941b2f0bdSmrg
165041b2f0bdSmrgecho $basic_machine$os
165111245024Smrgexit
165241b2f0bdSmrg
165341b2f0bdSmrg# Local variables:
165441b2f0bdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
165541b2f0bdSmrg# time-stamp-start: "timestamp='"
165641b2f0bdSmrg# time-stamp-format: "%:y-%02m-%02d"
165741b2f0bdSmrg# time-stamp-end: "'"
165841b2f0bdSmrg# End:
1659