config.sub revision fffe5102
167f05d30Smrg#! /bin/sh
267f05d30Smrg# Configuration validation subroutine script.
367f05d30Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4fffe5102Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5fffe5102Smrg#   Free Software Foundation, Inc.
667f05d30Smrg
7fffe5102Smrgtimestamp='2009-11-20'
867f05d30Smrg
967f05d30Smrg# This file is (in principle) common to ALL GNU software.
1067f05d30Smrg# The presence of a machine in this file suggests that SOME GNU software
1167f05d30Smrg# can handle that machine.  It does not imply ALL GNU software can.
1267f05d30Smrg#
1367f05d30Smrg# This file is free software; you can redistribute it and/or modify
1467f05d30Smrg# it under the terms of the GNU General Public License as published by
1567f05d30Smrg# the Free Software Foundation; either version 2 of the License, or
1667f05d30Smrg# (at your option) any later version.
1767f05d30Smrg#
1867f05d30Smrg# This program is distributed in the hope that it will be useful,
1967f05d30Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
2067f05d30Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2167f05d30Smrg# GNU General Public License for more details.
2267f05d30Smrg#
2367f05d30Smrg# You should have received a copy of the GNU General Public License
2467f05d30Smrg# along with this program; if not, write to the Free Software
25fffe5102Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26fffe5102Smrg# 02110-1301, USA.
27fffe5102Smrg#
2867f05d30Smrg# As a special exception to the GNU General Public License, if you
2967f05d30Smrg# distribute this file as part of a program that contains a
3067f05d30Smrg# configuration script generated by Autoconf, you may include it under
3167f05d30Smrg# the same distribution terms that you use for the rest of that program.
3267f05d30Smrg
33fffe5102Smrg
3467f05d30Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35fffe5102Smrg# diff and a properly formatted GNU ChangeLog entry.
3667f05d30Smrg#
3767f05d30Smrg# Configuration subroutine to validate and canonicalize a configuration type.
3867f05d30Smrg# Supply the specified configuration type as an argument.
3967f05d30Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
4067f05d30Smrg# Otherwise, we print the canonical config type on stdout and succeed.
4167f05d30Smrg
42fffe5102Smrg# You can get the latest version of this script from:
43fffe5102Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44fffe5102Smrg
4567f05d30Smrg# This file is supposed to be the same for all GNU packages
4667f05d30Smrg# and recognize all the CPU types, system types and aliases
4767f05d30Smrg# that are meaningful with *any* GNU software.
4867f05d30Smrg# Each package is responsible for reporting which valid configurations
4967f05d30Smrg# it does not support.  The user should be able to distinguish
5067f05d30Smrg# a failure to support a valid configuration from a meaningless
5167f05d30Smrg# configuration.
5267f05d30Smrg
5367f05d30Smrg# The goal of this file is to map all the various variations of a given
5467f05d30Smrg# machine specification into a single specification in the form:
5567f05d30Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5667f05d30Smrg# or in some cases, the newer four-part form:
5767f05d30Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5867f05d30Smrg# It is wrong to echo any other type of specification.
5967f05d30Smrg
6067f05d30Smrgme=`echo "$0" | sed -e 's,.*/,,'`
6167f05d30Smrg
6267f05d30Smrgusage="\
6367f05d30SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
6467f05d30Smrg       $0 [OPTION] ALIAS
6567f05d30Smrg
6667f05d30SmrgCanonicalize a configuration name.
6767f05d30Smrg
6867f05d30SmrgOperation modes:
6967f05d30Smrg  -h, --help         print this help, then exit
7067f05d30Smrg  -t, --time-stamp   print date of last modification, then exit
7167f05d30Smrg  -v, --version      print version number, then exit
7267f05d30Smrg
7367f05d30SmrgReport bugs and patches to <config-patches@gnu.org>."
7467f05d30Smrg
7567f05d30Smrgversion="\
7667f05d30SmrgGNU config.sub ($timestamp)
7767f05d30Smrg
78fffe5102SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
79fffe5102Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
8067f05d30Smrg
8167f05d30SmrgThis is free software; see the source for copying conditions.  There is NO
8267f05d30Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8367f05d30Smrg
8467f05d30Smrghelp="
8567f05d30SmrgTry \`$me --help' for more information."
8667f05d30Smrg
8767f05d30Smrg# Parse command line
8867f05d30Smrgwhile test $# -gt 0 ; do
8967f05d30Smrg  case $1 in
9067f05d30Smrg    --time-stamp | --time* | -t )
91fffe5102Smrg       echo "$timestamp" ; exit ;;
9267f05d30Smrg    --version | -v )
93fffe5102Smrg       echo "$version" ; exit ;;
9467f05d30Smrg    --help | --h* | -h )
95fffe5102Smrg       echo "$usage"; exit ;;
9667f05d30Smrg    -- )     # Stop option processing
9767f05d30Smrg       shift; break ;;
9867f05d30Smrg    - )	# Use stdin as input.
9967f05d30Smrg       break ;;
10067f05d30Smrg    -* )
10167f05d30Smrg       echo "$me: invalid option $1$help"
10267f05d30Smrg       exit 1 ;;
10367f05d30Smrg
10467f05d30Smrg    *local*)
10567f05d30Smrg       # First pass through any local machine types.
10667f05d30Smrg       echo $1
107fffe5102Smrg       exit ;;
10867f05d30Smrg
10967f05d30Smrg    * )
11067f05d30Smrg       break ;;
11167f05d30Smrg  esac
11267f05d30Smrgdone
11367f05d30Smrg
11467f05d30Smrgcase $# in
11567f05d30Smrg 0) echo "$me: missing argument$help" >&2
11667f05d30Smrg    exit 1;;
11767f05d30Smrg 1) ;;
11867f05d30Smrg *) echo "$me: too many arguments$help" >&2
11967f05d30Smrg    exit 1;;
12067f05d30Smrgesac
12167f05d30Smrg
12267f05d30Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12367f05d30Smrg# Here we must recognize all the valid KERNEL-OS combinations.
12467f05d30Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12567f05d30Smrgcase $maybe_os in
126fffe5102Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
127fffe5102Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
128fffe5102Smrg  kopensolaris*-gnu* | \
129fffe5102Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
13067f05d30Smrg    os=-$maybe_os
13167f05d30Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
13267f05d30Smrg    ;;
13367f05d30Smrg  *)
13467f05d30Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13567f05d30Smrg    if [ $basic_machine != $1 ]
13667f05d30Smrg    then os=`echo $1 | sed 's/.*-/-/'`
13767f05d30Smrg    else os=; fi
13867f05d30Smrg    ;;
13967f05d30Smrgesac
14067f05d30Smrg
14167f05d30Smrg### Let's recognize common machines as not being operating systems so
14267f05d30Smrg### that things like config.sub decstation-3100 work.  We also
14367f05d30Smrg### recognize some manufacturers as not being operating systems, so we
14467f05d30Smrg### can provide default operating systems below.
14567f05d30Smrgcase $os in
14667f05d30Smrg	-sun*os*)
14767f05d30Smrg		# Prevent following clause from handling this invalid input.
14867f05d30Smrg		;;
14967f05d30Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
15067f05d30Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
15167f05d30Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
15267f05d30Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
15367f05d30Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15467f05d30Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
155fffe5102Smrg	-apple | -axis | -knuth | -cray | -microblaze)
15667f05d30Smrg		os=
15767f05d30Smrg		basic_machine=$1
15867f05d30Smrg		;;
159fffe5102Smrg        -bluegene*)
160fffe5102Smrg	        os=-cnk
161fffe5102Smrg		;;
16267f05d30Smrg	-sim | -cisco | -oki | -wec | -winbond)
16367f05d30Smrg		os=
16467f05d30Smrg		basic_machine=$1
16567f05d30Smrg		;;
16667f05d30Smrg	-scout)
16767f05d30Smrg		;;
16867f05d30Smrg	-wrs)
16967f05d30Smrg		os=-vxworks
17067f05d30Smrg		basic_machine=$1
17167f05d30Smrg		;;
17267f05d30Smrg	-chorusos*)
17367f05d30Smrg		os=-chorusos
17467f05d30Smrg		basic_machine=$1
17567f05d30Smrg		;;
17667f05d30Smrg 	-chorusrdb)
17767f05d30Smrg 		os=-chorusrdb
17867f05d30Smrg		basic_machine=$1
17967f05d30Smrg 		;;
18067f05d30Smrg	-hiux*)
18167f05d30Smrg		os=-hiuxwe2
18267f05d30Smrg		;;
183fffe5102Smrg	-sco6)
184fffe5102Smrg		os=-sco5v6
185fffe5102Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
186fffe5102Smrg		;;
18767f05d30Smrg	-sco5)
18867f05d30Smrg		os=-sco3.2v5
18967f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19067f05d30Smrg		;;
19167f05d30Smrg	-sco4)
19267f05d30Smrg		os=-sco3.2v4
19367f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19467f05d30Smrg		;;
19567f05d30Smrg	-sco3.2.[4-9]*)
19667f05d30Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19767f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19867f05d30Smrg		;;
19967f05d30Smrg	-sco3.2v[4-9]*)
20067f05d30Smrg		# Don't forget version if it is 3.2v4 or newer.
20167f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20267f05d30Smrg		;;
203fffe5102Smrg	-sco5v6*)
204fffe5102Smrg		# Don't forget version if it is 3.2v4 or newer.
205fffe5102Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206fffe5102Smrg		;;
20767f05d30Smrg	-sco*)
20867f05d30Smrg		os=-sco3.2v2
20967f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21067f05d30Smrg		;;
21167f05d30Smrg	-udk*)
21267f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21367f05d30Smrg		;;
21467f05d30Smrg	-isc)
21567f05d30Smrg		os=-isc2.2
21667f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21767f05d30Smrg		;;
21867f05d30Smrg	-clix*)
21967f05d30Smrg		basic_machine=clipper-intergraph
22067f05d30Smrg		;;
22167f05d30Smrg	-isc*)
22267f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
22367f05d30Smrg		;;
22467f05d30Smrg	-lynx*)
22567f05d30Smrg		os=-lynxos
22667f05d30Smrg		;;
22767f05d30Smrg	-ptx*)
22867f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
22967f05d30Smrg		;;
23067f05d30Smrg	-windowsnt*)
23167f05d30Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
23267f05d30Smrg		;;
23367f05d30Smrg	-psos*)
23467f05d30Smrg		os=-psos
23567f05d30Smrg		;;
23667f05d30Smrg	-mint | -mint[0-9]*)
23767f05d30Smrg		basic_machine=m68k-atari
23867f05d30Smrg		os=-mint
23967f05d30Smrg		;;
24067f05d30Smrgesac
24167f05d30Smrg
24267f05d30Smrg# Decode aliases for certain CPU-COMPANY combinations.
24367f05d30Smrgcase $basic_machine in
24467f05d30Smrg	# Recognize the basic CPU types without company name.
24567f05d30Smrg	# Some are omitted here because they have special meanings below.
24667f05d30Smrg	1750a | 580 \
24767f05d30Smrg	| a29k \
24867f05d30Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
24967f05d30Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
250fffe5102Smrg	| am33_2.0 \
251fffe5102Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
252fffe5102Smrg	| bfin \
25367f05d30Smrg	| c4x | clipper \
25467f05d30Smrg	| d10v | d30v | dlx | dsp16xx \
255fffe5102Smrg	| fido | fr30 | frv \
25667f05d30Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25767f05d30Smrg	| i370 | i860 | i960 | ia64 \
258fffe5102Smrg	| ip2k | iq2000 \
259fffe5102Smrg	| lm32 \
260fffe5102Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
261fffe5102Smrg	| maxq | mb | microblaze | mcore | mep | metag \
26267f05d30Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
26367f05d30Smrg	| mips16 \
26467f05d30Smrg	| mips64 | mips64el \
265fffe5102Smrg	| mips64octeon | mips64octeonel \
26667f05d30Smrg	| mips64orion | mips64orionel \
267fffe5102Smrg	| mips64r5900 | mips64r5900el \
268fffe5102Smrg	| mips64vr | mips64vrel \
26967f05d30Smrg	| mips64vr4100 | mips64vr4100el \
27067f05d30Smrg	| mips64vr4300 | mips64vr4300el \
27167f05d30Smrg	| mips64vr5000 | mips64vr5000el \
272fffe5102Smrg	| mips64vr5900 | mips64vr5900el \
27367f05d30Smrg	| mipsisa32 | mipsisa32el \
27467f05d30Smrg	| mipsisa32r2 | mipsisa32r2el \
27567f05d30Smrg	| mipsisa64 | mipsisa64el \
276fffe5102Smrg	| mipsisa64r2 | mipsisa64r2el \
27767f05d30Smrg	| mipsisa64sb1 | mipsisa64sb1el \
27867f05d30Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
27967f05d30Smrg	| mipstx39 | mipstx39el \
28067f05d30Smrg	| mn10200 | mn10300 \
281fffe5102Smrg	| moxie \
282fffe5102Smrg	| mt \
28367f05d30Smrg	| msp430 \
284fffe5102Smrg	| nios | nios2 \
28567f05d30Smrg	| ns16k | ns32k \
286fffe5102Smrg	| or32 \
28767f05d30Smrg	| pdp10 | pdp11 | pj | pjl \
28867f05d30Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
28967f05d30Smrg	| pyramid \
290fffe5102Smrg	| rx \
291fffe5102Smrg	| score \
292fffe5102Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
29367f05d30Smrg	| sh64 | sh64le \
294fffe5102Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
295fffe5102Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
296fffe5102Smrg	| spu | strongarm \
29767f05d30Smrg	| tahoe | thumb | tic4x | tic80 | tron \
298fffe5102Smrg	| ubicom32 \
29967f05d30Smrg	| v850 | v850e \
30067f05d30Smrg	| we32k \
301fffe5102Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
302fffe5102Smrg	| z8k | z80)
30367f05d30Smrg		basic_machine=$basic_machine-unknown
30467f05d30Smrg		;;
305fffe5102Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
30667f05d30Smrg		# Motorola 68HC11/12.
30767f05d30Smrg		basic_machine=$basic_machine-unknown
30867f05d30Smrg		os=-none
30967f05d30Smrg		;;
31067f05d30Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
31167f05d30Smrg		;;
312fffe5102Smrg	ms1)
313fffe5102Smrg		basic_machine=mt-unknown
314fffe5102Smrg		;;
31567f05d30Smrg
31667f05d30Smrg	# We use `pc' rather than `unknown'
31767f05d30Smrg	# because (1) that's what they normally are, and
31867f05d30Smrg	# (2) the word "unknown" tends to confuse beginning users.
31967f05d30Smrg	i*86 | x86_64)
32067f05d30Smrg	  basic_machine=$basic_machine-pc
32167f05d30Smrg	  ;;
32267f05d30Smrg	# Object if more than one company name word.
32367f05d30Smrg	*-*-*)
32467f05d30Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
32567f05d30Smrg		exit 1
32667f05d30Smrg		;;
32767f05d30Smrg	# Recognize the basic CPU types with company name.
32867f05d30Smrg	580-* \
32967f05d30Smrg	| a29k-* \
33067f05d30Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
33167f05d30Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
33267f05d30Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
33367f05d30Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
334fffe5102Smrg	| avr-* | avr32-* \
335fffe5102Smrg	| bfin-* | bs2000-* \
33667f05d30Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
337fffe5102Smrg	| clipper-* | craynv-* | cydra-* \
33867f05d30Smrg	| d10v-* | d30v-* | dlx-* \
33967f05d30Smrg	| elxsi-* \
340fffe5102Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
34167f05d30Smrg	| h8300-* | h8500-* \
34267f05d30Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
34367f05d30Smrg	| i*86-* | i860-* | i960-* | ia64-* \
344fffe5102Smrg	| ip2k-* | iq2000-* \
345fffe5102Smrg	| lm32-* \
346fffe5102Smrg	| m32c-* | m32r-* | m32rle-* \
34767f05d30Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
348fffe5102Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
34967f05d30Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
35067f05d30Smrg	| mips16-* \
35167f05d30Smrg	| mips64-* | mips64el-* \
352fffe5102Smrg	| mips64octeon-* | mips64octeonel-* \
35367f05d30Smrg	| mips64orion-* | mips64orionel-* \
354fffe5102Smrg	| mips64r5900-* | mips64r5900el-* \
355fffe5102Smrg	| mips64vr-* | mips64vrel-* \
35667f05d30Smrg	| mips64vr4100-* | mips64vr4100el-* \
35767f05d30Smrg	| mips64vr4300-* | mips64vr4300el-* \
35867f05d30Smrg	| mips64vr5000-* | mips64vr5000el-* \
359fffe5102Smrg	| mips64vr5900-* | mips64vr5900el-* \
36067f05d30Smrg	| mipsisa32-* | mipsisa32el-* \
36167f05d30Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
36267f05d30Smrg	| mipsisa64-* | mipsisa64el-* \
363fffe5102Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
36467f05d30Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
36567f05d30Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
36667f05d30Smrg	| mipstx39-* | mipstx39el-* \
367fffe5102Smrg	| mmix-* \
368fffe5102Smrg	| mt-* \
36967f05d30Smrg	| msp430-* \
370fffe5102Smrg	| nios-* | nios2-* \
371fffe5102Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
37267f05d30Smrg	| orion-* \
37367f05d30Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
37467f05d30Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
37567f05d30Smrg	| pyramid-* \
376fffe5102Smrg	| romp-* | rs6000-* | rx-* \
377fffe5102Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
37867f05d30Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
379fffe5102Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
380fffe5102Smrg	| sparclite-* \
381fffe5102Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
38267f05d30Smrg	| tahoe-* | thumb-* \
383fffe5102Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
38467f05d30Smrg	| tron-* \
385fffe5102Smrg	| ubicom32-* \
38667f05d30Smrg	| v850-* | v850e-* | vax-* \
38767f05d30Smrg	| we32k-* \
388fffe5102Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
389fffe5102Smrg	| xstormy16-* | xtensa*-* \
39067f05d30Smrg	| ymp-* \
391fffe5102Smrg	| z8k-* | z80-*)
392fffe5102Smrg		;;
393fffe5102Smrg	# Recognize the basic CPU types without company name, with glob match.
394fffe5102Smrg	xtensa*)
395fffe5102Smrg		basic_machine=$basic_machine-unknown
39667f05d30Smrg		;;
39767f05d30Smrg	# Recognize the various machine names and aliases which stand
39867f05d30Smrg	# for a CPU type and a company and sometimes even an OS.
39967f05d30Smrg	386bsd)
40067f05d30Smrg		basic_machine=i386-unknown
40167f05d30Smrg		os=-bsd
40267f05d30Smrg		;;
40367f05d30Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
40467f05d30Smrg		basic_machine=m68000-att
40567f05d30Smrg		;;
40667f05d30Smrg	3b*)
40767f05d30Smrg		basic_machine=we32k-att
40867f05d30Smrg		;;
40967f05d30Smrg	a29khif)
41067f05d30Smrg		basic_machine=a29k-amd
41167f05d30Smrg		os=-udi
41267f05d30Smrg		;;
413fffe5102Smrg    	abacus)
414fffe5102Smrg		basic_machine=abacus-unknown
415fffe5102Smrg		;;
41667f05d30Smrg	adobe68k)
41767f05d30Smrg		basic_machine=m68010-adobe
41867f05d30Smrg		os=-scout
41967f05d30Smrg		;;
42067f05d30Smrg	alliant | fx80)
42167f05d30Smrg		basic_machine=fx80-alliant
42267f05d30Smrg		;;
42367f05d30Smrg	altos | altos3068)
42467f05d30Smrg		basic_machine=m68k-altos
42567f05d30Smrg		;;
42667f05d30Smrg	am29k)
42767f05d30Smrg		basic_machine=a29k-none
42867f05d30Smrg		os=-bsd
42967f05d30Smrg		;;
43067f05d30Smrg	amd64)
43167f05d30Smrg		basic_machine=x86_64-pc
43267f05d30Smrg		;;
433fffe5102Smrg	amd64-*)
434fffe5102Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
435fffe5102Smrg		;;
43667f05d30Smrg	amdahl)
43767f05d30Smrg		basic_machine=580-amdahl
43867f05d30Smrg		os=-sysv
43967f05d30Smrg		;;
44067f05d30Smrg	amiga | amiga-*)
44167f05d30Smrg		basic_machine=m68k-unknown
44267f05d30Smrg		;;
44367f05d30Smrg	amigaos | amigados)
44467f05d30Smrg		basic_machine=m68k-unknown
44567f05d30Smrg		os=-amigaos
44667f05d30Smrg		;;
44767f05d30Smrg	amigaunix | amix)
44867f05d30Smrg		basic_machine=m68k-unknown
44967f05d30Smrg		os=-sysv4
45067f05d30Smrg		;;
45167f05d30Smrg	apollo68)
45267f05d30Smrg		basic_machine=m68k-apollo
45367f05d30Smrg		os=-sysv
45467f05d30Smrg		;;
45567f05d30Smrg	apollo68bsd)
45667f05d30Smrg		basic_machine=m68k-apollo
45767f05d30Smrg		os=-bsd
45867f05d30Smrg		;;
459fffe5102Smrg	aros)
460fffe5102Smrg		basic_machine=i386-pc
461fffe5102Smrg		os=-aros
462fffe5102Smrg		;;
46367f05d30Smrg	aux)
46467f05d30Smrg		basic_machine=m68k-apple
46567f05d30Smrg		os=-aux
46667f05d30Smrg		;;
46767f05d30Smrg	balance)
46867f05d30Smrg		basic_machine=ns32k-sequent
46967f05d30Smrg		os=-dynix
47067f05d30Smrg		;;
471fffe5102Smrg	blackfin)
472fffe5102Smrg		basic_machine=bfin-unknown
473fffe5102Smrg		os=-linux
474fffe5102Smrg		;;
475fffe5102Smrg	blackfin-*)
476fffe5102Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
477fffe5102Smrg		os=-linux
478fffe5102Smrg		;;
479fffe5102Smrg	bluegene*)
480fffe5102Smrg		basic_machine=powerpc-ibm
481fffe5102Smrg		os=-cnk
482fffe5102Smrg		;;
48367f05d30Smrg	c90)
48467f05d30Smrg		basic_machine=c90-cray
48567f05d30Smrg		os=-unicos
48667f05d30Smrg		;;
487fffe5102Smrg        cegcc)
488fffe5102Smrg		basic_machine=arm-unknown
489fffe5102Smrg		os=-cegcc
490fffe5102Smrg		;;
49167f05d30Smrg	convex-c1)
49267f05d30Smrg		basic_machine=c1-convex
49367f05d30Smrg		os=-bsd
49467f05d30Smrg		;;
49567f05d30Smrg	convex-c2)
49667f05d30Smrg		basic_machine=c2-convex
49767f05d30Smrg		os=-bsd
49867f05d30Smrg		;;
49967f05d30Smrg	convex-c32)
50067f05d30Smrg		basic_machine=c32-convex
50167f05d30Smrg		os=-bsd
50267f05d30Smrg		;;
50367f05d30Smrg	convex-c34)
50467f05d30Smrg		basic_machine=c34-convex
50567f05d30Smrg		os=-bsd
50667f05d30Smrg		;;
50767f05d30Smrg	convex-c38)
50867f05d30Smrg		basic_machine=c38-convex
50967f05d30Smrg		os=-bsd
51067f05d30Smrg		;;
51167f05d30Smrg	cray | j90)
51267f05d30Smrg		basic_machine=j90-cray
51367f05d30Smrg		os=-unicos
51467f05d30Smrg		;;
515fffe5102Smrg	craynv)
516fffe5102Smrg		basic_machine=craynv-cray
517fffe5102Smrg		os=-unicosmp
518fffe5102Smrg		;;
519fffe5102Smrg	cr16)
520fffe5102Smrg		basic_machine=cr16-unknown
521fffe5102Smrg		os=-elf
522fffe5102Smrg		;;
52367f05d30Smrg	crds | unos)
52467f05d30Smrg		basic_machine=m68k-crds
52567f05d30Smrg		;;
526fffe5102Smrg	crisv32 | crisv32-* | etraxfs*)
527fffe5102Smrg		basic_machine=crisv32-axis
528fffe5102Smrg		;;
52967f05d30Smrg	cris | cris-* | etrax*)
53067f05d30Smrg		basic_machine=cris-axis
53167f05d30Smrg		;;
532fffe5102Smrg	crx)
533fffe5102Smrg		basic_machine=crx-unknown
534fffe5102Smrg		os=-elf
535fffe5102Smrg		;;
53667f05d30Smrg	da30 | da30-*)
53767f05d30Smrg		basic_machine=m68k-da30
53867f05d30Smrg		;;
53967f05d30Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
54067f05d30Smrg		basic_machine=mips-dec
54167f05d30Smrg		;;
54267f05d30Smrg	decsystem10* | dec10*)
54367f05d30Smrg		basic_machine=pdp10-dec
54467f05d30Smrg		os=-tops10
54567f05d30Smrg		;;
54667f05d30Smrg	decsystem20* | dec20*)
54767f05d30Smrg		basic_machine=pdp10-dec
54867f05d30Smrg		os=-tops20
54967f05d30Smrg		;;
55067f05d30Smrg	delta | 3300 | motorola-3300 | motorola-delta \
55167f05d30Smrg	      | 3300-motorola | delta-motorola)
55267f05d30Smrg		basic_machine=m68k-motorola
55367f05d30Smrg		;;
55467f05d30Smrg	delta88)
55567f05d30Smrg		basic_machine=m88k-motorola
55667f05d30Smrg		os=-sysv3
55767f05d30Smrg		;;
558fffe5102Smrg	dicos)
559fffe5102Smrg		basic_machine=i686-pc
560fffe5102Smrg		os=-dicos
561fffe5102Smrg		;;
562fffe5102Smrg	djgpp)
563fffe5102Smrg		basic_machine=i586-pc
564fffe5102Smrg		os=-msdosdjgpp
565fffe5102Smrg		;;
56667f05d30Smrg	dpx20 | dpx20-*)
56767f05d30Smrg		basic_machine=rs6000-bull
56867f05d30Smrg		os=-bosx
56967f05d30Smrg		;;
57067f05d30Smrg	dpx2* | dpx2*-bull)
57167f05d30Smrg		basic_machine=m68k-bull
57267f05d30Smrg		os=-sysv3
57367f05d30Smrg		;;
57467f05d30Smrg	ebmon29k)
57567f05d30Smrg		basic_machine=a29k-amd
57667f05d30Smrg		os=-ebmon
57767f05d30Smrg		;;
57867f05d30Smrg	elxsi)
57967f05d30Smrg		basic_machine=elxsi-elxsi
58067f05d30Smrg		os=-bsd
58167f05d30Smrg		;;
58267f05d30Smrg	encore | umax | mmax)
58367f05d30Smrg		basic_machine=ns32k-encore
58467f05d30Smrg		;;
58567f05d30Smrg	es1800 | OSE68k | ose68k | ose | OSE)
58667f05d30Smrg		basic_machine=m68k-ericsson
58767f05d30Smrg		os=-ose
58867f05d30Smrg		;;
58967f05d30Smrg	fx2800)
59067f05d30Smrg		basic_machine=i860-alliant
59167f05d30Smrg		;;
59267f05d30Smrg	genix)
59367f05d30Smrg		basic_machine=ns32k-ns
59467f05d30Smrg		;;
59567f05d30Smrg	gmicro)
59667f05d30Smrg		basic_machine=tron-gmicro
59767f05d30Smrg		os=-sysv
59867f05d30Smrg		;;
59967f05d30Smrg	go32)
60067f05d30Smrg		basic_machine=i386-pc
60167f05d30Smrg		os=-go32
60267f05d30Smrg		;;
60367f05d30Smrg	h3050r* | hiux*)
60467f05d30Smrg		basic_machine=hppa1.1-hitachi
60567f05d30Smrg		os=-hiuxwe2
60667f05d30Smrg		;;
60767f05d30Smrg	h8300hms)
60867f05d30Smrg		basic_machine=h8300-hitachi
60967f05d30Smrg		os=-hms
61067f05d30Smrg		;;
61167f05d30Smrg	h8300xray)
61267f05d30Smrg		basic_machine=h8300-hitachi
61367f05d30Smrg		os=-xray
61467f05d30Smrg		;;
61567f05d30Smrg	h8500hms)
61667f05d30Smrg		basic_machine=h8500-hitachi
61767f05d30Smrg		os=-hms
61867f05d30Smrg		;;
61967f05d30Smrg	harris)
62067f05d30Smrg		basic_machine=m88k-harris
62167f05d30Smrg		os=-sysv3
62267f05d30Smrg		;;
62367f05d30Smrg	hp300-*)
62467f05d30Smrg		basic_machine=m68k-hp
62567f05d30Smrg		;;
62667f05d30Smrg	hp300bsd)
62767f05d30Smrg		basic_machine=m68k-hp
62867f05d30Smrg		os=-bsd
62967f05d30Smrg		;;
63067f05d30Smrg	hp300hpux)
63167f05d30Smrg		basic_machine=m68k-hp
63267f05d30Smrg		os=-hpux
63367f05d30Smrg		;;
63467f05d30Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
63567f05d30Smrg		basic_machine=hppa1.0-hp
63667f05d30Smrg		;;
63767f05d30Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
63867f05d30Smrg		basic_machine=m68000-hp
63967f05d30Smrg		;;
64067f05d30Smrg	hp9k3[2-9][0-9])
64167f05d30Smrg		basic_machine=m68k-hp
64267f05d30Smrg		;;
64367f05d30Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
64467f05d30Smrg		basic_machine=hppa1.0-hp
64567f05d30Smrg		;;
64667f05d30Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
64767f05d30Smrg		basic_machine=hppa1.1-hp
64867f05d30Smrg		;;
64967f05d30Smrg	hp9k78[0-9] | hp78[0-9])
65067f05d30Smrg		# FIXME: really hppa2.0-hp
65167f05d30Smrg		basic_machine=hppa1.1-hp
65267f05d30Smrg		;;
65367f05d30Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
65467f05d30Smrg		# FIXME: really hppa2.0-hp
65567f05d30Smrg		basic_machine=hppa1.1-hp
65667f05d30Smrg		;;
65767f05d30Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
65867f05d30Smrg		basic_machine=hppa1.1-hp
65967f05d30Smrg		;;
66067f05d30Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
66167f05d30Smrg		basic_machine=hppa1.0-hp
66267f05d30Smrg		;;
66367f05d30Smrg	hppa-next)
66467f05d30Smrg		os=-nextstep3
66567f05d30Smrg		;;
66667f05d30Smrg	hppaosf)
66767f05d30Smrg		basic_machine=hppa1.1-hp
66867f05d30Smrg		os=-osf
66967f05d30Smrg		;;
67067f05d30Smrg	hppro)
67167f05d30Smrg		basic_machine=hppa1.1-hp
67267f05d30Smrg		os=-proelf
67367f05d30Smrg		;;
67467f05d30Smrg	i370-ibm* | ibm*)
67567f05d30Smrg		basic_machine=i370-ibm
67667f05d30Smrg		;;
67767f05d30Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
67867f05d30Smrg	i*86v32)
67967f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
68067f05d30Smrg		os=-sysv32
68167f05d30Smrg		;;
68267f05d30Smrg	i*86v4*)
68367f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
68467f05d30Smrg		os=-sysv4
68567f05d30Smrg		;;
68667f05d30Smrg	i*86v)
68767f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
68867f05d30Smrg		os=-sysv
68967f05d30Smrg		;;
69067f05d30Smrg	i*86sol2)
69167f05d30Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
69267f05d30Smrg		os=-solaris2
69367f05d30Smrg		;;
69467f05d30Smrg	i386mach)
69567f05d30Smrg		basic_machine=i386-mach
69667f05d30Smrg		os=-mach
69767f05d30Smrg		;;
69867f05d30Smrg	i386-vsta | vsta)
69967f05d30Smrg		basic_machine=i386-unknown
70067f05d30Smrg		os=-vsta
70167f05d30Smrg		;;
70267f05d30Smrg	iris | iris4d)
70367f05d30Smrg		basic_machine=mips-sgi
70467f05d30Smrg		case $os in
70567f05d30Smrg		    -irix*)
70667f05d30Smrg			;;
70767f05d30Smrg		    *)
70867f05d30Smrg			os=-irix4
70967f05d30Smrg			;;
71067f05d30Smrg		esac
71167f05d30Smrg		;;
71267f05d30Smrg	isi68 | isi)
71367f05d30Smrg		basic_machine=m68k-isi
71467f05d30Smrg		os=-sysv
71567f05d30Smrg		;;
716fffe5102Smrg	m68knommu)
717fffe5102Smrg		basic_machine=m68k-unknown
718fffe5102Smrg		os=-linux
719fffe5102Smrg		;;
720fffe5102Smrg	m68knommu-*)
721fffe5102Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
722fffe5102Smrg		os=-linux
723fffe5102Smrg		;;
72467f05d30Smrg	m88k-omron*)
72567f05d30Smrg		basic_machine=m88k-omron
72667f05d30Smrg		;;
72767f05d30Smrg	magnum | m3230)
72867f05d30Smrg		basic_machine=mips-mips
72967f05d30Smrg		os=-sysv
73067f05d30Smrg		;;
73167f05d30Smrg	merlin)
73267f05d30Smrg		basic_machine=ns32k-utek
73367f05d30Smrg		os=-sysv
73467f05d30Smrg		;;
735fffe5102Smrg        microblaze)
736fffe5102Smrg		basic_machine=microblaze-xilinx
737fffe5102Smrg		;;
73867f05d30Smrg	mingw32)
73967f05d30Smrg		basic_machine=i386-pc
74067f05d30Smrg		os=-mingw32
74167f05d30Smrg		;;
742fffe5102Smrg	mingw32ce)
743fffe5102Smrg		basic_machine=arm-unknown
744fffe5102Smrg		os=-mingw32ce
745fffe5102Smrg		;;
74667f05d30Smrg	miniframe)
74767f05d30Smrg		basic_machine=m68000-convergent
74867f05d30Smrg		;;
74967f05d30Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
75067f05d30Smrg		basic_machine=m68k-atari
75167f05d30Smrg		os=-mint
75267f05d30Smrg		;;
75367f05d30Smrg	mips3*-*)
75467f05d30Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
75567f05d30Smrg		;;
75667f05d30Smrg	mips3*)
75767f05d30Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
75867f05d30Smrg		;;
75967f05d30Smrg	monitor)
76067f05d30Smrg		basic_machine=m68k-rom68k
76167f05d30Smrg		os=-coff
76267f05d30Smrg		;;
76367f05d30Smrg	morphos)
76467f05d30Smrg		basic_machine=powerpc-unknown
76567f05d30Smrg		os=-morphos
76667f05d30Smrg		;;
76767f05d30Smrg	msdos)
76867f05d30Smrg		basic_machine=i386-pc
76967f05d30Smrg		os=-msdos
77067f05d30Smrg		;;
771fffe5102Smrg	ms1-*)
772fffe5102Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
773fffe5102Smrg		;;
77467f05d30Smrg	mvs)
77567f05d30Smrg		basic_machine=i370-ibm
77667f05d30Smrg		os=-mvs
77767f05d30Smrg		;;
77867f05d30Smrg	ncr3000)
77967f05d30Smrg		basic_machine=i486-ncr
78067f05d30Smrg		os=-sysv4
78167f05d30Smrg		;;
78267f05d30Smrg	netbsd386)
78367f05d30Smrg		basic_machine=i386-unknown
78467f05d30Smrg		os=-netbsd
78567f05d30Smrg		;;
78667f05d30Smrg	netwinder)
78767f05d30Smrg		basic_machine=armv4l-rebel
78867f05d30Smrg		os=-linux
78967f05d30Smrg		;;
79067f05d30Smrg	news | news700 | news800 | news900)
79167f05d30Smrg		basic_machine=m68k-sony
79267f05d30Smrg		os=-newsos
79367f05d30Smrg		;;
79467f05d30Smrg	news1000)
79567f05d30Smrg		basic_machine=m68030-sony
79667f05d30Smrg		os=-newsos
79767f05d30Smrg		;;
79867f05d30Smrg	news-3600 | risc-news)
79967f05d30Smrg		basic_machine=mips-sony
80067f05d30Smrg		os=-newsos
80167f05d30Smrg		;;
80267f05d30Smrg	necv70)
80367f05d30Smrg		basic_machine=v70-nec
80467f05d30Smrg		os=-sysv
80567f05d30Smrg		;;
80667f05d30Smrg	next | m*-next )
80767f05d30Smrg		basic_machine=m68k-next
80867f05d30Smrg		case $os in
80967f05d30Smrg		    -nextstep* )
81067f05d30Smrg			;;
81167f05d30Smrg		    -ns2*)
81267f05d30Smrg		      os=-nextstep2
81367f05d30Smrg			;;
81467f05d30Smrg		    *)
81567f05d30Smrg		      os=-nextstep3
81667f05d30Smrg			;;
81767f05d30Smrg		esac
81867f05d30Smrg		;;
81967f05d30Smrg	nh3000)
82067f05d30Smrg		basic_machine=m68k-harris
82167f05d30Smrg		os=-cxux
82267f05d30Smrg		;;
82367f05d30Smrg	nh[45]000)
82467f05d30Smrg		basic_machine=m88k-harris
82567f05d30Smrg		os=-cxux
82667f05d30Smrg		;;
82767f05d30Smrg	nindy960)
82867f05d30Smrg		basic_machine=i960-intel
82967f05d30Smrg		os=-nindy
83067f05d30Smrg		;;
83167f05d30Smrg	mon960)
83267f05d30Smrg		basic_machine=i960-intel
83367f05d30Smrg		os=-mon960
83467f05d30Smrg		;;
83567f05d30Smrg	nonstopux)
83667f05d30Smrg		basic_machine=mips-compaq
83767f05d30Smrg		os=-nonstopux
83867f05d30Smrg		;;
83967f05d30Smrg	np1)
84067f05d30Smrg		basic_machine=np1-gould
84167f05d30Smrg		;;
84267f05d30Smrg	nsr-tandem)
84367f05d30Smrg		basic_machine=nsr-tandem
84467f05d30Smrg		;;
84567f05d30Smrg	op50n-* | op60c-*)
84667f05d30Smrg		basic_machine=hppa1.1-oki
84767f05d30Smrg		os=-proelf
84867f05d30Smrg		;;
849fffe5102Smrg	openrisc | openrisc-*)
85067f05d30Smrg		basic_machine=or32-unknown
851fffe5102Smrg		;;
852fffe5102Smrg	os400)
853fffe5102Smrg		basic_machine=powerpc-ibm
854fffe5102Smrg		os=-os400
85567f05d30Smrg		;;
85667f05d30Smrg	OSE68000 | ose68000)
85767f05d30Smrg		basic_machine=m68000-ericsson
85867f05d30Smrg		os=-ose
85967f05d30Smrg		;;
86067f05d30Smrg	os68k)
86167f05d30Smrg		basic_machine=m68k-none
86267f05d30Smrg		os=-os68k
86367f05d30Smrg		;;
86467f05d30Smrg	pa-hitachi)
86567f05d30Smrg		basic_machine=hppa1.1-hitachi
86667f05d30Smrg		os=-hiuxwe2
86767f05d30Smrg		;;
86867f05d30Smrg	paragon)
86967f05d30Smrg		basic_machine=i860-intel
87067f05d30Smrg		os=-osf
87167f05d30Smrg		;;
872fffe5102Smrg	parisc)
873fffe5102Smrg		basic_machine=hppa-unknown
874fffe5102Smrg		os=-linux
875fffe5102Smrg		;;
876fffe5102Smrg	parisc-*)
877fffe5102Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
878fffe5102Smrg		os=-linux
879fffe5102Smrg		;;
88067f05d30Smrg	pbd)
88167f05d30Smrg		basic_machine=sparc-tti
88267f05d30Smrg		;;
88367f05d30Smrg	pbb)
88467f05d30Smrg		basic_machine=m68k-tti
88567f05d30Smrg		;;
88667f05d30Smrg	pc532 | pc532-*)
88767f05d30Smrg		basic_machine=ns32k-pc532
88867f05d30Smrg		;;
889fffe5102Smrg	pc98)
890fffe5102Smrg		basic_machine=i386-pc
891fffe5102Smrg		;;
892fffe5102Smrg	pc98-*)
893fffe5102Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
894fffe5102Smrg		;;
89567f05d30Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
89667f05d30Smrg		basic_machine=i586-pc
89767f05d30Smrg		;;
89867f05d30Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
89967f05d30Smrg		basic_machine=i686-pc
90067f05d30Smrg		;;
90167f05d30Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
90267f05d30Smrg		basic_machine=i686-pc
90367f05d30Smrg		;;
90467f05d30Smrg	pentium4)
90567f05d30Smrg		basic_machine=i786-pc
90667f05d30Smrg		;;
90767f05d30Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
90867f05d30Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
90967f05d30Smrg		;;
91067f05d30Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
91167f05d30Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
91267f05d30Smrg		;;
91367f05d30Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
91467f05d30Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
91567f05d30Smrg		;;
91667f05d30Smrg	pentium4-*)
91767f05d30Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
91867f05d30Smrg		;;
91967f05d30Smrg	pn)
92067f05d30Smrg		basic_machine=pn-gould
92167f05d30Smrg		;;
92267f05d30Smrg	power)	basic_machine=power-ibm
92367f05d30Smrg		;;
92467f05d30Smrg	ppc)	basic_machine=powerpc-unknown
92567f05d30Smrg		;;
92667f05d30Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
92767f05d30Smrg		;;
92867f05d30Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
92967f05d30Smrg		basic_machine=powerpcle-unknown
93067f05d30Smrg		;;
93167f05d30Smrg	ppcle-* | powerpclittle-*)
93267f05d30Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
93367f05d30Smrg		;;
93467f05d30Smrg	ppc64)	basic_machine=powerpc64-unknown
93567f05d30Smrg		;;
93667f05d30Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
93767f05d30Smrg		;;
93867f05d30Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
93967f05d30Smrg		basic_machine=powerpc64le-unknown
94067f05d30Smrg		;;
94167f05d30Smrg	ppc64le-* | powerpc64little-*)
94267f05d30Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
94367f05d30Smrg		;;
94467f05d30Smrg	ps2)
94567f05d30Smrg		basic_machine=i386-ibm
94667f05d30Smrg		;;
94767f05d30Smrg	pw32)
94867f05d30Smrg		basic_machine=i586-unknown
94967f05d30Smrg		os=-pw32
95067f05d30Smrg		;;
951fffe5102Smrg	rdos)
952fffe5102Smrg		basic_machine=i386-pc
953fffe5102Smrg		os=-rdos
954fffe5102Smrg		;;
95567f05d30Smrg	rom68k)
95667f05d30Smrg		basic_machine=m68k-rom68k
95767f05d30Smrg		os=-coff
95867f05d30Smrg		;;
95967f05d30Smrg	rm[46]00)
96067f05d30Smrg		basic_machine=mips-siemens
96167f05d30Smrg		;;
96267f05d30Smrg	rtpc | rtpc-*)
96367f05d30Smrg		basic_machine=romp-ibm
96467f05d30Smrg		;;
965fffe5102Smrg	s390 | s390-*)
966fffe5102Smrg		basic_machine=s390-ibm
967fffe5102Smrg		;;
968fffe5102Smrg	s390x | s390x-*)
969fffe5102Smrg		basic_machine=s390x-ibm
970fffe5102Smrg		;;
97167f05d30Smrg	sa29200)
97267f05d30Smrg		basic_machine=a29k-amd
97367f05d30Smrg		os=-udi
97467f05d30Smrg		;;
97567f05d30Smrg	sb1)
97667f05d30Smrg		basic_machine=mipsisa64sb1-unknown
97767f05d30Smrg		;;
97867f05d30Smrg	sb1el)
97967f05d30Smrg		basic_machine=mipsisa64sb1el-unknown
98067f05d30Smrg		;;
981fffe5102Smrg	sde)
982fffe5102Smrg		basic_machine=mipsisa32-sde
983fffe5102Smrg		os=-elf
984fffe5102Smrg		;;
98567f05d30Smrg	sei)
98667f05d30Smrg		basic_machine=mips-sei
98767f05d30Smrg		os=-seiux
98867f05d30Smrg		;;
98967f05d30Smrg	sequent)
99067f05d30Smrg		basic_machine=i386-sequent
99167f05d30Smrg		;;
99267f05d30Smrg	sh)
99367f05d30Smrg		basic_machine=sh-hitachi
99467f05d30Smrg		os=-hms
99567f05d30Smrg		;;
996fffe5102Smrg	sh5el)
997fffe5102Smrg		basic_machine=sh5le-unknown
998fffe5102Smrg		;;
99967f05d30Smrg	sh64)
100067f05d30Smrg		basic_machine=sh64-unknown
100167f05d30Smrg		;;
100267f05d30Smrg	sparclite-wrs | simso-wrs)
100367f05d30Smrg		basic_machine=sparclite-wrs
100467f05d30Smrg		os=-vxworks
100567f05d30Smrg		;;
100667f05d30Smrg	sps7)
100767f05d30Smrg		basic_machine=m68k-bull
100867f05d30Smrg		os=-sysv2
100967f05d30Smrg		;;
101067f05d30Smrg	spur)
101167f05d30Smrg		basic_machine=spur-unknown
101267f05d30Smrg		;;
101367f05d30Smrg	st2000)
101467f05d30Smrg		basic_machine=m68k-tandem
101567f05d30Smrg		;;
101667f05d30Smrg	stratus)
101767f05d30Smrg		basic_machine=i860-stratus
101867f05d30Smrg		os=-sysv4
101967f05d30Smrg		;;
102067f05d30Smrg	sun2)
102167f05d30Smrg		basic_machine=m68000-sun
102267f05d30Smrg		;;
102367f05d30Smrg	sun2os3)
102467f05d30Smrg		basic_machine=m68000-sun
102567f05d30Smrg		os=-sunos3
102667f05d30Smrg		;;
102767f05d30Smrg	sun2os4)
102867f05d30Smrg		basic_machine=m68000-sun
102967f05d30Smrg		os=-sunos4
103067f05d30Smrg		;;
103167f05d30Smrg	sun3os3)
103267f05d30Smrg		basic_machine=m68k-sun
103367f05d30Smrg		os=-sunos3
103467f05d30Smrg		;;
103567f05d30Smrg	sun3os4)
103667f05d30Smrg		basic_machine=m68k-sun
103767f05d30Smrg		os=-sunos4
103867f05d30Smrg		;;
103967f05d30Smrg	sun4os3)
104067f05d30Smrg		basic_machine=sparc-sun
104167f05d30Smrg		os=-sunos3
104267f05d30Smrg		;;
104367f05d30Smrg	sun4os4)
104467f05d30Smrg		basic_machine=sparc-sun
104567f05d30Smrg		os=-sunos4
104667f05d30Smrg		;;
104767f05d30Smrg	sun4sol2)
104867f05d30Smrg		basic_machine=sparc-sun
104967f05d30Smrg		os=-solaris2
105067f05d30Smrg		;;
105167f05d30Smrg	sun3 | sun3-*)
105267f05d30Smrg		basic_machine=m68k-sun
105367f05d30Smrg		;;
105467f05d30Smrg	sun4)
105567f05d30Smrg		basic_machine=sparc-sun
105667f05d30Smrg		;;
105767f05d30Smrg	sun386 | sun386i | roadrunner)
105867f05d30Smrg		basic_machine=i386-sun
105967f05d30Smrg		;;
106067f05d30Smrg	sv1)
106167f05d30Smrg		basic_machine=sv1-cray
106267f05d30Smrg		os=-unicos
106367f05d30Smrg		;;
106467f05d30Smrg	symmetry)
106567f05d30Smrg		basic_machine=i386-sequent
106667f05d30Smrg		os=-dynix
106767f05d30Smrg		;;
106867f05d30Smrg	t3e)
106967f05d30Smrg		basic_machine=alphaev5-cray
107067f05d30Smrg		os=-unicos
107167f05d30Smrg		;;
107267f05d30Smrg	t90)
107367f05d30Smrg		basic_machine=t90-cray
107467f05d30Smrg		os=-unicos
107567f05d30Smrg		;;
107667f05d30Smrg	tic54x | c54x*)
107767f05d30Smrg		basic_machine=tic54x-unknown
107867f05d30Smrg		os=-coff
107967f05d30Smrg		;;
108067f05d30Smrg	tic55x | c55x*)
108167f05d30Smrg		basic_machine=tic55x-unknown
108267f05d30Smrg		os=-coff
108367f05d30Smrg		;;
108467f05d30Smrg	tic6x | c6x*)
108567f05d30Smrg		basic_machine=tic6x-unknown
108667f05d30Smrg		os=-coff
108767f05d30Smrg		;;
1088fffe5102Smrg	tile*)
1089fffe5102Smrg		basic_machine=tile-unknown
1090fffe5102Smrg		os=-linux-gnu
1091fffe5102Smrg		;;
109267f05d30Smrg	tx39)
109367f05d30Smrg		basic_machine=mipstx39-unknown
109467f05d30Smrg		;;
109567f05d30Smrg	tx39el)
109667f05d30Smrg		basic_machine=mipstx39el-unknown
109767f05d30Smrg		;;
109867f05d30Smrg	toad1)
109967f05d30Smrg		basic_machine=pdp10-xkl
110067f05d30Smrg		os=-tops20
110167f05d30Smrg		;;
110267f05d30Smrg	tower | tower-32)
110367f05d30Smrg		basic_machine=m68k-ncr
110467f05d30Smrg		;;
1105fffe5102Smrg	tpf)
1106fffe5102Smrg		basic_machine=s390x-ibm
1107fffe5102Smrg		os=-tpf
1108fffe5102Smrg		;;
110967f05d30Smrg	udi29k)
111067f05d30Smrg		basic_machine=a29k-amd
111167f05d30Smrg		os=-udi
111267f05d30Smrg		;;
111367f05d30Smrg	ultra3)
111467f05d30Smrg		basic_machine=a29k-nyu
111567f05d30Smrg		os=-sym1
111667f05d30Smrg		;;
111767f05d30Smrg	v810 | necv810)
111867f05d30Smrg		basic_machine=v810-nec
111967f05d30Smrg		os=-none
112067f05d30Smrg		;;
112167f05d30Smrg	vaxv)
112267f05d30Smrg		basic_machine=vax-dec
112367f05d30Smrg		os=-sysv
112467f05d30Smrg		;;
112567f05d30Smrg	vms)
112667f05d30Smrg		basic_machine=vax-dec
112767f05d30Smrg		os=-vms
112867f05d30Smrg		;;
112967f05d30Smrg	vpp*|vx|vx-*)
113067f05d30Smrg		basic_machine=f301-fujitsu
113167f05d30Smrg		;;
113267f05d30Smrg	vxworks960)
113367f05d30Smrg		basic_machine=i960-wrs
113467f05d30Smrg		os=-vxworks
113567f05d30Smrg		;;
113667f05d30Smrg	vxworks68)
113767f05d30Smrg		basic_machine=m68k-wrs
113867f05d30Smrg		os=-vxworks
113967f05d30Smrg		;;
114067f05d30Smrg	vxworks29k)
114167f05d30Smrg		basic_machine=a29k-wrs
114267f05d30Smrg		os=-vxworks
114367f05d30Smrg		;;
114467f05d30Smrg	w65*)
114567f05d30Smrg		basic_machine=w65-wdc
114667f05d30Smrg		os=-none
114767f05d30Smrg		;;
114867f05d30Smrg	w89k-*)
114967f05d30Smrg		basic_machine=hppa1.1-winbond
115067f05d30Smrg		os=-proelf
115167f05d30Smrg		;;
1152fffe5102Smrg	xbox)
1153fffe5102Smrg		basic_machine=i686-pc
1154fffe5102Smrg		os=-mingw32
1155fffe5102Smrg		;;
115667f05d30Smrg	xps | xps100)
115767f05d30Smrg		basic_machine=xps100-honeywell
115867f05d30Smrg		;;
115967f05d30Smrg	ymp)
116067f05d30Smrg		basic_machine=ymp-cray
116167f05d30Smrg		os=-unicos
116267f05d30Smrg		;;
116367f05d30Smrg	z8k-*-coff)
116467f05d30Smrg		basic_machine=z8k-unknown
116567f05d30Smrg		os=-sim
116667f05d30Smrg		;;
1167fffe5102Smrg	z80-*-coff)
1168fffe5102Smrg		basic_machine=z80-unknown
1169fffe5102Smrg		os=-sim
1170fffe5102Smrg		;;
117167f05d30Smrg	none)
117267f05d30Smrg		basic_machine=none-none
117367f05d30Smrg		os=-none
117467f05d30Smrg		;;
117567f05d30Smrg
117667f05d30Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
117767f05d30Smrg# some cases the only manufacturer, in others, it is the most popular.
117867f05d30Smrg	w89k)
117967f05d30Smrg		basic_machine=hppa1.1-winbond
118067f05d30Smrg		;;
118167f05d30Smrg	op50n)
118267f05d30Smrg		basic_machine=hppa1.1-oki
118367f05d30Smrg		;;
118467f05d30Smrg	op60c)
118567f05d30Smrg		basic_machine=hppa1.1-oki
118667f05d30Smrg		;;
118767f05d30Smrg	romp)
118867f05d30Smrg		basic_machine=romp-ibm
118967f05d30Smrg		;;
1190fffe5102Smrg	mmix)
1191fffe5102Smrg		basic_machine=mmix-knuth
1192fffe5102Smrg		;;
119367f05d30Smrg	rs6000)
119467f05d30Smrg		basic_machine=rs6000-ibm
119567f05d30Smrg		;;
119667f05d30Smrg	vax)
119767f05d30Smrg		basic_machine=vax-dec
119867f05d30Smrg		;;
119967f05d30Smrg	pdp10)
120067f05d30Smrg		# there are many clones, so DEC is not a safe bet
120167f05d30Smrg		basic_machine=pdp10-unknown
120267f05d30Smrg		;;
120367f05d30Smrg	pdp11)
120467f05d30Smrg		basic_machine=pdp11-dec
120567f05d30Smrg		;;
120667f05d30Smrg	we32k)
120767f05d30Smrg		basic_machine=we32k-att
120867f05d30Smrg		;;
1209fffe5102Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
121067f05d30Smrg		basic_machine=sh-unknown
121167f05d30Smrg		;;
1212fffe5102Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
121367f05d30Smrg		basic_machine=sparc-sun
121467f05d30Smrg		;;
121567f05d30Smrg	cydra)
121667f05d30Smrg		basic_machine=cydra-cydrome
121767f05d30Smrg		;;
121867f05d30Smrg	orion)
121967f05d30Smrg		basic_machine=orion-highlevel
122067f05d30Smrg		;;
122167f05d30Smrg	orion105)
122267f05d30Smrg		basic_machine=clipper-highlevel
122367f05d30Smrg		;;
122467f05d30Smrg	mac | mpw | mac-mpw)
122567f05d30Smrg		basic_machine=m68k-apple
122667f05d30Smrg		;;
122767f05d30Smrg	pmac | pmac-mpw)
122867f05d30Smrg		basic_machine=powerpc-apple
122967f05d30Smrg		;;
123067f05d30Smrg	*-unknown)
123167f05d30Smrg		# Make sure to match an already-canonicalized machine name.
123267f05d30Smrg		;;
123367f05d30Smrg	*)
123467f05d30Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
123567f05d30Smrg		exit 1
123667f05d30Smrg		;;
123767f05d30Smrgesac
123867f05d30Smrg
123967f05d30Smrg# Here we canonicalize certain aliases for manufacturers.
124067f05d30Smrgcase $basic_machine in
124167f05d30Smrg	*-digital*)
124267f05d30Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
124367f05d30Smrg		;;
124467f05d30Smrg	*-commodore*)
124567f05d30Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
124667f05d30Smrg		;;
124767f05d30Smrg	*)
124867f05d30Smrg		;;
124967f05d30Smrgesac
125067f05d30Smrg
125167f05d30Smrg# Decode manufacturer-specific aliases for certain operating systems.
125267f05d30Smrg
125367f05d30Smrgif [ x"$os" != x"" ]
125467f05d30Smrgthen
125567f05d30Smrgcase $os in
125667f05d30Smrg        # First match some system type aliases
125767f05d30Smrg        # that might get confused with valid system types.
125867f05d30Smrg	# -solaris* is a basic system type, with this one exception.
1259fffe5102Smrg        -auroraux)
1260fffe5102Smrg	        os=-auroraux
1261fffe5102Smrg		;;
126267f05d30Smrg	-solaris1 | -solaris1.*)
126367f05d30Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
126467f05d30Smrg		;;
126567f05d30Smrg	-solaris)
126667f05d30Smrg		os=-solaris2
126767f05d30Smrg		;;
126867f05d30Smrg	-svr4*)
126967f05d30Smrg		os=-sysv4
127067f05d30Smrg		;;
127167f05d30Smrg	-unixware*)
127267f05d30Smrg		os=-sysv4.2uw
127367f05d30Smrg		;;
127467f05d30Smrg	-gnu/linux*)
127567f05d30Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
127667f05d30Smrg		;;
127767f05d30Smrg	# First accept the basic system types.
127867f05d30Smrg	# The portable systems comes first.
127967f05d30Smrg	# Each alternative MUST END IN A *, to match a version number.
128067f05d30Smrg	# -sysv* is not here because it comes later, after sysvr4.
128167f05d30Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1282fffe5102Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1283fffe5102Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1284fffe5102Smrg	      | -sym* | -kopensolaris* \
128567f05d30Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1286fffe5102Smrg	      | -aos* | -aros* \
128767f05d30Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
128867f05d30Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1289fffe5102Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1290fffe5102Smrg	      | -openbsd* | -solidbsd* \
1291fffe5102Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1292fffe5102Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
129367f05d30Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
129467f05d30Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1295fffe5102Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
129667f05d30Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1297fffe5102Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1298fffe5102Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
129967f05d30Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
130067f05d30Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
130167f05d30Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
130267f05d30Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
130367f05d30Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1304fffe5102Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1305fffe5102Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
130667f05d30Smrg	# Remember, each alternative MUST END IN *, to match a version number.
130767f05d30Smrg		;;
130867f05d30Smrg	-qnx*)
130967f05d30Smrg		case $basic_machine in
131067f05d30Smrg		    x86-* | i*86-*)
131167f05d30Smrg			;;
131267f05d30Smrg		    *)
131367f05d30Smrg			os=-nto$os
131467f05d30Smrg			;;
131567f05d30Smrg		esac
131667f05d30Smrg		;;
131767f05d30Smrg	-nto-qnx*)
131867f05d30Smrg		;;
131967f05d30Smrg	-nto*)
132067f05d30Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
132167f05d30Smrg		;;
132267f05d30Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1323fffe5102Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
132467f05d30Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
132567f05d30Smrg		;;
132667f05d30Smrg	-mac*)
132767f05d30Smrg		os=`echo $os | sed -e 's|mac|macos|'`
132867f05d30Smrg		;;
1329fffe5102Smrg	-linux-dietlibc)
1330fffe5102Smrg		os=-linux-dietlibc
1331fffe5102Smrg		;;
133267f05d30Smrg	-linux*)
133367f05d30Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
133467f05d30Smrg		;;
133567f05d30Smrg	-sunos5*)
133667f05d30Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
133767f05d30Smrg		;;
133867f05d30Smrg	-sunos6*)
133967f05d30Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
134067f05d30Smrg		;;
134167f05d30Smrg	-opened*)
134267f05d30Smrg		os=-openedition
134367f05d30Smrg		;;
1344fffe5102Smrg        -os400*)
1345fffe5102Smrg		os=-os400
1346fffe5102Smrg		;;
134767f05d30Smrg	-wince*)
134867f05d30Smrg		os=-wince
134967f05d30Smrg		;;
135067f05d30Smrg	-osfrose*)
135167f05d30Smrg		os=-osfrose
135267f05d30Smrg		;;
135367f05d30Smrg	-osf*)
135467f05d30Smrg		os=-osf
135567f05d30Smrg		;;
135667f05d30Smrg	-utek*)
135767f05d30Smrg		os=-bsd
135867f05d30Smrg		;;
135967f05d30Smrg	-dynix*)
136067f05d30Smrg		os=-bsd
136167f05d30Smrg		;;
136267f05d30Smrg	-acis*)
136367f05d30Smrg		os=-aos
136467f05d30Smrg		;;
136567f05d30Smrg	-atheos*)
136667f05d30Smrg		os=-atheos
136767f05d30Smrg		;;
1368fffe5102Smrg	-syllable*)
1369fffe5102Smrg		os=-syllable
1370fffe5102Smrg		;;
137167f05d30Smrg	-386bsd)
137267f05d30Smrg		os=-bsd
137367f05d30Smrg		;;
137467f05d30Smrg	-ctix* | -uts*)
137567f05d30Smrg		os=-sysv
137667f05d30Smrg		;;
137767f05d30Smrg	-nova*)
137867f05d30Smrg		os=-rtmk-nova
137967f05d30Smrg		;;
138067f05d30Smrg	-ns2 )
138167f05d30Smrg		os=-nextstep2
138267f05d30Smrg		;;
138367f05d30Smrg	-nsk*)
138467f05d30Smrg		os=-nsk
138567f05d30Smrg		;;
138667f05d30Smrg	# Preserve the version number of sinix5.
138767f05d30Smrg	-sinix5.*)
138867f05d30Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
138967f05d30Smrg		;;
139067f05d30Smrg	-sinix*)
139167f05d30Smrg		os=-sysv4
139267f05d30Smrg		;;
1393fffe5102Smrg        -tpf*)
1394fffe5102Smrg		os=-tpf
1395fffe5102Smrg		;;
139667f05d30Smrg	-triton*)
139767f05d30Smrg		os=-sysv3
139867f05d30Smrg		;;
139967f05d30Smrg	-oss*)
140067f05d30Smrg		os=-sysv3
140167f05d30Smrg		;;
140267f05d30Smrg	-svr4)
140367f05d30Smrg		os=-sysv4
140467f05d30Smrg		;;
140567f05d30Smrg	-svr3)
140667f05d30Smrg		os=-sysv3
140767f05d30Smrg		;;
140867f05d30Smrg	-sysvr4)
140967f05d30Smrg		os=-sysv4
141067f05d30Smrg		;;
141167f05d30Smrg	# This must come after -sysvr4.
141267f05d30Smrg	-sysv*)
141367f05d30Smrg		;;
141467f05d30Smrg	-ose*)
141567f05d30Smrg		os=-ose
141667f05d30Smrg		;;
141767f05d30Smrg	-es1800*)
141867f05d30Smrg		os=-ose
141967f05d30Smrg		;;
142067f05d30Smrg	-xenix)
142167f05d30Smrg		os=-xenix
142267f05d30Smrg		;;
142367f05d30Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
142467f05d30Smrg		os=-mint
142567f05d30Smrg		;;
142667f05d30Smrg	-aros*)
142767f05d30Smrg		os=-aros
142867f05d30Smrg		;;
142967f05d30Smrg	-kaos*)
143067f05d30Smrg		os=-kaos
143167f05d30Smrg		;;
1432fffe5102Smrg	-zvmoe)
1433fffe5102Smrg		os=-zvmoe
1434fffe5102Smrg		;;
1435fffe5102Smrg	-dicos*)
1436fffe5102Smrg		os=-dicos
1437fffe5102Smrg		;;
143867f05d30Smrg	-none)
143967f05d30Smrg		;;
144067f05d30Smrg	*)
144167f05d30Smrg		# Get rid of the `-' at the beginning of $os.
144267f05d30Smrg		os=`echo $os | sed 's/[^-]*-//'`
144367f05d30Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
144467f05d30Smrg		exit 1
144567f05d30Smrg		;;
144667f05d30Smrgesac
144767f05d30Smrgelse
144867f05d30Smrg
144967f05d30Smrg# Here we handle the default operating systems that come with various machines.
145067f05d30Smrg# The value should be what the vendor currently ships out the door with their
145167f05d30Smrg# machine or put another way, the most popular os provided with the machine.
145267f05d30Smrg
145367f05d30Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
145467f05d30Smrg# "-sun"), then you have to tell the case statement up towards the top
145567f05d30Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
145667f05d30Smrg# will signal an error saying that MANUFACTURER isn't an operating
145767f05d30Smrg# system, and we'll never get to this point.
145867f05d30Smrg
145967f05d30Smrgcase $basic_machine in
1460fffe5102Smrg        score-*)
1461fffe5102Smrg		os=-elf
1462fffe5102Smrg		;;
1463fffe5102Smrg        spu-*)
1464fffe5102Smrg		os=-elf
1465fffe5102Smrg		;;
146667f05d30Smrg	*-acorn)
146767f05d30Smrg		os=-riscix1.2
146867f05d30Smrg		;;
146967f05d30Smrg	arm*-rebel)
147067f05d30Smrg		os=-linux
147167f05d30Smrg		;;
147267f05d30Smrg	arm*-semi)
147367f05d30Smrg		os=-aout
147467f05d30Smrg		;;
1475fffe5102Smrg        c4x-* | tic4x-*)
1476fffe5102Smrg        	os=-coff
147767f05d30Smrg		;;
147867f05d30Smrg	# This must come before the *-dec entry.
147967f05d30Smrg	pdp10-*)
148067f05d30Smrg		os=-tops20
148167f05d30Smrg		;;
148267f05d30Smrg	pdp11-*)
148367f05d30Smrg		os=-none
148467f05d30Smrg		;;
148567f05d30Smrg	*-dec | vax-*)
148667f05d30Smrg		os=-ultrix4.2
148767f05d30Smrg		;;
148867f05d30Smrg	m68*-apollo)
148967f05d30Smrg		os=-domain
149067f05d30Smrg		;;
149167f05d30Smrg	i386-sun)
149267f05d30Smrg		os=-sunos4.0.2
149367f05d30Smrg		;;
149467f05d30Smrg	m68000-sun)
149567f05d30Smrg		os=-sunos3
149667f05d30Smrg		# This also exists in the configure program, but was not the
149767f05d30Smrg		# default.
149867f05d30Smrg		# os=-sunos4
149967f05d30Smrg		;;
150067f05d30Smrg	m68*-cisco)
150167f05d30Smrg		os=-aout
150267f05d30Smrg		;;
1503fffe5102Smrg        mep-*)
1504fffe5102Smrg		os=-elf
1505fffe5102Smrg		;;
150667f05d30Smrg	mips*-cisco)
150767f05d30Smrg		os=-elf
150867f05d30Smrg		;;
150967f05d30Smrg	mips*-*)
151067f05d30Smrg		os=-elf
151167f05d30Smrg		;;
151267f05d30Smrg	or32-*)
151367f05d30Smrg		os=-coff
151467f05d30Smrg		;;
151567f05d30Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
151667f05d30Smrg		os=-sysv3
151767f05d30Smrg		;;
151867f05d30Smrg	sparc-* | *-sun)
151967f05d30Smrg		os=-sunos4.1.1
152067f05d30Smrg		;;
152167f05d30Smrg	*-be)
152267f05d30Smrg		os=-beos
152367f05d30Smrg		;;
1524fffe5102Smrg	*-haiku)
1525fffe5102Smrg		os=-haiku
1526fffe5102Smrg		;;
152767f05d30Smrg	*-ibm)
152867f05d30Smrg		os=-aix
152967f05d30Smrg		;;
1530fffe5102Smrg    	*-knuth)
1531fffe5102Smrg		os=-mmixware
1532fffe5102Smrg		;;
153367f05d30Smrg	*-wec)
153467f05d30Smrg		os=-proelf
153567f05d30Smrg		;;
153667f05d30Smrg	*-winbond)
153767f05d30Smrg		os=-proelf
153867f05d30Smrg		;;
153967f05d30Smrg	*-oki)
154067f05d30Smrg		os=-proelf
154167f05d30Smrg		;;
154267f05d30Smrg	*-hp)
154367f05d30Smrg		os=-hpux
154467f05d30Smrg		;;
154567f05d30Smrg	*-hitachi)
154667f05d30Smrg		os=-hiux
154767f05d30Smrg		;;
154867f05d30Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
154967f05d30Smrg		os=-sysv
155067f05d30Smrg		;;
155167f05d30Smrg	*-cbm)
155267f05d30Smrg		os=-amigaos
155367f05d30Smrg		;;
155467f05d30Smrg	*-dg)
155567f05d30Smrg		os=-dgux
155667f05d30Smrg		;;
155767f05d30Smrg	*-dolphin)
155867f05d30Smrg		os=-sysv3
155967f05d30Smrg		;;
156067f05d30Smrg	m68k-ccur)
156167f05d30Smrg		os=-rtu
156267f05d30Smrg		;;
156367f05d30Smrg	m88k-omron*)
156467f05d30Smrg		os=-luna
156567f05d30Smrg		;;
156667f05d30Smrg	*-next )
156767f05d30Smrg		os=-nextstep
156867f05d30Smrg		;;
156967f05d30Smrg	*-sequent)
157067f05d30Smrg		os=-ptx
157167f05d30Smrg		;;
157267f05d30Smrg	*-crds)
157367f05d30Smrg		os=-unos
157467f05d30Smrg		;;
157567f05d30Smrg	*-ns)
157667f05d30Smrg		os=-genix
157767f05d30Smrg		;;
157867f05d30Smrg	i370-*)
157967f05d30Smrg		os=-mvs
158067f05d30Smrg		;;
158167f05d30Smrg	*-next)
158267f05d30Smrg		os=-nextstep3
158367f05d30Smrg		;;
158467f05d30Smrg	*-gould)
158567f05d30Smrg		os=-sysv
158667f05d30Smrg		;;
158767f05d30Smrg	*-highlevel)
158867f05d30Smrg		os=-bsd
158967f05d30Smrg		;;
159067f05d30Smrg	*-encore)
159167f05d30Smrg		os=-bsd
159267f05d30Smrg		;;
159367f05d30Smrg	*-sgi)
159467f05d30Smrg		os=-irix
159567f05d30Smrg		;;
159667f05d30Smrg	*-siemens)
159767f05d30Smrg		os=-sysv4
159867f05d30Smrg		;;
159967f05d30Smrg	*-masscomp)
160067f05d30Smrg		os=-rtu
160167f05d30Smrg		;;
160267f05d30Smrg	f30[01]-fujitsu | f700-fujitsu)
160367f05d30Smrg		os=-uxpv
160467f05d30Smrg		;;
160567f05d30Smrg	*-rom68k)
160667f05d30Smrg		os=-coff
160767f05d30Smrg		;;
160867f05d30Smrg	*-*bug)
160967f05d30Smrg		os=-coff
161067f05d30Smrg		;;
161167f05d30Smrg	*-apple)
161267f05d30Smrg		os=-macos
161367f05d30Smrg		;;
161467f05d30Smrg	*-atari*)
161567f05d30Smrg		os=-mint
161667f05d30Smrg		;;
161767f05d30Smrg	*)
161867f05d30Smrg		os=-none
161967f05d30Smrg		;;
162067f05d30Smrgesac
162167f05d30Smrgfi
162267f05d30Smrg
162367f05d30Smrg# Here we handle the case where we know the os, and the CPU type, but not the
162467f05d30Smrg# manufacturer.  We pick the logical manufacturer.
162567f05d30Smrgvendor=unknown
162667f05d30Smrgcase $basic_machine in
162767f05d30Smrg	*-unknown)
162867f05d30Smrg		case $os in
162967f05d30Smrg			-riscix*)
163067f05d30Smrg				vendor=acorn
163167f05d30Smrg				;;
163267f05d30Smrg			-sunos*)
163367f05d30Smrg				vendor=sun
163467f05d30Smrg				;;
1635fffe5102Smrg			-cnk*|-aix*)
163667f05d30Smrg				vendor=ibm
163767f05d30Smrg				;;
163867f05d30Smrg			-beos*)
163967f05d30Smrg				vendor=be
164067f05d30Smrg				;;
164167f05d30Smrg			-hpux*)
164267f05d30Smrg				vendor=hp
164367f05d30Smrg				;;
164467f05d30Smrg			-mpeix*)
164567f05d30Smrg				vendor=hp
164667f05d30Smrg				;;
164767f05d30Smrg			-hiux*)
164867f05d30Smrg				vendor=hitachi
164967f05d30Smrg				;;
165067f05d30Smrg			-unos*)
165167f05d30Smrg				vendor=crds
165267f05d30Smrg				;;
165367f05d30Smrg			-dgux*)
165467f05d30Smrg				vendor=dg
165567f05d30Smrg				;;
165667f05d30Smrg			-luna*)
165767f05d30Smrg				vendor=omron
165867f05d30Smrg				;;
165967f05d30Smrg			-genix*)
166067f05d30Smrg				vendor=ns
166167f05d30Smrg				;;
166267f05d30Smrg			-mvs* | -opened*)
166367f05d30Smrg				vendor=ibm
166467f05d30Smrg				;;
1665fffe5102Smrg			-os400*)
1666fffe5102Smrg				vendor=ibm
1667fffe5102Smrg				;;
166867f05d30Smrg			-ptx*)
166967f05d30Smrg				vendor=sequent
167067f05d30Smrg				;;
1671fffe5102Smrg			-tpf*)
1672fffe5102Smrg				vendor=ibm
1673fffe5102Smrg				;;
167467f05d30Smrg			-vxsim* | -vxworks* | -windiss*)
167567f05d30Smrg				vendor=wrs
167667f05d30Smrg				;;
167767f05d30Smrg			-aux*)
167867f05d30Smrg				vendor=apple
167967f05d30Smrg				;;
168067f05d30Smrg			-hms*)
168167f05d30Smrg				vendor=hitachi
168267f05d30Smrg				;;
168367f05d30Smrg			-mpw* | -macos*)
168467f05d30Smrg				vendor=apple
168567f05d30Smrg				;;
168667f05d30Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
168767f05d30Smrg				vendor=atari
168867f05d30Smrg				;;
168967f05d30Smrg			-vos*)
169067f05d30Smrg				vendor=stratus
169167f05d30Smrg				;;
169267f05d30Smrg		esac
169367f05d30Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
169467f05d30Smrg		;;
169567f05d30Smrgesac
169667f05d30Smrg
169767f05d30Smrgecho $basic_machine$os
1698fffe5102Smrgexit
169967f05d30Smrg
170067f05d30Smrg# Local variables:
170167f05d30Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
170267f05d30Smrg# time-stamp-start: "timestamp='"
170367f05d30Smrg# time-stamp-format: "%:y-%02m-%02d"
170467f05d30Smrg# time-stamp-end: "'"
170567f05d30Smrg# End:
1706