1357bfbb2Smrg#! /bin/sh
2357bfbb2Smrg# Configuration validation subroutine script.
3357bfbb2Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
483e03a40Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
583e03a40Smrg#   2011 Free Software Foundation, Inc.
6357bfbb2Smrg
783e03a40Smrgtimestamp='2011-03-23'
8357bfbb2Smrg
9357bfbb2Smrg# This file is (in principle) common to ALL GNU software.
10357bfbb2Smrg# The presence of a machine in this file suggests that SOME GNU software
11357bfbb2Smrg# can handle that machine.  It does not imply ALL GNU software can.
12357bfbb2Smrg#
13357bfbb2Smrg# This file is free software; you can redistribute it and/or modify
14357bfbb2Smrg# it under the terms of the GNU General Public License as published by
15357bfbb2Smrg# the Free Software Foundation; either version 2 of the License, or
16357bfbb2Smrg# (at your option) any later version.
17357bfbb2Smrg#
18357bfbb2Smrg# This program is distributed in the hope that it will be useful,
19357bfbb2Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20357bfbb2Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21357bfbb2Smrg# GNU General Public License for more details.
22357bfbb2Smrg#
23357bfbb2Smrg# You should have received a copy of the GNU General Public License
24357bfbb2Smrg# along with this program; if not, write to the Free Software
25357bfbb2Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26357bfbb2Smrg# 02110-1301, USA.
27357bfbb2Smrg#
28357bfbb2Smrg# As a special exception to the GNU General Public License, if you
29357bfbb2Smrg# distribute this file as part of a program that contains a
30357bfbb2Smrg# configuration script generated by Autoconf, you may include it under
31357bfbb2Smrg# the same distribution terms that you use for the rest of that program.
32357bfbb2Smrg
33357bfbb2Smrg
34357bfbb2Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3583e03a40Smrg# diff and a properly formatted GNU ChangeLog entry.
36357bfbb2Smrg#
37357bfbb2Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38357bfbb2Smrg# Supply the specified configuration type as an argument.
39357bfbb2Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40357bfbb2Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41357bfbb2Smrg
4283e03a40Smrg# You can get the latest version of this script from:
4383e03a40Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4483e03a40Smrg
45357bfbb2Smrg# This file is supposed to be the same for all GNU packages
46357bfbb2Smrg# and recognize all the CPU types, system types and aliases
47357bfbb2Smrg# that are meaningful with *any* GNU software.
48357bfbb2Smrg# Each package is responsible for reporting which valid configurations
49357bfbb2Smrg# it does not support.  The user should be able to distinguish
50357bfbb2Smrg# a failure to support a valid configuration from a meaningless
51357bfbb2Smrg# configuration.
52357bfbb2Smrg
53357bfbb2Smrg# The goal of this file is to map all the various variations of a given
54357bfbb2Smrg# machine specification into a single specification in the form:
55357bfbb2Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56357bfbb2Smrg# or in some cases, the newer four-part form:
57357bfbb2Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58357bfbb2Smrg# It is wrong to echo any other type of specification.
59357bfbb2Smrg
60357bfbb2Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61357bfbb2Smrg
62357bfbb2Smrgusage="\
63357bfbb2SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64357bfbb2Smrg       $0 [OPTION] ALIAS
65357bfbb2Smrg
66357bfbb2SmrgCanonicalize a configuration name.
67357bfbb2Smrg
68357bfbb2SmrgOperation modes:
69357bfbb2Smrg  -h, --help         print this help, then exit
70357bfbb2Smrg  -t, --time-stamp   print date of last modification, then exit
71357bfbb2Smrg  -v, --version      print version number, then exit
72357bfbb2Smrg
73357bfbb2SmrgReport bugs and patches to <config-patches@gnu.org>."
74357bfbb2Smrg
75357bfbb2Smrgversion="\
76357bfbb2SmrgGNU config.sub ($timestamp)
77357bfbb2Smrg
7883e03a40SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7983e03a40Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
8083e03a40SmrgSoftware Foundation, Inc.
81357bfbb2Smrg
82357bfbb2SmrgThis is free software; see the source for copying conditions.  There is NO
83357bfbb2Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84357bfbb2Smrg
85357bfbb2Smrghelp="
86357bfbb2SmrgTry \`$me --help' for more information."
87357bfbb2Smrg
88357bfbb2Smrg# Parse command line
89357bfbb2Smrgwhile test $# -gt 0 ; do
90357bfbb2Smrg  case $1 in
91357bfbb2Smrg    --time-stamp | --time* | -t )
92357bfbb2Smrg       echo "$timestamp" ; exit ;;
93357bfbb2Smrg    --version | -v )
94357bfbb2Smrg       echo "$version" ; exit ;;
95357bfbb2Smrg    --help | --h* | -h )
96357bfbb2Smrg       echo "$usage"; exit ;;
97357bfbb2Smrg    -- )     # Stop option processing
98357bfbb2Smrg       shift; break ;;
99357bfbb2Smrg    - )	# Use stdin as input.
100357bfbb2Smrg       break ;;
101357bfbb2Smrg    -* )
102357bfbb2Smrg       echo "$me: invalid option $1$help"
103357bfbb2Smrg       exit 1 ;;
104357bfbb2Smrg
105357bfbb2Smrg    *local*)
106357bfbb2Smrg       # First pass through any local machine types.
107357bfbb2Smrg       echo $1
108357bfbb2Smrg       exit ;;
109357bfbb2Smrg
110357bfbb2Smrg    * )
111357bfbb2Smrg       break ;;
112357bfbb2Smrg  esac
113357bfbb2Smrgdone
114357bfbb2Smrg
115357bfbb2Smrgcase $# in
116357bfbb2Smrg 0) echo "$me: missing argument$help" >&2
117357bfbb2Smrg    exit 1;;
118357bfbb2Smrg 1) ;;
119357bfbb2Smrg *) echo "$me: too many arguments$help" >&2
120357bfbb2Smrg    exit 1;;
121357bfbb2Smrgesac
122357bfbb2Smrg
123357bfbb2Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124357bfbb2Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125357bfbb2Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126357bfbb2Smrgcase $maybe_os in
12783e03a40Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12883e03a40Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12983e03a40Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13083e03a40Smrg  kopensolaris*-gnu* | \
13183e03a40Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132357bfbb2Smrg    os=-$maybe_os
133357bfbb2Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134357bfbb2Smrg    ;;
135357bfbb2Smrg  *)
136357bfbb2Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137357bfbb2Smrg    if [ $basic_machine != $1 ]
138357bfbb2Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139357bfbb2Smrg    else os=; fi
140357bfbb2Smrg    ;;
141357bfbb2Smrgesac
142357bfbb2Smrg
143357bfbb2Smrg### Let's recognize common machines as not being operating systems so
144357bfbb2Smrg### that things like config.sub decstation-3100 work.  We also
145357bfbb2Smrg### recognize some manufacturers as not being operating systems, so we
146357bfbb2Smrg### can provide default operating systems below.
147357bfbb2Smrgcase $os in
148357bfbb2Smrg	-sun*os*)
149357bfbb2Smrg		# Prevent following clause from handling this invalid input.
150357bfbb2Smrg		;;
151357bfbb2Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152357bfbb2Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153357bfbb2Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154357bfbb2Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155357bfbb2Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156357bfbb2Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15783e03a40Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158357bfbb2Smrg		os=
159357bfbb2Smrg		basic_machine=$1
160357bfbb2Smrg		;;
16183e03a40Smrg	-bluegene*)
16283e03a40Smrg		os=-cnk
16383e03a40Smrg		;;
164357bfbb2Smrg	-sim | -cisco | -oki | -wec | -winbond)
165357bfbb2Smrg		os=
166357bfbb2Smrg		basic_machine=$1
167357bfbb2Smrg		;;
168357bfbb2Smrg	-scout)
169357bfbb2Smrg		;;
170357bfbb2Smrg	-wrs)
171357bfbb2Smrg		os=-vxworks
172357bfbb2Smrg		basic_machine=$1
173357bfbb2Smrg		;;
174357bfbb2Smrg	-chorusos*)
175357bfbb2Smrg		os=-chorusos
176357bfbb2Smrg		basic_machine=$1
177357bfbb2Smrg		;;
17883e03a40Smrg	-chorusrdb)
17983e03a40Smrg		os=-chorusrdb
180357bfbb2Smrg		basic_machine=$1
18183e03a40Smrg		;;
182357bfbb2Smrg	-hiux*)
183357bfbb2Smrg		os=-hiuxwe2
184357bfbb2Smrg		;;
18583e03a40Smrg	-sco6)
18683e03a40Smrg		os=-sco5v6
18783e03a40Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18883e03a40Smrg		;;
189357bfbb2Smrg	-sco5)
190357bfbb2Smrg		os=-sco3.2v5
191357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192357bfbb2Smrg		;;
193357bfbb2Smrg	-sco4)
194357bfbb2Smrg		os=-sco3.2v4
195357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196357bfbb2Smrg		;;
197357bfbb2Smrg	-sco3.2.[4-9]*)
198357bfbb2Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200357bfbb2Smrg		;;
201357bfbb2Smrg	-sco3.2v[4-9]*)
202357bfbb2Smrg		# Don't forget version if it is 3.2v4 or newer.
203357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204357bfbb2Smrg		;;
20583e03a40Smrg	-sco5v6*)
20683e03a40Smrg		# Don't forget version if it is 3.2v4 or newer.
20783e03a40Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20883e03a40Smrg		;;
209357bfbb2Smrg	-sco*)
210357bfbb2Smrg		os=-sco3.2v2
211357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212357bfbb2Smrg		;;
213357bfbb2Smrg	-udk*)
214357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215357bfbb2Smrg		;;
216357bfbb2Smrg	-isc)
217357bfbb2Smrg		os=-isc2.2
218357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219357bfbb2Smrg		;;
220357bfbb2Smrg	-clix*)
221357bfbb2Smrg		basic_machine=clipper-intergraph
222357bfbb2Smrg		;;
223357bfbb2Smrg	-isc*)
224357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225357bfbb2Smrg		;;
226357bfbb2Smrg	-lynx*)
227357bfbb2Smrg		os=-lynxos
228357bfbb2Smrg		;;
229357bfbb2Smrg	-ptx*)
230357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231357bfbb2Smrg		;;
232357bfbb2Smrg	-windowsnt*)
233357bfbb2Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234357bfbb2Smrg		;;
235357bfbb2Smrg	-psos*)
236357bfbb2Smrg		os=-psos
237357bfbb2Smrg		;;
238357bfbb2Smrg	-mint | -mint[0-9]*)
239357bfbb2Smrg		basic_machine=m68k-atari
240357bfbb2Smrg		os=-mint
241357bfbb2Smrg		;;
242357bfbb2Smrgesac
243357bfbb2Smrg
244357bfbb2Smrg# Decode aliases for certain CPU-COMPANY combinations.
245357bfbb2Smrgcase $basic_machine in
246357bfbb2Smrg	# Recognize the basic CPU types without company name.
247357bfbb2Smrg	# Some are omitted here because they have special meanings below.
248357bfbb2Smrg	1750a | 580 \
249357bfbb2Smrg	| a29k \
250357bfbb2Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251357bfbb2Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252357bfbb2Smrg	| am33_2.0 \
25383e03a40Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254357bfbb2Smrg	| bfin \
255357bfbb2Smrg	| c4x | clipper \
256357bfbb2Smrg	| d10v | d30v | dlx | dsp16xx \
25783e03a40Smrg	| fido | fr30 | frv \
258357bfbb2Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259357bfbb2Smrg	| i370 | i860 | i960 | ia64 \
260357bfbb2Smrg	| ip2k | iq2000 \
26183e03a40Smrg	| lm32 \
26283e03a40Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26383e03a40Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264357bfbb2Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265357bfbb2Smrg	| mips16 \
266357bfbb2Smrg	| mips64 | mips64el \
26783e03a40Smrg	| mips64octeon | mips64octeonel \
268357bfbb2Smrg	| mips64orion | mips64orionel \
26983e03a40Smrg	| mips64r5900 | mips64r5900el \
27083e03a40Smrg	| mips64vr | mips64vrel \
271357bfbb2Smrg	| mips64vr4100 | mips64vr4100el \
272357bfbb2Smrg	| mips64vr4300 | mips64vr4300el \
273357bfbb2Smrg	| mips64vr5000 | mips64vr5000el \
274357bfbb2Smrg	| mips64vr5900 | mips64vr5900el \
275357bfbb2Smrg	| mipsisa32 | mipsisa32el \
276357bfbb2Smrg	| mipsisa32r2 | mipsisa32r2el \
277357bfbb2Smrg	| mipsisa64 | mipsisa64el \
278357bfbb2Smrg	| mipsisa64r2 | mipsisa64r2el \
279357bfbb2Smrg	| mipsisa64sb1 | mipsisa64sb1el \
280357bfbb2Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
281357bfbb2Smrg	| mipstx39 | mipstx39el \
282357bfbb2Smrg	| mn10200 | mn10300 \
28383e03a40Smrg	| moxie \
28483e03a40Smrg	| mt \
285357bfbb2Smrg	| msp430 \
28683e03a40Smrg	| nds32 | nds32le | nds32be \
28783e03a40Smrg	| nios | nios2 \
288357bfbb2Smrg	| ns16k | ns32k \
28983e03a40Smrg	| open8 \
290357bfbb2Smrg	| or32 \
291357bfbb2Smrg	| pdp10 | pdp11 | pj | pjl \
29283e03a40Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
293357bfbb2Smrg	| pyramid \
29483e03a40Smrg	| rx \
29583e03a40Smrg	| score \
29683e03a40Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
297357bfbb2Smrg	| sh64 | sh64le \
29883e03a40Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29983e03a40Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
30083e03a40Smrg	| spu \
30183e03a40Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30283e03a40Smrg	| ubicom32 \
303357bfbb2Smrg	| v850 | v850e \
304357bfbb2Smrg	| we32k \
30583e03a40Smrg	| x86 | xc16x | xstormy16 | xtensa \
30683e03a40Smrg	| z8k | z80)
307357bfbb2Smrg		basic_machine=$basic_machine-unknown
308357bfbb2Smrg		;;
30983e03a40Smrg	c54x)
31083e03a40Smrg		basic_machine=tic54x-unknown
311357bfbb2Smrg		;;
31283e03a40Smrg	c55x)
31383e03a40Smrg		basic_machine=tic55x-unknown
31483e03a40Smrg		;;
31583e03a40Smrg	c6x)
31683e03a40Smrg		basic_machine=tic6x-unknown
31783e03a40Smrg		;;
31883e03a40Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
319357bfbb2Smrg		# Motorola 68HC11/12.
320357bfbb2Smrg		basic_machine=$basic_machine-unknown
321357bfbb2Smrg		os=-none
322357bfbb2Smrg		;;
323357bfbb2Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
324357bfbb2Smrg		;;
32583e03a40Smrg	ms1)
32683e03a40Smrg		basic_machine=mt-unknown
32783e03a40Smrg		;;
32883e03a40Smrg
32983e03a40Smrg	strongarm | thumb | xscale)
33083e03a40Smrg		basic_machine=arm-unknown
33183e03a40Smrg		;;
33283e03a40Smrg
33383e03a40Smrg	xscaleeb)
33483e03a40Smrg		basic_machine=armeb-unknown
33583e03a40Smrg		;;
33683e03a40Smrg
33783e03a40Smrg	xscaleel)
33883e03a40Smrg		basic_machine=armel-unknown
33983e03a40Smrg		;;
340357bfbb2Smrg
341357bfbb2Smrg	# We use `pc' rather than `unknown'
342357bfbb2Smrg	# because (1) that's what they normally are, and
343357bfbb2Smrg	# (2) the word "unknown" tends to confuse beginning users.
344357bfbb2Smrg	i*86 | x86_64)
345357bfbb2Smrg	  basic_machine=$basic_machine-pc
346357bfbb2Smrg	  ;;
347357bfbb2Smrg	# Object if more than one company name word.
348357bfbb2Smrg	*-*-*)
349357bfbb2Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
350357bfbb2Smrg		exit 1
351357bfbb2Smrg		;;
352357bfbb2Smrg	# Recognize the basic CPU types with company name.
353357bfbb2Smrg	580-* \
354357bfbb2Smrg	| a29k-* \
355357bfbb2Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
356357bfbb2Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
357357bfbb2Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
358357bfbb2Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
35983e03a40Smrg	| avr-* | avr32-* \
360357bfbb2Smrg	| bfin-* | bs2000-* \
36183e03a40Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
362357bfbb2Smrg	| clipper-* | craynv-* | cydra-* \
363357bfbb2Smrg	| d10v-* | d30v-* | dlx-* \
364357bfbb2Smrg	| elxsi-* \
36583e03a40Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
366357bfbb2Smrg	| h8300-* | h8500-* \
367357bfbb2Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
368357bfbb2Smrg	| i*86-* | i860-* | i960-* | ia64-* \
369357bfbb2Smrg	| ip2k-* | iq2000-* \
37083e03a40Smrg	| lm32-* \
37183e03a40Smrg	| m32c-* | m32r-* | m32rle-* \
372357bfbb2Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
37383e03a40Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
374357bfbb2Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
375357bfbb2Smrg	| mips16-* \
376357bfbb2Smrg	| mips64-* | mips64el-* \
37783e03a40Smrg	| mips64octeon-* | mips64octeonel-* \
378357bfbb2Smrg	| mips64orion-* | mips64orionel-* \
37983e03a40Smrg	| mips64r5900-* | mips64r5900el-* \
38083e03a40Smrg	| mips64vr-* | mips64vrel-* \
381357bfbb2Smrg	| mips64vr4100-* | mips64vr4100el-* \
382357bfbb2Smrg	| mips64vr4300-* | mips64vr4300el-* \
383357bfbb2Smrg	| mips64vr5000-* | mips64vr5000el-* \
384357bfbb2Smrg	| mips64vr5900-* | mips64vr5900el-* \
385357bfbb2Smrg	| mipsisa32-* | mipsisa32el-* \
386357bfbb2Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
387357bfbb2Smrg	| mipsisa64-* | mipsisa64el-* \
388357bfbb2Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
389357bfbb2Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
390357bfbb2Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
391357bfbb2Smrg	| mipstx39-* | mipstx39el-* \
392357bfbb2Smrg	| mmix-* \
39383e03a40Smrg	| mt-* \
394357bfbb2Smrg	| msp430-* \
39583e03a40Smrg	| nds32-* | nds32le-* | nds32be-* \
39683e03a40Smrg	| nios-* | nios2-* \
397357bfbb2Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
39883e03a40Smrg	| open8-* \
399357bfbb2Smrg	| orion-* \
400357bfbb2Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
40183e03a40Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
402357bfbb2Smrg	| pyramid-* \
40383e03a40Smrg	| romp-* | rs6000-* | rx-* \
40483e03a40Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
405357bfbb2Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
40683e03a40Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
407357bfbb2Smrg	| sparclite-* \
40883e03a40Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
40983e03a40Smrg	| tahoe-* \
410357bfbb2Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
41183e03a40Smrg	| tile-* | tilegx-* \
412357bfbb2Smrg	| tron-* \
41383e03a40Smrg	| ubicom32-* \
414357bfbb2Smrg	| v850-* | v850e-* | vax-* \
415357bfbb2Smrg	| we32k-* \
41683e03a40Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
41783e03a40Smrg	| xstormy16-* | xtensa*-* \
418357bfbb2Smrg	| ymp-* \
41983e03a40Smrg	| z8k-* | z80-*)
420357bfbb2Smrg		;;
42183e03a40Smrg	# Recognize the basic CPU types without company name, with glob match.
42283e03a40Smrg	xtensa*)
42383e03a40Smrg		basic_machine=$basic_machine-unknown
424357bfbb2Smrg		;;
425357bfbb2Smrg	# Recognize the various machine names and aliases which stand
426357bfbb2Smrg	# for a CPU type and a company and sometimes even an OS.
427357bfbb2Smrg	386bsd)
428357bfbb2Smrg		basic_machine=i386-unknown
429357bfbb2Smrg		os=-bsd
430357bfbb2Smrg		;;
431357bfbb2Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
432357bfbb2Smrg		basic_machine=m68000-att
433357bfbb2Smrg		;;
434357bfbb2Smrg	3b*)
435357bfbb2Smrg		basic_machine=we32k-att
436357bfbb2Smrg		;;
437357bfbb2Smrg	a29khif)
438357bfbb2Smrg		basic_machine=a29k-amd
439357bfbb2Smrg		os=-udi
440357bfbb2Smrg		;;
44183e03a40Smrg	abacus)
442357bfbb2Smrg		basic_machine=abacus-unknown
443357bfbb2Smrg		;;
444357bfbb2Smrg	adobe68k)
445357bfbb2Smrg		basic_machine=m68010-adobe
446357bfbb2Smrg		os=-scout
447357bfbb2Smrg		;;
448357bfbb2Smrg	alliant | fx80)
449357bfbb2Smrg		basic_machine=fx80-alliant
450357bfbb2Smrg		;;
451357bfbb2Smrg	altos | altos3068)
452357bfbb2Smrg		basic_machine=m68k-altos
453357bfbb2Smrg		;;
454357bfbb2Smrg	am29k)
455357bfbb2Smrg		basic_machine=a29k-none
456357bfbb2Smrg		os=-bsd
457357bfbb2Smrg		;;
458357bfbb2Smrg	amd64)
459357bfbb2Smrg		basic_machine=x86_64-pc
460357bfbb2Smrg		;;
461357bfbb2Smrg	amd64-*)
462357bfbb2Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
463357bfbb2Smrg		;;
464357bfbb2Smrg	amdahl)
465357bfbb2Smrg		basic_machine=580-amdahl
466357bfbb2Smrg		os=-sysv
467357bfbb2Smrg		;;
468357bfbb2Smrg	amiga | amiga-*)
469357bfbb2Smrg		basic_machine=m68k-unknown
470357bfbb2Smrg		;;
471357bfbb2Smrg	amigaos | amigados)
472357bfbb2Smrg		basic_machine=m68k-unknown
473357bfbb2Smrg		os=-amigaos
474357bfbb2Smrg		;;
475357bfbb2Smrg	amigaunix | amix)
476357bfbb2Smrg		basic_machine=m68k-unknown
477357bfbb2Smrg		os=-sysv4
478357bfbb2Smrg		;;
479357bfbb2Smrg	apollo68)
480357bfbb2Smrg		basic_machine=m68k-apollo
481357bfbb2Smrg		os=-sysv
482357bfbb2Smrg		;;
483357bfbb2Smrg	apollo68bsd)
484357bfbb2Smrg		basic_machine=m68k-apollo
485357bfbb2Smrg		os=-bsd
486357bfbb2Smrg		;;
48783e03a40Smrg	aros)
48883e03a40Smrg		basic_machine=i386-pc
48983e03a40Smrg		os=-aros
49083e03a40Smrg		;;
491357bfbb2Smrg	aux)
492357bfbb2Smrg		basic_machine=m68k-apple
493357bfbb2Smrg		os=-aux
494357bfbb2Smrg		;;
495357bfbb2Smrg	balance)
496357bfbb2Smrg		basic_machine=ns32k-sequent
497357bfbb2Smrg		os=-dynix
498357bfbb2Smrg		;;
49983e03a40Smrg	blackfin)
50083e03a40Smrg		basic_machine=bfin-unknown
50183e03a40Smrg		os=-linux
50283e03a40Smrg		;;
50383e03a40Smrg	blackfin-*)
50483e03a40Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
50583e03a40Smrg		os=-linux
50683e03a40Smrg		;;
50783e03a40Smrg	bluegene*)
50883e03a40Smrg		basic_machine=powerpc-ibm
50983e03a40Smrg		os=-cnk
51083e03a40Smrg		;;
51183e03a40Smrg	c54x-*)
51283e03a40Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
51383e03a40Smrg		;;
51483e03a40Smrg	c55x-*)
51583e03a40Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
51683e03a40Smrg		;;
51783e03a40Smrg	c6x-*)
51883e03a40Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
51983e03a40Smrg		;;
520357bfbb2Smrg	c90)
521357bfbb2Smrg		basic_machine=c90-cray
522357bfbb2Smrg		os=-unicos
523357bfbb2Smrg		;;
52483e03a40Smrg	cegcc)
52583e03a40Smrg		basic_machine=arm-unknown
52683e03a40Smrg		os=-cegcc
52783e03a40Smrg		;;
528357bfbb2Smrg	convex-c1)
529357bfbb2Smrg		basic_machine=c1-convex
530357bfbb2Smrg		os=-bsd
531357bfbb2Smrg		;;
532357bfbb2Smrg	convex-c2)
533357bfbb2Smrg		basic_machine=c2-convex
534357bfbb2Smrg		os=-bsd
535357bfbb2Smrg		;;
536357bfbb2Smrg	convex-c32)
537357bfbb2Smrg		basic_machine=c32-convex
538357bfbb2Smrg		os=-bsd
539357bfbb2Smrg		;;
540357bfbb2Smrg	convex-c34)
541357bfbb2Smrg		basic_machine=c34-convex
542357bfbb2Smrg		os=-bsd
543357bfbb2Smrg		;;
544357bfbb2Smrg	convex-c38)
545357bfbb2Smrg		basic_machine=c38-convex
546357bfbb2Smrg		os=-bsd
547357bfbb2Smrg		;;
548357bfbb2Smrg	cray | j90)
549357bfbb2Smrg		basic_machine=j90-cray
550357bfbb2Smrg		os=-unicos
551357bfbb2Smrg		;;
552357bfbb2Smrg	craynv)
553357bfbb2Smrg		basic_machine=craynv-cray
554357bfbb2Smrg		os=-unicosmp
555357bfbb2Smrg		;;
55683e03a40Smrg	cr16 | cr16-*)
55783e03a40Smrg		basic_machine=cr16-unknown
558357bfbb2Smrg		os=-elf
559357bfbb2Smrg		;;
560357bfbb2Smrg	crds | unos)
561357bfbb2Smrg		basic_machine=m68k-crds
562357bfbb2Smrg		;;
563357bfbb2Smrg	crisv32 | crisv32-* | etraxfs*)
564357bfbb2Smrg		basic_machine=crisv32-axis
565357bfbb2Smrg		;;
566357bfbb2Smrg	cris | cris-* | etrax*)
567357bfbb2Smrg		basic_machine=cris-axis
568357bfbb2Smrg		;;
569357bfbb2Smrg	crx)
570357bfbb2Smrg		basic_machine=crx-unknown
571357bfbb2Smrg		os=-elf
572357bfbb2Smrg		;;
573357bfbb2Smrg	da30 | da30-*)
574357bfbb2Smrg		basic_machine=m68k-da30
575357bfbb2Smrg		;;
576357bfbb2Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
577357bfbb2Smrg		basic_machine=mips-dec
578357bfbb2Smrg		;;
579357bfbb2Smrg	decsystem10* | dec10*)
580357bfbb2Smrg		basic_machine=pdp10-dec
581357bfbb2Smrg		os=-tops10
582357bfbb2Smrg		;;
583357bfbb2Smrg	decsystem20* | dec20*)
584357bfbb2Smrg		basic_machine=pdp10-dec
585357bfbb2Smrg		os=-tops20
586357bfbb2Smrg		;;
587357bfbb2Smrg	delta | 3300 | motorola-3300 | motorola-delta \
588357bfbb2Smrg	      | 3300-motorola | delta-motorola)
589357bfbb2Smrg		basic_machine=m68k-motorola
590357bfbb2Smrg		;;
591357bfbb2Smrg	delta88)
592357bfbb2Smrg		basic_machine=m88k-motorola
593357bfbb2Smrg		os=-sysv3
594357bfbb2Smrg		;;
59583e03a40Smrg	dicos)
59683e03a40Smrg		basic_machine=i686-pc
59783e03a40Smrg		os=-dicos
59883e03a40Smrg		;;
599357bfbb2Smrg	djgpp)
600357bfbb2Smrg		basic_machine=i586-pc
601357bfbb2Smrg		os=-msdosdjgpp
602357bfbb2Smrg		;;
603357bfbb2Smrg	dpx20 | dpx20-*)
604357bfbb2Smrg		basic_machine=rs6000-bull
605357bfbb2Smrg		os=-bosx
606357bfbb2Smrg		;;
607357bfbb2Smrg	dpx2* | dpx2*-bull)
608357bfbb2Smrg		basic_machine=m68k-bull
609357bfbb2Smrg		os=-sysv3
610357bfbb2Smrg		;;
611357bfbb2Smrg	ebmon29k)
612357bfbb2Smrg		basic_machine=a29k-amd
613357bfbb2Smrg		os=-ebmon
614357bfbb2Smrg		;;
615357bfbb2Smrg	elxsi)
616357bfbb2Smrg		basic_machine=elxsi-elxsi
617357bfbb2Smrg		os=-bsd
618357bfbb2Smrg		;;
619357bfbb2Smrg	encore | umax | mmax)
620357bfbb2Smrg		basic_machine=ns32k-encore
621357bfbb2Smrg		;;
622357bfbb2Smrg	es1800 | OSE68k | ose68k | ose | OSE)
623357bfbb2Smrg		basic_machine=m68k-ericsson
624357bfbb2Smrg		os=-ose
625357bfbb2Smrg		;;
626357bfbb2Smrg	fx2800)
627357bfbb2Smrg		basic_machine=i860-alliant
628357bfbb2Smrg		;;
629357bfbb2Smrg	genix)
630357bfbb2Smrg		basic_machine=ns32k-ns
631357bfbb2Smrg		;;
632357bfbb2Smrg	gmicro)
633357bfbb2Smrg		basic_machine=tron-gmicro
634357bfbb2Smrg		os=-sysv
635357bfbb2Smrg		;;
636357bfbb2Smrg	go32)
637357bfbb2Smrg		basic_machine=i386-pc
638357bfbb2Smrg		os=-go32
639357bfbb2Smrg		;;
640357bfbb2Smrg	h3050r* | hiux*)
641357bfbb2Smrg		basic_machine=hppa1.1-hitachi
642357bfbb2Smrg		os=-hiuxwe2
643357bfbb2Smrg		;;
644357bfbb2Smrg	h8300hms)
645357bfbb2Smrg		basic_machine=h8300-hitachi
646357bfbb2Smrg		os=-hms
647357bfbb2Smrg		;;
648357bfbb2Smrg	h8300xray)
649357bfbb2Smrg		basic_machine=h8300-hitachi
650357bfbb2Smrg		os=-xray
651357bfbb2Smrg		;;
652357bfbb2Smrg	h8500hms)
653357bfbb2Smrg		basic_machine=h8500-hitachi
654357bfbb2Smrg		os=-hms
655357bfbb2Smrg		;;
656357bfbb2Smrg	harris)
657357bfbb2Smrg		basic_machine=m88k-harris
658357bfbb2Smrg		os=-sysv3
659357bfbb2Smrg		;;
660357bfbb2Smrg	hp300-*)
661357bfbb2Smrg		basic_machine=m68k-hp
662357bfbb2Smrg		;;
663357bfbb2Smrg	hp300bsd)
664357bfbb2Smrg		basic_machine=m68k-hp
665357bfbb2Smrg		os=-bsd
666357bfbb2Smrg		;;
667357bfbb2Smrg	hp300hpux)
668357bfbb2Smrg		basic_machine=m68k-hp
669357bfbb2Smrg		os=-hpux
670357bfbb2Smrg		;;
671357bfbb2Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
672357bfbb2Smrg		basic_machine=hppa1.0-hp
673357bfbb2Smrg		;;
674357bfbb2Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
675357bfbb2Smrg		basic_machine=m68000-hp
676357bfbb2Smrg		;;
677357bfbb2Smrg	hp9k3[2-9][0-9])
678357bfbb2Smrg		basic_machine=m68k-hp
679357bfbb2Smrg		;;
680357bfbb2Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
681357bfbb2Smrg		basic_machine=hppa1.0-hp
682357bfbb2Smrg		;;
683357bfbb2Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
684357bfbb2Smrg		basic_machine=hppa1.1-hp
685357bfbb2Smrg		;;
686357bfbb2Smrg	hp9k78[0-9] | hp78[0-9])
687357bfbb2Smrg		# FIXME: really hppa2.0-hp
688357bfbb2Smrg		basic_machine=hppa1.1-hp
689357bfbb2Smrg		;;
690357bfbb2Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
691357bfbb2Smrg		# FIXME: really hppa2.0-hp
692357bfbb2Smrg		basic_machine=hppa1.1-hp
693357bfbb2Smrg		;;
694357bfbb2Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
695357bfbb2Smrg		basic_machine=hppa1.1-hp
696357bfbb2Smrg		;;
697357bfbb2Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
698357bfbb2Smrg		basic_machine=hppa1.0-hp
699357bfbb2Smrg		;;
700357bfbb2Smrg	hppa-next)
701357bfbb2Smrg		os=-nextstep3
702357bfbb2Smrg		;;
703357bfbb2Smrg	hppaosf)
704357bfbb2Smrg		basic_machine=hppa1.1-hp
705357bfbb2Smrg		os=-osf
706357bfbb2Smrg		;;
707357bfbb2Smrg	hppro)
708357bfbb2Smrg		basic_machine=hppa1.1-hp
709357bfbb2Smrg		os=-proelf
710357bfbb2Smrg		;;
711357bfbb2Smrg	i370-ibm* | ibm*)
712357bfbb2Smrg		basic_machine=i370-ibm
713357bfbb2Smrg		;;
714357bfbb2Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
715357bfbb2Smrg	i*86v32)
716357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
717357bfbb2Smrg		os=-sysv32
718357bfbb2Smrg		;;
719357bfbb2Smrg	i*86v4*)
720357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
721357bfbb2Smrg		os=-sysv4
722357bfbb2Smrg		;;
723357bfbb2Smrg	i*86v)
724357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725357bfbb2Smrg		os=-sysv
726357bfbb2Smrg		;;
727357bfbb2Smrg	i*86sol2)
728357bfbb2Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
729357bfbb2Smrg		os=-solaris2
730357bfbb2Smrg		;;
731357bfbb2Smrg	i386mach)
732357bfbb2Smrg		basic_machine=i386-mach
733357bfbb2Smrg		os=-mach
734357bfbb2Smrg		;;
735357bfbb2Smrg	i386-vsta | vsta)
736357bfbb2Smrg		basic_machine=i386-unknown
737357bfbb2Smrg		os=-vsta
738357bfbb2Smrg		;;
739357bfbb2Smrg	iris | iris4d)
740357bfbb2Smrg		basic_machine=mips-sgi
741357bfbb2Smrg		case $os in
742357bfbb2Smrg		    -irix*)
743357bfbb2Smrg			;;
744357bfbb2Smrg		    *)
745357bfbb2Smrg			os=-irix4
746357bfbb2Smrg			;;
747357bfbb2Smrg		esac
748357bfbb2Smrg		;;
749357bfbb2Smrg	isi68 | isi)
750357bfbb2Smrg		basic_machine=m68k-isi
751357bfbb2Smrg		os=-sysv
752357bfbb2Smrg		;;
75383e03a40Smrg	m68knommu)
75483e03a40Smrg		basic_machine=m68k-unknown
75583e03a40Smrg		os=-linux
75683e03a40Smrg		;;
75783e03a40Smrg	m68knommu-*)
75883e03a40Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
75983e03a40Smrg		os=-linux
76083e03a40Smrg		;;
761357bfbb2Smrg	m88k-omron*)
762357bfbb2Smrg		basic_machine=m88k-omron
763357bfbb2Smrg		;;
764357bfbb2Smrg	magnum | m3230)
765357bfbb2Smrg		basic_machine=mips-mips
766357bfbb2Smrg		os=-sysv
767357bfbb2Smrg		;;
768357bfbb2Smrg	merlin)
769357bfbb2Smrg		basic_machine=ns32k-utek
770357bfbb2Smrg		os=-sysv
771357bfbb2Smrg		;;
77283e03a40Smrg	microblaze)
77383e03a40Smrg		basic_machine=microblaze-xilinx
77483e03a40Smrg		;;
775357bfbb2Smrg	mingw32)
776357bfbb2Smrg		basic_machine=i386-pc
777357bfbb2Smrg		os=-mingw32
778357bfbb2Smrg		;;
77983e03a40Smrg	mingw32ce)
78083e03a40Smrg		basic_machine=arm-unknown
78183e03a40Smrg		os=-mingw32ce
78283e03a40Smrg		;;
783357bfbb2Smrg	miniframe)
784357bfbb2Smrg		basic_machine=m68000-convergent
785357bfbb2Smrg		;;
786357bfbb2Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
787357bfbb2Smrg		basic_machine=m68k-atari
788357bfbb2Smrg		os=-mint
789357bfbb2Smrg		;;
790357bfbb2Smrg	mips3*-*)
791357bfbb2Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
792357bfbb2Smrg		;;
793357bfbb2Smrg	mips3*)
794357bfbb2Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
795357bfbb2Smrg		;;
796357bfbb2Smrg	monitor)
797357bfbb2Smrg		basic_machine=m68k-rom68k
798357bfbb2Smrg		os=-coff
799357bfbb2Smrg		;;
800357bfbb2Smrg	morphos)
801357bfbb2Smrg		basic_machine=powerpc-unknown
802357bfbb2Smrg		os=-morphos
803357bfbb2Smrg		;;
804357bfbb2Smrg	msdos)
805357bfbb2Smrg		basic_machine=i386-pc
806357bfbb2Smrg		os=-msdos
807357bfbb2Smrg		;;
80883e03a40Smrg	ms1-*)
80983e03a40Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
81083e03a40Smrg		;;
811357bfbb2Smrg	mvs)
812357bfbb2Smrg		basic_machine=i370-ibm
813357bfbb2Smrg		os=-mvs
814357bfbb2Smrg		;;
815357bfbb2Smrg	ncr3000)
816357bfbb2Smrg		basic_machine=i486-ncr
817357bfbb2Smrg		os=-sysv4
818357bfbb2Smrg		;;
819357bfbb2Smrg	netbsd386)
820357bfbb2Smrg		basic_machine=i386-unknown
821357bfbb2Smrg		os=-netbsd
822357bfbb2Smrg		;;
823357bfbb2Smrg	netwinder)
824357bfbb2Smrg		basic_machine=armv4l-rebel
825357bfbb2Smrg		os=-linux
826357bfbb2Smrg		;;
827357bfbb2Smrg	news | news700 | news800 | news900)
828357bfbb2Smrg		basic_machine=m68k-sony
829357bfbb2Smrg		os=-newsos
830357bfbb2Smrg		;;
831357bfbb2Smrg	news1000)
832357bfbb2Smrg		basic_machine=m68030-sony
833357bfbb2Smrg		os=-newsos
834357bfbb2Smrg		;;
835357bfbb2Smrg	news-3600 | risc-news)
836357bfbb2Smrg		basic_machine=mips-sony
837357bfbb2Smrg		os=-newsos
838357bfbb2Smrg		;;
839357bfbb2Smrg	necv70)
840357bfbb2Smrg		basic_machine=v70-nec
841357bfbb2Smrg		os=-sysv
842357bfbb2Smrg		;;
843357bfbb2Smrg	next | m*-next )
844357bfbb2Smrg		basic_machine=m68k-next
845357bfbb2Smrg		case $os in
846357bfbb2Smrg		    -nextstep* )
847357bfbb2Smrg			;;
848357bfbb2Smrg		    -ns2*)
849357bfbb2Smrg		      os=-nextstep2
850357bfbb2Smrg			;;
851357bfbb2Smrg		    *)
852357bfbb2Smrg		      os=-nextstep3
853357bfbb2Smrg			;;
854357bfbb2Smrg		esac
855357bfbb2Smrg		;;
856357bfbb2Smrg	nh3000)
857357bfbb2Smrg		basic_machine=m68k-harris
858357bfbb2Smrg		os=-cxux
859357bfbb2Smrg		;;
860357bfbb2Smrg	nh[45]000)
861357bfbb2Smrg		basic_machine=m88k-harris
862357bfbb2Smrg		os=-cxux
863357bfbb2Smrg		;;
864357bfbb2Smrg	nindy960)
865357bfbb2Smrg		basic_machine=i960-intel
866357bfbb2Smrg		os=-nindy
867357bfbb2Smrg		;;
868357bfbb2Smrg	mon960)
869357bfbb2Smrg		basic_machine=i960-intel
870357bfbb2Smrg		os=-mon960
871357bfbb2Smrg		;;
872357bfbb2Smrg	nonstopux)
873357bfbb2Smrg		basic_machine=mips-compaq
874357bfbb2Smrg		os=-nonstopux
875357bfbb2Smrg		;;
876357bfbb2Smrg	np1)
877357bfbb2Smrg		basic_machine=np1-gould
878357bfbb2Smrg		;;
87983e03a40Smrg	neo-tandem)
88083e03a40Smrg		basic_machine=neo-tandem
88183e03a40Smrg		;;
88283e03a40Smrg	nse-tandem)
88383e03a40Smrg		basic_machine=nse-tandem
88483e03a40Smrg		;;
885357bfbb2Smrg	nsr-tandem)
886357bfbb2Smrg		basic_machine=nsr-tandem
887357bfbb2Smrg		;;
888357bfbb2Smrg	op50n-* | op60c-*)
889357bfbb2Smrg		basic_machine=hppa1.1-oki
890357bfbb2Smrg		os=-proelf
891357bfbb2Smrg		;;
892357bfbb2Smrg	openrisc | openrisc-*)
893357bfbb2Smrg		basic_machine=or32-unknown
894357bfbb2Smrg		;;
895357bfbb2Smrg	os400)
896357bfbb2Smrg		basic_machine=powerpc-ibm
897357bfbb2Smrg		os=-os400
898357bfbb2Smrg		;;
899357bfbb2Smrg	OSE68000 | ose68000)
900357bfbb2Smrg		basic_machine=m68000-ericsson
901357bfbb2Smrg		os=-ose
902357bfbb2Smrg		;;
903357bfbb2Smrg	os68k)
904357bfbb2Smrg		basic_machine=m68k-none
905357bfbb2Smrg		os=-os68k
906357bfbb2Smrg		;;
907357bfbb2Smrg	pa-hitachi)
908357bfbb2Smrg		basic_machine=hppa1.1-hitachi
909357bfbb2Smrg		os=-hiuxwe2
910357bfbb2Smrg		;;
911357bfbb2Smrg	paragon)
912357bfbb2Smrg		basic_machine=i860-intel
913357bfbb2Smrg		os=-osf
914357bfbb2Smrg		;;
91583e03a40Smrg	parisc)
91683e03a40Smrg		basic_machine=hppa-unknown
91783e03a40Smrg		os=-linux
91883e03a40Smrg		;;
91983e03a40Smrg	parisc-*)
92083e03a40Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
92183e03a40Smrg		os=-linux
92283e03a40Smrg		;;
923357bfbb2Smrg	pbd)
924357bfbb2Smrg		basic_machine=sparc-tti
925357bfbb2Smrg		;;
926357bfbb2Smrg	pbb)
927357bfbb2Smrg		basic_machine=m68k-tti
928357bfbb2Smrg		;;
929357bfbb2Smrg	pc532 | pc532-*)
930357bfbb2Smrg		basic_machine=ns32k-pc532
931357bfbb2Smrg		;;
93283e03a40Smrg	pc98)
93383e03a40Smrg		basic_machine=i386-pc
93483e03a40Smrg		;;
93583e03a40Smrg	pc98-*)
93683e03a40Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
93783e03a40Smrg		;;
938357bfbb2Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
939357bfbb2Smrg		basic_machine=i586-pc
940357bfbb2Smrg		;;
941357bfbb2Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
942357bfbb2Smrg		basic_machine=i686-pc
943357bfbb2Smrg		;;
944357bfbb2Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
945357bfbb2Smrg		basic_machine=i686-pc
946357bfbb2Smrg		;;
947357bfbb2Smrg	pentium4)
948357bfbb2Smrg		basic_machine=i786-pc
949357bfbb2Smrg		;;
950357bfbb2Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
951357bfbb2Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
952357bfbb2Smrg		;;
953357bfbb2Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
954357bfbb2Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
955357bfbb2Smrg		;;
956357bfbb2Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
957357bfbb2Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
958357bfbb2Smrg		;;
959357bfbb2Smrg	pentium4-*)
960357bfbb2Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
961357bfbb2Smrg		;;
962357bfbb2Smrg	pn)
963357bfbb2Smrg		basic_machine=pn-gould
964357bfbb2Smrg		;;
965357bfbb2Smrg	power)	basic_machine=power-ibm
966357bfbb2Smrg		;;
96783e03a40Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
968357bfbb2Smrg		;;
96983e03a40Smrg	ppc-* | ppcbe-*)
97083e03a40Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
971357bfbb2Smrg		;;
972357bfbb2Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
973357bfbb2Smrg		basic_machine=powerpcle-unknown
974357bfbb2Smrg		;;
975357bfbb2Smrg	ppcle-* | powerpclittle-*)
976357bfbb2Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
977357bfbb2Smrg		;;
978357bfbb2Smrg	ppc64)	basic_machine=powerpc64-unknown
979357bfbb2Smrg		;;
980357bfbb2Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
981357bfbb2Smrg		;;
982357bfbb2Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
983357bfbb2Smrg		basic_machine=powerpc64le-unknown
984357bfbb2Smrg		;;
985357bfbb2Smrg	ppc64le-* | powerpc64little-*)
986357bfbb2Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
987357bfbb2Smrg		;;
988357bfbb2Smrg	ps2)
989357bfbb2Smrg		basic_machine=i386-ibm
990357bfbb2Smrg		;;
991357bfbb2Smrg	pw32)
992357bfbb2Smrg		basic_machine=i586-unknown
993357bfbb2Smrg		os=-pw32
994357bfbb2Smrg		;;
99583e03a40Smrg	rdos)
99683e03a40Smrg		basic_machine=i386-pc
99783e03a40Smrg		os=-rdos
99883e03a40Smrg		;;
999357bfbb2Smrg	rom68k)
1000357bfbb2Smrg		basic_machine=m68k-rom68k
1001357bfbb2Smrg		os=-coff
1002357bfbb2Smrg		;;
1003357bfbb2Smrg	rm[46]00)
1004357bfbb2Smrg		basic_machine=mips-siemens
1005357bfbb2Smrg		;;
1006357bfbb2Smrg	rtpc | rtpc-*)
1007357bfbb2Smrg		basic_machine=romp-ibm
1008357bfbb2Smrg		;;
1009357bfbb2Smrg	s390 | s390-*)
1010357bfbb2Smrg		basic_machine=s390-ibm
1011357bfbb2Smrg		;;
1012357bfbb2Smrg	s390x | s390x-*)
1013357bfbb2Smrg		basic_machine=s390x-ibm
1014357bfbb2Smrg		;;
1015357bfbb2Smrg	sa29200)
1016357bfbb2Smrg		basic_machine=a29k-amd
1017357bfbb2Smrg		os=-udi
1018357bfbb2Smrg		;;
1019357bfbb2Smrg	sb1)
1020357bfbb2Smrg		basic_machine=mipsisa64sb1-unknown
1021357bfbb2Smrg		;;
1022357bfbb2Smrg	sb1el)
1023357bfbb2Smrg		basic_machine=mipsisa64sb1el-unknown
1024357bfbb2Smrg		;;
102583e03a40Smrg	sde)
102683e03a40Smrg		basic_machine=mipsisa32-sde
102783e03a40Smrg		os=-elf
102883e03a40Smrg		;;
1029357bfbb2Smrg	sei)
1030357bfbb2Smrg		basic_machine=mips-sei
1031357bfbb2Smrg		os=-seiux
1032357bfbb2Smrg		;;
1033357bfbb2Smrg	sequent)
1034357bfbb2Smrg		basic_machine=i386-sequent
1035357bfbb2Smrg		;;
1036357bfbb2Smrg	sh)
1037357bfbb2Smrg		basic_machine=sh-hitachi
1038357bfbb2Smrg		os=-hms
1039357bfbb2Smrg		;;
104083e03a40Smrg	sh5el)
104183e03a40Smrg		basic_machine=sh5le-unknown
104283e03a40Smrg		;;
1043357bfbb2Smrg	sh64)
1044357bfbb2Smrg		basic_machine=sh64-unknown
1045357bfbb2Smrg		;;
1046357bfbb2Smrg	sparclite-wrs | simso-wrs)
1047357bfbb2Smrg		basic_machine=sparclite-wrs
1048357bfbb2Smrg		os=-vxworks
1049357bfbb2Smrg		;;
1050357bfbb2Smrg	sps7)
1051357bfbb2Smrg		basic_machine=m68k-bull
1052357bfbb2Smrg		os=-sysv2
1053357bfbb2Smrg		;;
1054357bfbb2Smrg	spur)
1055357bfbb2Smrg		basic_machine=spur-unknown
1056357bfbb2Smrg		;;
1057357bfbb2Smrg	st2000)
1058357bfbb2Smrg		basic_machine=m68k-tandem
1059357bfbb2Smrg		;;
1060357bfbb2Smrg	stratus)
1061357bfbb2Smrg		basic_machine=i860-stratus
1062357bfbb2Smrg		os=-sysv4
1063357bfbb2Smrg		;;
106483e03a40Smrg	strongarm-* | thumb-*)
106583e03a40Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
106683e03a40Smrg		;;
1067357bfbb2Smrg	sun2)
1068357bfbb2Smrg		basic_machine=m68000-sun
1069357bfbb2Smrg		;;
1070357bfbb2Smrg	sun2os3)
1071357bfbb2Smrg		basic_machine=m68000-sun
1072357bfbb2Smrg		os=-sunos3
1073357bfbb2Smrg		;;
1074357bfbb2Smrg	sun2os4)
1075357bfbb2Smrg		basic_machine=m68000-sun
1076357bfbb2Smrg		os=-sunos4
1077357bfbb2Smrg		;;
1078357bfbb2Smrg	sun3os3)
1079357bfbb2Smrg		basic_machine=m68k-sun
1080357bfbb2Smrg		os=-sunos3
1081357bfbb2Smrg		;;
1082357bfbb2Smrg	sun3os4)
1083357bfbb2Smrg		basic_machine=m68k-sun
1084357bfbb2Smrg		os=-sunos4
1085357bfbb2Smrg		;;
1086357bfbb2Smrg	sun4os3)
1087357bfbb2Smrg		basic_machine=sparc-sun
1088357bfbb2Smrg		os=-sunos3
1089357bfbb2Smrg		;;
1090357bfbb2Smrg	sun4os4)
1091357bfbb2Smrg		basic_machine=sparc-sun
1092357bfbb2Smrg		os=-sunos4
1093357bfbb2Smrg		;;
1094357bfbb2Smrg	sun4sol2)
1095357bfbb2Smrg		basic_machine=sparc-sun
1096357bfbb2Smrg		os=-solaris2
1097357bfbb2Smrg		;;
1098357bfbb2Smrg	sun3 | sun3-*)
1099357bfbb2Smrg		basic_machine=m68k-sun
1100357bfbb2Smrg		;;
1101357bfbb2Smrg	sun4)
1102357bfbb2Smrg		basic_machine=sparc-sun
1103357bfbb2Smrg		;;
1104357bfbb2Smrg	sun386 | sun386i | roadrunner)
1105357bfbb2Smrg		basic_machine=i386-sun
1106357bfbb2Smrg		;;
1107357bfbb2Smrg	sv1)
1108357bfbb2Smrg		basic_machine=sv1-cray
1109357bfbb2Smrg		os=-unicos
1110357bfbb2Smrg		;;
1111357bfbb2Smrg	symmetry)
1112357bfbb2Smrg		basic_machine=i386-sequent
1113357bfbb2Smrg		os=-dynix
1114357bfbb2Smrg		;;
1115357bfbb2Smrg	t3e)
1116357bfbb2Smrg		basic_machine=alphaev5-cray
1117357bfbb2Smrg		os=-unicos
1118357bfbb2Smrg		;;
1119357bfbb2Smrg	t90)
1120357bfbb2Smrg		basic_machine=t90-cray
1121357bfbb2Smrg		os=-unicos
1122357bfbb2Smrg		;;
112383e03a40Smrg	# This must be matched before tile*.
112483e03a40Smrg	tilegx*)
112583e03a40Smrg		basic_machine=tilegx-unknown
112683e03a40Smrg		os=-linux-gnu
1127357bfbb2Smrg		;;
112883e03a40Smrg	tile*)
112983e03a40Smrg		basic_machine=tile-unknown
113083e03a40Smrg		os=-linux-gnu
1131357bfbb2Smrg		;;
1132357bfbb2Smrg	tx39)
1133357bfbb2Smrg		basic_machine=mipstx39-unknown
1134357bfbb2Smrg		;;
1135357bfbb2Smrg	tx39el)
1136357bfbb2Smrg		basic_machine=mipstx39el-unknown
1137357bfbb2Smrg		;;
1138357bfbb2Smrg	toad1)
1139357bfbb2Smrg		basic_machine=pdp10-xkl
1140357bfbb2Smrg		os=-tops20
1141357bfbb2Smrg		;;
1142357bfbb2Smrg	tower | tower-32)
1143357bfbb2Smrg		basic_machine=m68k-ncr
1144357bfbb2Smrg		;;
1145357bfbb2Smrg	tpf)
1146357bfbb2Smrg		basic_machine=s390x-ibm
1147357bfbb2Smrg		os=-tpf
1148357bfbb2Smrg		;;
1149357bfbb2Smrg	udi29k)
1150357bfbb2Smrg		basic_machine=a29k-amd
1151357bfbb2Smrg		os=-udi
1152357bfbb2Smrg		;;
1153357bfbb2Smrg	ultra3)
1154357bfbb2Smrg		basic_machine=a29k-nyu
1155357bfbb2Smrg		os=-sym1
1156357bfbb2Smrg		;;
1157357bfbb2Smrg	v810 | necv810)
1158357bfbb2Smrg		basic_machine=v810-nec
1159357bfbb2Smrg		os=-none
1160357bfbb2Smrg		;;
1161357bfbb2Smrg	vaxv)
1162357bfbb2Smrg		basic_machine=vax-dec
1163357bfbb2Smrg		os=-sysv
1164357bfbb2Smrg		;;
1165357bfbb2Smrg	vms)
1166357bfbb2Smrg		basic_machine=vax-dec
1167357bfbb2Smrg		os=-vms
1168357bfbb2Smrg		;;
1169357bfbb2Smrg	vpp*|vx|vx-*)
1170357bfbb2Smrg		basic_machine=f301-fujitsu
1171357bfbb2Smrg		;;
1172357bfbb2Smrg	vxworks960)
1173357bfbb2Smrg		basic_machine=i960-wrs
1174357bfbb2Smrg		os=-vxworks
1175357bfbb2Smrg		;;
1176357bfbb2Smrg	vxworks68)
1177357bfbb2Smrg		basic_machine=m68k-wrs
1178357bfbb2Smrg		os=-vxworks
1179357bfbb2Smrg		;;
1180357bfbb2Smrg	vxworks29k)
1181357bfbb2Smrg		basic_machine=a29k-wrs
1182357bfbb2Smrg		os=-vxworks
1183357bfbb2Smrg		;;
1184357bfbb2Smrg	w65*)
1185357bfbb2Smrg		basic_machine=w65-wdc
1186357bfbb2Smrg		os=-none
1187357bfbb2Smrg		;;
1188357bfbb2Smrg	w89k-*)
1189357bfbb2Smrg		basic_machine=hppa1.1-winbond
1190357bfbb2Smrg		os=-proelf
1191357bfbb2Smrg		;;
1192357bfbb2Smrg	xbox)
1193357bfbb2Smrg		basic_machine=i686-pc
1194357bfbb2Smrg		os=-mingw32
1195357bfbb2Smrg		;;
1196357bfbb2Smrg	xps | xps100)
1197357bfbb2Smrg		basic_machine=xps100-honeywell
1198357bfbb2Smrg		;;
119983e03a40Smrg	xscale-* | xscalee[bl]-*)
120083e03a40Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
120183e03a40Smrg		;;
1202357bfbb2Smrg	ymp)
1203357bfbb2Smrg		basic_machine=ymp-cray
1204357bfbb2Smrg		os=-unicos
1205357bfbb2Smrg		;;
1206357bfbb2Smrg	z8k-*-coff)
1207357bfbb2Smrg		basic_machine=z8k-unknown
1208357bfbb2Smrg		os=-sim
1209357bfbb2Smrg		;;
121083e03a40Smrg	z80-*-coff)
121183e03a40Smrg		basic_machine=z80-unknown
121283e03a40Smrg		os=-sim
121383e03a40Smrg		;;
1214357bfbb2Smrg	none)
1215357bfbb2Smrg		basic_machine=none-none
1216357bfbb2Smrg		os=-none
1217357bfbb2Smrg		;;
1218357bfbb2Smrg
1219357bfbb2Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1220357bfbb2Smrg# some cases the only manufacturer, in others, it is the most popular.
1221357bfbb2Smrg	w89k)
1222357bfbb2Smrg		basic_machine=hppa1.1-winbond
1223357bfbb2Smrg		;;
1224357bfbb2Smrg	op50n)
1225357bfbb2Smrg		basic_machine=hppa1.1-oki
1226357bfbb2Smrg		;;
1227357bfbb2Smrg	op60c)
1228357bfbb2Smrg		basic_machine=hppa1.1-oki
1229357bfbb2Smrg		;;
1230357bfbb2Smrg	romp)
1231357bfbb2Smrg		basic_machine=romp-ibm
1232357bfbb2Smrg		;;
1233357bfbb2Smrg	mmix)
1234357bfbb2Smrg		basic_machine=mmix-knuth
1235357bfbb2Smrg		;;
1236357bfbb2Smrg	rs6000)
1237357bfbb2Smrg		basic_machine=rs6000-ibm
1238357bfbb2Smrg		;;
1239357bfbb2Smrg	vax)
1240357bfbb2Smrg		basic_machine=vax-dec
1241357bfbb2Smrg		;;
1242357bfbb2Smrg	pdp10)
1243357bfbb2Smrg		# there are many clones, so DEC is not a safe bet
1244357bfbb2Smrg		basic_machine=pdp10-unknown
1245357bfbb2Smrg		;;
1246357bfbb2Smrg	pdp11)
1247357bfbb2Smrg		basic_machine=pdp11-dec
1248357bfbb2Smrg		;;
1249357bfbb2Smrg	we32k)
1250357bfbb2Smrg		basic_machine=we32k-att
1251357bfbb2Smrg		;;
125283e03a40Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1253357bfbb2Smrg		basic_machine=sh-unknown
1254357bfbb2Smrg		;;
125583e03a40Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1256357bfbb2Smrg		basic_machine=sparc-sun
1257357bfbb2Smrg		;;
1258357bfbb2Smrg	cydra)
1259357bfbb2Smrg		basic_machine=cydra-cydrome
1260357bfbb2Smrg		;;
1261357bfbb2Smrg	orion)
1262357bfbb2Smrg		basic_machine=orion-highlevel
1263357bfbb2Smrg		;;
1264357bfbb2Smrg	orion105)
1265357bfbb2Smrg		basic_machine=clipper-highlevel
1266357bfbb2Smrg		;;
1267357bfbb2Smrg	mac | mpw | mac-mpw)
1268357bfbb2Smrg		basic_machine=m68k-apple
1269357bfbb2Smrg		;;
1270357bfbb2Smrg	pmac | pmac-mpw)
1271357bfbb2Smrg		basic_machine=powerpc-apple
1272357bfbb2Smrg		;;
1273357bfbb2Smrg	*-unknown)
1274357bfbb2Smrg		# Make sure to match an already-canonicalized machine name.
1275357bfbb2Smrg		;;
1276357bfbb2Smrg	*)
1277357bfbb2Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1278357bfbb2Smrg		exit 1
1279357bfbb2Smrg		;;
1280357bfbb2Smrgesac
1281357bfbb2Smrg
1282357bfbb2Smrg# Here we canonicalize certain aliases for manufacturers.
1283357bfbb2Smrgcase $basic_machine in
1284357bfbb2Smrg	*-digital*)
1285357bfbb2Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1286357bfbb2Smrg		;;
1287357bfbb2Smrg	*-commodore*)
1288357bfbb2Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1289357bfbb2Smrg		;;
1290357bfbb2Smrg	*)
1291357bfbb2Smrg		;;
1292357bfbb2Smrgesac
1293357bfbb2Smrg
1294357bfbb2Smrg# Decode manufacturer-specific aliases for certain operating systems.
1295357bfbb2Smrg
1296357bfbb2Smrgif [ x"$os" != x"" ]
1297357bfbb2Smrgthen
1298357bfbb2Smrgcase $os in
129983e03a40Smrg	# First match some system type aliases
130083e03a40Smrg	# that might get confused with valid system types.
1301357bfbb2Smrg	# -solaris* is a basic system type, with this one exception.
130283e03a40Smrg	-auroraux)
130383e03a40Smrg		os=-auroraux
130483e03a40Smrg		;;
1305357bfbb2Smrg	-solaris1 | -solaris1.*)
1306357bfbb2Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1307357bfbb2Smrg		;;
1308357bfbb2Smrg	-solaris)
1309357bfbb2Smrg		os=-solaris2
1310357bfbb2Smrg		;;
1311357bfbb2Smrg	-svr4*)
1312357bfbb2Smrg		os=-sysv4
1313357bfbb2Smrg		;;
1314357bfbb2Smrg	-unixware*)
1315357bfbb2Smrg		os=-sysv4.2uw
1316357bfbb2Smrg		;;
1317357bfbb2Smrg	-gnu/linux*)
1318357bfbb2Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1319357bfbb2Smrg		;;
1320357bfbb2Smrg	# First accept the basic system types.
1321357bfbb2Smrg	# The portable systems comes first.
1322357bfbb2Smrg	# Each alternative MUST END IN A *, to match a version number.
1323357bfbb2Smrg	# -sysv* is not here because it comes later, after sysvr4.
1324357bfbb2Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
132583e03a40Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
132683e03a40Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
132783e03a40Smrg	      | -sym* | -kopensolaris* \
1328357bfbb2Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
132983e03a40Smrg	      | -aos* | -aros* \
1330357bfbb2Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1331357bfbb2Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
133283e03a40Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
133383e03a40Smrg	      | -openbsd* | -solidbsd* \
1334357bfbb2Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1335357bfbb2Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1336357bfbb2Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1337357bfbb2Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
133883e03a40Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1339357bfbb2Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
134083e03a40Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
134183e03a40Smrg	      | -linux-newlib* | -linux-uclibc* \
134283e03a40Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1343357bfbb2Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1344357bfbb2Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1345357bfbb2Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1346357bfbb2Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1347357bfbb2Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13485d713044Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
134983e03a40Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1350357bfbb2Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1351357bfbb2Smrg		;;
1352357bfbb2Smrg	-qnx*)
1353357bfbb2Smrg		case $basic_machine in
1354357bfbb2Smrg		    x86-* | i*86-*)
1355357bfbb2Smrg			;;
1356357bfbb2Smrg		    *)
1357357bfbb2Smrg			os=-nto$os
1358357bfbb2Smrg			;;
1359357bfbb2Smrg		esac
1360357bfbb2Smrg		;;
1361357bfbb2Smrg	-nto-qnx*)
1362357bfbb2Smrg		;;
1363357bfbb2Smrg	-nto*)
1364357bfbb2Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1365357bfbb2Smrg		;;
1366357bfbb2Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13675d713044Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1368357bfbb2Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1369357bfbb2Smrg		;;
1370357bfbb2Smrg	-mac*)
1371357bfbb2Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1372357bfbb2Smrg		;;
1373357bfbb2Smrg	-linux-dietlibc)
1374357bfbb2Smrg		os=-linux-dietlibc
1375357bfbb2Smrg		;;
1376357bfbb2Smrg	-linux*)
1377357bfbb2Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1378357bfbb2Smrg		;;
1379357bfbb2Smrg	-sunos5*)
1380357bfbb2Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1381357bfbb2Smrg		;;
1382357bfbb2Smrg	-sunos6*)
1383357bfbb2Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1384357bfbb2Smrg		;;
1385357bfbb2Smrg	-opened*)
1386357bfbb2Smrg		os=-openedition
1387357bfbb2Smrg		;;
138883e03a40Smrg	-os400*)
1389357bfbb2Smrg		os=-os400
1390357bfbb2Smrg		;;
1391357bfbb2Smrg	-wince*)
1392357bfbb2Smrg		os=-wince
1393357bfbb2Smrg		;;
1394357bfbb2Smrg	-osfrose*)
1395357bfbb2Smrg		os=-osfrose
1396357bfbb2Smrg		;;
1397357bfbb2Smrg	-osf*)
1398357bfbb2Smrg		os=-osf
1399357bfbb2Smrg		;;
1400357bfbb2Smrg	-utek*)
1401357bfbb2Smrg		os=-bsd
1402357bfbb2Smrg		;;
1403357bfbb2Smrg	-dynix*)
1404357bfbb2Smrg		os=-bsd
1405357bfbb2Smrg		;;
1406357bfbb2Smrg	-acis*)
1407357bfbb2Smrg		os=-aos
1408357bfbb2Smrg		;;
1409357bfbb2Smrg	-atheos*)
1410357bfbb2Smrg		os=-atheos
1411357bfbb2Smrg		;;
1412357bfbb2Smrg	-syllable*)
1413357bfbb2Smrg		os=-syllable
1414357bfbb2Smrg		;;
1415357bfbb2Smrg	-386bsd)
1416357bfbb2Smrg		os=-bsd
1417357bfbb2Smrg		;;
1418357bfbb2Smrg	-ctix* | -uts*)
1419357bfbb2Smrg		os=-sysv
1420357bfbb2Smrg		;;
1421357bfbb2Smrg	-nova*)
1422357bfbb2Smrg		os=-rtmk-nova
1423357bfbb2Smrg		;;
1424357bfbb2Smrg	-ns2 )
1425357bfbb2Smrg		os=-nextstep2
1426357bfbb2Smrg		;;
1427357bfbb2Smrg	-nsk*)
1428357bfbb2Smrg		os=-nsk
1429357bfbb2Smrg		;;
1430357bfbb2Smrg	# Preserve the version number of sinix5.
1431357bfbb2Smrg	-sinix5.*)
1432357bfbb2Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1433357bfbb2Smrg		;;
1434357bfbb2Smrg	-sinix*)
1435357bfbb2Smrg		os=-sysv4
1436357bfbb2Smrg		;;
143783e03a40Smrg	-tpf*)
1438357bfbb2Smrg		os=-tpf
1439357bfbb2Smrg		;;
1440357bfbb2Smrg	-triton*)
1441357bfbb2Smrg		os=-sysv3
1442357bfbb2Smrg		;;
1443357bfbb2Smrg	-oss*)
1444357bfbb2Smrg		os=-sysv3
1445357bfbb2Smrg		;;
1446357bfbb2Smrg	-svr4)
1447357bfbb2Smrg		os=-sysv4
1448357bfbb2Smrg		;;
1449357bfbb2Smrg	-svr3)
1450357bfbb2Smrg		os=-sysv3
1451357bfbb2Smrg		;;
1452357bfbb2Smrg	-sysvr4)
1453357bfbb2Smrg		os=-sysv4
1454357bfbb2Smrg		;;
1455357bfbb2Smrg	# This must come after -sysvr4.
1456357bfbb2Smrg	-sysv*)
1457357bfbb2Smrg		;;
1458357bfbb2Smrg	-ose*)
1459357bfbb2Smrg		os=-ose
1460357bfbb2Smrg		;;
1461357bfbb2Smrg	-es1800*)
1462357bfbb2Smrg		os=-ose
1463357bfbb2Smrg		;;
1464357bfbb2Smrg	-xenix)
1465357bfbb2Smrg		os=-xenix
1466357bfbb2Smrg		;;
1467357bfbb2Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1468357bfbb2Smrg		os=-mint
1469357bfbb2Smrg		;;
1470357bfbb2Smrg	-aros*)
1471357bfbb2Smrg		os=-aros
1472357bfbb2Smrg		;;
1473357bfbb2Smrg	-kaos*)
1474357bfbb2Smrg		os=-kaos
1475357bfbb2Smrg		;;
1476357bfbb2Smrg	-zvmoe)
1477357bfbb2Smrg		os=-zvmoe
1478357bfbb2Smrg		;;
147983e03a40Smrg	-dicos*)
148083e03a40Smrg		os=-dicos
148183e03a40Smrg		;;
148283e03a40Smrg	-nacl*)
148383e03a40Smrg		;;
1484357bfbb2Smrg	-none)
1485357bfbb2Smrg		;;
1486357bfbb2Smrg	*)
1487357bfbb2Smrg		# Get rid of the `-' at the beginning of $os.
1488357bfbb2Smrg		os=`echo $os | sed 's/[^-]*-//'`
1489357bfbb2Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1490357bfbb2Smrg		exit 1
1491357bfbb2Smrg		;;
1492357bfbb2Smrgesac
1493357bfbb2Smrgelse
1494357bfbb2Smrg
1495357bfbb2Smrg# Here we handle the default operating systems that come with various machines.
1496357bfbb2Smrg# The value should be what the vendor currently ships out the door with their
1497357bfbb2Smrg# machine or put another way, the most popular os provided with the machine.
1498357bfbb2Smrg
1499357bfbb2Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1500357bfbb2Smrg# "-sun"), then you have to tell the case statement up towards the top
1501357bfbb2Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1502357bfbb2Smrg# will signal an error saying that MANUFACTURER isn't an operating
1503357bfbb2Smrg# system, and we'll never get to this point.
1504357bfbb2Smrg
1505357bfbb2Smrgcase $basic_machine in
150683e03a40Smrg	score-*)
150783e03a40Smrg		os=-elf
150883e03a40Smrg		;;
150983e03a40Smrg	spu-*)
151083e03a40Smrg		os=-elf
151183e03a40Smrg		;;
1512357bfbb2Smrg	*-acorn)
1513357bfbb2Smrg		os=-riscix1.2
1514357bfbb2Smrg		;;
1515357bfbb2Smrg	arm*-rebel)
1516357bfbb2Smrg		os=-linux
1517357bfbb2Smrg		;;
1518357bfbb2Smrg	arm*-semi)
1519357bfbb2Smrg		os=-aout
1520357bfbb2Smrg		;;
152183e03a40Smrg	c4x-* | tic4x-*)
152283e03a40Smrg		os=-coff
152383e03a40Smrg		;;
152483e03a40Smrg	tic54x-*)
152583e03a40Smrg		os=-coff
152683e03a40Smrg		;;
152783e03a40Smrg	tic55x-*)
152883e03a40Smrg		os=-coff
152983e03a40Smrg		;;
153083e03a40Smrg	tic6x-*)
153183e03a40Smrg		os=-coff
153283e03a40Smrg		;;
1533357bfbb2Smrg	# This must come before the *-dec entry.
1534357bfbb2Smrg	pdp10-*)
1535357bfbb2Smrg		os=-tops20
1536357bfbb2Smrg		;;
1537357bfbb2Smrg	pdp11-*)
1538357bfbb2Smrg		os=-none
1539357bfbb2Smrg		;;
1540357bfbb2Smrg	*-dec | vax-*)
1541357bfbb2Smrg		os=-ultrix4.2
1542357bfbb2Smrg		;;
1543357bfbb2Smrg	m68*-apollo)
1544357bfbb2Smrg		os=-domain
1545357bfbb2Smrg		;;
1546357bfbb2Smrg	i386-sun)
1547357bfbb2Smrg		os=-sunos4.0.2
1548357bfbb2Smrg		;;
1549357bfbb2Smrg	m68000-sun)
1550357bfbb2Smrg		os=-sunos3
1551357bfbb2Smrg		# This also exists in the configure program, but was not the
1552357bfbb2Smrg		# default.
1553357bfbb2Smrg		# os=-sunos4
1554357bfbb2Smrg		;;
1555357bfbb2Smrg	m68*-cisco)
1556357bfbb2Smrg		os=-aout
1557357bfbb2Smrg		;;
155883e03a40Smrg	mep-*)
155983e03a40Smrg		os=-elf
156083e03a40Smrg		;;
1561357bfbb2Smrg	mips*-cisco)
1562357bfbb2Smrg		os=-elf
1563357bfbb2Smrg		;;
1564357bfbb2Smrg	mips*-*)
1565357bfbb2Smrg		os=-elf
1566357bfbb2Smrg		;;
1567357bfbb2Smrg	or32-*)
1568357bfbb2Smrg		os=-coff
1569357bfbb2Smrg		;;
1570357bfbb2Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1571357bfbb2Smrg		os=-sysv3
1572357bfbb2Smrg		;;
1573357bfbb2Smrg	sparc-* | *-sun)
1574357bfbb2Smrg		os=-sunos4.1.1
1575357bfbb2Smrg		;;
1576357bfbb2Smrg	*-be)
1577357bfbb2Smrg		os=-beos
1578357bfbb2Smrg		;;
15795d713044Smrg	*-haiku)
15805d713044Smrg		os=-haiku
15815d713044Smrg		;;
1582357bfbb2Smrg	*-ibm)
1583357bfbb2Smrg		os=-aix
1584357bfbb2Smrg		;;
158583e03a40Smrg	*-knuth)
1586357bfbb2Smrg		os=-mmixware
1587357bfbb2Smrg		;;
1588357bfbb2Smrg	*-wec)
1589357bfbb2Smrg		os=-proelf
1590357bfbb2Smrg		;;
1591357bfbb2Smrg	*-winbond)
1592357bfbb2Smrg		os=-proelf
1593357bfbb2Smrg		;;
1594357bfbb2Smrg	*-oki)
1595357bfbb2Smrg		os=-proelf
1596357bfbb2Smrg		;;
1597357bfbb2Smrg	*-hp)
1598357bfbb2Smrg		os=-hpux
1599357bfbb2Smrg		;;
1600357bfbb2Smrg	*-hitachi)
1601357bfbb2Smrg		os=-hiux
1602357bfbb2Smrg		;;
1603357bfbb2Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1604357bfbb2Smrg		os=-sysv
1605357bfbb2Smrg		;;
1606357bfbb2Smrg	*-cbm)
1607357bfbb2Smrg		os=-amigaos
1608357bfbb2Smrg		;;
1609357bfbb2Smrg	*-dg)
1610357bfbb2Smrg		os=-dgux
1611357bfbb2Smrg		;;
1612357bfbb2Smrg	*-dolphin)
1613357bfbb2Smrg		os=-sysv3
1614357bfbb2Smrg		;;
1615357bfbb2Smrg	m68k-ccur)
1616357bfbb2Smrg		os=-rtu
1617357bfbb2Smrg		;;
1618357bfbb2Smrg	m88k-omron*)
1619357bfbb2Smrg		os=-luna
1620357bfbb2Smrg		;;
1621357bfbb2Smrg	*-next )
1622357bfbb2Smrg		os=-nextstep
1623357bfbb2Smrg		;;
1624357bfbb2Smrg	*-sequent)
1625357bfbb2Smrg		os=-ptx
1626357bfbb2Smrg		;;
1627357bfbb2Smrg	*-crds)
1628357bfbb2Smrg		os=-unos
1629357bfbb2Smrg		;;
1630357bfbb2Smrg	*-ns)
1631357bfbb2Smrg		os=-genix
1632357bfbb2Smrg		;;
1633357bfbb2Smrg	i370-*)
1634357bfbb2Smrg		os=-mvs
1635357bfbb2Smrg		;;
1636357bfbb2Smrg	*-next)
1637357bfbb2Smrg		os=-nextstep3
1638357bfbb2Smrg		;;
1639357bfbb2Smrg	*-gould)
1640357bfbb2Smrg		os=-sysv
1641357bfbb2Smrg		;;
1642357bfbb2Smrg	*-highlevel)
1643357bfbb2Smrg		os=-bsd
1644357bfbb2Smrg		;;
1645357bfbb2Smrg	*-encore)
1646357bfbb2Smrg		os=-bsd
1647357bfbb2Smrg		;;
1648357bfbb2Smrg	*-sgi)
1649357bfbb2Smrg		os=-irix
1650357bfbb2Smrg		;;
1651357bfbb2Smrg	*-siemens)
1652357bfbb2Smrg		os=-sysv4
1653357bfbb2Smrg		;;
1654357bfbb2Smrg	*-masscomp)
1655357bfbb2Smrg		os=-rtu
1656357bfbb2Smrg		;;
1657357bfbb2Smrg	f30[01]-fujitsu | f700-fujitsu)
1658357bfbb2Smrg		os=-uxpv
1659357bfbb2Smrg		;;
1660357bfbb2Smrg	*-rom68k)
1661357bfbb2Smrg		os=-coff
1662357bfbb2Smrg		;;
1663357bfbb2Smrg	*-*bug)
1664357bfbb2Smrg		os=-coff
1665357bfbb2Smrg		;;
1666357bfbb2Smrg	*-apple)
1667357bfbb2Smrg		os=-macos
1668357bfbb2Smrg		;;
1669357bfbb2Smrg	*-atari*)
1670357bfbb2Smrg		os=-mint
1671357bfbb2Smrg		;;
1672357bfbb2Smrg	*)
1673357bfbb2Smrg		os=-none
1674357bfbb2Smrg		;;
1675357bfbb2Smrgesac
1676357bfbb2Smrgfi
1677357bfbb2Smrg
1678357bfbb2Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1679357bfbb2Smrg# manufacturer.  We pick the logical manufacturer.
1680357bfbb2Smrgvendor=unknown
1681357bfbb2Smrgcase $basic_machine in
1682357bfbb2Smrg	*-unknown)
1683357bfbb2Smrg		case $os in
1684357bfbb2Smrg			-riscix*)
1685357bfbb2Smrg				vendor=acorn
1686357bfbb2Smrg				;;
1687357bfbb2Smrg			-sunos*)
1688357bfbb2Smrg				vendor=sun
1689357bfbb2Smrg				;;
169083e03a40Smrg			-cnk*|-aix*)
1691357bfbb2Smrg				vendor=ibm
1692357bfbb2Smrg				;;
1693357bfbb2Smrg			-beos*)
1694357bfbb2Smrg				vendor=be
1695357bfbb2Smrg				;;
1696357bfbb2Smrg			-hpux*)
1697357bfbb2Smrg				vendor=hp
1698357bfbb2Smrg				;;
1699357bfbb2Smrg			-mpeix*)
1700357bfbb2Smrg				vendor=hp
1701357bfbb2Smrg				;;
1702357bfbb2Smrg			-hiux*)
1703357bfbb2Smrg				vendor=hitachi
1704357bfbb2Smrg				;;
1705357bfbb2Smrg			-unos*)
1706357bfbb2Smrg				vendor=crds
1707357bfbb2Smrg				;;
1708357bfbb2Smrg			-dgux*)
1709357bfbb2Smrg				vendor=dg
1710357bfbb2Smrg				;;
1711357bfbb2Smrg			-luna*)
1712357bfbb2Smrg				vendor=omron
1713357bfbb2Smrg				;;
1714357bfbb2Smrg			-genix*)
1715357bfbb2Smrg				vendor=ns
1716357bfbb2Smrg				;;
1717357bfbb2Smrg			-mvs* | -opened*)
1718357bfbb2Smrg				vendor=ibm
1719357bfbb2Smrg				;;
1720357bfbb2Smrg			-os400*)
1721357bfbb2Smrg				vendor=ibm
1722357bfbb2Smrg				;;
1723357bfbb2Smrg			-ptx*)
1724357bfbb2Smrg				vendor=sequent
1725357bfbb2Smrg				;;
1726357bfbb2Smrg			-tpf*)
1727357bfbb2Smrg				vendor=ibm
1728357bfbb2Smrg				;;
1729357bfbb2Smrg			-vxsim* | -vxworks* | -windiss*)
1730357bfbb2Smrg				vendor=wrs
1731357bfbb2Smrg				;;
1732357bfbb2Smrg			-aux*)
1733357bfbb2Smrg				vendor=apple
1734357bfbb2Smrg				;;
1735357bfbb2Smrg			-hms*)
1736357bfbb2Smrg				vendor=hitachi
1737357bfbb2Smrg				;;
1738357bfbb2Smrg			-mpw* | -macos*)
1739357bfbb2Smrg				vendor=apple
1740357bfbb2Smrg				;;
1741357bfbb2Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1742357bfbb2Smrg				vendor=atari
1743357bfbb2Smrg				;;
1744357bfbb2Smrg			-vos*)
1745357bfbb2Smrg				vendor=stratus
1746357bfbb2Smrg				;;
1747357bfbb2Smrg		esac
1748357bfbb2Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1749357bfbb2Smrg		;;
1750357bfbb2Smrgesac
1751357bfbb2Smrg
1752357bfbb2Smrgecho $basic_machine$os
1753357bfbb2Smrgexit
1754357bfbb2Smrg
1755357bfbb2Smrg# Local variables:
1756357bfbb2Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1757357bfbb2Smrg# time-stamp-start: "timestamp='"
1758357bfbb2Smrg# time-stamp-format: "%:y-%02m-%02d"
1759357bfbb2Smrg# time-stamp-end: "'"
1760357bfbb2Smrg# End:
1761