config.sub revision 234949
1234949Sbapt#! /bin/sh
2234949Sbapt# Configuration validation subroutine script.
3234949Sbapt#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4234949Sbapt#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5234949Sbapt#   2011 Free Software Foundation, Inc.
6234949Sbapt
7234949Sbapttimestamp='2011-04-01'
8234949Sbapt
9234949Sbapt# This file is (in principle) common to ALL GNU software.
10234949Sbapt# The presence of a machine in this file suggests that SOME GNU software
11234949Sbapt# can handle that machine.  It does not imply ALL GNU software can.
12234949Sbapt#
13234949Sbapt# This file is free software; you can redistribute it and/or modify
14234949Sbapt# it under the terms of the GNU General Public License as published by
15234949Sbapt# the Free Software Foundation; either version 2 of the License, or
16234949Sbapt# (at your option) any later version.
17234949Sbapt#
18234949Sbapt# This program is distributed in the hope that it will be useful,
19234949Sbapt# but WITHOUT ANY WARRANTY; without even the implied warranty of
20234949Sbapt# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21234949Sbapt# GNU General Public License for more details.
22234949Sbapt#
23234949Sbapt# You should have received a copy of the GNU General Public License
24234949Sbapt# along with this program; if not, write to the Free Software
25234949Sbapt# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26234949Sbapt# 02110-1301, USA.
27234949Sbapt#
28234949Sbapt# As a special exception to the GNU General Public License, if you
29234949Sbapt# distribute this file as part of a program that contains a
30234949Sbapt# configuration script generated by Autoconf, you may include it under
31234949Sbapt# the same distribution terms that you use for the rest of that program.
32234949Sbapt
33234949Sbapt
34234949Sbapt# Please send patches to <config-patches@gnu.org>.  Submit a context
35234949Sbapt# diff and a properly formatted GNU ChangeLog entry.
36234949Sbapt#
37234949Sbapt# Configuration subroutine to validate and canonicalize a configuration type.
38234949Sbapt# Supply the specified configuration type as an argument.
39234949Sbapt# If it is invalid, we print an error message on stderr and exit with code 1.
40234949Sbapt# Otherwise, we print the canonical config type on stdout and succeed.
41234949Sbapt
42234949Sbapt# You can get the latest version of this script from:
43234949Sbapt# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44234949Sbapt
45234949Sbapt# This file is supposed to be the same for all GNU packages
46234949Sbapt# and recognize all the CPU types, system types and aliases
47234949Sbapt# that are meaningful with *any* GNU software.
48234949Sbapt# Each package is responsible for reporting which valid configurations
49234949Sbapt# it does not support.  The user should be able to distinguish
50234949Sbapt# a failure to support a valid configuration from a meaningless
51234949Sbapt# configuration.
52234949Sbapt
53234949Sbapt# The goal of this file is to map all the various variations of a given
54234949Sbapt# machine specification into a single specification in the form:
55234949Sbapt#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56234949Sbapt# or in some cases, the newer four-part form:
57234949Sbapt#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58234949Sbapt# It is wrong to echo any other type of specification.
59234949Sbapt
60234949Sbaptme=`echo "$0" | sed -e 's,.*/,,'`
61234949Sbapt
62234949Sbaptusage="\
63234949SbaptUsage: $0 [OPTION] CPU-MFR-OPSYS
64234949Sbapt       $0 [OPTION] ALIAS
65234949Sbapt
66234949SbaptCanonicalize a configuration name.
67234949Sbapt
68234949SbaptOperation modes:
69234949Sbapt  -h, --help         print this help, then exit
70234949Sbapt  -t, --time-stamp   print date of last modification, then exit
71234949Sbapt  -v, --version      print version number, then exit
72234949Sbapt
73234949SbaptReport bugs and patches to <config-patches@gnu.org>."
74234949Sbapt
75234949Sbaptversion="\
76234949SbaptGNU config.sub ($timestamp)
77234949Sbapt
78234949SbaptCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79234949Sbapt2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
80234949SbaptFree Software Foundation, Inc.
81234949Sbapt
82234949SbaptThis is free software; see the source for copying conditions.  There is NO
83234949Sbaptwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84234949Sbapt
85234949Sbapthelp="
86234949SbaptTry \`$me --help' for more information."
87234949Sbapt
88234949Sbapt# Parse command line
89234949Sbaptwhile test $# -gt 0 ; do
90234949Sbapt  case $1 in
91234949Sbapt    --time-stamp | --time* | -t )
92234949Sbapt       echo "$timestamp" ; exit ;;
93234949Sbapt    --version | -v )
94234949Sbapt       echo "$version" ; exit ;;
95234949Sbapt    --help | --h* | -h )
96234949Sbapt       echo "$usage"; exit ;;
97234949Sbapt    -- )     # Stop option processing
98234949Sbapt       shift; break ;;
99234949Sbapt    - )	# Use stdin as input.
100234949Sbapt       break ;;
101234949Sbapt    -* )
102234949Sbapt       echo "$me: invalid option $1$help"
103234949Sbapt       exit 1 ;;
104234949Sbapt
105234949Sbapt    *local*)
106234949Sbapt       # First pass through any local machine types.
107234949Sbapt       echo $1
108234949Sbapt       exit ;;
109234949Sbapt
110234949Sbapt    * )
111234949Sbapt       break ;;
112234949Sbapt  esac
113234949Sbaptdone
114234949Sbapt
115234949Sbaptcase $# in
116234949Sbapt 0) echo "$me: missing argument$help" >&2
117234949Sbapt    exit 1;;
118234949Sbapt 1) ;;
119234949Sbapt *) echo "$me: too many arguments$help" >&2
120234949Sbapt    exit 1;;
121234949Sbaptesac
122234949Sbapt
123234949Sbapt# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124234949Sbapt# Here we must recognize all the valid KERNEL-OS combinations.
125234949Sbaptmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126234949Sbaptcase $maybe_os in
127234949Sbapt  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128234949Sbapt  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129234949Sbapt  knetbsd*-gnu* | netbsd*-gnu* | \
130234949Sbapt  kopensolaris*-gnu* | \
131234949Sbapt  storm-chaos* | os2-emx* | rtmk-nova*)
132234949Sbapt    os=-$maybe_os
133234949Sbapt    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134234949Sbapt    ;;
135234949Sbapt  *)
136234949Sbapt    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137234949Sbapt    if [ $basic_machine != $1 ]
138234949Sbapt    then os=`echo $1 | sed 's/.*-/-/'`
139234949Sbapt    else os=; fi
140234949Sbapt    ;;
141234949Sbaptesac
142234949Sbapt
143234949Sbapt### Let's recognize common machines as not being operating systems so
144234949Sbapt### that things like config.sub decstation-3100 work.  We also
145234949Sbapt### recognize some manufacturers as not being operating systems, so we
146234949Sbapt### can provide default operating systems below.
147234949Sbaptcase $os in
148234949Sbapt	-sun*os*)
149234949Sbapt		# Prevent following clause from handling this invalid input.
150234949Sbapt		;;
151234949Sbapt	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152234949Sbapt	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153234949Sbapt	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154234949Sbapt	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155234949Sbapt	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156234949Sbapt	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157234949Sbapt	-apple | -axis | -knuth | -cray | -microblaze)
158234949Sbapt		os=
159234949Sbapt		basic_machine=$1
160234949Sbapt		;;
161234949Sbapt	-bluegene*)
162234949Sbapt		os=-cnk
163234949Sbapt		;;
164234949Sbapt	-sim | -cisco | -oki | -wec | -winbond)
165234949Sbapt		os=
166234949Sbapt		basic_machine=$1
167234949Sbapt		;;
168234949Sbapt	-scout)
169234949Sbapt		;;
170234949Sbapt	-wrs)
171234949Sbapt		os=-vxworks
172234949Sbapt		basic_machine=$1
173234949Sbapt		;;
174234949Sbapt	-chorusos*)
175234949Sbapt		os=-chorusos
176234949Sbapt		basic_machine=$1
177234949Sbapt		;;
178234949Sbapt	-chorusrdb)
179234949Sbapt		os=-chorusrdb
180234949Sbapt		basic_machine=$1
181234949Sbapt		;;
182234949Sbapt	-hiux*)
183234949Sbapt		os=-hiuxwe2
184234949Sbapt		;;
185234949Sbapt	-sco6)
186234949Sbapt		os=-sco5v6
187234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188234949Sbapt		;;
189234949Sbapt	-sco5)
190234949Sbapt		os=-sco3.2v5
191234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192234949Sbapt		;;
193234949Sbapt	-sco4)
194234949Sbapt		os=-sco3.2v4
195234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196234949Sbapt		;;
197234949Sbapt	-sco3.2.[4-9]*)
198234949Sbapt		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200234949Sbapt		;;
201234949Sbapt	-sco3.2v[4-9]*)
202234949Sbapt		# Don't forget version if it is 3.2v4 or newer.
203234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204234949Sbapt		;;
205234949Sbapt	-sco5v6*)
206234949Sbapt		# Don't forget version if it is 3.2v4 or newer.
207234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208234949Sbapt		;;
209234949Sbapt	-sco*)
210234949Sbapt		os=-sco3.2v2
211234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212234949Sbapt		;;
213234949Sbapt	-udk*)
214234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215234949Sbapt		;;
216234949Sbapt	-isc)
217234949Sbapt		os=-isc2.2
218234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219234949Sbapt		;;
220234949Sbapt	-clix*)
221234949Sbapt		basic_machine=clipper-intergraph
222234949Sbapt		;;
223234949Sbapt	-isc*)
224234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225234949Sbapt		;;
226234949Sbapt	-lynx*)
227234949Sbapt		os=-lynxos
228234949Sbapt		;;
229234949Sbapt	-ptx*)
230234949Sbapt		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231234949Sbapt		;;
232234949Sbapt	-windowsnt*)
233234949Sbapt		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234234949Sbapt		;;
235234949Sbapt	-psos*)
236234949Sbapt		os=-psos
237234949Sbapt		;;
238234949Sbapt	-mint | -mint[0-9]*)
239234949Sbapt		basic_machine=m68k-atari
240234949Sbapt		os=-mint
241234949Sbapt		;;
242234949Sbaptesac
243234949Sbapt
244234949Sbapt# Decode aliases for certain CPU-COMPANY combinations.
245234949Sbaptcase $basic_machine in
246234949Sbapt	# Recognize the basic CPU types without company name.
247234949Sbapt	# Some are omitted here because they have special meanings below.
248234949Sbapt	1750a | 580 \
249234949Sbapt	| a29k \
250234949Sbapt	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251234949Sbapt	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252234949Sbapt	| am33_2.0 \
253234949Sbapt	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254234949Sbapt	| bfin \
255234949Sbapt	| c4x | clipper \
256234949Sbapt	| d10v | d30v | dlx | dsp16xx \
257234949Sbapt	| fido | fr30 | frv \
258234949Sbapt	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259234949Sbapt	| i370 | i860 | i960 | ia64 \
260234949Sbapt	| ip2k | iq2000 \
261234949Sbapt	| lm32 \
262234949Sbapt	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263234949Sbapt	| maxq | mb | microblaze | mcore | mep | metag \
264234949Sbapt	| mips | mipsbe | mipseb | mipsel | mipsle \
265234949Sbapt	| mips16 \
266234949Sbapt	| mips64 | mips64el \
267234949Sbapt	| mips64octeon | mips64octeonel \
268234949Sbapt	| mips64orion | mips64orionel \
269234949Sbapt	| mips64r5900 | mips64r5900el \
270234949Sbapt	| mips64vr | mips64vrel \
271234949Sbapt	| mips64vr4100 | mips64vr4100el \
272234949Sbapt	| mips64vr4300 | mips64vr4300el \
273234949Sbapt	| mips64vr5000 | mips64vr5000el \
274234949Sbapt	| mips64vr5900 | mips64vr5900el \
275234949Sbapt	| mipsisa32 | mipsisa32el \
276234949Sbapt	| mipsisa32r2 | mipsisa32r2el \
277234949Sbapt	| mipsisa64 | mipsisa64el \
278234949Sbapt	| mipsisa64r2 | mipsisa64r2el \
279234949Sbapt	| mipsisa64sb1 | mipsisa64sb1el \
280234949Sbapt	| mipsisa64sr71k | mipsisa64sr71kel \
281234949Sbapt	| mipstx39 | mipstx39el \
282234949Sbapt	| mn10200 | mn10300 \
283234949Sbapt	| moxie \
284234949Sbapt	| mt \
285234949Sbapt	| msp430 \
286234949Sbapt	| nds32 | nds32le | nds32be \
287234949Sbapt	| nios | nios2 \
288234949Sbapt	| ns16k | ns32k \
289234949Sbapt	| open8 \
290234949Sbapt	| or32 \
291234949Sbapt	| pdp10 | pdp11 | pj | pjl \
292234949Sbapt	| powerpc | powerpc64 | powerpc64le | powerpcle \
293234949Sbapt	| pyramid \
294234949Sbapt	| rx \
295234949Sbapt	| score \
296234949Sbapt	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
297234949Sbapt	| sh64 | sh64le \
298234949Sbapt	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
299234949Sbapt	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
300234949Sbapt	| spu \
301234949Sbapt	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
302234949Sbapt	| ubicom32 \
303234949Sbapt	| v850 | v850e \
304234949Sbapt	| we32k \
305234949Sbapt	| x86 | xc16x | xstormy16 | xtensa \
306234949Sbapt	| z8k | z80)
307234949Sbapt		basic_machine=$basic_machine-unknown
308234949Sbapt		;;
309234949Sbapt	c54x)
310234949Sbapt		basic_machine=tic54x-unknown
311234949Sbapt		;;
312234949Sbapt	c55x)
313234949Sbapt		basic_machine=tic55x-unknown
314234949Sbapt		;;
315234949Sbapt	c6x)
316234949Sbapt		basic_machine=tic6x-unknown
317234949Sbapt		;;
318234949Sbapt	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
319234949Sbapt		# Motorola 68HC11/12.
320234949Sbapt		basic_machine=$basic_machine-unknown
321234949Sbapt		os=-none
322234949Sbapt		;;
323234949Sbapt	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
324234949Sbapt		;;
325234949Sbapt	ms1)
326234949Sbapt		basic_machine=mt-unknown
327234949Sbapt		;;
328234949Sbapt	strongarm | thumb | xscale)
329234949Sbapt		basic_machine=arm-unknown
330234949Sbapt		;;
331234949Sbapt	xscaleeb)
332234949Sbapt		basic_machine=armeb-unknown
333234949Sbapt		;;
334234949Sbapt	xscaleel)
335234949Sbapt		basic_machine=armel-unknown
336234949Sbapt		;;
337234949Sbapt	# We use `pc' rather than `unknown'
338234949Sbapt	# because (1) that's what they normally are, and
339234949Sbapt	# (2) the word "unknown" tends to confuse beginning users.
340234949Sbapt	i*86 | x86_64)
341234949Sbapt		basic_machine=$basic_machine-pc
342234949Sbapt		;;
343234949Sbapt	# Object if more than one company name word.
344234949Sbapt	*-*-*)
345234949Sbapt		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
346234949Sbapt		exit 1
347234949Sbapt		;;
348234949Sbapt	# Recognize the basic CPU types with company name.
349234949Sbapt	580-* \
350234949Sbapt	| a29k-* \
351234949Sbapt	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
352234949Sbapt	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
353234949Sbapt	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
354234949Sbapt	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
355234949Sbapt	| avr-* | avr32-* \
356234949Sbapt	| bfin-* | bs2000-* \
357234949Sbapt	| c[123]* | c30-* | [cjt]90-* | c4x-* \
358234949Sbapt	| clipper-* | craynv-* | cydra-* \
359234949Sbapt	| d10v-* | d30v-* | dlx-* \
360234949Sbapt	| elxsi-* \
361234949Sbapt	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
362234949Sbapt	| h8300-* | h8500-* \
363234949Sbapt	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
364234949Sbapt	| i*86-* | i860-* | i960-* | ia64-* \
365234949Sbapt	| ip2k-* | iq2000-* \
366234949Sbapt	| lm32-* \
367234949Sbapt	| m32c-* | m32r-* | m32rle-* \
368234949Sbapt	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
369234949Sbapt	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
370234949Sbapt	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
371234949Sbapt	| mips16-* \
372234949Sbapt	| mips64-* | mips64el-* \
373234949Sbapt	| mips64octeon-* | mips64octeonel-* \
374234949Sbapt	| mips64orion-* | mips64orionel-* \
375234949Sbapt	| mips64r5900-* | mips64r5900el-* \
376234949Sbapt	| mips64vr-* | mips64vrel-* \
377234949Sbapt	| mips64vr4100-* | mips64vr4100el-* \
378234949Sbapt	| mips64vr4300-* | mips64vr4300el-* \
379234949Sbapt	| mips64vr5000-* | mips64vr5000el-* \
380234949Sbapt	| mips64vr5900-* | mips64vr5900el-* \
381234949Sbapt	| mipsisa32-* | mipsisa32el-* \
382234949Sbapt	| mipsisa32r2-* | mipsisa32r2el-* \
383234949Sbapt	| mipsisa64-* | mipsisa64el-* \
384234949Sbapt	| mipsisa64r2-* | mipsisa64r2el-* \
385234949Sbapt	| mipsisa64sb1-* | mipsisa64sb1el-* \
386234949Sbapt	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
387234949Sbapt	| mipstx39-* | mipstx39el-* \
388234949Sbapt	| mmix-* \
389234949Sbapt	| mt-* \
390234949Sbapt	| msp430-* \
391234949Sbapt	| nds32-* | nds32le-* | nds32be-* \
392234949Sbapt	| nios-* | nios2-* \
393234949Sbapt	| none-* | np1-* | ns16k-* | ns32k-* \
394234949Sbapt	| open8-* \
395234949Sbapt	| orion-* \
396234949Sbapt	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
397234949Sbapt	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
398234949Sbapt	| pyramid-* \
399234949Sbapt	| romp-* | rs6000-* | rx-* \
400234949Sbapt	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
401234949Sbapt	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
402234949Sbapt	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
403234949Sbapt	| sparclite-* \
404234949Sbapt	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
405234949Sbapt	| tahoe-* \
406234949Sbapt	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
407234949Sbapt	| tile-* | tilegx-* \
408234949Sbapt	| tron-* \
409234949Sbapt	| ubicom32-* \
410234949Sbapt	| v850-* | v850e-* | vax-* \
411234949Sbapt	| we32k-* \
412234949Sbapt	| x86-* | x86_64-* | xc16x-* | xps100-* \
413234949Sbapt	| xstormy16-* | xtensa*-* \
414234949Sbapt	| ymp-* \
415234949Sbapt	| z8k-* | z80-*)
416234949Sbapt		;;
417234949Sbapt	# Recognize the basic CPU types without company name, with glob match.
418234949Sbapt	xtensa*)
419234949Sbapt		basic_machine=$basic_machine-unknown
420234949Sbapt		;;
421234949Sbapt	# Recognize the various machine names and aliases which stand
422234949Sbapt	# for a CPU type and a company and sometimes even an OS.
423234949Sbapt	386bsd)
424234949Sbapt		basic_machine=i386-unknown
425234949Sbapt		os=-bsd
426234949Sbapt		;;
427234949Sbapt	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
428234949Sbapt		basic_machine=m68000-att
429234949Sbapt		;;
430234949Sbapt	3b*)
431234949Sbapt		basic_machine=we32k-att
432234949Sbapt		;;
433234949Sbapt	a29khif)
434234949Sbapt		basic_machine=a29k-amd
435234949Sbapt		os=-udi
436234949Sbapt		;;
437234949Sbapt	abacus)
438234949Sbapt		basic_machine=abacus-unknown
439234949Sbapt		;;
440234949Sbapt	adobe68k)
441234949Sbapt		basic_machine=m68010-adobe
442234949Sbapt		os=-scout
443234949Sbapt		;;
444234949Sbapt	alliant | fx80)
445234949Sbapt		basic_machine=fx80-alliant
446234949Sbapt		;;
447234949Sbapt	altos | altos3068)
448234949Sbapt		basic_machine=m68k-altos
449234949Sbapt		;;
450234949Sbapt	am29k)
451234949Sbapt		basic_machine=a29k-none
452234949Sbapt		os=-bsd
453234949Sbapt		;;
454234949Sbapt	amd64)
455234949Sbapt		basic_machine=x86_64-pc
456234949Sbapt		;;
457234949Sbapt	amd64-*)
458234949Sbapt		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
459234949Sbapt		;;
460234949Sbapt	amdahl)
461234949Sbapt		basic_machine=580-amdahl
462234949Sbapt		os=-sysv
463234949Sbapt		;;
464234949Sbapt	amiga | amiga-*)
465234949Sbapt		basic_machine=m68k-unknown
466234949Sbapt		;;
467234949Sbapt	amigaos | amigados)
468234949Sbapt		basic_machine=m68k-unknown
469234949Sbapt		os=-amigaos
470234949Sbapt		;;
471234949Sbapt	amigaunix | amix)
472234949Sbapt		basic_machine=m68k-unknown
473234949Sbapt		os=-sysv4
474234949Sbapt		;;
475234949Sbapt	apollo68)
476234949Sbapt		basic_machine=m68k-apollo
477234949Sbapt		os=-sysv
478234949Sbapt		;;
479234949Sbapt	apollo68bsd)
480234949Sbapt		basic_machine=m68k-apollo
481234949Sbapt		os=-bsd
482234949Sbapt		;;
483234949Sbapt	aros)
484234949Sbapt		basic_machine=i386-pc
485234949Sbapt		os=-aros
486234949Sbapt		;;
487234949Sbapt	aux)
488234949Sbapt		basic_machine=m68k-apple
489234949Sbapt		os=-aux
490234949Sbapt		;;
491234949Sbapt	balance)
492234949Sbapt		basic_machine=ns32k-sequent
493234949Sbapt		os=-dynix
494234949Sbapt		;;
495234949Sbapt	blackfin)
496234949Sbapt		basic_machine=bfin-unknown
497234949Sbapt		os=-linux
498234949Sbapt		;;
499234949Sbapt	blackfin-*)
500234949Sbapt		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
501234949Sbapt		os=-linux
502234949Sbapt		;;
503234949Sbapt	bluegene*)
504234949Sbapt		basic_machine=powerpc-ibm
505234949Sbapt		os=-cnk
506234949Sbapt		;;
507234949Sbapt	c54x-*)
508234949Sbapt		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
509234949Sbapt		;;
510234949Sbapt	c55x-*)
511234949Sbapt		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
512234949Sbapt		;;
513234949Sbapt	c6x-*)
514234949Sbapt		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
515234949Sbapt		;;
516234949Sbapt	c90)
517234949Sbapt		basic_machine=c90-cray
518234949Sbapt		os=-unicos
519234949Sbapt		;;
520234949Sbapt	cegcc)
521234949Sbapt		basic_machine=arm-unknown
522234949Sbapt		os=-cegcc
523234949Sbapt		;;
524234949Sbapt	convex-c1)
525234949Sbapt		basic_machine=c1-convex
526234949Sbapt		os=-bsd
527234949Sbapt		;;
528234949Sbapt	convex-c2)
529234949Sbapt		basic_machine=c2-convex
530234949Sbapt		os=-bsd
531234949Sbapt		;;
532234949Sbapt	convex-c32)
533234949Sbapt		basic_machine=c32-convex
534234949Sbapt		os=-bsd
535234949Sbapt		;;
536234949Sbapt	convex-c34)
537234949Sbapt		basic_machine=c34-convex
538234949Sbapt		os=-bsd
539234949Sbapt		;;
540234949Sbapt	convex-c38)
541234949Sbapt		basic_machine=c38-convex
542234949Sbapt		os=-bsd
543234949Sbapt		;;
544234949Sbapt	cray | j90)
545234949Sbapt		basic_machine=j90-cray
546234949Sbapt		os=-unicos
547234949Sbapt		;;
548234949Sbapt	craynv)
549234949Sbapt		basic_machine=craynv-cray
550234949Sbapt		os=-unicosmp
551234949Sbapt		;;
552234949Sbapt	cr16 | cr16-*)
553234949Sbapt		basic_machine=cr16-unknown
554234949Sbapt		os=-elf
555234949Sbapt		;;
556234949Sbapt	crds | unos)
557234949Sbapt		basic_machine=m68k-crds
558234949Sbapt		;;
559234949Sbapt	crisv32 | crisv32-* | etraxfs*)
560234949Sbapt		basic_machine=crisv32-axis
561234949Sbapt		;;
562234949Sbapt	cris | cris-* | etrax*)
563234949Sbapt		basic_machine=cris-axis
564234949Sbapt		;;
565234949Sbapt	crx)
566234949Sbapt		basic_machine=crx-unknown
567234949Sbapt		os=-elf
568234949Sbapt		;;
569234949Sbapt	da30 | da30-*)
570234949Sbapt		basic_machine=m68k-da30
571234949Sbapt		;;
572234949Sbapt	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
573234949Sbapt		basic_machine=mips-dec
574234949Sbapt		;;
575234949Sbapt	decsystem10* | dec10*)
576234949Sbapt		basic_machine=pdp10-dec
577234949Sbapt		os=-tops10
578234949Sbapt		;;
579234949Sbapt	decsystem20* | dec20*)
580234949Sbapt		basic_machine=pdp10-dec
581234949Sbapt		os=-tops20
582234949Sbapt		;;
583234949Sbapt	delta | 3300 | motorola-3300 | motorola-delta \
584234949Sbapt	      | 3300-motorola | delta-motorola)
585234949Sbapt		basic_machine=m68k-motorola
586234949Sbapt		;;
587234949Sbapt	delta88)
588234949Sbapt		basic_machine=m88k-motorola
589234949Sbapt		os=-sysv3
590234949Sbapt		;;
591234949Sbapt	dicos)
592234949Sbapt		basic_machine=i686-pc
593234949Sbapt		os=-dicos
594234949Sbapt		;;
595234949Sbapt	djgpp)
596234949Sbapt		basic_machine=i586-pc
597234949Sbapt		os=-msdosdjgpp
598234949Sbapt		;;
599234949Sbapt	dpx20 | dpx20-*)
600234949Sbapt		basic_machine=rs6000-bull
601234949Sbapt		os=-bosx
602234949Sbapt		;;
603234949Sbapt	dpx2* | dpx2*-bull)
604234949Sbapt		basic_machine=m68k-bull
605234949Sbapt		os=-sysv3
606234949Sbapt		;;
607234949Sbapt	ebmon29k)
608234949Sbapt		basic_machine=a29k-amd
609234949Sbapt		os=-ebmon
610234949Sbapt		;;
611234949Sbapt	elxsi)
612234949Sbapt		basic_machine=elxsi-elxsi
613234949Sbapt		os=-bsd
614234949Sbapt		;;
615234949Sbapt	encore | umax | mmax)
616234949Sbapt		basic_machine=ns32k-encore
617234949Sbapt		;;
618234949Sbapt	es1800 | OSE68k | ose68k | ose | OSE)
619234949Sbapt		basic_machine=m68k-ericsson
620234949Sbapt		os=-ose
621234949Sbapt		;;
622234949Sbapt	fx2800)
623234949Sbapt		basic_machine=i860-alliant
624234949Sbapt		;;
625234949Sbapt	genix)
626234949Sbapt		basic_machine=ns32k-ns
627234949Sbapt		;;
628234949Sbapt	gmicro)
629234949Sbapt		basic_machine=tron-gmicro
630234949Sbapt		os=-sysv
631234949Sbapt		;;
632234949Sbapt	go32)
633234949Sbapt		basic_machine=i386-pc
634234949Sbapt		os=-go32
635234949Sbapt		;;
636234949Sbapt	h3050r* | hiux*)
637234949Sbapt		basic_machine=hppa1.1-hitachi
638234949Sbapt		os=-hiuxwe2
639234949Sbapt		;;
640234949Sbapt	h8300hms)
641234949Sbapt		basic_machine=h8300-hitachi
642234949Sbapt		os=-hms
643234949Sbapt		;;
644234949Sbapt	h8300xray)
645234949Sbapt		basic_machine=h8300-hitachi
646234949Sbapt		os=-xray
647234949Sbapt		;;
648234949Sbapt	h8500hms)
649234949Sbapt		basic_machine=h8500-hitachi
650234949Sbapt		os=-hms
651234949Sbapt		;;
652234949Sbapt	harris)
653234949Sbapt		basic_machine=m88k-harris
654234949Sbapt		os=-sysv3
655234949Sbapt		;;
656234949Sbapt	hp300-*)
657234949Sbapt		basic_machine=m68k-hp
658234949Sbapt		;;
659234949Sbapt	hp300bsd)
660234949Sbapt		basic_machine=m68k-hp
661234949Sbapt		os=-bsd
662234949Sbapt		;;
663234949Sbapt	hp300hpux)
664234949Sbapt		basic_machine=m68k-hp
665234949Sbapt		os=-hpux
666234949Sbapt		;;
667234949Sbapt	hp3k9[0-9][0-9] | hp9[0-9][0-9])
668234949Sbapt		basic_machine=hppa1.0-hp
669234949Sbapt		;;
670234949Sbapt	hp9k2[0-9][0-9] | hp9k31[0-9])
671234949Sbapt		basic_machine=m68000-hp
672234949Sbapt		;;
673234949Sbapt	hp9k3[2-9][0-9])
674234949Sbapt		basic_machine=m68k-hp
675234949Sbapt		;;
676234949Sbapt	hp9k6[0-9][0-9] | hp6[0-9][0-9])
677234949Sbapt		basic_machine=hppa1.0-hp
678234949Sbapt		;;
679234949Sbapt	hp9k7[0-79][0-9] | hp7[0-79][0-9])
680234949Sbapt		basic_machine=hppa1.1-hp
681234949Sbapt		;;
682234949Sbapt	hp9k78[0-9] | hp78[0-9])
683234949Sbapt		# FIXME: really hppa2.0-hp
684234949Sbapt		basic_machine=hppa1.1-hp
685234949Sbapt		;;
686234949Sbapt	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
687234949Sbapt		# FIXME: really hppa2.0-hp
688234949Sbapt		basic_machine=hppa1.1-hp
689234949Sbapt		;;
690234949Sbapt	hp9k8[0-9][13679] | hp8[0-9][13679])
691234949Sbapt		basic_machine=hppa1.1-hp
692234949Sbapt		;;
693234949Sbapt	hp9k8[0-9][0-9] | hp8[0-9][0-9])
694234949Sbapt		basic_machine=hppa1.0-hp
695234949Sbapt		;;
696234949Sbapt	hppa-next)
697234949Sbapt		os=-nextstep3
698234949Sbapt		;;
699234949Sbapt	hppaosf)
700234949Sbapt		basic_machine=hppa1.1-hp
701234949Sbapt		os=-osf
702234949Sbapt		;;
703234949Sbapt	hppro)
704234949Sbapt		basic_machine=hppa1.1-hp
705234949Sbapt		os=-proelf
706234949Sbapt		;;
707234949Sbapt	i370-ibm* | ibm*)
708234949Sbapt		basic_machine=i370-ibm
709234949Sbapt		;;
710234949Sbapt# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
711234949Sbapt	i*86v32)
712234949Sbapt		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
713234949Sbapt		os=-sysv32
714234949Sbapt		;;
715234949Sbapt	i*86v4*)
716234949Sbapt		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
717234949Sbapt		os=-sysv4
718234949Sbapt		;;
719234949Sbapt	i*86v)
720234949Sbapt		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
721234949Sbapt		os=-sysv
722234949Sbapt		;;
723234949Sbapt	i*86sol2)
724234949Sbapt		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725234949Sbapt		os=-solaris2
726234949Sbapt		;;
727234949Sbapt	i386mach)
728234949Sbapt		basic_machine=i386-mach
729234949Sbapt		os=-mach
730234949Sbapt		;;
731234949Sbapt	i386-vsta | vsta)
732234949Sbapt		basic_machine=i386-unknown
733234949Sbapt		os=-vsta
734234949Sbapt		;;
735234949Sbapt	iris | iris4d)
736234949Sbapt		basic_machine=mips-sgi
737234949Sbapt		case $os in
738234949Sbapt		    -irix*)
739234949Sbapt			;;
740234949Sbapt		    *)
741234949Sbapt			os=-irix4
742234949Sbapt			;;
743234949Sbapt		esac
744234949Sbapt		;;
745234949Sbapt	isi68 | isi)
746234949Sbapt		basic_machine=m68k-isi
747234949Sbapt		os=-sysv
748234949Sbapt		;;
749234949Sbapt	m68knommu)
750234949Sbapt		basic_machine=m68k-unknown
751234949Sbapt		os=-linux
752234949Sbapt		;;
753234949Sbapt	m68knommu-*)
754234949Sbapt		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
755234949Sbapt		os=-linux
756234949Sbapt		;;
757234949Sbapt	m88k-omron*)
758234949Sbapt		basic_machine=m88k-omron
759234949Sbapt		;;
760234949Sbapt	magnum | m3230)
761234949Sbapt		basic_machine=mips-mips
762234949Sbapt		os=-sysv
763234949Sbapt		;;
764234949Sbapt	merlin)
765234949Sbapt		basic_machine=ns32k-utek
766234949Sbapt		os=-sysv
767234949Sbapt		;;
768234949Sbapt	microblaze)
769234949Sbapt		basic_machine=microblaze-xilinx
770234949Sbapt		;;
771234949Sbapt	mingw32)
772234949Sbapt		basic_machine=i386-pc
773234949Sbapt		os=-mingw32
774234949Sbapt		;;
775234949Sbapt	mingw32ce)
776234949Sbapt		basic_machine=arm-unknown
777234949Sbapt		os=-mingw32ce
778234949Sbapt		;;
779234949Sbapt	miniframe)
780234949Sbapt		basic_machine=m68000-convergent
781234949Sbapt		;;
782234949Sbapt	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
783234949Sbapt		basic_machine=m68k-atari
784234949Sbapt		os=-mint
785234949Sbapt		;;
786234949Sbapt	mips3*-*)
787234949Sbapt		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
788234949Sbapt		;;
789234949Sbapt	mips3*)
790234949Sbapt		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
791234949Sbapt		;;
792234949Sbapt	monitor)
793234949Sbapt		basic_machine=m68k-rom68k
794234949Sbapt		os=-coff
795234949Sbapt		;;
796234949Sbapt	morphos)
797234949Sbapt		basic_machine=powerpc-unknown
798234949Sbapt		os=-morphos
799234949Sbapt		;;
800234949Sbapt	msdos)
801234949Sbapt		basic_machine=i386-pc
802234949Sbapt		os=-msdos
803234949Sbapt		;;
804234949Sbapt	ms1-*)
805234949Sbapt		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
806234949Sbapt		;;
807234949Sbapt	mvs)
808234949Sbapt		basic_machine=i370-ibm
809234949Sbapt		os=-mvs
810234949Sbapt		;;
811234949Sbapt	ncr3000)
812234949Sbapt		basic_machine=i486-ncr
813234949Sbapt		os=-sysv4
814234949Sbapt		;;
815234949Sbapt	netbsd386)
816234949Sbapt		basic_machine=i386-unknown
817234949Sbapt		os=-netbsd
818234949Sbapt		;;
819234949Sbapt	netwinder)
820234949Sbapt		basic_machine=armv4l-rebel
821234949Sbapt		os=-linux
822234949Sbapt		;;
823234949Sbapt	news | news700 | news800 | news900)
824234949Sbapt		basic_machine=m68k-sony
825234949Sbapt		os=-newsos
826234949Sbapt		;;
827234949Sbapt	news1000)
828234949Sbapt		basic_machine=m68030-sony
829234949Sbapt		os=-newsos
830234949Sbapt		;;
831234949Sbapt	news-3600 | risc-news)
832234949Sbapt		basic_machine=mips-sony
833234949Sbapt		os=-newsos
834234949Sbapt		;;
835234949Sbapt	necv70)
836234949Sbapt		basic_machine=v70-nec
837234949Sbapt		os=-sysv
838234949Sbapt		;;
839234949Sbapt	next | m*-next)
840234949Sbapt		basic_machine=m68k-next
841234949Sbapt		case $os in
842234949Sbapt		    -nextstep*)
843234949Sbapt			;;
844234949Sbapt		    -ns2*)
845234949Sbapt		      os=-nextstep2
846234949Sbapt			;;
847234949Sbapt		    *)
848234949Sbapt		      os=-nextstep3
849234949Sbapt			;;
850234949Sbapt		esac
851234949Sbapt		;;
852234949Sbapt	nh3000)
853234949Sbapt		basic_machine=m68k-harris
854234949Sbapt		os=-cxux
855234949Sbapt		;;
856234949Sbapt	nh[45]000)
857234949Sbapt		basic_machine=m88k-harris
858234949Sbapt		os=-cxux
859234949Sbapt		;;
860234949Sbapt	nindy960)
861234949Sbapt		basic_machine=i960-intel
862234949Sbapt		os=-nindy
863234949Sbapt		;;
864234949Sbapt	mon960)
865234949Sbapt		basic_machine=i960-intel
866234949Sbapt		os=-mon960
867234949Sbapt		;;
868234949Sbapt	nonstopux)
869234949Sbapt		basic_machine=mips-compaq
870234949Sbapt		os=-nonstopux
871234949Sbapt		;;
872234949Sbapt	np1)
873234949Sbapt		basic_machine=np1-gould
874234949Sbapt		;;
875234949Sbapt	neo-tandem)
876234949Sbapt		basic_machine=neo-tandem
877234949Sbapt		;;
878234949Sbapt	nse-tandem)
879234949Sbapt		basic_machine=nse-tandem
880234949Sbapt		;;
881234949Sbapt	nsr-tandem)
882234949Sbapt		basic_machine=nsr-tandem
883234949Sbapt		;;
884234949Sbapt	op50n-* | op60c-*)
885234949Sbapt		basic_machine=hppa1.1-oki
886234949Sbapt		os=-proelf
887234949Sbapt		;;
888234949Sbapt	openrisc | openrisc-*)
889234949Sbapt		basic_machine=or32-unknown
890234949Sbapt		;;
891234949Sbapt	os400)
892234949Sbapt		basic_machine=powerpc-ibm
893234949Sbapt		os=-os400
894234949Sbapt		;;
895234949Sbapt	OSE68000 | ose68000)
896234949Sbapt		basic_machine=m68000-ericsson
897234949Sbapt		os=-ose
898234949Sbapt		;;
899234949Sbapt	os68k)
900234949Sbapt		basic_machine=m68k-none
901234949Sbapt		os=-os68k
902234949Sbapt		;;
903234949Sbapt	pa-hitachi)
904234949Sbapt		basic_machine=hppa1.1-hitachi
905234949Sbapt		os=-hiuxwe2
906234949Sbapt		;;
907234949Sbapt	paragon)
908234949Sbapt		basic_machine=i860-intel
909234949Sbapt		os=-osf
910234949Sbapt		;;
911234949Sbapt	parisc)
912234949Sbapt		basic_machine=hppa-unknown
913234949Sbapt		os=-linux
914234949Sbapt		;;
915234949Sbapt	parisc-*)
916234949Sbapt		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
917234949Sbapt		os=-linux
918234949Sbapt		;;
919234949Sbapt	pbd)
920234949Sbapt		basic_machine=sparc-tti
921234949Sbapt		;;
922234949Sbapt	pbb)
923234949Sbapt		basic_machine=m68k-tti
924234949Sbapt		;;
925234949Sbapt	pc532 | pc532-*)
926234949Sbapt		basic_machine=ns32k-pc532
927234949Sbapt		;;
928234949Sbapt	pc98)
929234949Sbapt		basic_machine=i386-pc
930234949Sbapt		;;
931234949Sbapt	pc98-*)
932234949Sbapt		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
933234949Sbapt		;;
934234949Sbapt	pentium | p5 | k5 | k6 | nexgen | viac3)
935234949Sbapt		basic_machine=i586-pc
936234949Sbapt		;;
937234949Sbapt	pentiumpro | p6 | 6x86 | athlon | athlon_*)
938234949Sbapt		basic_machine=i686-pc
939234949Sbapt		;;
940234949Sbapt	pentiumii | pentium2 | pentiumiii | pentium3)
941234949Sbapt		basic_machine=i686-pc
942234949Sbapt		;;
943234949Sbapt	pentium4)
944234949Sbapt		basic_machine=i786-pc
945234949Sbapt		;;
946234949Sbapt	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
947234949Sbapt		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
948234949Sbapt		;;
949234949Sbapt	pentiumpro-* | p6-* | 6x86-* | athlon-*)
950234949Sbapt		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
951234949Sbapt		;;
952234949Sbapt	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
953234949Sbapt		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
954234949Sbapt		;;
955234949Sbapt	pentium4-*)
956234949Sbapt		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
957234949Sbapt		;;
958234949Sbapt	pn)
959234949Sbapt		basic_machine=pn-gould
960234949Sbapt		;;
961234949Sbapt	power)
962234949Sbapt		basic_machine=power-ibm
963234949Sbapt		;;
964234949Sbapt	ppc | ppcbe)
965234949Sbapt		basic_machine=powerpc-unknown
966234949Sbapt		;;
967234949Sbapt	ppc-* | ppcbe-*)
968234949Sbapt		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
969234949Sbapt		;;
970234949Sbapt	ppcle | powerpclittle | ppc-le | powerpc-little)
971234949Sbapt		basic_machine=powerpcle-unknown
972234949Sbapt		;;
973234949Sbapt	ppcle-* | powerpclittle-*)
974234949Sbapt		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
975234949Sbapt		;;
976234949Sbapt	ppc64)
977234949Sbapt		basic_machine=powerpc64-unknown
978234949Sbapt		;;
979234949Sbapt	ppc64-*)
980234949Sbapt		basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
981234949Sbapt		;;
982234949Sbapt	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
983234949Sbapt		basic_machine=powerpc64le-unknown
984234949Sbapt		;;
985234949Sbapt	ppc64le-* | powerpc64little-*)
986234949Sbapt		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
987234949Sbapt		;;
988234949Sbapt	ps2)
989234949Sbapt		basic_machine=i386-ibm
990234949Sbapt		;;
991234949Sbapt	pw32)
992234949Sbapt		basic_machine=i586-unknown
993234949Sbapt		os=-pw32
994234949Sbapt		;;
995234949Sbapt	rdos)
996234949Sbapt		basic_machine=i386-pc
997234949Sbapt		os=-rdos
998234949Sbapt		;;
999234949Sbapt	rom68k)
1000234949Sbapt		basic_machine=m68k-rom68k
1001234949Sbapt		os=-coff
1002234949Sbapt		;;
1003234949Sbapt	rm[46]00)
1004234949Sbapt		basic_machine=mips-siemens
1005234949Sbapt		;;
1006234949Sbapt	rtpc | rtpc-*)
1007234949Sbapt		basic_machine=romp-ibm
1008234949Sbapt		;;
1009234949Sbapt	s390 | s390-*)
1010234949Sbapt		basic_machine=s390-ibm
1011234949Sbapt		;;
1012234949Sbapt	s390x | s390x-*)
1013234949Sbapt		basic_machine=s390x-ibm
1014234949Sbapt		;;
1015234949Sbapt	sa29200)
1016234949Sbapt		basic_machine=a29k-amd
1017234949Sbapt		os=-udi
1018234949Sbapt		;;
1019234949Sbapt	sb1)
1020234949Sbapt		basic_machine=mipsisa64sb1-unknown
1021234949Sbapt		;;
1022234949Sbapt	sb1el)
1023234949Sbapt		basic_machine=mipsisa64sb1el-unknown
1024234949Sbapt		;;
1025234949Sbapt	sde)
1026234949Sbapt		basic_machine=mipsisa32-sde
1027234949Sbapt		os=-elf
1028234949Sbapt		;;
1029234949Sbapt	sei)
1030234949Sbapt		basic_machine=mips-sei
1031234949Sbapt		os=-seiux
1032234949Sbapt		;;
1033234949Sbapt	sequent)
1034234949Sbapt		basic_machine=i386-sequent
1035234949Sbapt		;;
1036234949Sbapt	sh)
1037234949Sbapt		basic_machine=sh-hitachi
1038234949Sbapt		os=-hms
1039234949Sbapt		;;
1040234949Sbapt	sh5el)
1041234949Sbapt		basic_machine=sh5le-unknown
1042234949Sbapt		;;
1043234949Sbapt	sh64)
1044234949Sbapt		basic_machine=sh64-unknown
1045234949Sbapt		;;
1046234949Sbapt	sparclite-wrs | simso-wrs)
1047234949Sbapt		basic_machine=sparclite-wrs
1048234949Sbapt		os=-vxworks
1049234949Sbapt		;;
1050234949Sbapt	sps7)
1051234949Sbapt		basic_machine=m68k-bull
1052234949Sbapt		os=-sysv2
1053234949Sbapt		;;
1054234949Sbapt	spur)
1055234949Sbapt		basic_machine=spur-unknown
1056234949Sbapt		;;
1057234949Sbapt	st2000)
1058234949Sbapt		basic_machine=m68k-tandem
1059234949Sbapt		;;
1060234949Sbapt	stratus)
1061234949Sbapt		basic_machine=i860-stratus
1062234949Sbapt		os=-sysv4
1063234949Sbapt		;;
1064234949Sbapt	strongarm-* | thumb-*)
1065234949Sbapt		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1066234949Sbapt		;;
1067234949Sbapt	sun2)
1068234949Sbapt		basic_machine=m68000-sun
1069234949Sbapt		;;
1070234949Sbapt	sun2os3)
1071234949Sbapt		basic_machine=m68000-sun
1072234949Sbapt		os=-sunos3
1073234949Sbapt		;;
1074234949Sbapt	sun2os4)
1075234949Sbapt		basic_machine=m68000-sun
1076234949Sbapt		os=-sunos4
1077234949Sbapt		;;
1078234949Sbapt	sun3os3)
1079234949Sbapt		basic_machine=m68k-sun
1080234949Sbapt		os=-sunos3
1081234949Sbapt		;;
1082234949Sbapt	sun3os4)
1083234949Sbapt		basic_machine=m68k-sun
1084234949Sbapt		os=-sunos4
1085234949Sbapt		;;
1086234949Sbapt	sun4os3)
1087234949Sbapt		basic_machine=sparc-sun
1088234949Sbapt		os=-sunos3
1089234949Sbapt		;;
1090234949Sbapt	sun4os4)
1091234949Sbapt		basic_machine=sparc-sun
1092234949Sbapt		os=-sunos4
1093234949Sbapt		;;
1094234949Sbapt	sun4sol2)
1095234949Sbapt		basic_machine=sparc-sun
1096234949Sbapt		os=-solaris2
1097234949Sbapt		;;
1098234949Sbapt	sun3 | sun3-*)
1099234949Sbapt		basic_machine=m68k-sun
1100234949Sbapt		;;
1101234949Sbapt	sun4)
1102234949Sbapt		basic_machine=sparc-sun
1103234949Sbapt		;;
1104234949Sbapt	sun386 | sun386i | roadrunner)
1105234949Sbapt		basic_machine=i386-sun
1106234949Sbapt		;;
1107234949Sbapt	sv1)
1108234949Sbapt		basic_machine=sv1-cray
1109234949Sbapt		os=-unicos
1110234949Sbapt		;;
1111234949Sbapt	symmetry)
1112234949Sbapt		basic_machine=i386-sequent
1113234949Sbapt		os=-dynix
1114234949Sbapt		;;
1115234949Sbapt	t3e)
1116234949Sbapt		basic_machine=alphaev5-cray
1117234949Sbapt		os=-unicos
1118234949Sbapt		;;
1119234949Sbapt	t90)
1120234949Sbapt		basic_machine=t90-cray
1121234949Sbapt		os=-unicos
1122234949Sbapt		;;
1123234949Sbapt	# This must be matched before tile*.
1124234949Sbapt	tilegx*)
1125234949Sbapt		basic_machine=tilegx-unknown
1126234949Sbapt		os=-linux-gnu
1127234949Sbapt		;;
1128234949Sbapt	tile*)
1129234949Sbapt		basic_machine=tile-unknown
1130234949Sbapt		os=-linux-gnu
1131234949Sbapt		;;
1132234949Sbapt	tx39)
1133234949Sbapt		basic_machine=mipstx39-unknown
1134234949Sbapt		;;
1135234949Sbapt	tx39el)
1136234949Sbapt		basic_machine=mipstx39el-unknown
1137234949Sbapt		;;
1138234949Sbapt	toad1)
1139234949Sbapt		basic_machine=pdp10-xkl
1140234949Sbapt		os=-tops20
1141234949Sbapt		;;
1142234949Sbapt	tower | tower-32)
1143234949Sbapt		basic_machine=m68k-ncr
1144234949Sbapt		;;
1145234949Sbapt	tpf)
1146234949Sbapt		basic_machine=s390x-ibm
1147234949Sbapt		os=-tpf
1148234949Sbapt		;;
1149234949Sbapt	udi29k)
1150234949Sbapt		basic_machine=a29k-amd
1151234949Sbapt		os=-udi
1152234949Sbapt		;;
1153234949Sbapt	ultra3)
1154234949Sbapt		basic_machine=a29k-nyu
1155234949Sbapt		os=-sym1
1156234949Sbapt		;;
1157234949Sbapt	v810 | necv810)
1158234949Sbapt		basic_machine=v810-nec
1159234949Sbapt		os=-none
1160234949Sbapt		;;
1161234949Sbapt	vaxv)
1162234949Sbapt		basic_machine=vax-dec
1163234949Sbapt		os=-sysv
1164234949Sbapt		;;
1165234949Sbapt	vms)
1166234949Sbapt		basic_machine=vax-dec
1167234949Sbapt		os=-vms
1168234949Sbapt		;;
1169234949Sbapt	vpp*|vx|vx-*)
1170234949Sbapt		basic_machine=f301-fujitsu
1171234949Sbapt		;;
1172234949Sbapt	vxworks960)
1173234949Sbapt		basic_machine=i960-wrs
1174234949Sbapt		os=-vxworks
1175234949Sbapt		;;
1176234949Sbapt	vxworks68)
1177234949Sbapt		basic_machine=m68k-wrs
1178234949Sbapt		os=-vxworks
1179234949Sbapt		;;
1180234949Sbapt	vxworks29k)
1181234949Sbapt		basic_machine=a29k-wrs
1182234949Sbapt		os=-vxworks
1183234949Sbapt		;;
1184234949Sbapt	w65*)
1185234949Sbapt		basic_machine=w65-wdc
1186234949Sbapt		os=-none
1187234949Sbapt		;;
1188234949Sbapt	w89k-*)
1189234949Sbapt		basic_machine=hppa1.1-winbond
1190234949Sbapt		os=-proelf
1191234949Sbapt		;;
1192234949Sbapt	xbox)
1193234949Sbapt		basic_machine=i686-pc
1194234949Sbapt		os=-mingw32
1195234949Sbapt		;;
1196234949Sbapt	xps | xps100)
1197234949Sbapt		basic_machine=xps100-honeywell
1198234949Sbapt		;;
1199234949Sbapt	xscale-* | xscalee[bl]-*)
1200234949Sbapt		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1201234949Sbapt		;;
1202234949Sbapt	ymp)
1203234949Sbapt		basic_machine=ymp-cray
1204234949Sbapt		os=-unicos
1205234949Sbapt		;;
1206234949Sbapt	z8k-*-coff)
1207234949Sbapt		basic_machine=z8k-unknown
1208234949Sbapt		os=-sim
1209234949Sbapt		;;
1210234949Sbapt	z80-*-coff)
1211234949Sbapt		basic_machine=z80-unknown
1212234949Sbapt		os=-sim
1213234949Sbapt		;;
1214234949Sbapt	none)
1215234949Sbapt		basic_machine=none-none
1216234949Sbapt		os=-none
1217234949Sbapt		;;
1218234949Sbapt
1219234949Sbapt# Here we handle the default manufacturer of certain CPU types.  It is in
1220234949Sbapt# some cases the only manufacturer, in others, it is the most popular.
1221234949Sbapt	w89k)
1222234949Sbapt		basic_machine=hppa1.1-winbond
1223234949Sbapt		;;
1224234949Sbapt	op50n)
1225234949Sbapt		basic_machine=hppa1.1-oki
1226234949Sbapt		;;
1227234949Sbapt	op60c)
1228234949Sbapt		basic_machine=hppa1.1-oki
1229234949Sbapt		;;
1230234949Sbapt	romp)
1231234949Sbapt		basic_machine=romp-ibm
1232234949Sbapt		;;
1233234949Sbapt	mmix)
1234234949Sbapt		basic_machine=mmix-knuth
1235234949Sbapt		;;
1236234949Sbapt	rs6000)
1237234949Sbapt		basic_machine=rs6000-ibm
1238234949Sbapt		;;
1239234949Sbapt	vax)
1240234949Sbapt		basic_machine=vax-dec
1241234949Sbapt		;;
1242234949Sbapt	pdp10)
1243234949Sbapt		# there are many clones, so DEC is not a safe bet
1244234949Sbapt		basic_machine=pdp10-unknown
1245234949Sbapt		;;
1246234949Sbapt	pdp11)
1247234949Sbapt		basic_machine=pdp11-dec
1248234949Sbapt		;;
1249234949Sbapt	we32k)
1250234949Sbapt		basic_machine=we32k-att
1251234949Sbapt		;;
1252234949Sbapt	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1253234949Sbapt		basic_machine=sh-unknown
1254234949Sbapt		;;
1255234949Sbapt	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1256234949Sbapt		basic_machine=sparc-sun
1257234949Sbapt		;;
1258234949Sbapt	cydra)
1259234949Sbapt		basic_machine=cydra-cydrome
1260234949Sbapt		;;
1261234949Sbapt	orion)
1262234949Sbapt		basic_machine=orion-highlevel
1263234949Sbapt		;;
1264234949Sbapt	orion105)
1265234949Sbapt		basic_machine=clipper-highlevel
1266234949Sbapt		;;
1267234949Sbapt	mac | mpw | mac-mpw)
1268234949Sbapt		basic_machine=m68k-apple
1269234949Sbapt		;;
1270234949Sbapt	pmac | pmac-mpw)
1271234949Sbapt		basic_machine=powerpc-apple
1272234949Sbapt		;;
1273234949Sbapt	*-unknown)
1274234949Sbapt		# Make sure to match an already-canonicalized machine name.
1275234949Sbapt		;;
1276234949Sbapt	*)
1277234949Sbapt		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1278234949Sbapt		exit 1
1279234949Sbapt		;;
1280234949Sbaptesac
1281234949Sbapt
1282234949Sbapt# Here we canonicalize certain aliases for manufacturers.
1283234949Sbaptcase $basic_machine in
1284234949Sbapt	*-digital*)
1285234949Sbapt		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1286234949Sbapt		;;
1287234949Sbapt	*-commodore*)
1288234949Sbapt		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1289234949Sbapt		;;
1290234949Sbapt	*)
1291234949Sbapt		;;
1292234949Sbaptesac
1293234949Sbapt
1294234949Sbapt# Decode manufacturer-specific aliases for certain operating systems.
1295234949Sbapt
1296234949Sbaptif [ x"$os" != x"" ]
1297234949Sbaptthen
1298234949Sbaptcase $os in
1299234949Sbapt	# First match some system type aliases
1300234949Sbapt	# that might get confused with valid system types.
1301234949Sbapt	# -solaris* is a basic system type, with this one exception.
1302234949Sbapt	-auroraux)
1303234949Sbapt		os=-auroraux
1304234949Sbapt		;;
1305234949Sbapt	-solaris1 | -solaris1.*)
1306234949Sbapt		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1307234949Sbapt		;;
1308234949Sbapt	-solaris)
1309234949Sbapt		os=-solaris2
1310234949Sbapt		;;
1311234949Sbapt	-svr4*)
1312234949Sbapt		os=-sysv4
1313234949Sbapt		;;
1314234949Sbapt	-unixware*)
1315234949Sbapt		os=-sysv4.2uw
1316234949Sbapt		;;
1317234949Sbapt	-gnu/linux*)
1318234949Sbapt		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1319234949Sbapt		;;
1320234949Sbapt	# First accept the basic system types.
1321234949Sbapt	# The portable systems comes first.
1322234949Sbapt	# Each alternative MUST END IN A *, to match a version number.
1323234949Sbapt	# -sysv* is not here because it comes later, after sysvr4.
1324234949Sbapt	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1325234949Sbapt	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1326234949Sbapt	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1327234949Sbapt	      | -sym* | -kopensolaris* \
1328234949Sbapt	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1329234949Sbapt	      | -aos* | -aros* \
1330234949Sbapt	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1331234949Sbapt	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1332234949Sbapt	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1333234949Sbapt	      | -openbsd* | -solidbsd* \
1334234949Sbapt	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1335234949Sbapt	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1336234949Sbapt	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1337234949Sbapt	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1338234949Sbapt	      | -chorusos* | -chorusrdb* | -cegcc* \
1339234949Sbapt	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1340234949Sbapt	      | -mingw32* | -linux-gnu* | -linux-android* \
1341234949Sbapt	      | -linux-newlib* | -linux-uclibc* \
1342234949Sbapt	      | -uxpv* | -beos* | -mpeix* | -udk* \
1343234949Sbapt	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1344234949Sbapt	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1345234949Sbapt	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1346234949Sbapt	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1347234949Sbapt	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1348234949Sbapt	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1349234949Sbapt	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1350234949Sbapt	# Remember, each alternative MUST END IN *, to match a version number.
1351234949Sbapt		;;
1352234949Sbapt	-qnx*)
1353234949Sbapt		case $basic_machine in
1354234949Sbapt		    x86-* | i*86-*)
1355234949Sbapt			;;
1356234949Sbapt		    *)
1357234949Sbapt			os=-nto$os
1358234949Sbapt			;;
1359234949Sbapt		esac
1360234949Sbapt		;;
1361234949Sbapt	-nto-qnx*)
1362234949Sbapt		;;
1363234949Sbapt	-nto*)
1364234949Sbapt		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1365234949Sbapt		;;
1366234949Sbapt	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1367234949Sbapt	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1368234949Sbapt	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1369234949Sbapt		;;
1370234949Sbapt	-mac*)
1371234949Sbapt		os=`echo $os | sed -e 's|mac|macos|'`
1372234949Sbapt		;;
1373234949Sbapt	-linux-dietlibc)
1374234949Sbapt		os=-linux-dietlibc
1375234949Sbapt		;;
1376234949Sbapt	-linux*)
1377234949Sbapt		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1378234949Sbapt		;;
1379234949Sbapt	-sunos5*)
1380234949Sbapt		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1381234949Sbapt		;;
1382234949Sbapt	-sunos6*)
1383234949Sbapt		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1384234949Sbapt		;;
1385234949Sbapt	-opened*)
1386234949Sbapt		os=-openedition
1387234949Sbapt		;;
1388234949Sbapt	-os400*)
1389234949Sbapt		os=-os400
1390234949Sbapt		;;
1391234949Sbapt	-wince*)
1392234949Sbapt		os=-wince
1393234949Sbapt		;;
1394234949Sbapt	-osfrose*)
1395234949Sbapt		os=-osfrose
1396234949Sbapt		;;
1397234949Sbapt	-osf*)
1398234949Sbapt		os=-osf
1399234949Sbapt		;;
1400234949Sbapt	-utek*)
1401234949Sbapt		os=-bsd
1402234949Sbapt		;;
1403234949Sbapt	-dynix*)
1404234949Sbapt		os=-bsd
1405234949Sbapt		;;
1406234949Sbapt	-acis*)
1407234949Sbapt		os=-aos
1408234949Sbapt		;;
1409234949Sbapt	-atheos*)
1410234949Sbapt		os=-atheos
1411234949Sbapt		;;
1412234949Sbapt	-syllable*)
1413234949Sbapt		os=-syllable
1414234949Sbapt		;;
1415234949Sbapt	-386bsd)
1416234949Sbapt		os=-bsd
1417234949Sbapt		;;
1418234949Sbapt	-ctix* | -uts*)
1419234949Sbapt		os=-sysv
1420234949Sbapt		;;
1421234949Sbapt	-nova*)
1422234949Sbapt		os=-rtmk-nova
1423234949Sbapt		;;
1424234949Sbapt	-ns2)
1425234949Sbapt		os=-nextstep2
1426234949Sbapt		;;
1427234949Sbapt	-nsk*)
1428234949Sbapt		os=-nsk
1429234949Sbapt		;;
1430234949Sbapt	# Preserve the version number of sinix5.
1431234949Sbapt	-sinix5.*)
1432234949Sbapt		os=`echo $os | sed -e 's|sinix|sysv|'`
1433234949Sbapt		;;
1434234949Sbapt	-sinix*)
1435234949Sbapt		os=-sysv4
1436234949Sbapt		;;
1437234949Sbapt	-tpf*)
1438234949Sbapt		os=-tpf
1439234949Sbapt		;;
1440234949Sbapt	-triton*)
1441234949Sbapt		os=-sysv3
1442234949Sbapt		;;
1443234949Sbapt	-oss*)
1444234949Sbapt		os=-sysv3
1445234949Sbapt		;;
1446234949Sbapt	-svr4)
1447234949Sbapt		os=-sysv4
1448234949Sbapt		;;
1449234949Sbapt	-svr3)
1450234949Sbapt		os=-sysv3
1451234949Sbapt		;;
1452234949Sbapt	-sysvr4)
1453234949Sbapt		os=-sysv4
1454234949Sbapt		;;
1455234949Sbapt	# This must come after -sysvr4.
1456234949Sbapt	-sysv*)
1457234949Sbapt		;;
1458234949Sbapt	-ose*)
1459234949Sbapt		os=-ose
1460234949Sbapt		;;
1461234949Sbapt	-es1800*)
1462234949Sbapt		os=-ose
1463234949Sbapt		;;
1464234949Sbapt	-xenix)
1465234949Sbapt		os=-xenix
1466234949Sbapt		;;
1467234949Sbapt	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1468234949Sbapt		os=-mint
1469234949Sbapt		;;
1470234949Sbapt	-aros*)
1471234949Sbapt		os=-aros
1472234949Sbapt		;;
1473234949Sbapt	-kaos*)
1474234949Sbapt		os=-kaos
1475234949Sbapt		;;
1476234949Sbapt	-zvmoe)
1477234949Sbapt		os=-zvmoe
1478234949Sbapt		;;
1479234949Sbapt	-dicos*)
1480234949Sbapt		os=-dicos
1481234949Sbapt		;;
1482234949Sbapt	-nacl*)
1483234949Sbapt		;;
1484234949Sbapt	-none)
1485234949Sbapt		;;
1486234949Sbapt	*)
1487234949Sbapt		# Get rid of the `-' at the beginning of $os.
1488234949Sbapt		os=`echo $os | sed 's/[^-]*-//'`
1489234949Sbapt		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1490234949Sbapt		exit 1
1491234949Sbapt		;;
1492234949Sbaptesac
1493234949Sbaptelse
1494234949Sbapt
1495234949Sbapt# Here we handle the default operating systems that come with various machines.
1496234949Sbapt# The value should be what the vendor currently ships out the door with their
1497234949Sbapt# machine or put another way, the most popular os provided with the machine.
1498234949Sbapt
1499234949Sbapt# Note that if you're going to try to match "-MANUFACTURER" here (say,
1500234949Sbapt# "-sun"), then you have to tell the case statement up towards the top
1501234949Sbapt# that MANUFACTURER isn't an operating system.  Otherwise, code above
1502234949Sbapt# will signal an error saying that MANUFACTURER isn't an operating
1503234949Sbapt# system, and we'll never get to this point.
1504234949Sbapt
1505234949Sbaptcase $basic_machine in
1506234949Sbapt	score-*)
1507234949Sbapt		os=-elf
1508234949Sbapt		;;
1509234949Sbapt	spu-*)
1510234949Sbapt		os=-elf
1511234949Sbapt		;;
1512234949Sbapt	*-acorn)
1513234949Sbapt		os=-riscix1.2
1514234949Sbapt		;;
1515234949Sbapt	arm*-rebel)
1516234949Sbapt		os=-linux
1517234949Sbapt		;;
1518234949Sbapt	arm*-semi)
1519234949Sbapt		os=-aout
1520234949Sbapt		;;
1521234949Sbapt	c4x-* | tic4x-*)
1522234949Sbapt		os=-coff
1523234949Sbapt		;;
1524234949Sbapt	tic54x-*)
1525234949Sbapt		os=-coff
1526234949Sbapt		;;
1527234949Sbapt	tic55x-*)
1528234949Sbapt		os=-coff
1529234949Sbapt		;;
1530234949Sbapt	tic6x-*)
1531234949Sbapt		os=-coff
1532234949Sbapt		;;
1533234949Sbapt	# This must come before the *-dec entry.
1534234949Sbapt	pdp10-*)
1535234949Sbapt		os=-tops20
1536234949Sbapt		;;
1537234949Sbapt	pdp11-*)
1538234949Sbapt		os=-none
1539234949Sbapt		;;
1540234949Sbapt	*-dec | vax-*)
1541234949Sbapt		os=-ultrix4.2
1542234949Sbapt		;;
1543234949Sbapt	m68*-apollo)
1544234949Sbapt		os=-domain
1545234949Sbapt		;;
1546234949Sbapt	i386-sun)
1547234949Sbapt		os=-sunos4.0.2
1548234949Sbapt		;;
1549234949Sbapt	m68000-sun)
1550234949Sbapt		os=-sunos3
1551234949Sbapt		# This also exists in the configure program, but was not the
1552234949Sbapt		# default.
1553234949Sbapt		# os=-sunos4
1554234949Sbapt		;;
1555234949Sbapt	m68*-cisco)
1556234949Sbapt		os=-aout
1557234949Sbapt		;;
1558234949Sbapt	mep-*)
1559234949Sbapt		os=-elf
1560234949Sbapt		;;
1561234949Sbapt	mips*-cisco)
1562234949Sbapt		os=-elf
1563234949Sbapt		;;
1564234949Sbapt	mips*-*)
1565234949Sbapt		os=-elf
1566234949Sbapt		;;
1567234949Sbapt	or32-*)
1568234949Sbapt		os=-coff
1569234949Sbapt		;;
1570234949Sbapt	*-tti)	# must be before sparc entry or we get the wrong os.
1571234949Sbapt		os=-sysv3
1572234949Sbapt		;;
1573234949Sbapt	sparc-* | *-sun)
1574234949Sbapt		os=-sunos4.1.1
1575234949Sbapt		;;
1576234949Sbapt	*-be)
1577234949Sbapt		os=-beos
1578234949Sbapt		;;
1579234949Sbapt	*-haiku)
1580234949Sbapt		os=-haiku
1581234949Sbapt		;;
1582234949Sbapt	*-ibm)
1583234949Sbapt		os=-aix
1584234949Sbapt		;;
1585234949Sbapt	*-knuth)
1586234949Sbapt		os=-mmixware
1587234949Sbapt		;;
1588234949Sbapt	*-wec)
1589234949Sbapt		os=-proelf
1590234949Sbapt		;;
1591234949Sbapt	*-winbond)
1592234949Sbapt		os=-proelf
1593234949Sbapt		;;
1594234949Sbapt	*-oki)
1595234949Sbapt		os=-proelf
1596234949Sbapt		;;
1597234949Sbapt	*-hp)
1598234949Sbapt		os=-hpux
1599234949Sbapt		;;
1600234949Sbapt	*-hitachi)
1601234949Sbapt		os=-hiux
1602234949Sbapt		;;
1603234949Sbapt	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1604234949Sbapt		os=-sysv
1605234949Sbapt		;;
1606234949Sbapt	*-cbm)
1607234949Sbapt		os=-amigaos
1608234949Sbapt		;;
1609234949Sbapt	*-dg)
1610234949Sbapt		os=-dgux
1611234949Sbapt		;;
1612234949Sbapt	*-dolphin)
1613234949Sbapt		os=-sysv3
1614234949Sbapt		;;
1615234949Sbapt	m68k-ccur)
1616234949Sbapt		os=-rtu
1617234949Sbapt		;;
1618234949Sbapt	m88k-omron*)
1619234949Sbapt		os=-luna
1620234949Sbapt		;;
1621234949Sbapt	*-next)
1622234949Sbapt		os=-nextstep
1623234949Sbapt		;;
1624234949Sbapt	*-sequent)
1625234949Sbapt		os=-ptx
1626234949Sbapt		;;
1627234949Sbapt	*-crds)
1628234949Sbapt		os=-unos
1629234949Sbapt		;;
1630234949Sbapt	*-ns)
1631234949Sbapt		os=-genix
1632234949Sbapt		;;
1633234949Sbapt	i370-*)
1634234949Sbapt		os=-mvs
1635234949Sbapt		;;
1636234949Sbapt	*-next)
1637234949Sbapt		os=-nextstep3
1638234949Sbapt		;;
1639234949Sbapt	*-gould)
1640234949Sbapt		os=-sysv
1641234949Sbapt		;;
1642234949Sbapt	*-highlevel)
1643234949Sbapt		os=-bsd
1644234949Sbapt		;;
1645234949Sbapt	*-encore)
1646234949Sbapt		os=-bsd
1647234949Sbapt		;;
1648234949Sbapt	*-sgi)
1649234949Sbapt		os=-irix
1650234949Sbapt		;;
1651234949Sbapt	*-siemens)
1652234949Sbapt		os=-sysv4
1653234949Sbapt		;;
1654234949Sbapt	*-masscomp)
1655234949Sbapt		os=-rtu
1656234949Sbapt		;;
1657234949Sbapt	f30[01]-fujitsu | f700-fujitsu)
1658234949Sbapt		os=-uxpv
1659234949Sbapt		;;
1660234949Sbapt	*-rom68k)
1661234949Sbapt		os=-coff
1662234949Sbapt		;;
1663234949Sbapt	*-*bug)
1664234949Sbapt		os=-coff
1665234949Sbapt		;;
1666234949Sbapt	*-apple)
1667234949Sbapt		os=-macos
1668234949Sbapt		;;
1669234949Sbapt	*-atari*)
1670234949Sbapt		os=-mint
1671234949Sbapt		;;
1672234949Sbapt	*)
1673234949Sbapt		os=-none
1674234949Sbapt		;;
1675234949Sbaptesac
1676234949Sbaptfi
1677234949Sbapt
1678234949Sbapt# Here we handle the case where we know the os, and the CPU type, but not the
1679234949Sbapt# manufacturer.  We pick the logical manufacturer.
1680234949Sbaptvendor=unknown
1681234949Sbaptcase $basic_machine in
1682234949Sbapt	*-unknown)
1683234949Sbapt		case $os in
1684234949Sbapt			-riscix*)
1685234949Sbapt				vendor=acorn
1686234949Sbapt				;;
1687234949Sbapt			-sunos*)
1688234949Sbapt				vendor=sun
1689234949Sbapt				;;
1690234949Sbapt			-cnk*|-aix*)
1691234949Sbapt				vendor=ibm
1692234949Sbapt				;;
1693234949Sbapt			-beos*)
1694234949Sbapt				vendor=be
1695234949Sbapt				;;
1696234949Sbapt			-hpux*)
1697234949Sbapt				vendor=hp
1698234949Sbapt				;;
1699234949Sbapt			-mpeix*)
1700234949Sbapt				vendor=hp
1701234949Sbapt				;;
1702234949Sbapt			-hiux*)
1703234949Sbapt				vendor=hitachi
1704234949Sbapt				;;
1705234949Sbapt			-unos*)
1706234949Sbapt				vendor=crds
1707234949Sbapt				;;
1708234949Sbapt			-dgux*)
1709234949Sbapt				vendor=dg
1710234949Sbapt				;;
1711234949Sbapt			-luna*)
1712234949Sbapt				vendor=omron
1713234949Sbapt				;;
1714234949Sbapt			-genix*)
1715234949Sbapt				vendor=ns
1716234949Sbapt				;;
1717234949Sbapt			-mvs* | -opened*)
1718234949Sbapt				vendor=ibm
1719234949Sbapt				;;
1720234949Sbapt			-os400*)
1721234949Sbapt				vendor=ibm
1722234949Sbapt				;;
1723234949Sbapt			-ptx*)
1724234949Sbapt				vendor=sequent
1725234949Sbapt				;;
1726234949Sbapt			-tpf*)
1727234949Sbapt				vendor=ibm
1728234949Sbapt				;;
1729234949Sbapt			-vxsim* | -vxworks* | -windiss*)
1730234949Sbapt				vendor=wrs
1731234949Sbapt				;;
1732234949Sbapt			-aux*)
1733234949Sbapt				vendor=apple
1734234949Sbapt				;;
1735234949Sbapt			-hms*)
1736234949Sbapt				vendor=hitachi
1737234949Sbapt				;;
1738234949Sbapt			-mpw* | -macos*)
1739234949Sbapt				vendor=apple
1740234949Sbapt				;;
1741234949Sbapt			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1742234949Sbapt				vendor=atari
1743234949Sbapt				;;
1744234949Sbapt			-vos*)
1745234949Sbapt				vendor=stratus
1746234949Sbapt				;;
1747234949Sbapt		esac
1748234949Sbapt		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1749234949Sbapt		;;
1750234949Sbaptesac
1751234949Sbapt
1752234949Sbaptecho $basic_machine$os
1753234949Sbaptexit
1754234949Sbapt
1755234949Sbapt# Local variables:
1756234949Sbapt# eval: (add-hook 'write-file-hooks 'time-stamp)
1757234949Sbapt# time-stamp-start: "timestamp='"
1758234949Sbapt# time-stamp-format: "%:y-%02m-%02d"
1759234949Sbapt# time-stamp-end: "'"
1760234949Sbapt# End:
1761