config.sub revision 75107
117683Spst#! /bin/sh
275107Sfenner# Configuration validation subroutine script.
375107Sfenner#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000
475107Sfenner#   Free Software Foundation, Inc.
575107Sfenner
675107Sfennertimestamp='2000-12-15'
775107Sfenner
817683Spst# This file is (in principle) common to ALL GNU software.
917683Spst# The presence of a machine in this file suggests that SOME GNU software
1026175Sfenner# can handle that machine.  It does not imply ALL GNU software can.
1117683Spst#
1217683Spst# This file is free software; you can redistribute it and/or modify
1317683Spst# it under the terms of the GNU General Public License as published by
1417683Spst# the Free Software Foundation; either version 2 of the License, or
1517683Spst# (at your option) any later version.
1617683Spst#
1717683Spst# This program is distributed in the hope that it will be useful,
1817683Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of
1917683Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2017683Spst# GNU General Public License for more details.
2117683Spst#
2217683Spst# You should have received a copy of the GNU General Public License
2317683Spst# along with this program; if not, write to the Free Software
2417683Spst# Foundation, Inc., 59 Temple Place - Suite 330,
2517683Spst# Boston, MA 02111-1307, USA.
2617683Spst
2717683Spst# As a special exception to the GNU General Public License, if you
2817683Spst# distribute this file as part of a program that contains a
2917683Spst# configuration script generated by Autoconf, you may include it under
3017683Spst# the same distribution terms that you use for the rest of that program.
3117683Spst
3275107Sfenner# Please send patches to <config-patches@gnu.org>.
3375107Sfenner#
3417683Spst# Configuration subroutine to validate and canonicalize a configuration type.
3517683Spst# Supply the specified configuration type as an argument.
3617683Spst# If it is invalid, we print an error message on stderr and exit with code 1.
3717683Spst# Otherwise, we print the canonical config type on stdout and succeed.
3817683Spst
3917683Spst# This file is supposed to be the same for all GNU packages
4017683Spst# and recognize all the CPU types, system types and aliases
4117683Spst# that are meaningful with *any* GNU software.
4217683Spst# Each package is responsible for reporting which valid configurations
4317683Spst# it does not support.  The user should be able to distinguish
4417683Spst# a failure to support a valid configuration from a meaningless
4517683Spst# configuration.
4617683Spst
4717683Spst# The goal of this file is to map all the various variations of a given
4817683Spst# machine specification into a single specification in the form:
4917683Spst#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5026175Sfenner# or in some cases, the newer four-part form:
5126175Sfenner#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5217683Spst# It is wrong to echo any other type of specification.
5317683Spst
5475107Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
5517683Spst
5675107Sfennerusage="\
5775107SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS
5875107Sfenner       $0 [OPTION] ALIAS
5975107Sfenner
6075107SfennerCanonicalize a configuration name.
6175107Sfenner
6275107SfennerOperation modes:
6375107Sfenner  -h, --help         print this help, then exit
6475107Sfenner  -t, --time-stamp   print date of last modification, then exit
6575107Sfenner  -v, --version      print version number, then exit
6675107Sfenner
6775107SfennerReport bugs and patches to <config-patches@gnu.org>."
6875107Sfenner
6975107Sfennerversion="\
7075107SfennerGNU config.sub ($timestamp)
7175107Sfenner
7275107SfennerCopyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000
7375107SfennerFree Software Foundation, Inc.
7475107Sfenner
7575107SfennerThis is free software; see the source for copying conditions.  There is NO
7675107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7775107Sfenner
7875107Sfennerhelp="
7975107SfennerTry \`$me --help' for more information."
8075107Sfenner
8175107Sfenner# Parse command line
8275107Sfennerwhile test $# -gt 0 ; do
8375107Sfenner  case $1 in
8475107Sfenner    --time-stamp | --time* | -t )
8575107Sfenner       echo "$timestamp" ; exit 0 ;;
8675107Sfenner    --version | -v )
8775107Sfenner       echo "$version" ; exit 0 ;;
8875107Sfenner    --help | --h* | -h )
8975107Sfenner       echo "$usage"; exit 0 ;;
9075107Sfenner    -- )     # Stop option processing
9175107Sfenner       shift; break ;;
9275107Sfenner    - )	# Use stdin as input.
9375107Sfenner       break ;;
9475107Sfenner    -* )
9575107Sfenner       echo "$me: invalid option $1$help"
9675107Sfenner       exit 1 ;;
9775107Sfenner
9875107Sfenner    *local*)
9975107Sfenner       # First pass through any local machine types.
10075107Sfenner       echo $1
10175107Sfenner       exit 0;;
10275107Sfenner
10375107Sfenner    * )
10475107Sfenner       break ;;
10575107Sfenner  esac
10675107Sfennerdone
10775107Sfenner
10875107Sfennercase $# in
10975107Sfenner 0) echo "$me: missing argument$help" >&2
11075107Sfenner    exit 1;;
11175107Sfenner 1) ;;
11275107Sfenner *) echo "$me: too many arguments$help" >&2
11375107Sfenner    exit 1;;
11417683Spstesac
11517683Spst
11626175Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11726175Sfenner# Here we must recognize all the valid KERNEL-OS combinations.
11826175Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
11926175Sfennercase $maybe_os in
12075107Sfenner  nto-qnx* | linux-gnu* | storm-chaos*)
12126175Sfenner    os=-$maybe_os
12226175Sfenner    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12326175Sfenner    ;;
12426175Sfenner  *)
12526175Sfenner    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
12626175Sfenner    if [ $basic_machine != $1 ]
12726175Sfenner    then os=`echo $1 | sed 's/.*-/-/'`
12826175Sfenner    else os=; fi
12926175Sfenner    ;;
13026175Sfenneresac
13117683Spst
13217683Spst### Let's recognize common machines as not being operating systems so
13317683Spst### that things like config.sub decstation-3100 work.  We also
13417683Spst### recognize some manufacturers as not being operating systems, so we
13517683Spst### can provide default operating systems below.
13617683Spstcase $os in
13717683Spst	-sun*os*)
13817683Spst		# Prevent following clause from handling this invalid input.
13917683Spst		;;
14017683Spst	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14117683Spst	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14217683Spst	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14317683Spst	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14417683Spst	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
14526175Sfenner	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
14675107Sfenner	-apple | -axis)
14717683Spst		os=
14817683Spst		basic_machine=$1
14917683Spst		;;
15075107Sfenner	-sim | -cisco | -oki | -wec | -winbond)
15175107Sfenner		os=
15275107Sfenner		basic_machine=$1
15375107Sfenner		;;
15475107Sfenner	-scout)
15575107Sfenner		;;
15675107Sfenner	-wrs)
15775107Sfenner		os=-vxworks
15875107Sfenner		basic_machine=$1
15975107Sfenner		;;
16017683Spst	-hiux*)
16117683Spst		os=-hiuxwe2
16217683Spst		;;
16326175Sfenner	-sco5)
16475107Sfenner		os=-sco3.2v5
16526175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
16626175Sfenner		;;
16717683Spst	-sco4)
16817683Spst		os=-sco3.2v4
16926175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17017683Spst		;;
17117683Spst	-sco3.2.[4-9]*)
17217683Spst		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
17326175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17417683Spst		;;
17517683Spst	-sco3.2v[4-9]*)
17617683Spst		# Don't forget version if it is 3.2v4 or newer.
17726175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17817683Spst		;;
17917683Spst	-sco*)
18017683Spst		os=-sco3.2v2
18126175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18217683Spst		;;
18375107Sfenner	-udk*)
18475107Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18575107Sfenner		;;
18617683Spst	-isc)
18717683Spst		os=-isc2.2
18826175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18917683Spst		;;
19017683Spst	-clix*)
19117683Spst		basic_machine=clipper-intergraph
19217683Spst		;;
19317683Spst	-isc*)
19426175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19517683Spst		;;
19617683Spst	-lynx*)
19717683Spst		os=-lynxos
19817683Spst		;;
19917683Spst	-ptx*)
20017683Spst		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
20117683Spst		;;
20217683Spst	-windowsnt*)
20317683Spst		os=`echo $os | sed -e 's/windowsnt/winnt/'`
20417683Spst		;;
20526175Sfenner	-psos*)
20626175Sfenner		os=-psos
20726175Sfenner		;;
20875107Sfenner	-mint | -mint[0-9]*)
20975107Sfenner		basic_machine=m68k-atari
21075107Sfenner		os=-mint
21175107Sfenner		;;
21217683Spstesac
21317683Spst
21417683Spst# Decode aliases for certain CPU-COMPANY combinations.
21517683Spstcase $basic_machine in
21617683Spst	# Recognize the basic CPU types without company name.
21717683Spst	# Some are omitted here because they have special meanings below.
21875107Sfenner	tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
21975107Sfenner	        | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
22075107Sfenner		| pyramid | mn10200 | mn10300 | tron | a29k \
22175107Sfenner		| 580 | i960 | h8300 \
22275107Sfenner		| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
22375107Sfenner		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
22475107Sfenner		| hppa64 \
22575107Sfenner		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
22675107Sfenner		| alphaev6[78] \
22775107Sfenner		| we32k | ns16k | clipper | i370 | sh | sh[34] \
22875107Sfenner		| powerpc | powerpcle \
22975107Sfenner		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
23075107Sfenner		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
23175107Sfenner		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
23275107Sfenner		| mips64vr5000 | miprs64vr5000el | mcore \
23375107Sfenner		| sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \
23475107Sfenner		| thumb | d10v | d30v | fr30 | avr)
23517683Spst		basic_machine=$basic_machine-unknown
23617683Spst		;;
23775107Sfenner	m6811 | m68hc11 | m6812 | m68hc12)
23875107Sfenner		# Motorola 68HC11/12.
23975107Sfenner		basic_machine=$basic_machine-unknown
24075107Sfenner		os=-none
24175107Sfenner		;;
24275107Sfenner	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl)
24375107Sfenner		;;
24475107Sfenner
24526175Sfenner	# We use `pc' rather than `unknown'
24626175Sfenner	# because (1) that's what they normally are, and
24726175Sfenner	# (2) the word "unknown" tends to confuse beginning users.
24875107Sfenner	i[234567]86 | x86_64)
24926175Sfenner	  basic_machine=$basic_machine-pc
25026175Sfenner	  ;;
25117683Spst	# Object if more than one company name word.
25217683Spst	*-*-*)
25317683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
25417683Spst		exit 1
25517683Spst		;;
25617683Spst	# Recognize the basic CPU types with company name.
25775107Sfenner	# FIXME: clean up the formatting here.
25875107Sfenner	vax-* | tahoe-* | i[234567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
25975107Sfenner	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
26075107Sfenner	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
26175107Sfenner	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
26275107Sfenner	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
26375107Sfenner	      | xmp-* | ymp-* \
26475107Sfenner	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
26575107Sfenner	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
26675107Sfenner	      | hppa2.0n-* | hppa64-* \
26775107Sfenner	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
26875107Sfenner	      | alphaev6[78]-* \
26975107Sfenner	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
27075107Sfenner	      | clipper-* | orion-* \
27175107Sfenner	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
27275107Sfenner	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
27375107Sfenner	      | mips64el-* | mips64orion-* | mips64orionel-* \
27475107Sfenner	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
27575107Sfenner	      | mipstx39-* | mipstx39el-* | mcore-* \
27675107Sfenner	      | f30[01]-* | s390-* | sv1-* | t3e-* \
27775107Sfenner	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
27875107Sfenner	      | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* \
27975107Sfenner	      | bs2000-* | tic54x-* | c54x-* | x86_64-*)
28017683Spst		;;
28117683Spst	# Recognize the various machine names and aliases which stand
28217683Spst	# for a CPU type and a company and sometimes even an OS.
28375107Sfenner	386bsd)
28475107Sfenner		basic_machine=i386-unknown
28575107Sfenner		os=-bsd
28675107Sfenner		;;
28717683Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
28817683Spst		basic_machine=m68000-att
28917683Spst		;;
29017683Spst	3b*)
29117683Spst		basic_machine=we32k-att
29217683Spst		;;
29375107Sfenner	a29khif)
29475107Sfenner		basic_machine=a29k-amd
29575107Sfenner		os=-udi
29675107Sfenner		;;
29775107Sfenner	adobe68k)
29875107Sfenner		basic_machine=m68010-adobe
29975107Sfenner		os=-scout
30075107Sfenner		;;
30117683Spst	alliant | fx80)
30217683Spst		basic_machine=fx80-alliant
30317683Spst		;;
30417683Spst	altos | altos3068)
30517683Spst		basic_machine=m68k-altos
30617683Spst		;;
30717683Spst	am29k)
30817683Spst		basic_machine=a29k-none
30917683Spst		os=-bsd
31017683Spst		;;
31117683Spst	amdahl)
31217683Spst		basic_machine=580-amdahl
31317683Spst		os=-sysv
31417683Spst		;;
31517683Spst	amiga | amiga-*)
31675107Sfenner		basic_machine=m68k-unknown
31717683Spst		;;
31875107Sfenner	amigaos | amigados)
31975107Sfenner		basic_machine=m68k-unknown
32075107Sfenner		os=-amigaos
32117683Spst		;;
32217683Spst	amigaunix | amix)
32375107Sfenner		basic_machine=m68k-unknown
32417683Spst		os=-sysv4
32517683Spst		;;
32617683Spst	apollo68)
32717683Spst		basic_machine=m68k-apollo
32817683Spst		os=-sysv
32917683Spst		;;
33075107Sfenner	apollo68bsd)
33175107Sfenner		basic_machine=m68k-apollo
33275107Sfenner		os=-bsd
33375107Sfenner		;;
33426175Sfenner	aux)
33526175Sfenner		basic_machine=m68k-apple
33626175Sfenner		os=-aux
33726175Sfenner		;;
33817683Spst	balance)
33917683Spst		basic_machine=ns32k-sequent
34017683Spst		os=-dynix
34117683Spst		;;
34217683Spst	convex-c1)
34317683Spst		basic_machine=c1-convex
34417683Spst		os=-bsd
34517683Spst		;;
34617683Spst	convex-c2)
34717683Spst		basic_machine=c2-convex
34817683Spst		os=-bsd
34917683Spst		;;
35017683Spst	convex-c32)
35117683Spst		basic_machine=c32-convex
35217683Spst		os=-bsd
35317683Spst		;;
35417683Spst	convex-c34)
35517683Spst		basic_machine=c34-convex
35617683Spst		os=-bsd
35717683Spst		;;
35817683Spst	convex-c38)
35917683Spst		basic_machine=c38-convex
36017683Spst		os=-bsd
36117683Spst		;;
36217683Spst	cray | ymp)
36317683Spst		basic_machine=ymp-cray
36417683Spst		os=-unicos
36517683Spst		;;
36617683Spst	cray2)
36717683Spst		basic_machine=cray2-cray
36817683Spst		os=-unicos
36917683Spst		;;
37026175Sfenner	[ctj]90-cray)
37126175Sfenner		basic_machine=c90-cray
37226175Sfenner		os=-unicos
37326175Sfenner		;;
37417683Spst	crds | unos)
37517683Spst		basic_machine=m68k-crds
37617683Spst		;;
37775107Sfenner	cris | cris-* | etrax*)
37875107Sfenner		basic_machine=cris-axis
37975107Sfenner		;;
38017683Spst	da30 | da30-*)
38117683Spst		basic_machine=m68k-da30
38217683Spst		;;
38317683Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
38417683Spst		basic_machine=mips-dec
38517683Spst		;;
38617683Spst	delta | 3300 | motorola-3300 | motorola-delta \
38717683Spst	      | 3300-motorola | delta-motorola)
38817683Spst		basic_machine=m68k-motorola
38917683Spst		;;
39017683Spst	delta88)
39117683Spst		basic_machine=m88k-motorola
39217683Spst		os=-sysv3
39317683Spst		;;
39417683Spst	dpx20 | dpx20-*)
39517683Spst		basic_machine=rs6000-bull
39617683Spst		os=-bosx
39717683Spst		;;
39817683Spst	dpx2* | dpx2*-bull)
39917683Spst		basic_machine=m68k-bull
40017683Spst		os=-sysv3
40117683Spst		;;
40217683Spst	ebmon29k)
40317683Spst		basic_machine=a29k-amd
40417683Spst		os=-ebmon
40517683Spst		;;
40617683Spst	elxsi)
40717683Spst		basic_machine=elxsi-elxsi
40817683Spst		os=-bsd
40917683Spst		;;
41017683Spst	encore | umax | mmax)
41117683Spst		basic_machine=ns32k-encore
41217683Spst		;;
41375107Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
41475107Sfenner		basic_machine=m68k-ericsson
41575107Sfenner		os=-ose
41675107Sfenner		;;
41717683Spst	fx2800)
41817683Spst		basic_machine=i860-alliant
41917683Spst		;;
42017683Spst	genix)
42117683Spst		basic_machine=ns32k-ns
42217683Spst		;;
42317683Spst	gmicro)
42417683Spst		basic_machine=tron-gmicro
42517683Spst		os=-sysv
42617683Spst		;;
42717683Spst	h3050r* | hiux*)
42817683Spst		basic_machine=hppa1.1-hitachi
42917683Spst		os=-hiuxwe2
43017683Spst		;;
43117683Spst	h8300hms)
43217683Spst		basic_machine=h8300-hitachi
43317683Spst		os=-hms
43417683Spst		;;
43575107Sfenner	h8300xray)
43675107Sfenner		basic_machine=h8300-hitachi
43775107Sfenner		os=-xray
43875107Sfenner		;;
43975107Sfenner	h8500hms)
44075107Sfenner		basic_machine=h8500-hitachi
44175107Sfenner		os=-hms
44275107Sfenner		;;
44317683Spst	harris)
44417683Spst		basic_machine=m88k-harris
44517683Spst		os=-sysv3
44617683Spst		;;
44717683Spst	hp300-*)
44817683Spst		basic_machine=m68k-hp
44917683Spst		;;
45017683Spst	hp300bsd)
45117683Spst		basic_machine=m68k-hp
45217683Spst		os=-bsd
45317683Spst		;;
45417683Spst	hp300hpux)
45517683Spst		basic_machine=m68k-hp
45617683Spst		os=-hpux
45717683Spst		;;
45875107Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
45975107Sfenner		basic_machine=hppa1.0-hp
46075107Sfenner		;;
46117683Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
46217683Spst		basic_machine=m68000-hp
46317683Spst		;;
46417683Spst	hp9k3[2-9][0-9])
46517683Spst		basic_machine=m68k-hp
46617683Spst		;;
46775107Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
46875107Sfenner		basic_machine=hppa1.0-hp
46975107Sfenner		;;
47075107Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
47117683Spst		basic_machine=hppa1.1-hp
47217683Spst		;;
47375107Sfenner	hp9k78[0-9] | hp78[0-9])
47475107Sfenner		# FIXME: really hppa2.0-hp
47575107Sfenner		basic_machine=hppa1.1-hp
47675107Sfenner		;;
47775107Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
47875107Sfenner		# FIXME: really hppa2.0-hp
47975107Sfenner		basic_machine=hppa1.1-hp
48075107Sfenner		;;
48175107Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
48275107Sfenner		basic_machine=hppa1.1-hp
48375107Sfenner		;;
48417683Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
48517683Spst		basic_machine=hppa1.0-hp
48617683Spst		;;
48726175Sfenner	hppa-next)
48826175Sfenner		os=-nextstep3
48926175Sfenner		;;
49075107Sfenner	hppaosf)
49175107Sfenner		basic_machine=hppa1.1-hp
49275107Sfenner		os=-osf
49375107Sfenner		;;
49475107Sfenner	hppro)
49575107Sfenner		basic_machine=hppa1.1-hp
49675107Sfenner		os=-proelf
49775107Sfenner		;;
49817683Spst	i370-ibm* | ibm*)
49917683Spst		basic_machine=i370-ibm
50017683Spst		;;
50117683Spst# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
50275107Sfenner	i[34567]86v32)
50326175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
50417683Spst		os=-sysv32
50517683Spst		;;
50675107Sfenner	i[34567]86v4*)
50726175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
50817683Spst		os=-sysv4
50917683Spst		;;
51075107Sfenner	i[34567]86v)
51126175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51217683Spst		os=-sysv
51317683Spst		;;
51475107Sfenner	i[34567]86sol2)
51526175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51617683Spst		os=-solaris2
51717683Spst		;;
51875107Sfenner	i386mach)
51975107Sfenner		basic_machine=i386-mach
52075107Sfenner		os=-mach
52175107Sfenner		;;
52275107Sfenner	i386-vsta | vsta)
52375107Sfenner		basic_machine=i386-unknown
52475107Sfenner		os=-vsta
52575107Sfenner		;;
52675107Sfenner	i386-go32 | go32)
52775107Sfenner		basic_machine=i386-unknown
52875107Sfenner		os=-go32
52975107Sfenner		;;
53075107Sfenner	i386-mingw32 | mingw32)
53175107Sfenner		basic_machine=i386-unknown
53275107Sfenner		os=-mingw32
53375107Sfenner		;;
53475107Sfenner	i[34567]86-pw32 | pw32)
53575107Sfenner		basic_machine=i586-unknown
53675107Sfenner		os=-pw32
53775107Sfenner		;;
53817683Spst	iris | iris4d)
53917683Spst		basic_machine=mips-sgi
54017683Spst		case $os in
54117683Spst		    -irix*)
54217683Spst			;;
54317683Spst		    *)
54417683Spst			os=-irix4
54517683Spst			;;
54617683Spst		esac
54717683Spst		;;
54817683Spst	isi68 | isi)
54917683Spst		basic_machine=m68k-isi
55017683Spst		os=-sysv
55117683Spst		;;
55217683Spst	m88k-omron*)
55317683Spst		basic_machine=m88k-omron
55417683Spst		;;
55517683Spst	magnum | m3230)
55617683Spst		basic_machine=mips-mips
55717683Spst		os=-sysv
55817683Spst		;;
55917683Spst	merlin)
56017683Spst		basic_machine=ns32k-utek
56117683Spst		os=-sysv
56217683Spst		;;
56317683Spst	miniframe)
56417683Spst		basic_machine=m68000-convergent
56517683Spst		;;
56675107Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
56775107Sfenner		basic_machine=m68k-atari
56875107Sfenner		os=-mint
56975107Sfenner		;;
57075107Sfenner	mipsel*-linux*)
57175107Sfenner		basic_machine=mipsel-unknown
57275107Sfenner		os=-linux-gnu
57375107Sfenner		;;
57475107Sfenner	mips*-linux*)
57575107Sfenner		basic_machine=mips-unknown
57675107Sfenner		os=-linux-gnu
57775107Sfenner		;;
57817683Spst	mips3*-*)
57917683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
58017683Spst		;;
58117683Spst	mips3*)
58217683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
58317683Spst		;;
58475107Sfenner	mmix*)
58575107Sfenner		basic_machine=mmix-knuth
58675107Sfenner		os=-mmixware
58775107Sfenner		;;
58875107Sfenner	monitor)
58975107Sfenner		basic_machine=m68k-rom68k
59075107Sfenner		os=-coff
59175107Sfenner		;;
59275107Sfenner	msdos)
59375107Sfenner		basic_machine=i386-unknown
59475107Sfenner		os=-msdos
59575107Sfenner		;;
59675107Sfenner	mvs)
59775107Sfenner		basic_machine=i370-ibm
59875107Sfenner		os=-mvs
59975107Sfenner		;;
60017683Spst	ncr3000)
60117683Spst		basic_machine=i486-ncr
60217683Spst		os=-sysv4
60317683Spst		;;
60475107Sfenner	netbsd386)
60575107Sfenner		basic_machine=i386-unknown
60675107Sfenner		os=-netbsd
60775107Sfenner		;;
60875107Sfenner	netwinder)
60975107Sfenner		basic_machine=armv4l-rebel
61075107Sfenner		os=-linux
61175107Sfenner		;;
61217683Spst	news | news700 | news800 | news900)
61317683Spst		basic_machine=m68k-sony
61417683Spst		os=-newsos
61517683Spst		;;
61617683Spst	news1000)
61717683Spst		basic_machine=m68030-sony
61817683Spst		os=-newsos
61917683Spst		;;
62017683Spst	news-3600 | risc-news)
62117683Spst		basic_machine=mips-sony
62217683Spst		os=-newsos
62317683Spst		;;
62475107Sfenner	necv70)
62575107Sfenner		basic_machine=v70-nec
62675107Sfenner		os=-sysv
62775107Sfenner		;;
62817683Spst	next | m*-next )
62917683Spst		basic_machine=m68k-next
63017683Spst		case $os in
63117683Spst		    -nextstep* )
63217683Spst			;;
63317683Spst		    -ns2*)
63417683Spst		      os=-nextstep2
63517683Spst			;;
63617683Spst		    *)
63717683Spst		      os=-nextstep3
63817683Spst			;;
63917683Spst		esac
64017683Spst		;;
64117683Spst	nh3000)
64217683Spst		basic_machine=m68k-harris
64317683Spst		os=-cxux
64417683Spst		;;
64517683Spst	nh[45]000)
64617683Spst		basic_machine=m88k-harris
64717683Spst		os=-cxux
64817683Spst		;;
64917683Spst	nindy960)
65017683Spst		basic_machine=i960-intel
65117683Spst		os=-nindy
65217683Spst		;;
65375107Sfenner	mon960)
65475107Sfenner		basic_machine=i960-intel
65575107Sfenner		os=-mon960
65675107Sfenner		;;
65775107Sfenner	nonstopux)
65875107Sfenner		basic_machine=mips-compaq
65975107Sfenner		os=-nonstopux
66075107Sfenner		;;
66117683Spst	np1)
66217683Spst		basic_machine=np1-gould
66317683Spst		;;
66475107Sfenner	nsr-tandem)
66575107Sfenner		basic_machine=nsr-tandem
66675107Sfenner		;;
66775107Sfenner	op50n-* | op60c-*)
66875107Sfenner		basic_machine=hppa1.1-oki
66975107Sfenner		os=-proelf
67075107Sfenner		;;
67175107Sfenner	OSE68000 | ose68000)
67275107Sfenner		basic_machine=m68000-ericsson
67375107Sfenner		os=-ose
67475107Sfenner		;;
67575107Sfenner	os68k)
67675107Sfenner		basic_machine=m68k-none
67775107Sfenner		os=-os68k
67875107Sfenner		;;
67917683Spst	pa-hitachi)
68017683Spst		basic_machine=hppa1.1-hitachi
68117683Spst		os=-hiuxwe2
68217683Spst		;;
68317683Spst	paragon)
68417683Spst		basic_machine=i860-intel
68517683Spst		os=-osf
68617683Spst		;;
68717683Spst	pbd)
68817683Spst		basic_machine=sparc-tti
68917683Spst		;;
69017683Spst	pbb)
69117683Spst		basic_machine=m68k-tti
69217683Spst		;;
69317683Spst        pc532 | pc532-*)
69417683Spst		basic_machine=ns32k-pc532
69517683Spst		;;
69675107Sfenner	pentium | p5 | k5 | k6 | nexgen)
69775107Sfenner		basic_machine=i586-pc
69817683Spst		;;
69975107Sfenner	pentiumpro | p6 | 6x86 | athlon)
70075107Sfenner		basic_machine=i686-pc
70126175Sfenner		;;
70275107Sfenner	pentiumii | pentium2)
70375107Sfenner		basic_machine=i686-pc
70475107Sfenner		;;
70575107Sfenner	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
70617683Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
70717683Spst		;;
70875107Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
70926175Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71026175Sfenner		;;
71175107Sfenner	pentiumii-* | pentium2-*)
71275107Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71317683Spst		;;
71417683Spst	pn)
71517683Spst		basic_machine=pn-gould
71617683Spst		;;
71775107Sfenner	power)	basic_machine=power-ibm
71817683Spst		;;
71917683Spst	ppc)	basic_machine=powerpc-unknown
72017683Spst	        ;;
72117683Spst	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
72217683Spst		;;
72317683Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
72417683Spst		basic_machine=powerpcle-unknown
72517683Spst	        ;;
72617683Spst	ppcle-* | powerpclittle-*)
72717683Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
72817683Spst		;;
72917683Spst	ps2)
73017683Spst		basic_machine=i386-ibm
73117683Spst		;;
73275107Sfenner	rom68k)
73375107Sfenner		basic_machine=m68k-rom68k
73475107Sfenner		os=-coff
73575107Sfenner		;;
73617683Spst	rm[46]00)
73717683Spst		basic_machine=mips-siemens
73817683Spst		;;
73917683Spst	rtpc | rtpc-*)
74017683Spst		basic_machine=romp-ibm
74117683Spst		;;
74275107Sfenner	sa29200)
74375107Sfenner		basic_machine=a29k-amd
74475107Sfenner		os=-udi
74575107Sfenner		;;
74617683Spst	sequent)
74717683Spst		basic_machine=i386-sequent
74817683Spst		;;
74917683Spst	sh)
75017683Spst		basic_machine=sh-hitachi
75117683Spst		os=-hms
75217683Spst		;;
75375107Sfenner	sparclite-wrs)
75475107Sfenner		basic_machine=sparclite-wrs
75575107Sfenner		os=-vxworks
75675107Sfenner		;;
75717683Spst	sps7)
75817683Spst		basic_machine=m68k-bull
75917683Spst		os=-sysv2
76017683Spst		;;
76117683Spst	spur)
76217683Spst		basic_machine=spur-unknown
76317683Spst		;;
76475107Sfenner	st2000)
76575107Sfenner		basic_machine=m68k-tandem
76675107Sfenner		;;
76775107Sfenner	stratus)
76875107Sfenner		basic_machine=i860-stratus
76975107Sfenner		os=-sysv4
77075107Sfenner		;;
77117683Spst	sun2)
77217683Spst		basic_machine=m68000-sun
77317683Spst		;;
77417683Spst	sun2os3)
77517683Spst		basic_machine=m68000-sun
77617683Spst		os=-sunos3
77717683Spst		;;
77817683Spst	sun2os4)
77917683Spst		basic_machine=m68000-sun
78017683Spst		os=-sunos4
78117683Spst		;;
78217683Spst	sun3os3)
78317683Spst		basic_machine=m68k-sun
78417683Spst		os=-sunos3
78517683Spst		;;
78617683Spst	sun3os4)
78717683Spst		basic_machine=m68k-sun
78817683Spst		os=-sunos4
78917683Spst		;;
79017683Spst	sun4os3)
79117683Spst		basic_machine=sparc-sun
79217683Spst		os=-sunos3
79317683Spst		;;
79417683Spst	sun4os4)
79517683Spst		basic_machine=sparc-sun
79617683Spst		os=-sunos4
79717683Spst		;;
79817683Spst	sun4sol2)
79917683Spst		basic_machine=sparc-sun
80017683Spst		os=-solaris2
80117683Spst		;;
80217683Spst	sun3 | sun3-*)
80317683Spst		basic_machine=m68k-sun
80417683Spst		;;
80517683Spst	sun4)
80617683Spst		basic_machine=sparc-sun
80717683Spst		;;
80817683Spst	sun386 | sun386i | roadrunner)
80917683Spst		basic_machine=i386-sun
81017683Spst		;;
81175107Sfenner	sv1)
81275107Sfenner		basic_machine=sv1-cray
81375107Sfenner		os=-unicos
81475107Sfenner		;;
81517683Spst	symmetry)
81617683Spst		basic_machine=i386-sequent
81717683Spst		os=-dynix
81817683Spst		;;
81975107Sfenner	t3e)
82075107Sfenner		basic_machine=t3e-cray
82175107Sfenner		os=-unicos
82275107Sfenner		;;
82375107Sfenner	tic54x | c54x*)
82475107Sfenner		basic_machine=tic54x-unknown
82575107Sfenner		os=-coff
82675107Sfenner		;;
82775107Sfenner	tx39)
82875107Sfenner		basic_machine=mipstx39-unknown
82975107Sfenner		;;
83075107Sfenner	tx39el)
83175107Sfenner		basic_machine=mipstx39el-unknown
83275107Sfenner		;;
83317683Spst	tower | tower-32)
83417683Spst		basic_machine=m68k-ncr
83517683Spst		;;
83617683Spst	udi29k)
83717683Spst		basic_machine=a29k-amd
83817683Spst		os=-udi
83917683Spst		;;
84017683Spst	ultra3)
84117683Spst		basic_machine=a29k-nyu
84217683Spst		os=-sym1
84317683Spst		;;
84475107Sfenner	v810 | necv810)
84575107Sfenner		basic_machine=v810-nec
84675107Sfenner		os=-none
84775107Sfenner		;;
84817683Spst	vaxv)
84917683Spst		basic_machine=vax-dec
85017683Spst		os=-sysv
85117683Spst		;;
85217683Spst	vms)
85317683Spst		basic_machine=vax-dec
85417683Spst		os=-vms
85517683Spst		;;
85675107Sfenner	vpp*|vx|vx-*)
85726175Sfenner               basic_machine=f301-fujitsu
85826175Sfenner               ;;
85917683Spst	vxworks960)
86017683Spst		basic_machine=i960-wrs
86117683Spst		os=-vxworks
86217683Spst		;;
86317683Spst	vxworks68)
86417683Spst		basic_machine=m68k-wrs
86517683Spst		os=-vxworks
86617683Spst		;;
86717683Spst	vxworks29k)
86817683Spst		basic_machine=a29k-wrs
86917683Spst		os=-vxworks
87017683Spst		;;
87175107Sfenner	w65*)
87275107Sfenner		basic_machine=w65-wdc
87375107Sfenner		os=-none
87475107Sfenner		;;
87575107Sfenner	w89k-*)
87675107Sfenner		basic_machine=hppa1.1-winbond
87775107Sfenner		os=-proelf
87875107Sfenner		;;
87917683Spst	xmp)
88017683Spst		basic_machine=xmp-cray
88117683Spst		os=-unicos
88217683Spst		;;
88317683Spst        xps | xps100)
88417683Spst		basic_machine=xps100-honeywell
88517683Spst		;;
88675107Sfenner	z8k-*-coff)
88775107Sfenner		basic_machine=z8k-unknown
88875107Sfenner		os=-sim
88975107Sfenner		;;
89017683Spst	none)
89117683Spst		basic_machine=none-none
89217683Spst		os=-none
89317683Spst		;;
89417683Spst
89517683Spst# Here we handle the default manufacturer of certain CPU types.  It is in
89617683Spst# some cases the only manufacturer, in others, it is the most popular.
89775107Sfenner	w89k)
89875107Sfenner		basic_machine=hppa1.1-winbond
89975107Sfenner		;;
90075107Sfenner	op50n)
90175107Sfenner		basic_machine=hppa1.1-oki
90275107Sfenner		;;
90375107Sfenner	op60c)
90475107Sfenner		basic_machine=hppa1.1-oki
90575107Sfenner		;;
90617683Spst	mips)
90775107Sfenner		if [ x$os = x-linux-gnu ]; then
90875107Sfenner			basic_machine=mips-unknown
90975107Sfenner		else
91075107Sfenner			basic_machine=mips-mips
91175107Sfenner		fi
91217683Spst		;;
91317683Spst	romp)
91417683Spst		basic_machine=romp-ibm
91517683Spst		;;
91617683Spst	rs6000)
91717683Spst		basic_machine=rs6000-ibm
91817683Spst		;;
91917683Spst	vax)
92017683Spst		basic_machine=vax-dec
92117683Spst		;;
92217683Spst	pdp11)
92317683Spst		basic_machine=pdp11-dec
92417683Spst		;;
92517683Spst	we32k)
92617683Spst		basic_machine=we32k-att
92717683Spst		;;
92875107Sfenner	sh3 | sh4)
92975107Sfenner		basic_machine=sh-unknown
93075107Sfenner		;;
93175107Sfenner	sparc | sparcv9)
93217683Spst		basic_machine=sparc-sun
93317683Spst		;;
93417683Spst        cydra)
93517683Spst		basic_machine=cydra-cydrome
93617683Spst		;;
93717683Spst	orion)
93817683Spst		basic_machine=orion-highlevel
93917683Spst		;;
94017683Spst	orion105)
94117683Spst		basic_machine=clipper-highlevel
94217683Spst		;;
94375107Sfenner	mac | mpw | mac-mpw)
94475107Sfenner		basic_machine=m68k-apple
94575107Sfenner		;;
94675107Sfenner	pmac | pmac-mpw)
94775107Sfenner		basic_machine=powerpc-apple
94875107Sfenner		;;
94975107Sfenner	c4x*)
95075107Sfenner		basic_machine=c4x-none
95175107Sfenner		os=-coff
95275107Sfenner		;;
95317683Spst	*)
95417683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
95517683Spst		exit 1
95617683Spst		;;
95717683Spstesac
95817683Spst
95917683Spst# Here we canonicalize certain aliases for manufacturers.
96017683Spstcase $basic_machine in
96117683Spst	*-digital*)
96217683Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
96317683Spst		;;
96417683Spst	*-commodore*)
96517683Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
96617683Spst		;;
96717683Spst	*)
96817683Spst		;;
96917683Spstesac
97017683Spst
97117683Spst# Decode manufacturer-specific aliases for certain operating systems.
97217683Spst
97317683Spstif [ x"$os" != x"" ]
97417683Spstthen
97517683Spstcase $os in
97626175Sfenner        # First match some system type aliases
97726175Sfenner        # that might get confused with valid system types.
97817683Spst	# -solaris* is a basic system type, with this one exception.
97917683Spst	-solaris1 | -solaris1.*)
98017683Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
98117683Spst		;;
98217683Spst	-solaris)
98317683Spst		os=-solaris2
98417683Spst		;;
98575107Sfenner	-svr4*)
98617683Spst		os=-sysv4
98717683Spst		;;
98875107Sfenner	-unixware*)
98975107Sfenner		os=-sysv4.2uw
99075107Sfenner		;;
99117683Spst	-gnu/linux*)
99226175Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
99317683Spst		;;
99417683Spst	# First accept the basic system types.
99517683Spst	# The portable systems comes first.
99617683Spst	# Each alternative MUST END IN A *, to match a version number.
99717683Spst	# -sysv* is not here because it comes later, after sysvr4.
99817683Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
99926175Sfenner	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
100017683Spst	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
100175107Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
100275107Sfenner	      | -aos* \
100326175Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
100426175Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
100526175Sfenner	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
100675107Sfenner	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
100717683Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
100826175Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
100975107Sfenner	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
101075107Sfenner	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
101175107Sfenner	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
101275107Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* | -storm-chaos*)
101317683Spst	# Remember, each alternative MUST END IN *, to match a version number.
101417683Spst		;;
101575107Sfenner	-qnx*)
101675107Sfenner		case $basic_machine in
101775107Sfenner		    x86-* | i[34567]86-*)
101875107Sfenner			;;
101975107Sfenner		    *)
102075107Sfenner			os=-nto$os
102175107Sfenner			;;
102275107Sfenner		esac
102375107Sfenner		;;
102475107Sfenner	-nto*)
102575107Sfenner		os=-nto-qnx
102675107Sfenner		;;
102775107Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
102875107Sfenner	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
102975107Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
103075107Sfenner		;;
103175107Sfenner	-mac*)
103275107Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
103375107Sfenner		;;
103426175Sfenner	-linux*)
103526175Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
103626175Sfenner		;;
103717683Spst	-sunos5*)
103817683Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
103917683Spst		;;
104017683Spst	-sunos6*)
104117683Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
104217683Spst		;;
104375107Sfenner	-opened*)
104475107Sfenner		os=-openedition
104575107Sfenner		;;
104675107Sfenner	-wince*)
104775107Sfenner		os=-wince
104875107Sfenner		;;
104917683Spst	-osfrose*)
105017683Spst		os=-osfrose
105117683Spst		;;
105217683Spst	-osf*)
105317683Spst		os=-osf
105417683Spst		;;
105517683Spst	-utek*)
105617683Spst		os=-bsd
105717683Spst		;;
105817683Spst	-dynix*)
105917683Spst		os=-bsd
106017683Spst		;;
106117683Spst	-acis*)
106217683Spst		os=-aos
106317683Spst		;;
106475107Sfenner	-386bsd)
106575107Sfenner		os=-bsd
106675107Sfenner		;;
106717683Spst	-ctix* | -uts*)
106817683Spst		os=-sysv
106917683Spst		;;
107026175Sfenner	-ns2 )
107126175Sfenner	        os=-nextstep2
107226175Sfenner		;;
107375107Sfenner	-nsk*)
107475107Sfenner		os=-nsk
107575107Sfenner		;;
107617683Spst	# Preserve the version number of sinix5.
107717683Spst	-sinix5.*)
107817683Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
107917683Spst		;;
108017683Spst	-sinix*)
108117683Spst		os=-sysv4
108217683Spst		;;
108317683Spst	-triton*)
108417683Spst		os=-sysv3
108517683Spst		;;
108617683Spst	-oss*)
108717683Spst		os=-sysv3
108817683Spst		;;
108917683Spst	-svr4)
109017683Spst		os=-sysv4
109117683Spst		;;
109217683Spst	-svr3)
109317683Spst		os=-sysv3
109417683Spst		;;
109517683Spst	-sysvr4)
109617683Spst		os=-sysv4
109717683Spst		;;
109817683Spst	# This must come after -sysvr4.
109917683Spst	-sysv*)
110017683Spst		;;
110175107Sfenner	-ose*)
110275107Sfenner		os=-ose
110375107Sfenner		;;
110475107Sfenner	-es1800*)
110575107Sfenner		os=-ose
110675107Sfenner		;;
110717683Spst	-xenix)
110817683Spst		os=-xenix
110917683Spst		;;
111075107Sfenner        -*mint | -*MiNT)
111175107Sfenner	        os=-mint
111275107Sfenner		;;
111317683Spst	-none)
111417683Spst		;;
111517683Spst	*)
111617683Spst		# Get rid of the `-' at the beginning of $os.
111717683Spst		os=`echo $os | sed 's/[^-]*-//'`
111817683Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
111917683Spst		exit 1
112017683Spst		;;
112117683Spstesac
112217683Spstelse
112317683Spst
112417683Spst# Here we handle the default operating systems that come with various machines.
112517683Spst# The value should be what the vendor currently ships out the door with their
112617683Spst# machine or put another way, the most popular os provided with the machine.
112717683Spst
112817683Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
112917683Spst# "-sun"), then you have to tell the case statement up towards the top
113017683Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
113117683Spst# will signal an error saying that MANUFACTURER isn't an operating
113217683Spst# system, and we'll never get to this point.
113317683Spst
113417683Spstcase $basic_machine in
113517683Spst	*-acorn)
113617683Spst		os=-riscix1.2
113717683Spst		;;
113875107Sfenner	arm*-rebel)
113975107Sfenner		os=-linux
114075107Sfenner		;;
114117683Spst	arm*-semi)
114217683Spst		os=-aout
114317683Spst		;;
114417683Spst        pdp11-*)
114517683Spst		os=-none
114617683Spst		;;
114717683Spst	*-dec | vax-*)
114817683Spst		os=-ultrix4.2
114917683Spst		;;
115017683Spst	m68*-apollo)
115117683Spst		os=-domain
115217683Spst		;;
115317683Spst	i386-sun)
115417683Spst		os=-sunos4.0.2
115517683Spst		;;
115617683Spst	m68000-sun)
115717683Spst		os=-sunos3
115817683Spst		# This also exists in the configure program, but was not the
115917683Spst		# default.
116017683Spst		# os=-sunos4
116117683Spst		;;
116275107Sfenner	m68*-cisco)
116375107Sfenner		os=-aout
116475107Sfenner		;;
116575107Sfenner	mips*-cisco)
116675107Sfenner		os=-elf
116775107Sfenner		;;
116875107Sfenner	mips*-*)
116975107Sfenner		os=-elf
117075107Sfenner		;;
117117683Spst	*-tti)	# must be before sparc entry or we get the wrong os.
117217683Spst		os=-sysv3
117317683Spst		;;
117417683Spst	sparc-* | *-sun)
117517683Spst		os=-sunos4.1.1
117617683Spst		;;
117775107Sfenner	*-be)
117875107Sfenner		os=-beos
117975107Sfenner		;;
118017683Spst	*-ibm)
118117683Spst		os=-aix
118217683Spst		;;
118375107Sfenner	*-wec)
118475107Sfenner		os=-proelf
118575107Sfenner		;;
118675107Sfenner	*-winbond)
118775107Sfenner		os=-proelf
118875107Sfenner		;;
118975107Sfenner	*-oki)
119075107Sfenner		os=-proelf
119175107Sfenner		;;
119217683Spst	*-hp)
119317683Spst		os=-hpux
119417683Spst		;;
119517683Spst	*-hitachi)
119617683Spst		os=-hiux
119717683Spst		;;
119817683Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
119917683Spst		os=-sysv
120017683Spst		;;
120117683Spst	*-cbm)
120275107Sfenner		os=-amigaos
120317683Spst		;;
120417683Spst	*-dg)
120517683Spst		os=-dgux
120617683Spst		;;
120717683Spst	*-dolphin)
120817683Spst		os=-sysv3
120917683Spst		;;
121017683Spst	m68k-ccur)
121117683Spst		os=-rtu
121217683Spst		;;
121317683Spst	m88k-omron*)
121417683Spst		os=-luna
121517683Spst		;;
121626175Sfenner	*-next )
121726175Sfenner		os=-nextstep
121826175Sfenner		;;
121917683Spst	*-sequent)
122017683Spst		os=-ptx
122117683Spst		;;
122217683Spst	*-crds)
122317683Spst		os=-unos
122417683Spst		;;
122517683Spst	*-ns)
122617683Spst		os=-genix
122717683Spst		;;
122817683Spst	i370-*)
122917683Spst		os=-mvs
123017683Spst		;;
123117683Spst	*-next)
123217683Spst		os=-nextstep3
123317683Spst		;;
123417683Spst        *-gould)
123517683Spst		os=-sysv
123617683Spst		;;
123717683Spst        *-highlevel)
123817683Spst		os=-bsd
123917683Spst		;;
124017683Spst	*-encore)
124117683Spst		os=-bsd
124217683Spst		;;
124317683Spst        *-sgi)
124417683Spst		os=-irix
124517683Spst		;;
124617683Spst        *-siemens)
124717683Spst		os=-sysv4
124817683Spst		;;
124917683Spst	*-masscomp)
125017683Spst		os=-rtu
125117683Spst		;;
125275107Sfenner	f30[01]-fujitsu)
125326175Sfenner		os=-uxpv
125426175Sfenner		;;
125575107Sfenner	*-rom68k)
125675107Sfenner		os=-coff
125775107Sfenner		;;
125875107Sfenner	*-*bug)
125975107Sfenner		os=-coff
126075107Sfenner		;;
126175107Sfenner	*-apple)
126275107Sfenner		os=-macos
126375107Sfenner		;;
126475107Sfenner	*-atari*)
126575107Sfenner		os=-mint
126675107Sfenner		;;
126717683Spst	*)
126817683Spst		os=-none
126917683Spst		;;
127017683Spstesac
127117683Spstfi
127217683Spst
127317683Spst# Here we handle the case where we know the os, and the CPU type, but not the
127417683Spst# manufacturer.  We pick the logical manufacturer.
127517683Spstvendor=unknown
127617683Spstcase $basic_machine in
127717683Spst	*-unknown)
127817683Spst		case $os in
127917683Spst			-riscix*)
128017683Spst				vendor=acorn
128117683Spst				;;
128217683Spst			-sunos*)
128317683Spst				vendor=sun
128417683Spst				;;
128517683Spst			-aix*)
128617683Spst				vendor=ibm
128717683Spst				;;
128875107Sfenner			-beos*)
128975107Sfenner				vendor=be
129075107Sfenner				;;
129117683Spst			-hpux*)
129217683Spst				vendor=hp
129317683Spst				;;
129475107Sfenner			-mpeix*)
129575107Sfenner				vendor=hp
129675107Sfenner				;;
129717683Spst			-hiux*)
129817683Spst				vendor=hitachi
129917683Spst				;;
130017683Spst			-unos*)
130117683Spst				vendor=crds
130217683Spst				;;
130317683Spst			-dgux*)
130417683Spst				vendor=dg
130517683Spst				;;
130617683Spst			-luna*)
130717683Spst				vendor=omron
130817683Spst				;;
130917683Spst			-genix*)
131017683Spst				vendor=ns
131117683Spst				;;
131275107Sfenner			-mvs* | -opened*)
131317683Spst				vendor=ibm
131417683Spst				;;
131517683Spst			-ptx*)
131617683Spst				vendor=sequent
131717683Spst				;;
131826175Sfenner			-vxsim* | -vxworks*)
131917683Spst				vendor=wrs
132017683Spst				;;
132126175Sfenner			-aux*)
132226175Sfenner				vendor=apple
132326175Sfenner				;;
132475107Sfenner			-hms*)
132575107Sfenner				vendor=hitachi
132675107Sfenner				;;
132775107Sfenner			-mpw* | -macos*)
132875107Sfenner				vendor=apple
132975107Sfenner				;;
133075107Sfenner			-*mint | -*MiNT)
133175107Sfenner				vendor=atari
133275107Sfenner				;;
133317683Spst		esac
133417683Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
133517683Spst		;;
133617683Spstesac
133717683Spst
133817683Spstecho $basic_machine$os
133975107Sfennerexit 0
134075107Sfenner
134175107Sfenner# Local variables:
134275107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
134375107Sfenner# time-stamp-start: "timestamp='"
134475107Sfenner# time-stamp-format: "%:y-%02m-%02d"
134575107Sfenner# time-stamp-end: "'"
134675107Sfenner# End:
1347