config.sub revision 75115
117680Spst#! /bin/sh
275115Sfenner# Configuration validation subroutine script.
375115Sfenner#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
475115Sfenner#   Free Software Foundation, Inc.
575115Sfenner
675115Sfennertimestamp='2000-12-15'
775115Sfenner
817680Spst# This file is (in principle) common to ALL GNU software.
917680Spst# The presence of a machine in this file suggests that SOME GNU software
1026180Sfenner# can handle that machine.  It does not imply ALL GNU software can.
1117680Spst#
1217680Spst# This file is free software; you can redistribute it and/or modify
1317680Spst# it under the terms of the GNU General Public License as published by
1417680Spst# the Free Software Foundation; either version 2 of the License, or
1517680Spst# (at your option) any later version.
1617680Spst#
1717680Spst# This program is distributed in the hope that it will be useful,
1817680Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of
1917680Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2017680Spst# GNU General Public License for more details.
2117680Spst#
2217680Spst# You should have received a copy of the GNU General Public License
2317680Spst# along with this program; if not, write to the Free Software
2417680Spst# Foundation, Inc., 59 Temple Place - Suite 330,
2517680Spst# Boston, MA 02111-1307, USA.
2617680Spst
2717680Spst# As a special exception to the GNU General Public License, if you
2817680Spst# distribute this file as part of a program that contains a
2917680Spst# configuration script generated by Autoconf, you may include it under
3017680Spst# the same distribution terms that you use for the rest of that program.
3117680Spst
3275115Sfenner# Please send patches to <config-patches@gnu.org>.
3375115Sfenner#
3417680Spst# Configuration subroutine to validate and canonicalize a configuration type.
3517680Spst# Supply the specified configuration type as an argument.
3617680Spst# If it is invalid, we print an error message on stderr and exit with code 1.
3717680Spst# Otherwise, we print the canonical config type on stdout and succeed.
3817680Spst
3917680Spst# This file is supposed to be the same for all GNU packages
4017680Spst# and recognize all the CPU types, system types and aliases
4117680Spst# that are meaningful with *any* GNU software.
4217680Spst# Each package is responsible for reporting which valid configurations
4317680Spst# it does not support.  The user should be able to distinguish
4417680Spst# a failure to support a valid configuration from a meaningless
4517680Spst# configuration.
4617680Spst
4717680Spst# The goal of this file is to map all the various variations of a given
4817680Spst# machine specification into a single specification in the form:
4917680Spst#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5026180Sfenner# or in some cases, the newer four-part form:
5126180Sfenner#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5217680Spst# It is wrong to echo any other type of specification.
5317680Spst
5475115Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
5517680Spst
5675115Sfennerusage="\
5775115SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS
5875115Sfenner       $0 [OPTION] ALIAS
5975115Sfenner
6075115SfennerCanonicalize a configuration name.
6175115Sfenner
6275115SfennerOperation modes:
6375115Sfenner  -h, --help         print this help, then exit
6475115Sfenner  -t, --time-stamp   print date of last modification, then exit
6575115Sfenner  -v, --version      print version number, then exit
6675115Sfenner
6775115SfennerReport bugs and patches to <config-patches@gnu.org>."
6875115Sfenner
6975115Sfennerversion="\
7075115SfennerGNU config.sub ($timestamp)
7175115Sfenner
7275115SfennerCopyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
7375115SfennerFree Software Foundation, Inc.
7475115Sfenner
7575115SfennerThis is free software; see the source for copying conditions.  There is NO
7675115Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7775115Sfenner
7875115Sfennerhelp="
7975115SfennerTry \`$me --help' for more information."
8075115Sfenner
8175115Sfenner# Parse command line
8275115Sfennerwhile test $# -gt 0 ; do
8375115Sfenner  case $1 in
8475115Sfenner    --time-stamp | --time* | -t )
8575115Sfenner       echo "$timestamp" ; exit 0 ;;
8675115Sfenner    --version | -v )
8775115Sfenner       echo "$version" ; exit 0 ;;
8875115Sfenner    --help | --h* | -h )
8975115Sfenner       echo "$usage"; exit 0 ;;
9075115Sfenner    -- )     # Stop option processing
9175115Sfenner       shift; break ;;
9275115Sfenner    - )	# Use stdin as input.
9375115Sfenner       break ;;
9475115Sfenner    -* )
9575115Sfenner       echo "$me: invalid option $1$help"
9675115Sfenner       exit 1 ;;
9775115Sfenner
9875115Sfenner    *local*)
9975115Sfenner       # First pass through any local machine types.
10075115Sfenner       echo $1
10175115Sfenner       exit 0;;
10275115Sfenner
10375115Sfenner    * )
10475115Sfenner       break ;;
10575115Sfenner  esac
10675115Sfennerdone
10775115Sfenner
10875115Sfennercase $# in
10975115Sfenner 0) echo "$me: missing argument$help" >&2
11075115Sfenner    exit 1;;
11175115Sfenner 1) ;;
11275115Sfenner *) echo "$me: too many arguments$help" >&2
11375115Sfenner    exit 1;;
11417680Spstesac
11517680Spst
11626180Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11726180Sfenner# Here we must recognize all the valid KERNEL-OS combinations.
11826180Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11926180Sfennercase $maybe_os in
12075115Sfenner  nto-qnx* | linux-gnu* | storm-chaos*)
12126180Sfenner    os=-$maybe_os
12226180Sfenner    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12326180Sfenner    ;;
12426180Sfenner  *)
12526180Sfenner    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
12626180Sfenner    if [ $basic_machine != $1 ]
12726180Sfenner    then os=`echo $1 | sed 's/.*-/-/'`
12826180Sfenner    else os=; fi
12926180Sfenner    ;;
13026180Sfenneresac
13117680Spst
13217680Spst### Let's recognize common machines as not being operating systems so
13317680Spst### that things like config.sub decstation-3100 work.  We also
13417680Spst### recognize some manufacturers as not being operating systems, so we
13517680Spst### can provide default operating systems below.
13617680Spstcase $os in
13717680Spst	-sun*os*)
13817680Spst		# Prevent following clause from handling this invalid input.
13917680Spst		;;
14017680Spst	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14117680Spst	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14217680Spst	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14317680Spst	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14417680Spst	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
14526180Sfenner	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
14675115Sfenner	-apple | -axis)
14717680Spst		os=
14817680Spst		basic_machine=$1
14917680Spst		;;
15075115Sfenner	-sim | -cisco | -oki | -wec | -winbond)
15175115Sfenner		os=
15275115Sfenner		basic_machine=$1
15375115Sfenner		;;
15475115Sfenner	-scout)
15575115Sfenner		;;
15675115Sfenner	-wrs)
15775115Sfenner		os=-vxworks
15875115Sfenner		basic_machine=$1
15975115Sfenner		;;
16017680Spst	-hiux*)
16117680Spst		os=-hiuxwe2
16217680Spst		;;
16326180Sfenner	-sco5)
16475115Sfenner		os=-sco3.2v5
16526180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
16626180Sfenner		;;
16717680Spst	-sco4)
16817680Spst		os=-sco3.2v4
16926180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17017680Spst		;;
17117680Spst	-sco3.2.[4-9]*)
17217680Spst		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
17326180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17417680Spst		;;
17517680Spst	-sco3.2v[4-9]*)
17617680Spst		# Don't forget version if it is 3.2v4 or newer.
17726180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17817680Spst		;;
17917680Spst	-sco*)
18017680Spst		os=-sco3.2v2
18126180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18217680Spst		;;
18375115Sfenner	-udk*)
18475115Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18575115Sfenner		;;
18617680Spst	-isc)
18717680Spst		os=-isc2.2
18826180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18917680Spst		;;
19017680Spst	-clix*)
19117680Spst		basic_machine=clipper-intergraph
19217680Spst		;;
19317680Spst	-isc*)
19426180Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19517680Spst		;;
19617680Spst	-lynx*)
19717680Spst		os=-lynxos
19817680Spst		;;
19917680Spst	-ptx*)
20017680Spst		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
20117680Spst		;;
20217680Spst	-windowsnt*)
20317680Spst		os=`echo $os | sed -e 's/windowsnt/winnt/'`
20417680Spst		;;
20526180Sfenner	-psos*)
20626180Sfenner		os=-psos
20726180Sfenner		;;
20875115Sfenner	-mint | -mint[0-9]*)
20975115Sfenner		basic_machine=m68k-atari
21075115Sfenner		os=-mint
21175115Sfenner		;;
21217680Spstesac
21317680Spst
21417680Spst# Decode aliases for certain CPU-COMPANY combinations.
21517680Spstcase $basic_machine in
21617680Spst	# Recognize the basic CPU types without company name.
21717680Spst	# Some are omitted here because they have special meanings below.
21875115Sfenner	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
21975115Sfenner	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
22075115Sfenner		| pyramid | mn10200 | mn10300 | tron | a29k \
22175115Sfenner		| 580 | i960 | h8300 \
22275115Sfenner		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
22375115Sfenner		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
22475115Sfenner		| hppa64 \
22575115Sfenner		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
22675115Sfenner		| alphaev6[78] \
22775115Sfenner		| we32k | ns16k | clipper | i370 | sh | sh[34] \
22875115Sfenner		| powerpc | powerpcle \
22975115Sfenner		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
23075115Sfenner		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
23175115Sfenner		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
23275115Sfenner		| mips64vr5000 | miprs64vr5000el | mcore \
23375115Sfenner		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
23475115Sfenner		| thumb | d10v | d30v | fr30 | avr)
23517680Spst		basic_machine=$basic_machine-unknown
23617680Spst		;;
23775115Sfenner	m6811 | m68hc11 | m6812 | m68hc12)
23875115Sfenner		# Motorola 68HC11/12.
23975115Sfenner		basic_machine=$basic_machine-unknown
24075115Sfenner		os=-none
24175115Sfenner		;;
24275115Sfenner	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
24375115Sfenner		;;
24475115Sfenner
24526180Sfenner	# We use `pc' rather than `unknown'
24626180Sfenner	# because (1) that's what they normally are, and
24726180Sfenner	# (2) the word "unknown" tends to confuse beginning users.
24875115Sfenner	i[234567]86 | x86_64)
24926180Sfenner	  basic_machine=$basic_machine-pc
25026180Sfenner	  ;;
25117680Spst	# Object if more than one company name word.
25217680Spst	*-*-*)
25317680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
25417680Spst		exit 1
25517680Spst		;;
25617680Spst	# Recognize the basic CPU types with company name.
25775115Sfenner	# FIXME: clean up the formatting here.
25875115Sfenner	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
25975115Sfenner	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
26075115Sfenner	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
26175115Sfenner	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
26275115Sfenner	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
26375115Sfenner	      | xmp-* | ymp-* \
26475115Sfenner	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
26575115Sfenner	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
26675115Sfenner	      | hppa2.0n-* | hppa64-* \
26775115Sfenner	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
26875115Sfenner	      | alphaev6[78]-* \
26975115Sfenner	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
27075115Sfenner	      | clipper-* | orion-* \
27175115Sfenner	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
27275115Sfenner	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
27375115Sfenner	      | mips64el-* | mips64orion-* | mips64orionel-* \
27475115Sfenner	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
27575115Sfenner	      | mipstx39-* | mipstx39el-* | mcore-* \
27675115Sfenner	      | f30[01]-* | s390-* | sv1-* | t3e-* \
27775115Sfenner	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
27875115Sfenner	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
27975115Sfenner	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
28017680Spst		;;
28117680Spst	# Recognize the various machine names and aliases which stand
28217680Spst	# for a CPU type and a company and sometimes even an OS.
28375115Sfenner	386bsd)
28475115Sfenner		basic_machine=i386-unknown
28575115Sfenner		os=-bsd
28675115Sfenner		;;
28717680Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
28817680Spst		basic_machine=m68000-att
28917680Spst		;;
29017680Spst	3b*)
29117680Spst		basic_machine=we32k-att
29217680Spst		;;
29375115Sfenner	a29khif)
29475115Sfenner		basic_machine=a29k-amd
29575115Sfenner		os=-udi
29675115Sfenner		;;
29775115Sfenner	adobe68k)
29875115Sfenner		basic_machine=m68010-adobe
29975115Sfenner		os=-scout
30075115Sfenner		;;
30117680Spst	alliant | fx80)
30217680Spst		basic_machine=fx80-alliant
30317680Spst		;;
30417680Spst	altos | altos3068)
30517680Spst		basic_machine=m68k-altos
30617680Spst		;;
30717680Spst	am29k)
30817680Spst		basic_machine=a29k-none
30917680Spst		os=-bsd
31017680Spst		;;
31117680Spst	amdahl)
31217680Spst		basic_machine=580-amdahl
31317680Spst		os=-sysv
31417680Spst		;;
31517680Spst	amiga | amiga-*)
31675115Sfenner		basic_machine=m68k-unknown
31717680Spst		;;
31875115Sfenner	amigaos | amigados)
31975115Sfenner		basic_machine=m68k-unknown
32075115Sfenner		os=-amigaos
32117680Spst		;;
32217680Spst	amigaunix | amix)
32375115Sfenner		basic_machine=m68k-unknown
32417680Spst		os=-sysv4
32517680Spst		;;
32617680Spst	apollo68)
32717680Spst		basic_machine=m68k-apollo
32817680Spst		os=-sysv
32917680Spst		;;
33075115Sfenner	apollo68bsd)
33175115Sfenner		basic_machine=m68k-apollo
33275115Sfenner		os=-bsd
33375115Sfenner		;;
33426180Sfenner	aux)
33526180Sfenner		basic_machine=m68k-apple
33626180Sfenner		os=-aux
33726180Sfenner		;;
33817680Spst	balance)
33917680Spst		basic_machine=ns32k-sequent
34017680Spst		os=-dynix
34117680Spst		;;
34217680Spst	convex-c1)
34317680Spst		basic_machine=c1-convex
34417680Spst		os=-bsd
34517680Spst		;;
34617680Spst	convex-c2)
34717680Spst		basic_machine=c2-convex
34817680Spst		os=-bsd
34917680Spst		;;
35017680Spst	convex-c32)
35117680Spst		basic_machine=c32-convex
35217680Spst		os=-bsd
35317680Spst		;;
35417680Spst	convex-c34)
35517680Spst		basic_machine=c34-convex
35617680Spst		os=-bsd
35717680Spst		;;
35817680Spst	convex-c38)
35917680Spst		basic_machine=c38-convex
36017680Spst		os=-bsd
36117680Spst		;;
36217680Spst	cray | ymp)
36317680Spst		basic_machine=ymp-cray
36417680Spst		os=-unicos
36517680Spst		;;
36617680Spst	cray2)
36717680Spst		basic_machine=cray2-cray
36817680Spst		os=-unicos
36917680Spst		;;
37026180Sfenner	[ctj]90-cray)
37126180Sfenner		basic_machine=c90-cray
37226180Sfenner		os=-unicos
37326180Sfenner		;;
37417680Spst	crds | unos)
37517680Spst		basic_machine=m68k-crds
37617680Spst		;;
37775115Sfenner	cris | cris-* | etrax*)
37875115Sfenner		basic_machine=cris-axis
37975115Sfenner		;;
38017680Spst	da30 | da30-*)
38117680Spst		basic_machine=m68k-da30
38217680Spst		;;
38317680Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
38417680Spst		basic_machine=mips-dec
38517680Spst		;;
38617680Spst	delta | 3300 | motorola-3300 | motorola-delta \
38717680Spst	      | 3300-motorola | delta-motorola)
38817680Spst		basic_machine=m68k-motorola
38917680Spst		;;
39017680Spst	delta88)
39117680Spst		basic_machine=m88k-motorola
39217680Spst		os=-sysv3
39317680Spst		;;
39417680Spst	dpx20 | dpx20-*)
39517680Spst		basic_machine=rs6000-bull
39617680Spst		os=-bosx
39717680Spst		;;
39817680Spst	dpx2* | dpx2*-bull)
39917680Spst		basic_machine=m68k-bull
40017680Spst		os=-sysv3
40117680Spst		;;
40217680Spst	ebmon29k)
40317680Spst		basic_machine=a29k-amd
40417680Spst		os=-ebmon
40517680Spst		;;
40617680Spst	elxsi)
40717680Spst		basic_machine=elxsi-elxsi
40817680Spst		os=-bsd
40917680Spst		;;
41017680Spst	encore | umax | mmax)
41117680Spst		basic_machine=ns32k-encore
41217680Spst		;;
41375115Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
41475115Sfenner		basic_machine=m68k-ericsson
41575115Sfenner		os=-ose
41675115Sfenner		;;
41717680Spst	fx2800)
41817680Spst		basic_machine=i860-alliant
41917680Spst		;;
42017680Spst	genix)
42117680Spst		basic_machine=ns32k-ns
42217680Spst		;;
42317680Spst	gmicro)
42417680Spst		basic_machine=tron-gmicro
42517680Spst		os=-sysv
42617680Spst		;;
42717680Spst	h3050r* | hiux*)
42817680Spst		basic_machine=hppa1.1-hitachi
42917680Spst		os=-hiuxwe2
43017680Spst		;;
43117680Spst	h8300hms)
43217680Spst		basic_machine=h8300-hitachi
43317680Spst		os=-hms
43417680Spst		;;
43575115Sfenner	h8300xray)
43675115Sfenner		basic_machine=h8300-hitachi
43775115Sfenner		os=-xray
43875115Sfenner		;;
43975115Sfenner	h8500hms)
44075115Sfenner		basic_machine=h8500-hitachi
44175115Sfenner		os=-hms
44275115Sfenner		;;
44317680Spst	harris)
44417680Spst		basic_machine=m88k-harris
44517680Spst		os=-sysv3
44617680Spst		;;
44717680Spst	hp300-*)
44817680Spst		basic_machine=m68k-hp
44917680Spst		;;
45017680Spst	hp300bsd)
45117680Spst		basic_machine=m68k-hp
45217680Spst		os=-bsd
45317680Spst		;;
45417680Spst	hp300hpux)
45517680Spst		basic_machine=m68k-hp
45617680Spst		os=-hpux
45717680Spst		;;
45875115Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
45975115Sfenner		basic_machine=hppa1.0-hp
46075115Sfenner		;;
46117680Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
46217680Spst		basic_machine=m68000-hp
46317680Spst		;;
46417680Spst	hp9k3[2-9][0-9])
46517680Spst		basic_machine=m68k-hp
46617680Spst		;;
46775115Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
46875115Sfenner		basic_machine=hppa1.0-hp
46975115Sfenner		;;
47075115Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
47117680Spst		basic_machine=hppa1.1-hp
47217680Spst		;;
47375115Sfenner	hp9k78[0-9] | hp78[0-9])
47475115Sfenner		# FIXME: really hppa2.0-hp
47575115Sfenner		basic_machine=hppa1.1-hp
47675115Sfenner		;;
47775115Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
47875115Sfenner		# FIXME: really hppa2.0-hp
47975115Sfenner		basic_machine=hppa1.1-hp
48075115Sfenner		;;
48175115Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
48275115Sfenner		basic_machine=hppa1.1-hp
48375115Sfenner		;;
48417680Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
48517680Spst		basic_machine=hppa1.0-hp
48617680Spst		;;
48726180Sfenner	hppa-next)
48826180Sfenner		os=-nextstep3
48926180Sfenner		;;
49075115Sfenner	hppaosf)
49175115Sfenner		basic_machine=hppa1.1-hp
49275115Sfenner		os=-osf
49375115Sfenner		;;
49475115Sfenner	hppro)
49575115Sfenner		basic_machine=hppa1.1-hp
49675115Sfenner		os=-proelf
49775115Sfenner		;;
49817680Spst	i370-ibm* | ibm*)
49917680Spst		basic_machine=i370-ibm
50017680Spst		;;
50117680Spst# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
50275115Sfenner	i[34567]86v32)
50326180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
50417680Spst		os=-sysv32
50517680Spst		;;
50675115Sfenner	i[34567]86v4*)
50726180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
50817680Spst		os=-sysv4
50917680Spst		;;
51075115Sfenner	i[34567]86v)
51126180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51217680Spst		os=-sysv
51317680Spst		;;
51475115Sfenner	i[34567]86sol2)
51526180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51617680Spst		os=-solaris2
51717680Spst		;;
51875115Sfenner	i386mach)
51975115Sfenner		basic_machine=i386-mach
52075115Sfenner		os=-mach
52175115Sfenner		;;
52275115Sfenner	i386-vsta | vsta)
52375115Sfenner		basic_machine=i386-unknown
52475115Sfenner		os=-vsta
52575115Sfenner		;;
52675115Sfenner	i386-go32 | go32)
52775115Sfenner		basic_machine=i386-unknown
52875115Sfenner		os=-go32
52975115Sfenner		;;
53075115Sfenner	i386-mingw32 | mingw32)
53175115Sfenner		basic_machine=i386-unknown
53275115Sfenner		os=-mingw32
53375115Sfenner		;;
53475115Sfenner	i[34567]86-pw32 | pw32)
53575115Sfenner		basic_machine=i586-unknown
53675115Sfenner		os=-pw32
53775115Sfenner		;;
53817680Spst	iris | iris4d)
53917680Spst		basic_machine=mips-sgi
54017680Spst		case $os in
54117680Spst		    -irix*)
54217680Spst			;;
54317680Spst		    *)
54417680Spst			os=-irix4
54517680Spst			;;
54617680Spst		esac
54717680Spst		;;
54817680Spst	isi68 | isi)
54917680Spst		basic_machine=m68k-isi
55017680Spst		os=-sysv
55117680Spst		;;
55217680Spst	m88k-omron*)
55317680Spst		basic_machine=m88k-omron
55417680Spst		;;
55517680Spst	magnum | m3230)
55617680Spst		basic_machine=mips-mips
55717680Spst		os=-sysv
55817680Spst		;;
55917680Spst	merlin)
56017680Spst		basic_machine=ns32k-utek
56117680Spst		os=-sysv
56217680Spst		;;
56317680Spst	miniframe)
56417680Spst		basic_machine=m68000-convergent
56517680Spst		;;
56675115Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
56775115Sfenner		basic_machine=m68k-atari
56875115Sfenner		os=-mint
56975115Sfenner		;;
57075115Sfenner	mipsel*-linux*)
57175115Sfenner		basic_machine=mipsel-unknown
57275115Sfenner		os=-linux-gnu
57375115Sfenner		;;
57475115Sfenner	mips*-linux*)
57575115Sfenner		basic_machine=mips-unknown
57675115Sfenner		os=-linux-gnu
57775115Sfenner		;;
57817680Spst	mips3*-*)
57917680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
58017680Spst		;;
58117680Spst	mips3*)
58217680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
58317680Spst		;;
58475115Sfenner	mmix*)
58575115Sfenner		basic_machine=mmix-knuth
58675115Sfenner		os=-mmixware
58775115Sfenner		;;
58875115Sfenner	monitor)
58975115Sfenner		basic_machine=m68k-rom68k
59075115Sfenner		os=-coff
59175115Sfenner		;;
59275115Sfenner	msdos)
59375115Sfenner		basic_machine=i386-unknown
59475115Sfenner		os=-msdos
59575115Sfenner		;;
59675115Sfenner	mvs)
59775115Sfenner		basic_machine=i370-ibm
59875115Sfenner		os=-mvs
59975115Sfenner		;;
60017680Spst	ncr3000)
60117680Spst		basic_machine=i486-ncr
60217680Spst		os=-sysv4
60317680Spst		;;
60475115Sfenner	netbsd386)
60575115Sfenner		basic_machine=i386-unknown
60675115Sfenner		os=-netbsd
60775115Sfenner		;;
60875115Sfenner	netwinder)
60975115Sfenner		basic_machine=armv4l-rebel
61075115Sfenner		os=-linux
61175115Sfenner		;;
61217680Spst	news | news700 | news800 | news900)
61317680Spst		basic_machine=m68k-sony
61417680Spst		os=-newsos
61517680Spst		;;
61617680Spst	news1000)
61717680Spst		basic_machine=m68030-sony
61817680Spst		os=-newsos
61917680Spst		;;
62017680Spst	news-3600 | risc-news)
62117680Spst		basic_machine=mips-sony
62217680Spst		os=-newsos
62317680Spst		;;
62475115Sfenner	necv70)
62575115Sfenner		basic_machine=v70-nec
62675115Sfenner		os=-sysv
62775115Sfenner		;;
62817680Spst	next | m*-next )
62917680Spst		basic_machine=m68k-next
63017680Spst		case $os in
63117680Spst		    -nextstep* )
63217680Spst			;;
63317680Spst		    -ns2*)
63417680Spst		      os=-nextstep2
63517680Spst			;;
63617680Spst		    *)
63717680Spst		      os=-nextstep3
63817680Spst			;;
63917680Spst		esac
64017680Spst		;;
64117680Spst	nh3000)
64217680Spst		basic_machine=m68k-harris
64317680Spst		os=-cxux
64417680Spst		;;
64517680Spst	nh[45]000)
64617680Spst		basic_machine=m88k-harris
64717680Spst		os=-cxux
64817680Spst		;;
64917680Spst	nindy960)
65017680Spst		basic_machine=i960-intel
65117680Spst		os=-nindy
65217680Spst		;;
65375115Sfenner	mon960)
65475115Sfenner		basic_machine=i960-intel
65575115Sfenner		os=-mon960
65675115Sfenner		;;
65775115Sfenner	nonstopux)
65875115Sfenner		basic_machine=mips-compaq
65975115Sfenner		os=-nonstopux
66075115Sfenner		;;
66117680Spst	np1)
66217680Spst		basic_machine=np1-gould
66317680Spst		;;
66475115Sfenner	nsr-tandem)
66575115Sfenner		basic_machine=nsr-tandem
66675115Sfenner		;;
66775115Sfenner	op50n-* | op60c-*)
66875115Sfenner		basic_machine=hppa1.1-oki
66975115Sfenner		os=-proelf
67075115Sfenner		;;
67175115Sfenner	OSE68000 | ose68000)
67275115Sfenner		basic_machine=m68000-ericsson
67375115Sfenner		os=-ose
67475115Sfenner		;;
67575115Sfenner	os68k)
67675115Sfenner		basic_machine=m68k-none
67775115Sfenner		os=-os68k
67875115Sfenner		;;
67917680Spst	pa-hitachi)
68017680Spst		basic_machine=hppa1.1-hitachi
68117680Spst		os=-hiuxwe2
68217680Spst		;;
68317680Spst	paragon)
68417680Spst		basic_machine=i860-intel
68517680Spst		os=-osf
68617680Spst		;;
68717680Spst	pbd)
68817680Spst		basic_machine=sparc-tti
68917680Spst		;;
69017680Spst	pbb)
69117680Spst		basic_machine=m68k-tti
69217680Spst		;;
69317680Spst        pc532 | pc532-*)
69417680Spst		basic_machine=ns32k-pc532
69517680Spst		;;
69675115Sfenner	pentium | p5 | k5 | k6 | nexgen)
69775115Sfenner		basic_machine=i586-pc
69817680Spst		;;
69975115Sfenner	pentiumpro | p6 | 6x86 | athlon)
70075115Sfenner		basic_machine=i686-pc
70126180Sfenner		;;
70275115Sfenner	pentiumii | pentium2)
70375115Sfenner		basic_machine=i686-pc
70475115Sfenner		;;
70575115Sfenner	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
70617680Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
70717680Spst		;;
70875115Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
70926180Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71026180Sfenner		;;
71175115Sfenner	pentiumii-* | pentium2-*)
71275115Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71317680Spst		;;
71417680Spst	pn)
71517680Spst		basic_machine=pn-gould
71617680Spst		;;
71775115Sfenner	power)	basic_machine=power-ibm
71817680Spst		;;
71917680Spst	ppc)	basic_machine=powerpc-unknown
72017680Spst	        ;;
72117680Spst	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
72217680Spst		;;
72317680Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
72417680Spst		basic_machine=powerpcle-unknown
72517680Spst	        ;;
72617680Spst	ppcle-* | powerpclittle-*)
72717680Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
72817680Spst		;;
72917680Spst	ps2)
73017680Spst		basic_machine=i386-ibm
73117680Spst		;;
73275115Sfenner	rom68k)
73375115Sfenner		basic_machine=m68k-rom68k
73475115Sfenner		os=-coff
73575115Sfenner		;;
73617680Spst	rm[46]00)
73717680Spst		basic_machine=mips-siemens
73817680Spst		;;
73917680Spst	rtpc | rtpc-*)
74017680Spst		basic_machine=romp-ibm
74117680Spst		;;
74275115Sfenner	sa29200)
74375115Sfenner		basic_machine=a29k-amd
74475115Sfenner		os=-udi
74575115Sfenner		;;
74617680Spst	sequent)
74717680Spst		basic_machine=i386-sequent
74817680Spst		;;
74917680Spst	sh)
75017680Spst		basic_machine=sh-hitachi
75117680Spst		os=-hms
75217680Spst		;;
75375115Sfenner	sparclite-wrs)
75475115Sfenner		basic_machine=sparclite-wrs
75575115Sfenner		os=-vxworks
75675115Sfenner		;;
75717680Spst	sps7)
75817680Spst		basic_machine=m68k-bull
75917680Spst		os=-sysv2
76017680Spst		;;
76117680Spst	spur)
76217680Spst		basic_machine=spur-unknown
76317680Spst		;;
76475115Sfenner	st2000)
76575115Sfenner		basic_machine=m68k-tandem
76675115Sfenner		;;
76775115Sfenner	stratus)
76875115Sfenner		basic_machine=i860-stratus
76975115Sfenner		os=-sysv4
77075115Sfenner		;;
77117680Spst	sun2)
77217680Spst		basic_machine=m68000-sun
77317680Spst		;;
77417680Spst	sun2os3)
77517680Spst		basic_machine=m68000-sun
77617680Spst		os=-sunos3
77717680Spst		;;
77817680Spst	sun2os4)
77917680Spst		basic_machine=m68000-sun
78017680Spst		os=-sunos4
78117680Spst		;;
78217680Spst	sun3os3)
78317680Spst		basic_machine=m68k-sun
78417680Spst		os=-sunos3
78517680Spst		;;
78617680Spst	sun3os4)
78717680Spst		basic_machine=m68k-sun
78817680Spst		os=-sunos4
78917680Spst		;;
79017680Spst	sun4os3)
79117680Spst		basic_machine=sparc-sun
79217680Spst		os=-sunos3
79317680Spst		;;
79417680Spst	sun4os4)
79517680Spst		basic_machine=sparc-sun
79617680Spst		os=-sunos4
79717680Spst		;;
79817680Spst	sun4sol2)
79917680Spst		basic_machine=sparc-sun
80017680Spst		os=-solaris2
80117680Spst		;;
80217680Spst	sun3 | sun3-*)
80317680Spst		basic_machine=m68k-sun
80417680Spst		;;
80517680Spst	sun4)
80617680Spst		basic_machine=sparc-sun
80717680Spst		;;
80817680Spst	sun386 | sun386i | roadrunner)
80917680Spst		basic_machine=i386-sun
81017680Spst		;;
81175115Sfenner	sv1)
81275115Sfenner		basic_machine=sv1-cray
81375115Sfenner		os=-unicos
81475115Sfenner		;;
81517680Spst	symmetry)
81617680Spst		basic_machine=i386-sequent
81717680Spst		os=-dynix
81817680Spst		;;
81975115Sfenner	t3e)
82075115Sfenner		basic_machine=t3e-cray
82175115Sfenner		os=-unicos
82275115Sfenner		;;
82375115Sfenner	tic54x | c54x*)
82475115Sfenner		basic_machine=tic54x-unknown
82575115Sfenner		os=-coff
82675115Sfenner		;;
82775115Sfenner	tx39)
82875115Sfenner		basic_machine=mipstx39-unknown
82975115Sfenner		;;
83075115Sfenner	tx39el)
83175115Sfenner		basic_machine=mipstx39el-unknown
83275115Sfenner		;;
83317680Spst	tower | tower-32)
83417680Spst		basic_machine=m68k-ncr
83517680Spst		;;
83617680Spst	udi29k)
83717680Spst		basic_machine=a29k-amd
83817680Spst		os=-udi
83917680Spst		;;
84017680Spst	ultra3)
84117680Spst		basic_machine=a29k-nyu
84217680Spst		os=-sym1
84317680Spst		;;
84475115Sfenner	v810 | necv810)
84575115Sfenner		basic_machine=v810-nec
84675115Sfenner		os=-none
84775115Sfenner		;;
84817680Spst	vaxv)
84917680Spst		basic_machine=vax-dec
85017680Spst		os=-sysv
85117680Spst		;;
85217680Spst	vms)
85317680Spst		basic_machine=vax-dec
85417680Spst		os=-vms
85517680Spst		;;
85675115Sfenner	vpp*|vx|vx-*)
85726180Sfenner               basic_machine=f301-fujitsu
85826180Sfenner               ;;
85917680Spst	vxworks960)
86017680Spst		basic_machine=i960-wrs
86117680Spst		os=-vxworks
86217680Spst		;;
86317680Spst	vxworks68)
86417680Spst		basic_machine=m68k-wrs
86517680Spst		os=-vxworks
86617680Spst		;;
86717680Spst	vxworks29k)
86817680Spst		basic_machine=a29k-wrs
86917680Spst		os=-vxworks
87017680Spst		;;
87175115Sfenner	w65*)
87275115Sfenner		basic_machine=w65-wdc
87375115Sfenner		os=-none
87475115Sfenner		;;
87575115Sfenner	w89k-*)
87675115Sfenner		basic_machine=hppa1.1-winbond
87775115Sfenner		os=-proelf
87875115Sfenner		;;
87917680Spst	xmp)
88017680Spst		basic_machine=xmp-cray
88117680Spst		os=-unicos
88217680Spst		;;
88317680Spst        xps | xps100)
88417680Spst		basic_machine=xps100-honeywell
88517680Spst		;;
88675115Sfenner	z8k-*-coff)
88775115Sfenner		basic_machine=z8k-unknown
88875115Sfenner		os=-sim
88975115Sfenner		;;
89017680Spst	none)
89117680Spst		basic_machine=none-none
89217680Spst		os=-none
89317680Spst		;;
89417680Spst
89517680Spst# Here we handle the default manufacturer of certain CPU types.  It is in
89617680Spst# some cases the only manufacturer, in others, it is the most popular.
89775115Sfenner	w89k)
89875115Sfenner		basic_machine=hppa1.1-winbond
89975115Sfenner		;;
90075115Sfenner	op50n)
90175115Sfenner		basic_machine=hppa1.1-oki
90275115Sfenner		;;
90375115Sfenner	op60c)
90475115Sfenner		basic_machine=hppa1.1-oki
90575115Sfenner		;;
90617680Spst	mips)
90775115Sfenner		if [ x$os = x-linux-gnu ]; then
90875115Sfenner			basic_machine=mips-unknown
90975115Sfenner		else
91075115Sfenner			basic_machine=mips-mips
91175115Sfenner		fi
91217680Spst		;;
91317680Spst	romp)
91417680Spst		basic_machine=romp-ibm
91517680Spst		;;
91617680Spst	rs6000)
91717680Spst		basic_machine=rs6000-ibm
91817680Spst		;;
91917680Spst	vax)
92017680Spst		basic_machine=vax-dec
92117680Spst		;;
92217680Spst	pdp11)
92317680Spst		basic_machine=pdp11-dec
92417680Spst		;;
92517680Spst	we32k)
92617680Spst		basic_machine=we32k-att
92717680Spst		;;
92875115Sfenner	sh3 | sh4)
92975115Sfenner		basic_machine=sh-unknown
93075115Sfenner		;;
93175115Sfenner	sparc | sparcv9)
93217680Spst		basic_machine=sparc-sun
93317680Spst		;;
93417680Spst        cydra)
93517680Spst		basic_machine=cydra-cydrome
93617680Spst		;;
93717680Spst	orion)
93817680Spst		basic_machine=orion-highlevel
93917680Spst		;;
94017680Spst	orion105)
94117680Spst		basic_machine=clipper-highlevel
94217680Spst		;;
94375115Sfenner	mac | mpw | mac-mpw)
94475115Sfenner		basic_machine=m68k-apple
94575115Sfenner		;;
94675115Sfenner	pmac | pmac-mpw)
94775115Sfenner		basic_machine=powerpc-apple
94875115Sfenner		;;
94975115Sfenner	c4x*)
95075115Sfenner		basic_machine=c4x-none
95175115Sfenner		os=-coff
95275115Sfenner		;;
95317680Spst	*)
95417680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
95517680Spst		exit 1
95617680Spst		;;
95717680Spstesac
95817680Spst
95917680Spst# Here we canonicalize certain aliases for manufacturers.
96017680Spstcase $basic_machine in
96117680Spst	*-digital*)
96217680Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
96317680Spst		;;
96417680Spst	*-commodore*)
96517680Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
96617680Spst		;;
96717680Spst	*)
96817680Spst		;;
96917680Spstesac
97017680Spst
97117680Spst# Decode manufacturer-specific aliases for certain operating systems.
97217680Spst
97317680Spstif [ x"$os" != x"" ]
97417680Spstthen
97517680Spstcase $os in
97626180Sfenner        # First match some system type aliases
97726180Sfenner        # that might get confused with valid system types.
97817680Spst	# -solaris* is a basic system type, with this one exception.
97917680Spst	-solaris1 | -solaris1.*)
98017680Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
98117680Spst		;;
98217680Spst	-solaris)
98317680Spst		os=-solaris2
98417680Spst		;;
98575115Sfenner	-svr4*)
98617680Spst		os=-sysv4
98717680Spst		;;
98875115Sfenner	-unixware*)
98975115Sfenner		os=-sysv4.2uw
99075115Sfenner		;;
99117680Spst	-gnu/linux*)
99226180Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
99317680Spst		;;
99417680Spst	# First accept the basic system types.
99517680Spst	# The portable systems comes first.
99617680Spst	# Each alternative MUST END IN A *, to match a version number.
99717680Spst	# -sysv* is not here because it comes later, after sysvr4.
99817680Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
99926180Sfenner	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
100017680Spst	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
100175115Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
100275115Sfenner	      | -aos* \
100326180Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
100426180Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
100526180Sfenner	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
100675115Sfenner	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
100717680Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
100826180Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
100975115Sfenner	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
101075115Sfenner	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
101175115Sfenner	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
101275115Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*)
101317680Spst	# Remember, each alternative MUST END IN *, to match a version number.
101417680Spst		;;
101575115Sfenner	-qnx*)
101675115Sfenner		case $basic_machine in
101775115Sfenner		    x86-* | i[34567]86-*)
101875115Sfenner			;;
101975115Sfenner		    *)
102075115Sfenner			os=-nto$os
102175115Sfenner			;;
102275115Sfenner		esac
102375115Sfenner		;;
102475115Sfenner	-nto*)
102575115Sfenner		os=-nto-qnx
102675115Sfenner		;;
102775115Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
102875115Sfenner	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
102975115Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
103075115Sfenner		;;
103175115Sfenner	-mac*)
103275115Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
103375115Sfenner		;;
103426180Sfenner	-linux*)
103526180Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
103626180Sfenner		;;
103717680Spst	-sunos5*)
103817680Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
103917680Spst		;;
104017680Spst	-sunos6*)
104117680Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
104217680Spst		;;
104375115Sfenner	-opened*)
104475115Sfenner		os=-openedition
104575115Sfenner		;;
104675115Sfenner	-wince*)
104775115Sfenner		os=-wince
104875115Sfenner		;;
104917680Spst	-osfrose*)
105017680Spst		os=-osfrose
105117680Spst		;;
105217680Spst	-osf*)
105317680Spst		os=-osf
105417680Spst		;;
105517680Spst	-utek*)
105617680Spst		os=-bsd
105717680Spst		;;
105817680Spst	-dynix*)
105917680Spst		os=-bsd
106017680Spst		;;
106117680Spst	-acis*)
106217680Spst		os=-aos
106317680Spst		;;
106475115Sfenner	-386bsd)
106575115Sfenner		os=-bsd
106675115Sfenner		;;
106717680Spst	-ctix* | -uts*)
106817680Spst		os=-sysv
106917680Spst		;;
107026180Sfenner	-ns2 )
107126180Sfenner	        os=-nextstep2
107226180Sfenner		;;
107375115Sfenner	-nsk*)
107475115Sfenner		os=-nsk
107575115Sfenner		;;
107617680Spst	# Preserve the version number of sinix5.
107717680Spst	-sinix5.*)
107817680Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
107917680Spst		;;
108017680Spst	-sinix*)
108117680Spst		os=-sysv4
108217680Spst		;;
108317680Spst	-triton*)
108417680Spst		os=-sysv3
108517680Spst		;;
108617680Spst	-oss*)
108717680Spst		os=-sysv3
108817680Spst		;;
108917680Spst	-svr4)
109017680Spst		os=-sysv4
109117680Spst		;;
109217680Spst	-svr3)
109317680Spst		os=-sysv3
109417680Spst		;;
109517680Spst	-sysvr4)
109617680Spst		os=-sysv4
109717680Spst		;;
109817680Spst	# This must come after -sysvr4.
109917680Spst	-sysv*)
110017680Spst		;;
110175115Sfenner	-ose*)
110275115Sfenner		os=-ose
110375115Sfenner		;;
110475115Sfenner	-es1800*)
110575115Sfenner		os=-ose
110675115Sfenner		;;
110717680Spst	-xenix)
110817680Spst		os=-xenix
110917680Spst		;;
111075115Sfenner        -*mint | -*MiNT)
111175115Sfenner	        os=-mint
111275115Sfenner		;;
111317680Spst	-none)
111417680Spst		;;
111517680Spst	*)
111617680Spst		# Get rid of the `-' at the beginning of $os.
111717680Spst		os=`echo $os | sed 's/[^-]*-//'`
111817680Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
111917680Spst		exit 1
112017680Spst		;;
112117680Spstesac
112217680Spstelse
112317680Spst
112417680Spst# Here we handle the default operating systems that come with various machines.
112517680Spst# The value should be what the vendor currently ships out the door with their
112617680Spst# machine or put another way, the most popular os provided with the machine.
112717680Spst
112817680Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
112917680Spst# "-sun"), then you have to tell the case statement up towards the top
113017680Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
113117680Spst# will signal an error saying that MANUFACTURER isn't an operating
113217680Spst# system, and we'll never get to this point.
113317680Spst
113417680Spstcase $basic_machine in
113517680Spst	*-acorn)
113617680Spst		os=-riscix1.2
113717680Spst		;;
113875115Sfenner	arm*-rebel)
113975115Sfenner		os=-linux
114075115Sfenner		;;
114117680Spst	arm*-semi)
114217680Spst		os=-aout
114317680Spst		;;
114417680Spst        pdp11-*)
114517680Spst		os=-none
114617680Spst		;;
114717680Spst	*-dec | vax-*)
114817680Spst		os=-ultrix4.2
114917680Spst		;;
115017680Spst	m68*-apollo)
115117680Spst		os=-domain
115217680Spst		;;
115317680Spst	i386-sun)
115417680Spst		os=-sunos4.0.2
115517680Spst		;;
115617680Spst	m68000-sun)
115717680Spst		os=-sunos3
115817680Spst		# This also exists in the configure program, but was not the
115917680Spst		# default.
116017680Spst		# os=-sunos4
116117680Spst		;;
116275115Sfenner	m68*-cisco)
116375115Sfenner		os=-aout
116475115Sfenner		;;
116575115Sfenner	mips*-cisco)
116675115Sfenner		os=-elf
116775115Sfenner		;;
116875115Sfenner	mips*-*)
116975115Sfenner		os=-elf
117075115Sfenner		;;
117117680Spst	*-tti)	# must be before sparc entry or we get the wrong os.
117217680Spst		os=-sysv3
117317680Spst		;;
117417680Spst	sparc-* | *-sun)
117517680Spst		os=-sunos4.1.1
117617680Spst		;;
117775115Sfenner	*-be)
117875115Sfenner		os=-beos
117975115Sfenner		;;
118017680Spst	*-ibm)
118117680Spst		os=-aix
118217680Spst		;;
118375115Sfenner	*-wec)
118475115Sfenner		os=-proelf
118575115Sfenner		;;
118675115Sfenner	*-winbond)
118775115Sfenner		os=-proelf
118875115Sfenner		;;
118975115Sfenner	*-oki)
119075115Sfenner		os=-proelf
119175115Sfenner		;;
119217680Spst	*-hp)
119317680Spst		os=-hpux
119417680Spst		;;
119517680Spst	*-hitachi)
119617680Spst		os=-hiux
119717680Spst		;;
119817680Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
119917680Spst		os=-sysv
120017680Spst		;;
120117680Spst	*-cbm)
120275115Sfenner		os=-amigaos
120317680Spst		;;
120417680Spst	*-dg)
120517680Spst		os=-dgux
120617680Spst		;;
120717680Spst	*-dolphin)
120817680Spst		os=-sysv3
120917680Spst		;;
121017680Spst	m68k-ccur)
121117680Spst		os=-rtu
121217680Spst		;;
121317680Spst	m88k-omron*)
121417680Spst		os=-luna
121517680Spst		;;
121626180Sfenner	*-next )
121726180Sfenner		os=-nextstep
121826180Sfenner		;;
121917680Spst	*-sequent)
122017680Spst		os=-ptx
122117680Spst		;;
122217680Spst	*-crds)
122317680Spst		os=-unos
122417680Spst		;;
122517680Spst	*-ns)
122617680Spst		os=-genix
122717680Spst		;;
122817680Spst	i370-*)
122917680Spst		os=-mvs
123017680Spst		;;
123117680Spst	*-next)
123217680Spst		os=-nextstep3
123317680Spst		;;
123417680Spst        *-gould)
123517680Spst		os=-sysv
123617680Spst		;;
123717680Spst        *-highlevel)
123817680Spst		os=-bsd
123917680Spst		;;
124017680Spst	*-encore)
124117680Spst		os=-bsd
124217680Spst		;;
124317680Spst        *-sgi)
124417680Spst		os=-irix
124517680Spst		;;
124617680Spst        *-siemens)
124717680Spst		os=-sysv4
124817680Spst		;;
124917680Spst	*-masscomp)
125017680Spst		os=-rtu
125117680Spst		;;
125275115Sfenner	f30[01]-fujitsu)
125326180Sfenner		os=-uxpv
125426180Sfenner		;;
125575115Sfenner	*-rom68k)
125675115Sfenner		os=-coff
125775115Sfenner		;;
125875115Sfenner	*-*bug)
125975115Sfenner		os=-coff
126075115Sfenner		;;
126175115Sfenner	*-apple)
126275115Sfenner		os=-macos
126375115Sfenner		;;
126475115Sfenner	*-atari*)
126575115Sfenner		os=-mint
126675115Sfenner		;;
126717680Spst	*)
126817680Spst		os=-none
126917680Spst		;;
127017680Spstesac
127117680Spstfi
127217680Spst
127317680Spst# Here we handle the case where we know the os, and the CPU type, but not the
127417680Spst# manufacturer.  We pick the logical manufacturer.
127517680Spstvendor=unknown
127617680Spstcase $basic_machine in
127717680Spst	*-unknown)
127817680Spst		case $os in
127917680Spst			-riscix*)
128017680Spst				vendor=acorn
128117680Spst				;;
128217680Spst			-sunos*)
128317680Spst				vendor=sun
128417680Spst				;;
128517680Spst			-aix*)
128617680Spst				vendor=ibm
128717680Spst				;;
128875115Sfenner			-beos*)
128975115Sfenner				vendor=be
129075115Sfenner				;;
129117680Spst			-hpux*)
129217680Spst				vendor=hp
129317680Spst				;;
129475115Sfenner			-mpeix*)
129575115Sfenner				vendor=hp
129675115Sfenner				;;
129717680Spst			-hiux*)
129817680Spst				vendor=hitachi
129917680Spst				;;
130017680Spst			-unos*)
130117680Spst				vendor=crds
130217680Spst				;;
130317680Spst			-dgux*)
130417680Spst				vendor=dg
130517680Spst				;;
130617680Spst			-luna*)
130717680Spst				vendor=omron
130817680Spst				;;
130917680Spst			-genix*)
131017680Spst				vendor=ns
131117680Spst				;;
131275115Sfenner			-mvs* | -opened*)
131317680Spst				vendor=ibm
131417680Spst				;;
131517680Spst			-ptx*)
131617680Spst				vendor=sequent
131717680Spst				;;
131826180Sfenner			-vxsim* | -vxworks*)
131917680Spst				vendor=wrs
132017680Spst				;;
132126180Sfenner			-aux*)
132226180Sfenner				vendor=apple
132326180Sfenner				;;
132475115Sfenner			-hms*)
132575115Sfenner				vendor=hitachi
132675115Sfenner				;;
132775115Sfenner			-mpw* | -macos*)
132875115Sfenner				vendor=apple
132975115Sfenner				;;
133075115Sfenner			-*mint | -*MiNT)
133175115Sfenner				vendor=atari
133275115Sfenner				;;
133317680Spst		esac
133417680Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
133517680Spst		;;
133617680Spstesac
133717680Spst
133817680Spstecho $basic_machine$os
133975115Sfennerexit 0
134075115Sfenner
134175115Sfenner# Local variables:
134275115Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
134375115Sfenner# time-stamp-start: "timestamp='"
134475115Sfenner# time-stamp-format: "%:y-%02m-%02d"
134575115Sfenner# time-stamp-end: "'"
134675115Sfenner# End:
1347