config.sub revision 127664
117683Spst#! /bin/sh
275107Sfenner# Configuration validation subroutine script.
3127664Sbms#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4127664Sbms#   2000, 2001, 2002, 2003 Free Software Foundation, Inc.
575107Sfenner
6127664Sbmstimestamp='2003-11-03'
775107Sfenner
817683Spst# This file is (in principle) common to ALL GNU software.
917683Spst# The presence of a machine in this file suggests that SOME GNU software
1026175Sfenner# can handle that machine.  It does not imply ALL GNU software can.
1117683Spst#
1217683Spst# This file is free software; you can redistribute it and/or modify
1317683Spst# it under the terms of the GNU General Public License as published by
1417683Spst# the Free Software Foundation; either version 2 of the License, or
1517683Spst# (at your option) any later version.
1617683Spst#
1717683Spst# This program is distributed in the hope that it will be useful,
1817683Spst# but WITHOUT ANY WARRANTY; without even the implied warranty of
1917683Spst# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
2017683Spst# GNU General Public License for more details.
2117683Spst#
2217683Spst# You should have received a copy of the GNU General Public License
2317683Spst# along with this program; if not, write to the Free Software
2417683Spst# Foundation, Inc., 59 Temple Place - Suite 330,
2517683Spst# Boston, MA 02111-1307, USA.
2617683Spst
2717683Spst# As a special exception to the GNU General Public License, if you
2817683Spst# distribute this file as part of a program that contains a
2917683Spst# configuration script generated by Autoconf, you may include it under
3017683Spst# the same distribution terms that you use for the rest of that program.
3117683Spst
32127664Sbms# Please send patches to <config-patches@gnu.org>.  Submit a context
33127664Sbms# diff and a properly formatted ChangeLog entry.
3475107Sfenner#
3517683Spst# Configuration subroutine to validate and canonicalize a configuration type.
3617683Spst# Supply the specified configuration type as an argument.
3717683Spst# If it is invalid, we print an error message on stderr and exit with code 1.
3817683Spst# Otherwise, we print the canonical config type on stdout and succeed.
3917683Spst
4017683Spst# This file is supposed to be the same for all GNU packages
4117683Spst# and recognize all the CPU types, system types and aliases
4217683Spst# that are meaningful with *any* GNU software.
4317683Spst# Each package is responsible for reporting which valid configurations
4417683Spst# it does not support.  The user should be able to distinguish
4517683Spst# a failure to support a valid configuration from a meaningless
4617683Spst# configuration.
4717683Spst
4817683Spst# The goal of this file is to map all the various variations of a given
4917683Spst# machine specification into a single specification in the form:
5017683Spst#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
5126175Sfenner# or in some cases, the newer four-part form:
5226175Sfenner#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
5317683Spst# It is wrong to echo any other type of specification.
5417683Spst
5575107Sfennerme=`echo "$0" | sed -e 's,.*/,,'`
5617683Spst
5775107Sfennerusage="\
5875107SfennerUsage: $0 [OPTION] CPU-MFR-OPSYS
5975107Sfenner       $0 [OPTION] ALIAS
6075107Sfenner
6175107SfennerCanonicalize a configuration name.
6275107Sfenner
6375107SfennerOperation modes:
6475107Sfenner  -h, --help         print this help, then exit
6575107Sfenner  -t, --time-stamp   print date of last modification, then exit
6675107Sfenner  -v, --version      print version number, then exit
6775107Sfenner
6875107SfennerReport bugs and patches to <config-patches@gnu.org>."
6975107Sfenner
7075107Sfennerversion="\
7175107SfennerGNU config.sub ($timestamp)
7275107Sfenner
7398530SfennerCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
7475107SfennerFree Software Foundation, Inc.
7575107Sfenner
7675107SfennerThis is free software; see the source for copying conditions.  There is NO
7775107Sfennerwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
7875107Sfenner
7975107Sfennerhelp="
8075107SfennerTry \`$me --help' for more information."
8175107Sfenner
8275107Sfenner# Parse command line
8375107Sfennerwhile test $# -gt 0 ; do
8475107Sfenner  case $1 in
8575107Sfenner    --time-stamp | --time* | -t )
8675107Sfenner       echo "$timestamp" ; exit 0 ;;
8775107Sfenner    --version | -v )
8875107Sfenner       echo "$version" ; exit 0 ;;
8975107Sfenner    --help | --h* | -h )
9075107Sfenner       echo "$usage"; exit 0 ;;
9175107Sfenner    -- )     # Stop option processing
9275107Sfenner       shift; break ;;
9375107Sfenner    - )	# Use stdin as input.
9475107Sfenner       break ;;
9575107Sfenner    -* )
9675107Sfenner       echo "$me: invalid option $1$help"
9775107Sfenner       exit 1 ;;
9875107Sfenner
9975107Sfenner    *local*)
10075107Sfenner       # First pass through any local machine types.
10175107Sfenner       echo $1
10275107Sfenner       exit 0;;
10375107Sfenner
10475107Sfenner    * )
10575107Sfenner       break ;;
10675107Sfenner  esac
10775107Sfennerdone
10875107Sfenner
10975107Sfennercase $# in
11075107Sfenner 0) echo "$me: missing argument$help" >&2
11175107Sfenner    exit 1;;
11275107Sfenner 1) ;;
11375107Sfenner *) echo "$me: too many arguments$help" >&2
11475107Sfenner    exit 1;;
11517683Spstesac
11617683Spst
11726175Sfenner# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
11826175Sfenner# Here we must recognize all the valid KERNEL-OS combinations.
11926175Sfennermaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
12026175Sfennercase $maybe_os in
121127664Sbms  nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
122127664Sbms  kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
12326175Sfenner    os=-$maybe_os
12426175Sfenner    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
12526175Sfenner    ;;
12626175Sfenner  *)
12726175Sfenner    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
12826175Sfenner    if [ $basic_machine != $1 ]
12926175Sfenner    then os=`echo $1 | sed 's/.*-/-/'`
13026175Sfenner    else os=; fi
13126175Sfenner    ;;
13226175Sfenneresac
13317683Spst
13417683Spst### Let's recognize common machines as not being operating systems so
13517683Spst### that things like config.sub decstation-3100 work.  We also
13617683Spst### recognize some manufacturers as not being operating systems, so we
13717683Spst### can provide default operating systems below.
13817683Spstcase $os in
13917683Spst	-sun*os*)
14017683Spst		# Prevent following clause from handling this invalid input.
14117683Spst		;;
14217683Spst	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
14317683Spst	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
14417683Spst	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
14517683Spst	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
14617683Spst	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
14726175Sfenner	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
14875107Sfenner	-apple | -axis)
14917683Spst		os=
15017683Spst		basic_machine=$1
15117683Spst		;;
15275107Sfenner	-sim | -cisco | -oki | -wec | -winbond)
15375107Sfenner		os=
15475107Sfenner		basic_machine=$1
15575107Sfenner		;;
15675107Sfenner	-scout)
15775107Sfenner		;;
15875107Sfenner	-wrs)
15975107Sfenner		os=-vxworks
16075107Sfenner		basic_machine=$1
16175107Sfenner		;;
162127664Sbms	-chorusos*)
163127664Sbms		os=-chorusos
164127664Sbms		basic_machine=$1
165127664Sbms		;;
166127664Sbms 	-chorusrdb)
167127664Sbms 		os=-chorusrdb
168127664Sbms		basic_machine=$1
169127664Sbms 		;;
17017683Spst	-hiux*)
17117683Spst		os=-hiuxwe2
17217683Spst		;;
17326175Sfenner	-sco5)
17475107Sfenner		os=-sco3.2v5
17526175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
17626175Sfenner		;;
17717683Spst	-sco4)
17817683Spst		os=-sco3.2v4
17926175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18017683Spst		;;
18117683Spst	-sco3.2.[4-9]*)
18217683Spst		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
18326175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18417683Spst		;;
18517683Spst	-sco3.2v[4-9]*)
18617683Spst		# Don't forget version if it is 3.2v4 or newer.
18726175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18817683Spst		;;
18917683Spst	-sco*)
19017683Spst		os=-sco3.2v2
19126175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19217683Spst		;;
19375107Sfenner	-udk*)
19475107Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19575107Sfenner		;;
19617683Spst	-isc)
19717683Spst		os=-isc2.2
19826175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
19917683Spst		;;
20017683Spst	-clix*)
20117683Spst		basic_machine=clipper-intergraph
20217683Spst		;;
20317683Spst	-isc*)
20426175Sfenner		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20517683Spst		;;
20617683Spst	-lynx*)
20717683Spst		os=-lynxos
20817683Spst		;;
20917683Spst	-ptx*)
21017683Spst		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
21117683Spst		;;
21217683Spst	-windowsnt*)
21317683Spst		os=`echo $os | sed -e 's/windowsnt/winnt/'`
21417683Spst		;;
21526175Sfenner	-psos*)
21626175Sfenner		os=-psos
21726175Sfenner		;;
21875107Sfenner	-mint | -mint[0-9]*)
21975107Sfenner		basic_machine=m68k-atari
22075107Sfenner		os=-mint
22175107Sfenner		;;
22217683Spstesac
22317683Spst
22417683Spst# Decode aliases for certain CPU-COMPANY combinations.
22517683Spstcase $basic_machine in
22617683Spst	# Recognize the basic CPU types without company name.
22717683Spst	# Some are omitted here because they have special meanings below.
228127664Sbms	1750a | 580 \
229127664Sbms	| a29k \
230127664Sbms	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
231127664Sbms	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
232127664Sbms	| am33_2.0 \
233127664Sbms	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
234127664Sbms	| c4x | clipper \
235127664Sbms	| d10v | d30v | dlx | dsp16xx \
236127664Sbms	| fr30 | frv \
237127664Sbms	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
238127664Sbms	| i370 | i860 | i960 | ia64 \
239127664Sbms	| ip2k | iq2000 \
240127664Sbms	| m32r | m68000 | m68k | m88k | mcore \
241127664Sbms	| mips | mipsbe | mipseb | mipsel | mipsle \
242127664Sbms	| mips16 \
243127664Sbms	| mips64 | mips64el \
244127664Sbms	| mips64vr | mips64vrel \
245127664Sbms	| mips64orion | mips64orionel \
246127664Sbms	| mips64vr4100 | mips64vr4100el \
247127664Sbms	| mips64vr4300 | mips64vr4300el \
248127664Sbms	| mips64vr5000 | mips64vr5000el \
249127664Sbms	| mipsisa32 | mipsisa32el \
250127664Sbms	| mipsisa32r2 | mipsisa32r2el \
251127664Sbms	| mipsisa64 | mipsisa64el \
252127664Sbms	| mipsisa64r2 | mipsisa64r2el \
253127664Sbms	| mipsisa64sb1 | mipsisa64sb1el \
254127664Sbms	| mipsisa64sr71k | mipsisa64sr71kel \
255127664Sbms	| mipstx39 | mipstx39el \
256127664Sbms	| mn10200 | mn10300 \
257127664Sbms	| msp430 \
258127664Sbms	| ns16k | ns32k \
259127664Sbms	| openrisc | or32 \
260127664Sbms	| pdp10 | pdp11 | pj | pjl \
261127664Sbms	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
262127664Sbms	| pyramid \
263127664Sbms	| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
264127664Sbms	| sh64 | sh64le \
265127664Sbms	| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
266127664Sbms	| strongarm \
267127664Sbms	| tahoe | thumb | tic4x | tic80 | tron \
268127664Sbms	| v850 | v850e \
269127664Sbms	| we32k \
270127664Sbms	| x86 | xscale | xstormy16 | xtensa \
271127664Sbms	| z8k)
27217683Spst		basic_machine=$basic_machine-unknown
27317683Spst		;;
27475107Sfenner	m6811 | m68hc11 | m6812 | m68hc12)
27575107Sfenner		# Motorola 68HC11/12.
27675107Sfenner		basic_machine=$basic_machine-unknown
27775107Sfenner		os=-none
27875107Sfenner		;;
279127664Sbms	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
28075107Sfenner		;;
28175107Sfenner
28226175Sfenner	# We use `pc' rather than `unknown'
28326175Sfenner	# because (1) that's what they normally are, and
28426175Sfenner	# (2) the word "unknown" tends to confuse beginning users.
28598530Sfenner	i*86 | x86_64)
28626175Sfenner	  basic_machine=$basic_machine-pc
28726175Sfenner	  ;;
28817683Spst	# Object if more than one company name word.
28917683Spst	*-*-*)
29017683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
29117683Spst		exit 1
29217683Spst		;;
29317683Spst	# Recognize the basic CPU types with company name.
294127664Sbms	580-* \
295127664Sbms	| a29k-* \
296127664Sbms	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
297127664Sbms	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
298127664Sbms	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
299127664Sbms	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
300127664Sbms	| avr-* \
301127664Sbms	| bs2000-* \
302127664Sbms	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
303127664Sbms	| clipper-* | cydra-* \
304127664Sbms	| d10v-* | d30v-* | dlx-* \
305127664Sbms	| elxsi-* \
306127664Sbms	| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
307127664Sbms	| h8300-* | h8500-* \
308127664Sbms	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
309127664Sbms	| i*86-* | i860-* | i960-* | ia64-* \
310127664Sbms	| ip2k-* | iq2000-* \
311127664Sbms	| m32r-* \
312127664Sbms	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
313127664Sbms	| m88110-* | m88k-* | mcore-* \
314127664Sbms	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
315127664Sbms	| mips16-* \
316127664Sbms	| mips64-* | mips64el-* \
317127664Sbms	| mips64vr-* | mips64vrel-* \
318127664Sbms	| mips64orion-* | mips64orionel-* \
319127664Sbms	| mips64vr4100-* | mips64vr4100el-* \
320127664Sbms	| mips64vr4300-* | mips64vr4300el-* \
321127664Sbms	| mips64vr5000-* | mips64vr5000el-* \
322127664Sbms	| mipsisa32-* | mipsisa32el-* \
323127664Sbms	| mipsisa32r2-* | mipsisa32r2el-* \
324127664Sbms	| mipsisa64-* | mipsisa64el-* \
325127664Sbms	| mipsisa64r2-* | mipsisa64r2el-* \
326127664Sbms	| mipsisa64sb1-* | mipsisa64sb1el-* \
327127664Sbms	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
328127664Sbms	| mipstx39-* | mipstx39el-* \
329127664Sbms	| msp430-* \
330127664Sbms	| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
331127664Sbms	| orion-* \
332127664Sbms	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
333127664Sbms	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
334127664Sbms	| pyramid-* \
335127664Sbms	| romp-* | rs6000-* \
336127664Sbms	| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
337127664Sbms	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
338127664Sbms	| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
339127664Sbms	| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
340127664Sbms	| tahoe-* | thumb-* \
341127664Sbms	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
342127664Sbms	| tron-* \
343127664Sbms	| v850-* | v850e-* | vax-* \
344127664Sbms	| we32k-* \
345127664Sbms	| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
346127664Sbms	| xtensa-* \
347127664Sbms	| ymp-* \
348127664Sbms	| z8k-*)
34917683Spst		;;
35017683Spst	# Recognize the various machine names and aliases which stand
35117683Spst	# for a CPU type and a company and sometimes even an OS.
35275107Sfenner	386bsd)
35375107Sfenner		basic_machine=i386-unknown
35475107Sfenner		os=-bsd
35575107Sfenner		;;
35617683Spst	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
35717683Spst		basic_machine=m68000-att
35817683Spst		;;
35917683Spst	3b*)
36017683Spst		basic_machine=we32k-att
36117683Spst		;;
36275107Sfenner	a29khif)
36375107Sfenner		basic_machine=a29k-amd
36475107Sfenner		os=-udi
36575107Sfenner		;;
36675107Sfenner	adobe68k)
36775107Sfenner		basic_machine=m68010-adobe
36875107Sfenner		os=-scout
36975107Sfenner		;;
37017683Spst	alliant | fx80)
37117683Spst		basic_machine=fx80-alliant
37217683Spst		;;
37317683Spst	altos | altos3068)
37417683Spst		basic_machine=m68k-altos
37517683Spst		;;
37617683Spst	am29k)
37717683Spst		basic_machine=a29k-none
37817683Spst		os=-bsd
37917683Spst		;;
380127664Sbms	amd64)
381127664Sbms		basic_machine=x86_64-pc
382127664Sbms		;;
38317683Spst	amdahl)
38417683Spst		basic_machine=580-amdahl
38517683Spst		os=-sysv
38617683Spst		;;
38717683Spst	amiga | amiga-*)
38875107Sfenner		basic_machine=m68k-unknown
38917683Spst		;;
39075107Sfenner	amigaos | amigados)
39175107Sfenner		basic_machine=m68k-unknown
39275107Sfenner		os=-amigaos
39317683Spst		;;
39417683Spst	amigaunix | amix)
39575107Sfenner		basic_machine=m68k-unknown
39617683Spst		os=-sysv4
39717683Spst		;;
39817683Spst	apollo68)
39917683Spst		basic_machine=m68k-apollo
40017683Spst		os=-sysv
40117683Spst		;;
40275107Sfenner	apollo68bsd)
40375107Sfenner		basic_machine=m68k-apollo
40475107Sfenner		os=-bsd
40575107Sfenner		;;
40626175Sfenner	aux)
40726175Sfenner		basic_machine=m68k-apple
40826175Sfenner		os=-aux
40926175Sfenner		;;
41017683Spst	balance)
41117683Spst		basic_machine=ns32k-sequent
41217683Spst		os=-dynix
41317683Spst		;;
414127664Sbms	c90)
415127664Sbms		basic_machine=c90-cray
416127664Sbms		os=-unicos
417127664Sbms		;;
41817683Spst	convex-c1)
41917683Spst		basic_machine=c1-convex
42017683Spst		os=-bsd
42117683Spst		;;
42217683Spst	convex-c2)
42317683Spst		basic_machine=c2-convex
42417683Spst		os=-bsd
42517683Spst		;;
42617683Spst	convex-c32)
42717683Spst		basic_machine=c32-convex
42817683Spst		os=-bsd
42917683Spst		;;
43017683Spst	convex-c34)
43117683Spst		basic_machine=c34-convex
43217683Spst		os=-bsd
43317683Spst		;;
43417683Spst	convex-c38)
43517683Spst		basic_machine=c38-convex
43617683Spst		os=-bsd
43717683Spst		;;
438127664Sbms	cray | j90)
439127664Sbms		basic_machine=j90-cray
44017683Spst		os=-unicos
44117683Spst		;;
44217683Spst	crds | unos)
44317683Spst		basic_machine=m68k-crds
44417683Spst		;;
44575107Sfenner	cris | cris-* | etrax*)
44675107Sfenner		basic_machine=cris-axis
44775107Sfenner		;;
44817683Spst	da30 | da30-*)
44917683Spst		basic_machine=m68k-da30
45017683Spst		;;
45117683Spst	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
45217683Spst		basic_machine=mips-dec
45317683Spst		;;
454127664Sbms	decsystem10* | dec10*)
455127664Sbms		basic_machine=pdp10-dec
456127664Sbms		os=-tops10
457127664Sbms		;;
458127664Sbms	decsystem20* | dec20*)
459127664Sbms		basic_machine=pdp10-dec
460127664Sbms		os=-tops20
461127664Sbms		;;
46217683Spst	delta | 3300 | motorola-3300 | motorola-delta \
46317683Spst	      | 3300-motorola | delta-motorola)
46417683Spst		basic_machine=m68k-motorola
46517683Spst		;;
46617683Spst	delta88)
46717683Spst		basic_machine=m88k-motorola
46817683Spst		os=-sysv3
46917683Spst		;;
47017683Spst	dpx20 | dpx20-*)
47117683Spst		basic_machine=rs6000-bull
47217683Spst		os=-bosx
47317683Spst		;;
47417683Spst	dpx2* | dpx2*-bull)
47517683Spst		basic_machine=m68k-bull
47617683Spst		os=-sysv3
47717683Spst		;;
47817683Spst	ebmon29k)
47917683Spst		basic_machine=a29k-amd
48017683Spst		os=-ebmon
48117683Spst		;;
48217683Spst	elxsi)
48317683Spst		basic_machine=elxsi-elxsi
48417683Spst		os=-bsd
48517683Spst		;;
48617683Spst	encore | umax | mmax)
48717683Spst		basic_machine=ns32k-encore
48817683Spst		;;
48975107Sfenner	es1800 | OSE68k | ose68k | ose | OSE)
49075107Sfenner		basic_machine=m68k-ericsson
49175107Sfenner		os=-ose
49275107Sfenner		;;
49317683Spst	fx2800)
49417683Spst		basic_machine=i860-alliant
49517683Spst		;;
49617683Spst	genix)
49717683Spst		basic_machine=ns32k-ns
49817683Spst		;;
49917683Spst	gmicro)
50017683Spst		basic_machine=tron-gmicro
50117683Spst		os=-sysv
50217683Spst		;;
50398530Sfenner	go32)
50498530Sfenner		basic_machine=i386-pc
50598530Sfenner		os=-go32
50698530Sfenner		;;
50717683Spst	h3050r* | hiux*)
50817683Spst		basic_machine=hppa1.1-hitachi
50917683Spst		os=-hiuxwe2
51017683Spst		;;
51117683Spst	h8300hms)
51217683Spst		basic_machine=h8300-hitachi
51317683Spst		os=-hms
51417683Spst		;;
51575107Sfenner	h8300xray)
51675107Sfenner		basic_machine=h8300-hitachi
51775107Sfenner		os=-xray
51875107Sfenner		;;
51975107Sfenner	h8500hms)
52075107Sfenner		basic_machine=h8500-hitachi
52175107Sfenner		os=-hms
52275107Sfenner		;;
52317683Spst	harris)
52417683Spst		basic_machine=m88k-harris
52517683Spst		os=-sysv3
52617683Spst		;;
52717683Spst	hp300-*)
52817683Spst		basic_machine=m68k-hp
52917683Spst		;;
53017683Spst	hp300bsd)
53117683Spst		basic_machine=m68k-hp
53217683Spst		os=-bsd
53317683Spst		;;
53417683Spst	hp300hpux)
53517683Spst		basic_machine=m68k-hp
53617683Spst		os=-hpux
53717683Spst		;;
53875107Sfenner	hp3k9[0-9][0-9] | hp9[0-9][0-9])
53975107Sfenner		basic_machine=hppa1.0-hp
54075107Sfenner		;;
54117683Spst	hp9k2[0-9][0-9] | hp9k31[0-9])
54217683Spst		basic_machine=m68000-hp
54317683Spst		;;
54417683Spst	hp9k3[2-9][0-9])
54517683Spst		basic_machine=m68k-hp
54617683Spst		;;
54775107Sfenner	hp9k6[0-9][0-9] | hp6[0-9][0-9])
54875107Sfenner		basic_machine=hppa1.0-hp
54975107Sfenner		;;
55075107Sfenner	hp9k7[0-79][0-9] | hp7[0-79][0-9])
55117683Spst		basic_machine=hppa1.1-hp
55217683Spst		;;
55375107Sfenner	hp9k78[0-9] | hp78[0-9])
55475107Sfenner		# FIXME: really hppa2.0-hp
55575107Sfenner		basic_machine=hppa1.1-hp
55675107Sfenner		;;
55775107Sfenner	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
55875107Sfenner		# FIXME: really hppa2.0-hp
55975107Sfenner		basic_machine=hppa1.1-hp
56075107Sfenner		;;
56175107Sfenner	hp9k8[0-9][13679] | hp8[0-9][13679])
56275107Sfenner		basic_machine=hppa1.1-hp
56375107Sfenner		;;
56417683Spst	hp9k8[0-9][0-9] | hp8[0-9][0-9])
56517683Spst		basic_machine=hppa1.0-hp
56617683Spst		;;
56726175Sfenner	hppa-next)
56826175Sfenner		os=-nextstep3
56926175Sfenner		;;
57075107Sfenner	hppaosf)
57175107Sfenner		basic_machine=hppa1.1-hp
57275107Sfenner		os=-osf
57375107Sfenner		;;
57475107Sfenner	hppro)
57575107Sfenner		basic_machine=hppa1.1-hp
57675107Sfenner		os=-proelf
57775107Sfenner		;;
57817683Spst	i370-ibm* | ibm*)
57917683Spst		basic_machine=i370-ibm
58017683Spst		;;
58117683Spst# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
58298530Sfenner	i*86v32)
58326175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
58417683Spst		os=-sysv32
58517683Spst		;;
58698530Sfenner	i*86v4*)
58726175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
58817683Spst		os=-sysv4
58917683Spst		;;
59098530Sfenner	i*86v)
59126175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
59217683Spst		os=-sysv
59317683Spst		;;
59498530Sfenner	i*86sol2)
59526175Sfenner		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
59617683Spst		os=-solaris2
59717683Spst		;;
59875107Sfenner	i386mach)
59975107Sfenner		basic_machine=i386-mach
60075107Sfenner		os=-mach
60175107Sfenner		;;
60275107Sfenner	i386-vsta | vsta)
60375107Sfenner		basic_machine=i386-unknown
60475107Sfenner		os=-vsta
60575107Sfenner		;;
60617683Spst	iris | iris4d)
60717683Spst		basic_machine=mips-sgi
60817683Spst		case $os in
60917683Spst		    -irix*)
61017683Spst			;;
61117683Spst		    *)
61217683Spst			os=-irix4
61317683Spst			;;
61417683Spst		esac
61517683Spst		;;
61617683Spst	isi68 | isi)
61717683Spst		basic_machine=m68k-isi
61817683Spst		os=-sysv
61917683Spst		;;
62017683Spst	m88k-omron*)
62117683Spst		basic_machine=m88k-omron
62217683Spst		;;
62317683Spst	magnum | m3230)
62417683Spst		basic_machine=mips-mips
62517683Spst		os=-sysv
62617683Spst		;;
62717683Spst	merlin)
62817683Spst		basic_machine=ns32k-utek
62917683Spst		os=-sysv
63017683Spst		;;
63198530Sfenner	mingw32)
63298530Sfenner		basic_machine=i386-pc
63398530Sfenner		os=-mingw32
63498530Sfenner		;;
63517683Spst	miniframe)
63617683Spst		basic_machine=m68000-convergent
63717683Spst		;;
63875107Sfenner	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
63975107Sfenner		basic_machine=m68k-atari
64075107Sfenner		os=-mint
64175107Sfenner		;;
64217683Spst	mips3*-*)
64317683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
64417683Spst		;;
64517683Spst	mips3*)
64617683Spst		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
64717683Spst		;;
64875107Sfenner	mmix*)
64975107Sfenner		basic_machine=mmix-knuth
65075107Sfenner		os=-mmixware
65175107Sfenner		;;
65275107Sfenner	monitor)
65375107Sfenner		basic_machine=m68k-rom68k
65475107Sfenner		os=-coff
65575107Sfenner		;;
656127664Sbms	morphos)
657127664Sbms		basic_machine=powerpc-unknown
658127664Sbms		os=-morphos
659127664Sbms		;;
66075107Sfenner	msdos)
66198530Sfenner		basic_machine=i386-pc
66275107Sfenner		os=-msdos
66375107Sfenner		;;
66475107Sfenner	mvs)
66575107Sfenner		basic_machine=i370-ibm
66675107Sfenner		os=-mvs
66775107Sfenner		;;
66817683Spst	ncr3000)
66917683Spst		basic_machine=i486-ncr
67017683Spst		os=-sysv4
67117683Spst		;;
67275107Sfenner	netbsd386)
67375107Sfenner		basic_machine=i386-unknown
67475107Sfenner		os=-netbsd
67575107Sfenner		;;
67675107Sfenner	netwinder)
67775107Sfenner		basic_machine=armv4l-rebel
67875107Sfenner		os=-linux
67975107Sfenner		;;
68017683Spst	news | news700 | news800 | news900)
68117683Spst		basic_machine=m68k-sony
68217683Spst		os=-newsos
68317683Spst		;;
68417683Spst	news1000)
68517683Spst		basic_machine=m68030-sony
68617683Spst		os=-newsos
68717683Spst		;;
68817683Spst	news-3600 | risc-news)
68917683Spst		basic_machine=mips-sony
69017683Spst		os=-newsos
69117683Spst		;;
69275107Sfenner	necv70)
69375107Sfenner		basic_machine=v70-nec
69475107Sfenner		os=-sysv
69575107Sfenner		;;
69617683Spst	next | m*-next )
69717683Spst		basic_machine=m68k-next
69817683Spst		case $os in
69917683Spst		    -nextstep* )
70017683Spst			;;
70117683Spst		    -ns2*)
70217683Spst		      os=-nextstep2
70317683Spst			;;
70417683Spst		    *)
70517683Spst		      os=-nextstep3
70617683Spst			;;
70717683Spst		esac
70817683Spst		;;
70917683Spst	nh3000)
71017683Spst		basic_machine=m68k-harris
71117683Spst		os=-cxux
71217683Spst		;;
71317683Spst	nh[45]000)
71417683Spst		basic_machine=m88k-harris
71517683Spst		os=-cxux
71617683Spst		;;
71717683Spst	nindy960)
71817683Spst		basic_machine=i960-intel
71917683Spst		os=-nindy
72017683Spst		;;
72175107Sfenner	mon960)
72275107Sfenner		basic_machine=i960-intel
72375107Sfenner		os=-mon960
72475107Sfenner		;;
72575107Sfenner	nonstopux)
72675107Sfenner		basic_machine=mips-compaq
72775107Sfenner		os=-nonstopux
72875107Sfenner		;;
72917683Spst	np1)
73017683Spst		basic_machine=np1-gould
73117683Spst		;;
732127664Sbms	nv1)
733127664Sbms		basic_machine=nv1-cray
734127664Sbms		os=-unicosmp
735127664Sbms		;;
73675107Sfenner	nsr-tandem)
73775107Sfenner		basic_machine=nsr-tandem
73875107Sfenner		;;
73975107Sfenner	op50n-* | op60c-*)
74075107Sfenner		basic_machine=hppa1.1-oki
74175107Sfenner		os=-proelf
74275107Sfenner		;;
743127664Sbms	or32 | or32-*)
744127664Sbms		basic_machine=or32-unknown
745127664Sbms		os=-coff
746127664Sbms		;;
747127664Sbms	os400)
748127664Sbms		basic_machine=powerpc-ibm
749127664Sbms		os=-os400
750127664Sbms		;;
75175107Sfenner	OSE68000 | ose68000)
75275107Sfenner		basic_machine=m68000-ericsson
75375107Sfenner		os=-ose
75475107Sfenner		;;
75575107Sfenner	os68k)
75675107Sfenner		basic_machine=m68k-none
75775107Sfenner		os=-os68k
75875107Sfenner		;;
75917683Spst	pa-hitachi)
76017683Spst		basic_machine=hppa1.1-hitachi
76117683Spst		os=-hiuxwe2
76217683Spst		;;
76317683Spst	paragon)
76417683Spst		basic_machine=i860-intel
76517683Spst		os=-osf
76617683Spst		;;
76717683Spst	pbd)
76817683Spst		basic_machine=sparc-tti
76917683Spst		;;
77017683Spst	pbb)
77117683Spst		basic_machine=m68k-tti
77217683Spst		;;
773127664Sbms	pc532 | pc532-*)
77417683Spst		basic_machine=ns32k-pc532
77517683Spst		;;
776127664Sbms	pentium | p5 | k5 | k6 | nexgen | viac3)
77775107Sfenner		basic_machine=i586-pc
77817683Spst		;;
779127664Sbms	pentiumpro | p6 | 6x86 | athlon | athlon_*)
78075107Sfenner		basic_machine=i686-pc
78126175Sfenner		;;
782127664Sbms	pentiumii | pentium2 | pentiumiii | pentium3)
78375107Sfenner		basic_machine=i686-pc
78475107Sfenner		;;
785127664Sbms	pentium4)
786127664Sbms		basic_machine=i786-pc
787127664Sbms		;;
788127664Sbms	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
78917683Spst		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
79017683Spst		;;
79175107Sfenner	pentiumpro-* | p6-* | 6x86-* | athlon-*)
79226175Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
79326175Sfenner		;;
794127664Sbms	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
79575107Sfenner		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
79617683Spst		;;
797127664Sbms	pentium4-*)
798127664Sbms		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
799127664Sbms		;;
80017683Spst	pn)
80117683Spst		basic_machine=pn-gould
80217683Spst		;;
80375107Sfenner	power)	basic_machine=power-ibm
80417683Spst		;;
80517683Spst	ppc)	basic_machine=powerpc-unknown
806127664Sbms		;;
80717683Spst	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
80817683Spst		;;
80917683Spst	ppcle | powerpclittle | ppc-le | powerpc-little)
81017683Spst		basic_machine=powerpcle-unknown
811127664Sbms		;;
81217683Spst	ppcle-* | powerpclittle-*)
81317683Spst		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
81417683Spst		;;
815127664Sbms	ppc64)	basic_machine=powerpc64-unknown
816127664Sbms		;;
817127664Sbms	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
818127664Sbms		;;
819127664Sbms	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
820127664Sbms		basic_machine=powerpc64le-unknown
821127664Sbms		;;
822127664Sbms	ppc64le-* | powerpc64little-*)
823127664Sbms		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
824127664Sbms		;;
82517683Spst	ps2)
82617683Spst		basic_machine=i386-ibm
82717683Spst		;;
82898530Sfenner	pw32)
82998530Sfenner		basic_machine=i586-unknown
83098530Sfenner		os=-pw32
83198530Sfenner		;;
83275107Sfenner	rom68k)
83375107Sfenner		basic_machine=m68k-rom68k
83475107Sfenner		os=-coff
83575107Sfenner		;;
83617683Spst	rm[46]00)
83717683Spst		basic_machine=mips-siemens
83817683Spst		;;
83917683Spst	rtpc | rtpc-*)
84017683Spst		basic_machine=romp-ibm
84117683Spst		;;
842127664Sbms	s390 | s390-*)
843127664Sbms		basic_machine=s390-ibm
844127664Sbms		;;
845127664Sbms	s390x | s390x-*)
846127664Sbms		basic_machine=s390x-ibm
847127664Sbms		;;
84875107Sfenner	sa29200)
84975107Sfenner		basic_machine=a29k-amd
85075107Sfenner		os=-udi
85175107Sfenner		;;
852127664Sbms	sb1)
853127664Sbms		basic_machine=mipsisa64sb1-unknown
854127664Sbms		;;
855127664Sbms	sb1el)
856127664Sbms		basic_machine=mipsisa64sb1el-unknown
857127664Sbms		;;
858127664Sbms	sei)
859127664Sbms		basic_machine=mips-sei
860127664Sbms		os=-seiux
861127664Sbms		;;
86217683Spst	sequent)
86317683Spst		basic_machine=i386-sequent
86417683Spst		;;
86517683Spst	sh)
86617683Spst		basic_machine=sh-hitachi
86717683Spst		os=-hms
86817683Spst		;;
869127664Sbms	sh64)
870127664Sbms		basic_machine=sh64-unknown
871127664Sbms		;;
872127664Sbms	sparclite-wrs | simso-wrs)
87375107Sfenner		basic_machine=sparclite-wrs
87475107Sfenner		os=-vxworks
87575107Sfenner		;;
87617683Spst	sps7)
87717683Spst		basic_machine=m68k-bull
87817683Spst		os=-sysv2
87917683Spst		;;
88017683Spst	spur)
88117683Spst		basic_machine=spur-unknown
88217683Spst		;;
88375107Sfenner	st2000)
88475107Sfenner		basic_machine=m68k-tandem
88575107Sfenner		;;
88675107Sfenner	stratus)
88775107Sfenner		basic_machine=i860-stratus
88875107Sfenner		os=-sysv4
88975107Sfenner		;;
89017683Spst	sun2)
89117683Spst		basic_machine=m68000-sun
89217683Spst		;;
89317683Spst	sun2os3)
89417683Spst		basic_machine=m68000-sun
89517683Spst		os=-sunos3
89617683Spst		;;
89717683Spst	sun2os4)
89817683Spst		basic_machine=m68000-sun
89917683Spst		os=-sunos4
90017683Spst		;;
90117683Spst	sun3os3)
90217683Spst		basic_machine=m68k-sun
90317683Spst		os=-sunos3
90417683Spst		;;
90517683Spst	sun3os4)
90617683Spst		basic_machine=m68k-sun
90717683Spst		os=-sunos4
90817683Spst		;;
90917683Spst	sun4os3)
91017683Spst		basic_machine=sparc-sun
91117683Spst		os=-sunos3
91217683Spst		;;
91317683Spst	sun4os4)
91417683Spst		basic_machine=sparc-sun
91517683Spst		os=-sunos4
91617683Spst		;;
91717683Spst	sun4sol2)
91817683Spst		basic_machine=sparc-sun
91917683Spst		os=-solaris2
92017683Spst		;;
92117683Spst	sun3 | sun3-*)
92217683Spst		basic_machine=m68k-sun
92317683Spst		;;
92417683Spst	sun4)
92517683Spst		basic_machine=sparc-sun
92617683Spst		;;
92717683Spst	sun386 | sun386i | roadrunner)
92817683Spst		basic_machine=i386-sun
92917683Spst		;;
93075107Sfenner	sv1)
93175107Sfenner		basic_machine=sv1-cray
93275107Sfenner		os=-unicos
93375107Sfenner		;;
93417683Spst	symmetry)
93517683Spst		basic_machine=i386-sequent
93617683Spst		os=-dynix
93717683Spst		;;
93875107Sfenner	t3e)
939127664Sbms		basic_machine=alphaev5-cray
94075107Sfenner		os=-unicos
94175107Sfenner		;;
942127664Sbms	t90)
943127664Sbms		basic_machine=t90-cray
944127664Sbms		os=-unicos
945127664Sbms		;;
94675107Sfenner	tic54x | c54x*)
94775107Sfenner		basic_machine=tic54x-unknown
94875107Sfenner		os=-coff
94975107Sfenner		;;
950127664Sbms	tic55x | c55x*)
951127664Sbms		basic_machine=tic55x-unknown
952127664Sbms		os=-coff
953127664Sbms		;;
954127664Sbms	tic6x | c6x*)
955127664Sbms		basic_machine=tic6x-unknown
956127664Sbms		os=-coff
957127664Sbms		;;
95875107Sfenner	tx39)
95975107Sfenner		basic_machine=mipstx39-unknown
96075107Sfenner		;;
96175107Sfenner	tx39el)
96275107Sfenner		basic_machine=mipstx39el-unknown
96375107Sfenner		;;
964127664Sbms	toad1)
965127664Sbms		basic_machine=pdp10-xkl
966127664Sbms		os=-tops20
967127664Sbms		;;
96817683Spst	tower | tower-32)
96917683Spst		basic_machine=m68k-ncr
97017683Spst		;;
971127664Sbms	tpf)
972127664Sbms		basic_machine=s390x-ibm
973127664Sbms		os=-tpf
974127664Sbms		;;
97517683Spst	udi29k)
97617683Spst		basic_machine=a29k-amd
97717683Spst		os=-udi
97817683Spst		;;
97917683Spst	ultra3)
98017683Spst		basic_machine=a29k-nyu
98117683Spst		os=-sym1
98217683Spst		;;
98375107Sfenner	v810 | necv810)
98475107Sfenner		basic_machine=v810-nec
98575107Sfenner		os=-none
98675107Sfenner		;;
98717683Spst	vaxv)
98817683Spst		basic_machine=vax-dec
98917683Spst		os=-sysv
99017683Spst		;;
99117683Spst	vms)
99217683Spst		basic_machine=vax-dec
99317683Spst		os=-vms
99417683Spst		;;
99575107Sfenner	vpp*|vx|vx-*)
996127664Sbms		basic_machine=f301-fujitsu
997127664Sbms		;;
99817683Spst	vxworks960)
99917683Spst		basic_machine=i960-wrs
100017683Spst		os=-vxworks
100117683Spst		;;
100217683Spst	vxworks68)
100317683Spst		basic_machine=m68k-wrs
100417683Spst		os=-vxworks
100517683Spst		;;
100617683Spst	vxworks29k)
100717683Spst		basic_machine=a29k-wrs
100817683Spst		os=-vxworks
100917683Spst		;;
101075107Sfenner	w65*)
101175107Sfenner		basic_machine=w65-wdc
101275107Sfenner		os=-none
101375107Sfenner		;;
101475107Sfenner	w89k-*)
101575107Sfenner		basic_machine=hppa1.1-winbond
101675107Sfenner		os=-proelf
101775107Sfenner		;;
1018127664Sbms	xps | xps100)
1019127664Sbms		basic_machine=xps100-honeywell
1020127664Sbms		;;
1021127664Sbms	ymp)
1022127664Sbms		basic_machine=ymp-cray
102317683Spst		os=-unicos
102417683Spst		;;
102575107Sfenner	z8k-*-coff)
102675107Sfenner		basic_machine=z8k-unknown
102775107Sfenner		os=-sim
102875107Sfenner		;;
102917683Spst	none)
103017683Spst		basic_machine=none-none
103117683Spst		os=-none
103217683Spst		;;
103317683Spst
103417683Spst# Here we handle the default manufacturer of certain CPU types.  It is in
103517683Spst# some cases the only manufacturer, in others, it is the most popular.
103675107Sfenner	w89k)
103775107Sfenner		basic_machine=hppa1.1-winbond
103875107Sfenner		;;
103975107Sfenner	op50n)
104075107Sfenner		basic_machine=hppa1.1-oki
104175107Sfenner		;;
104275107Sfenner	op60c)
104375107Sfenner		basic_machine=hppa1.1-oki
104475107Sfenner		;;
104517683Spst	romp)
104617683Spst		basic_machine=romp-ibm
104717683Spst		;;
104817683Spst	rs6000)
104917683Spst		basic_machine=rs6000-ibm
105017683Spst		;;
105117683Spst	vax)
105217683Spst		basic_machine=vax-dec
105317683Spst		;;
105498530Sfenner	pdp10)
105598530Sfenner		# there are many clones, so DEC is not a safe bet
105698530Sfenner		basic_machine=pdp10-unknown
105798530Sfenner		;;
105817683Spst	pdp11)
105917683Spst		basic_machine=pdp11-dec
106017683Spst		;;
106117683Spst	we32k)
106217683Spst		basic_machine=we32k-att
106317683Spst		;;
1064127664Sbms	sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
106575107Sfenner		basic_machine=sh-unknown
106675107Sfenner		;;
1067127664Sbms	sh64)
1068127664Sbms		basic_machine=sh64-unknown
1069127664Sbms		;;
107098530Sfenner	sparc | sparcv9 | sparcv9b)
107117683Spst		basic_machine=sparc-sun
107217683Spst		;;
1073127664Sbms	cydra)
107417683Spst		basic_machine=cydra-cydrome
107517683Spst		;;
107617683Spst	orion)
107717683Spst		basic_machine=orion-highlevel
107817683Spst		;;
107917683Spst	orion105)
108017683Spst		basic_machine=clipper-highlevel
108117683Spst		;;
108275107Sfenner	mac | mpw | mac-mpw)
108375107Sfenner		basic_machine=m68k-apple
108475107Sfenner		;;
108575107Sfenner	pmac | pmac-mpw)
108675107Sfenner		basic_machine=powerpc-apple
108775107Sfenner		;;
108898530Sfenner	*-unknown)
108998530Sfenner		# Make sure to match an already-canonicalized machine name.
109098530Sfenner		;;
109117683Spst	*)
109217683Spst		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
109317683Spst		exit 1
109417683Spst		;;
109517683Spstesac
109617683Spst
109717683Spst# Here we canonicalize certain aliases for manufacturers.
109817683Spstcase $basic_machine in
109917683Spst	*-digital*)
110017683Spst		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
110117683Spst		;;
110217683Spst	*-commodore*)
110317683Spst		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
110417683Spst		;;
110517683Spst	*)
110617683Spst		;;
110717683Spstesac
110817683Spst
110917683Spst# Decode manufacturer-specific aliases for certain operating systems.
111017683Spst
111117683Spstif [ x"$os" != x"" ]
111217683Spstthen
111317683Spstcase $os in
111426175Sfenner        # First match some system type aliases
111526175Sfenner        # that might get confused with valid system types.
111617683Spst	# -solaris* is a basic system type, with this one exception.
111717683Spst	-solaris1 | -solaris1.*)
111817683Spst		os=`echo $os | sed -e 's|solaris1|sunos4|'`
111917683Spst		;;
112017683Spst	-solaris)
112117683Spst		os=-solaris2
112217683Spst		;;
112375107Sfenner	-svr4*)
112417683Spst		os=-sysv4
112517683Spst		;;
112675107Sfenner	-unixware*)
112775107Sfenner		os=-sysv4.2uw
112875107Sfenner		;;
112917683Spst	-gnu/linux*)
113026175Sfenner		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
113117683Spst		;;
113217683Spst	# First accept the basic system types.
113317683Spst	# The portable systems comes first.
113417683Spst	# Each alternative MUST END IN A *, to match a version number.
113517683Spst	# -sysv* is not here because it comes later, after sysvr4.
113617683Spst	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
113726175Sfenner	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
113817683Spst	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
113975107Sfenner	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
114075107Sfenner	      | -aos* \
114126175Sfenner	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
114226175Sfenner	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1143127664Sbms	      | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \
114475107Sfenner	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
114517683Spst	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
114626175Sfenner	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1147127664Sbms	      | -chorusos* | -chorusrdb* \
114875107Sfenner	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1149127664Sbms	      | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
1150127664Sbms	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
115198530Sfenner	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1152127664Sbms	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1153127664Sbms	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1154127664Sbms	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1155127664Sbms	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
115617683Spst	# Remember, each alternative MUST END IN *, to match a version number.
115717683Spst		;;
115875107Sfenner	-qnx*)
115975107Sfenner		case $basic_machine in
116098530Sfenner		    x86-* | i*86-*)
116175107Sfenner			;;
116275107Sfenner		    *)
116375107Sfenner			os=-nto$os
116475107Sfenner			;;
116575107Sfenner		esac
116675107Sfenner		;;
1167127664Sbms	-nto-qnx*)
1168127664Sbms		;;
116975107Sfenner	-nto*)
1170127664Sbms		os=`echo $os | sed -e 's|nto|nto-qnx|'`
117175107Sfenner		;;
117275107Sfenner	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
117375107Sfenner	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
117475107Sfenner	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
117575107Sfenner		;;
117675107Sfenner	-mac*)
117775107Sfenner		os=`echo $os | sed -e 's|mac|macos|'`
117875107Sfenner		;;
1179127664Sbms	-linux-dietlibc)
1180127664Sbms		os=-linux-dietlibc
1181127664Sbms		;;
118226175Sfenner	-linux*)
118326175Sfenner		os=`echo $os | sed -e 's|linux|linux-gnu|'`
118426175Sfenner		;;
118517683Spst	-sunos5*)
118617683Spst		os=`echo $os | sed -e 's|sunos5|solaris2|'`
118717683Spst		;;
118817683Spst	-sunos6*)
118917683Spst		os=`echo $os | sed -e 's|sunos6|solaris3|'`
119017683Spst		;;
119175107Sfenner	-opened*)
119275107Sfenner		os=-openedition
119375107Sfenner		;;
1194127664Sbms        -os400*)
1195127664Sbms		os=-os400
1196127664Sbms		;;
119775107Sfenner	-wince*)
119875107Sfenner		os=-wince
119975107Sfenner		;;
120017683Spst	-osfrose*)
120117683Spst		os=-osfrose
120217683Spst		;;
120317683Spst	-osf*)
120417683Spst		os=-osf
120517683Spst		;;
120617683Spst	-utek*)
120717683Spst		os=-bsd
120817683Spst		;;
120917683Spst	-dynix*)
121017683Spst		os=-bsd
121117683Spst		;;
121217683Spst	-acis*)
121317683Spst		os=-aos
121417683Spst		;;
1215127664Sbms	-atheos*)
1216127664Sbms		os=-atheos
1217127664Sbms		;;
121875107Sfenner	-386bsd)
121975107Sfenner		os=-bsd
122075107Sfenner		;;
122117683Spst	-ctix* | -uts*)
122217683Spst		os=-sysv
122317683Spst		;;
1224127664Sbms	-nova*)
1225127664Sbms		os=-rtmk-nova
1226127664Sbms		;;
122726175Sfenner	-ns2 )
1228127664Sbms		os=-nextstep2
122926175Sfenner		;;
123075107Sfenner	-nsk*)
123175107Sfenner		os=-nsk
123275107Sfenner		;;
123317683Spst	# Preserve the version number of sinix5.
123417683Spst	-sinix5.*)
123517683Spst		os=`echo $os | sed -e 's|sinix|sysv|'`
123617683Spst		;;
123717683Spst	-sinix*)
123817683Spst		os=-sysv4
123917683Spst		;;
1240127664Sbms        -tpf*)
1241127664Sbms		os=-tpf
1242127664Sbms		;;
124317683Spst	-triton*)
124417683Spst		os=-sysv3
124517683Spst		;;
124617683Spst	-oss*)
124717683Spst		os=-sysv3
124817683Spst		;;
124917683Spst	-svr4)
125017683Spst		os=-sysv4
125117683Spst		;;
125217683Spst	-svr3)
125317683Spst		os=-sysv3
125417683Spst		;;
125517683Spst	-sysvr4)
125617683Spst		os=-sysv4
125717683Spst		;;
125817683Spst	# This must come after -sysvr4.
125917683Spst	-sysv*)
126017683Spst		;;
126175107Sfenner	-ose*)
126275107Sfenner		os=-ose
126375107Sfenner		;;
126475107Sfenner	-es1800*)
126575107Sfenner		os=-ose
126675107Sfenner		;;
126717683Spst	-xenix)
126817683Spst		os=-xenix
126917683Spst		;;
1270127664Sbms	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1271127664Sbms		os=-mint
127275107Sfenner		;;
1273127664Sbms	-aros*)
1274127664Sbms		os=-aros
1275127664Sbms		;;
1276127664Sbms	-kaos*)
1277127664Sbms		os=-kaos
1278127664Sbms		;;
127917683Spst	-none)
128017683Spst		;;
128117683Spst	*)
128217683Spst		# Get rid of the `-' at the beginning of $os.
128317683Spst		os=`echo $os | sed 's/[^-]*-//'`
128417683Spst		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
128517683Spst		exit 1
128617683Spst		;;
128717683Spstesac
128817683Spstelse
128917683Spst
129017683Spst# Here we handle the default operating systems that come with various machines.
129117683Spst# The value should be what the vendor currently ships out the door with their
129217683Spst# machine or put another way, the most popular os provided with the machine.
129317683Spst
129417683Spst# Note that if you're going to try to match "-MANUFACTURER" here (say,
129517683Spst# "-sun"), then you have to tell the case statement up towards the top
129617683Spst# that MANUFACTURER isn't an operating system.  Otherwise, code above
129717683Spst# will signal an error saying that MANUFACTURER isn't an operating
129817683Spst# system, and we'll never get to this point.
129917683Spst
130017683Spstcase $basic_machine in
130117683Spst	*-acorn)
130217683Spst		os=-riscix1.2
130317683Spst		;;
130475107Sfenner	arm*-rebel)
130575107Sfenner		os=-linux
130675107Sfenner		;;
130717683Spst	arm*-semi)
130817683Spst		os=-aout
130917683Spst		;;
1310127664Sbms    c4x-* | tic4x-*)
1311127664Sbms        os=-coff
1312127664Sbms        ;;
1313127664Sbms	# This must come before the *-dec entry.
131498530Sfenner	pdp10-*)
131598530Sfenner		os=-tops20
131698530Sfenner		;;
1317127664Sbms	pdp11-*)
131817683Spst		os=-none
131917683Spst		;;
132017683Spst	*-dec | vax-*)
132117683Spst		os=-ultrix4.2
132217683Spst		;;
132317683Spst	m68*-apollo)
132417683Spst		os=-domain
132517683Spst		;;
132617683Spst	i386-sun)
132717683Spst		os=-sunos4.0.2
132817683Spst		;;
132917683Spst	m68000-sun)
133017683Spst		os=-sunos3
133117683Spst		# This also exists in the configure program, but was not the
133217683Spst		# default.
133317683Spst		# os=-sunos4
133417683Spst		;;
133575107Sfenner	m68*-cisco)
133675107Sfenner		os=-aout
133775107Sfenner		;;
133875107Sfenner	mips*-cisco)
133975107Sfenner		os=-elf
134075107Sfenner		;;
134175107Sfenner	mips*-*)
134275107Sfenner		os=-elf
134375107Sfenner		;;
1344127664Sbms	or32-*)
1345127664Sbms		os=-coff
1346127664Sbms		;;
134717683Spst	*-tti)	# must be before sparc entry or we get the wrong os.
134817683Spst		os=-sysv3
134917683Spst		;;
135017683Spst	sparc-* | *-sun)
135117683Spst		os=-sunos4.1.1
135217683Spst		;;
135375107Sfenner	*-be)
135475107Sfenner		os=-beos
135575107Sfenner		;;
135617683Spst	*-ibm)
135717683Spst		os=-aix
135817683Spst		;;
135975107Sfenner	*-wec)
136075107Sfenner		os=-proelf
136175107Sfenner		;;
136275107Sfenner	*-winbond)
136375107Sfenner		os=-proelf
136475107Sfenner		;;
136575107Sfenner	*-oki)
136675107Sfenner		os=-proelf
136775107Sfenner		;;
136817683Spst	*-hp)
136917683Spst		os=-hpux
137017683Spst		;;
137117683Spst	*-hitachi)
137217683Spst		os=-hiux
137317683Spst		;;
137417683Spst	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
137517683Spst		os=-sysv
137617683Spst		;;
137717683Spst	*-cbm)
137875107Sfenner		os=-amigaos
137917683Spst		;;
138017683Spst	*-dg)
138117683Spst		os=-dgux
138217683Spst		;;
138317683Spst	*-dolphin)
138417683Spst		os=-sysv3
138517683Spst		;;
138617683Spst	m68k-ccur)
138717683Spst		os=-rtu
138817683Spst		;;
138917683Spst	m88k-omron*)
139017683Spst		os=-luna
139117683Spst		;;
139226175Sfenner	*-next )
139326175Sfenner		os=-nextstep
139426175Sfenner		;;
139517683Spst	*-sequent)
139617683Spst		os=-ptx
139717683Spst		;;
139817683Spst	*-crds)
139917683Spst		os=-unos
140017683Spst		;;
140117683Spst	*-ns)
140217683Spst		os=-genix
140317683Spst		;;
140417683Spst	i370-*)
140517683Spst		os=-mvs
140617683Spst		;;
140717683Spst	*-next)
140817683Spst		os=-nextstep3
140917683Spst		;;
1410127664Sbms	*-gould)
141117683Spst		os=-sysv
141217683Spst		;;
1413127664Sbms	*-highlevel)
141417683Spst		os=-bsd
141517683Spst		;;
141617683Spst	*-encore)
141717683Spst		os=-bsd
141817683Spst		;;
1419127664Sbms	*-sgi)
142017683Spst		os=-irix
142117683Spst		;;
1422127664Sbms	*-siemens)
142317683Spst		os=-sysv4
142417683Spst		;;
142517683Spst	*-masscomp)
142617683Spst		os=-rtu
142717683Spst		;;
142898530Sfenner	f30[01]-fujitsu | f700-fujitsu)
142926175Sfenner		os=-uxpv
143026175Sfenner		;;
143175107Sfenner	*-rom68k)
143275107Sfenner		os=-coff
143375107Sfenner		;;
143475107Sfenner	*-*bug)
143575107Sfenner		os=-coff
143675107Sfenner		;;
143775107Sfenner	*-apple)
143875107Sfenner		os=-macos
143975107Sfenner		;;
144075107Sfenner	*-atari*)
144175107Sfenner		os=-mint
144275107Sfenner		;;
144317683Spst	*)
144417683Spst		os=-none
144517683Spst		;;
144617683Spstesac
144717683Spstfi
144817683Spst
144917683Spst# Here we handle the case where we know the os, and the CPU type, but not the
145017683Spst# manufacturer.  We pick the logical manufacturer.
145117683Spstvendor=unknown
145217683Spstcase $basic_machine in
145317683Spst	*-unknown)
145417683Spst		case $os in
145517683Spst			-riscix*)
145617683Spst				vendor=acorn
145717683Spst				;;
145817683Spst			-sunos*)
145917683Spst				vendor=sun
146017683Spst				;;
146117683Spst			-aix*)
146217683Spst				vendor=ibm
146317683Spst				;;
146475107Sfenner			-beos*)
146575107Sfenner				vendor=be
146675107Sfenner				;;
146717683Spst			-hpux*)
146817683Spst				vendor=hp
146917683Spst				;;
147075107Sfenner			-mpeix*)
147175107Sfenner				vendor=hp
147275107Sfenner				;;
147317683Spst			-hiux*)
147417683Spst				vendor=hitachi
147517683Spst				;;
147617683Spst			-unos*)
147717683Spst				vendor=crds
147817683Spst				;;
147917683Spst			-dgux*)
148017683Spst				vendor=dg
148117683Spst				;;
148217683Spst			-luna*)
148317683Spst				vendor=omron
148417683Spst				;;
148517683Spst			-genix*)
148617683Spst				vendor=ns
148717683Spst				;;
148875107Sfenner			-mvs* | -opened*)
148917683Spst				vendor=ibm
149017683Spst				;;
1491127664Sbms			-os400*)
1492127664Sbms				vendor=ibm
1493127664Sbms				;;
149417683Spst			-ptx*)
149517683Spst				vendor=sequent
149617683Spst				;;
1497127664Sbms			-tpf*)
1498127664Sbms				vendor=ibm
1499127664Sbms				;;
1500127664Sbms			-vxsim* | -vxworks* | -windiss*)
150117683Spst				vendor=wrs
150217683Spst				;;
150326175Sfenner			-aux*)
150426175Sfenner				vendor=apple
150526175Sfenner				;;
150675107Sfenner			-hms*)
150775107Sfenner				vendor=hitachi
150875107Sfenner				;;
150975107Sfenner			-mpw* | -macos*)
151075107Sfenner				vendor=apple
151175107Sfenner				;;
151298530Sfenner			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
151375107Sfenner				vendor=atari
151475107Sfenner				;;
1515127664Sbms			-vos*)
1516127664Sbms				vendor=stratus
1517127664Sbms				;;
151817683Spst		esac
151917683Spst		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
152017683Spst		;;
152117683Spstesac
152217683Spst
152317683Spstecho $basic_machine$os
152475107Sfennerexit 0
152575107Sfenner
152675107Sfenner# Local variables:
152775107Sfenner# eval: (add-hook 'write-file-hooks 'time-stamp)
152875107Sfenner# time-stamp-start: "timestamp='"
152975107Sfenner# time-stamp-format: "%:y-%02m-%02d"
153075107Sfenner# time-stamp-end: "'"
153175107Sfenner# End:
1532