config.sub revision 98524
117680Spst#! /bin/sh
275115Sfenner# Configuration validation subroutine script.
398524Sfenner#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
475115Sfenner#   Free Software Foundation, Inc.
575115Sfenner
698524Sfennertimestamp='2001-04-20'
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
7298524SfennerCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
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
12098524Sfenner  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*)
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 \
22998524Sfenner		| 1750a | dsp16xx | pdp10 | pdp11 \
23098524Sfenner		| mips16 | mips64 | mipsel | mips64el \
23175115Sfenner		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
23275115Sfenner		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
23398524Sfenner		| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
23498524Sfenner		| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
23598524Sfenner		| v850 | c4x \
23698524Sfenner		| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
23798524Sfenner		| pj | pjl | h8500)
23817680Spst		basic_machine=$basic_machine-unknown
23917680Spst		;;
24075115Sfenner	m6811 | m68hc11 | m6812 | m68hc12)
24175115Sfenner		# Motorola 68HC11/12.
24275115Sfenner		basic_machine=$basic_machine-unknown
24375115Sfenner		os=-none
24475115Sfenner		;;
24598524Sfenner	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
24675115Sfenner		;;
24775115Sfenner
24826180Sfenner	# We use `pc' rather than `unknown'
24926180Sfenner	# because (1) that's what they normally are, and
25026180Sfenner	# (2) the word "unknown" tends to confuse beginning users.
25198524Sfenner	i*86 | x86_64)
25226180Sfenner	  basic_machine=$basic_machine-pc
25326180Sfenner	  ;;
25417680Spst	# Object if more than one company name word.
25517680Spst	*-*-*)
25617680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
25717680Spst		exit 1
25817680Spst		;;
25917680Spst	# Recognize the basic CPU types with company name.
26075115Sfenner	# FIXME: clean up the formatting here.
26198524Sfenner	vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
26275115Sfenner	      | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
26375115Sfenner	      | arm-*  | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
26475115Sfenner	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
26575115Sfenner	      | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
26675115Sfenner	      | xmp-* | ymp-* \
26775115Sfenner	      | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
26875115Sfenner	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
26975115Sfenner	      | hppa2.0n-* | hppa64-* \
27075115Sfenner	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
27175115Sfenner	      | alphaev6[78]-* \
27275115Sfenner	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
27375115Sfenner	      | clipper-* | orion-* \
27498524Sfenner	      | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
27598524Sfenner	      | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
27698524Sfenner	      | mips16-* | mips64-* | mipsel-* \
27775115Sfenner	      | mips64el-* | mips64orion-* | mips64orionel-* \
27875115Sfenner	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
27975115Sfenner	      | mipstx39-* | mipstx39el-* | mcore-* \
28098524Sfenner	      | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
28198524Sfenner	      | [cjt]90-* \
28275115Sfenner	      | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
28398524Sfenner	      | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
28498524Sfenner	      | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
28517680Spst		;;
28617680Spst	# Recognize the various machine names and aliases which stand
28717680Spst	# for a CPU type and a company and sometimes even an OS.
28875115Sfenner	386bsd)
28975115Sfenner		basic_machine=i386-unknown
29075115Sfenner		os=-bsd
29175115Sfenner		;;
29217680Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
29317680Spst		basic_machine=m68000-att
29417680Spst		;;
29517680Spst	3b*)
29617680Spst		basic_machine=we32k-att
29717680Spst		;;
29875115Sfenner	a29khif)
29975115Sfenner		basic_machine=a29k-amd
30075115Sfenner		os=-udi
30175115Sfenner		;;
30275115Sfenner	adobe68k)
30375115Sfenner		basic_machine=m68010-adobe
30475115Sfenner		os=-scout
30575115Sfenner		;;
30617680Spst	alliant | fx80)
30717680Spst		basic_machine=fx80-alliant
30817680Spst		;;
30917680Spst	altos | altos3068)
31017680Spst		basic_machine=m68k-altos
31117680Spst		;;
31217680Spst	am29k)
31317680Spst		basic_machine=a29k-none
31417680Spst		os=-bsd
31517680Spst		;;
31617680Spst	amdahl)
31717680Spst		basic_machine=580-amdahl
31817680Spst		os=-sysv
31917680Spst		;;
32017680Spst	amiga | amiga-*)
32175115Sfenner		basic_machine=m68k-unknown
32217680Spst		;;
32375115Sfenner	amigaos | amigados)
32475115Sfenner		basic_machine=m68k-unknown
32575115Sfenner		os=-amigaos
32617680Spst		;;
32717680Spst	amigaunix | amix)
32875115Sfenner		basic_machine=m68k-unknown
32917680Spst		os=-sysv4
33017680Spst		;;
33117680Spst	apollo68)
33217680Spst		basic_machine=m68k-apollo
33317680Spst		os=-sysv
33417680Spst		;;
33575115Sfenner	apollo68bsd)
33675115Sfenner		basic_machine=m68k-apollo
33775115Sfenner		os=-bsd
33875115Sfenner		;;
33926180Sfenner	aux)
34026180Sfenner		basic_machine=m68k-apple
34126180Sfenner		os=-aux
34226180Sfenner		;;
34317680Spst	balance)
34417680Spst		basic_machine=ns32k-sequent
34517680Spst		os=-dynix
34617680Spst		;;
34717680Spst	convex-c1)
34817680Spst		basic_machine=c1-convex
34917680Spst		os=-bsd
35017680Spst		;;
35117680Spst	convex-c2)
35217680Spst		basic_machine=c2-convex
35317680Spst		os=-bsd
35417680Spst		;;
35517680Spst	convex-c32)
35617680Spst		basic_machine=c32-convex
35717680Spst		os=-bsd
35817680Spst		;;
35917680Spst	convex-c34)
36017680Spst		basic_machine=c34-convex
36117680Spst		os=-bsd
36217680Spst		;;
36317680Spst	convex-c38)
36417680Spst		basic_machine=c38-convex
36517680Spst		os=-bsd
36617680Spst		;;
36717680Spst	cray | ymp)
36817680Spst		basic_machine=ymp-cray
36917680Spst		os=-unicos
37017680Spst		;;
37117680Spst	cray2)
37217680Spst		basic_machine=cray2-cray
37317680Spst		os=-unicos
37417680Spst		;;
37598524Sfenner	[cjt]90)
37698524Sfenner		basic_machine=${basic_machine}-cray
37726180Sfenner		os=-unicos
37826180Sfenner		;;
37917680Spst	crds | unos)
38017680Spst		basic_machine=m68k-crds
38117680Spst		;;
38275115Sfenner	cris | cris-* | etrax*)
38375115Sfenner		basic_machine=cris-axis
38475115Sfenner		;;
38517680Spst	da30 | da30-*)
38617680Spst		basic_machine=m68k-da30
38717680Spst		;;
38817680Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
38917680Spst		basic_machine=mips-dec
39017680Spst		;;
39117680Spst	delta | 3300 | motorola-3300 | motorola-delta \
39217680Spst	      | 3300-motorola | delta-motorola)
39317680Spst		basic_machine=m68k-motorola
39417680Spst		;;
39517680Spst	delta88)
39617680Spst		basic_machine=m88k-motorola
39717680Spst		os=-sysv3
39817680Spst		;;
39917680Spst	dpx20 | dpx20-*)
40017680Spst		basic_machine=rs6000-bull
40117680Spst		os=-bosx
40217680Spst		;;
40317680Spst	dpx2* | dpx2*-bull)
40417680Spst		basic_machine=m68k-bull
40517680Spst		os=-sysv3
40617680Spst		;;
40717680Spst	ebmon29k)
40817680Spst		basic_machine=a29k-amd
40917680Spst		os=-ebmon
41017680Spst		;;
41117680Spst	elxsi)
41217680Spst		basic_machine=elxsi-elxsi
41317680Spst		os=-bsd
41417680Spst		;;
41517680Spst	encore | umax | mmax)
41617680Spst		basic_machine=ns32k-encore
41717680Spst		;;
41875115Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
41975115Sfenner		basic_machine=m68k-ericsson
42075115Sfenner		os=-ose
42175115Sfenner		;;
42217680Spst	fx2800)
42317680Spst		basic_machine=i860-alliant
42417680Spst		;;
42517680Spst	genix)
42617680Spst		basic_machine=ns32k-ns
42717680Spst		;;
42817680Spst	gmicro)
42917680Spst		basic_machine=tron-gmicro
43017680Spst		os=-sysv
43117680Spst		;;
43298524Sfenner	go32)
43398524Sfenner		basic_machine=i386-pc
43498524Sfenner		os=-go32
43598524Sfenner		;;
43617680Spst	h3050r* | hiux*)
43717680Spst		basic_machine=hppa1.1-hitachi
43817680Spst		os=-hiuxwe2
43917680Spst		;;
44017680Spst	h8300hms)
44117680Spst		basic_machine=h8300-hitachi
44217680Spst		os=-hms
44317680Spst		;;
44475115Sfenner	h8300xray)
44575115Sfenner		basic_machine=h8300-hitachi
44675115Sfenner		os=-xray
44775115Sfenner		;;
44875115Sfenner	h8500hms)
44975115Sfenner		basic_machine=h8500-hitachi
45075115Sfenner		os=-hms
45175115Sfenner		;;
45217680Spst	harris)
45317680Spst		basic_machine=m88k-harris
45417680Spst		os=-sysv3
45517680Spst		;;
45617680Spst	hp300-*)
45717680Spst		basic_machine=m68k-hp
45817680Spst		;;
45917680Spst	hp300bsd)
46017680Spst		basic_machine=m68k-hp
46117680Spst		os=-bsd
46217680Spst		;;
46317680Spst	hp300hpux)
46417680Spst		basic_machine=m68k-hp
46517680Spst		os=-hpux
46617680Spst		;;
46775115Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
46875115Sfenner		basic_machine=hppa1.0-hp
46975115Sfenner		;;
47017680Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
47117680Spst		basic_machine=m68000-hp
47217680Spst		;;
47317680Spst	hp9k3[2-9][0-9])
47417680Spst		basic_machine=m68k-hp
47517680Spst		;;
47675115Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
47775115Sfenner		basic_machine=hppa1.0-hp
47875115Sfenner		;;
47975115Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
48017680Spst		basic_machine=hppa1.1-hp
48117680Spst		;;
48275115Sfenner	hp9k78[0-9] | hp78[0-9])
48375115Sfenner		# FIXME: really hppa2.0-hp
48475115Sfenner		basic_machine=hppa1.1-hp
48575115Sfenner		;;
48675115Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
48775115Sfenner		# FIXME: really hppa2.0-hp
48875115Sfenner		basic_machine=hppa1.1-hp
48975115Sfenner		;;
49075115Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
49175115Sfenner		basic_machine=hppa1.1-hp
49275115Sfenner		;;
49317680Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
49417680Spst		basic_machine=hppa1.0-hp
49517680Spst		;;
49626180Sfenner	hppa-next)
49726180Sfenner		os=-nextstep3
49826180Sfenner		;;
49975115Sfenner	hppaosf)
50075115Sfenner		basic_machine=hppa1.1-hp
50175115Sfenner		os=-osf
50275115Sfenner		;;
50375115Sfenner	hppro)
50475115Sfenner		basic_machine=hppa1.1-hp
50575115Sfenner		os=-proelf
50675115Sfenner		;;
50717680Spst	i370-ibm* | ibm*)
50817680Spst		basic_machine=i370-ibm
50917680Spst		;;
51017680Spst# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
51198524Sfenner	i*86v32)
51226180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51317680Spst		os=-sysv32
51417680Spst		;;
51598524Sfenner	i*86v4*)
51626180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
51717680Spst		os=-sysv4
51817680Spst		;;
51998524Sfenner	i*86v)
52026180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
52117680Spst		os=-sysv
52217680Spst		;;
52398524Sfenner	i*86sol2)
52426180Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
52517680Spst		os=-solaris2
52617680Spst		;;
52775115Sfenner	i386mach)
52875115Sfenner		basic_machine=i386-mach
52975115Sfenner		os=-mach
53075115Sfenner		;;
53175115Sfenner	i386-vsta | vsta)
53275115Sfenner		basic_machine=i386-unknown
53375115Sfenner		os=-vsta
53475115Sfenner		;;
53517680Spst	iris | iris4d)
53617680Spst		basic_machine=mips-sgi
53717680Spst		case $os in
53817680Spst		    -irix*)
53917680Spst			;;
54017680Spst		    *)
54117680Spst			os=-irix4
54217680Spst			;;
54317680Spst		esac
54417680Spst		;;
54517680Spst	isi68 | isi)
54617680Spst		basic_machine=m68k-isi
54717680Spst		os=-sysv
54817680Spst		;;
54917680Spst	m88k-omron*)
55017680Spst		basic_machine=m88k-omron
55117680Spst		;;
55217680Spst	magnum | m3230)
55317680Spst		basic_machine=mips-mips
55417680Spst		os=-sysv
55517680Spst		;;
55617680Spst	merlin)
55717680Spst		basic_machine=ns32k-utek
55817680Spst		os=-sysv
55917680Spst		;;
56098524Sfenner	mingw32)
56198524Sfenner		basic_machine=i386-pc
56298524Sfenner		os=-mingw32
56398524Sfenner		;;
56417680Spst	miniframe)
56517680Spst		basic_machine=m68000-convergent
56617680Spst		;;
56775115Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
56875115Sfenner		basic_machine=m68k-atari
56975115Sfenner		os=-mint
57075115Sfenner		;;
57175115Sfenner	mipsel*-linux*)
57275115Sfenner		basic_machine=mipsel-unknown
57375115Sfenner		os=-linux-gnu
57475115Sfenner		;;
57575115Sfenner	mips*-linux*)
57675115Sfenner		basic_machine=mips-unknown
57775115Sfenner		os=-linux-gnu
57875115Sfenner		;;
57917680Spst	mips3*-*)
58017680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
58117680Spst		;;
58217680Spst	mips3*)
58317680Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
58417680Spst		;;
58575115Sfenner	mmix*)
58675115Sfenner		basic_machine=mmix-knuth
58775115Sfenner		os=-mmixware
58875115Sfenner		;;
58975115Sfenner	monitor)
59075115Sfenner		basic_machine=m68k-rom68k
59175115Sfenner		os=-coff
59275115Sfenner		;;
59375115Sfenner	msdos)
59498524Sfenner		basic_machine=i386-pc
59575115Sfenner		os=-msdos
59675115Sfenner		;;
59775115Sfenner	mvs)
59875115Sfenner		basic_machine=i370-ibm
59975115Sfenner		os=-mvs
60075115Sfenner		;;
60117680Spst	ncr3000)
60217680Spst		basic_machine=i486-ncr
60317680Spst		os=-sysv4
60417680Spst		;;
60575115Sfenner	netbsd386)
60675115Sfenner		basic_machine=i386-unknown
60775115Sfenner		os=-netbsd
60875115Sfenner		;;
60975115Sfenner	netwinder)
61075115Sfenner		basic_machine=armv4l-rebel
61175115Sfenner		os=-linux
61275115Sfenner		;;
61317680Spst	news | news700 | news800 | news900)
61417680Spst		basic_machine=m68k-sony
61517680Spst		os=-newsos
61617680Spst		;;
61717680Spst	news1000)
61817680Spst		basic_machine=m68030-sony
61917680Spst		os=-newsos
62017680Spst		;;
62117680Spst	news-3600 | risc-news)
62217680Spst		basic_machine=mips-sony
62317680Spst		os=-newsos
62417680Spst		;;
62575115Sfenner	necv70)
62675115Sfenner		basic_machine=v70-nec
62775115Sfenner		os=-sysv
62875115Sfenner		;;
62917680Spst	next | m*-next )
63017680Spst		basic_machine=m68k-next
63117680Spst		case $os in
63217680Spst		    -nextstep* )
63317680Spst			;;
63417680Spst		    -ns2*)
63517680Spst		      os=-nextstep2
63617680Spst			;;
63717680Spst		    *)
63817680Spst		      os=-nextstep3
63917680Spst			;;
64017680Spst		esac
64117680Spst		;;
64217680Spst	nh3000)
64317680Spst		basic_machine=m68k-harris
64417680Spst		os=-cxux
64517680Spst		;;
64617680Spst	nh[45]000)
64717680Spst		basic_machine=m88k-harris
64817680Spst		os=-cxux
64917680Spst		;;
65017680Spst	nindy960)
65117680Spst		basic_machine=i960-intel
65217680Spst		os=-nindy
65317680Spst		;;
65475115Sfenner	mon960)
65575115Sfenner		basic_machine=i960-intel
65675115Sfenner		os=-mon960
65775115Sfenner		;;
65875115Sfenner	nonstopux)
65975115Sfenner		basic_machine=mips-compaq
66075115Sfenner		os=-nonstopux
66175115Sfenner		;;
66217680Spst	np1)
66317680Spst		basic_machine=np1-gould
66417680Spst		;;
66575115Sfenner	nsr-tandem)
66675115Sfenner		basic_machine=nsr-tandem
66775115Sfenner		;;
66875115Sfenner	op50n-* | op60c-*)
66975115Sfenner		basic_machine=hppa1.1-oki
67075115Sfenner		os=-proelf
67175115Sfenner		;;
67275115Sfenner	OSE68000 | ose68000)
67375115Sfenner		basic_machine=m68000-ericsson
67475115Sfenner		os=-ose
67575115Sfenner		;;
67675115Sfenner	os68k)
67775115Sfenner		basic_machine=m68k-none
67875115Sfenner		os=-os68k
67975115Sfenner		;;
68017680Spst	pa-hitachi)
68117680Spst		basic_machine=hppa1.1-hitachi
68217680Spst		os=-hiuxwe2
68317680Spst		;;
68417680Spst	paragon)
68517680Spst		basic_machine=i860-intel
68617680Spst		os=-osf
68717680Spst		;;
68817680Spst	pbd)
68917680Spst		basic_machine=sparc-tti
69017680Spst		;;
69117680Spst	pbb)
69217680Spst		basic_machine=m68k-tti
69317680Spst		;;
69417680Spst        pc532 | pc532-*)
69517680Spst		basic_machine=ns32k-pc532
69617680Spst		;;
69775115Sfenner	pentium | p5 | k5 | k6 | nexgen)
69875115Sfenner		basic_machine=i586-pc
69917680Spst		;;
70075115Sfenner	pentiumpro | p6 | 6x86 | athlon)
70175115Sfenner		basic_machine=i686-pc
70226180Sfenner		;;
70375115Sfenner	pentiumii | pentium2)
70475115Sfenner		basic_machine=i686-pc
70575115Sfenner		;;
70675115Sfenner	pentium-* | p5-* | k5-* | k6-* | nexgen-*)
70717680Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
70817680Spst		;;
70975115Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
71026180Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71126180Sfenner		;;
71275115Sfenner	pentiumii-* | pentium2-*)
71375115Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
71417680Spst		;;
71517680Spst	pn)
71617680Spst		basic_machine=pn-gould
71717680Spst		;;
71875115Sfenner	power)	basic_machine=power-ibm
71917680Spst		;;
72017680Spst	ppc)	basic_machine=powerpc-unknown
72117680Spst	        ;;
72217680Spst	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
72317680Spst		;;
72417680Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
72517680Spst		basic_machine=powerpcle-unknown
72617680Spst	        ;;
72717680Spst	ppcle-* | powerpclittle-*)
72817680Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
72917680Spst		;;
73017680Spst	ps2)
73117680Spst		basic_machine=i386-ibm
73217680Spst		;;
73398524Sfenner	pw32)
73498524Sfenner		basic_machine=i586-unknown
73598524Sfenner		os=-pw32
73698524Sfenner		;;
73775115Sfenner	rom68k)
73875115Sfenner		basic_machine=m68k-rom68k
73975115Sfenner		os=-coff
74075115Sfenner		;;
74117680Spst	rm[46]00)
74217680Spst		basic_machine=mips-siemens
74317680Spst		;;
74417680Spst	rtpc | rtpc-*)
74517680Spst		basic_machine=romp-ibm
74617680Spst		;;
74775115Sfenner	sa29200)
74875115Sfenner		basic_machine=a29k-amd
74975115Sfenner		os=-udi
75075115Sfenner		;;
75117680Spst	sequent)
75217680Spst		basic_machine=i386-sequent
75317680Spst		;;
75417680Spst	sh)
75517680Spst		basic_machine=sh-hitachi
75617680Spst		os=-hms
75717680Spst		;;
75875115Sfenner	sparclite-wrs)
75975115Sfenner		basic_machine=sparclite-wrs
76075115Sfenner		os=-vxworks
76175115Sfenner		;;
76217680Spst	sps7)
76317680Spst		basic_machine=m68k-bull
76417680Spst		os=-sysv2
76517680Spst		;;
76617680Spst	spur)
76717680Spst		basic_machine=spur-unknown
76817680Spst		;;
76975115Sfenner	st2000)
77075115Sfenner		basic_machine=m68k-tandem
77175115Sfenner		;;
77275115Sfenner	stratus)
77375115Sfenner		basic_machine=i860-stratus
77475115Sfenner		os=-sysv4
77575115Sfenner		;;
77617680Spst	sun2)
77717680Spst		basic_machine=m68000-sun
77817680Spst		;;
77917680Spst	sun2os3)
78017680Spst		basic_machine=m68000-sun
78117680Spst		os=-sunos3
78217680Spst		;;
78317680Spst	sun2os4)
78417680Spst		basic_machine=m68000-sun
78517680Spst		os=-sunos4
78617680Spst		;;
78717680Spst	sun3os3)
78817680Spst		basic_machine=m68k-sun
78917680Spst		os=-sunos3
79017680Spst		;;
79117680Spst	sun3os4)
79217680Spst		basic_machine=m68k-sun
79317680Spst		os=-sunos4
79417680Spst		;;
79517680Spst	sun4os3)
79617680Spst		basic_machine=sparc-sun
79717680Spst		os=-sunos3
79817680Spst		;;
79917680Spst	sun4os4)
80017680Spst		basic_machine=sparc-sun
80117680Spst		os=-sunos4
80217680Spst		;;
80317680Spst	sun4sol2)
80417680Spst		basic_machine=sparc-sun
80517680Spst		os=-solaris2
80617680Spst		;;
80717680Spst	sun3 | sun3-*)
80817680Spst		basic_machine=m68k-sun
80917680Spst		;;
81017680Spst	sun4)
81117680Spst		basic_machine=sparc-sun
81217680Spst		;;
81317680Spst	sun386 | sun386i | roadrunner)
81417680Spst		basic_machine=i386-sun
81517680Spst		;;
81675115Sfenner	sv1)
81775115Sfenner		basic_machine=sv1-cray
81875115Sfenner		os=-unicos
81975115Sfenner		;;
82017680Spst	symmetry)
82117680Spst		basic_machine=i386-sequent
82217680Spst		os=-dynix
82317680Spst		;;
82475115Sfenner	t3e)
82575115Sfenner		basic_machine=t3e-cray
82675115Sfenner		os=-unicos
82775115Sfenner		;;
82875115Sfenner	tic54x | c54x*)
82975115Sfenner		basic_machine=tic54x-unknown
83075115Sfenner		os=-coff
83175115Sfenner		;;
83275115Sfenner	tx39)
83375115Sfenner		basic_machine=mipstx39-unknown
83475115Sfenner		;;
83575115Sfenner	tx39el)
83675115Sfenner		basic_machine=mipstx39el-unknown
83775115Sfenner		;;
83817680Spst	tower | tower-32)
83917680Spst		basic_machine=m68k-ncr
84017680Spst		;;
84117680Spst	udi29k)
84217680Spst		basic_machine=a29k-amd
84317680Spst		os=-udi
84417680Spst		;;
84517680Spst	ultra3)
84617680Spst		basic_machine=a29k-nyu
84717680Spst		os=-sym1
84817680Spst		;;
84975115Sfenner	v810 | necv810)
85075115Sfenner		basic_machine=v810-nec
85175115Sfenner		os=-none
85275115Sfenner		;;
85317680Spst	vaxv)
85417680Spst		basic_machine=vax-dec
85517680Spst		os=-sysv
85617680Spst		;;
85717680Spst	vms)
85817680Spst		basic_machine=vax-dec
85917680Spst		os=-vms
86017680Spst		;;
86175115Sfenner	vpp*|vx|vx-*)
86226180Sfenner               basic_machine=f301-fujitsu
86326180Sfenner               ;;
86417680Spst	vxworks960)
86517680Spst		basic_machine=i960-wrs
86617680Spst		os=-vxworks
86717680Spst		;;
86817680Spst	vxworks68)
86917680Spst		basic_machine=m68k-wrs
87017680Spst		os=-vxworks
87117680Spst		;;
87217680Spst	vxworks29k)
87317680Spst		basic_machine=a29k-wrs
87417680Spst		os=-vxworks
87517680Spst		;;
87675115Sfenner	w65*)
87775115Sfenner		basic_machine=w65-wdc
87875115Sfenner		os=-none
87975115Sfenner		;;
88075115Sfenner	w89k-*)
88175115Sfenner		basic_machine=hppa1.1-winbond
88275115Sfenner		os=-proelf
88375115Sfenner		;;
88417680Spst	xmp)
88517680Spst		basic_machine=xmp-cray
88617680Spst		os=-unicos
88717680Spst		;;
88817680Spst        xps | xps100)
88917680Spst		basic_machine=xps100-honeywell
89017680Spst		;;
89175115Sfenner	z8k-*-coff)
89275115Sfenner		basic_machine=z8k-unknown
89375115Sfenner		os=-sim
89475115Sfenner		;;
89517680Spst	none)
89617680Spst		basic_machine=none-none
89717680Spst		os=-none
89817680Spst		;;
89917680Spst
90017680Spst# Here we handle the default manufacturer of certain CPU types.  It is in
90117680Spst# some cases the only manufacturer, in others, it is the most popular.
90275115Sfenner	w89k)
90375115Sfenner		basic_machine=hppa1.1-winbond
90475115Sfenner		;;
90575115Sfenner	op50n)
90675115Sfenner		basic_machine=hppa1.1-oki
90775115Sfenner		;;
90875115Sfenner	op60c)
90975115Sfenner		basic_machine=hppa1.1-oki
91075115Sfenner		;;
91117680Spst	mips)
91275115Sfenner		if [ x$os = x-linux-gnu ]; then
91375115Sfenner			basic_machine=mips-unknown
91475115Sfenner		else
91575115Sfenner			basic_machine=mips-mips
91675115Sfenner		fi
91717680Spst		;;
91817680Spst	romp)
91917680Spst		basic_machine=romp-ibm
92017680Spst		;;
92117680Spst	rs6000)
92217680Spst		basic_machine=rs6000-ibm
92317680Spst		;;
92417680Spst	vax)
92517680Spst		basic_machine=vax-dec
92617680Spst		;;
92798524Sfenner	pdp10)
92898524Sfenner		# there are many clones, so DEC is not a safe bet
92998524Sfenner		basic_machine=pdp10-unknown
93098524Sfenner		;;
93117680Spst	pdp11)
93217680Spst		basic_machine=pdp11-dec
93317680Spst		;;
93417680Spst	we32k)
93517680Spst		basic_machine=we32k-att
93617680Spst		;;
93775115Sfenner	sh3 | sh4)
93875115Sfenner		basic_machine=sh-unknown
93975115Sfenner		;;
94098524Sfenner	sparc | sparcv9 | sparcv9b)
94117680Spst		basic_machine=sparc-sun
94217680Spst		;;
94317680Spst        cydra)
94417680Spst		basic_machine=cydra-cydrome
94517680Spst		;;
94617680Spst	orion)
94717680Spst		basic_machine=orion-highlevel
94817680Spst		;;
94917680Spst	orion105)
95017680Spst		basic_machine=clipper-highlevel
95117680Spst		;;
95275115Sfenner	mac | mpw | mac-mpw)
95375115Sfenner		basic_machine=m68k-apple
95475115Sfenner		;;
95575115Sfenner	pmac | pmac-mpw)
95675115Sfenner		basic_machine=powerpc-apple
95775115Sfenner		;;
95875115Sfenner	c4x*)
95975115Sfenner		basic_machine=c4x-none
96075115Sfenner		os=-coff
96175115Sfenner		;;
96298524Sfenner	*-unknown)
96398524Sfenner		# Make sure to match an already-canonicalized machine name.
96498524Sfenner		;;
96517680Spst	*)
96617680Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
96717680Spst		exit 1
96817680Spst		;;
96917680Spstesac
97017680Spst
97117680Spst# Here we canonicalize certain aliases for manufacturers.
97217680Spstcase $basic_machine in
97317680Spst	*-digital*)
97417680Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
97517680Spst		;;
97617680Spst	*-commodore*)
97717680Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
97817680Spst		;;
97917680Spst	*)
98017680Spst		;;
98117680Spstesac
98217680Spst
98317680Spst# Decode manufacturer-specific aliases for certain operating systems.
98417680Spst
98517680Spstif [ x"$os" != x"" ]
98617680Spstthen
98717680Spstcase $os in
98826180Sfenner        # First match some system type aliases
98926180Sfenner        # that might get confused with valid system types.
99017680Spst	# -solaris* is a basic system type, with this one exception.
99117680Spst	-solaris1 | -solaris1.*)
99217680Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
99317680Spst		;;
99417680Spst	-solaris)
99517680Spst		os=-solaris2
99617680Spst		;;
99775115Sfenner	-svr4*)
99817680Spst		os=-sysv4
99917680Spst		;;
100075115Sfenner	-unixware*)
100175115Sfenner		os=-sysv4.2uw
100275115Sfenner		;;
100317680Spst	-gnu/linux*)
100426180Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
100517680Spst		;;
100617680Spst	# First accept the basic system types.
100717680Spst	# The portable systems comes first.
100817680Spst	# Each alternative MUST END IN A *, to match a version number.
100917680Spst	# -sysv* is not here because it comes later, after sysvr4.
101017680Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
101126180Sfenner	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
101217680Spst	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
101375115Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
101475115Sfenner	      | -aos* \
101526180Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
101626180Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
101726180Sfenner	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
101875115Sfenner	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
101917680Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
102026180Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
102175115Sfenner	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
102275115Sfenner	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
102375115Sfenner	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
102498524Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
102598524Sfenner	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
102617680Spst	# Remember, each alternative MUST END IN *, to match a version number.
102717680Spst		;;
102875115Sfenner	-qnx*)
102975115Sfenner		case $basic_machine in
103098524Sfenner		    x86-* | i*86-*)
103175115Sfenner			;;
103275115Sfenner		    *)
103375115Sfenner			os=-nto$os
103475115Sfenner			;;
103575115Sfenner		esac
103675115Sfenner		;;
103775115Sfenner	-nto*)
103875115Sfenner		os=-nto-qnx
103975115Sfenner		;;
104075115Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
104175115Sfenner	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
104275115Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
104375115Sfenner		;;
104475115Sfenner	-mac*)
104575115Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
104675115Sfenner		;;
104726180Sfenner	-linux*)
104826180Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
104926180Sfenner		;;
105017680Spst	-sunos5*)
105117680Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
105217680Spst		;;
105317680Spst	-sunos6*)
105417680Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
105517680Spst		;;
105675115Sfenner	-opened*)
105775115Sfenner		os=-openedition
105875115Sfenner		;;
105975115Sfenner	-wince*)
106075115Sfenner		os=-wince
106175115Sfenner		;;
106217680Spst	-osfrose*)
106317680Spst		os=-osfrose
106417680Spst		;;
106517680Spst	-osf*)
106617680Spst		os=-osf
106717680Spst		;;
106817680Spst	-utek*)
106917680Spst		os=-bsd
107017680Spst		;;
107117680Spst	-dynix*)
107217680Spst		os=-bsd
107317680Spst		;;
107417680Spst	-acis*)
107517680Spst		os=-aos
107617680Spst		;;
107775115Sfenner	-386bsd)
107875115Sfenner		os=-bsd
107975115Sfenner		;;
108017680Spst	-ctix* | -uts*)
108117680Spst		os=-sysv
108217680Spst		;;
108326180Sfenner	-ns2 )
108426180Sfenner	        os=-nextstep2
108526180Sfenner		;;
108675115Sfenner	-nsk*)
108775115Sfenner		os=-nsk
108875115Sfenner		;;
108917680Spst	# Preserve the version number of sinix5.
109017680Spst	-sinix5.*)
109117680Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
109217680Spst		;;
109317680Spst	-sinix*)
109417680Spst		os=-sysv4
109517680Spst		;;
109617680Spst	-triton*)
109717680Spst		os=-sysv3
109817680Spst		;;
109917680Spst	-oss*)
110017680Spst		os=-sysv3
110117680Spst		;;
110217680Spst	-svr4)
110317680Spst		os=-sysv4
110417680Spst		;;
110517680Spst	-svr3)
110617680Spst		os=-sysv3
110717680Spst		;;
110817680Spst	-sysvr4)
110917680Spst		os=-sysv4
111017680Spst		;;
111117680Spst	# This must come after -sysvr4.
111217680Spst	-sysv*)
111317680Spst		;;
111475115Sfenner	-ose*)
111575115Sfenner		os=-ose
111675115Sfenner		;;
111775115Sfenner	-es1800*)
111875115Sfenner		os=-ose
111975115Sfenner		;;
112017680Spst	-xenix)
112117680Spst		os=-xenix
112217680Spst		;;
112398524Sfenner        -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
112475115Sfenner	        os=-mint
112575115Sfenner		;;
112617680Spst	-none)
112717680Spst		;;
112817680Spst	*)
112917680Spst		# Get rid of the `-' at the beginning of $os.
113017680Spst		os=`echo $os | sed 's/[^-]*-//'`
113117680Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
113217680Spst		exit 1
113317680Spst		;;
113417680Spstesac
113517680Spstelse
113617680Spst
113717680Spst# Here we handle the default operating systems that come with various machines.
113817680Spst# The value should be what the vendor currently ships out the door with their
113917680Spst# machine or put another way, the most popular os provided with the machine.
114017680Spst
114117680Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
114217680Spst# "-sun"), then you have to tell the case statement up towards the top
114317680Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
114417680Spst# will signal an error saying that MANUFACTURER isn't an operating
114517680Spst# system, and we'll never get to this point.
114617680Spst
114717680Spstcase $basic_machine in
114817680Spst	*-acorn)
114917680Spst		os=-riscix1.2
115017680Spst		;;
115175115Sfenner	arm*-rebel)
115275115Sfenner		os=-linux
115375115Sfenner		;;
115417680Spst	arm*-semi)
115517680Spst		os=-aout
115617680Spst		;;
115798524Sfenner	pdp10-*)
115898524Sfenner		os=-tops20
115998524Sfenner		;;
116017680Spst        pdp11-*)
116117680Spst		os=-none
116217680Spst		;;
116317680Spst	*-dec | vax-*)
116417680Spst		os=-ultrix4.2
116517680Spst		;;
116617680Spst	m68*-apollo)
116717680Spst		os=-domain
116817680Spst		;;
116917680Spst	i386-sun)
117017680Spst		os=-sunos4.0.2
117117680Spst		;;
117217680Spst	m68000-sun)
117317680Spst		os=-sunos3
117417680Spst		# This also exists in the configure program, but was not the
117517680Spst		# default.
117617680Spst		# os=-sunos4
117717680Spst		;;
117875115Sfenner	m68*-cisco)
117975115Sfenner		os=-aout
118075115Sfenner		;;
118175115Sfenner	mips*-cisco)
118275115Sfenner		os=-elf
118375115Sfenner		;;
118475115Sfenner	mips*-*)
118575115Sfenner		os=-elf
118675115Sfenner		;;
118717680Spst	*-tti)	# must be before sparc entry or we get the wrong os.
118817680Spst		os=-sysv3
118917680Spst		;;
119017680Spst	sparc-* | *-sun)
119117680Spst		os=-sunos4.1.1
119217680Spst		;;
119375115Sfenner	*-be)
119475115Sfenner		os=-beos
119575115Sfenner		;;
119617680Spst	*-ibm)
119717680Spst		os=-aix
119817680Spst		;;
119975115Sfenner	*-wec)
120075115Sfenner		os=-proelf
120175115Sfenner		;;
120275115Sfenner	*-winbond)
120375115Sfenner		os=-proelf
120475115Sfenner		;;
120575115Sfenner	*-oki)
120675115Sfenner		os=-proelf
120775115Sfenner		;;
120817680Spst	*-hp)
120917680Spst		os=-hpux
121017680Spst		;;
121117680Spst	*-hitachi)
121217680Spst		os=-hiux
121317680Spst		;;
121417680Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
121517680Spst		os=-sysv
121617680Spst		;;
121717680Spst	*-cbm)
121875115Sfenner		os=-amigaos
121917680Spst		;;
122017680Spst	*-dg)
122117680Spst		os=-dgux
122217680Spst		;;
122317680Spst	*-dolphin)
122417680Spst		os=-sysv3
122517680Spst		;;
122617680Spst	m68k-ccur)
122717680Spst		os=-rtu
122817680Spst		;;
122917680Spst	m88k-omron*)
123017680Spst		os=-luna
123117680Spst		;;
123226180Sfenner	*-next )
123326180Sfenner		os=-nextstep
123426180Sfenner		;;
123517680Spst	*-sequent)
123617680Spst		os=-ptx
123717680Spst		;;
123817680Spst	*-crds)
123917680Spst		os=-unos
124017680Spst		;;
124117680Spst	*-ns)
124217680Spst		os=-genix
124317680Spst		;;
124417680Spst	i370-*)
124517680Spst		os=-mvs
124617680Spst		;;
124717680Spst	*-next)
124817680Spst		os=-nextstep3
124917680Spst		;;
125017680Spst        *-gould)
125117680Spst		os=-sysv
125217680Spst		;;
125317680Spst        *-highlevel)
125417680Spst		os=-bsd
125517680Spst		;;
125617680Spst	*-encore)
125717680Spst		os=-bsd
125817680Spst		;;
125917680Spst        *-sgi)
126017680Spst		os=-irix
126117680Spst		;;
126217680Spst        *-siemens)
126317680Spst		os=-sysv4
126417680Spst		;;
126517680Spst	*-masscomp)
126617680Spst		os=-rtu
126717680Spst		;;
126898524Sfenner	f30[01]-fujitsu | f700-fujitsu)
126926180Sfenner		os=-uxpv
127026180Sfenner		;;
127175115Sfenner	*-rom68k)
127275115Sfenner		os=-coff
127375115Sfenner		;;
127475115Sfenner	*-*bug)
127575115Sfenner		os=-coff
127675115Sfenner		;;
127775115Sfenner	*-apple)
127875115Sfenner		os=-macos
127975115Sfenner		;;
128075115Sfenner	*-atari*)
128175115Sfenner		os=-mint
128275115Sfenner		;;
128317680Spst	*)
128417680Spst		os=-none
128517680Spst		;;
128617680Spstesac
128717680Spstfi
128817680Spst
128917680Spst# Here we handle the case where we know the os, and the CPU type, but not the
129017680Spst# manufacturer.  We pick the logical manufacturer.
129117680Spstvendor=unknown
129217680Spstcase $basic_machine in
129317680Spst	*-unknown)
129417680Spst		case $os in
129517680Spst			-riscix*)
129617680Spst				vendor=acorn
129717680Spst				;;
129817680Spst			-sunos*)
129917680Spst				vendor=sun
130017680Spst				;;
130117680Spst			-aix*)
130217680Spst				vendor=ibm
130317680Spst				;;
130475115Sfenner			-beos*)
130575115Sfenner				vendor=be
130675115Sfenner				;;
130717680Spst			-hpux*)
130817680Spst				vendor=hp
130917680Spst				;;
131075115Sfenner			-mpeix*)
131175115Sfenner				vendor=hp
131275115Sfenner				;;
131317680Spst			-hiux*)
131417680Spst				vendor=hitachi
131517680Spst				;;
131617680Spst			-unos*)
131717680Spst				vendor=crds
131817680Spst				;;
131917680Spst			-dgux*)
132017680Spst				vendor=dg
132117680Spst				;;
132217680Spst			-luna*)
132317680Spst				vendor=omron
132417680Spst				;;
132517680Spst			-genix*)
132617680Spst				vendor=ns
132717680Spst				;;
132875115Sfenner			-mvs* | -opened*)
132917680Spst				vendor=ibm
133017680Spst				;;
133117680Spst			-ptx*)
133217680Spst				vendor=sequent
133317680Spst				;;
133426180Sfenner			-vxsim* | -vxworks*)
133517680Spst				vendor=wrs
133617680Spst				;;
133726180Sfenner			-aux*)
133826180Sfenner				vendor=apple
133926180Sfenner				;;
134075115Sfenner			-hms*)
134175115Sfenner				vendor=hitachi
134275115Sfenner				;;
134375115Sfenner			-mpw* | -macos*)
134475115Sfenner				vendor=apple
134575115Sfenner				;;
134698524Sfenner			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
134775115Sfenner				vendor=atari
134875115Sfenner				;;
134917680Spst		esac
135017680Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
135117680Spst		;;
135217680Spstesac
135317680Spst
135417680Spstecho $basic_machine$os
135575115Sfennerexit 0
135675115Sfenner
135775115Sfenner# Local variables:
135875115Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
135975115Sfenner# time-stamp-start: "timestamp='"
136075115Sfenner# time-stamp-format: "%:y-%02m-%02d"
136175115Sfenner# time-stamp-end: "'"
136275115Sfenner# End:
1363