config.sub revision 49e108a1
1e0963edeSmrg#! /bin/sh
2e0963edeSmrg# Configuration validation subroutine script.
3e0963edeSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
449e108a1Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5f05b35a2Smrg#   Free Software Foundation, Inc.
6e0963edeSmrg
749e108a1Smrgtimestamp='2010-09-11'
8e0963edeSmrg
9e0963edeSmrg# This file is (in principle) common to ALL GNU software.
10e0963edeSmrg# The presence of a machine in this file suggests that SOME GNU software
11e0963edeSmrg# can handle that machine.  It does not imply ALL GNU software can.
12e0963edeSmrg#
13e0963edeSmrg# This file is free software; you can redistribute it and/or modify
14e0963edeSmrg# it under the terms of the GNU General Public License as published by
15e0963edeSmrg# the Free Software Foundation; either version 2 of the License, or
16e0963edeSmrg# (at your option) any later version.
17e0963edeSmrg#
18e0963edeSmrg# This program is distributed in the hope that it will be useful,
19e0963edeSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20e0963edeSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21e0963edeSmrg# GNU General Public License for more details.
22e0963edeSmrg#
23e0963edeSmrg# You should have received a copy of the GNU General Public License
24e0963edeSmrg# along with this program; if not, write to the Free Software
25e0963edeSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26e0963edeSmrg# 02110-1301, USA.
27e0963edeSmrg#
28e0963edeSmrg# As a special exception to the GNU General Public License, if you
29e0963edeSmrg# distribute this file as part of a program that contains a
30e0963edeSmrg# configuration script generated by Autoconf, you may include it under
31e0963edeSmrg# the same distribution terms that you use for the rest of that program.
32e0963edeSmrg
33e0963edeSmrg
34e0963edeSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3549e108a1Smrg# diff and a properly formatted GNU ChangeLog entry.
36e0963edeSmrg#
37e0963edeSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38e0963edeSmrg# Supply the specified configuration type as an argument.
39e0963edeSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40e0963edeSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41e0963edeSmrg
4249e108a1Smrg# You can get the latest version of this script from:
4349e108a1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4449e108a1Smrg
45e0963edeSmrg# This file is supposed to be the same for all GNU packages
46e0963edeSmrg# and recognize all the CPU types, system types and aliases
47e0963edeSmrg# that are meaningful with *any* GNU software.
48e0963edeSmrg# Each package is responsible for reporting which valid configurations
49e0963edeSmrg# it does not support.  The user should be able to distinguish
50e0963edeSmrg# a failure to support a valid configuration from a meaningless
51e0963edeSmrg# configuration.
52e0963edeSmrg
53e0963edeSmrg# The goal of this file is to map all the various variations of a given
54e0963edeSmrg# machine specification into a single specification in the form:
55e0963edeSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56e0963edeSmrg# or in some cases, the newer four-part form:
57e0963edeSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58e0963edeSmrg# It is wrong to echo any other type of specification.
59e0963edeSmrg
60e0963edeSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61e0963edeSmrg
62e0963edeSmrgusage="\
63e0963edeSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64e0963edeSmrg       $0 [OPTION] ALIAS
65e0963edeSmrg
66e0963edeSmrgCanonicalize a configuration name.
67e0963edeSmrg
68e0963edeSmrgOperation modes:
69e0963edeSmrg  -h, --help         print this help, then exit
70e0963edeSmrg  -t, --time-stamp   print date of last modification, then exit
71e0963edeSmrg  -v, --version      print version number, then exit
72e0963edeSmrg
73e0963edeSmrgReport bugs and patches to <config-patches@gnu.org>."
74e0963edeSmrg
75e0963edeSmrgversion="\
76e0963edeSmrgGNU config.sub ($timestamp)
77e0963edeSmrg
7849e108a1SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7949e108a1Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8049e108a1SmrgSoftware Foundation, Inc.
81e0963edeSmrg
82e0963edeSmrgThis is free software; see the source for copying conditions.  There is NO
83e0963edeSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84e0963edeSmrg
85e0963edeSmrghelp="
86e0963edeSmrgTry \`$me --help' for more information."
87e0963edeSmrg
88e0963edeSmrg# Parse command line
89e0963edeSmrgwhile test $# -gt 0 ; do
90e0963edeSmrg  case $1 in
91e0963edeSmrg    --time-stamp | --time* | -t )
92e0963edeSmrg       echo "$timestamp" ; exit ;;
93e0963edeSmrg    --version | -v )
94e0963edeSmrg       echo "$version" ; exit ;;
95e0963edeSmrg    --help | --h* | -h )
96e0963edeSmrg       echo "$usage"; exit ;;
97e0963edeSmrg    -- )     # Stop option processing
98e0963edeSmrg       shift; break ;;
99e0963edeSmrg    - )	# Use stdin as input.
100e0963edeSmrg       break ;;
101e0963edeSmrg    -* )
102e0963edeSmrg       echo "$me: invalid option $1$help"
103e0963edeSmrg       exit 1 ;;
104e0963edeSmrg
105e0963edeSmrg    *local*)
106e0963edeSmrg       # First pass through any local machine types.
107e0963edeSmrg       echo $1
108e0963edeSmrg       exit ;;
109e0963edeSmrg
110e0963edeSmrg    * )
111e0963edeSmrg       break ;;
112e0963edeSmrg  esac
113e0963edeSmrgdone
114e0963edeSmrg
115e0963edeSmrgcase $# in
116e0963edeSmrg 0) echo "$me: missing argument$help" >&2
117e0963edeSmrg    exit 1;;
118e0963edeSmrg 1) ;;
119e0963edeSmrg *) echo "$me: too many arguments$help" >&2
120e0963edeSmrg    exit 1;;
121e0963edeSmrgesac
122e0963edeSmrg
123e0963edeSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124e0963edeSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125e0963edeSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126e0963edeSmrgcase $maybe_os in
12749e108a1Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12849e108a1Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12949e108a1Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130f05b35a2Smrg  kopensolaris*-gnu* | \
131e0963edeSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
132e0963edeSmrg    os=-$maybe_os
133e0963edeSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134e0963edeSmrg    ;;
135e0963edeSmrg  *)
136e0963edeSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137e0963edeSmrg    if [ $basic_machine != $1 ]
138e0963edeSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139e0963edeSmrg    else os=; fi
140e0963edeSmrg    ;;
141e0963edeSmrgesac
142e0963edeSmrg
143e0963edeSmrg### Let's recognize common machines as not being operating systems so
144e0963edeSmrg### that things like config.sub decstation-3100 work.  We also
145e0963edeSmrg### recognize some manufacturers as not being operating systems, so we
146e0963edeSmrg### can provide default operating systems below.
147e0963edeSmrgcase $os in
148e0963edeSmrg	-sun*os*)
149e0963edeSmrg		# Prevent following clause from handling this invalid input.
150e0963edeSmrg		;;
151e0963edeSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152e0963edeSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153e0963edeSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154e0963edeSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155e0963edeSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156e0963edeSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15749e108a1Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158e0963edeSmrg		os=
159e0963edeSmrg		basic_machine=$1
160e0963edeSmrg		;;
16149e108a1Smrg        -bluegene*)
16249e108a1Smrg	        os=-cnk
16349e108a1Smrg		;;
164e0963edeSmrg	-sim | -cisco | -oki | -wec | -winbond)
165e0963edeSmrg		os=
166e0963edeSmrg		basic_machine=$1
167e0963edeSmrg		;;
168e0963edeSmrg	-scout)
169e0963edeSmrg		;;
170e0963edeSmrg	-wrs)
171e0963edeSmrg		os=-vxworks
172e0963edeSmrg		basic_machine=$1
173e0963edeSmrg		;;
174e0963edeSmrg	-chorusos*)
175e0963edeSmrg		os=-chorusos
176e0963edeSmrg		basic_machine=$1
177e0963edeSmrg		;;
178e0963edeSmrg 	-chorusrdb)
179e0963edeSmrg 		os=-chorusrdb
180e0963edeSmrg		basic_machine=$1
181e0963edeSmrg 		;;
182e0963edeSmrg	-hiux*)
183e0963edeSmrg		os=-hiuxwe2
184e0963edeSmrg		;;
185e0963edeSmrg	-sco6)
186e0963edeSmrg		os=-sco5v6
187e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188e0963edeSmrg		;;
189e0963edeSmrg	-sco5)
190e0963edeSmrg		os=-sco3.2v5
191e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192e0963edeSmrg		;;
193e0963edeSmrg	-sco4)
194e0963edeSmrg		os=-sco3.2v4
195e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196e0963edeSmrg		;;
197e0963edeSmrg	-sco3.2.[4-9]*)
198e0963edeSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200e0963edeSmrg		;;
201e0963edeSmrg	-sco3.2v[4-9]*)
202e0963edeSmrg		# Don't forget version if it is 3.2v4 or newer.
203e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204e0963edeSmrg		;;
205e0963edeSmrg	-sco5v6*)
206e0963edeSmrg		# Don't forget version if it is 3.2v4 or newer.
207e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208e0963edeSmrg		;;
209e0963edeSmrg	-sco*)
210e0963edeSmrg		os=-sco3.2v2
211e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212e0963edeSmrg		;;
213e0963edeSmrg	-udk*)
214e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215e0963edeSmrg		;;
216e0963edeSmrg	-isc)
217e0963edeSmrg		os=-isc2.2
218e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219e0963edeSmrg		;;
220e0963edeSmrg	-clix*)
221e0963edeSmrg		basic_machine=clipper-intergraph
222e0963edeSmrg		;;
223e0963edeSmrg	-isc*)
224e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225e0963edeSmrg		;;
226e0963edeSmrg	-lynx*)
227e0963edeSmrg		os=-lynxos
228e0963edeSmrg		;;
229e0963edeSmrg	-ptx*)
230e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231e0963edeSmrg		;;
232e0963edeSmrg	-windowsnt*)
233e0963edeSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234e0963edeSmrg		;;
235e0963edeSmrg	-psos*)
236e0963edeSmrg		os=-psos
237e0963edeSmrg		;;
238e0963edeSmrg	-mint | -mint[0-9]*)
239e0963edeSmrg		basic_machine=m68k-atari
240e0963edeSmrg		os=-mint
241e0963edeSmrg		;;
242e0963edeSmrgesac
243e0963edeSmrg
244e0963edeSmrg# Decode aliases for certain CPU-COMPANY combinations.
245e0963edeSmrgcase $basic_machine in
246e0963edeSmrg	# Recognize the basic CPU types without company name.
247e0963edeSmrg	# Some are omitted here because they have special meanings below.
248e0963edeSmrg	1750a | 580 \
249e0963edeSmrg	| a29k \
250e0963edeSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251e0963edeSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252e0963edeSmrg	| am33_2.0 \
253e0963edeSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254e0963edeSmrg	| bfin \
255e0963edeSmrg	| c4x | clipper \
256e0963edeSmrg	| d10v | d30v | dlx | dsp16xx \
257e0963edeSmrg	| fido | fr30 | frv \
258e0963edeSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259e0963edeSmrg	| i370 | i860 | i960 | ia64 \
260e0963edeSmrg	| ip2k | iq2000 \
261f05b35a2Smrg	| lm32 \
262e0963edeSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263f05b35a2Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264e0963edeSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265e0963edeSmrg	| mips16 \
266e0963edeSmrg	| mips64 | mips64el \
267f05b35a2Smrg	| mips64octeon | mips64octeonel \
268e0963edeSmrg	| mips64orion | mips64orionel \
269f05b35a2Smrg	| mips64r5900 | mips64r5900el \
270f05b35a2Smrg	| mips64vr | mips64vrel \
271e0963edeSmrg	| mips64vr4100 | mips64vr4100el \
272e0963edeSmrg	| mips64vr4300 | mips64vr4300el \
273e0963edeSmrg	| mips64vr5000 | mips64vr5000el \
274e0963edeSmrg	| mips64vr5900 | mips64vr5900el \
275e0963edeSmrg	| mipsisa32 | mipsisa32el \
276e0963edeSmrg	| mipsisa32r2 | mipsisa32r2el \
277e0963edeSmrg	| mipsisa64 | mipsisa64el \
278e0963edeSmrg	| mipsisa64r2 | mipsisa64r2el \
279e0963edeSmrg	| mipsisa64sb1 | mipsisa64sb1el \
280e0963edeSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
281e0963edeSmrg	| mipstx39 | mipstx39el \
282e0963edeSmrg	| mn10200 | mn10300 \
283f05b35a2Smrg	| moxie \
284e0963edeSmrg	| mt \
285e0963edeSmrg	| msp430 \
28649e108a1Smrg	| nds32 | nds32le | nds32be \
287e0963edeSmrg	| nios | nios2 \
288e0963edeSmrg	| ns16k | ns32k \
289e0963edeSmrg	| or32 \
290e0963edeSmrg	| pdp10 | pdp11 | pj | pjl \
291e0963edeSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292e0963edeSmrg	| pyramid \
29349e108a1Smrg	| rx \
294e0963edeSmrg	| score \
295f05b35a2Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296e0963edeSmrg	| sh64 | sh64le \
297e0963edeSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298e0963edeSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299e0963edeSmrg	| spu | strongarm \
30049e108a1Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30149e108a1Smrg	| ubicom32 \
302e0963edeSmrg	| v850 | v850e \
303e0963edeSmrg	| we32k \
304e0963edeSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305f05b35a2Smrg	| z8k | z80)
306e0963edeSmrg		basic_machine=$basic_machine-unknown
307e0963edeSmrg		;;
30849e108a1Smrg	c54x)
30949e108a1Smrg		basic_machine=tic54x-unknown
31049e108a1Smrg		;;
31149e108a1Smrg	c55x)
31249e108a1Smrg		basic_machine=tic55x-unknown
31349e108a1Smrg		;;
31449e108a1Smrg	c6x)
31549e108a1Smrg		basic_machine=tic6x-unknown
31649e108a1Smrg		;;
31749e108a1Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318e0963edeSmrg		# Motorola 68HC11/12.
319e0963edeSmrg		basic_machine=$basic_machine-unknown
320e0963edeSmrg		os=-none
321e0963edeSmrg		;;
322e0963edeSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323e0963edeSmrg		;;
324e0963edeSmrg	ms1)
325e0963edeSmrg		basic_machine=mt-unknown
326e0963edeSmrg		;;
327e0963edeSmrg
328e0963edeSmrg	# We use `pc' rather than `unknown'
329e0963edeSmrg	# because (1) that's what they normally are, and
330e0963edeSmrg	# (2) the word "unknown" tends to confuse beginning users.
331e0963edeSmrg	i*86 | x86_64)
332e0963edeSmrg	  basic_machine=$basic_machine-pc
333e0963edeSmrg	  ;;
334e0963edeSmrg	# Object if more than one company name word.
335e0963edeSmrg	*-*-*)
336e0963edeSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337e0963edeSmrg		exit 1
338e0963edeSmrg		;;
339e0963edeSmrg	# Recognize the basic CPU types with company name.
340e0963edeSmrg	580-* \
341e0963edeSmrg	| a29k-* \
342e0963edeSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343e0963edeSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344e0963edeSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345e0963edeSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346e0963edeSmrg	| avr-* | avr32-* \
347e0963edeSmrg	| bfin-* | bs2000-* \
34849e108a1Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349e0963edeSmrg	| clipper-* | craynv-* | cydra-* \
350e0963edeSmrg	| d10v-* | d30v-* | dlx-* \
351e0963edeSmrg	| elxsi-* \
352e0963edeSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353e0963edeSmrg	| h8300-* | h8500-* \
354e0963edeSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355e0963edeSmrg	| i*86-* | i860-* | i960-* | ia64-* \
356e0963edeSmrg	| ip2k-* | iq2000-* \
357f05b35a2Smrg	| lm32-* \
358e0963edeSmrg	| m32c-* | m32r-* | m32rle-* \
359e0963edeSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36049e108a1Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361e0963edeSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362e0963edeSmrg	| mips16-* \
363e0963edeSmrg	| mips64-* | mips64el-* \
364f05b35a2Smrg	| mips64octeon-* | mips64octeonel-* \
365e0963edeSmrg	| mips64orion-* | mips64orionel-* \
366f05b35a2Smrg	| mips64r5900-* | mips64r5900el-* \
367f05b35a2Smrg	| mips64vr-* | mips64vrel-* \
368e0963edeSmrg	| mips64vr4100-* | mips64vr4100el-* \
369e0963edeSmrg	| mips64vr4300-* | mips64vr4300el-* \
370e0963edeSmrg	| mips64vr5000-* | mips64vr5000el-* \
371e0963edeSmrg	| mips64vr5900-* | mips64vr5900el-* \
372e0963edeSmrg	| mipsisa32-* | mipsisa32el-* \
373e0963edeSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
374e0963edeSmrg	| mipsisa64-* | mipsisa64el-* \
375e0963edeSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
376e0963edeSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377e0963edeSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378e0963edeSmrg	| mipstx39-* | mipstx39el-* \
379e0963edeSmrg	| mmix-* \
380e0963edeSmrg	| mt-* \
381e0963edeSmrg	| msp430-* \
38249e108a1Smrg	| nds32-* | nds32le-* | nds32be-* \
383e0963edeSmrg	| nios-* | nios2-* \
384e0963edeSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
385e0963edeSmrg	| orion-* \
386e0963edeSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387e0963edeSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388e0963edeSmrg	| pyramid-* \
38949e108a1Smrg	| romp-* | rs6000-* | rx-* \
390f05b35a2Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391e0963edeSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392e0963edeSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393e0963edeSmrg	| sparclite-* \
394e0963edeSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395e0963edeSmrg	| tahoe-* | thumb-* \
39649e108a1Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39749e108a1Smrg	| tile-* | tilegx-* \
398e0963edeSmrg	| tron-* \
39949e108a1Smrg	| ubicom32-* \
400e0963edeSmrg	| v850-* | v850e-* | vax-* \
401e0963edeSmrg	| we32k-* \
402e0963edeSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403f05b35a2Smrg	| xstormy16-* | xtensa*-* \
404e0963edeSmrg	| ymp-* \
405f05b35a2Smrg	| z8k-* | z80-*)
406f05b35a2Smrg		;;
407f05b35a2Smrg	# Recognize the basic CPU types without company name, with glob match.
408f05b35a2Smrg	xtensa*)
409f05b35a2Smrg		basic_machine=$basic_machine-unknown
410e0963edeSmrg		;;
411e0963edeSmrg	# Recognize the various machine names and aliases which stand
412e0963edeSmrg	# for a CPU type and a company and sometimes even an OS.
413e0963edeSmrg	386bsd)
414e0963edeSmrg		basic_machine=i386-unknown
415e0963edeSmrg		os=-bsd
416e0963edeSmrg		;;
417e0963edeSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418e0963edeSmrg		basic_machine=m68000-att
419e0963edeSmrg		;;
420e0963edeSmrg	3b*)
421e0963edeSmrg		basic_machine=we32k-att
422e0963edeSmrg		;;
423e0963edeSmrg	a29khif)
424e0963edeSmrg		basic_machine=a29k-amd
425e0963edeSmrg		os=-udi
426e0963edeSmrg		;;
427e0963edeSmrg    	abacus)
428e0963edeSmrg		basic_machine=abacus-unknown
429e0963edeSmrg		;;
430e0963edeSmrg	adobe68k)
431e0963edeSmrg		basic_machine=m68010-adobe
432e0963edeSmrg		os=-scout
433e0963edeSmrg		;;
434e0963edeSmrg	alliant | fx80)
435e0963edeSmrg		basic_machine=fx80-alliant
436e0963edeSmrg		;;
437e0963edeSmrg	altos | altos3068)
438e0963edeSmrg		basic_machine=m68k-altos
439e0963edeSmrg		;;
440e0963edeSmrg	am29k)
441e0963edeSmrg		basic_machine=a29k-none
442e0963edeSmrg		os=-bsd
443e0963edeSmrg		;;
444e0963edeSmrg	amd64)
445e0963edeSmrg		basic_machine=x86_64-pc
446e0963edeSmrg		;;
447e0963edeSmrg	amd64-*)
448e0963edeSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449e0963edeSmrg		;;
450e0963edeSmrg	amdahl)
451e0963edeSmrg		basic_machine=580-amdahl
452e0963edeSmrg		os=-sysv
453e0963edeSmrg		;;
454e0963edeSmrg	amiga | amiga-*)
455e0963edeSmrg		basic_machine=m68k-unknown
456e0963edeSmrg		;;
457e0963edeSmrg	amigaos | amigados)
458e0963edeSmrg		basic_machine=m68k-unknown
459e0963edeSmrg		os=-amigaos
460e0963edeSmrg		;;
461e0963edeSmrg	amigaunix | amix)
462e0963edeSmrg		basic_machine=m68k-unknown
463e0963edeSmrg		os=-sysv4
464e0963edeSmrg		;;
465e0963edeSmrg	apollo68)
466e0963edeSmrg		basic_machine=m68k-apollo
467e0963edeSmrg		os=-sysv
468e0963edeSmrg		;;
469e0963edeSmrg	apollo68bsd)
470e0963edeSmrg		basic_machine=m68k-apollo
471e0963edeSmrg		os=-bsd
472e0963edeSmrg		;;
473f05b35a2Smrg	aros)
474f05b35a2Smrg		basic_machine=i386-pc
475f05b35a2Smrg		os=-aros
476f05b35a2Smrg		;;
477e0963edeSmrg	aux)
478e0963edeSmrg		basic_machine=m68k-apple
479e0963edeSmrg		os=-aux
480e0963edeSmrg		;;
481e0963edeSmrg	balance)
482e0963edeSmrg		basic_machine=ns32k-sequent
483e0963edeSmrg		os=-dynix
484e0963edeSmrg		;;
485f05b35a2Smrg	blackfin)
486f05b35a2Smrg		basic_machine=bfin-unknown
487f05b35a2Smrg		os=-linux
488f05b35a2Smrg		;;
489f05b35a2Smrg	blackfin-*)
490f05b35a2Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491f05b35a2Smrg		os=-linux
492f05b35a2Smrg		;;
49349e108a1Smrg	bluegene*)
49449e108a1Smrg		basic_machine=powerpc-ibm
49549e108a1Smrg		os=-cnk
49649e108a1Smrg		;;
49749e108a1Smrg	c54x-*)
49849e108a1Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49949e108a1Smrg		;;
50049e108a1Smrg	c55x-*)
50149e108a1Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50249e108a1Smrg		;;
50349e108a1Smrg	c6x-*)
50449e108a1Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50549e108a1Smrg		;;
506e0963edeSmrg	c90)
507e0963edeSmrg		basic_machine=c90-cray
508e0963edeSmrg		os=-unicos
509e0963edeSmrg		;;
510f05b35a2Smrg        cegcc)
511f05b35a2Smrg		basic_machine=arm-unknown
512f05b35a2Smrg		os=-cegcc
513f05b35a2Smrg		;;
514e0963edeSmrg	convex-c1)
515e0963edeSmrg		basic_machine=c1-convex
516e0963edeSmrg		os=-bsd
517e0963edeSmrg		;;
518e0963edeSmrg	convex-c2)
519e0963edeSmrg		basic_machine=c2-convex
520e0963edeSmrg		os=-bsd
521e0963edeSmrg		;;
522e0963edeSmrg	convex-c32)
523e0963edeSmrg		basic_machine=c32-convex
524e0963edeSmrg		os=-bsd
525e0963edeSmrg		;;
526e0963edeSmrg	convex-c34)
527e0963edeSmrg		basic_machine=c34-convex
528e0963edeSmrg		os=-bsd
529e0963edeSmrg		;;
530e0963edeSmrg	convex-c38)
531e0963edeSmrg		basic_machine=c38-convex
532e0963edeSmrg		os=-bsd
533e0963edeSmrg		;;
534e0963edeSmrg	cray | j90)
535e0963edeSmrg		basic_machine=j90-cray
536e0963edeSmrg		os=-unicos
537e0963edeSmrg		;;
538e0963edeSmrg	craynv)
539e0963edeSmrg		basic_machine=craynv-cray
540e0963edeSmrg		os=-unicosmp
541e0963edeSmrg		;;
542f05b35a2Smrg	cr16)
543f05b35a2Smrg		basic_machine=cr16-unknown
544e0963edeSmrg		os=-elf
545e0963edeSmrg		;;
546e0963edeSmrg	crds | unos)
547e0963edeSmrg		basic_machine=m68k-crds
548e0963edeSmrg		;;
549e0963edeSmrg	crisv32 | crisv32-* | etraxfs*)
550e0963edeSmrg		basic_machine=crisv32-axis
551e0963edeSmrg		;;
552e0963edeSmrg	cris | cris-* | etrax*)
553e0963edeSmrg		basic_machine=cris-axis
554e0963edeSmrg		;;
555e0963edeSmrg	crx)
556e0963edeSmrg		basic_machine=crx-unknown
557e0963edeSmrg		os=-elf
558e0963edeSmrg		;;
559e0963edeSmrg	da30 | da30-*)
560e0963edeSmrg		basic_machine=m68k-da30
561e0963edeSmrg		;;
562e0963edeSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563e0963edeSmrg		basic_machine=mips-dec
564e0963edeSmrg		;;
565e0963edeSmrg	decsystem10* | dec10*)
566e0963edeSmrg		basic_machine=pdp10-dec
567e0963edeSmrg		os=-tops10
568e0963edeSmrg		;;
569e0963edeSmrg	decsystem20* | dec20*)
570e0963edeSmrg		basic_machine=pdp10-dec
571e0963edeSmrg		os=-tops20
572e0963edeSmrg		;;
573e0963edeSmrg	delta | 3300 | motorola-3300 | motorola-delta \
574e0963edeSmrg	      | 3300-motorola | delta-motorola)
575e0963edeSmrg		basic_machine=m68k-motorola
576e0963edeSmrg		;;
577e0963edeSmrg	delta88)
578e0963edeSmrg		basic_machine=m88k-motorola
579e0963edeSmrg		os=-sysv3
580e0963edeSmrg		;;
581f05b35a2Smrg	dicos)
582f05b35a2Smrg		basic_machine=i686-pc
583f05b35a2Smrg		os=-dicos
584f05b35a2Smrg		;;
585e0963edeSmrg	djgpp)
586e0963edeSmrg		basic_machine=i586-pc
587e0963edeSmrg		os=-msdosdjgpp
588e0963edeSmrg		;;
589e0963edeSmrg	dpx20 | dpx20-*)
590e0963edeSmrg		basic_machine=rs6000-bull
591e0963edeSmrg		os=-bosx
592e0963edeSmrg		;;
593e0963edeSmrg	dpx2* | dpx2*-bull)
594e0963edeSmrg		basic_machine=m68k-bull
595e0963edeSmrg		os=-sysv3
596e0963edeSmrg		;;
597e0963edeSmrg	ebmon29k)
598e0963edeSmrg		basic_machine=a29k-amd
599e0963edeSmrg		os=-ebmon
600e0963edeSmrg		;;
601e0963edeSmrg	elxsi)
602e0963edeSmrg		basic_machine=elxsi-elxsi
603e0963edeSmrg		os=-bsd
604e0963edeSmrg		;;
605e0963edeSmrg	encore | umax | mmax)
606e0963edeSmrg		basic_machine=ns32k-encore
607e0963edeSmrg		;;
608e0963edeSmrg	es1800 | OSE68k | ose68k | ose | OSE)
609e0963edeSmrg		basic_machine=m68k-ericsson
610e0963edeSmrg		os=-ose
611e0963edeSmrg		;;
612e0963edeSmrg	fx2800)
613e0963edeSmrg		basic_machine=i860-alliant
614e0963edeSmrg		;;
615e0963edeSmrg	genix)
616e0963edeSmrg		basic_machine=ns32k-ns
617e0963edeSmrg		;;
618e0963edeSmrg	gmicro)
619e0963edeSmrg		basic_machine=tron-gmicro
620e0963edeSmrg		os=-sysv
621e0963edeSmrg		;;
622e0963edeSmrg	go32)
623e0963edeSmrg		basic_machine=i386-pc
624e0963edeSmrg		os=-go32
625e0963edeSmrg		;;
626e0963edeSmrg	h3050r* | hiux*)
627e0963edeSmrg		basic_machine=hppa1.1-hitachi
628e0963edeSmrg		os=-hiuxwe2
629e0963edeSmrg		;;
630e0963edeSmrg	h8300hms)
631e0963edeSmrg		basic_machine=h8300-hitachi
632e0963edeSmrg		os=-hms
633e0963edeSmrg		;;
634e0963edeSmrg	h8300xray)
635e0963edeSmrg		basic_machine=h8300-hitachi
636e0963edeSmrg		os=-xray
637e0963edeSmrg		;;
638e0963edeSmrg	h8500hms)
639e0963edeSmrg		basic_machine=h8500-hitachi
640e0963edeSmrg		os=-hms
641e0963edeSmrg		;;
642e0963edeSmrg	harris)
643e0963edeSmrg		basic_machine=m88k-harris
644e0963edeSmrg		os=-sysv3
645e0963edeSmrg		;;
646e0963edeSmrg	hp300-*)
647e0963edeSmrg		basic_machine=m68k-hp
648e0963edeSmrg		;;
649e0963edeSmrg	hp300bsd)
650e0963edeSmrg		basic_machine=m68k-hp
651e0963edeSmrg		os=-bsd
652e0963edeSmrg		;;
653e0963edeSmrg	hp300hpux)
654e0963edeSmrg		basic_machine=m68k-hp
655e0963edeSmrg		os=-hpux
656e0963edeSmrg		;;
657e0963edeSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658e0963edeSmrg		basic_machine=hppa1.0-hp
659e0963edeSmrg		;;
660e0963edeSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661e0963edeSmrg		basic_machine=m68000-hp
662e0963edeSmrg		;;
663e0963edeSmrg	hp9k3[2-9][0-9])
664e0963edeSmrg		basic_machine=m68k-hp
665e0963edeSmrg		;;
666e0963edeSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667e0963edeSmrg		basic_machine=hppa1.0-hp
668e0963edeSmrg		;;
669e0963edeSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670e0963edeSmrg		basic_machine=hppa1.1-hp
671e0963edeSmrg		;;
672e0963edeSmrg	hp9k78[0-9] | hp78[0-9])
673e0963edeSmrg		# FIXME: really hppa2.0-hp
674e0963edeSmrg		basic_machine=hppa1.1-hp
675e0963edeSmrg		;;
676e0963edeSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677e0963edeSmrg		# FIXME: really hppa2.0-hp
678e0963edeSmrg		basic_machine=hppa1.1-hp
679e0963edeSmrg		;;
680e0963edeSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681e0963edeSmrg		basic_machine=hppa1.1-hp
682e0963edeSmrg		;;
683e0963edeSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684e0963edeSmrg		basic_machine=hppa1.0-hp
685e0963edeSmrg		;;
686e0963edeSmrg	hppa-next)
687e0963edeSmrg		os=-nextstep3
688e0963edeSmrg		;;
689e0963edeSmrg	hppaosf)
690e0963edeSmrg		basic_machine=hppa1.1-hp
691e0963edeSmrg		os=-osf
692e0963edeSmrg		;;
693e0963edeSmrg	hppro)
694e0963edeSmrg		basic_machine=hppa1.1-hp
695e0963edeSmrg		os=-proelf
696e0963edeSmrg		;;
697e0963edeSmrg	i370-ibm* | ibm*)
698e0963edeSmrg		basic_machine=i370-ibm
699e0963edeSmrg		;;
700e0963edeSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701e0963edeSmrg	i*86v32)
702e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703e0963edeSmrg		os=-sysv32
704e0963edeSmrg		;;
705e0963edeSmrg	i*86v4*)
706e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707e0963edeSmrg		os=-sysv4
708e0963edeSmrg		;;
709e0963edeSmrg	i*86v)
710e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711e0963edeSmrg		os=-sysv
712e0963edeSmrg		;;
713e0963edeSmrg	i*86sol2)
714e0963edeSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715e0963edeSmrg		os=-solaris2
716e0963edeSmrg		;;
717e0963edeSmrg	i386mach)
718e0963edeSmrg		basic_machine=i386-mach
719e0963edeSmrg		os=-mach
720e0963edeSmrg		;;
721e0963edeSmrg	i386-vsta | vsta)
722e0963edeSmrg		basic_machine=i386-unknown
723e0963edeSmrg		os=-vsta
724e0963edeSmrg		;;
725e0963edeSmrg	iris | iris4d)
726e0963edeSmrg		basic_machine=mips-sgi
727e0963edeSmrg		case $os in
728e0963edeSmrg		    -irix*)
729e0963edeSmrg			;;
730e0963edeSmrg		    *)
731e0963edeSmrg			os=-irix4
732e0963edeSmrg			;;
733e0963edeSmrg		esac
734e0963edeSmrg		;;
735e0963edeSmrg	isi68 | isi)
736e0963edeSmrg		basic_machine=m68k-isi
737e0963edeSmrg		os=-sysv
738e0963edeSmrg		;;
739f05b35a2Smrg	m68knommu)
740f05b35a2Smrg		basic_machine=m68k-unknown
741f05b35a2Smrg		os=-linux
742f05b35a2Smrg		;;
743f05b35a2Smrg	m68knommu-*)
744f05b35a2Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745f05b35a2Smrg		os=-linux
746f05b35a2Smrg		;;
747e0963edeSmrg	m88k-omron*)
748e0963edeSmrg		basic_machine=m88k-omron
749e0963edeSmrg		;;
750e0963edeSmrg	magnum | m3230)
751e0963edeSmrg		basic_machine=mips-mips
752e0963edeSmrg		os=-sysv
753e0963edeSmrg		;;
754e0963edeSmrg	merlin)
755e0963edeSmrg		basic_machine=ns32k-utek
756e0963edeSmrg		os=-sysv
757e0963edeSmrg		;;
75849e108a1Smrg        microblaze)
75949e108a1Smrg		basic_machine=microblaze-xilinx
76049e108a1Smrg		;;
761e0963edeSmrg	mingw32)
762e0963edeSmrg		basic_machine=i386-pc
763e0963edeSmrg		os=-mingw32
764e0963edeSmrg		;;
765e0963edeSmrg	mingw32ce)
766e0963edeSmrg		basic_machine=arm-unknown
767e0963edeSmrg		os=-mingw32ce
768e0963edeSmrg		;;
769e0963edeSmrg	miniframe)
770e0963edeSmrg		basic_machine=m68000-convergent
771e0963edeSmrg		;;
772e0963edeSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773e0963edeSmrg		basic_machine=m68k-atari
774e0963edeSmrg		os=-mint
775e0963edeSmrg		;;
776e0963edeSmrg	mips3*-*)
777e0963edeSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778e0963edeSmrg		;;
779e0963edeSmrg	mips3*)
780e0963edeSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781e0963edeSmrg		;;
782e0963edeSmrg	monitor)
783e0963edeSmrg		basic_machine=m68k-rom68k
784e0963edeSmrg		os=-coff
785e0963edeSmrg		;;
786e0963edeSmrg	morphos)
787e0963edeSmrg		basic_machine=powerpc-unknown
788e0963edeSmrg		os=-morphos
789e0963edeSmrg		;;
790e0963edeSmrg	msdos)
791e0963edeSmrg		basic_machine=i386-pc
792e0963edeSmrg		os=-msdos
793e0963edeSmrg		;;
794e0963edeSmrg	ms1-*)
795e0963edeSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796e0963edeSmrg		;;
797e0963edeSmrg	mvs)
798e0963edeSmrg		basic_machine=i370-ibm
799e0963edeSmrg		os=-mvs
800e0963edeSmrg		;;
801e0963edeSmrg	ncr3000)
802e0963edeSmrg		basic_machine=i486-ncr
803e0963edeSmrg		os=-sysv4
804e0963edeSmrg		;;
805e0963edeSmrg	netbsd386)
806e0963edeSmrg		basic_machine=i386-unknown
807e0963edeSmrg		os=-netbsd
808e0963edeSmrg		;;
809e0963edeSmrg	netwinder)
810e0963edeSmrg		basic_machine=armv4l-rebel
811e0963edeSmrg		os=-linux
812e0963edeSmrg		;;
813e0963edeSmrg	news | news700 | news800 | news900)
814e0963edeSmrg		basic_machine=m68k-sony
815e0963edeSmrg		os=-newsos
816e0963edeSmrg		;;
817e0963edeSmrg	news1000)
818e0963edeSmrg		basic_machine=m68030-sony
819e0963edeSmrg		os=-newsos
820e0963edeSmrg		;;
821e0963edeSmrg	news-3600 | risc-news)
822e0963edeSmrg		basic_machine=mips-sony
823e0963edeSmrg		os=-newsos
824e0963edeSmrg		;;
825e0963edeSmrg	necv70)
826e0963edeSmrg		basic_machine=v70-nec
827e0963edeSmrg		os=-sysv
828e0963edeSmrg		;;
829e0963edeSmrg	next | m*-next )
830e0963edeSmrg		basic_machine=m68k-next
831e0963edeSmrg		case $os in
832e0963edeSmrg		    -nextstep* )
833e0963edeSmrg			;;
834e0963edeSmrg		    -ns2*)
835e0963edeSmrg		      os=-nextstep2
836e0963edeSmrg			;;
837e0963edeSmrg		    *)
838e0963edeSmrg		      os=-nextstep3
839e0963edeSmrg			;;
840e0963edeSmrg		esac
841e0963edeSmrg		;;
842e0963edeSmrg	nh3000)
843e0963edeSmrg		basic_machine=m68k-harris
844e0963edeSmrg		os=-cxux
845e0963edeSmrg		;;
846e0963edeSmrg	nh[45]000)
847e0963edeSmrg		basic_machine=m88k-harris
848e0963edeSmrg		os=-cxux
849e0963edeSmrg		;;
850e0963edeSmrg	nindy960)
851e0963edeSmrg		basic_machine=i960-intel
852e0963edeSmrg		os=-nindy
853e0963edeSmrg		;;
854e0963edeSmrg	mon960)
855e0963edeSmrg		basic_machine=i960-intel
856e0963edeSmrg		os=-mon960
857e0963edeSmrg		;;
858e0963edeSmrg	nonstopux)
859e0963edeSmrg		basic_machine=mips-compaq
860e0963edeSmrg		os=-nonstopux
861e0963edeSmrg		;;
862e0963edeSmrg	np1)
863e0963edeSmrg		basic_machine=np1-gould
864e0963edeSmrg		;;
86549e108a1Smrg        neo-tandem)
86649e108a1Smrg		basic_machine=neo-tandem
86749e108a1Smrg		;;
86849e108a1Smrg        nse-tandem)
86949e108a1Smrg		basic_machine=nse-tandem
87049e108a1Smrg		;;
871e0963edeSmrg	nsr-tandem)
872e0963edeSmrg		basic_machine=nsr-tandem
873e0963edeSmrg		;;
874e0963edeSmrg	op50n-* | op60c-*)
875e0963edeSmrg		basic_machine=hppa1.1-oki
876e0963edeSmrg		os=-proelf
877e0963edeSmrg		;;
878e0963edeSmrg	openrisc | openrisc-*)
879e0963edeSmrg		basic_machine=or32-unknown
880e0963edeSmrg		;;
881e0963edeSmrg	os400)
882e0963edeSmrg		basic_machine=powerpc-ibm
883e0963edeSmrg		os=-os400
884e0963edeSmrg		;;
885e0963edeSmrg	OSE68000 | ose68000)
886e0963edeSmrg		basic_machine=m68000-ericsson
887e0963edeSmrg		os=-ose
888e0963edeSmrg		;;
889e0963edeSmrg	os68k)
890e0963edeSmrg		basic_machine=m68k-none
891e0963edeSmrg		os=-os68k
892e0963edeSmrg		;;
893e0963edeSmrg	pa-hitachi)
894e0963edeSmrg		basic_machine=hppa1.1-hitachi
895e0963edeSmrg		os=-hiuxwe2
896e0963edeSmrg		;;
897e0963edeSmrg	paragon)
898e0963edeSmrg		basic_machine=i860-intel
899e0963edeSmrg		os=-osf
900e0963edeSmrg		;;
901f05b35a2Smrg	parisc)
902f05b35a2Smrg		basic_machine=hppa-unknown
903f05b35a2Smrg		os=-linux
904f05b35a2Smrg		;;
905f05b35a2Smrg	parisc-*)
906f05b35a2Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907f05b35a2Smrg		os=-linux
908f05b35a2Smrg		;;
909e0963edeSmrg	pbd)
910e0963edeSmrg		basic_machine=sparc-tti
911e0963edeSmrg		;;
912e0963edeSmrg	pbb)
913e0963edeSmrg		basic_machine=m68k-tti
914e0963edeSmrg		;;
915e0963edeSmrg	pc532 | pc532-*)
916e0963edeSmrg		basic_machine=ns32k-pc532
917e0963edeSmrg		;;
918e0963edeSmrg	pc98)
919e0963edeSmrg		basic_machine=i386-pc
920e0963edeSmrg		;;
921e0963edeSmrg	pc98-*)
922e0963edeSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923e0963edeSmrg		;;
924e0963edeSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925e0963edeSmrg		basic_machine=i586-pc
926e0963edeSmrg		;;
927e0963edeSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928e0963edeSmrg		basic_machine=i686-pc
929e0963edeSmrg		;;
930e0963edeSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
931e0963edeSmrg		basic_machine=i686-pc
932e0963edeSmrg		;;
933e0963edeSmrg	pentium4)
934e0963edeSmrg		basic_machine=i786-pc
935e0963edeSmrg		;;
936e0963edeSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937e0963edeSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938e0963edeSmrg		;;
939e0963edeSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940e0963edeSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941e0963edeSmrg		;;
942e0963edeSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943e0963edeSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944e0963edeSmrg		;;
945e0963edeSmrg	pentium4-*)
946e0963edeSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947e0963edeSmrg		;;
948e0963edeSmrg	pn)
949e0963edeSmrg		basic_machine=pn-gould
950e0963edeSmrg		;;
951e0963edeSmrg	power)	basic_machine=power-ibm
952e0963edeSmrg		;;
953e0963edeSmrg	ppc)	basic_machine=powerpc-unknown
954e0963edeSmrg		;;
955e0963edeSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956e0963edeSmrg		;;
957e0963edeSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958e0963edeSmrg		basic_machine=powerpcle-unknown
959e0963edeSmrg		;;
960e0963edeSmrg	ppcle-* | powerpclittle-*)
961e0963edeSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962e0963edeSmrg		;;
963e0963edeSmrg	ppc64)	basic_machine=powerpc64-unknown
964e0963edeSmrg		;;
965e0963edeSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966e0963edeSmrg		;;
967e0963edeSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968e0963edeSmrg		basic_machine=powerpc64le-unknown
969e0963edeSmrg		;;
970e0963edeSmrg	ppc64le-* | powerpc64little-*)
971e0963edeSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972e0963edeSmrg		;;
973e0963edeSmrg	ps2)
974e0963edeSmrg		basic_machine=i386-ibm
975e0963edeSmrg		;;
976e0963edeSmrg	pw32)
977e0963edeSmrg		basic_machine=i586-unknown
978e0963edeSmrg		os=-pw32
979e0963edeSmrg		;;
980e0963edeSmrg	rdos)
981e0963edeSmrg		basic_machine=i386-pc
982e0963edeSmrg		os=-rdos
983e0963edeSmrg		;;
984e0963edeSmrg	rom68k)
985e0963edeSmrg		basic_machine=m68k-rom68k
986e0963edeSmrg		os=-coff
987e0963edeSmrg		;;
988e0963edeSmrg	rm[46]00)
989e0963edeSmrg		basic_machine=mips-siemens
990e0963edeSmrg		;;
991e0963edeSmrg	rtpc | rtpc-*)
992e0963edeSmrg		basic_machine=romp-ibm
993e0963edeSmrg		;;
994e0963edeSmrg	s390 | s390-*)
995e0963edeSmrg		basic_machine=s390-ibm
996e0963edeSmrg		;;
997e0963edeSmrg	s390x | s390x-*)
998e0963edeSmrg		basic_machine=s390x-ibm
999e0963edeSmrg		;;
1000e0963edeSmrg	sa29200)
1001e0963edeSmrg		basic_machine=a29k-amd
1002e0963edeSmrg		os=-udi
1003e0963edeSmrg		;;
1004e0963edeSmrg	sb1)
1005e0963edeSmrg		basic_machine=mipsisa64sb1-unknown
1006e0963edeSmrg		;;
1007e0963edeSmrg	sb1el)
1008e0963edeSmrg		basic_machine=mipsisa64sb1el-unknown
1009e0963edeSmrg		;;
1010e0963edeSmrg	sde)
1011e0963edeSmrg		basic_machine=mipsisa32-sde
1012e0963edeSmrg		os=-elf
1013e0963edeSmrg		;;
1014e0963edeSmrg	sei)
1015e0963edeSmrg		basic_machine=mips-sei
1016e0963edeSmrg		os=-seiux
1017e0963edeSmrg		;;
1018e0963edeSmrg	sequent)
1019e0963edeSmrg		basic_machine=i386-sequent
1020e0963edeSmrg		;;
1021e0963edeSmrg	sh)
1022e0963edeSmrg		basic_machine=sh-hitachi
1023e0963edeSmrg		os=-hms
1024e0963edeSmrg		;;
1025e0963edeSmrg	sh5el)
1026e0963edeSmrg		basic_machine=sh5le-unknown
1027e0963edeSmrg		;;
1028e0963edeSmrg	sh64)
1029e0963edeSmrg		basic_machine=sh64-unknown
1030e0963edeSmrg		;;
1031e0963edeSmrg	sparclite-wrs | simso-wrs)
1032e0963edeSmrg		basic_machine=sparclite-wrs
1033e0963edeSmrg		os=-vxworks
1034e0963edeSmrg		;;
1035e0963edeSmrg	sps7)
1036e0963edeSmrg		basic_machine=m68k-bull
1037e0963edeSmrg		os=-sysv2
1038e0963edeSmrg		;;
1039e0963edeSmrg	spur)
1040e0963edeSmrg		basic_machine=spur-unknown
1041e0963edeSmrg		;;
1042e0963edeSmrg	st2000)
1043e0963edeSmrg		basic_machine=m68k-tandem
1044e0963edeSmrg		;;
1045e0963edeSmrg	stratus)
1046e0963edeSmrg		basic_machine=i860-stratus
1047e0963edeSmrg		os=-sysv4
1048e0963edeSmrg		;;
1049e0963edeSmrg	sun2)
1050e0963edeSmrg		basic_machine=m68000-sun
1051e0963edeSmrg		;;
1052e0963edeSmrg	sun2os3)
1053e0963edeSmrg		basic_machine=m68000-sun
1054e0963edeSmrg		os=-sunos3
1055e0963edeSmrg		;;
1056e0963edeSmrg	sun2os4)
1057e0963edeSmrg		basic_machine=m68000-sun
1058e0963edeSmrg		os=-sunos4
1059e0963edeSmrg		;;
1060e0963edeSmrg	sun3os3)
1061e0963edeSmrg		basic_machine=m68k-sun
1062e0963edeSmrg		os=-sunos3
1063e0963edeSmrg		;;
1064e0963edeSmrg	sun3os4)
1065e0963edeSmrg		basic_machine=m68k-sun
1066e0963edeSmrg		os=-sunos4
1067e0963edeSmrg		;;
1068e0963edeSmrg	sun4os3)
1069e0963edeSmrg		basic_machine=sparc-sun
1070e0963edeSmrg		os=-sunos3
1071e0963edeSmrg		;;
1072e0963edeSmrg	sun4os4)
1073e0963edeSmrg		basic_machine=sparc-sun
1074e0963edeSmrg		os=-sunos4
1075e0963edeSmrg		;;
1076e0963edeSmrg	sun4sol2)
1077e0963edeSmrg		basic_machine=sparc-sun
1078e0963edeSmrg		os=-solaris2
1079e0963edeSmrg		;;
1080e0963edeSmrg	sun3 | sun3-*)
1081e0963edeSmrg		basic_machine=m68k-sun
1082e0963edeSmrg		;;
1083e0963edeSmrg	sun4)
1084e0963edeSmrg		basic_machine=sparc-sun
1085e0963edeSmrg		;;
1086e0963edeSmrg	sun386 | sun386i | roadrunner)
1087e0963edeSmrg		basic_machine=i386-sun
1088e0963edeSmrg		;;
1089e0963edeSmrg	sv1)
1090e0963edeSmrg		basic_machine=sv1-cray
1091e0963edeSmrg		os=-unicos
1092e0963edeSmrg		;;
1093e0963edeSmrg	symmetry)
1094e0963edeSmrg		basic_machine=i386-sequent
1095e0963edeSmrg		os=-dynix
1096e0963edeSmrg		;;
1097e0963edeSmrg	t3e)
1098e0963edeSmrg		basic_machine=alphaev5-cray
1099e0963edeSmrg		os=-unicos
1100e0963edeSmrg		;;
1101e0963edeSmrg	t90)
1102e0963edeSmrg		basic_machine=t90-cray
1103e0963edeSmrg		os=-unicos
1104e0963edeSmrg		;;
110549e108a1Smrg        # This must be matched before tile*.
110649e108a1Smrg        tilegx*)
110749e108a1Smrg		basic_machine=tilegx-unknown
110849e108a1Smrg		os=-linux-gnu
1109e0963edeSmrg		;;
1110f05b35a2Smrg	tile*)
1111f05b35a2Smrg		basic_machine=tile-unknown
1112f05b35a2Smrg		os=-linux-gnu
1113f05b35a2Smrg		;;
1114e0963edeSmrg	tx39)
1115e0963edeSmrg		basic_machine=mipstx39-unknown
1116e0963edeSmrg		;;
1117e0963edeSmrg	tx39el)
1118e0963edeSmrg		basic_machine=mipstx39el-unknown
1119e0963edeSmrg		;;
1120e0963edeSmrg	toad1)
1121e0963edeSmrg		basic_machine=pdp10-xkl
1122e0963edeSmrg		os=-tops20
1123e0963edeSmrg		;;
1124e0963edeSmrg	tower | tower-32)
1125e0963edeSmrg		basic_machine=m68k-ncr
1126e0963edeSmrg		;;
1127e0963edeSmrg	tpf)
1128e0963edeSmrg		basic_machine=s390x-ibm
1129e0963edeSmrg		os=-tpf
1130e0963edeSmrg		;;
1131e0963edeSmrg	udi29k)
1132e0963edeSmrg		basic_machine=a29k-amd
1133e0963edeSmrg		os=-udi
1134e0963edeSmrg		;;
1135e0963edeSmrg	ultra3)
1136e0963edeSmrg		basic_machine=a29k-nyu
1137e0963edeSmrg		os=-sym1
1138e0963edeSmrg		;;
1139e0963edeSmrg	v810 | necv810)
1140e0963edeSmrg		basic_machine=v810-nec
1141e0963edeSmrg		os=-none
1142e0963edeSmrg		;;
1143e0963edeSmrg	vaxv)
1144e0963edeSmrg		basic_machine=vax-dec
1145e0963edeSmrg		os=-sysv
1146e0963edeSmrg		;;
1147e0963edeSmrg	vms)
1148e0963edeSmrg		basic_machine=vax-dec
1149e0963edeSmrg		os=-vms
1150e0963edeSmrg		;;
1151e0963edeSmrg	vpp*|vx|vx-*)
1152e0963edeSmrg		basic_machine=f301-fujitsu
1153e0963edeSmrg		;;
1154e0963edeSmrg	vxworks960)
1155e0963edeSmrg		basic_machine=i960-wrs
1156e0963edeSmrg		os=-vxworks
1157e0963edeSmrg		;;
1158e0963edeSmrg	vxworks68)
1159e0963edeSmrg		basic_machine=m68k-wrs
1160e0963edeSmrg		os=-vxworks
1161e0963edeSmrg		;;
1162e0963edeSmrg	vxworks29k)
1163e0963edeSmrg		basic_machine=a29k-wrs
1164e0963edeSmrg		os=-vxworks
1165e0963edeSmrg		;;
1166e0963edeSmrg	w65*)
1167e0963edeSmrg		basic_machine=w65-wdc
1168e0963edeSmrg		os=-none
1169e0963edeSmrg		;;
1170e0963edeSmrg	w89k-*)
1171e0963edeSmrg		basic_machine=hppa1.1-winbond
1172e0963edeSmrg		os=-proelf
1173e0963edeSmrg		;;
1174e0963edeSmrg	xbox)
1175e0963edeSmrg		basic_machine=i686-pc
1176e0963edeSmrg		os=-mingw32
1177e0963edeSmrg		;;
1178e0963edeSmrg	xps | xps100)
1179e0963edeSmrg		basic_machine=xps100-honeywell
1180e0963edeSmrg		;;
1181e0963edeSmrg	ymp)
1182e0963edeSmrg		basic_machine=ymp-cray
1183e0963edeSmrg		os=-unicos
1184e0963edeSmrg		;;
1185e0963edeSmrg	z8k-*-coff)
1186e0963edeSmrg		basic_machine=z8k-unknown
1187e0963edeSmrg		os=-sim
1188e0963edeSmrg		;;
1189f05b35a2Smrg	z80-*-coff)
1190f05b35a2Smrg		basic_machine=z80-unknown
1191f05b35a2Smrg		os=-sim
1192f05b35a2Smrg		;;
1193e0963edeSmrg	none)
1194e0963edeSmrg		basic_machine=none-none
1195e0963edeSmrg		os=-none
1196e0963edeSmrg		;;
1197e0963edeSmrg
1198e0963edeSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199e0963edeSmrg# some cases the only manufacturer, in others, it is the most popular.
1200e0963edeSmrg	w89k)
1201e0963edeSmrg		basic_machine=hppa1.1-winbond
1202e0963edeSmrg		;;
1203e0963edeSmrg	op50n)
1204e0963edeSmrg		basic_machine=hppa1.1-oki
1205e0963edeSmrg		;;
1206e0963edeSmrg	op60c)
1207e0963edeSmrg		basic_machine=hppa1.1-oki
1208e0963edeSmrg		;;
1209e0963edeSmrg	romp)
1210e0963edeSmrg		basic_machine=romp-ibm
1211e0963edeSmrg		;;
1212e0963edeSmrg	mmix)
1213e0963edeSmrg		basic_machine=mmix-knuth
1214e0963edeSmrg		;;
1215e0963edeSmrg	rs6000)
1216e0963edeSmrg		basic_machine=rs6000-ibm
1217e0963edeSmrg		;;
1218e0963edeSmrg	vax)
1219e0963edeSmrg		basic_machine=vax-dec
1220e0963edeSmrg		;;
1221e0963edeSmrg	pdp10)
1222e0963edeSmrg		# there are many clones, so DEC is not a safe bet
1223e0963edeSmrg		basic_machine=pdp10-unknown
1224e0963edeSmrg		;;
1225e0963edeSmrg	pdp11)
1226e0963edeSmrg		basic_machine=pdp11-dec
1227e0963edeSmrg		;;
1228e0963edeSmrg	we32k)
1229e0963edeSmrg		basic_machine=we32k-att
1230e0963edeSmrg		;;
1231f05b35a2Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232e0963edeSmrg		basic_machine=sh-unknown
1233e0963edeSmrg		;;
1234e0963edeSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235e0963edeSmrg		basic_machine=sparc-sun
1236e0963edeSmrg		;;
1237e0963edeSmrg	cydra)
1238e0963edeSmrg		basic_machine=cydra-cydrome
1239e0963edeSmrg		;;
1240e0963edeSmrg	orion)
1241e0963edeSmrg		basic_machine=orion-highlevel
1242e0963edeSmrg		;;
1243e0963edeSmrg	orion105)
1244e0963edeSmrg		basic_machine=clipper-highlevel
1245e0963edeSmrg		;;
1246e0963edeSmrg	mac | mpw | mac-mpw)
1247e0963edeSmrg		basic_machine=m68k-apple
1248e0963edeSmrg		;;
1249e0963edeSmrg	pmac | pmac-mpw)
1250e0963edeSmrg		basic_machine=powerpc-apple
1251e0963edeSmrg		;;
1252e0963edeSmrg	*-unknown)
1253e0963edeSmrg		# Make sure to match an already-canonicalized machine name.
1254e0963edeSmrg		;;
1255e0963edeSmrg	*)
1256e0963edeSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257e0963edeSmrg		exit 1
1258e0963edeSmrg		;;
1259e0963edeSmrgesac
1260e0963edeSmrg
1261e0963edeSmrg# Here we canonicalize certain aliases for manufacturers.
1262e0963edeSmrgcase $basic_machine in
1263e0963edeSmrg	*-digital*)
1264e0963edeSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265e0963edeSmrg		;;
1266e0963edeSmrg	*-commodore*)
1267e0963edeSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268e0963edeSmrg		;;
1269e0963edeSmrg	*)
1270e0963edeSmrg		;;
1271e0963edeSmrgesac
1272e0963edeSmrg
1273e0963edeSmrg# Decode manufacturer-specific aliases for certain operating systems.
1274e0963edeSmrg
1275e0963edeSmrgif [ x"$os" != x"" ]
1276e0963edeSmrgthen
1277e0963edeSmrgcase $os in
1278e0963edeSmrg        # First match some system type aliases
1279e0963edeSmrg        # that might get confused with valid system types.
1280e0963edeSmrg	# -solaris* is a basic system type, with this one exception.
128149e108a1Smrg        -auroraux)
128249e108a1Smrg	        os=-auroraux
128349e108a1Smrg		;;
1284e0963edeSmrg	-solaris1 | -solaris1.*)
1285e0963edeSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286e0963edeSmrg		;;
1287e0963edeSmrg	-solaris)
1288e0963edeSmrg		os=-solaris2
1289e0963edeSmrg		;;
1290e0963edeSmrg	-svr4*)
1291e0963edeSmrg		os=-sysv4
1292e0963edeSmrg		;;
1293e0963edeSmrg	-unixware*)
1294e0963edeSmrg		os=-sysv4.2uw
1295e0963edeSmrg		;;
1296e0963edeSmrg	-gnu/linux*)
1297e0963edeSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298e0963edeSmrg		;;
1299e0963edeSmrg	# First accept the basic system types.
1300e0963edeSmrg	# The portable systems comes first.
1301e0963edeSmrg	# Each alternative MUST END IN A *, to match a version number.
1302e0963edeSmrg	# -sysv* is not here because it comes later, after sysvr4.
1303e0963edeSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130449e108a1Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130549e108a1Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130649e108a1Smrg	      | -sym* | -kopensolaris* \
1307e0963edeSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308f05b35a2Smrg	      | -aos* | -aros* \
1309e0963edeSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310e0963edeSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311e0963edeSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312e0963edeSmrg	      | -openbsd* | -solidbsd* \
1313e0963edeSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314e0963edeSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315e0963edeSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316e0963edeSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317f05b35a2Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318e0963edeSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131949e108a1Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132049e108a1Smrg	      | -linux-newlib* | -linux-uclibc* \
1321e0963edeSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322e0963edeSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323e0963edeSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324e0963edeSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325e0963edeSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326e0963edeSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327e0963edeSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132849e108a1Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329e0963edeSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1330e0963edeSmrg		;;
1331e0963edeSmrg	-qnx*)
1332e0963edeSmrg		case $basic_machine in
1333e0963edeSmrg		    x86-* | i*86-*)
1334e0963edeSmrg			;;
1335e0963edeSmrg		    *)
1336e0963edeSmrg			os=-nto$os
1337e0963edeSmrg			;;
1338e0963edeSmrg		esac
1339e0963edeSmrg		;;
1340e0963edeSmrg	-nto-qnx*)
1341e0963edeSmrg		;;
1342e0963edeSmrg	-nto*)
1343e0963edeSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344e0963edeSmrg		;;
1345e0963edeSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346e0963edeSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347e0963edeSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348e0963edeSmrg		;;
1349e0963edeSmrg	-mac*)
1350e0963edeSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1351e0963edeSmrg		;;
1352e0963edeSmrg	-linux-dietlibc)
1353e0963edeSmrg		os=-linux-dietlibc
1354e0963edeSmrg		;;
1355e0963edeSmrg	-linux*)
1356e0963edeSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357e0963edeSmrg		;;
1358e0963edeSmrg	-sunos5*)
1359e0963edeSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360e0963edeSmrg		;;
1361e0963edeSmrg	-sunos6*)
1362e0963edeSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363e0963edeSmrg		;;
1364e0963edeSmrg	-opened*)
1365e0963edeSmrg		os=-openedition
1366e0963edeSmrg		;;
1367e0963edeSmrg        -os400*)
1368e0963edeSmrg		os=-os400
1369e0963edeSmrg		;;
1370e0963edeSmrg	-wince*)
1371e0963edeSmrg		os=-wince
1372e0963edeSmrg		;;
1373e0963edeSmrg	-osfrose*)
1374e0963edeSmrg		os=-osfrose
1375e0963edeSmrg		;;
1376e0963edeSmrg	-osf*)
1377e0963edeSmrg		os=-osf
1378e0963edeSmrg		;;
1379e0963edeSmrg	-utek*)
1380e0963edeSmrg		os=-bsd
1381e0963edeSmrg		;;
1382e0963edeSmrg	-dynix*)
1383e0963edeSmrg		os=-bsd
1384e0963edeSmrg		;;
1385e0963edeSmrg	-acis*)
1386e0963edeSmrg		os=-aos
1387e0963edeSmrg		;;
1388e0963edeSmrg	-atheos*)
1389e0963edeSmrg		os=-atheos
1390e0963edeSmrg		;;
1391e0963edeSmrg	-syllable*)
1392e0963edeSmrg		os=-syllable
1393e0963edeSmrg		;;
1394e0963edeSmrg	-386bsd)
1395e0963edeSmrg		os=-bsd
1396e0963edeSmrg		;;
1397e0963edeSmrg	-ctix* | -uts*)
1398e0963edeSmrg		os=-sysv
1399e0963edeSmrg		;;
1400e0963edeSmrg	-nova*)
1401e0963edeSmrg		os=-rtmk-nova
1402e0963edeSmrg		;;
1403e0963edeSmrg	-ns2 )
1404e0963edeSmrg		os=-nextstep2
1405e0963edeSmrg		;;
1406e0963edeSmrg	-nsk*)
1407e0963edeSmrg		os=-nsk
1408e0963edeSmrg		;;
1409e0963edeSmrg	# Preserve the version number of sinix5.
1410e0963edeSmrg	-sinix5.*)
1411e0963edeSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412e0963edeSmrg		;;
1413e0963edeSmrg	-sinix*)
1414e0963edeSmrg		os=-sysv4
1415e0963edeSmrg		;;
1416e0963edeSmrg        -tpf*)
1417e0963edeSmrg		os=-tpf
1418e0963edeSmrg		;;
1419e0963edeSmrg	-triton*)
1420e0963edeSmrg		os=-sysv3
1421e0963edeSmrg		;;
1422e0963edeSmrg	-oss*)
1423e0963edeSmrg		os=-sysv3
1424e0963edeSmrg		;;
1425e0963edeSmrg	-svr4)
1426e0963edeSmrg		os=-sysv4
1427e0963edeSmrg		;;
1428e0963edeSmrg	-svr3)
1429e0963edeSmrg		os=-sysv3
1430e0963edeSmrg		;;
1431e0963edeSmrg	-sysvr4)
1432e0963edeSmrg		os=-sysv4
1433e0963edeSmrg		;;
1434e0963edeSmrg	# This must come after -sysvr4.
1435e0963edeSmrg	-sysv*)
1436e0963edeSmrg		;;
1437e0963edeSmrg	-ose*)
1438e0963edeSmrg		os=-ose
1439e0963edeSmrg		;;
1440e0963edeSmrg	-es1800*)
1441e0963edeSmrg		os=-ose
1442e0963edeSmrg		;;
1443e0963edeSmrg	-xenix)
1444e0963edeSmrg		os=-xenix
1445e0963edeSmrg		;;
1446e0963edeSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447e0963edeSmrg		os=-mint
1448e0963edeSmrg		;;
1449e0963edeSmrg	-aros*)
1450e0963edeSmrg		os=-aros
1451e0963edeSmrg		;;
1452e0963edeSmrg	-kaos*)
1453e0963edeSmrg		os=-kaos
1454e0963edeSmrg		;;
1455e0963edeSmrg	-zvmoe)
1456e0963edeSmrg		os=-zvmoe
1457e0963edeSmrg		;;
1458f05b35a2Smrg	-dicos*)
1459f05b35a2Smrg		os=-dicos
1460f05b35a2Smrg		;;
146149e108a1Smrg        -nacl*)
146249e108a1Smrg	        ;;
1463e0963edeSmrg	-none)
1464e0963edeSmrg		;;
1465e0963edeSmrg	*)
1466e0963edeSmrg		# Get rid of the `-' at the beginning of $os.
1467e0963edeSmrg		os=`echo $os | sed 's/[^-]*-//'`
1468e0963edeSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469e0963edeSmrg		exit 1
1470e0963edeSmrg		;;
1471e0963edeSmrgesac
1472e0963edeSmrgelse
1473e0963edeSmrg
1474e0963edeSmrg# Here we handle the default operating systems that come with various machines.
1475e0963edeSmrg# The value should be what the vendor currently ships out the door with their
1476e0963edeSmrg# machine or put another way, the most popular os provided with the machine.
1477e0963edeSmrg
1478e0963edeSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479e0963edeSmrg# "-sun"), then you have to tell the case statement up towards the top
1480e0963edeSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481e0963edeSmrg# will signal an error saying that MANUFACTURER isn't an operating
1482e0963edeSmrg# system, and we'll never get to this point.
1483e0963edeSmrg
1484e0963edeSmrgcase $basic_machine in
1485e0963edeSmrg        score-*)
1486e0963edeSmrg		os=-elf
1487e0963edeSmrg		;;
1488e0963edeSmrg        spu-*)
1489e0963edeSmrg		os=-elf
1490e0963edeSmrg		;;
1491e0963edeSmrg	*-acorn)
1492e0963edeSmrg		os=-riscix1.2
1493e0963edeSmrg		;;
1494e0963edeSmrg	arm*-rebel)
1495e0963edeSmrg		os=-linux
1496e0963edeSmrg		;;
1497e0963edeSmrg	arm*-semi)
1498e0963edeSmrg		os=-aout
1499e0963edeSmrg		;;
1500e0963edeSmrg        c4x-* | tic4x-*)
1501e0963edeSmrg        	os=-coff
1502e0963edeSmrg		;;
150349e108a1Smrg	tic54x-*)
150449e108a1Smrg		os=-coff
150549e108a1Smrg		;;
150649e108a1Smrg	tic55x-*)
150749e108a1Smrg		os=-coff
150849e108a1Smrg		;;
150949e108a1Smrg	tic6x-*)
151049e108a1Smrg		os=-coff
151149e108a1Smrg		;;
1512e0963edeSmrg	# This must come before the *-dec entry.
1513e0963edeSmrg	pdp10-*)
1514e0963edeSmrg		os=-tops20
1515e0963edeSmrg		;;
1516e0963edeSmrg	pdp11-*)
1517e0963edeSmrg		os=-none
1518e0963edeSmrg		;;
1519e0963edeSmrg	*-dec | vax-*)
1520e0963edeSmrg		os=-ultrix4.2
1521e0963edeSmrg		;;
1522e0963edeSmrg	m68*-apollo)
1523e0963edeSmrg		os=-domain
1524e0963edeSmrg		;;
1525e0963edeSmrg	i386-sun)
1526e0963edeSmrg		os=-sunos4.0.2
1527e0963edeSmrg		;;
1528e0963edeSmrg	m68000-sun)
1529e0963edeSmrg		os=-sunos3
1530e0963edeSmrg		# This also exists in the configure program, but was not the
1531e0963edeSmrg		# default.
1532e0963edeSmrg		# os=-sunos4
1533e0963edeSmrg		;;
1534e0963edeSmrg	m68*-cisco)
1535e0963edeSmrg		os=-aout
1536e0963edeSmrg		;;
1537e0963edeSmrg        mep-*)
1538e0963edeSmrg		os=-elf
1539e0963edeSmrg		;;
1540e0963edeSmrg	mips*-cisco)
1541e0963edeSmrg		os=-elf
1542e0963edeSmrg		;;
1543e0963edeSmrg	mips*-*)
1544e0963edeSmrg		os=-elf
1545e0963edeSmrg		;;
1546e0963edeSmrg	or32-*)
1547e0963edeSmrg		os=-coff
1548e0963edeSmrg		;;
1549e0963edeSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550e0963edeSmrg		os=-sysv3
1551e0963edeSmrg		;;
1552e0963edeSmrg	sparc-* | *-sun)
1553e0963edeSmrg		os=-sunos4.1.1
1554e0963edeSmrg		;;
1555e0963edeSmrg	*-be)
1556e0963edeSmrg		os=-beos
1557e0963edeSmrg		;;
1558e0963edeSmrg	*-haiku)
1559e0963edeSmrg		os=-haiku
1560e0963edeSmrg		;;
1561e0963edeSmrg	*-ibm)
1562e0963edeSmrg		os=-aix
1563e0963edeSmrg		;;
1564e0963edeSmrg    	*-knuth)
1565e0963edeSmrg		os=-mmixware
1566e0963edeSmrg		;;
1567e0963edeSmrg	*-wec)
1568e0963edeSmrg		os=-proelf
1569e0963edeSmrg		;;
1570e0963edeSmrg	*-winbond)
1571e0963edeSmrg		os=-proelf
1572e0963edeSmrg		;;
1573e0963edeSmrg	*-oki)
1574e0963edeSmrg		os=-proelf
1575e0963edeSmrg		;;
1576e0963edeSmrg	*-hp)
1577e0963edeSmrg		os=-hpux
1578e0963edeSmrg		;;
1579e0963edeSmrg	*-hitachi)
1580e0963edeSmrg		os=-hiux
1581e0963edeSmrg		;;
1582e0963edeSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583e0963edeSmrg		os=-sysv
1584e0963edeSmrg		;;
1585e0963edeSmrg	*-cbm)
1586e0963edeSmrg		os=-amigaos
1587e0963edeSmrg		;;
1588e0963edeSmrg	*-dg)
1589e0963edeSmrg		os=-dgux
1590e0963edeSmrg		;;
1591e0963edeSmrg	*-dolphin)
1592e0963edeSmrg		os=-sysv3
1593e0963edeSmrg		;;
1594e0963edeSmrg	m68k-ccur)
1595e0963edeSmrg		os=-rtu
1596e0963edeSmrg		;;
1597e0963edeSmrg	m88k-omron*)
1598e0963edeSmrg		os=-luna
1599e0963edeSmrg		;;
1600e0963edeSmrg	*-next )
1601e0963edeSmrg		os=-nextstep
1602e0963edeSmrg		;;
1603e0963edeSmrg	*-sequent)
1604e0963edeSmrg		os=-ptx
1605e0963edeSmrg		;;
1606e0963edeSmrg	*-crds)
1607e0963edeSmrg		os=-unos
1608e0963edeSmrg		;;
1609e0963edeSmrg	*-ns)
1610e0963edeSmrg		os=-genix
1611e0963edeSmrg		;;
1612e0963edeSmrg	i370-*)
1613e0963edeSmrg		os=-mvs
1614e0963edeSmrg		;;
1615e0963edeSmrg	*-next)
1616e0963edeSmrg		os=-nextstep3
1617e0963edeSmrg		;;
1618e0963edeSmrg	*-gould)
1619e0963edeSmrg		os=-sysv
1620e0963edeSmrg		;;
1621e0963edeSmrg	*-highlevel)
1622e0963edeSmrg		os=-bsd
1623e0963edeSmrg		;;
1624e0963edeSmrg	*-encore)
1625e0963edeSmrg		os=-bsd
1626e0963edeSmrg		;;
1627e0963edeSmrg	*-sgi)
1628e0963edeSmrg		os=-irix
1629e0963edeSmrg		;;
1630e0963edeSmrg	*-siemens)
1631e0963edeSmrg		os=-sysv4
1632e0963edeSmrg		;;
1633e0963edeSmrg	*-masscomp)
1634e0963edeSmrg		os=-rtu
1635e0963edeSmrg		;;
1636e0963edeSmrg	f30[01]-fujitsu | f700-fujitsu)
1637e0963edeSmrg		os=-uxpv
1638e0963edeSmrg		;;
1639e0963edeSmrg	*-rom68k)
1640e0963edeSmrg		os=-coff
1641e0963edeSmrg		;;
1642e0963edeSmrg	*-*bug)
1643e0963edeSmrg		os=-coff
1644e0963edeSmrg		;;
1645e0963edeSmrg	*-apple)
1646e0963edeSmrg		os=-macos
1647e0963edeSmrg		;;
1648e0963edeSmrg	*-atari*)
1649e0963edeSmrg		os=-mint
1650e0963edeSmrg		;;
1651e0963edeSmrg	*)
1652e0963edeSmrg		os=-none
1653e0963edeSmrg		;;
1654e0963edeSmrgesac
1655e0963edeSmrgfi
1656e0963edeSmrg
1657e0963edeSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1658e0963edeSmrg# manufacturer.  We pick the logical manufacturer.
1659e0963edeSmrgvendor=unknown
1660e0963edeSmrgcase $basic_machine in
1661e0963edeSmrg	*-unknown)
1662e0963edeSmrg		case $os in
1663e0963edeSmrg			-riscix*)
1664e0963edeSmrg				vendor=acorn
1665e0963edeSmrg				;;
1666e0963edeSmrg			-sunos*)
1667e0963edeSmrg				vendor=sun
1668e0963edeSmrg				;;
166949e108a1Smrg			-cnk*|-aix*)
1670e0963edeSmrg				vendor=ibm
1671e0963edeSmrg				;;
1672e0963edeSmrg			-beos*)
1673e0963edeSmrg				vendor=be
1674e0963edeSmrg				;;
1675e0963edeSmrg			-hpux*)
1676e0963edeSmrg				vendor=hp
1677e0963edeSmrg				;;
1678e0963edeSmrg			-mpeix*)
1679e0963edeSmrg				vendor=hp
1680e0963edeSmrg				;;
1681e0963edeSmrg			-hiux*)
1682e0963edeSmrg				vendor=hitachi
1683e0963edeSmrg				;;
1684e0963edeSmrg			-unos*)
1685e0963edeSmrg				vendor=crds
1686e0963edeSmrg				;;
1687e0963edeSmrg			-dgux*)
1688e0963edeSmrg				vendor=dg
1689e0963edeSmrg				;;
1690e0963edeSmrg			-luna*)
1691e0963edeSmrg				vendor=omron
1692e0963edeSmrg				;;
1693e0963edeSmrg			-genix*)
1694e0963edeSmrg				vendor=ns
1695e0963edeSmrg				;;
1696e0963edeSmrg			-mvs* | -opened*)
1697e0963edeSmrg				vendor=ibm
1698e0963edeSmrg				;;
1699e0963edeSmrg			-os400*)
1700e0963edeSmrg				vendor=ibm
1701e0963edeSmrg				;;
1702e0963edeSmrg			-ptx*)
1703e0963edeSmrg				vendor=sequent
1704e0963edeSmrg				;;
1705e0963edeSmrg			-tpf*)
1706e0963edeSmrg				vendor=ibm
1707e0963edeSmrg				;;
1708e0963edeSmrg			-vxsim* | -vxworks* | -windiss*)
1709e0963edeSmrg				vendor=wrs
1710e0963edeSmrg				;;
1711e0963edeSmrg			-aux*)
1712e0963edeSmrg				vendor=apple
1713e0963edeSmrg				;;
1714e0963edeSmrg			-hms*)
1715e0963edeSmrg				vendor=hitachi
1716e0963edeSmrg				;;
1717e0963edeSmrg			-mpw* | -macos*)
1718e0963edeSmrg				vendor=apple
1719e0963edeSmrg				;;
1720e0963edeSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721e0963edeSmrg				vendor=atari
1722e0963edeSmrg				;;
1723e0963edeSmrg			-vos*)
1724e0963edeSmrg				vendor=stratus
1725e0963edeSmrg				;;
1726e0963edeSmrg		esac
1727e0963edeSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728e0963edeSmrg		;;
1729e0963edeSmrgesac
1730e0963edeSmrg
1731e0963edeSmrgecho $basic_machine$os
1732e0963edeSmrgexit
1733e0963edeSmrg
1734e0963edeSmrg# Local variables:
1735e0963edeSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736e0963edeSmrg# time-stamp-start: "timestamp='"
1737e0963edeSmrg# time-stamp-format: "%:y-%02m-%02d"
1738e0963edeSmrg# time-stamp-end: "'"
1739e0963edeSmrg# End:
1740