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