config.sub revision 76726
150276Speter#! /bin/sh
276726Speter# Configuration validation subroutine script.
376726Speter#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
462449Speter#   Free Software Foundation, Inc.
562449Speter
676726Spetertimestamp='2001-03-09'
762449Speter
850276Speter# This file is (in principle) common to ALL GNU software.
950276Speter# The presence of a machine in this file suggests that SOME GNU software
1050276Speter# can handle that machine.  It does not imply ALL GNU software can.
1150276Speter#
1250276Speter# This file is free software; you can redistribute it and/or modify
1350276Speter# it under the terms of the GNU General Public License as published by
1450276Speter# the Free Software Foundation; either version 2 of the License, or
1550276Speter# (at your option) any later version.
1650276Speter#
1750276Speter# This program is distributed in the hope that it will be useful,
1850276Speter# but WITHOUT ANY WARRANTY; without even the implied warranty of
1950276Speter# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2050276Speter# GNU General Public License for more details.
2150276Speter#
2250276Speter# You should have received a copy of the GNU General Public License
2350276Speter# along with this program; if not, write to the Free Software
2450276Speter# Foundation, Inc., 59 Temple Place - Suite 330,
2550276Speter# Boston, MA 02111-1307, USA.
2650276Speter
2750276Speter# As a special exception to the GNU General Public License, if you
2850276Speter# distribute this file as part of a program that contains a
2950276Speter# configuration script generated by Autoconf, you may include it under
3050276Speter# the same distribution terms that you use for the rest of that program.
3150276Speter
3262449Speter# Please send patches to <config-patches@gnu.org>.
3362449Speter#
3450276Speter# Configuration subroutine to validate and canonicalize a configuration type.
3550276Speter# Supply the specified configuration type as an argument.
3650276Speter# If it is invalid, we print an error message on stderr and exit with code 1.
3750276Speter# Otherwise, we print the canonical config type on stdout and succeed.
3850276Speter
3950276Speter# This file is supposed to be the same for all GNU packages
4050276Speter# and recognize all the CPU types, system types and aliases
4150276Speter# that are meaningful with *any* GNU software.
4250276Speter# Each package is responsible for reporting which valid configurations
4350276Speter# it does not support.  The user should be able to distinguish
4450276Speter# a failure to support a valid configuration from a meaningless
4550276Speter# configuration.
4650276Speter
4750276Speter# The goal of this file is to map all the various variations of a given
4850276Speter# machine specification into a single specification in the form:
4950276Speter#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5050276Speter# or in some cases, the newer four-part form:
5150276Speter#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5250276Speter# It is wrong to echo any other type of specification.
5350276Speter
5462449Speterme=`echo "$0" | sed -e 's,.*/,,'`
5550276Speter
5662449Speterusage="\
5762449SpeterUsage: $0 [OPTION] CPU-MFR-OPSYS
5862449Speter       $0 [OPTION] ALIAS
5962449Speter
6062449SpeterCanonicalize a configuration name.
6162449Speter
6262449SpeterOperation modes:
6376726Speter  -h, --help         print this help, then exit
6476726Speter  -t, --time-stamp   print date of last modification, then exit
6576726Speter  -v, --version      print version number, then exit
6662449Speter
6776726SpeterReport bugs and patches to <config-patches@gnu.org>."
6876726Speter
6976726Speterversion="\
7076726SpeterGNU config.sub ($timestamp)
7176726Speter
7276726SpeterCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
7376726SpeterFree Software Foundation, Inc.
7476726Speter
7576726SpeterThis is free software; see the source for copying conditions.  There is NO
7676726Speterwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7776726Speter
7862449Speterhelp="
7962449SpeterTry \`$me --help' for more information."
8062449Speter
8162449Speter# Parse command line
8262449Speterwhile test $# -gt 0 ; do
8376726Speter  case $1 in
8476726Speter    --time-stamp | --time* | -t )
8576726Speter       echo "$timestamp" ; exit 0 ;;
8676726Speter    --version | -v )
8762449Speter       echo "$version" ; exit 0 ;;
8862449Speter    --help | --h* | -h )
8962449Speter       echo "$usage"; exit 0 ;;
9062449Speter    -- )     # Stop option processing
9162449Speter       shift; break ;;
9262449Speter    - )	# Use stdin as input.
9362449Speter       break ;;
9462449Speter    -* )
9576726Speter       echo "$me: invalid option $1$help"
9662449Speter       exit 1 ;;
9762449Speter
9862449Speter    *local*)
9962449Speter       # First pass through any local machine types.
10062449Speter       echo $1
10162449Speter       exit 0;;
10262449Speter
10362449Speter    * )
10462449Speter       break ;;
10562449Speter  esac
10662449Speterdone
10762449Speter
10862449Spetercase $# in
10962449Speter 0) echo "$me: missing argument$help" >&2
11062449Speter    exit 1;;
11162449Speter 1) ;;
11262449Speter *) echo "$me: too many arguments$help" >&2
11362449Speter    exit 1;;
11450276Speteresac
11550276Speter
11650276Speter# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11750276Speter# Here we must recognize all the valid KERNEL-OS combinations.
11850276Spetermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11950276Spetercase $maybe_os in
12076726Speter  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
12150276Speter    os=-$maybe_os
12250276Speter    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12350276Speter    ;;
12450276Speter  *)
12550276Speter    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
12650276Speter    if [ $basic_machine != $1 ]
12750276Speter    then os=`echo $1 | sed 's/.*-/-/'`
12850276Speter    else os=; fi
12950276Speter    ;;
13050276Speteresac
13150276Speter
13250276Speter### Let's recognize common machines as not being operating systems so
13350276Speter### that things like config.sub decstation-3100 work.  We also
13450276Speter### recognize some manufacturers as not being operating systems, so we
13550276Speter### can provide default operating systems below.
13650276Spetercase $os in
13750276Speter	-sun*os*)
13850276Speter		# Prevent following clause from handling this invalid input.
13950276Speter		;;
14050276Speter	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14150276Speter	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14250276Speter	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14350276Speter	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14450276Speter	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
14550276Speter	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
14662449Speter	-apple | -axis)
14750276Speter		os=
14850276Speter		basic_machine=$1
14950276Speter		;;
15062449Speter	-sim | -cisco | -oki | -wec | -winbond)
15162449Speter		os=
15262449Speter		basic_machine=$1
15362449Speter		;;
15462449Speter	-scout)
15562449Speter		;;
15662449Speter	-wrs)
15762449Speter		os=-vxworks
15862449Speter		basic_machine=$1
15962449Speter		;;
16050276Speter	-hiux*)
16150276Speter		os=-hiuxwe2
16250276Speter		;;
16350276Speter	-sco5)
16462449Speter		os=-sco3.2v5
16550276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
16650276Speter		;;
16750276Speter	-sco4)
16850276Speter		os=-sco3.2v4
16950276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17050276Speter		;;
17150276Speter	-sco3.2.[4-9]*)
17250276Speter		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
17350276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17450276Speter		;;
17550276Speter	-sco3.2v[4-9]*)
17650276Speter		# Don't forget version if it is 3.2v4 or newer.
17750276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17850276Speter		;;
17950276Speter	-sco*)
18050276Speter		os=-sco3.2v2
18150276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18250276Speter		;;
18362449Speter	-udk*)
18462449Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18562449Speter		;;
18650276Speter	-isc)
18750276Speter		os=-isc2.2
18850276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18950276Speter		;;
19050276Speter	-clix*)
19150276Speter		basic_machine=clipper-intergraph
19250276Speter		;;
19350276Speter	-isc*)
19450276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19550276Speter		;;
19650276Speter	-lynx*)
19750276Speter		os=-lynxos
19850276Speter		;;
19950276Speter	-ptx*)
20050276Speter		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
20150276Speter		;;
20250276Speter	-windowsnt*)
20350276Speter		os=`echo $os | sed -e 's/windowsnt/winnt/'`
20450276Speter		;;
20550276Speter	-psos*)
20650276Speter		os=-psos
20750276Speter		;;
20862449Speter	-mint | -mint[0-9]*)
20962449Speter		basic_machine=m68k-atari
21062449Speter		os=-mint
21162449Speter		;;
21250276Speteresac
21350276Speter
21450276Speter# Decode aliases for certain CPU-COMPANY combinations.
21550276Spetercase $basic_machine in
21650276Speter	# Recognize the basic CPU types without company name.
21750276Speter	# Some are omitted here because they have special meanings below.
21876726Speter	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
21976726Speter	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
22076726Speter		| pyramid | mn10200 | mn10300 | tron | a29k \
22150276Speter		| 580 | i960 | h8300 \
22276726Speter		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
22362449Speter		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
22462449Speter		| hppa64 \
22562449Speter		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
22662449Speter		| alphaev6[78] \
22762449Speter		| we32k | ns16k | clipper | i370 | sh | sh[34] \
22862449Speter		| powerpc | powerpcle \
22976726Speter		| 1750a | dsp16xx | pdp10 | pdp11 \
23076726Speter		| mips16 | mips64 | mipsel | mips64el \
23162449Speter		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
23262449Speter		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
23376726Speter		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
23462449Speter		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
23576726Speter		| thumb | d10v | d30v | fr30 | avr | openrisc)
23650276Speter		basic_machine=$basic_machine-unknown
23750276Speter		;;
23866963Speter	m6811 | m68hc11 | m6812 | m68hc12)
23966963Speter		# Motorola 68HC11/12.
24066963Speter		basic_machine=$basic_machine-unknown
24166963Speter		os=-none
24266963Speter		;;
24362449Speter	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
24462449Speter		;;
24562449Speter
24650276Speter	# We use `pc' rather than `unknown'
24750276Speter	# because (1) that's what they normally are, and
24850276Speter	# (2) the word "unknown" tends to confuse beginning users.
24976726Speter	i[234567]86 | x86_64)
25050276Speter	  basic_machine=$basic_machine-pc
25150276Speter	  ;;
25250276Speter	# Object if more than one company name word.
25350276Speter	*-*-*)
25450276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
25550276Speter		exit 1
25650276Speter		;;
25750276Speter	# Recognize the basic CPU types with company name.
25862449Speter	# FIXME: clean up the formatting here.
25962449Speter	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
26076726Speter	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
26176726Speter	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
26250276Speter	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
26362449Speter	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
26450276Speter	      | xmp-* | ymp-* \
26576726Speter	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
26650276Speter	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
26762449Speter	      | hppa2.0n-* | hppa64-* \
26862449Speter	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
26962449Speter	      | alphaev6[78]-* \
27062449Speter	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
27162449Speter	      | clipper-* | orion-* \
27276726Speter	      | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
27362449Speter	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
27462449Speter	      | mips64el-* | mips64orion-* | mips64orionel-* \
27562449Speter	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
27662449Speter	      | mipstx39-* | mipstx39el-* | mcore-* \
27776726Speter	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
27876726Speter	      | [cjt]90-* \
27962449Speter	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
28062449Speter	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
28176726Speter	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
28250276Speter		;;
28350276Speter	# Recognize the various machine names and aliases which stand
28450276Speter	# for a CPU type and a company and sometimes even an OS.
28562449Speter	386bsd)
28662449Speter		basic_machine=i386-unknown
28762449Speter		os=-bsd
28862449Speter		;;
28950276Speter	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
29050276Speter		basic_machine=m68000-att
29150276Speter		;;
29250276Speter	3b*)
29350276Speter		basic_machine=we32k-att
29450276Speter		;;
29562449Speter	a29khif)
29662449Speter		basic_machine=a29k-amd
29762449Speter		os=-udi
29862449Speter		;;
29962449Speter	adobe68k)
30062449Speter		basic_machine=m68010-adobe
30162449Speter		os=-scout
30262449Speter		;;
30350276Speter	alliant | fx80)
30450276Speter		basic_machine=fx80-alliant
30550276Speter		;;
30650276Speter	altos | altos3068)
30750276Speter		basic_machine=m68k-altos
30850276Speter		;;
30950276Speter	am29k)
31050276Speter		basic_machine=a29k-none
31150276Speter		os=-bsd
31250276Speter		;;
31350276Speter	amdahl)
31450276Speter		basic_machine=580-amdahl
31550276Speter		os=-sysv
31650276Speter		;;
31750276Speter	amiga | amiga-*)
31876726Speter		basic_machine=m68k-unknown
31950276Speter		;;
32050276Speter	amigaos | amigados)
32176726Speter		basic_machine=m68k-unknown
32250276Speter		os=-amigaos
32350276Speter		;;
32450276Speter	amigaunix | amix)
32576726Speter		basic_machine=m68k-unknown
32650276Speter		os=-sysv4
32750276Speter		;;
32850276Speter	apollo68)
32950276Speter		basic_machine=m68k-apollo
33050276Speter		os=-sysv
33150276Speter		;;
33262449Speter	apollo68bsd)
33362449Speter		basic_machine=m68k-apollo
33462449Speter		os=-bsd
33562449Speter		;;
33650276Speter	aux)
33750276Speter		basic_machine=m68k-apple
33850276Speter		os=-aux
33950276Speter		;;
34050276Speter	balance)
34150276Speter		basic_machine=ns32k-sequent
34250276Speter		os=-dynix
34350276Speter		;;
34450276Speter	convex-c1)
34550276Speter		basic_machine=c1-convex
34650276Speter		os=-bsd
34750276Speter		;;
34850276Speter	convex-c2)
34950276Speter		basic_machine=c2-convex
35050276Speter		os=-bsd
35150276Speter		;;
35250276Speter	convex-c32)
35350276Speter		basic_machine=c32-convex
35450276Speter		os=-bsd
35550276Speter		;;
35650276Speter	convex-c34)
35750276Speter		basic_machine=c34-convex
35850276Speter		os=-bsd
35950276Speter		;;
36050276Speter	convex-c38)
36150276Speter		basic_machine=c38-convex
36250276Speter		os=-bsd
36350276Speter		;;
36450276Speter	cray | ymp)
36550276Speter		basic_machine=ymp-cray
36650276Speter		os=-unicos
36750276Speter		;;
36850276Speter	cray2)
36950276Speter		basic_machine=cray2-cray
37050276Speter		os=-unicos
37150276Speter		;;
37276726Speter	[cjt]90)
37376726Speter		basic_machine=${basic_machine}-cray
37450276Speter		os=-unicos
37550276Speter		;;
37650276Speter	crds | unos)
37750276Speter		basic_machine=m68k-crds
37850276Speter		;;
37962449Speter	cris | cris-* | etrax*)
38062449Speter		basic_machine=cris-axis
38162449Speter		;;
38250276Speter	da30 | da30-*)
38350276Speter		basic_machine=m68k-da30
38450276Speter		;;
38550276Speter	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
38650276Speter		basic_machine=mips-dec
38750276Speter		;;
38850276Speter	delta | 3300 | motorola-3300 | motorola-delta \
38950276Speter	      | 3300-motorola | delta-motorola)
39050276Speter		basic_machine=m68k-motorola
39150276Speter		;;
39250276Speter	delta88)
39350276Speter		basic_machine=m88k-motorola
39450276Speter		os=-sysv3
39550276Speter		;;
39650276Speter	dpx20 | dpx20-*)
39750276Speter		basic_machine=rs6000-bull
39850276Speter		os=-bosx
39950276Speter		;;
40050276Speter	dpx2* | dpx2*-bull)
40150276Speter		basic_machine=m68k-bull
40250276Speter		os=-sysv3
40350276Speter		;;
40450276Speter	ebmon29k)
40550276Speter		basic_machine=a29k-amd
40650276Speter		os=-ebmon
40750276Speter		;;
40850276Speter	elxsi)
40950276Speter		basic_machine=elxsi-elxsi
41050276Speter		os=-bsd
41150276Speter		;;
41250276Speter	encore | umax | mmax)
41350276Speter		basic_machine=ns32k-encore
41450276Speter		;;
41562449Speter	es1800 | OSE68k | ose68k | ose | OSE)
41662449Speter		basic_machine=m68k-ericsson
41762449Speter		os=-ose
41862449Speter		;;
41950276Speter	fx2800)
42050276Speter		basic_machine=i860-alliant
42150276Speter		;;
42250276Speter	genix)
42350276Speter		basic_machine=ns32k-ns
42450276Speter		;;
42550276Speter	gmicro)
42650276Speter		basic_machine=tron-gmicro
42750276Speter		os=-sysv
42850276Speter		;;
42976726Speter	go32)
43076726Speter		basic_machine=i386-pc
43176726Speter		os=-go32
43276726Speter		;;
43350276Speter	h3050r* | hiux*)
43450276Speter		basic_machine=hppa1.1-hitachi
43550276Speter		os=-hiuxwe2
43650276Speter		;;
43750276Speter	h8300hms)
43850276Speter		basic_machine=h8300-hitachi
43950276Speter		os=-hms
44050276Speter		;;
44162449Speter	h8300xray)
44262449Speter		basic_machine=h8300-hitachi
44362449Speter		os=-xray
44462449Speter		;;
44562449Speter	h8500hms)
44662449Speter		basic_machine=h8500-hitachi
44762449Speter		os=-hms
44862449Speter		;;
44950276Speter	harris)
45050276Speter		basic_machine=m88k-harris
45150276Speter		os=-sysv3
45250276Speter		;;
45350276Speter	hp300-*)
45450276Speter		basic_machine=m68k-hp
45550276Speter		;;
45650276Speter	hp300bsd)
45750276Speter		basic_machine=m68k-hp
45850276Speter		os=-bsd
45950276Speter		;;
46050276Speter	hp300hpux)
46150276Speter		basic_machine=m68k-hp
46250276Speter		os=-hpux
46350276Speter		;;
46462449Speter	hp3k9[0-9][0-9] | hp9[0-9][0-9])
46562449Speter		basic_machine=hppa1.0-hp
46662449Speter		;;
46750276Speter	hp9k2[0-9][0-9] | hp9k31[0-9])
46850276Speter		basic_machine=m68000-hp
46950276Speter		;;
47050276Speter	hp9k3[2-9][0-9])
47150276Speter		basic_machine=m68k-hp
47250276Speter		;;
47362449Speter	hp9k6[0-9][0-9] | hp6[0-9][0-9])
47462449Speter		basic_machine=hppa1.0-hp
47562449Speter		;;
47662449Speter	hp9k7[0-79][0-9] | hp7[0-79][0-9])
47750276Speter		basic_machine=hppa1.1-hp
47850276Speter		;;
47962449Speter	hp9k78[0-9] | hp78[0-9])
48062449Speter		# FIXME: really hppa2.0-hp
48162449Speter		basic_machine=hppa1.1-hp
48262449Speter		;;
48362449Speter	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
48462449Speter		# FIXME: really hppa2.0-hp
48562449Speter		basic_machine=hppa1.1-hp
48662449Speter		;;
48762449Speter	hp9k8[0-9][13679] | hp8[0-9][13679])
48862449Speter		basic_machine=hppa1.1-hp
48962449Speter		;;
49050276Speter	hp9k8[0-9][0-9] | hp8[0-9][0-9])
49150276Speter		basic_machine=hppa1.0-hp
49250276Speter		;;
49350276Speter	hppa-next)
49450276Speter		os=-nextstep3
49550276Speter		;;
49662449Speter	hppaosf)
49762449Speter		basic_machine=hppa1.1-hp
49862449Speter		os=-osf
49962449Speter		;;
50062449Speter	hppro)
50162449Speter		basic_machine=hppa1.1-hp
50262449Speter		os=-proelf
50362449Speter		;;
50450276Speter	i370-ibm* | ibm*)
50550276Speter		basic_machine=i370-ibm
50650276Speter		;;
50750276Speter# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
50850276Speter	i[34567]86v32)
50950276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51050276Speter		os=-sysv32
51150276Speter		;;
51250276Speter	i[34567]86v4*)
51350276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51450276Speter		os=-sysv4
51550276Speter		;;
51650276Speter	i[34567]86v)
51750276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51850276Speter		os=-sysv
51950276Speter		;;
52050276Speter	i[34567]86sol2)
52150276Speter		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
52250276Speter		os=-solaris2
52350276Speter		;;
52462449Speter	i386mach)
52562449Speter		basic_machine=i386-mach
52662449Speter		os=-mach
52762449Speter		;;
52862449Speter	i386-vsta | vsta)
52962449Speter		basic_machine=i386-unknown
53062449Speter		os=-vsta
53162449Speter		;;
53250276Speter	iris | iris4d)
53350276Speter		basic_machine=mips-sgi
53450276Speter		case $os in
53550276Speter		    -irix*)
53650276Speter			;;
53750276Speter		    *)
53850276Speter			os=-irix4
53950276Speter			;;
54050276Speter		esac
54150276Speter		;;
54250276Speter	isi68 | isi)
54350276Speter		basic_machine=m68k-isi
54450276Speter		os=-sysv
54550276Speter		;;
54650276Speter	m88k-omron*)
54750276Speter		basic_machine=m88k-omron
54850276Speter		;;
54950276Speter	magnum | m3230)
55050276Speter		basic_machine=mips-mips
55150276Speter		os=-sysv
55250276Speter		;;
55350276Speter	merlin)
55450276Speter		basic_machine=ns32k-utek
55550276Speter		os=-sysv
55650276Speter		;;
55776726Speter	mingw32)
55876726Speter		basic_machine=i386-pc
55976726Speter		os=-mingw32
56076726Speter		;;
56150276Speter	miniframe)
56250276Speter		basic_machine=m68000-convergent
56350276Speter		;;
56462449Speter	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
56562449Speter		basic_machine=m68k-atari
56662449Speter		os=-mint
56762449Speter		;;
56850276Speter	mipsel*-linux*)
56950276Speter		basic_machine=mipsel-unknown
57050276Speter		os=-linux-gnu
57150276Speter		;;
57250276Speter	mips*-linux*)
57350276Speter		basic_machine=mips-unknown
57450276Speter		os=-linux-gnu
57550276Speter		;;
57650276Speter	mips3*-*)
57750276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
57850276Speter		;;
57950276Speter	mips3*)
58050276Speter		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
58150276Speter		;;
58262449Speter	mmix*)
58362449Speter		basic_machine=mmix-knuth
58462449Speter		os=-mmixware
58562449Speter		;;
58662449Speter	monitor)
58762449Speter		basic_machine=m68k-rom68k
58862449Speter		os=-coff
58962449Speter		;;
59062449Speter	msdos)
59176726Speter		basic_machine=i386-pc
59262449Speter		os=-msdos
59362449Speter		;;
59462449Speter	mvs)
59562449Speter		basic_machine=i370-ibm
59662449Speter		os=-mvs
59762449Speter		;;
59850276Speter	ncr3000)
59950276Speter		basic_machine=i486-ncr
60050276Speter		os=-sysv4
60150276Speter		;;
60262449Speter	netbsd386)
60362449Speter		basic_machine=i386-unknown
60462449Speter		os=-netbsd
60562449Speter		;;
60662449Speter	netwinder)
60762449Speter		basic_machine=armv4l-rebel
60862449Speter		os=-linux
60962449Speter		;;
61050276Speter	news | news700 | news800 | news900)
61150276Speter		basic_machine=m68k-sony
61250276Speter		os=-newsos
61350276Speter		;;
61450276Speter	news1000)
61550276Speter		basic_machine=m68030-sony
61650276Speter		os=-newsos
61750276Speter		;;
61850276Speter	news-3600 | risc-news)
61950276Speter		basic_machine=mips-sony
62050276Speter		os=-newsos
62150276Speter		;;
62262449Speter	necv70)
62362449Speter		basic_machine=v70-nec
62462449Speter		os=-sysv
62562449Speter		;;
62650276Speter	next | m*-next )
62750276Speter		basic_machine=m68k-next
62850276Speter		case $os in
62950276Speter		    -nextstep* )
63050276Speter			;;
63150276Speter		    -ns2*)
63250276Speter		      os=-nextstep2
63350276Speter			;;
63450276Speter		    *)
63550276Speter		      os=-nextstep3
63650276Speter			;;
63750276Speter		esac
63850276Speter		;;
63950276Speter	nh3000)
64050276Speter		basic_machine=m68k-harris
64150276Speter		os=-cxux
64250276Speter		;;
64350276Speter	nh[45]000)
64450276Speter		basic_machine=m88k-harris
64550276Speter		os=-cxux
64650276Speter		;;
64750276Speter	nindy960)
64850276Speter		basic_machine=i960-intel
64950276Speter		os=-nindy
65050276Speter		;;
65162449Speter	mon960)
65262449Speter		basic_machine=i960-intel
65362449Speter		os=-mon960
65462449Speter		;;
65576726Speter	nonstopux)
65676726Speter		basic_machine=mips-compaq
65776726Speter		os=-nonstopux
65876726Speter		;;
65950276Speter	np1)
66050276Speter		basic_machine=np1-gould
66150276Speter		;;
66262449Speter	nsr-tandem)
66362449Speter		basic_machine=nsr-tandem
66462449Speter		;;
66562449Speter	op50n-* | op60c-*)
66662449Speter		basic_machine=hppa1.1-oki
66762449Speter		os=-proelf
66862449Speter		;;
66962449Speter	OSE68000 | ose68000)
67062449Speter		basic_machine=m68000-ericsson
67162449Speter		os=-ose
67262449Speter		;;
67362449Speter	os68k)
67462449Speter		basic_machine=m68k-none
67562449Speter		os=-os68k
67662449Speter		;;
67750276Speter	pa-hitachi)
67850276Speter		basic_machine=hppa1.1-hitachi
67950276Speter		os=-hiuxwe2
68050276Speter		;;
68150276Speter	paragon)
68250276Speter		basic_machine=i860-intel
68350276Speter		os=-osf
68450276Speter		;;
68550276Speter	pbd)
68650276Speter		basic_machine=sparc-tti
68750276Speter		;;
68850276Speter	pbb)
68950276Speter		basic_machine=m68k-tti
69050276Speter		;;
69150276Speter        pc532 | pc532-*)
69250276Speter		basic_machine=ns32k-pc532
69350276Speter		;;
69476726Speter	pentium | p5 | k5 | k6 | nexgen)
69550276Speter		basic_machine=i586-pc
69650276Speter		;;
69762449Speter	pentiumpro | p6 | 6x86 | athlon)
69850276Speter		basic_machine=i686-pc
69950276Speter		;;
70050276Speter	pentiumii | pentium2)
70176726Speter		basic_machine=i686-pc
70250276Speter		;;
70376726Speter	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
70450276Speter		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
70550276Speter		;;
70662449Speter	pentiumpro-* | p6-* | 6x86-* | athlon-*)
70750276Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
70850276Speter		;;
70950276Speter	pentiumii-* | pentium2-*)
71076726Speter		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71150276Speter		;;
71250276Speter	pn)
71350276Speter		basic_machine=pn-gould
71450276Speter		;;
71576726Speter	power)	basic_machine=power-ibm
71650276Speter		;;
71750276Speter	ppc)	basic_machine=powerpc-unknown
71850276Speter	        ;;
71950276Speter	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
72050276Speter		;;
72150276Speter	ppcle | powerpclittle | ppc-le | powerpc-little)
72250276Speter		basic_machine=powerpcle-unknown
72350276Speter	        ;;
72450276Speter	ppcle-* | powerpclittle-*)
72550276Speter		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
72650276Speter		;;
72750276Speter	ps2)
72850276Speter		basic_machine=i386-ibm
72950276Speter		;;
73076726Speter	pw32)
73176726Speter		basic_machine=i586-unknown
73276726Speter		os=-pw32
73376726Speter		;;
73462449Speter	rom68k)
73562449Speter		basic_machine=m68k-rom68k
73662449Speter		os=-coff
73762449Speter		;;
73850276Speter	rm[46]00)
73950276Speter		basic_machine=mips-siemens
74050276Speter		;;
74150276Speter	rtpc | rtpc-*)
74250276Speter		basic_machine=romp-ibm
74350276Speter		;;
74462449Speter	sa29200)
74562449Speter		basic_machine=a29k-amd
74662449Speter		os=-udi
74762449Speter		;;
74850276Speter	sequent)
74950276Speter		basic_machine=i386-sequent
75050276Speter		;;
75150276Speter	sh)
75250276Speter		basic_machine=sh-hitachi
75350276Speter		os=-hms
75450276Speter		;;
75562449Speter	sparclite-wrs)
75662449Speter		basic_machine=sparclite-wrs
75762449Speter		os=-vxworks
75862449Speter		;;
75950276Speter	sps7)
76050276Speter		basic_machine=m68k-bull
76150276Speter		os=-sysv2
76250276Speter		;;
76350276Speter	spur)
76450276Speter		basic_machine=spur-unknown
76550276Speter		;;
76662449Speter	st2000)
76762449Speter		basic_machine=m68k-tandem
76862449Speter		;;
76962449Speter	stratus)
77062449Speter		basic_machine=i860-stratus
77162449Speter		os=-sysv4
77262449Speter		;;
77350276Speter	sun2)
77450276Speter		basic_machine=m68000-sun
77550276Speter		;;
77650276Speter	sun2os3)
77750276Speter		basic_machine=m68000-sun
77850276Speter		os=-sunos3
77950276Speter		;;
78050276Speter	sun2os4)
78150276Speter		basic_machine=m68000-sun
78250276Speter		os=-sunos4
78350276Speter		;;
78450276Speter	sun3os3)
78550276Speter		basic_machine=m68k-sun
78650276Speter		os=-sunos3
78750276Speter		;;
78850276Speter	sun3os4)
78950276Speter		basic_machine=m68k-sun
79050276Speter		os=-sunos4
79150276Speter		;;
79250276Speter	sun4os3)
79350276Speter		basic_machine=sparc-sun
79450276Speter		os=-sunos3
79550276Speter		;;
79650276Speter	sun4os4)
79750276Speter		basic_machine=sparc-sun
79850276Speter		os=-sunos4
79950276Speter		;;
80050276Speter	sun4sol2)
80150276Speter		basic_machine=sparc-sun
80250276Speter		os=-solaris2
80350276Speter		;;
80450276Speter	sun3 | sun3-*)
80550276Speter		basic_machine=m68k-sun
80650276Speter		;;
80750276Speter	sun4)
80850276Speter		basic_machine=sparc-sun
80950276Speter		;;
81050276Speter	sun386 | sun386i | roadrunner)
81150276Speter		basic_machine=i386-sun
81250276Speter		;;
81362449Speter	sv1)
81462449Speter		basic_machine=sv1-cray
81562449Speter		os=-unicos
81662449Speter		;;
81750276Speter	symmetry)
81850276Speter		basic_machine=i386-sequent
81950276Speter		os=-dynix
82050276Speter		;;
82162449Speter	t3e)
82262449Speter		basic_machine=t3e-cray
82362449Speter		os=-unicos
82462449Speter		;;
82566963Speter	tic54x | c54x*)
82666963Speter		basic_machine=tic54x-unknown
82766963Speter		os=-coff
82866963Speter		;;
82950276Speter	tx39)
83050276Speter		basic_machine=mipstx39-unknown
83150276Speter		;;
83250276Speter	tx39el)
83350276Speter		basic_machine=mipstx39el-unknown
83450276Speter		;;
83550276Speter	tower | tower-32)
83650276Speter		basic_machine=m68k-ncr
83750276Speter		;;
83850276Speter	udi29k)
83950276Speter		basic_machine=a29k-amd
84050276Speter		os=-udi
84150276Speter		;;
84250276Speter	ultra3)
84350276Speter		basic_machine=a29k-nyu
84450276Speter		os=-sym1
84550276Speter		;;
84662449Speter	v810 | necv810)
84762449Speter		basic_machine=v810-nec
84862449Speter		os=-none
84962449Speter		;;
85050276Speter	vaxv)
85150276Speter		basic_machine=vax-dec
85250276Speter		os=-sysv
85350276Speter		;;
85450276Speter	vms)
85550276Speter		basic_machine=vax-dec
85650276Speter		os=-vms
85750276Speter		;;
85850276Speter	vpp*|vx|vx-*)
85950276Speter               basic_machine=f301-fujitsu
86050276Speter               ;;
86150276Speter	vxworks960)
86250276Speter		basic_machine=i960-wrs
86350276Speter		os=-vxworks
86450276Speter		;;
86550276Speter	vxworks68)
86650276Speter		basic_machine=m68k-wrs
86750276Speter		os=-vxworks
86850276Speter		;;
86950276Speter	vxworks29k)
87050276Speter		basic_machine=a29k-wrs
87150276Speter		os=-vxworks
87250276Speter		;;
87362449Speter	w65*)
87462449Speter		basic_machine=w65-wdc
87562449Speter		os=-none
87662449Speter		;;
87762449Speter	w89k-*)
87862449Speter		basic_machine=hppa1.1-winbond
87962449Speter		os=-proelf
88062449Speter		;;
88150276Speter	xmp)
88250276Speter		basic_machine=xmp-cray
88350276Speter		os=-unicos
88450276Speter		;;
88550276Speter        xps | xps100)
88650276Speter		basic_machine=xps100-honeywell
88750276Speter		;;
88862449Speter	z8k-*-coff)
88962449Speter		basic_machine=z8k-unknown
89062449Speter		os=-sim
89162449Speter		;;
89250276Speter	none)
89350276Speter		basic_machine=none-none
89450276Speter		os=-none
89550276Speter		;;
89650276Speter
89750276Speter# Here we handle the default manufacturer of certain CPU types.  It is in
89850276Speter# some cases the only manufacturer, in others, it is the most popular.
89962449Speter	w89k)
90062449Speter		basic_machine=hppa1.1-winbond
90162449Speter		;;
90262449Speter	op50n)
90362449Speter		basic_machine=hppa1.1-oki
90462449Speter		;;
90562449Speter	op60c)
90662449Speter		basic_machine=hppa1.1-oki
90762449Speter		;;
90850276Speter	mips)
90950276Speter		if [ x$os = x-linux-gnu ]; then
91050276Speter			basic_machine=mips-unknown
91150276Speter		else
91250276Speter			basic_machine=mips-mips
91350276Speter		fi
91450276Speter		;;
91550276Speter	romp)
91650276Speter		basic_machine=romp-ibm
91750276Speter		;;
91850276Speter	rs6000)
91950276Speter		basic_machine=rs6000-ibm
92050276Speter		;;
92150276Speter	vax)
92250276Speter		basic_machine=vax-dec
92350276Speter		;;
92476726Speter	pdp10)
92576726Speter		# there are many clones, so DEC is not a safe bet
92676726Speter		basic_machine=pdp10-unknown
92776726Speter		;;
92850276Speter	pdp11)
92950276Speter		basic_machine=pdp11-dec
93050276Speter		;;
93150276Speter	we32k)
93250276Speter		basic_machine=we32k-att
93350276Speter		;;
93462449Speter	sh3 | sh4)
93576726Speter		basic_machine=sh-unknown
93662449Speter		;;
93762449Speter	sparc | sparcv9)
93850276Speter		basic_machine=sparc-sun
93950276Speter		;;
94050276Speter        cydra)
94150276Speter		basic_machine=cydra-cydrome
94250276Speter		;;
94350276Speter	orion)
94450276Speter		basic_machine=orion-highlevel
94550276Speter		;;
94650276Speter	orion105)
94750276Speter		basic_machine=clipper-highlevel
94850276Speter		;;
94962449Speter	mac | mpw | mac-mpw)
95062449Speter		basic_machine=m68k-apple
95162449Speter		;;
95262449Speter	pmac | pmac-mpw)
95362449Speter		basic_machine=powerpc-apple
95462449Speter		;;
95562449Speter	c4x*)
95662449Speter		basic_machine=c4x-none
95762449Speter		os=-coff
95862449Speter		;;
95950276Speter	*)
96050276Speter		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
96150276Speter		exit 1
96250276Speter		;;
96350276Speteresac
96450276Speter
96550276Speter# Here we canonicalize certain aliases for manufacturers.
96650276Spetercase $basic_machine in
96750276Speter	*-digital*)
96850276Speter		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
96950276Speter		;;
97050276Speter	*-commodore*)
97150276Speter		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
97250276Speter		;;
97350276Speter	*)
97450276Speter		;;
97550276Speteresac
97650276Speter
97750276Speter# Decode manufacturer-specific aliases for certain operating systems.
97850276Speter
97950276Speterif [ x"$os" != x"" ]
98050276Speterthen
98150276Spetercase $os in
98250276Speter        # First match some system type aliases
98350276Speter        # that might get confused with valid system types.
98450276Speter	# -solaris* is a basic system type, with this one exception.
98550276Speter	-solaris1 | -solaris1.*)
98650276Speter		os=`echo $os | sed -e 's|solaris1|sunos4|'`
98750276Speter		;;
98850276Speter	-solaris)
98950276Speter		os=-solaris2
99050276Speter		;;
99150276Speter	-svr4*)
99250276Speter		os=-sysv4
99350276Speter		;;
99450276Speter	-unixware*)
99550276Speter		os=-sysv4.2uw
99650276Speter		;;
99750276Speter	-gnu/linux*)
99850276Speter		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
99950276Speter		;;
100050276Speter	# First accept the basic system types.
100150276Speter	# The portable systems comes first.
100250276Speter	# Each alternative MUST END IN A *, to match a version number.
100350276Speter	# -sysv* is not here because it comes later, after sysvr4.
100450276Speter	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
100550276Speter	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
100650276Speter	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
100750276Speter	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
100850276Speter	      | -aos* \
100962449Speter	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
101050276Speter	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
101150276Speter	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
101262449Speter	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
101350276Speter	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
101450276Speter	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
101550276Speter	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
101662449Speter	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
101762449Speter	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
101876726Speter	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
101976726Speter	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
102050276Speter	# Remember, each alternative MUST END IN *, to match a version number.
102150276Speter		;;
102262449Speter	-qnx*)
102362449Speter		case $basic_machine in
102462449Speter		    x86-* | i[34567]86-*)
102562449Speter			;;
102662449Speter		    *)
102762449Speter			os=-nto$os
102862449Speter			;;
102962449Speter		esac
103062449Speter		;;
103162449Speter	-nto*)
103262449Speter		os=-nto-qnx
103362449Speter		;;
103462449Speter	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
103562449Speter	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
103662449Speter	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
103762449Speter		;;
103862449Speter	-mac*)
103962449Speter		os=`echo $os | sed -e 's|mac|macos|'`
104062449Speter		;;
104150276Speter	-linux*)
104250276Speter		os=`echo $os | sed -e 's|linux|linux-gnu|'`
104350276Speter		;;
104450276Speter	-sunos5*)
104550276Speter		os=`echo $os | sed -e 's|sunos5|solaris2|'`
104650276Speter		;;
104750276Speter	-sunos6*)
104850276Speter		os=`echo $os | sed -e 's|sunos6|solaris3|'`
104950276Speter		;;
105062449Speter	-opened*)
105162449Speter		os=-openedition
105262449Speter		;;
105362449Speter	-wince*)
105462449Speter		os=-wince
105562449Speter		;;
105650276Speter	-osfrose*)
105750276Speter		os=-osfrose
105850276Speter		;;
105950276Speter	-osf*)
106050276Speter		os=-osf
106150276Speter		;;
106250276Speter	-utek*)
106350276Speter		os=-bsd
106450276Speter		;;
106550276Speter	-dynix*)
106650276Speter		os=-bsd
106750276Speter		;;
106850276Speter	-acis*)
106950276Speter		os=-aos
107050276Speter		;;
107162449Speter	-386bsd)
107262449Speter		os=-bsd
107362449Speter		;;
107450276Speter	-ctix* | -uts*)
107550276Speter		os=-sysv
107650276Speter		;;
107750276Speter	-ns2 )
107850276Speter	        os=-nextstep2
107950276Speter		;;
108076726Speter	-nsk*)
108162449Speter		os=-nsk
108262449Speter		;;
108350276Speter	# Preserve the version number of sinix5.
108450276Speter	-sinix5.*)
108550276Speter		os=`echo $os | sed -e 's|sinix|sysv|'`
108650276Speter		;;
108750276Speter	-sinix*)
108850276Speter		os=-sysv4
108950276Speter		;;
109050276Speter	-triton*)
109150276Speter		os=-sysv3
109250276Speter		;;
109350276Speter	-oss*)
109450276Speter		os=-sysv3
109550276Speter		;;
109650276Speter	-svr4)
109750276Speter		os=-sysv4
109850276Speter		;;
109950276Speter	-svr3)
110050276Speter		os=-sysv3
110150276Speter		;;
110250276Speter	-sysvr4)
110350276Speter		os=-sysv4
110450276Speter		;;
110550276Speter	# This must come after -sysvr4.
110650276Speter	-sysv*)
110750276Speter		;;
110862449Speter	-ose*)
110962449Speter		os=-ose
111062449Speter		;;
111162449Speter	-es1800*)
111262449Speter		os=-ose
111362449Speter		;;
111450276Speter	-xenix)
111550276Speter		os=-xenix
111650276Speter		;;
111776726Speter        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
111862449Speter	        os=-mint
111962449Speter		;;
112050276Speter	-none)
112150276Speter		;;
112250276Speter	*)
112350276Speter		# Get rid of the `-' at the beginning of $os.
112450276Speter		os=`echo $os | sed 's/[^-]*-//'`
112550276Speter		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
112650276Speter		exit 1
112750276Speter		;;
112850276Speteresac
112950276Speterelse
113050276Speter
113150276Speter# Here we handle the default operating systems that come with various machines.
113250276Speter# The value should be what the vendor currently ships out the door with their
113350276Speter# machine or put another way, the most popular os provided with the machine.
113450276Speter
113550276Speter# Note that if you're going to try to match "-MANUFACTURER" here (say,
113650276Speter# "-sun"), then you have to tell the case statement up towards the top
113750276Speter# that MANUFACTURER isn't an operating system.  Otherwise, code above
113850276Speter# will signal an error saying that MANUFACTURER isn't an operating
113950276Speter# system, and we'll never get to this point.
114050276Speter
114150276Spetercase $basic_machine in
114250276Speter	*-acorn)
114350276Speter		os=-riscix1.2
114450276Speter		;;
114562449Speter	arm*-rebel)
114662449Speter		os=-linux
114762449Speter		;;
114850276Speter	arm*-semi)
114950276Speter		os=-aout
115050276Speter		;;
115176726Speter	pdp10-*)
115276726Speter		os=-tops20
115376726Speter		;;
115450276Speter        pdp11-*)
115550276Speter		os=-none
115650276Speter		;;
115750276Speter	*-dec | vax-*)
115850276Speter		os=-ultrix4.2
115950276Speter		;;
116050276Speter	m68*-apollo)
116150276Speter		os=-domain
116250276Speter		;;
116350276Speter	i386-sun)
116450276Speter		os=-sunos4.0.2
116550276Speter		;;
116650276Speter	m68000-sun)
116750276Speter		os=-sunos3
116850276Speter		# This also exists in the configure program, but was not the
116950276Speter		# default.
117050276Speter		# os=-sunos4
117150276Speter		;;
117262449Speter	m68*-cisco)
117362449Speter		os=-aout
117462449Speter		;;
117562449Speter	mips*-cisco)
117662449Speter		os=-elf
117762449Speter		;;
117862449Speter	mips*-*)
117962449Speter		os=-elf
118062449Speter		;;
118150276Speter	*-tti)	# must be before sparc entry or we get the wrong os.
118250276Speter		os=-sysv3
118350276Speter		;;
118450276Speter	sparc-* | *-sun)
118550276Speter		os=-sunos4.1.1
118650276Speter		;;
118750276Speter	*-be)
118850276Speter		os=-beos
118950276Speter		;;
119050276Speter	*-ibm)
119150276Speter		os=-aix
119250276Speter		;;
119362449Speter	*-wec)
119462449Speter		os=-proelf
119562449Speter		;;
119662449Speter	*-winbond)
119762449Speter		os=-proelf
119862449Speter		;;
119962449Speter	*-oki)
120062449Speter		os=-proelf
120162449Speter		;;
120250276Speter	*-hp)
120350276Speter		os=-hpux
120450276Speter		;;
120550276Speter	*-hitachi)
120650276Speter		os=-hiux
120750276Speter		;;
120850276Speter	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
120950276Speter		os=-sysv
121050276Speter		;;
121150276Speter	*-cbm)
121250276Speter		os=-amigaos
121350276Speter		;;
121450276Speter	*-dg)
121550276Speter		os=-dgux
121650276Speter		;;
121750276Speter	*-dolphin)
121850276Speter		os=-sysv3
121950276Speter		;;
122050276Speter	m68k-ccur)
122150276Speter		os=-rtu
122250276Speter		;;
122350276Speter	m88k-omron*)
122450276Speter		os=-luna
122550276Speter		;;
122650276Speter	*-next )
122750276Speter		os=-nextstep
122850276Speter		;;
122950276Speter	*-sequent)
123050276Speter		os=-ptx
123150276Speter		;;
123250276Speter	*-crds)
123350276Speter		os=-unos
123450276Speter		;;
123550276Speter	*-ns)
123650276Speter		os=-genix
123750276Speter		;;
123850276Speter	i370-*)
123950276Speter		os=-mvs
124050276Speter		;;
124150276Speter	*-next)
124250276Speter		os=-nextstep3
124350276Speter		;;
124450276Speter        *-gould)
124550276Speter		os=-sysv
124650276Speter		;;
124750276Speter        *-highlevel)
124850276Speter		os=-bsd
124950276Speter		;;
125050276Speter	*-encore)
125150276Speter		os=-bsd
125250276Speter		;;
125350276Speter        *-sgi)
125450276Speter		os=-irix
125550276Speter		;;
125650276Speter        *-siemens)
125750276Speter		os=-sysv4
125850276Speter		;;
125950276Speter	*-masscomp)
126050276Speter		os=-rtu
126150276Speter		;;
126276726Speter	f30[01]-fujitsu | f700-fujitsu)
126350276Speter		os=-uxpv
126450276Speter		;;
126562449Speter	*-rom68k)
126662449Speter		os=-coff
126762449Speter		;;
126862449Speter	*-*bug)
126962449Speter		os=-coff
127062449Speter		;;
127162449Speter	*-apple)
127262449Speter		os=-macos
127362449Speter		;;
127462449Speter	*-atari*)
127562449Speter		os=-mint
127662449Speter		;;
127750276Speter	*)
127850276Speter		os=-none
127950276Speter		;;
128050276Speteresac
128150276Speterfi
128250276Speter
128350276Speter# Here we handle the case where we know the os, and the CPU type, but not the
128450276Speter# manufacturer.  We pick the logical manufacturer.
128550276Spetervendor=unknown
128650276Spetercase $basic_machine in
128750276Speter	*-unknown)
128850276Speter		case $os in
128950276Speter			-riscix*)
129050276Speter				vendor=acorn
129150276Speter				;;
129250276Speter			-sunos*)
129350276Speter				vendor=sun
129450276Speter				;;
129550276Speter			-aix*)
129650276Speter				vendor=ibm
129750276Speter				;;
129862449Speter			-beos*)
129962449Speter				vendor=be
130062449Speter				;;
130150276Speter			-hpux*)
130250276Speter				vendor=hp
130350276Speter				;;
130462449Speter			-mpeix*)
130562449Speter				vendor=hp
130662449Speter				;;
130750276Speter			-hiux*)
130850276Speter				vendor=hitachi
130950276Speter				;;
131050276Speter			-unos*)
131150276Speter				vendor=crds
131250276Speter				;;
131350276Speter			-dgux*)
131450276Speter				vendor=dg
131550276Speter				;;
131650276Speter			-luna*)
131750276Speter				vendor=omron
131850276Speter				;;
131950276Speter			-genix*)
132050276Speter				vendor=ns
132150276Speter				;;
132262449Speter			-mvs* | -opened*)
132350276Speter				vendor=ibm
132450276Speter				;;
132550276Speter			-ptx*)
132650276Speter				vendor=sequent
132750276Speter				;;
132850276Speter			-vxsim* | -vxworks*)
132950276Speter				vendor=wrs
133050276Speter				;;
133150276Speter			-aux*)
133250276Speter				vendor=apple
133350276Speter				;;
133462449Speter			-hms*)
133562449Speter				vendor=hitachi
133662449Speter				;;
133762449Speter			-mpw* | -macos*)
133862449Speter				vendor=apple
133962449Speter				;;
134076726Speter			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
134162449Speter				vendor=atari
134262449Speter				;;
134350276Speter		esac
134450276Speter		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
134550276Speter		;;
134650276Speteresac
134750276Speter
134850276Speterecho $basic_machine$os
134962449Speterexit 0
135062449Speter
135162449Speter# Local variables:
135262449Speter# eval: (add-hook 'write-file-hooks 'time-stamp)
135376726Speter# time-stamp-start: "timestamp='"
135462449Speter# time-stamp-format: "%:y-%02m-%02d"
135562449Speter# time-stamp-end: "'"
135662449Speter# End:
1357