config.sub revision 126274
198937Sdes#! /bin/sh
298937Sdes# Configuration validation subroutine script.
3106121Sdes#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4106121Sdes#   2000, 2001, 2002 Free Software Foundation, Inc.
598937Sdes
6106121Sdestimestamp='2002-07-03'
798937Sdes
898937Sdes# This file is (in principle) common to ALL GNU software.
998937Sdes# The presence of a machine in this file suggests that SOME GNU software
1098937Sdes# can handle that machine.  It does not imply ALL GNU software can.
1198937Sdes#
1298937Sdes# This file is free software; you can redistribute it and/or modify
1398937Sdes# it under the terms of the GNU General Public License as published by
1498937Sdes# the Free Software Foundation; either version 2 of the License, or
1598937Sdes# (at your option) any later version.
1698937Sdes#
1798937Sdes# This program is distributed in the hope that it will be useful,
1898937Sdes# but WITHOUT ANY WARRANTY; without even the implied warranty of
1998937Sdes# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2098937Sdes# GNU General Public License for more details.
2198937Sdes#
2298937Sdes# You should have received a copy of the GNU General Public License
2398937Sdes# along with this program; if not, write to the Free Software
2498937Sdes# Foundation, Inc., 59 Temple Place - Suite 330,
2598937Sdes# Boston, MA 02111-1307, USA.
2698937Sdes
2798937Sdes# As a special exception to the GNU General Public License, if you
2898937Sdes# distribute this file as part of a program that contains a
2998937Sdes# configuration script generated by Autoconf, you may include it under
3098937Sdes# the same distribution terms that you use for the rest of that program.
3198937Sdes
32106121Sdes# Please send patches to <config-patches@gnu.org>.  Submit a context
33106121Sdes# diff and a properly formatted ChangeLog entry.
3498937Sdes#
3598937Sdes# Configuration subroutine to validate and canonicalize a configuration type.
3698937Sdes# Supply the specified configuration type as an argument.
3798937Sdes# If it is invalid, we print an error message on stderr and exit with code 1.
3898937Sdes# Otherwise, we print the canonical config type on stdout and succeed.
3998937Sdes
4098937Sdes# This file is supposed to be the same for all GNU packages
4198937Sdes# and recognize all the CPU types, system types and aliases
4298937Sdes# that are meaningful with *any* GNU software.
4398937Sdes# Each package is responsible for reporting which valid configurations
4498937Sdes# it does not support.  The user should be able to distinguish
4598937Sdes# a failure to support a valid configuration from a meaningless
4698937Sdes# configuration.
4798937Sdes
4898937Sdes# The goal of this file is to map all the various variations of a given
4998937Sdes# machine specification into a single specification in the form:
5098937Sdes#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5198937Sdes# or in some cases, the newer four-part form:
5298937Sdes#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5398937Sdes# It is wrong to echo any other type of specification.
5498937Sdes
5598937Sdesme=`echo "$0" | sed -e 's,.*/,,'`
5698937Sdes
5798937Sdesusage="\
5898937SdesUsage: $0 [OPTION] CPU-MFR-OPSYS
5998937Sdes       $0 [OPTION] ALIAS
6098937Sdes
6198937SdesCanonicalize a configuration name.
6298937Sdes
6398937SdesOperation modes:
6498937Sdes  -h, --help         print this help, then exit
6598937Sdes  -t, --time-stamp   print date of last modification, then exit
6698937Sdes  -v, --version      print version number, then exit
6798937Sdes
6898937SdesReport bugs and patches to <config-patches@gnu.org>."
6998937Sdes
7098937Sdesversion="\
7198937SdesGNU config.sub ($timestamp)
7298937Sdes
7398937SdesCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
7498937SdesFree Software Foundation, Inc.
7598937Sdes
7698937SdesThis is free software; see the source for copying conditions.  There is NO
7798937Sdeswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7898937Sdes
7998937Sdeshelp="
8098937SdesTry \`$me --help' for more information."
8198937Sdes
8298937Sdes# Parse command line
8398937Sdeswhile test $# -gt 0 ; do
8498937Sdes  case $1 in
8598937Sdes    --time-stamp | --time* | -t )
8698937Sdes       echo "$timestamp" ; exit 0 ;;
8798937Sdes    --version | -v )
8898937Sdes       echo "$version" ; exit 0 ;;
8998937Sdes    --help | --h* | -h )
9098937Sdes       echo "$usage"; exit 0 ;;
9198937Sdes    -- )     # Stop option processing
9298937Sdes       shift; break ;;
9398937Sdes    - )	# Use stdin as input.
9498937Sdes       break ;;
9598937Sdes    -* )
9698937Sdes       echo "$me: invalid option $1$help"
9798937Sdes       exit 1 ;;
9898937Sdes
9998937Sdes    *local*)
10098937Sdes       # First pass through any local machine types.
10198937Sdes       echo $1
10298937Sdes       exit 0;;
10398937Sdes
10498937Sdes    * )
10598937Sdes       break ;;
10698937Sdes  esac
10798937Sdesdone
10898937Sdes
10998937Sdescase $# in
11098937Sdes 0) echo "$me: missing argument$help" >&2
11198937Sdes    exit 1;;
11298937Sdes 1) ;;
11398937Sdes *) echo "$me: too many arguments$help" >&2
11498937Sdes    exit 1;;
11598937Sdesesac
11698937Sdes
11798937Sdes# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11898937Sdes# Here we must recognize all the valid KERNEL-OS combinations.
11998937Sdesmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12098937Sdescase $maybe_os in
121106121Sdes  nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
12298937Sdes    os=-$maybe_os
12398937Sdes    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12498937Sdes    ;;
12598937Sdes  *)
12698937Sdes    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
12798937Sdes    if [ $basic_machine != $1 ]
12898937Sdes    then os=`echo $1 | sed 's/.*-/-/'`
12998937Sdes    else os=; fi
13098937Sdes    ;;
13198937Sdesesac
13298937Sdes
13398937Sdes### Let's recognize common machines as not being operating systems so
13498937Sdes### that things like config.sub decstation-3100 work.  We also
13598937Sdes### recognize some manufacturers as not being operating systems, so we
13698937Sdes### can provide default operating systems below.
13798937Sdescase $os in
13898937Sdes	-sun*os*)
13998937Sdes		# Prevent following clause from handling this invalid input.
14098937Sdes		;;
14198937Sdes	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14298937Sdes	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14398937Sdes	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14498937Sdes	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14598937Sdes	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
14698937Sdes	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
14798937Sdes	-apple | -axis)
14898937Sdes		os=
14998937Sdes		basic_machine=$1
15098937Sdes		;;
15198937Sdes	-sim | -cisco | -oki | -wec | -winbond)
15298937Sdes		os=
15398937Sdes		basic_machine=$1
15498937Sdes		;;
15598937Sdes	-scout)
15698937Sdes		;;
15798937Sdes	-wrs)
15898937Sdes		os=-vxworks
15998937Sdes		basic_machine=$1
16098937Sdes		;;
161106121Sdes	-chorusos*)
162106121Sdes		os=-chorusos
163106121Sdes		basic_machine=$1
164106121Sdes		;;
165126274Sdes	-chorusrdb)
166126274Sdes		os=-chorusrdb
167106121Sdes		basic_machine=$1
168126274Sdes		;;
16998937Sdes	-hiux*)
17098937Sdes		os=-hiuxwe2
17198937Sdes		;;
17298937Sdes	-sco5)
17398937Sdes		os=-sco3.2v5
17498937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17598937Sdes		;;
17698937Sdes	-sco4)
17798937Sdes		os=-sco3.2v4
17898937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17998937Sdes		;;
18098937Sdes	-sco3.2.[4-9]*)
18198937Sdes		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
18298937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18398937Sdes		;;
18498937Sdes	-sco3.2v[4-9]*)
18598937Sdes		# Don't forget version if it is 3.2v4 or newer.
18698937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18798937Sdes		;;
18898937Sdes	-sco*)
18998937Sdes		os=-sco3.2v2
19098937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19198937Sdes		;;
19298937Sdes	-udk*)
19398937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19498937Sdes		;;
19598937Sdes	-isc)
19698937Sdes		os=-isc2.2
19798937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19898937Sdes		;;
19998937Sdes	-clix*)
20098937Sdes		basic_machine=clipper-intergraph
20198937Sdes		;;
20298937Sdes	-isc*)
20398937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20498937Sdes		;;
20598937Sdes	-lynx*)
20698937Sdes		os=-lynxos
20798937Sdes		;;
20898937Sdes	-ptx*)
20998937Sdes		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
21098937Sdes		;;
21198937Sdes	-windowsnt*)
21298937Sdes		os=`echo $os | sed -e 's/windowsnt/winnt/'`
21398937Sdes		;;
21498937Sdes	-psos*)
21598937Sdes		os=-psos
21698937Sdes		;;
21798937Sdes	-mint | -mint[0-9]*)
21898937Sdes		basic_machine=m68k-atari
21998937Sdes		os=-mint
22098937Sdes		;;
22198937Sdesesac
22298937Sdes
22398937Sdes# Decode aliases for certain CPU-COMPANY combinations.
22498937Sdescase $basic_machine in
22598937Sdes	# Recognize the basic CPU types without company name.
22698937Sdes	# Some are omitted here because they have special meanings below.
227106121Sdes	1750a | 580 \
228106121Sdes	| a29k \
229106121Sdes	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
230106121Sdes	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
231106121Sdes	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
232106121Sdes	| c4x | clipper \
233106121Sdes	| d10v | d30v | dlx | dsp16xx \
234106121Sdes	| fr30 | frv \
235106121Sdes	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
236106121Sdes	| i370 | i860 | i960 | ia64 \
237106121Sdes	| ip2k \
238106121Sdes	| m32r | m68000 | m68k | m88k | mcore \
239106121Sdes	| mips | mipsbe | mipseb | mipsel | mipsle \
240106121Sdes	| mips16 \
241106121Sdes	| mips64 | mips64el \
242106121Sdes	| mips64orion | mips64orionel \
243106121Sdes	| mips64vr4100 | mips64vr4100el \
244106121Sdes	| mips64vr4300 | mips64vr4300el \
245106121Sdes	| mips64vr5000 | mips64vr5000el \
246106121Sdes	| mipsisa32 | mipsisa32el \
247106121Sdes	| mipsisa64 | mipsisa64el \
248106121Sdes	| mipsisa64sb1 | mipsisa64sb1el \
249106121Sdes	| mipstx39 | mipstx39el \
250106121Sdes	| mn10200 | mn10300 \
251106121Sdes	| ns16k | ns32k \
252106121Sdes	| openrisc | or32 \
253106121Sdes	| pdp10 | pdp11 | pj | pjl \
254106121Sdes	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
255106121Sdes	| pyramid \
256106121Sdes	| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
257106121Sdes	| sh64 | sh64le \
258106121Sdes	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
259106121Sdes	| strongarm \
260106121Sdes	| tahoe | thumb | tic80 | tron \
261106121Sdes	| v850 | v850e \
262106121Sdes	| we32k \
263106121Sdes	| x86 | xscale | xstormy16 | xtensa \
264106121Sdes	| z8k)
26598937Sdes		basic_machine=$basic_machine-unknown
26698937Sdes		;;
26798937Sdes	m6811 | m68hc11 | m6812 | m68hc12)
26898937Sdes		# Motorola 68HC11/12.
26998937Sdes		basic_machine=$basic_machine-unknown
27098937Sdes		os=-none
27198937Sdes		;;
272106121Sdes	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
27398937Sdes		;;
27498937Sdes
27598937Sdes	# We use `pc' rather than `unknown'
27698937Sdes	# because (1) that's what they normally are, and
27798937Sdes	# (2) the word "unknown" tends to confuse beginning users.
27898937Sdes	i*86 | x86_64)
27998937Sdes	  basic_machine=$basic_machine-pc
28098937Sdes	  ;;
28198937Sdes	# Object if more than one company name word.
28298937Sdes	*-*-*)
28398937Sdes		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
28498937Sdes		exit 1
28598937Sdes		;;
28698937Sdes	# Recognize the basic CPU types with company name.
287106121Sdes	580-* \
288106121Sdes	| a29k-* \
289106121Sdes	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
290106121Sdes	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
291106121Sdes	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
292106121Sdes	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
293106121Sdes	| avr-* \
294106121Sdes	| bs2000-* \
295106121Sdes	| c[123]* | c30-* | [cjt]90-* | c54x-* \
296106121Sdes	| clipper-* | cydra-* \
297106121Sdes	| d10v-* | d30v-* | dlx-* \
298106121Sdes	| elxsi-* \
299106121Sdes	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
300106121Sdes	| h8300-* | h8500-* \
301106121Sdes	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
302106121Sdes	| i*86-* | i860-* | i960-* | ia64-* \
303106121Sdes	| ip2k-* \
304106121Sdes	| m32r-* \
305106121Sdes	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
306106121Sdes	| m88110-* | m88k-* | mcore-* \
307106121Sdes	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
308106121Sdes	| mips16-* \
309106121Sdes	| mips64-* | mips64el-* \
310106121Sdes	| mips64orion-* | mips64orionel-* \
311106121Sdes	| mips64vr4100-* | mips64vr4100el-* \
312106121Sdes	| mips64vr4300-* | mips64vr4300el-* \
313106121Sdes	| mips64vr5000-* | mips64vr5000el-* \
314106121Sdes	| mipsisa32-* | mipsisa32el-* \
315106121Sdes	| mipsisa64-* | mipsisa64el-* \
316106121Sdes	| mipsisa64sb1-* | mipsisa64sb1el-* \
317106121Sdes	| mipstx39 | mipstx39el \
318113908Sdes	| none-* | np1-* | ns16k-* | ns32k-* | nv1-* \
319106121Sdes	| orion-* \
320106121Sdes	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
321106121Sdes	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
322106121Sdes	| pyramid-* \
323106121Sdes	| romp-* | rs6000-* \
324106121Sdes	| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
325106121Sdes	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
326106121Sdes	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
327106121Sdes	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
328106121Sdes	| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
329106121Sdes	| v850-* | v850e-* | vax-* \
330106121Sdes	| we32k-* \
331106121Sdes	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
332106121Sdes	| xtensa-* \
333106121Sdes	| ymp-* \
334106121Sdes	| z8k-*)
33598937Sdes		;;
33698937Sdes	# Recognize the various machine names and aliases which stand
33798937Sdes	# for a CPU type and a company and sometimes even an OS.
33898937Sdes	386bsd)
33998937Sdes		basic_machine=i386-unknown
34098937Sdes		os=-bsd
34198937Sdes		;;
34298937Sdes	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
34398937Sdes		basic_machine=m68000-att
34498937Sdes		;;
34598937Sdes	3b*)
34698937Sdes		basic_machine=we32k-att
34798937Sdes		;;
34898937Sdes	a29khif)
34998937Sdes		basic_machine=a29k-amd
35098937Sdes		os=-udi
35198937Sdes		;;
35298937Sdes	adobe68k)
35398937Sdes		basic_machine=m68010-adobe
35498937Sdes		os=-scout
35598937Sdes		;;
35698937Sdes	alliant | fx80)
35798937Sdes		basic_machine=fx80-alliant
35898937Sdes		;;
35998937Sdes	altos | altos3068)
36098937Sdes		basic_machine=m68k-altos
36198937Sdes		;;
36298937Sdes	am29k)
36398937Sdes		basic_machine=a29k-none
36498937Sdes		os=-bsd
36598937Sdes		;;
36698937Sdes	amdahl)
36798937Sdes		basic_machine=580-amdahl
36898937Sdes		os=-sysv
36998937Sdes		;;
37098937Sdes	amiga | amiga-*)
37198937Sdes		basic_machine=m68k-unknown
37298937Sdes		;;
37398937Sdes	amigaos | amigados)
37498937Sdes		basic_machine=m68k-unknown
37598937Sdes		os=-amigaos
37698937Sdes		;;
37798937Sdes	amigaunix | amix)
37898937Sdes		basic_machine=m68k-unknown
37998937Sdes		os=-sysv4
38098937Sdes		;;
38198937Sdes	apollo68)
38298937Sdes		basic_machine=m68k-apollo
38398937Sdes		os=-sysv
38498937Sdes		;;
38598937Sdes	apollo68bsd)
38698937Sdes		basic_machine=m68k-apollo
38798937Sdes		os=-bsd
38898937Sdes		;;
38998937Sdes	aux)
39098937Sdes		basic_machine=m68k-apple
39198937Sdes		os=-aux
39298937Sdes		;;
39398937Sdes	balance)
39498937Sdes		basic_machine=ns32k-sequent
39598937Sdes		os=-dynix
39698937Sdes		;;
397106121Sdes	c90)
398106121Sdes		basic_machine=c90-cray
399106121Sdes		os=-unicos
400106121Sdes		;;
40198937Sdes	convex-c1)
40298937Sdes		basic_machine=c1-convex
40398937Sdes		os=-bsd
40498937Sdes		;;
40598937Sdes	convex-c2)
40698937Sdes		basic_machine=c2-convex
40798937Sdes		os=-bsd
40898937Sdes		;;
40998937Sdes	convex-c32)
41098937Sdes		basic_machine=c32-convex
41198937Sdes		os=-bsd
41298937Sdes		;;
41398937Sdes	convex-c34)
41498937Sdes		basic_machine=c34-convex
41598937Sdes		os=-bsd
41698937Sdes		;;
41798937Sdes	convex-c38)
41898937Sdes		basic_machine=c38-convex
41998937Sdes		os=-bsd
42098937Sdes		;;
421106121Sdes	cray | j90)
422106121Sdes		basic_machine=j90-cray
42398937Sdes		os=-unicos
42498937Sdes		;;
42598937Sdes	crds | unos)
42698937Sdes		basic_machine=m68k-crds
42798937Sdes		;;
42898937Sdes	cris | cris-* | etrax*)
42998937Sdes		basic_machine=cris-axis
43098937Sdes		;;
43198937Sdes	da30 | da30-*)
43298937Sdes		basic_machine=m68k-da30
43398937Sdes		;;
43498937Sdes	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
43598937Sdes		basic_machine=mips-dec
43698937Sdes		;;
437106121Sdes	decsystem10* | dec10*)
438106121Sdes		basic_machine=pdp10-dec
439106121Sdes		os=-tops10
440106121Sdes		;;
441106121Sdes	decsystem20* | dec20*)
442106121Sdes		basic_machine=pdp10-dec
443106121Sdes		os=-tops20
444106121Sdes		;;
44598937Sdes	delta | 3300 | motorola-3300 | motorola-delta \
44698937Sdes	      | 3300-motorola | delta-motorola)
44798937Sdes		basic_machine=m68k-motorola
44898937Sdes		;;
44998937Sdes	delta88)
45098937Sdes		basic_machine=m88k-motorola
45198937Sdes		os=-sysv3
45298937Sdes		;;
45398937Sdes	dpx20 | dpx20-*)
45498937Sdes		basic_machine=rs6000-bull
45598937Sdes		os=-bosx
45698937Sdes		;;
45798937Sdes	dpx2* | dpx2*-bull)
45898937Sdes		basic_machine=m68k-bull
45998937Sdes		os=-sysv3
46098937Sdes		;;
46198937Sdes	ebmon29k)
46298937Sdes		basic_machine=a29k-amd
46398937Sdes		os=-ebmon
46498937Sdes		;;
46598937Sdes	elxsi)
46698937Sdes		basic_machine=elxsi-elxsi
46798937Sdes		os=-bsd
46898937Sdes		;;
46998937Sdes	encore | umax | mmax)
47098937Sdes		basic_machine=ns32k-encore
47198937Sdes		;;
47298937Sdes	es1800 | OSE68k | ose68k | ose | OSE)
47398937Sdes		basic_machine=m68k-ericsson
47498937Sdes		os=-ose
47598937Sdes		;;
47698937Sdes	fx2800)
47798937Sdes		basic_machine=i860-alliant
47898937Sdes		;;
47998937Sdes	genix)
48098937Sdes		basic_machine=ns32k-ns
48198937Sdes		;;
48298937Sdes	gmicro)
48398937Sdes		basic_machine=tron-gmicro
48498937Sdes		os=-sysv
48598937Sdes		;;
48698937Sdes	go32)
48798937Sdes		basic_machine=i386-pc
48898937Sdes		os=-go32
48998937Sdes		;;
49098937Sdes	h3050r* | hiux*)
49198937Sdes		basic_machine=hppa1.1-hitachi
49298937Sdes		os=-hiuxwe2
49398937Sdes		;;
49498937Sdes	h8300hms)
49598937Sdes		basic_machine=h8300-hitachi
49698937Sdes		os=-hms
49798937Sdes		;;
49898937Sdes	h8300xray)
49998937Sdes		basic_machine=h8300-hitachi
50098937Sdes		os=-xray
50198937Sdes		;;
50298937Sdes	h8500hms)
50398937Sdes		basic_machine=h8500-hitachi
50498937Sdes		os=-hms
50598937Sdes		;;
50698937Sdes	harris)
50798937Sdes		basic_machine=m88k-harris
50898937Sdes		os=-sysv3
50998937Sdes		;;
51098937Sdes	hp300-*)
51198937Sdes		basic_machine=m68k-hp
51298937Sdes		;;
51398937Sdes	hp300bsd)
51498937Sdes		basic_machine=m68k-hp
51598937Sdes		os=-bsd
51698937Sdes		;;
51798937Sdes	hp300hpux)
51898937Sdes		basic_machine=m68k-hp
51998937Sdes		os=-hpux
52098937Sdes		;;
52198937Sdes	hp3k9[0-9][0-9] | hp9[0-9][0-9])
52298937Sdes		basic_machine=hppa1.0-hp
52398937Sdes		;;
52498937Sdes	hp9k2[0-9][0-9] | hp9k31[0-9])
52598937Sdes		basic_machine=m68000-hp
52698937Sdes		;;
52798937Sdes	hp9k3[2-9][0-9])
52898937Sdes		basic_machine=m68k-hp
52998937Sdes		;;
53098937Sdes	hp9k6[0-9][0-9] | hp6[0-9][0-9])
53198937Sdes		basic_machine=hppa1.0-hp
53298937Sdes		;;
53398937Sdes	hp9k7[0-79][0-9] | hp7[0-79][0-9])
53498937Sdes		basic_machine=hppa1.1-hp
53598937Sdes		;;
53698937Sdes	hp9k78[0-9] | hp78[0-9])
53798937Sdes		# FIXME: really hppa2.0-hp
53898937Sdes		basic_machine=hppa1.1-hp
53998937Sdes		;;
54098937Sdes	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
54198937Sdes		# FIXME: really hppa2.0-hp
54298937Sdes		basic_machine=hppa1.1-hp
54398937Sdes		;;
54498937Sdes	hp9k8[0-9][13679] | hp8[0-9][13679])
54598937Sdes		basic_machine=hppa1.1-hp
54698937Sdes		;;
54798937Sdes	hp9k8[0-9][0-9] | hp8[0-9][0-9])
54898937Sdes		basic_machine=hppa1.0-hp
54998937Sdes		;;
55098937Sdes	hppa-next)
55198937Sdes		os=-nextstep3
55298937Sdes		;;
55398937Sdes	hppaosf)
55498937Sdes		basic_machine=hppa1.1-hp
55598937Sdes		os=-osf
55698937Sdes		;;
55798937Sdes	hppro)
55898937Sdes		basic_machine=hppa1.1-hp
55998937Sdes		os=-proelf
56098937Sdes		;;
56198937Sdes	i370-ibm* | ibm*)
56298937Sdes		basic_machine=i370-ibm
56398937Sdes		;;
56498937Sdes# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
56598937Sdes	i*86v32)
56698937Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
56798937Sdes		os=-sysv32
56898937Sdes		;;
56998937Sdes	i*86v4*)
57098937Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
57198937Sdes		os=-sysv4
57298937Sdes		;;
57398937Sdes	i*86v)
57498937Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
57598937Sdes		os=-sysv
57698937Sdes		;;
57798937Sdes	i*86sol2)
57898937Sdes		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
57998937Sdes		os=-solaris2
58098937Sdes		;;
58198937Sdes	i386mach)
58298937Sdes		basic_machine=i386-mach
58398937Sdes		os=-mach
58498937Sdes		;;
58598937Sdes	i386-vsta | vsta)
58698937Sdes		basic_machine=i386-unknown
58798937Sdes		os=-vsta
58898937Sdes		;;
58998937Sdes	iris | iris4d)
59098937Sdes		basic_machine=mips-sgi
59198937Sdes		case $os in
59298937Sdes		    -irix*)
59398937Sdes			;;
59498937Sdes		    *)
59598937Sdes			os=-irix4
59698937Sdes			;;
59798937Sdes		esac
59898937Sdes		;;
59998937Sdes	isi68 | isi)
60098937Sdes		basic_machine=m68k-isi
60198937Sdes		os=-sysv
60298937Sdes		;;
60398937Sdes	m88k-omron*)
60498937Sdes		basic_machine=m88k-omron
60598937Sdes		;;
60698937Sdes	magnum | m3230)
60798937Sdes		basic_machine=mips-mips
60898937Sdes		os=-sysv
60998937Sdes		;;
61098937Sdes	merlin)
61198937Sdes		basic_machine=ns32k-utek
61298937Sdes		os=-sysv
61398937Sdes		;;
61498937Sdes	mingw32)
61598937Sdes		basic_machine=i386-pc
61698937Sdes		os=-mingw32
61798937Sdes		;;
61898937Sdes	miniframe)
61998937Sdes		basic_machine=m68000-convergent
62098937Sdes		;;
62198937Sdes	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
62298937Sdes		basic_machine=m68k-atari
62398937Sdes		os=-mint
62498937Sdes		;;
62598937Sdes	mips3*-*)
62698937Sdes		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
62798937Sdes		;;
62898937Sdes	mips3*)
62998937Sdes		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
63098937Sdes		;;
63198937Sdes	mmix*)
63298937Sdes		basic_machine=mmix-knuth
63398937Sdes		os=-mmixware
63498937Sdes		;;
63598937Sdes	monitor)
63698937Sdes		basic_machine=m68k-rom68k
63798937Sdes		os=-coff
63898937Sdes		;;
639106121Sdes	morphos)
640106121Sdes		basic_machine=powerpc-unknown
641106121Sdes		os=-morphos
642106121Sdes		;;
64398937Sdes	msdos)
64498937Sdes		basic_machine=i386-pc
64598937Sdes		os=-msdos
64698937Sdes		;;
64798937Sdes	mvs)
64898937Sdes		basic_machine=i370-ibm
64998937Sdes		os=-mvs
65098937Sdes		;;
65198937Sdes	ncr3000)
65298937Sdes		basic_machine=i486-ncr
65398937Sdes		os=-sysv4
65498937Sdes		;;
65598937Sdes	netbsd386)
65698937Sdes		basic_machine=i386-unknown
65798937Sdes		os=-netbsd
65898937Sdes		;;
65998937Sdes	netwinder)
66098937Sdes		basic_machine=armv4l-rebel
66198937Sdes		os=-linux
66298937Sdes		;;
66398937Sdes	news | news700 | news800 | news900)
66498937Sdes		basic_machine=m68k-sony
66598937Sdes		os=-newsos
66698937Sdes		;;
66798937Sdes	news1000)
66898937Sdes		basic_machine=m68030-sony
66998937Sdes		os=-newsos
67098937Sdes		;;
67198937Sdes	news-3600 | risc-news)
67298937Sdes		basic_machine=mips-sony
67398937Sdes		os=-newsos
67498937Sdes		;;
67598937Sdes	necv70)
67698937Sdes		basic_machine=v70-nec
67798937Sdes		os=-sysv
67898937Sdes		;;
67998937Sdes	next | m*-next )
68098937Sdes		basic_machine=m68k-next
68198937Sdes		case $os in
68298937Sdes		    -nextstep* )
68398937Sdes			;;
68498937Sdes		    -ns2*)
68598937Sdes		      os=-nextstep2
68698937Sdes			;;
68798937Sdes		    *)
68898937Sdes		      os=-nextstep3
68998937Sdes			;;
69098937Sdes		esac
69198937Sdes		;;
69298937Sdes	nh3000)
69398937Sdes		basic_machine=m68k-harris
69498937Sdes		os=-cxux
69598937Sdes		;;
69698937Sdes	nh[45]000)
69798937Sdes		basic_machine=m88k-harris
69898937Sdes		os=-cxux
69998937Sdes		;;
70098937Sdes	nindy960)
70198937Sdes		basic_machine=i960-intel
70298937Sdes		os=-nindy
70398937Sdes		;;
70498937Sdes	mon960)
70598937Sdes		basic_machine=i960-intel
70698937Sdes		os=-mon960
70798937Sdes		;;
70898937Sdes	nonstopux)
70998937Sdes		basic_machine=mips-compaq
71098937Sdes		os=-nonstopux
71198937Sdes		;;
71298937Sdes	np1)
71398937Sdes		basic_machine=np1-gould
71498937Sdes		;;
71598937Sdes	nsr-tandem)
71698937Sdes		basic_machine=nsr-tandem
71798937Sdes		;;
718113908Sdes	nv1)
719113908Sdes		basic_machine=nv1-cray
720113908Sdes		;;
72198937Sdes	op50n-* | op60c-*)
72298937Sdes		basic_machine=hppa1.1-oki
72398937Sdes		os=-proelf
72498937Sdes		;;
725106121Sdes	or32 | or32-*)
726106121Sdes		basic_machine=or32-unknown
727106121Sdes		os=-coff
728106121Sdes		;;
72998937Sdes	OSE68000 | ose68000)
73098937Sdes		basic_machine=m68000-ericsson
73198937Sdes		os=-ose
73298937Sdes		;;
73398937Sdes	os68k)
73498937Sdes		basic_machine=m68k-none
73598937Sdes		os=-os68k
73698937Sdes		;;
73798937Sdes	pa-hitachi)
73898937Sdes		basic_machine=hppa1.1-hitachi
73998937Sdes		os=-hiuxwe2
74098937Sdes		;;
74198937Sdes	paragon)
74298937Sdes		basic_machine=i860-intel
74398937Sdes		os=-osf
74498937Sdes		;;
74598937Sdes	pbd)
74698937Sdes		basic_machine=sparc-tti
74798937Sdes		;;
74898937Sdes	pbb)
74998937Sdes		basic_machine=m68k-tti
75098937Sdes		;;
751126274Sdes	pc532 | pc532-*)
75298937Sdes		basic_machine=ns32k-pc532
75398937Sdes		;;
754106121Sdes	pentium | p5 | k5 | k6 | nexgen | viac3)
75598937Sdes		basic_machine=i586-pc
75698937Sdes		;;
75798937Sdes	pentiumpro | p6 | 6x86 | athlon)
75898937Sdes		basic_machine=i686-pc
75998937Sdes		;;
76098937Sdes	pentiumii | pentium2)
76198937Sdes		basic_machine=i686-pc
76298937Sdes		;;
763106121Sdes	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
76498937Sdes		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
76598937Sdes		;;
76698937Sdes	pentiumpro-* | p6-* | 6x86-* | athlon-*)
76798937Sdes		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
76898937Sdes		;;
76998937Sdes	pentiumii-* | pentium2-*)
77098937Sdes		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
77198937Sdes		;;
77298937Sdes	pn)
77398937Sdes		basic_machine=pn-gould
77498937Sdes		;;
77598937Sdes	power)	basic_machine=power-ibm
77698937Sdes		;;
77798937Sdes	ppc)	basic_machine=powerpc-unknown
778126274Sdes		;;
77998937Sdes	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
78098937Sdes		;;
78198937Sdes	ppcle | powerpclittle | ppc-le | powerpc-little)
78298937Sdes		basic_machine=powerpcle-unknown
783126274Sdes		;;
78498937Sdes	ppcle-* | powerpclittle-*)
78598937Sdes		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
78698937Sdes		;;
787106121Sdes	ppc64)	basic_machine=powerpc64-unknown
788126274Sdes		;;
789106121Sdes	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
790106121Sdes		;;
791106121Sdes	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
792106121Sdes		basic_machine=powerpc64le-unknown
793126274Sdes		;;
794106121Sdes	ppc64le-* | powerpc64little-*)
795106121Sdes		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
796106121Sdes		;;
79798937Sdes	ps2)
79898937Sdes		basic_machine=i386-ibm
79998937Sdes		;;
80098937Sdes	pw32)
80198937Sdes		basic_machine=i586-unknown
80298937Sdes		os=-pw32
80398937Sdes		;;
80498937Sdes	rom68k)
80598937Sdes		basic_machine=m68k-rom68k
80698937Sdes		os=-coff
80798937Sdes		;;
80898937Sdes	rm[46]00)
80998937Sdes		basic_machine=mips-siemens
81098937Sdes		;;
81198937Sdes	rtpc | rtpc-*)
81298937Sdes		basic_machine=romp-ibm
81398937Sdes		;;
814106121Sdes	s390 | s390-*)
815106121Sdes		basic_machine=s390-ibm
816106121Sdes		;;
817106121Sdes	s390x | s390x-*)
818106121Sdes		basic_machine=s390x-ibm
819106121Sdes		;;
82098937Sdes	sa29200)
82198937Sdes		basic_machine=a29k-amd
82298937Sdes		os=-udi
82398937Sdes		;;
82498937Sdes	sequent)
82598937Sdes		basic_machine=i386-sequent
82698937Sdes		;;
82798937Sdes	sh)
82898937Sdes		basic_machine=sh-hitachi
82998937Sdes		os=-hms
83098937Sdes		;;
831106121Sdes	sparclite-wrs | simso-wrs)
83298937Sdes		basic_machine=sparclite-wrs
83398937Sdes		os=-vxworks
83498937Sdes		;;
83598937Sdes	sps7)
83698937Sdes		basic_machine=m68k-bull
83798937Sdes		os=-sysv2
83898937Sdes		;;
83998937Sdes	spur)
84098937Sdes		basic_machine=spur-unknown
84198937Sdes		;;
84298937Sdes	st2000)
84398937Sdes		basic_machine=m68k-tandem
84498937Sdes		;;
84598937Sdes	stratus)
84698937Sdes		basic_machine=i860-stratus
84798937Sdes		os=-sysv4
84898937Sdes		;;
84998937Sdes	sun2)
85098937Sdes		basic_machine=m68000-sun
85198937Sdes		;;
85298937Sdes	sun2os3)
85398937Sdes		basic_machine=m68000-sun
85498937Sdes		os=-sunos3
85598937Sdes		;;
85698937Sdes	sun2os4)
85798937Sdes		basic_machine=m68000-sun
85898937Sdes		os=-sunos4
85998937Sdes		;;
86098937Sdes	sun3os3)
86198937Sdes		basic_machine=m68k-sun
86298937Sdes		os=-sunos3
86398937Sdes		;;
86498937Sdes	sun3os4)
86598937Sdes		basic_machine=m68k-sun
86698937Sdes		os=-sunos4
86798937Sdes		;;
86898937Sdes	sun4os3)
86998937Sdes		basic_machine=sparc-sun
87098937Sdes		os=-sunos3
87198937Sdes		;;
87298937Sdes	sun4os4)
87398937Sdes		basic_machine=sparc-sun
87498937Sdes		os=-sunos4
87598937Sdes		;;
87698937Sdes	sun4sol2)
87798937Sdes		basic_machine=sparc-sun
87898937Sdes		os=-solaris2
87998937Sdes		;;
88098937Sdes	sun3 | sun3-*)
88198937Sdes		basic_machine=m68k-sun
88298937Sdes		;;
88398937Sdes	sun4)
88498937Sdes		basic_machine=sparc-sun
88598937Sdes		;;
88698937Sdes	sun386 | sun386i | roadrunner)
88798937Sdes		basic_machine=i386-sun
88898937Sdes		;;
889126274Sdes	sv1)
89098937Sdes		basic_machine=sv1-cray
89198937Sdes		os=-unicos
89298937Sdes		;;
893126274Sdes	sx*-nec)
894113908Sdes		basic_machine=sx6-nec
895113908Sdes		os=-sysv
896113908Sdes		;;
89798937Sdes	symmetry)
89898937Sdes		basic_machine=i386-sequent
89998937Sdes		os=-dynix
90098937Sdes		;;
901106121Sdes	t3d)
902106121Sdes		basic_machine=alpha-cray
903106121Sdes		os=-unicos
904106121Sdes		;;
90598937Sdes	t3e)
906106121Sdes		basic_machine=alphaev5-cray
90798937Sdes		os=-unicos
90898937Sdes		;;
909106121Sdes	t90)
910106121Sdes		basic_machine=t90-cray
911106121Sdes		os=-unicos
912106121Sdes		;;
91398937Sdes	tic54x | c54x*)
91498937Sdes		basic_machine=tic54x-unknown
91598937Sdes		os=-coff
91698937Sdes		;;
91798937Sdes	tx39)
91898937Sdes		basic_machine=mipstx39-unknown
91998937Sdes		;;
92098937Sdes	tx39el)
92198937Sdes		basic_machine=mipstx39el-unknown
92298937Sdes		;;
923106121Sdes	toad1)
924106121Sdes		basic_machine=pdp10-xkl
925106121Sdes		os=-tops20
926106121Sdes		;;
92798937Sdes	tower | tower-32)
92898937Sdes		basic_machine=m68k-ncr
92998937Sdes		;;
93098937Sdes	udi29k)
93198937Sdes		basic_machine=a29k-amd
93298937Sdes		os=-udi
93398937Sdes		;;
93498937Sdes	ultra3)
93598937Sdes		basic_machine=a29k-nyu
93698937Sdes		os=-sym1
93798937Sdes		;;
93898937Sdes	v810 | necv810)
93998937Sdes		basic_machine=v810-nec
94098937Sdes		os=-none
94198937Sdes		;;
94298937Sdes	vaxv)
94398937Sdes		basic_machine=vax-dec
94498937Sdes		os=-sysv
94598937Sdes		;;
94698937Sdes	vms)
94798937Sdes		basic_machine=vax-dec
94898937Sdes		os=-vms
94998937Sdes		;;
95098937Sdes	vpp*|vx|vx-*)
951126274Sdes	       basic_machine=f301-fujitsu
952126274Sdes	       ;;
95398937Sdes	vxworks960)
95498937Sdes		basic_machine=i960-wrs
95598937Sdes		os=-vxworks
95698937Sdes		;;
95798937Sdes	vxworks68)
95898937Sdes		basic_machine=m68k-wrs
95998937Sdes		os=-vxworks
96098937Sdes		;;
96198937Sdes	vxworks29k)
96298937Sdes		basic_machine=a29k-wrs
96398937Sdes		os=-vxworks
96498937Sdes		;;
96598937Sdes	w65*)
96698937Sdes		basic_machine=w65-wdc
96798937Sdes		os=-none
96898937Sdes		;;
96998937Sdes	w89k-*)
97098937Sdes		basic_machine=hppa1.1-winbond
97198937Sdes		os=-proelf
97298937Sdes		;;
973106121Sdes	windows32)
974106121Sdes		basic_machine=i386-pc
975106121Sdes		os=-windows32-msvcrt
97698937Sdes		;;
977126274Sdes	xps | xps100)
97898937Sdes		basic_machine=xps100-honeywell
97998937Sdes		;;
980106121Sdes	ymp)
981106121Sdes		basic_machine=ymp-cray
982106121Sdes		os=-unicos
983106121Sdes		;;
98498937Sdes	z8k-*-coff)
98598937Sdes		basic_machine=z8k-unknown
98698937Sdes		os=-sim
98798937Sdes		;;
98898937Sdes	none)
98998937Sdes		basic_machine=none-none
99098937Sdes		os=-none
99198937Sdes		;;
99298937Sdes
99398937Sdes# Here we handle the default manufacturer of certain CPU types.  It is in
99498937Sdes# some cases the only manufacturer, in others, it is the most popular.
99598937Sdes	w89k)
99698937Sdes		basic_machine=hppa1.1-winbond
99798937Sdes		;;
99898937Sdes	op50n)
99998937Sdes		basic_machine=hppa1.1-oki
100098937Sdes		;;
100198937Sdes	op60c)
100298937Sdes		basic_machine=hppa1.1-oki
100398937Sdes		;;
100498937Sdes	romp)
100598937Sdes		basic_machine=romp-ibm
100698937Sdes		;;
100798937Sdes	rs6000)
100898937Sdes		basic_machine=rs6000-ibm
100998937Sdes		;;
101098937Sdes	vax)
101198937Sdes		basic_machine=vax-dec
101298937Sdes		;;
101398937Sdes	pdp10)
101498937Sdes		# there are many clones, so DEC is not a safe bet
101598937Sdes		basic_machine=pdp10-unknown
101698937Sdes		;;
101798937Sdes	pdp11)
101898937Sdes		basic_machine=pdp11-dec
101998937Sdes		;;
102098937Sdes	we32k)
102198937Sdes		basic_machine=we32k-att
102298937Sdes		;;
1023106121Sdes	sh3 | sh4 | sh3eb | sh4eb | sh[1234]le | sh3ele)
102498937Sdes		basic_machine=sh-unknown
102598937Sdes		;;
1026106121Sdes	sh64)
1027106121Sdes		basic_machine=sh64-unknown
1028106121Sdes		;;
102998937Sdes	sparc | sparcv9 | sparcv9b)
103098937Sdes		basic_machine=sparc-sun
103198937Sdes		;;
1032126274Sdes	cydra)
103398937Sdes		basic_machine=cydra-cydrome
103498937Sdes		;;
103598937Sdes	orion)
103698937Sdes		basic_machine=orion-highlevel
103798937Sdes		;;
103898937Sdes	orion105)
103998937Sdes		basic_machine=clipper-highlevel
104098937Sdes		;;
104198937Sdes	mac | mpw | mac-mpw)
104298937Sdes		basic_machine=m68k-apple
104398937Sdes		;;
104498937Sdes	pmac | pmac-mpw)
104598937Sdes		basic_machine=powerpc-apple
104698937Sdes		;;
104798937Sdes	c4x*)
104898937Sdes		basic_machine=c4x-none
104998937Sdes		os=-coff
105098937Sdes		;;
105198937Sdes	*-unknown)
105298937Sdes		# Make sure to match an already-canonicalized machine name.
105398937Sdes		;;
105498937Sdes	*)
105598937Sdes		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
105698937Sdes		exit 1
105798937Sdes		;;
105898937Sdesesac
105998937Sdes
106098937Sdes# Here we canonicalize certain aliases for manufacturers.
106198937Sdescase $basic_machine in
106298937Sdes	*-digital*)
106398937Sdes		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
106498937Sdes		;;
106598937Sdes	*-commodore*)
106698937Sdes		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
106798937Sdes		;;
106898937Sdes	*)
106998937Sdes		;;
107098937Sdesesac
107198937Sdes
107298937Sdes# Decode manufacturer-specific aliases for certain operating systems.
107398937Sdes
107498937Sdesif [ x"$os" != x"" ]
107598937Sdesthen
107698937Sdescase $os in
1077126274Sdes	# First match some system type aliases
1078126274Sdes	# that might get confused with valid system types.
107998937Sdes	# -solaris* is a basic system type, with this one exception.
108098937Sdes	-solaris1 | -solaris1.*)
108198937Sdes		os=`echo $os | sed -e 's|solaris1|sunos4|'`
108298937Sdes		;;
108398937Sdes	-solaris)
108498937Sdes		os=-solaris2
108598937Sdes		;;
108698937Sdes	-svr4*)
108798937Sdes		os=-sysv4
108898937Sdes		;;
108998937Sdes	-unixware*)
109098937Sdes		os=-sysv4.2uw
109198937Sdes		;;
109298937Sdes	-gnu/linux*)
109398937Sdes		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
109498937Sdes		;;
109598937Sdes	# First accept the basic system types.
109698937Sdes	# The portable systems comes first.
109798937Sdes	# Each alternative MUST END IN A *, to match a version number.
109898937Sdes	# -sysv* is not here because it comes later, after sysvr4.
109998937Sdes	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
110098937Sdes	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
110198937Sdes	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
110298937Sdes	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
110398937Sdes	      | -aos* \
110498937Sdes	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
110598937Sdes	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
110698937Sdes	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
110798937Sdes	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
110898937Sdes	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
110998937Sdes	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1110106121Sdes	      | -chorusos* | -chorusrdb* \
111198937Sdes	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
111298937Sdes	      | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
111398937Sdes	      | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
111498937Sdes	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1115106121Sdes	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1116106121Sdes	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1117106121Sdes	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
111898937Sdes	# Remember, each alternative MUST END IN *, to match a version number.
111998937Sdes		;;
112098937Sdes	-qnx*)
112198937Sdes		case $basic_machine in
112298937Sdes		    x86-* | i*86-*)
112398937Sdes			;;
112498937Sdes		    *)
112598937Sdes			os=-nto$os
112698937Sdes			;;
112798937Sdes		esac
112898937Sdes		;;
112998937Sdes	-nto*)
113098937Sdes		os=-nto-qnx
113198937Sdes		;;
113298937Sdes	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
113398937Sdes	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
113498937Sdes	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
113598937Sdes		;;
113698937Sdes	-mac*)
113798937Sdes		os=`echo $os | sed -e 's|mac|macos|'`
113898937Sdes		;;
113998937Sdes	-linux*)
114098937Sdes		os=`echo $os | sed -e 's|linux|linux-gnu|'`
114198937Sdes		;;
114298937Sdes	-sunos5*)
114398937Sdes		os=`echo $os | sed -e 's|sunos5|solaris2|'`
114498937Sdes		;;
114598937Sdes	-sunos6*)
114698937Sdes		os=`echo $os | sed -e 's|sunos6|solaris3|'`
114798937Sdes		;;
114898937Sdes	-opened*)
114998937Sdes		os=-openedition
115098937Sdes		;;
115198937Sdes	-wince*)
115298937Sdes		os=-wince
115398937Sdes		;;
115498937Sdes	-osfrose*)
115598937Sdes		os=-osfrose
115698937Sdes		;;
115798937Sdes	-osf*)
115898937Sdes		os=-osf
115998937Sdes		;;
116098937Sdes	-utek*)
116198937Sdes		os=-bsd
116298937Sdes		;;
116398937Sdes	-dynix*)
116498937Sdes		os=-bsd
116598937Sdes		;;
116698937Sdes	-acis*)
116798937Sdes		os=-aos
116898937Sdes		;;
1169106121Sdes	-atheos*)
1170106121Sdes		os=-atheos
1171106121Sdes		;;
117298937Sdes	-386bsd)
117398937Sdes		os=-bsd
117498937Sdes		;;
117598937Sdes	-ctix* | -uts*)
117698937Sdes		os=-sysv
117798937Sdes		;;
1178106121Sdes	-nova*)
1179106121Sdes		os=-rtmk-nova
1180106121Sdes		;;
118198937Sdes	-ns2 )
1182126274Sdes		os=-nextstep2
118398937Sdes		;;
118498937Sdes	-nsk*)
118598937Sdes		os=-nsk
118698937Sdes		;;
118798937Sdes	# Preserve the version number of sinix5.
118898937Sdes	-sinix5.*)
118998937Sdes		os=`echo $os | sed -e 's|sinix|sysv|'`
119098937Sdes		;;
119198937Sdes	-sinix*)
119298937Sdes		os=-sysv4
119398937Sdes		;;
119498937Sdes	-triton*)
119598937Sdes		os=-sysv3
119698937Sdes		;;
119798937Sdes	-oss*)
119898937Sdes		os=-sysv3
119998937Sdes		;;
120098937Sdes	-svr4)
120198937Sdes		os=-sysv4
120298937Sdes		;;
120398937Sdes	-svr3)
120498937Sdes		os=-sysv3
120598937Sdes		;;
120698937Sdes	-sysvr4)
120798937Sdes		os=-sysv4
120898937Sdes		;;
120998937Sdes	# This must come after -sysvr4.
121098937Sdes	-sysv*)
121198937Sdes		;;
121298937Sdes	-ose*)
121398937Sdes		os=-ose
121498937Sdes		;;
121598937Sdes	-es1800*)
121698937Sdes		os=-ose
121798937Sdes		;;
121898937Sdes	-xenix)
121998937Sdes		os=-xenix
122098937Sdes		;;
1221126274Sdes	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1222126274Sdes		os=-mint
122398937Sdes		;;
122498937Sdes	-none)
122598937Sdes		;;
122698937Sdes	*)
122798937Sdes		# Get rid of the `-' at the beginning of $os.
122898937Sdes		os=`echo $os | sed 's/[^-]*-//'`
122998937Sdes		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
123098937Sdes		exit 1
123198937Sdes		;;
123298937Sdesesac
123398937Sdeselse
123498937Sdes
123598937Sdes# Here we handle the default operating systems that come with various machines.
123698937Sdes# The value should be what the vendor currently ships out the door with their
123798937Sdes# machine or put another way, the most popular os provided with the machine.
123898937Sdes
123998937Sdes# Note that if you're going to try to match "-MANUFACTURER" here (say,
124098937Sdes# "-sun"), then you have to tell the case statement up towards the top
124198937Sdes# that MANUFACTURER isn't an operating system.  Otherwise, code above
124298937Sdes# will signal an error saying that MANUFACTURER isn't an operating
124398937Sdes# system, and we'll never get to this point.
124498937Sdes
124598937Sdescase $basic_machine in
124698937Sdes	*-acorn)
124798937Sdes		os=-riscix1.2
124898937Sdes		;;
124998937Sdes	arm*-rebel)
125098937Sdes		os=-linux
125198937Sdes		;;
125298937Sdes	arm*-semi)
125398937Sdes		os=-aout
125498937Sdes		;;
1255106121Sdes	# This must come before the *-dec entry.
125698937Sdes	pdp10-*)
125798937Sdes		os=-tops20
125898937Sdes		;;
1259126274Sdes	pdp11-*)
126098937Sdes		os=-none
126198937Sdes		;;
126298937Sdes	*-dec | vax-*)
126398937Sdes		os=-ultrix4.2
126498937Sdes		;;
126598937Sdes	m68*-apollo)
126698937Sdes		os=-domain
126798937Sdes		;;
126898937Sdes	i386-sun)
126998937Sdes		os=-sunos4.0.2
127098937Sdes		;;
127198937Sdes	m68000-sun)
127298937Sdes		os=-sunos3
127398937Sdes		# This also exists in the configure program, but was not the
127498937Sdes		# default.
127598937Sdes		# os=-sunos4
127698937Sdes		;;
127798937Sdes	m68*-cisco)
127898937Sdes		os=-aout
127998937Sdes		;;
128098937Sdes	mips*-cisco)
128198937Sdes		os=-elf
128298937Sdes		;;
128398937Sdes	mips*-*)
128498937Sdes		os=-elf
128598937Sdes		;;
1286106121Sdes	or32-*)
1287106121Sdes		os=-coff
1288106121Sdes		;;
128998937Sdes	*-tti)	# must be before sparc entry or we get the wrong os.
129098937Sdes		os=-sysv3
129198937Sdes		;;
129298937Sdes	sparc-* | *-sun)
129398937Sdes		os=-sunos4.1.1
129498937Sdes		;;
129598937Sdes	*-be)
129698937Sdes		os=-beos
129798937Sdes		;;
129898937Sdes	*-ibm)
129998937Sdes		os=-aix
130098937Sdes		;;
130198937Sdes	*-wec)
130298937Sdes		os=-proelf
130398937Sdes		;;
130498937Sdes	*-winbond)
130598937Sdes		os=-proelf
130698937Sdes		;;
130798937Sdes	*-oki)
130898937Sdes		os=-proelf
130998937Sdes		;;
131098937Sdes	*-hp)
131198937Sdes		os=-hpux
131298937Sdes		;;
131398937Sdes	*-hitachi)
131498937Sdes		os=-hiux
131598937Sdes		;;
131698937Sdes	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
131798937Sdes		os=-sysv
131898937Sdes		;;
131998937Sdes	*-cbm)
132098937Sdes		os=-amigaos
132198937Sdes		;;
132298937Sdes	*-dg)
132398937Sdes		os=-dgux
132498937Sdes		;;
132598937Sdes	*-dolphin)
132698937Sdes		os=-sysv3
132798937Sdes		;;
132898937Sdes	m68k-ccur)
132998937Sdes		os=-rtu
133098937Sdes		;;
133198937Sdes	m88k-omron*)
133298937Sdes		os=-luna
133398937Sdes		;;
133498937Sdes	*-next )
133598937Sdes		os=-nextstep
133698937Sdes		;;
133798937Sdes	*-sequent)
133898937Sdes		os=-ptx
133998937Sdes		;;
134098937Sdes	*-crds)
134198937Sdes		os=-unos
134298937Sdes		;;
134398937Sdes	*-ns)
134498937Sdes		os=-genix
134598937Sdes		;;
134698937Sdes	i370-*)
134798937Sdes		os=-mvs
134898937Sdes		;;
134998937Sdes	*-next)
135098937Sdes		os=-nextstep3
135198937Sdes		;;
1352126274Sdes	*-gould)
135398937Sdes		os=-sysv
135498937Sdes		;;
1355126274Sdes	*-highlevel)
135698937Sdes		os=-bsd
135798937Sdes		;;
135898937Sdes	*-encore)
135998937Sdes		os=-bsd
136098937Sdes		;;
1361126274Sdes	*-sgi)
136298937Sdes		os=-irix
136398937Sdes		;;
1364126274Sdes	*-siemens)
136598937Sdes		os=-sysv4
136698937Sdes		;;
136798937Sdes	*-masscomp)
136898937Sdes		os=-rtu
136998937Sdes		;;
137098937Sdes	f30[01]-fujitsu | f700-fujitsu)
137198937Sdes		os=-uxpv
137298937Sdes		;;
137398937Sdes	*-rom68k)
137498937Sdes		os=-coff
137598937Sdes		;;
137698937Sdes	*-*bug)
137798937Sdes		os=-coff
137898937Sdes		;;
137998937Sdes	*-apple)
138098937Sdes		os=-macos
138198937Sdes		;;
138298937Sdes	*-atari*)
138398937Sdes		os=-mint
138498937Sdes		;;
138598937Sdes	*)
138698937Sdes		os=-none
138798937Sdes		;;
138898937Sdesesac
138998937Sdesfi
139098937Sdes
139198937Sdes# Here we handle the case where we know the os, and the CPU type, but not the
139298937Sdes# manufacturer.  We pick the logical manufacturer.
139398937Sdesvendor=unknown
139498937Sdescase $basic_machine in
139598937Sdes	*-unknown)
139698937Sdes		case $os in
139798937Sdes			-riscix*)
139898937Sdes				vendor=acorn
139998937Sdes				;;
140098937Sdes			-sunos*)
140198937Sdes				vendor=sun
140298937Sdes				;;
140398937Sdes			-aix*)
140498937Sdes				vendor=ibm
140598937Sdes				;;
140698937Sdes			-beos*)
140798937Sdes				vendor=be
140898937Sdes				;;
140998937Sdes			-hpux*)
141098937Sdes				vendor=hp
141198937Sdes				;;
141298937Sdes			-mpeix*)
141398937Sdes				vendor=hp
141498937Sdes				;;
141598937Sdes			-hiux*)
141698937Sdes				vendor=hitachi
141798937Sdes				;;
141898937Sdes			-unos*)
141998937Sdes				vendor=crds
142098937Sdes				;;
142198937Sdes			-dgux*)
142298937Sdes				vendor=dg
142398937Sdes				;;
142498937Sdes			-luna*)
142598937Sdes				vendor=omron
142698937Sdes				;;
142798937Sdes			-genix*)
142898937Sdes				vendor=ns
142998937Sdes				;;
143098937Sdes			-mvs* | -opened*)
143198937Sdes				vendor=ibm
143298937Sdes				;;
143398937Sdes			-ptx*)
143498937Sdes				vendor=sequent
143598937Sdes				;;
1436106121Sdes			-vxsim* | -vxworks* | -windiss*)
143798937Sdes				vendor=wrs
143898937Sdes				;;
143998937Sdes			-aux*)
144098937Sdes				vendor=apple
144198937Sdes				;;
144298937Sdes			-hms*)
144398937Sdes				vendor=hitachi
144498937Sdes				;;
144598937Sdes			-mpw* | -macos*)
144698937Sdes				vendor=apple
144798937Sdes				;;
144898937Sdes			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
144998937Sdes				vendor=atari
145098937Sdes				;;
1451106121Sdes			-vos*)
1452106121Sdes				vendor=stratus
1453106121Sdes				;;
145498937Sdes		esac
145598937Sdes		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
145698937Sdes		;;
145798937Sdesesac
145898937Sdes
145998937Sdesecho $basic_machine$os
146098937Sdesexit 0
146198937Sdes
146298937Sdes# Local variables:
146398937Sdes# eval: (add-hook 'write-file-hooks 'time-stamp)
146498937Sdes# time-stamp-start: "timestamp='"
146598937Sdes# time-stamp-format: "%:y-%02m-%02d"
146698937Sdes# time-stamp-end: "'"
146798937Sdes# End:
1468