config.sub revision 166124
150276Speter#! /bin/sh
276726Speter# Configuration validation subroutine script.
397049Speter#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4166124Srafan#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
5166124Srafan#   Inc.
662449Speter
7166124Srafantimestamp='2006-08-14'
862449Speter
950276Speter# This file is (in principle) common to ALL GNU software.
1050276Speter# The presence of a machine in this file suggests that SOME GNU software
1150276Speter# can handle that machine.  It does not imply ALL GNU software can.
1250276Speter#
1350276Speter# This file is free software; you can redistribute it and/or modify
1450276Speter# it under the terms of the GNU General Public License as published by
1550276Speter# the Free Software Foundation; either version 2 of the License, or
1650276Speter# (at your option) any later version.
1750276Speter#
1850276Speter# This program is distributed in the hope that it will be useful,
1950276Speter# but WITHOUT ANY WARRANTY; without even the implied warranty of
2050276Speter# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2150276Speter# GNU General Public License for more details.
2250276Speter#
2350276Speter# You should have received a copy of the GNU General Public License
2450276Speter# along with this program; if not, write to the Free Software
25166124Srafan# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26166124Srafan# 02110-1301, USA.
27166124Srafan#
2850276Speter# As a special exception to the GNU General Public License, if you
2950276Speter# distribute this file as part of a program that contains a
3050276Speter# configuration script generated by Autoconf, you may include it under
3150276Speter# the same distribution terms that you use for the rest of that program.
3250276Speter
33166124Srafan
3497049Speter# Please send patches to <config-patches@gnu.org>.  Submit a context
3597049Speter# diff and a properly formatted ChangeLog entry.
3662449Speter#
3750276Speter# Configuration subroutine to validate and canonicalize a configuration type.
3850276Speter# Supply the specified configuration type as an argument.
3950276Speter# If it is invalid, we print an error message on stderr and exit with code 1.
4050276Speter# Otherwise, we print the canonical config type on stdout and succeed.
4150276Speter
4250276Speter# This file is supposed to be the same for all GNU packages
4350276Speter# and recognize all the CPU types, system types and aliases
4450276Speter# that are meaningful with *any* GNU software.
4550276Speter# Each package is responsible for reporting which valid configurations
4650276Speter# it does not support.  The user should be able to distinguish
4750276Speter# a failure to support a valid configuration from a meaningless
4850276Speter# configuration.
4950276Speter
5050276Speter# The goal of this file is to map all the various variations of a given
5150276Speter# machine specification into a single specification in the form:
5250276Speter#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5350276Speter# or in some cases, the newer four-part form:
5450276Speter#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5550276Speter# It is wrong to echo any other type of specification.
5650276Speter
5762449Speterme=`echo "$0" | sed -e 's,.*/,,'`
5850276Speter
5962449Speterusage="\
6062449SpeterUsage: $0 [OPTION] CPU-MFR-OPSYS
6162449Speter       $0 [OPTION] ALIAS
6262449Speter
6362449SpeterCanonicalize a configuration name.
6462449Speter
6562449SpeterOperation modes:
6676726Speter  -h, --help         print this help, then exit
6776726Speter  -t, --time-stamp   print date of last modification, then exit
6876726Speter  -v, --version      print version number, then exit
6962449Speter
7076726SpeterReport bugs and patches to <config-patches@gnu.org>."
7176726Speter
7276726Speterversion="\
7376726SpeterGNU config.sub ($timestamp)
7476726Speter
75166124SrafanCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
7676726SpeterFree Software Foundation, Inc.
7776726Speter
7876726SpeterThis is free software; see the source for copying conditions.  There is NO
7976726Speterwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
8076726Speter
8162449Speterhelp="
8262449SpeterTry \`$me --help' for more information."
8362449Speter
8462449Speter# Parse command line
8562449Speterwhile test $# -gt 0 ; do
8676726Speter  case $1 in
8776726Speter    --time-stamp | --time* | -t )
88166124Srafan       echo "$timestamp" ; exit ;;
8976726Speter    --version | -v )
90166124Srafan       echo "$version" ; exit ;;
9162449Speter    --help | --h* | -h )
92166124Srafan       echo "$usage"; exit ;;
9362449Speter    -- )     # Stop option processing
9462449Speter       shift; break ;;
9562449Speter    - )	# Use stdin as input.
9662449Speter       break ;;
9762449Speter    -* )
9876726Speter       echo "$me: invalid option $1$help"
9962449Speter       exit 1 ;;
10062449Speter
10162449Speter    *local*)
10262449Speter       # First pass through any local machine types.
10362449Speter       echo $1
104166124Srafan       exit ;;
10562449Speter
10662449Speter    * )
10762449Speter       break ;;
10862449Speter  esac
10962449Speterdone
11062449Speter
11162449Spetercase $# in
11262449Speter 0) echo "$me: missing argument$help" >&2
11362449Speter    exit 1;;
11462449Speter 1) ;;
11562449Speter *) echo "$me: too many arguments$help" >&2
11662449Speter    exit 1;;
11750276Speteresac
11850276Speter
11950276Speter# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
12050276Speter# Here we must recognize all the valid KERNEL-OS combinations.
12150276Spetermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12250276Spetercase $maybe_os in
123166124Srafan  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124166124Srafan  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125166124Srafan  storm-chaos* | os2-emx* | rtmk-nova*)
12650276Speter    os=-$maybe_os
12750276Speter    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12850276Speter    ;;
12950276Speter  *)
13050276Speter    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
13150276Speter    if [ $basic_machine != $1 ]
13250276Speter    then os=`echo $1 | sed 's/.*-/-/'`
13350276Speter    else os=; fi
13450276Speter    ;;
13550276Speteresac
13650276Speter
13750276Speter### Let's recognize common machines as not being operating systems so
13850276Speter### that things like config.sub decstation-3100 work.  We also
13950276Speter### recognize some manufacturers as not being operating systems, so we
14050276Speter### can provide default operating systems below.
14150276Spetercase $os in
14250276Speter	-sun*os*)
14350276Speter		# Prevent following clause from handling this invalid input.
14450276Speter		;;
14550276Speter	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14650276Speter	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14750276Speter	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14850276Speter	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14950276Speter	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
15050276Speter	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151166124Srafan	-apple | -axis | -knuth | -cray)
15250276Speter		os=
15350276Speter		basic_machine=$1
15450276Speter		;;
15562449Speter	-sim | -cisco | -oki | -wec | -winbond)
15662449Speter		os=
15762449Speter		basic_machine=$1
15862449Speter		;;
15962449Speter	-scout)
16062449Speter		;;
16162449Speter	-wrs)
16262449Speter		os=-vxworks
16362449Speter		basic_machine=$1
16462449Speter		;;
16597049Speter	-chorusos*)
16697049Speter		os=-chorusos
16797049Speter		basic_machine=$1
16897049Speter		;;
16997049Speter 	-chorusrdb)
17097049Speter 		os=-chorusrdb
17197049Speter		basic_machine=$1
17297049Speter 		;;
17350276Speter	-hiux*)
17450276Speter		os=-hiuxwe2
17550276Speter		;;
176166124Srafan	-sco6)
177166124Srafan		os=-sco5v6
178166124Srafan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179166124Srafan		;;
18050276Speter	-sco5)
18162449Speter		os=-sco3.2v5
18250276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18350276Speter		;;
18450276Speter	-sco4)
18550276Speter		os=-sco3.2v4
18650276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18750276Speter		;;
18850276Speter	-sco3.2.[4-9]*)
18950276Speter		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
19050276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19150276Speter		;;
19250276Speter	-sco3.2v[4-9]*)
19350276Speter		# Don't forget version if it is 3.2v4 or newer.
19450276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19550276Speter		;;
196166124Srafan	-sco5v6*)
197166124Srafan		# Don't forget version if it is 3.2v4 or newer.
198166124Srafan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199166124Srafan		;;
20050276Speter	-sco*)
20150276Speter		os=-sco3.2v2
20250276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20350276Speter		;;
20462449Speter	-udk*)
20562449Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20662449Speter		;;
20750276Speter	-isc)
20850276Speter		os=-isc2.2
20950276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21050276Speter		;;
21150276Speter	-clix*)
21250276Speter		basic_machine=clipper-intergraph
21350276Speter		;;
21450276Speter	-isc*)
21550276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
21650276Speter		;;
21750276Speter	-lynx*)
21850276Speter		os=-lynxos
21950276Speter		;;
22050276Speter	-ptx*)
22150276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
22250276Speter		;;
22350276Speter	-windowsnt*)
22450276Speter		os=`echo $os | sed -e 's/windowsnt/winnt/'`
22550276Speter		;;
22650276Speter	-psos*)
22750276Speter		os=-psos
22850276Speter		;;
22962449Speter	-mint | -mint[0-9]*)
23062449Speter		basic_machine=m68k-atari
23162449Speter		os=-mint
23262449Speter		;;
23350276Speteresac
23450276Speter
23550276Speter# Decode aliases for certain CPU-COMPANY combinations.
23650276Spetercase $basic_machine in
23750276Speter	# Recognize the basic CPU types without company name.
23850276Speter	# Some are omitted here because they have special meanings below.
23997049Speter	1750a | 580 \
24097049Speter	| a29k \
24197049Speter	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
24297049Speter	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243166124Srafan	| am33_2.0 \
244166124Srafan	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245166124Srafan	| bfin \
24697049Speter	| c4x | clipper \
247166124Srafan	| d10v | d30v | dlx | dsp16xx \
248166124Srafan	| fr30 | frv \
24997049Speter	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
25097049Speter	| i370 | i860 | i960 | ia64 \
251166124Srafan	| ip2k | iq2000 \
252166124Srafan	| m32c | m32r | m32rle | m68000 | m68k | m88k \
253166124Srafan	| maxq | mb | microblaze | mcore \
254166124Srafan	| mips | mipsbe | mipseb | mipsel | mipsle \
255166124Srafan	| mips16 \
256166124Srafan	| mips64 | mips64el \
257166124Srafan	| mips64vr | mips64vrel \
258166124Srafan	| mips64orion | mips64orionel \
259166124Srafan	| mips64vr4100 | mips64vr4100el \
260166124Srafan	| mips64vr4300 | mips64vr4300el \
261166124Srafan	| mips64vr5000 | mips64vr5000el \
262166124Srafan	| mips64vr5900 | mips64vr5900el \
263166124Srafan	| mipsisa32 | mipsisa32el \
264166124Srafan	| mipsisa32r2 | mipsisa32r2el \
265166124Srafan	| mipsisa64 | mipsisa64el \
266166124Srafan	| mipsisa64r2 | mipsisa64r2el \
267166124Srafan	| mipsisa64sb1 | mipsisa64sb1el \
268166124Srafan	| mipsisa64sr71k | mipsisa64sr71kel \
269166124Srafan	| mipstx39 | mipstx39el \
27097049Speter	| mn10200 | mn10300 \
271166124Srafan	| mt \
272166124Srafan	| msp430 \
273166124Srafan	| nios | nios2 \
27497049Speter	| ns16k | ns32k \
275166124Srafan	| or32 \
27697049Speter	| pdp10 | pdp11 | pj | pjl \
27797049Speter	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
27897049Speter	| pyramid \
279166124Srafan	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
280166124Srafan	| sh64 | sh64le \
281166124Srafan	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
282166124Srafan	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
283166124Srafan	| spu | strongarm \
284166124Srafan	| tahoe | thumb | tic4x | tic80 | tron \
28597049Speter	| v850 | v850e \
28697049Speter	| we32k \
287166124Srafan	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
28897049Speter	| z8k)
28950276Speter		basic_machine=$basic_machine-unknown
29050276Speter		;;
29166963Speter	m6811 | m68hc11 | m6812 | m68hc12)
29266963Speter		# Motorola 68HC11/12.
29366963Speter		basic_machine=$basic_machine-unknown
29466963Speter		os=-none
29566963Speter		;;
29697049Speter	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
29762449Speter		;;
298166124Srafan	ms1)
299166124Srafan		basic_machine=mt-unknown
300166124Srafan		;;
30162449Speter
30250276Speter	# We use `pc' rather than `unknown'
30350276Speter	# because (1) that's what they normally are, and
30450276Speter	# (2) the word "unknown" tends to confuse beginning users.
30597049Speter	i*86 | x86_64)
30650276Speter	  basic_machine=$basic_machine-pc
30750276Speter	  ;;
30850276Speter	# Object if more than one company name word.
30950276Speter	*-*-*)
31050276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
31150276Speter		exit 1
31250276Speter		;;
31350276Speter	# Recognize the basic CPU types with company name.
31497049Speter	580-* \
31597049Speter	| a29k-* \
31697049Speter	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
31797049Speter	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
31897049Speter	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
319166124Srafan	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
320166124Srafan	| avr-* | avr32-* \
321166124Srafan	| bfin-* | bs2000-* \
322166124Srafan	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
323166124Srafan	| clipper-* | craynv-* | cydra-* \
324166124Srafan	| d10v-* | d30v-* | dlx-* \
32597049Speter	| elxsi-* \
326166124Srafan	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
32797049Speter	| h8300-* | h8500-* \
32897049Speter	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
32997049Speter	| i*86-* | i860-* | i960-* | ia64-* \
330166124Srafan	| ip2k-* | iq2000-* \
331166124Srafan	| m32c-* | m32r-* | m32rle-* \
33297049Speter	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
333166124Srafan	| m88110-* | m88k-* | maxq-* | mcore-* \
334166124Srafan	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
335166124Srafan	| mips16-* \
336166124Srafan	| mips64-* | mips64el-* \
337166124Srafan	| mips64vr-* | mips64vrel-* \
338166124Srafan	| mips64orion-* | mips64orionel-* \
339166124Srafan	| mips64vr4100-* | mips64vr4100el-* \
340166124Srafan	| mips64vr4300-* | mips64vr4300el-* \
341166124Srafan	| mips64vr5000-* | mips64vr5000el-* \
342166124Srafan	| mips64vr5900-* | mips64vr5900el-* \
343166124Srafan	| mipsisa32-* | mipsisa32el-* \
344166124Srafan	| mipsisa32r2-* | mipsisa32r2el-* \
345166124Srafan	| mipsisa64-* | mipsisa64el-* \
346166124Srafan	| mipsisa64r2-* | mipsisa64r2el-* \
347166124Srafan	| mipsisa64sb1-* | mipsisa64sb1el-* \
348166124Srafan	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
349166124Srafan	| mipstx39-* | mipstx39el-* \
350166124Srafan	| mmix-* \
351166124Srafan	| mt-* \
352166124Srafan	| msp430-* \
353166124Srafan	| nios-* | nios2-* \
35497049Speter	| none-* | np1-* | ns16k-* | ns32k-* \
35597049Speter	| orion-* \
35697049Speter	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
35797049Speter	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
35897049Speter	| pyramid-* \
35997049Speter	| romp-* | rs6000-* \
360166124Srafan	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
361166124Srafan	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
362166124Srafan	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
363166124Srafan	| sparclite-* \
364166124Srafan	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
365166124Srafan	| tahoe-* | thumb-* \
366166124Srafan	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
367166124Srafan	| tron-* \
36897049Speter	| v850-* | v850e-* | vax-* \
36997049Speter	| we32k-* \
370166124Srafan	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
371166124Srafan	| xstormy16-* | xtensa-* \
37297049Speter	| ymp-* \
37397049Speter	| z8k-*)
37450276Speter		;;
37550276Speter	# Recognize the various machine names and aliases which stand
37650276Speter	# for a CPU type and a company and sometimes even an OS.
37762449Speter	386bsd)
37862449Speter		basic_machine=i386-unknown
37962449Speter		os=-bsd
38062449Speter		;;
38150276Speter	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
38250276Speter		basic_machine=m68000-att
38350276Speter		;;
38450276Speter	3b*)
38550276Speter		basic_machine=we32k-att
38650276Speter		;;
38762449Speter	a29khif)
38862449Speter		basic_machine=a29k-amd
38962449Speter		os=-udi
39062449Speter		;;
391166124Srafan    	abacus)
392166124Srafan		basic_machine=abacus-unknown
393166124Srafan		;;
39462449Speter	adobe68k)
39562449Speter		basic_machine=m68010-adobe
39662449Speter		os=-scout
39762449Speter		;;
39850276Speter	alliant | fx80)
39950276Speter		basic_machine=fx80-alliant
40050276Speter		;;
40150276Speter	altos | altos3068)
40250276Speter		basic_machine=m68k-altos
40350276Speter		;;
40450276Speter	am29k)
40550276Speter		basic_machine=a29k-none
40650276Speter		os=-bsd
40750276Speter		;;
408166124Srafan	amd64)
409166124Srafan		basic_machine=x86_64-pc
410166124Srafan		;;
411166124Srafan	amd64-*)
412166124Srafan		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
413166124Srafan		;;
41450276Speter	amdahl)
41550276Speter		basic_machine=580-amdahl
41650276Speter		os=-sysv
41750276Speter		;;
41850276Speter	amiga | amiga-*)
41976726Speter		basic_machine=m68k-unknown
42050276Speter		;;
42150276Speter	amigaos | amigados)
42276726Speter		basic_machine=m68k-unknown
42350276Speter		os=-amigaos
42450276Speter		;;
42550276Speter	amigaunix | amix)
42676726Speter		basic_machine=m68k-unknown
42750276Speter		os=-sysv4
42850276Speter		;;
42950276Speter	apollo68)
43050276Speter		basic_machine=m68k-apollo
43150276Speter		os=-sysv
43250276Speter		;;
43362449Speter	apollo68bsd)
43462449Speter		basic_machine=m68k-apollo
43562449Speter		os=-bsd
43662449Speter		;;
43750276Speter	aux)
43850276Speter		basic_machine=m68k-apple
43950276Speter		os=-aux
44050276Speter		;;
44150276Speter	balance)
44250276Speter		basic_machine=ns32k-sequent
44350276Speter		os=-dynix
44450276Speter		;;
44597049Speter	c90)
44697049Speter		basic_machine=c90-cray
44797049Speter		os=-unicos
44897049Speter		;;
44950276Speter	convex-c1)
45050276Speter		basic_machine=c1-convex
45150276Speter		os=-bsd
45250276Speter		;;
45350276Speter	convex-c2)
45450276Speter		basic_machine=c2-convex
45550276Speter		os=-bsd
45650276Speter		;;
45750276Speter	convex-c32)
45850276Speter		basic_machine=c32-convex
45950276Speter		os=-bsd
46050276Speter		;;
46150276Speter	convex-c34)
46250276Speter		basic_machine=c34-convex
46350276Speter		os=-bsd
46450276Speter		;;
46550276Speter	convex-c38)
46650276Speter		basic_machine=c38-convex
46750276Speter		os=-bsd
46850276Speter		;;
46997049Speter	cray | j90)
47097049Speter		basic_machine=j90-cray
47150276Speter		os=-unicos
47250276Speter		;;
473166124Srafan	craynv)
474166124Srafan		basic_machine=craynv-cray
475166124Srafan		os=-unicosmp
476166124Srafan		;;
477166124Srafan	cr16c)
478166124Srafan		basic_machine=cr16c-unknown
479166124Srafan		os=-elf
480166124Srafan		;;
48150276Speter	crds | unos)
48250276Speter		basic_machine=m68k-crds
48350276Speter		;;
484166124Srafan	crisv32 | crisv32-* | etraxfs*)
485166124Srafan		basic_machine=crisv32-axis
486166124Srafan		;;
48762449Speter	cris | cris-* | etrax*)
48862449Speter		basic_machine=cris-axis
48962449Speter		;;
490166124Srafan	crx)
491166124Srafan		basic_machine=crx-unknown
492166124Srafan		os=-elf
493166124Srafan		;;
49450276Speter	da30 | da30-*)
49550276Speter		basic_machine=m68k-da30
49650276Speter		;;
49750276Speter	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
49850276Speter		basic_machine=mips-dec
49950276Speter		;;
50097049Speter	decsystem10* | dec10*)
50197049Speter		basic_machine=pdp10-dec
50297049Speter		os=-tops10
50397049Speter		;;
50497049Speter	decsystem20* | dec20*)
50597049Speter		basic_machine=pdp10-dec
50697049Speter		os=-tops20
50797049Speter		;;
50850276Speter	delta | 3300 | motorola-3300 | motorola-delta \
50950276Speter	      | 3300-motorola | delta-motorola)
51050276Speter		basic_machine=m68k-motorola
51150276Speter		;;
51250276Speter	delta88)
51350276Speter		basic_machine=m88k-motorola
51450276Speter		os=-sysv3
51550276Speter		;;
516166124Srafan	djgpp)
517166124Srafan		basic_machine=i586-pc
518166124Srafan		os=-msdosdjgpp
519166124Srafan		;;
52050276Speter	dpx20 | dpx20-*)
52150276Speter		basic_machine=rs6000-bull
52250276Speter		os=-bosx
52350276Speter		;;
52450276Speter	dpx2* | dpx2*-bull)
52550276Speter		basic_machine=m68k-bull
52650276Speter		os=-sysv3
52750276Speter		;;
52850276Speter	ebmon29k)
52950276Speter		basic_machine=a29k-amd
53050276Speter		os=-ebmon
53150276Speter		;;
53250276Speter	elxsi)
53350276Speter		basic_machine=elxsi-elxsi
53450276Speter		os=-bsd
53550276Speter		;;
53650276Speter	encore | umax | mmax)
53750276Speter		basic_machine=ns32k-encore
53850276Speter		;;
53962449Speter	es1800 | OSE68k | ose68k | ose | OSE)
54062449Speter		basic_machine=m68k-ericsson
54162449Speter		os=-ose
54262449Speter		;;
54350276Speter	fx2800)
54450276Speter		basic_machine=i860-alliant
54550276Speter		;;
54650276Speter	genix)
54750276Speter		basic_machine=ns32k-ns
54850276Speter		;;
54950276Speter	gmicro)
55050276Speter		basic_machine=tron-gmicro
55150276Speter		os=-sysv
55250276Speter		;;
55376726Speter	go32)
55476726Speter		basic_machine=i386-pc
55576726Speter		os=-go32
55676726Speter		;;
55750276Speter	h3050r* | hiux*)
55850276Speter		basic_machine=hppa1.1-hitachi
55950276Speter		os=-hiuxwe2
56050276Speter		;;
56150276Speter	h8300hms)
56250276Speter		basic_machine=h8300-hitachi
56350276Speter		os=-hms
56450276Speter		;;
56562449Speter	h8300xray)
56662449Speter		basic_machine=h8300-hitachi
56762449Speter		os=-xray
56862449Speter		;;
56962449Speter	h8500hms)
57062449Speter		basic_machine=h8500-hitachi
57162449Speter		os=-hms
57262449Speter		;;
57350276Speter	harris)
57450276Speter		basic_machine=m88k-harris
57550276Speter		os=-sysv3
57650276Speter		;;
57750276Speter	hp300-*)
57850276Speter		basic_machine=m68k-hp
57950276Speter		;;
58050276Speter	hp300bsd)
58150276Speter		basic_machine=m68k-hp
58250276Speter		os=-bsd
58350276Speter		;;
58450276Speter	hp300hpux)
58550276Speter		basic_machine=m68k-hp
58650276Speter		os=-hpux
58750276Speter		;;
58862449Speter	hp3k9[0-9][0-9] | hp9[0-9][0-9])
58962449Speter		basic_machine=hppa1.0-hp
59062449Speter		;;
59150276Speter	hp9k2[0-9][0-9] | hp9k31[0-9])
59250276Speter		basic_machine=m68000-hp
59350276Speter		;;
59450276Speter	hp9k3[2-9][0-9])
59550276Speter		basic_machine=m68k-hp
59650276Speter		;;
59762449Speter	hp9k6[0-9][0-9] | hp6[0-9][0-9])
59862449Speter		basic_machine=hppa1.0-hp
59962449Speter		;;
60062449Speter	hp9k7[0-79][0-9] | hp7[0-79][0-9])
60150276Speter		basic_machine=hppa1.1-hp
60250276Speter		;;
60362449Speter	hp9k78[0-9] | hp78[0-9])
60462449Speter		# FIXME: really hppa2.0-hp
60562449Speter		basic_machine=hppa1.1-hp
60662449Speter		;;
60762449Speter	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
60862449Speter		# FIXME: really hppa2.0-hp
60962449Speter		basic_machine=hppa1.1-hp
61062449Speter		;;
61162449Speter	hp9k8[0-9][13679] | hp8[0-9][13679])
61262449Speter		basic_machine=hppa1.1-hp
61362449Speter		;;
61450276Speter	hp9k8[0-9][0-9] | hp8[0-9][0-9])
61550276Speter		basic_machine=hppa1.0-hp
61650276Speter		;;
61750276Speter	hppa-next)
61850276Speter		os=-nextstep3
61950276Speter		;;
62062449Speter	hppaosf)
62162449Speter		basic_machine=hppa1.1-hp
62262449Speter		os=-osf
62362449Speter		;;
62462449Speter	hppro)
62562449Speter		basic_machine=hppa1.1-hp
62662449Speter		os=-proelf
62762449Speter		;;
62850276Speter	i370-ibm* | ibm*)
62950276Speter		basic_machine=i370-ibm
63050276Speter		;;
63150276Speter# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
63297049Speter	i*86v32)
63350276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
63450276Speter		os=-sysv32
63550276Speter		;;
63697049Speter	i*86v4*)
63750276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
63850276Speter		os=-sysv4
63950276Speter		;;
64097049Speter	i*86v)
64150276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
64250276Speter		os=-sysv
64350276Speter		;;
64497049Speter	i*86sol2)
64550276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
64650276Speter		os=-solaris2
64750276Speter		;;
64862449Speter	i386mach)
64962449Speter		basic_machine=i386-mach
65062449Speter		os=-mach
65162449Speter		;;
65262449Speter	i386-vsta | vsta)
65362449Speter		basic_machine=i386-unknown
65462449Speter		os=-vsta
65562449Speter		;;
65650276Speter	iris | iris4d)
65750276Speter		basic_machine=mips-sgi
65850276Speter		case $os in
65950276Speter		    -irix*)
66050276Speter			;;
66150276Speter		    *)
66250276Speter			os=-irix4
66350276Speter			;;
66450276Speter		esac
66550276Speter		;;
66650276Speter	isi68 | isi)
66750276Speter		basic_machine=m68k-isi
66850276Speter		os=-sysv
66950276Speter		;;
67050276Speter	m88k-omron*)
67150276Speter		basic_machine=m88k-omron
67250276Speter		;;
67350276Speter	magnum | m3230)
67450276Speter		basic_machine=mips-mips
67550276Speter		os=-sysv
67650276Speter		;;
67750276Speter	merlin)
67850276Speter		basic_machine=ns32k-utek
67950276Speter		os=-sysv
68050276Speter		;;
68176726Speter	mingw32)
68276726Speter		basic_machine=i386-pc
68376726Speter		os=-mingw32
68476726Speter		;;
68550276Speter	miniframe)
68650276Speter		basic_machine=m68000-convergent
68750276Speter		;;
68862449Speter	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
68962449Speter		basic_machine=m68k-atari
69062449Speter		os=-mint
69162449Speter		;;
69250276Speter	mips3*-*)
69350276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
69450276Speter		;;
69550276Speter	mips3*)
69650276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
69750276Speter		;;
69862449Speter	monitor)
69962449Speter		basic_machine=m68k-rom68k
70062449Speter		os=-coff
70162449Speter		;;
70297049Speter	morphos)
70397049Speter		basic_machine=powerpc-unknown
70497049Speter		os=-morphos
70597049Speter		;;
70662449Speter	msdos)
70776726Speter		basic_machine=i386-pc
70862449Speter		os=-msdos
70962449Speter		;;
710166124Srafan	ms1-*)
711166124Srafan		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
712166124Srafan		;;
71362449Speter	mvs)
71462449Speter		basic_machine=i370-ibm
71562449Speter		os=-mvs
71662449Speter		;;
71750276Speter	ncr3000)
71850276Speter		basic_machine=i486-ncr
71950276Speter		os=-sysv4
72050276Speter		;;
72162449Speter	netbsd386)
72262449Speter		basic_machine=i386-unknown
72362449Speter		os=-netbsd
72462449Speter		;;
72562449Speter	netwinder)
72662449Speter		basic_machine=armv4l-rebel
72762449Speter		os=-linux
72862449Speter		;;
72950276Speter	news | news700 | news800 | news900)
73050276Speter		basic_machine=m68k-sony
73150276Speter		os=-newsos
73250276Speter		;;
73350276Speter	news1000)
73450276Speter		basic_machine=m68030-sony
73550276Speter		os=-newsos
73650276Speter		;;
73750276Speter	news-3600 | risc-news)
73850276Speter		basic_machine=mips-sony
73950276Speter		os=-newsos
74050276Speter		;;
74162449Speter	necv70)
74262449Speter		basic_machine=v70-nec
74362449Speter		os=-sysv
74462449Speter		;;
74550276Speter	next | m*-next )
74650276Speter		basic_machine=m68k-next
74750276Speter		case $os in
74850276Speter		    -nextstep* )
74950276Speter			;;
75050276Speter		    -ns2*)
75150276Speter		      os=-nextstep2
75250276Speter			;;
75350276Speter		    *)
75450276Speter		      os=-nextstep3
75550276Speter			;;
75650276Speter		esac
75750276Speter		;;
75850276Speter	nh3000)
75950276Speter		basic_machine=m68k-harris
76050276Speter		os=-cxux
76150276Speter		;;
76250276Speter	nh[45]000)
76350276Speter		basic_machine=m88k-harris
76450276Speter		os=-cxux
76550276Speter		;;
76650276Speter	nindy960)
76750276Speter		basic_machine=i960-intel
76850276Speter		os=-nindy
76950276Speter		;;
77062449Speter	mon960)
77162449Speter		basic_machine=i960-intel
77262449Speter		os=-mon960
77362449Speter		;;
77476726Speter	nonstopux)
77576726Speter		basic_machine=mips-compaq
77676726Speter		os=-nonstopux
77776726Speter		;;
77850276Speter	np1)
77950276Speter		basic_machine=np1-gould
78050276Speter		;;
78162449Speter	nsr-tandem)
78262449Speter		basic_machine=nsr-tandem
78362449Speter		;;
78462449Speter	op50n-* | op60c-*)
78562449Speter		basic_machine=hppa1.1-oki
78662449Speter		os=-proelf
78762449Speter		;;
788166124Srafan	openrisc | openrisc-*)
78997049Speter		basic_machine=or32-unknown
79097049Speter		;;
791166124Srafan	os400)
792166124Srafan		basic_machine=powerpc-ibm
793166124Srafan		os=-os400
794166124Srafan		;;
79562449Speter	OSE68000 | ose68000)
79662449Speter		basic_machine=m68000-ericsson
79762449Speter		os=-ose
79862449Speter		;;
79962449Speter	os68k)
80062449Speter		basic_machine=m68k-none
80162449Speter		os=-os68k
80262449Speter		;;
80350276Speter	pa-hitachi)
80450276Speter		basic_machine=hppa1.1-hitachi
80550276Speter		os=-hiuxwe2
80650276Speter		;;
80750276Speter	paragon)
80850276Speter		basic_machine=i860-intel
80950276Speter		os=-osf
81050276Speter		;;
81150276Speter	pbd)
81250276Speter		basic_machine=sparc-tti
81350276Speter		;;
81450276Speter	pbb)
81550276Speter		basic_machine=m68k-tti
81650276Speter		;;
817166124Srafan	pc532 | pc532-*)
81850276Speter		basic_machine=ns32k-pc532
81950276Speter		;;
820166124Srafan	pc98)
821166124Srafan		basic_machine=i386-pc
822166124Srafan		;;
823166124Srafan	pc98-*)
824166124Srafan		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
825166124Srafan		;;
82697049Speter	pentium | p5 | k5 | k6 | nexgen | viac3)
82750276Speter		basic_machine=i586-pc
82850276Speter		;;
829166124Srafan	pentiumpro | p6 | 6x86 | athlon | athlon_*)
83050276Speter		basic_machine=i686-pc
83150276Speter		;;
832166124Srafan	pentiumii | pentium2 | pentiumiii | pentium3)
83376726Speter		basic_machine=i686-pc
83450276Speter		;;
835166124Srafan	pentium4)
836166124Srafan		basic_machine=i786-pc
837166124Srafan		;;
83897049Speter	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
83950276Speter		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
84050276Speter		;;
84162449Speter	pentiumpro-* | p6-* | 6x86-* | athlon-*)
84250276Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
84350276Speter		;;
844166124Srafan	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
84576726Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
84650276Speter		;;
847166124Srafan	pentium4-*)
848166124Srafan		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
849166124Srafan		;;
85050276Speter	pn)
85150276Speter		basic_machine=pn-gould
85250276Speter		;;
85376726Speter	power)	basic_machine=power-ibm
85450276Speter		;;
85550276Speter	ppc)	basic_machine=powerpc-unknown
856166124Srafan		;;
85750276Speter	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
85850276Speter		;;
85950276Speter	ppcle | powerpclittle | ppc-le | powerpc-little)
86050276Speter		basic_machine=powerpcle-unknown
861166124Srafan		;;
86250276Speter	ppcle-* | powerpclittle-*)
86350276Speter		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
86450276Speter		;;
86597049Speter	ppc64)	basic_machine=powerpc64-unknown
866166124Srafan		;;
86797049Speter	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
86897049Speter		;;
86997049Speter	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
87097049Speter		basic_machine=powerpc64le-unknown
871166124Srafan		;;
87297049Speter	ppc64le-* | powerpc64little-*)
87397049Speter		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
87497049Speter		;;
87550276Speter	ps2)
87650276Speter		basic_machine=i386-ibm
87750276Speter		;;
87876726Speter	pw32)
87976726Speter		basic_machine=i586-unknown
88076726Speter		os=-pw32
88176726Speter		;;
882166124Srafan	rdos)
883166124Srafan		basic_machine=i386-pc
884166124Srafan		os=-rdos
885166124Srafan		;;
88662449Speter	rom68k)
88762449Speter		basic_machine=m68k-rom68k
88862449Speter		os=-coff
88962449Speter		;;
89050276Speter	rm[46]00)
89150276Speter		basic_machine=mips-siemens
89250276Speter		;;
89350276Speter	rtpc | rtpc-*)
89450276Speter		basic_machine=romp-ibm
89550276Speter		;;
89697049Speter	s390 | s390-*)
89797049Speter		basic_machine=s390-ibm
89897049Speter		;;
89997049Speter	s390x | s390x-*)
90097049Speter		basic_machine=s390x-ibm
90197049Speter		;;
90262449Speter	sa29200)
90362449Speter		basic_machine=a29k-amd
90462449Speter		os=-udi
90562449Speter		;;
906166124Srafan	sb1)
907166124Srafan		basic_machine=mipsisa64sb1-unknown
908166124Srafan		;;
909166124Srafan	sb1el)
910166124Srafan		basic_machine=mipsisa64sb1el-unknown
911166124Srafan		;;
912166124Srafan	sde)
913166124Srafan		basic_machine=mipsisa32-sde
914166124Srafan		os=-elf
915166124Srafan		;;
916166124Srafan	sei)
917166124Srafan		basic_machine=mips-sei
918166124Srafan		os=-seiux
919166124Srafan		;;
92050276Speter	sequent)
92150276Speter		basic_machine=i386-sequent
92250276Speter		;;
92350276Speter	sh)
92450276Speter		basic_machine=sh-hitachi
92550276Speter		os=-hms
92650276Speter		;;
927166124Srafan	sh64)
928166124Srafan		basic_machine=sh64-unknown
929166124Srafan		;;
93097049Speter	sparclite-wrs | simso-wrs)
93162449Speter		basic_machine=sparclite-wrs
93262449Speter		os=-vxworks
93362449Speter		;;
93450276Speter	sps7)
93550276Speter		basic_machine=m68k-bull
93650276Speter		os=-sysv2
93750276Speter		;;
93850276Speter	spur)
93950276Speter		basic_machine=spur-unknown
94050276Speter		;;
94162449Speter	st2000)
94262449Speter		basic_machine=m68k-tandem
94362449Speter		;;
94462449Speter	stratus)
94562449Speter		basic_machine=i860-stratus
94662449Speter		os=-sysv4
94762449Speter		;;
94850276Speter	sun2)
94950276Speter		basic_machine=m68000-sun
95050276Speter		;;
95150276Speter	sun2os3)
95250276Speter		basic_machine=m68000-sun
95350276Speter		os=-sunos3
95450276Speter		;;
95550276Speter	sun2os4)
95650276Speter		basic_machine=m68000-sun
95750276Speter		os=-sunos4
95850276Speter		;;
95950276Speter	sun3os3)
96050276Speter		basic_machine=m68k-sun
96150276Speter		os=-sunos3
96250276Speter		;;
96350276Speter	sun3os4)
96450276Speter		basic_machine=m68k-sun
96550276Speter		os=-sunos4
96650276Speter		;;
96750276Speter	sun4os3)
96850276Speter		basic_machine=sparc-sun
96950276Speter		os=-sunos3
97050276Speter		;;
97150276Speter	sun4os4)
97250276Speter		basic_machine=sparc-sun
97350276Speter		os=-sunos4
97450276Speter		;;
97550276Speter	sun4sol2)
97650276Speter		basic_machine=sparc-sun
97750276Speter		os=-solaris2
97850276Speter		;;
97950276Speter	sun3 | sun3-*)
98050276Speter		basic_machine=m68k-sun
98150276Speter		;;
98250276Speter	sun4)
98350276Speter		basic_machine=sparc-sun
98450276Speter		;;
98550276Speter	sun386 | sun386i | roadrunner)
98650276Speter		basic_machine=i386-sun
98750276Speter		;;
988166124Srafan	sv1)
98962449Speter		basic_machine=sv1-cray
99062449Speter		os=-unicos
99162449Speter		;;
99250276Speter	symmetry)
99350276Speter		basic_machine=i386-sequent
99450276Speter		os=-dynix
99550276Speter		;;
99662449Speter	t3e)
99797049Speter		basic_machine=alphaev5-cray
99862449Speter		os=-unicos
99962449Speter		;;
100097049Speter	t90)
100197049Speter		basic_machine=t90-cray
100297049Speter		os=-unicos
100397049Speter		;;
100466963Speter	tic54x | c54x*)
100566963Speter		basic_machine=tic54x-unknown
100666963Speter		os=-coff
100766963Speter		;;
1008166124Srafan	tic55x | c55x*)
1009166124Srafan		basic_machine=tic55x-unknown
1010166124Srafan		os=-coff
1011166124Srafan		;;
1012166124Srafan	tic6x | c6x*)
1013166124Srafan		basic_machine=tic6x-unknown
1014166124Srafan		os=-coff
1015166124Srafan		;;
101650276Speter	tx39)
101750276Speter		basic_machine=mipstx39-unknown
101850276Speter		;;
101950276Speter	tx39el)
102050276Speter		basic_machine=mipstx39el-unknown
102150276Speter		;;
102297049Speter	toad1)
102397049Speter		basic_machine=pdp10-xkl
102497049Speter		os=-tops20
102597049Speter		;;
102650276Speter	tower | tower-32)
102750276Speter		basic_machine=m68k-ncr
102850276Speter		;;
1029166124Srafan	tpf)
1030166124Srafan		basic_machine=s390x-ibm
1031166124Srafan		os=-tpf
1032166124Srafan		;;
103350276Speter	udi29k)
103450276Speter		basic_machine=a29k-amd
103550276Speter		os=-udi
103650276Speter		;;
103750276Speter	ultra3)
103850276Speter		basic_machine=a29k-nyu
103950276Speter		os=-sym1
104050276Speter		;;
104162449Speter	v810 | necv810)
104262449Speter		basic_machine=v810-nec
104362449Speter		os=-none
104462449Speter		;;
104550276Speter	vaxv)
104650276Speter		basic_machine=vax-dec
104750276Speter		os=-sysv
104850276Speter		;;
104950276Speter	vms)
105050276Speter		basic_machine=vax-dec
105150276Speter		os=-vms
105250276Speter		;;
105350276Speter	vpp*|vx|vx-*)
1054166124Srafan		basic_machine=f301-fujitsu
1055166124Srafan		;;
105650276Speter	vxworks960)
105750276Speter		basic_machine=i960-wrs
105850276Speter		os=-vxworks
105950276Speter		;;
106050276Speter	vxworks68)
106150276Speter		basic_machine=m68k-wrs
106250276Speter		os=-vxworks
106350276Speter		;;
106450276Speter	vxworks29k)
106550276Speter		basic_machine=a29k-wrs
106650276Speter		os=-vxworks
106750276Speter		;;
106862449Speter	w65*)
106962449Speter		basic_machine=w65-wdc
107062449Speter		os=-none
107162449Speter		;;
107262449Speter	w89k-*)
107362449Speter		basic_machine=hppa1.1-winbond
107462449Speter		os=-proelf
107562449Speter		;;
1076166124Srafan	xbox)
1077166124Srafan		basic_machine=i686-pc
1078166124Srafan		os=-mingw32
107950276Speter		;;
1080166124Srafan	xps | xps100)
108150276Speter		basic_machine=xps100-honeywell
108250276Speter		;;
108397049Speter	ymp)
108497049Speter		basic_machine=ymp-cray
108597049Speter		os=-unicos
108697049Speter		;;
108762449Speter	z8k-*-coff)
108862449Speter		basic_machine=z8k-unknown
108962449Speter		os=-sim
109062449Speter		;;
109150276Speter	none)
109250276Speter		basic_machine=none-none
109350276Speter		os=-none
109450276Speter		;;
109550276Speter
109650276Speter# Here we handle the default manufacturer of certain CPU types.  It is in
109750276Speter# some cases the only manufacturer, in others, it is the most popular.
109862449Speter	w89k)
109962449Speter		basic_machine=hppa1.1-winbond
110062449Speter		;;
110162449Speter	op50n)
110262449Speter		basic_machine=hppa1.1-oki
110362449Speter		;;
110462449Speter	op60c)
110562449Speter		basic_machine=hppa1.1-oki
110662449Speter		;;
110750276Speter	romp)
110850276Speter		basic_machine=romp-ibm
110950276Speter		;;
1110166124Srafan	mmix)
1111166124Srafan		basic_machine=mmix-knuth
1112166124Srafan		;;
111350276Speter	rs6000)
111450276Speter		basic_machine=rs6000-ibm
111550276Speter		;;
111650276Speter	vax)
111750276Speter		basic_machine=vax-dec
111850276Speter		;;
111976726Speter	pdp10)
112076726Speter		# there are many clones, so DEC is not a safe bet
112176726Speter		basic_machine=pdp10-unknown
112276726Speter		;;
112350276Speter	pdp11)
112450276Speter		basic_machine=pdp11-dec
112550276Speter		;;
112650276Speter	we32k)
112750276Speter		basic_machine=we32k-att
112850276Speter		;;
1129166124Srafan	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
113076726Speter		basic_machine=sh-unknown
113162449Speter		;;
1132166124Srafan	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
113350276Speter		basic_machine=sparc-sun
113450276Speter		;;
1135166124Srafan	cydra)
113650276Speter		basic_machine=cydra-cydrome
113750276Speter		;;
113850276Speter	orion)
113950276Speter		basic_machine=orion-highlevel
114050276Speter		;;
114150276Speter	orion105)
114250276Speter		basic_machine=clipper-highlevel
114350276Speter		;;
114462449Speter	mac | mpw | mac-mpw)
114562449Speter		basic_machine=m68k-apple
114662449Speter		;;
114762449Speter	pmac | pmac-mpw)
114862449Speter		basic_machine=powerpc-apple
114962449Speter		;;
115097049Speter	*-unknown)
115197049Speter		# Make sure to match an already-canonicalized machine name.
115297049Speter		;;
115350276Speter	*)
115450276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
115550276Speter		exit 1
115650276Speter		;;
115750276Speteresac
115850276Speter
115950276Speter# Here we canonicalize certain aliases for manufacturers.
116050276Spetercase $basic_machine in
116150276Speter	*-digital*)
116250276Speter		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
116350276Speter		;;
116450276Speter	*-commodore*)
116550276Speter		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
116650276Speter		;;
116750276Speter	*)
116850276Speter		;;
116950276Speteresac
117050276Speter
117150276Speter# Decode manufacturer-specific aliases for certain operating systems.
117250276Speter
117350276Speterif [ x"$os" != x"" ]
117450276Speterthen
117550276Spetercase $os in
117650276Speter        # First match some system type aliases
117750276Speter        # that might get confused with valid system types.
117850276Speter	# -solaris* is a basic system type, with this one exception.
117950276Speter	-solaris1 | -solaris1.*)
118050276Speter		os=`echo $os | sed -e 's|solaris1|sunos4|'`
118150276Speter		;;
118250276Speter	-solaris)
118350276Speter		os=-solaris2
118450276Speter		;;
118550276Speter	-svr4*)
118650276Speter		os=-sysv4
118750276Speter		;;
118850276Speter	-unixware*)
118950276Speter		os=-sysv4.2uw
119050276Speter		;;
119150276Speter	-gnu/linux*)
119250276Speter		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
119350276Speter		;;
119450276Speter	# First accept the basic system types.
119550276Speter	# The portable systems comes first.
119650276Speter	# Each alternative MUST END IN A *, to match a version number.
119750276Speter	# -sysv* is not here because it comes later, after sysvr4.
119850276Speter	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
119950276Speter	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
120050276Speter	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
120150276Speter	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
120250276Speter	      | -aos* \
120362449Speter	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
120450276Speter	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1205166124Srafan	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1206166124Srafan	      | -openbsd* | -solidbsd* \
1207166124Srafan	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1208166124Srafan	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
120950276Speter	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
121050276Speter	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
121197049Speter	      | -chorusos* | -chorusrdb* \
121250276Speter	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1213166124Srafan	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1214166124Srafan	      | -uxpv* | -beos* | -mpeix* | -udk* \
1215166124Srafan	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
121676726Speter	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
121797049Speter	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
121897049Speter	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1219166124Srafan	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1220166124Srafan	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1221166124Srafan	      | -skyos* | -haiku* | -rdos* | -toppers*)
122250276Speter	# Remember, each alternative MUST END IN *, to match a version number.
122350276Speter		;;
122462449Speter	-qnx*)
122562449Speter		case $basic_machine in
122697049Speter		    x86-* | i*86-*)
122762449Speter			;;
122862449Speter		    *)
122962449Speter			os=-nto$os
123062449Speter			;;
123162449Speter		esac
123262449Speter		;;
1233166124Srafan	-nto-qnx*)
1234166124Srafan		;;
123562449Speter	-nto*)
1236166124Srafan		os=`echo $os | sed -e 's|nto|nto-qnx|'`
123762449Speter		;;
123862449Speter	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1239166124Srafan	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
124062449Speter	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
124162449Speter		;;
124262449Speter	-mac*)
124362449Speter		os=`echo $os | sed -e 's|mac|macos|'`
124462449Speter		;;
1245166124Srafan	-linux-dietlibc)
1246166124Srafan		os=-linux-dietlibc
1247166124Srafan		;;
124850276Speter	-linux*)
124950276Speter		os=`echo $os | sed -e 's|linux|linux-gnu|'`
125050276Speter		;;
125150276Speter	-sunos5*)
125250276Speter		os=`echo $os | sed -e 's|sunos5|solaris2|'`
125350276Speter		;;
125450276Speter	-sunos6*)
125550276Speter		os=`echo $os | sed -e 's|sunos6|solaris3|'`
125650276Speter		;;
125762449Speter	-opened*)
125862449Speter		os=-openedition
125962449Speter		;;
1260166124Srafan        -os400*)
1261166124Srafan		os=-os400
1262166124Srafan		;;
126362449Speter	-wince*)
126462449Speter		os=-wince
126562449Speter		;;
126650276Speter	-osfrose*)
126750276Speter		os=-osfrose
126850276Speter		;;
126950276Speter	-osf*)
127050276Speter		os=-osf
127150276Speter		;;
127250276Speter	-utek*)
127350276Speter		os=-bsd
127450276Speter		;;
127550276Speter	-dynix*)
127650276Speter		os=-bsd
127750276Speter		;;
127850276Speter	-acis*)
127950276Speter		os=-aos
128050276Speter		;;
128197049Speter	-atheos*)
128297049Speter		os=-atheos
128397049Speter		;;
1284166124Srafan	-syllable*)
1285166124Srafan		os=-syllable
1286166124Srafan		;;
128762449Speter	-386bsd)
128862449Speter		os=-bsd
128962449Speter		;;
129050276Speter	-ctix* | -uts*)
129150276Speter		os=-sysv
129250276Speter		;;
129397049Speter	-nova*)
129497049Speter		os=-rtmk-nova
129597049Speter		;;
129650276Speter	-ns2 )
1297166124Srafan		os=-nextstep2
129850276Speter		;;
129976726Speter	-nsk*)
130062449Speter		os=-nsk
130162449Speter		;;
130250276Speter	# Preserve the version number of sinix5.
130350276Speter	-sinix5.*)
130450276Speter		os=`echo $os | sed -e 's|sinix|sysv|'`
130550276Speter		;;
130650276Speter	-sinix*)
130750276Speter		os=-sysv4
130850276Speter		;;
1309166124Srafan        -tpf*)
1310166124Srafan		os=-tpf
1311166124Srafan		;;
131250276Speter	-triton*)
131350276Speter		os=-sysv3
131450276Speter		;;
131550276Speter	-oss*)
131650276Speter		os=-sysv3
131750276Speter		;;
131850276Speter	-svr4)
131950276Speter		os=-sysv4
132050276Speter		;;
132150276Speter	-svr3)
132250276Speter		os=-sysv3
132350276Speter		;;
132450276Speter	-sysvr4)
132550276Speter		os=-sysv4
132650276Speter		;;
132750276Speter	# This must come after -sysvr4.
132850276Speter	-sysv*)
132950276Speter		;;
133062449Speter	-ose*)
133162449Speter		os=-ose
133262449Speter		;;
133362449Speter	-es1800*)
133462449Speter		os=-ose
133562449Speter		;;
133650276Speter	-xenix)
133750276Speter		os=-xenix
133850276Speter		;;
1339166124Srafan	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1340166124Srafan		os=-mint
134162449Speter		;;
1342166124Srafan	-aros*)
1343166124Srafan		os=-aros
1344166124Srafan		;;
1345166124Srafan	-kaos*)
1346166124Srafan		os=-kaos
1347166124Srafan		;;
1348166124Srafan	-zvmoe)
1349166124Srafan		os=-zvmoe
1350166124Srafan		;;
135150276Speter	-none)
135250276Speter		;;
135350276Speter	*)
135450276Speter		# Get rid of the `-' at the beginning of $os.
135550276Speter		os=`echo $os | sed 's/[^-]*-//'`
135650276Speter		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
135750276Speter		exit 1
135850276Speter		;;
135950276Speteresac
136050276Speterelse
136150276Speter
136250276Speter# Here we handle the default operating systems that come with various machines.
136350276Speter# The value should be what the vendor currently ships out the door with their
136450276Speter# machine or put another way, the most popular os provided with the machine.
136550276Speter
136650276Speter# Note that if you're going to try to match "-MANUFACTURER" here (say,
136750276Speter# "-sun"), then you have to tell the case statement up towards the top
136850276Speter# that MANUFACTURER isn't an operating system.  Otherwise, code above
136950276Speter# will signal an error saying that MANUFACTURER isn't an operating
137050276Speter# system, and we'll never get to this point.
137150276Speter
137250276Spetercase $basic_machine in
1373166124Srafan        spu-*)
1374166124Srafan		os=-elf
1375166124Srafan		;;
137650276Speter	*-acorn)
137750276Speter		os=-riscix1.2
137850276Speter		;;
137962449Speter	arm*-rebel)
138062449Speter		os=-linux
138162449Speter		;;
138250276Speter	arm*-semi)
138350276Speter		os=-aout
138450276Speter		;;
1385166124Srafan        c4x-* | tic4x-*)
1386166124Srafan        	os=-coff
1387166124Srafan		;;
138897049Speter	# This must come before the *-dec entry.
138976726Speter	pdp10-*)
139076726Speter		os=-tops20
139176726Speter		;;
1392166124Srafan	pdp11-*)
139350276Speter		os=-none
139450276Speter		;;
139550276Speter	*-dec | vax-*)
139650276Speter		os=-ultrix4.2
139750276Speter		;;
139850276Speter	m68*-apollo)
139950276Speter		os=-domain
140050276Speter		;;
140150276Speter	i386-sun)
140250276Speter		os=-sunos4.0.2
140350276Speter		;;
140450276Speter	m68000-sun)
140550276Speter		os=-sunos3
140650276Speter		# This also exists in the configure program, but was not the
140750276Speter		# default.
140850276Speter		# os=-sunos4
140950276Speter		;;
141062449Speter	m68*-cisco)
141162449Speter		os=-aout
141262449Speter		;;
141362449Speter	mips*-cisco)
141462449Speter		os=-elf
141562449Speter		;;
141662449Speter	mips*-*)
141762449Speter		os=-elf
141862449Speter		;;
141997049Speter	or32-*)
142097049Speter		os=-coff
142197049Speter		;;
142250276Speter	*-tti)	# must be before sparc entry or we get the wrong os.
142350276Speter		os=-sysv3
142450276Speter		;;
142550276Speter	sparc-* | *-sun)
142650276Speter		os=-sunos4.1.1
142750276Speter		;;
142850276Speter	*-be)
142950276Speter		os=-beos
143050276Speter		;;
1431166124Srafan	*-haiku)
1432166124Srafan		os=-haiku
1433166124Srafan		;;
143450276Speter	*-ibm)
143550276Speter		os=-aix
143650276Speter		;;
1437166124Srafan    	*-knuth)
1438166124Srafan		os=-mmixware
1439166124Srafan		;;
144062449Speter	*-wec)
144162449Speter		os=-proelf
144262449Speter		;;
144362449Speter	*-winbond)
144462449Speter		os=-proelf
144562449Speter		;;
144662449Speter	*-oki)
144762449Speter		os=-proelf
144862449Speter		;;
144950276Speter	*-hp)
145050276Speter		os=-hpux
145150276Speter		;;
145250276Speter	*-hitachi)
145350276Speter		os=-hiux
145450276Speter		;;
145550276Speter	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
145650276Speter		os=-sysv
145750276Speter		;;
145850276Speter	*-cbm)
145950276Speter		os=-amigaos
146050276Speter		;;
146150276Speter	*-dg)
146250276Speter		os=-dgux
146350276Speter		;;
146450276Speter	*-dolphin)
146550276Speter		os=-sysv3
146650276Speter		;;
146750276Speter	m68k-ccur)
146850276Speter		os=-rtu
146950276Speter		;;
147050276Speter	m88k-omron*)
147150276Speter		os=-luna
147250276Speter		;;
147350276Speter	*-next )
147450276Speter		os=-nextstep
147550276Speter		;;
147650276Speter	*-sequent)
147750276Speter		os=-ptx
147850276Speter		;;
147950276Speter	*-crds)
148050276Speter		os=-unos
148150276Speter		;;
148250276Speter	*-ns)
148350276Speter		os=-genix
148450276Speter		;;
148550276Speter	i370-*)
148650276Speter		os=-mvs
148750276Speter		;;
148850276Speter	*-next)
148950276Speter		os=-nextstep3
149050276Speter		;;
1491166124Srafan	*-gould)
149250276Speter		os=-sysv
149350276Speter		;;
1494166124Srafan	*-highlevel)
149550276Speter		os=-bsd
149650276Speter		;;
149750276Speter	*-encore)
149850276Speter		os=-bsd
149950276Speter		;;
1500166124Srafan	*-sgi)
150150276Speter		os=-irix
150250276Speter		;;
1503166124Srafan	*-siemens)
150450276Speter		os=-sysv4
150550276Speter		;;
150650276Speter	*-masscomp)
150750276Speter		os=-rtu
150850276Speter		;;
150976726Speter	f30[01]-fujitsu | f700-fujitsu)
151050276Speter		os=-uxpv
151150276Speter		;;
151262449Speter	*-rom68k)
151362449Speter		os=-coff
151462449Speter		;;
151562449Speter	*-*bug)
151662449Speter		os=-coff
151762449Speter		;;
151862449Speter	*-apple)
151962449Speter		os=-macos
152062449Speter		;;
152162449Speter	*-atari*)
152262449Speter		os=-mint
152362449Speter		;;
152450276Speter	*)
152550276Speter		os=-none
152650276Speter		;;
152750276Speteresac
152850276Speterfi
152950276Speter
153050276Speter# Here we handle the case where we know the os, and the CPU type, but not the
153150276Speter# manufacturer.  We pick the logical manufacturer.
153250276Spetervendor=unknown
153350276Spetercase $basic_machine in
153450276Speter	*-unknown)
153550276Speter		case $os in
153650276Speter			-riscix*)
153750276Speter				vendor=acorn
153850276Speter				;;
153950276Speter			-sunos*)
154050276Speter				vendor=sun
154150276Speter				;;
154250276Speter			-aix*)
154350276Speter				vendor=ibm
154450276Speter				;;
154562449Speter			-beos*)
154662449Speter				vendor=be
154762449Speter				;;
154850276Speter			-hpux*)
154950276Speter				vendor=hp
155050276Speter				;;
155162449Speter			-mpeix*)
155262449Speter				vendor=hp
155362449Speter				;;
155450276Speter			-hiux*)
155550276Speter				vendor=hitachi
155650276Speter				;;
155750276Speter			-unos*)
155850276Speter				vendor=crds
155950276Speter				;;
156050276Speter			-dgux*)
156150276Speter				vendor=dg
156250276Speter				;;
156350276Speter			-luna*)
156450276Speter				vendor=omron
156550276Speter				;;
156650276Speter			-genix*)
156750276Speter				vendor=ns
156850276Speter				;;
156962449Speter			-mvs* | -opened*)
157050276Speter				vendor=ibm
157150276Speter				;;
1572166124Srafan			-os400*)
1573166124Srafan				vendor=ibm
1574166124Srafan				;;
157550276Speter			-ptx*)
157650276Speter				vendor=sequent
157750276Speter				;;
1578166124Srafan			-tpf*)
1579166124Srafan				vendor=ibm
1580166124Srafan				;;
158197049Speter			-vxsim* | -vxworks* | -windiss*)
158250276Speter				vendor=wrs
158350276Speter				;;
158450276Speter			-aux*)
158550276Speter				vendor=apple
158650276Speter				;;
158762449Speter			-hms*)
158862449Speter				vendor=hitachi
158962449Speter				;;
159062449Speter			-mpw* | -macos*)
159162449Speter				vendor=apple
159262449Speter				;;
159376726Speter			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
159462449Speter				vendor=atari
159562449Speter				;;
159697049Speter			-vos*)
159797049Speter				vendor=stratus
159897049Speter				;;
159950276Speter		esac
160050276Speter		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
160150276Speter		;;
160250276Speteresac
160350276Speter
160450276Speterecho $basic_machine$os
1605166124Srafanexit
160662449Speter
160762449Speter# Local variables:
160862449Speter# eval: (add-hook 'write-file-hooks 'time-stamp)
160976726Speter# time-stamp-start: "timestamp='"
161062449Speter# time-stamp-format: "%:y-%02m-%02d"
161162449Speter# time-stamp-end: "'"
161262449Speter# End:
1613