1290001Sglebius#! /bin/sh
2290001Sglebius# Configuration validation subroutine script.
3290001Sglebius#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4290001Sglebius#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5290001Sglebius#   2011 Free Software Foundation, Inc.
6290001Sglebius
7290001Sglebiustimestamp='2011-06-03'
8290001Sglebius
9290001Sglebius# This file is (in principle) common to ALL GNU software.
10290001Sglebius# The presence of a machine in this file suggests that SOME GNU software
11290001Sglebius# can handle that machine.  It does not imply ALL GNU software can.
12290001Sglebius#
13290001Sglebius# This file is free software; you can redistribute it and/or modify
14290001Sglebius# it under the terms of the GNU General Public License as published by
15290001Sglebius# the Free Software Foundation; either version 2 of the License, or
16290001Sglebius# (at your option) any later version.
17290001Sglebius#
18290001Sglebius# This program is distributed in the hope that it will be useful,
19290001Sglebius# but WITHOUT ANY WARRANTY; without even the implied warranty of
20290001Sglebius# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21290001Sglebius# GNU General Public License for more details.
22290001Sglebius#
23290001Sglebius# You should have received a copy of the GNU General Public License
24290001Sglebius# along with this program; if not, write to the Free Software
25290001Sglebius# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26290001Sglebius# 02110-1301, USA.
27290001Sglebius#
28290001Sglebius# As a special exception to the GNU General Public License, if you
29290001Sglebius# distribute this file as part of a program that contains a
30290001Sglebius# configuration script generated by Autoconf, you may include it under
31290001Sglebius# the same distribution terms that you use for the rest of that program.
32290001Sglebius
33290001Sglebius
34290001Sglebius# Please send patches to <config-patches@gnu.org>.  Submit a context
35290001Sglebius# diff and a properly formatted GNU ChangeLog entry.
36290001Sglebius#
37290001Sglebius# Configuration subroutine to validate and canonicalize a configuration type.
38290001Sglebius# Supply the specified configuration type as an argument.
39290001Sglebius# If it is invalid, we print an error message on stderr and exit with code 1.
40290001Sglebius# Otherwise, we print the canonical config type on stdout and succeed.
41290001Sglebius
42290001Sglebius# You can get the latest version of this script from:
43290001Sglebius# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44290001Sglebius
45290001Sglebius# This file is supposed to be the same for all GNU packages
46290001Sglebius# and recognize all the CPU types, system types and aliases
47290001Sglebius# that are meaningful with *any* GNU software.
48290001Sglebius# Each package is responsible for reporting which valid configurations
49290001Sglebius# it does not support.  The user should be able to distinguish
50290001Sglebius# a failure to support a valid configuration from a meaningless
51290001Sglebius# configuration.
52290001Sglebius
53290001Sglebius# The goal of this file is to map all the various variations of a given
54290001Sglebius# machine specification into a single specification in the form:
55290001Sglebius#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56290001Sglebius# or in some cases, the newer four-part form:
57290001Sglebius#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58290001Sglebius# It is wrong to echo any other type of specification.
59290001Sglebius
60290001Sglebiusme=`echo "$0" | sed -e 's,.*/,,'`
61290001Sglebius
62290001Sglebiususage="\
63290001SglebiusUsage: $0 [OPTION] CPU-MFR-OPSYS
64290001Sglebius       $0 [OPTION] ALIAS
65290001Sglebius
66290001SglebiusCanonicalize a configuration name.
67290001Sglebius
68290001SglebiusOperation modes:
69290001Sglebius  -h, --help         print this help, then exit
70290001Sglebius  -t, --time-stamp   print date of last modification, then exit
71290001Sglebius  -v, --version      print version number, then exit
72290001Sglebius
73290001SglebiusReport bugs and patches to <config-patches@gnu.org>."
74290001Sglebius
75290001Sglebiusversion="\
76290001SglebiusGNU config.sub ($timestamp)
77290001Sglebius
78290001SglebiusCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79290001Sglebius2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
80290001SglebiusSoftware Foundation, Inc.
81290001Sglebius
82290001SglebiusThis is free software; see the source for copying conditions.  There is NO
83290001Sglebiuswarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84290001Sglebius
85290001Sglebiushelp="
86290001SglebiusTry \`$me --help' for more information."
87290001Sglebius
88290001Sglebius# Parse command line
89290001Sglebiuswhile test $# -gt 0 ; do
90290001Sglebius  case $1 in
91290001Sglebius    --time-stamp | --time* | -t )
92290001Sglebius       echo "$timestamp" ; exit ;;
93290001Sglebius    --version | -v )
94290001Sglebius       echo "$version" ; exit ;;
95290001Sglebius    --help | --h* | -h )
96290001Sglebius       echo "$usage"; exit ;;
97290001Sglebius    -- )     # Stop option processing
98290001Sglebius       shift; break ;;
99290001Sglebius    - )	# Use stdin as input.
100290001Sglebius       break ;;
101290001Sglebius    -* )
102290001Sglebius       echo "$me: invalid option $1$help"
103290001Sglebius       exit 1 ;;
104290001Sglebius
105290001Sglebius    *local*)
106290001Sglebius       # First pass through any local machine types.
107290001Sglebius       echo $1
108290001Sglebius       exit ;;
109290001Sglebius
110290001Sglebius    * )
111290001Sglebius       break ;;
112290001Sglebius  esac
113290001Sglebiusdone
114290001Sglebius
115290001Sglebiuscase $# in
116290001Sglebius 0) echo "$me: missing argument$help" >&2
117290001Sglebius    exit 1;;
118290001Sglebius 1) ;;
119290001Sglebius *) echo "$me: too many arguments$help" >&2
120290001Sglebius    exit 1;;
121290001Sglebiusesac
122290001Sglebius
123290001Sglebius# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124290001Sglebius# Here we must recognize all the valid KERNEL-OS combinations.
125290001Sglebiusmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126290001Sglebiuscase $maybe_os in
127290001Sglebius  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128290001Sglebius  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129290001Sglebius  knetbsd*-gnu* | netbsd*-gnu* | \
130290001Sglebius  kopensolaris*-gnu* | \
131290001Sglebius  storm-chaos* | os2-emx* | rtmk-nova*)
132290001Sglebius    os=-$maybe_os
133290001Sglebius    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134290001Sglebius    ;;
135290001Sglebius  *)
136290001Sglebius    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137290001Sglebius    if [ $basic_machine != $1 ]
138290001Sglebius    then os=`echo $1 | sed 's/.*-/-/'`
139290001Sglebius    else os=; fi
140290001Sglebius    ;;
141290001Sglebiusesac
142290001Sglebius
143290001Sglebius### Let's recognize common machines as not being operating systems so
144290001Sglebius### that things like config.sub decstation-3100 work.  We also
145290001Sglebius### recognize some manufacturers as not being operating systems, so we
146290001Sglebius### can provide default operating systems below.
147290001Sglebiuscase $os in
148290001Sglebius	-sun*os*)
149290001Sglebius		# Prevent following clause from handling this invalid input.
150290001Sglebius		;;
151290001Sglebius	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152290001Sglebius	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153290001Sglebius	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154290001Sglebius	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155290001Sglebius	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156290001Sglebius	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157290001Sglebius	-apple | -axis | -knuth | -cray | -microblaze)
158290001Sglebius		os=
159290001Sglebius		basic_machine=$1
160290001Sglebius		;;
161290001Sglebius	-bluegene*)
162290001Sglebius		os=-cnk
163290001Sglebius		;;
164290001Sglebius	-sim | -cisco | -oki | -wec | -winbond)
165290001Sglebius		os=
166290001Sglebius		basic_machine=$1
167290001Sglebius		;;
168290001Sglebius	-scout)
169290001Sglebius		;;
170290001Sglebius	-wrs)
171290001Sglebius		os=-vxworks
172290001Sglebius		basic_machine=$1
173290001Sglebius		;;
174290001Sglebius	-chorusos*)
175290001Sglebius		os=-chorusos
176290001Sglebius		basic_machine=$1
177290001Sglebius		;;
178290001Sglebius	-chorusrdb)
179290001Sglebius		os=-chorusrdb
180290001Sglebius		basic_machine=$1
181290001Sglebius		;;
182290001Sglebius	-hiux*)
183290001Sglebius		os=-hiuxwe2
184290001Sglebius		;;
185290001Sglebius	-sco6)
186290001Sglebius		os=-sco5v6
187290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188290001Sglebius		;;
189290001Sglebius	-sco5)
190290001Sglebius		os=-sco3.2v5
191290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192290001Sglebius		;;
193290001Sglebius	-sco4)
194290001Sglebius		os=-sco3.2v4
195290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196290001Sglebius		;;
197290001Sglebius	-sco3.2.[4-9]*)
198290001Sglebius		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200290001Sglebius		;;
201290001Sglebius	-sco3.2v[4-9]*)
202290001Sglebius		# Don't forget version if it is 3.2v4 or newer.
203290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204290001Sglebius		;;
205290001Sglebius	-sco5v6*)
206290001Sglebius		# Don't forget version if it is 3.2v4 or newer.
207290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208290001Sglebius		;;
209290001Sglebius	-sco*)
210290001Sglebius		os=-sco3.2v2
211290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212290001Sglebius		;;
213290001Sglebius	-udk*)
214290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215290001Sglebius		;;
216290001Sglebius	-isc)
217290001Sglebius		os=-isc2.2
218290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219290001Sglebius		;;
220290001Sglebius	-clix*)
221290001Sglebius		basic_machine=clipper-intergraph
222290001Sglebius		;;
223290001Sglebius	-isc*)
224290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225290001Sglebius		;;
226290001Sglebius	-lynx*)
227290001Sglebius		os=-lynxos
228290001Sglebius		;;
229290001Sglebius	-ptx*)
230290001Sglebius		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231290001Sglebius		;;
232290001Sglebius	-windowsnt*)
233290001Sglebius		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234290001Sglebius		;;
235290001Sglebius	-psos*)
236290001Sglebius		os=-psos
237290001Sglebius		;;
238290001Sglebius	-mint | -mint[0-9]*)
239290001Sglebius		basic_machine=m68k-atari
240290001Sglebius		os=-mint
241290001Sglebius		;;
242290001Sglebiusesac
243290001Sglebius
244290001Sglebius# Decode aliases for certain CPU-COMPANY combinations.
245290001Sglebiuscase $basic_machine in
246290001Sglebius	# Recognize the basic CPU types without company name.
247290001Sglebius	# Some are omitted here because they have special meanings below.
248290001Sglebius	1750a | 580 \
249290001Sglebius	| a29k \
250290001Sglebius	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251290001Sglebius	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252290001Sglebius	| am33_2.0 \
253290001Sglebius	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254290001Sglebius	| bfin \
255290001Sglebius	| c4x | clipper \
256290001Sglebius	| d10v | d30v | dlx | dsp16xx \
257290001Sglebius	| fido | fr30 | frv \
258290001Sglebius	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259290001Sglebius	| i370 | i860 | i960 | ia64 \
260290001Sglebius	| ip2k | iq2000 \
261290001Sglebius	| lm32 \
262290001Sglebius	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263290001Sglebius	| maxq | mb | microblaze | mcore | mep | metag \
264290001Sglebius	| mips | mipsbe | mipseb | mipsel | mipsle \
265290001Sglebius	| mips16 \
266290001Sglebius	| mips64 | mips64el \
267290001Sglebius	| mips64octeon | mips64octeonel \
268290001Sglebius	| mips64orion | mips64orionel \
269290001Sglebius	| mips64r5900 | mips64r5900el \
270290001Sglebius	| mips64vr | mips64vrel \
271290001Sglebius	| mips64vr4100 | mips64vr4100el \
272290001Sglebius	| mips64vr4300 | mips64vr4300el \
273290001Sglebius	| mips64vr5000 | mips64vr5000el \
274290001Sglebius	| mips64vr5900 | mips64vr5900el \
275290001Sglebius	| mipsisa32 | mipsisa32el \
276290001Sglebius	| mipsisa32r2 | mipsisa32r2el \
277290001Sglebius	| mipsisa64 | mipsisa64el \
278290001Sglebius	| mipsisa64r2 | mipsisa64r2el \
279290001Sglebius	| mipsisa64sb1 | mipsisa64sb1el \
280290001Sglebius	| mipsisa64sr71k | mipsisa64sr71kel \
281290001Sglebius	| mipstx39 | mipstx39el \
282290001Sglebius	| mn10200 | mn10300 \
283290001Sglebius	| moxie \
284290001Sglebius	| mt \
285290001Sglebius	| msp430 \
286290001Sglebius	| nds32 | nds32le | nds32be \
287290001Sglebius	| nios | nios2 \
288290001Sglebius	| ns16k | ns32k \
289290001Sglebius	| open8 \
290290001Sglebius	| or32 \
291290001Sglebius	| pdp10 | pdp11 | pj | pjl \
292290001Sglebius	| powerpc | powerpc64 | powerpc64le | powerpcle \
293290001Sglebius	| pyramid \
294290001Sglebius	| rx \
295290001Sglebius	| score \
296290001Sglebius	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
297290001Sglebius	| sh64 | sh64le \
298290001Sglebius	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
299290001Sglebius	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
300290001Sglebius	| spu \
301290001Sglebius	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
302290001Sglebius	| ubicom32 \
303290001Sglebius	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
304290001Sglebius	| we32k \
305290001Sglebius	| x86 | xc16x | xstormy16 | xtensa \
306290001Sglebius	| z8k | z80)
307290001Sglebius		basic_machine=$basic_machine-unknown
308290001Sglebius		;;
309290001Sglebius	c54x)
310290001Sglebius		basic_machine=tic54x-unknown
311290001Sglebius		;;
312290001Sglebius	c55x)
313290001Sglebius		basic_machine=tic55x-unknown
314290001Sglebius		;;
315290001Sglebius	c6x)
316290001Sglebius		basic_machine=tic6x-unknown
317290001Sglebius		;;
318290001Sglebius	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
319290001Sglebius		# Motorola 68HC11/12.
320290001Sglebius		basic_machine=$basic_machine-unknown
321290001Sglebius		os=-none
322290001Sglebius		;;
323290001Sglebius	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
324290001Sglebius		;;
325290001Sglebius	ms1)
326290001Sglebius		basic_machine=mt-unknown
327290001Sglebius		;;
328290001Sglebius
329290001Sglebius	strongarm | thumb | xscale)
330290001Sglebius		basic_machine=arm-unknown
331290001Sglebius		;;
332290001Sglebius
333290001Sglebius	xscaleeb)
334290001Sglebius		basic_machine=armeb-unknown
335290001Sglebius		;;
336290001Sglebius
337290001Sglebius	xscaleel)
338290001Sglebius		basic_machine=armel-unknown
339290001Sglebius		;;
340290001Sglebius
341290001Sglebius	# We use `pc' rather than `unknown'
342290001Sglebius	# because (1) that's what they normally are, and
343290001Sglebius	# (2) the word "unknown" tends to confuse beginning users.
344290001Sglebius	i*86 | x86_64)
345290001Sglebius	  basic_machine=$basic_machine-pc
346290001Sglebius	  ;;
347290001Sglebius	# Object if more than one company name word.
348290001Sglebius	*-*-*)
349290001Sglebius		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
350290001Sglebius		exit 1
351290001Sglebius		;;
352290001Sglebius	# Recognize the basic CPU types with company name.
353290001Sglebius	580-* \
354290001Sglebius	| a29k-* \
355290001Sglebius	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
356290001Sglebius	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
357290001Sglebius	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
358290001Sglebius	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
359290001Sglebius	| avr-* | avr32-* \
360290001Sglebius	| bfin-* | bs2000-* \
361290001Sglebius	| c[123]* | c30-* | [cjt]90-* | c4x-* \
362290001Sglebius	| clipper-* | craynv-* | cydra-* \
363290001Sglebius	| d10v-* | d30v-* | dlx-* \
364290001Sglebius	| elxsi-* \
365290001Sglebius	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
366290001Sglebius	| h8300-* | h8500-* \
367290001Sglebius	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
368290001Sglebius	| i*86-* | i860-* | i960-* | ia64-* \
369290001Sglebius	| ip2k-* | iq2000-* \
370290001Sglebius	| lm32-* \
371290001Sglebius	| m32c-* | m32r-* | m32rle-* \
372290001Sglebius	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
373290001Sglebius	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
374290001Sglebius	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
375290001Sglebius	| mips16-* \
376290001Sglebius	| mips64-* | mips64el-* \
377290001Sglebius	| mips64octeon-* | mips64octeonel-* \
378290001Sglebius	| mips64orion-* | mips64orionel-* \
379290001Sglebius	| mips64r5900-* | mips64r5900el-* \
380290001Sglebius	| mips64vr-* | mips64vrel-* \
381290001Sglebius	| mips64vr4100-* | mips64vr4100el-* \
382290001Sglebius	| mips64vr4300-* | mips64vr4300el-* \
383290001Sglebius	| mips64vr5000-* | mips64vr5000el-* \
384290001Sglebius	| mips64vr5900-* | mips64vr5900el-* \
385290001Sglebius	| mipsisa32-* | mipsisa32el-* \
386290001Sglebius	| mipsisa32r2-* | mipsisa32r2el-* \
387290001Sglebius	| mipsisa64-* | mipsisa64el-* \
388290001Sglebius	| mipsisa64r2-* | mipsisa64r2el-* \
389290001Sglebius	| mipsisa64sb1-* | mipsisa64sb1el-* \
390290001Sglebius	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
391290001Sglebius	| mipstx39-* | mipstx39el-* \
392290001Sglebius	| mmix-* \
393290001Sglebius	| mt-* \
394290001Sglebius	| msp430-* \
395290001Sglebius	| nds32-* | nds32le-* | nds32be-* \
396290001Sglebius	| nios-* | nios2-* \
397290001Sglebius	| none-* | np1-* | ns16k-* | ns32k-* \
398290001Sglebius	| open8-* \
399290001Sglebius	| orion-* \
400290001Sglebius	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
401290001Sglebius	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
402290001Sglebius	| pyramid-* \
403290001Sglebius	| romp-* | rs6000-* | rx-* \
404290001Sglebius	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
405290001Sglebius	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
406290001Sglebius	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
407290001Sglebius	| sparclite-* \
408290001Sglebius	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
409290001Sglebius	| tahoe-* \
410290001Sglebius	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
411290001Sglebius	| tile*-* \
412290001Sglebius	| tron-* \
413290001Sglebius	| ubicom32-* \
414290001Sglebius	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
415290001Sglebius	| vax-* \
416290001Sglebius	| we32k-* \
417290001Sglebius	| x86-* | x86_64-* | xc16x-* | xps100-* \
418290001Sglebius	| xstormy16-* | xtensa*-* \
419290001Sglebius	| ymp-* \
420290001Sglebius	| z8k-* | z80-*)
421290001Sglebius		;;
422290001Sglebius	# Recognize the basic CPU types without company name, with glob match.
423290001Sglebius	xtensa*)
424290001Sglebius		basic_machine=$basic_machine-unknown
425290001Sglebius		;;
426290001Sglebius	# Recognize the various machine names and aliases which stand
427290001Sglebius	# for a CPU type and a company and sometimes even an OS.
428290001Sglebius	386bsd)
429290001Sglebius		basic_machine=i386-unknown
430290001Sglebius		os=-bsd
431290001Sglebius		;;
432290001Sglebius	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
433290001Sglebius		basic_machine=m68000-att
434290001Sglebius		;;
435290001Sglebius	3b*)
436290001Sglebius		basic_machine=we32k-att
437290001Sglebius		;;
438290001Sglebius	a29khif)
439290001Sglebius		basic_machine=a29k-amd
440290001Sglebius		os=-udi
441290001Sglebius		;;
442290001Sglebius	abacus)
443290001Sglebius		basic_machine=abacus-unknown
444290001Sglebius		;;
445290001Sglebius	adobe68k)
446290001Sglebius		basic_machine=m68010-adobe
447290001Sglebius		os=-scout
448290001Sglebius		;;
449290001Sglebius	alliant | fx80)
450290001Sglebius		basic_machine=fx80-alliant
451290001Sglebius		;;
452290001Sglebius	altos | altos3068)
453290001Sglebius		basic_machine=m68k-altos
454290001Sglebius		;;
455290001Sglebius	am29k)
456290001Sglebius		basic_machine=a29k-none
457290001Sglebius		os=-bsd
458290001Sglebius		;;
459290001Sglebius	amd64)
460290001Sglebius		basic_machine=x86_64-pc
461290001Sglebius		;;
462290001Sglebius	amd64-*)
463290001Sglebius		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
464290001Sglebius		;;
465290001Sglebius	amdahl)
466290001Sglebius		basic_machine=580-amdahl
467290001Sglebius		os=-sysv
468290001Sglebius		;;
469290001Sglebius	amiga | amiga-*)
470290001Sglebius		basic_machine=m68k-unknown
471290001Sglebius		;;
472290001Sglebius	amigaos | amigados)
473290001Sglebius		basic_machine=m68k-unknown
474290001Sglebius		os=-amigaos
475290001Sglebius		;;
476290001Sglebius	amigaunix | amix)
477290001Sglebius		basic_machine=m68k-unknown
478290001Sglebius		os=-sysv4
479290001Sglebius		;;
480290001Sglebius	apollo68)
481290001Sglebius		basic_machine=m68k-apollo
482290001Sglebius		os=-sysv
483290001Sglebius		;;
484290001Sglebius	apollo68bsd)
485290001Sglebius		basic_machine=m68k-apollo
486290001Sglebius		os=-bsd
487290001Sglebius		;;
488290001Sglebius	aros)
489290001Sglebius		basic_machine=i386-pc
490290001Sglebius		os=-aros
491290001Sglebius		;;
492290001Sglebius	aux)
493290001Sglebius		basic_machine=m68k-apple
494290001Sglebius		os=-aux
495290001Sglebius		;;
496290001Sglebius	balance)
497290001Sglebius		basic_machine=ns32k-sequent
498290001Sglebius		os=-dynix
499290001Sglebius		;;
500290001Sglebius	blackfin)
501290001Sglebius		basic_machine=bfin-unknown
502290001Sglebius		os=-linux
503290001Sglebius		;;
504290001Sglebius	blackfin-*)
505290001Sglebius		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
506290001Sglebius		os=-linux
507290001Sglebius		;;
508290001Sglebius	bluegene*)
509290001Sglebius		basic_machine=powerpc-ibm
510290001Sglebius		os=-cnk
511290001Sglebius		;;
512290001Sglebius	c54x-*)
513290001Sglebius		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
514290001Sglebius		;;
515290001Sglebius	c55x-*)
516290001Sglebius		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
517290001Sglebius		;;
518290001Sglebius	c6x-*)
519290001Sglebius		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
520290001Sglebius		;;
521290001Sglebius	c90)
522290001Sglebius		basic_machine=c90-cray
523290001Sglebius		os=-unicos
524290001Sglebius		;;
525290001Sglebius	cegcc)
526290001Sglebius		basic_machine=arm-unknown
527290001Sglebius		os=-cegcc
528290001Sglebius		;;
529290001Sglebius	convex-c1)
530290001Sglebius		basic_machine=c1-convex
531290001Sglebius		os=-bsd
532290001Sglebius		;;
533290001Sglebius	convex-c2)
534290001Sglebius		basic_machine=c2-convex
535290001Sglebius		os=-bsd
536290001Sglebius		;;
537290001Sglebius	convex-c32)
538290001Sglebius		basic_machine=c32-convex
539290001Sglebius		os=-bsd
540290001Sglebius		;;
541290001Sglebius	convex-c34)
542290001Sglebius		basic_machine=c34-convex
543290001Sglebius		os=-bsd
544290001Sglebius		;;
545290001Sglebius	convex-c38)
546290001Sglebius		basic_machine=c38-convex
547290001Sglebius		os=-bsd
548290001Sglebius		;;
549290001Sglebius	cray | j90)
550290001Sglebius		basic_machine=j90-cray
551290001Sglebius		os=-unicos
552290001Sglebius		;;
553290001Sglebius	craynv)
554290001Sglebius		basic_machine=craynv-cray
555290001Sglebius		os=-unicosmp
556290001Sglebius		;;
557290001Sglebius	cr16 | cr16-*)
558290001Sglebius		basic_machine=cr16-unknown
559290001Sglebius		os=-elf
560290001Sglebius		;;
561290001Sglebius	crds | unos)
562290001Sglebius		basic_machine=m68k-crds
563290001Sglebius		;;
564290001Sglebius	crisv32 | crisv32-* | etraxfs*)
565290001Sglebius		basic_machine=crisv32-axis
566290001Sglebius		;;
567290001Sglebius	cris | cris-* | etrax*)
568290001Sglebius		basic_machine=cris-axis
569290001Sglebius		;;
570290001Sglebius	crx)
571290001Sglebius		basic_machine=crx-unknown
572290001Sglebius		os=-elf
573290001Sglebius		;;
574290001Sglebius	da30 | da30-*)
575290001Sglebius		basic_machine=m68k-da30
576290001Sglebius		;;
577290001Sglebius	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
578290001Sglebius		basic_machine=mips-dec
579290001Sglebius		;;
580290001Sglebius	decsystem10* | dec10*)
581290001Sglebius		basic_machine=pdp10-dec
582290001Sglebius		os=-tops10
583290001Sglebius		;;
584290001Sglebius	decsystem20* | dec20*)
585290001Sglebius		basic_machine=pdp10-dec
586290001Sglebius		os=-tops20
587290001Sglebius		;;
588290001Sglebius	delta | 3300 | motorola-3300 | motorola-delta \
589290001Sglebius	      | 3300-motorola | delta-motorola)
590290001Sglebius		basic_machine=m68k-motorola
591290001Sglebius		;;
592290001Sglebius	delta88)
593290001Sglebius		basic_machine=m88k-motorola
594290001Sglebius		os=-sysv3
595290001Sglebius		;;
596290001Sglebius	dicos)
597290001Sglebius		basic_machine=i686-pc
598290001Sglebius		os=-dicos
599290001Sglebius		;;
600290001Sglebius	djgpp)
601290001Sglebius		basic_machine=i586-pc
602290001Sglebius		os=-msdosdjgpp
603290001Sglebius		;;
604290001Sglebius	dpx20 | dpx20-*)
605290001Sglebius		basic_machine=rs6000-bull
606290001Sglebius		os=-bosx
607290001Sglebius		;;
608290001Sglebius	dpx2* | dpx2*-bull)
609290001Sglebius		basic_machine=m68k-bull
610290001Sglebius		os=-sysv3
611290001Sglebius		;;
612290001Sglebius	ebmon29k)
613290001Sglebius		basic_machine=a29k-amd
614290001Sglebius		os=-ebmon
615290001Sglebius		;;
616290001Sglebius	elxsi)
617290001Sglebius		basic_machine=elxsi-elxsi
618290001Sglebius		os=-bsd
619290001Sglebius		;;
620290001Sglebius	encore | umax | mmax)
621290001Sglebius		basic_machine=ns32k-encore
622290001Sglebius		;;
623290001Sglebius	es1800 | OSE68k | ose68k | ose | OSE)
624290001Sglebius		basic_machine=m68k-ericsson
625290001Sglebius		os=-ose
626290001Sglebius		;;
627290001Sglebius	fx2800)
628290001Sglebius		basic_machine=i860-alliant
629290001Sglebius		;;
630290001Sglebius	genix)
631290001Sglebius		basic_machine=ns32k-ns
632290001Sglebius		;;
633290001Sglebius	gmicro)
634290001Sglebius		basic_machine=tron-gmicro
635290001Sglebius		os=-sysv
636290001Sglebius		;;
637290001Sglebius	go32)
638290001Sglebius		basic_machine=i386-pc
639290001Sglebius		os=-go32
640290001Sglebius		;;
641290001Sglebius	h3050r* | hiux*)
642290001Sglebius		basic_machine=hppa1.1-hitachi
643290001Sglebius		os=-hiuxwe2
644290001Sglebius		;;
645290001Sglebius	h8300hms)
646290001Sglebius		basic_machine=h8300-hitachi
647290001Sglebius		os=-hms
648290001Sglebius		;;
649290001Sglebius	h8300xray)
650290001Sglebius		basic_machine=h8300-hitachi
651290001Sglebius		os=-xray
652290001Sglebius		;;
653290001Sglebius	h8500hms)
654290001Sglebius		basic_machine=h8500-hitachi
655290001Sglebius		os=-hms
656290001Sglebius		;;
657290001Sglebius	harris)
658290001Sglebius		basic_machine=m88k-harris
659290001Sglebius		os=-sysv3
660290001Sglebius		;;
661290001Sglebius	hp300-*)
662290001Sglebius		basic_machine=m68k-hp
663290001Sglebius		;;
664290001Sglebius	hp300bsd)
665290001Sglebius		basic_machine=m68k-hp
666290001Sglebius		os=-bsd
667290001Sglebius		;;
668290001Sglebius	hp300hpux)
669290001Sglebius		basic_machine=m68k-hp
670290001Sglebius		os=-hpux
671290001Sglebius		;;
672290001Sglebius	hp3k9[0-9][0-9] | hp9[0-9][0-9])
673290001Sglebius		basic_machine=hppa1.0-hp
674290001Sglebius		;;
675290001Sglebius	hp9k2[0-9][0-9] | hp9k31[0-9])
676290001Sglebius		basic_machine=m68000-hp
677290001Sglebius		;;
678290001Sglebius	hp9k3[2-9][0-9])
679290001Sglebius		basic_machine=m68k-hp
680290001Sglebius		;;
681290001Sglebius	hp9k6[0-9][0-9] | hp6[0-9][0-9])
682290001Sglebius		basic_machine=hppa1.0-hp
683290001Sglebius		;;
684290001Sglebius	hp9k7[0-79][0-9] | hp7[0-79][0-9])
685290001Sglebius		basic_machine=hppa1.1-hp
686290001Sglebius		;;
687290001Sglebius	hp9k78[0-9] | hp78[0-9])
688290001Sglebius		# FIXME: really hppa2.0-hp
689290001Sglebius		basic_machine=hppa1.1-hp
690290001Sglebius		;;
691290001Sglebius	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
692290001Sglebius		# FIXME: really hppa2.0-hp
693290001Sglebius		basic_machine=hppa1.1-hp
694290001Sglebius		;;
695290001Sglebius	hp9k8[0-9][13679] | hp8[0-9][13679])
696290001Sglebius		basic_machine=hppa1.1-hp
697290001Sglebius		;;
698290001Sglebius	hp9k8[0-9][0-9] | hp8[0-9][0-9])
699290001Sglebius		basic_machine=hppa1.0-hp
700290001Sglebius		;;
701290001Sglebius	hppa-next)
702290001Sglebius		os=-nextstep3
703290001Sglebius		;;
704290001Sglebius	hppaosf)
705290001Sglebius		basic_machine=hppa1.1-hp
706290001Sglebius		os=-osf
707290001Sglebius		;;
708290001Sglebius	hppro)
709290001Sglebius		basic_machine=hppa1.1-hp
710290001Sglebius		os=-proelf
711290001Sglebius		;;
712290001Sglebius	i370-ibm* | ibm*)
713290001Sglebius		basic_machine=i370-ibm
714290001Sglebius		;;
715290001Sglebius# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
716290001Sglebius	i*86v32)
717290001Sglebius		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
718290001Sglebius		os=-sysv32
719290001Sglebius		;;
720290001Sglebius	i*86v4*)
721290001Sglebius		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
722290001Sglebius		os=-sysv4
723290001Sglebius		;;
724290001Sglebius	i*86v)
725290001Sglebius		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
726290001Sglebius		os=-sysv
727290001Sglebius		;;
728290001Sglebius	i*86sol2)
729290001Sglebius		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
730290001Sglebius		os=-solaris2
731290001Sglebius		;;
732290001Sglebius	i386mach)
733290001Sglebius		basic_machine=i386-mach
734290001Sglebius		os=-mach
735290001Sglebius		;;
736290001Sglebius	i386-vsta | vsta)
737290001Sglebius		basic_machine=i386-unknown
738290001Sglebius		os=-vsta
739290001Sglebius		;;
740290001Sglebius	iris | iris4d)
741290001Sglebius		basic_machine=mips-sgi
742290001Sglebius		case $os in
743290001Sglebius		    -irix*)
744290001Sglebius			;;
745290001Sglebius		    *)
746290001Sglebius			os=-irix4
747290001Sglebius			;;
748290001Sglebius		esac
749290001Sglebius		;;
750290001Sglebius	isi68 | isi)
751290001Sglebius		basic_machine=m68k-isi
752290001Sglebius		os=-sysv
753290001Sglebius		;;
754290001Sglebius	m68knommu)
755290001Sglebius		basic_machine=m68k-unknown
756290001Sglebius		os=-linux
757290001Sglebius		;;
758290001Sglebius	m68knommu-*)
759290001Sglebius		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
760290001Sglebius		os=-linux
761290001Sglebius		;;
762290001Sglebius	m88k-omron*)
763290001Sglebius		basic_machine=m88k-omron
764290001Sglebius		;;
765290001Sglebius	magnum | m3230)
766290001Sglebius		basic_machine=mips-mips
767290001Sglebius		os=-sysv
768290001Sglebius		;;
769290001Sglebius	merlin)
770290001Sglebius		basic_machine=ns32k-utek
771290001Sglebius		os=-sysv
772290001Sglebius		;;
773290001Sglebius	microblaze)
774290001Sglebius		basic_machine=microblaze-xilinx
775290001Sglebius		;;
776290001Sglebius	mingw32)
777290001Sglebius		basic_machine=i386-pc
778290001Sglebius		os=-mingw32
779290001Sglebius		;;
780290001Sglebius	mingw32ce)
781290001Sglebius		basic_machine=arm-unknown
782290001Sglebius		os=-mingw32ce
783290001Sglebius		;;
784290001Sglebius	miniframe)
785290001Sglebius		basic_machine=m68000-convergent
786290001Sglebius		;;
787290001Sglebius	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
788290001Sglebius		basic_machine=m68k-atari
789290001Sglebius		os=-mint
790290001Sglebius		;;
791290001Sglebius	mips3*-*)
792290001Sglebius		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
793290001Sglebius		;;
794290001Sglebius	mips3*)
795290001Sglebius		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
796290001Sglebius		;;
797290001Sglebius	monitor)
798290001Sglebius		basic_machine=m68k-rom68k
799290001Sglebius		os=-coff
800290001Sglebius		;;
801290001Sglebius	morphos)
802290001Sglebius		basic_machine=powerpc-unknown
803290001Sglebius		os=-morphos
804290001Sglebius		;;
805290001Sglebius	msdos)
806290001Sglebius		basic_machine=i386-pc
807290001Sglebius		os=-msdos
808290001Sglebius		;;
809290001Sglebius	ms1-*)
810290001Sglebius		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
811290001Sglebius		;;
812290001Sglebius	mvs)
813290001Sglebius		basic_machine=i370-ibm
814290001Sglebius		os=-mvs
815290001Sglebius		;;
816290001Sglebius	ncr3000)
817290001Sglebius		basic_machine=i486-ncr
818290001Sglebius		os=-sysv4
819290001Sglebius		;;
820290001Sglebius	netbsd386)
821290001Sglebius		basic_machine=i386-unknown
822290001Sglebius		os=-netbsd
823290001Sglebius		;;
824290001Sglebius	netwinder)
825290001Sglebius		basic_machine=armv4l-rebel
826290001Sglebius		os=-linux
827290001Sglebius		;;
828290001Sglebius	news | news700 | news800 | news900)
829290001Sglebius		basic_machine=m68k-sony
830290001Sglebius		os=-newsos
831290001Sglebius		;;
832290001Sglebius	news1000)
833290001Sglebius		basic_machine=m68030-sony
834290001Sglebius		os=-newsos
835290001Sglebius		;;
836290001Sglebius	news-3600 | risc-news)
837290001Sglebius		basic_machine=mips-sony
838290001Sglebius		os=-newsos
839290001Sglebius		;;
840290001Sglebius	necv70)
841290001Sglebius		basic_machine=v70-nec
842290001Sglebius		os=-sysv
843290001Sglebius		;;
844290001Sglebius	next | m*-next )
845290001Sglebius		basic_machine=m68k-next
846290001Sglebius		case $os in
847290001Sglebius		    -nextstep* )
848290001Sglebius			;;
849290001Sglebius		    -ns2*)
850290001Sglebius		      os=-nextstep2
851290001Sglebius			;;
852290001Sglebius		    *)
853290001Sglebius		      os=-nextstep3
854290001Sglebius			;;
855290001Sglebius		esac
856290001Sglebius		;;
857290001Sglebius	nh3000)
858290001Sglebius		basic_machine=m68k-harris
859290001Sglebius		os=-cxux
860290001Sglebius		;;
861290001Sglebius	nh[45]000)
862290001Sglebius		basic_machine=m88k-harris
863290001Sglebius		os=-cxux
864290001Sglebius		;;
865290001Sglebius	nindy960)
866290001Sglebius		basic_machine=i960-intel
867290001Sglebius		os=-nindy
868290001Sglebius		;;
869290001Sglebius	mon960)
870290001Sglebius		basic_machine=i960-intel
871290001Sglebius		os=-mon960
872290001Sglebius		;;
873290001Sglebius	nonstopux)
874290001Sglebius		basic_machine=mips-compaq
875290001Sglebius		os=-nonstopux
876290001Sglebius		;;
877290001Sglebius	np1)
878290001Sglebius		basic_machine=np1-gould
879290001Sglebius		;;
880290001Sglebius	neo-tandem)
881290001Sglebius		basic_machine=neo-tandem
882290001Sglebius		;;
883290001Sglebius	nse-tandem)
884290001Sglebius		basic_machine=nse-tandem
885290001Sglebius		;;
886290001Sglebius	nsr-tandem)
887290001Sglebius		basic_machine=nsr-tandem
888290001Sglebius		;;
889290001Sglebius	op50n-* | op60c-*)
890290001Sglebius		basic_machine=hppa1.1-oki
891290001Sglebius		os=-proelf
892290001Sglebius		;;
893290001Sglebius	openrisc | openrisc-*)
894290001Sglebius		basic_machine=or32-unknown
895290001Sglebius		;;
896290001Sglebius	os400)
897290001Sglebius		basic_machine=powerpc-ibm
898290001Sglebius		os=-os400
899290001Sglebius		;;
900290001Sglebius	OSE68000 | ose68000)
901290001Sglebius		basic_machine=m68000-ericsson
902290001Sglebius		os=-ose
903290001Sglebius		;;
904290001Sglebius	os68k)
905290001Sglebius		basic_machine=m68k-none
906290001Sglebius		os=-os68k
907290001Sglebius		;;
908290001Sglebius	pa-hitachi)
909290001Sglebius		basic_machine=hppa1.1-hitachi
910290001Sglebius		os=-hiuxwe2
911290001Sglebius		;;
912290001Sglebius	paragon)
913290001Sglebius		basic_machine=i860-intel
914290001Sglebius		os=-osf
915290001Sglebius		;;
916290001Sglebius	parisc)
917290001Sglebius		basic_machine=hppa-unknown
918290001Sglebius		os=-linux
919290001Sglebius		;;
920290001Sglebius	parisc-*)
921290001Sglebius		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
922290001Sglebius		os=-linux
923290001Sglebius		;;
924290001Sglebius	pbd)
925290001Sglebius		basic_machine=sparc-tti
926290001Sglebius		;;
927290001Sglebius	pbb)
928290001Sglebius		basic_machine=m68k-tti
929290001Sglebius		;;
930290001Sglebius	pc532 | pc532-*)
931290001Sglebius		basic_machine=ns32k-pc532
932290001Sglebius		;;
933290001Sglebius	pc98)
934290001Sglebius		basic_machine=i386-pc
935290001Sglebius		;;
936290001Sglebius	pc98-*)
937290001Sglebius		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
938290001Sglebius		;;
939290001Sglebius	pentium | p5 | k5 | k6 | nexgen | viac3)
940290001Sglebius		basic_machine=i586-pc
941290001Sglebius		;;
942290001Sglebius	pentiumpro | p6 | 6x86 | athlon | athlon_*)
943290001Sglebius		basic_machine=i686-pc
944290001Sglebius		;;
945290001Sglebius	pentiumii | pentium2 | pentiumiii | pentium3)
946290001Sglebius		basic_machine=i686-pc
947290001Sglebius		;;
948290001Sglebius	pentium4)
949290001Sglebius		basic_machine=i786-pc
950290001Sglebius		;;
951290001Sglebius	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
952290001Sglebius		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
953290001Sglebius		;;
954290001Sglebius	pentiumpro-* | p6-* | 6x86-* | athlon-*)
955290001Sglebius		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
956290001Sglebius		;;
957290001Sglebius	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
958290001Sglebius		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
959290001Sglebius		;;
960290001Sglebius	pentium4-*)
961290001Sglebius		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
962290001Sglebius		;;
963290001Sglebius	pn)
964290001Sglebius		basic_machine=pn-gould
965290001Sglebius		;;
966290001Sglebius	power)	basic_machine=power-ibm
967290001Sglebius		;;
968290001Sglebius	ppc | ppcbe)	basic_machine=powerpc-unknown
969290001Sglebius		;;
970290001Sglebius	ppc-* | ppcbe-*)
971290001Sglebius		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
972290001Sglebius		;;
973290001Sglebius	ppcle | powerpclittle | ppc-le | powerpc-little)
974290001Sglebius		basic_machine=powerpcle-unknown
975290001Sglebius		;;
976290001Sglebius	ppcle-* | powerpclittle-*)
977290001Sglebius		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
978290001Sglebius		;;
979290001Sglebius	ppc64)	basic_machine=powerpc64-unknown
980290001Sglebius		;;
981290001Sglebius	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
982290001Sglebius		;;
983290001Sglebius	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
984290001Sglebius		basic_machine=powerpc64le-unknown
985290001Sglebius		;;
986290001Sglebius	ppc64le-* | powerpc64little-*)
987290001Sglebius		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
988290001Sglebius		;;
989290001Sglebius	ps2)
990290001Sglebius		basic_machine=i386-ibm
991290001Sglebius		;;
992290001Sglebius	pw32)
993290001Sglebius		basic_machine=i586-unknown
994290001Sglebius		os=-pw32
995290001Sglebius		;;
996290001Sglebius	rdos)
997290001Sglebius		basic_machine=i386-pc
998290001Sglebius		os=-rdos
999290001Sglebius		;;
1000290001Sglebius	rom68k)
1001290001Sglebius		basic_machine=m68k-rom68k
1002290001Sglebius		os=-coff
1003290001Sglebius		;;
1004290001Sglebius	rm[46]00)
1005290001Sglebius		basic_machine=mips-siemens
1006290001Sglebius		;;
1007290001Sglebius	rtpc | rtpc-*)
1008290001Sglebius		basic_machine=romp-ibm
1009290001Sglebius		;;
1010290001Sglebius	s390 | s390-*)
1011290001Sglebius		basic_machine=s390-ibm
1012290001Sglebius		;;
1013290001Sglebius	s390x | s390x-*)
1014290001Sglebius		basic_machine=s390x-ibm
1015290001Sglebius		;;
1016290001Sglebius	sa29200)
1017290001Sglebius		basic_machine=a29k-amd
1018290001Sglebius		os=-udi
1019290001Sglebius		;;
1020290001Sglebius	sb1)
1021290001Sglebius		basic_machine=mipsisa64sb1-unknown
1022290001Sglebius		;;
1023290001Sglebius	sb1el)
1024290001Sglebius		basic_machine=mipsisa64sb1el-unknown
1025290001Sglebius		;;
1026290001Sglebius	sde)
1027290001Sglebius		basic_machine=mipsisa32-sde
1028290001Sglebius		os=-elf
1029290001Sglebius		;;
1030290001Sglebius	sei)
1031290001Sglebius		basic_machine=mips-sei
1032290001Sglebius		os=-seiux
1033290001Sglebius		;;
1034290001Sglebius	sequent)
1035290001Sglebius		basic_machine=i386-sequent
1036290001Sglebius		;;
1037290001Sglebius	sh)
1038290001Sglebius		basic_machine=sh-hitachi
1039290001Sglebius		os=-hms
1040290001Sglebius		;;
1041290001Sglebius	sh5el)
1042290001Sglebius		basic_machine=sh5le-unknown
1043290001Sglebius		;;
1044290001Sglebius	sh64)
1045290001Sglebius		basic_machine=sh64-unknown
1046290001Sglebius		;;
1047290001Sglebius	sparclite-wrs | simso-wrs)
1048290001Sglebius		basic_machine=sparclite-wrs
1049290001Sglebius		os=-vxworks
1050290001Sglebius		;;
1051290001Sglebius	sps7)
1052290001Sglebius		basic_machine=m68k-bull
1053290001Sglebius		os=-sysv2
1054290001Sglebius		;;
1055290001Sglebius	spur)
1056290001Sglebius		basic_machine=spur-unknown
1057290001Sglebius		;;
1058290001Sglebius	st2000)
1059290001Sglebius		basic_machine=m68k-tandem
1060290001Sglebius		;;
1061290001Sglebius	stratus)
1062290001Sglebius		basic_machine=i860-stratus
1063290001Sglebius		os=-sysv4
1064290001Sglebius		;;
1065290001Sglebius	strongarm-* | thumb-*)
1066290001Sglebius		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1067290001Sglebius		;;
1068290001Sglebius	sun2)
1069290001Sglebius		basic_machine=m68000-sun
1070290001Sglebius		;;
1071290001Sglebius	sun2os3)
1072290001Sglebius		basic_machine=m68000-sun
1073290001Sglebius		os=-sunos3
1074290001Sglebius		;;
1075290001Sglebius	sun2os4)
1076290001Sglebius		basic_machine=m68000-sun
1077290001Sglebius		os=-sunos4
1078290001Sglebius		;;
1079290001Sglebius	sun3os3)
1080290001Sglebius		basic_machine=m68k-sun
1081290001Sglebius		os=-sunos3
1082290001Sglebius		;;
1083290001Sglebius	sun3os4)
1084290001Sglebius		basic_machine=m68k-sun
1085290001Sglebius		os=-sunos4
1086290001Sglebius		;;
1087290001Sglebius	sun4os3)
1088290001Sglebius		basic_machine=sparc-sun
1089290001Sglebius		os=-sunos3
1090290001Sglebius		;;
1091290001Sglebius	sun4os4)
1092290001Sglebius		basic_machine=sparc-sun
1093290001Sglebius		os=-sunos4
1094290001Sglebius		;;
1095290001Sglebius	sun4sol2)
1096290001Sglebius		basic_machine=sparc-sun
1097290001Sglebius		os=-solaris2
1098290001Sglebius		;;
1099290001Sglebius	sun3 | sun3-*)
1100290001Sglebius		basic_machine=m68k-sun
1101290001Sglebius		;;
1102290001Sglebius	sun4)
1103290001Sglebius		basic_machine=sparc-sun
1104290001Sglebius		;;
1105290001Sglebius	sun386 | sun386i | roadrunner)
1106290001Sglebius		basic_machine=i386-sun
1107290001Sglebius		;;
1108290001Sglebius	sv1)
1109290001Sglebius		basic_machine=sv1-cray
1110290001Sglebius		os=-unicos
1111290001Sglebius		;;
1112290001Sglebius	symmetry)
1113290001Sglebius		basic_machine=i386-sequent
1114290001Sglebius		os=-dynix
1115290001Sglebius		;;
1116290001Sglebius	t3e)
1117290001Sglebius		basic_machine=alphaev5-cray
1118290001Sglebius		os=-unicos
1119290001Sglebius		;;
1120290001Sglebius	t90)
1121290001Sglebius		basic_machine=t90-cray
1122290001Sglebius		os=-unicos
1123290001Sglebius		;;
1124290001Sglebius	tile*)
1125290001Sglebius		basic_machine=$basic_machine-unknown
1126290001Sglebius		os=-linux-gnu
1127290001Sglebius		;;
1128290001Sglebius	tx39)
1129290001Sglebius		basic_machine=mipstx39-unknown
1130290001Sglebius		;;
1131290001Sglebius	tx39el)
1132290001Sglebius		basic_machine=mipstx39el-unknown
1133290001Sglebius		;;
1134290001Sglebius	toad1)
1135290001Sglebius		basic_machine=pdp10-xkl
1136290001Sglebius		os=-tops20
1137290001Sglebius		;;
1138290001Sglebius	tower | tower-32)
1139290001Sglebius		basic_machine=m68k-ncr
1140290001Sglebius		;;
1141290001Sglebius	tpf)
1142290001Sglebius		basic_machine=s390x-ibm
1143290001Sglebius		os=-tpf
1144290001Sglebius		;;
1145290001Sglebius	udi29k)
1146290001Sglebius		basic_machine=a29k-amd
1147290001Sglebius		os=-udi
1148290001Sglebius		;;
1149290001Sglebius	ultra3)
1150290001Sglebius		basic_machine=a29k-nyu
1151290001Sglebius		os=-sym1
1152290001Sglebius		;;
1153290001Sglebius	v810 | necv810)
1154290001Sglebius		basic_machine=v810-nec
1155290001Sglebius		os=-none
1156290001Sglebius		;;
1157290001Sglebius	vaxv)
1158290001Sglebius		basic_machine=vax-dec
1159290001Sglebius		os=-sysv
1160290001Sglebius		;;
1161290001Sglebius	vms)
1162290001Sglebius		basic_machine=vax-dec
1163290001Sglebius		os=-vms
1164290001Sglebius		;;
1165290001Sglebius	vpp*|vx|vx-*)
1166290001Sglebius		basic_machine=f301-fujitsu
1167290001Sglebius		;;
1168290001Sglebius	vxworks960)
1169290001Sglebius		basic_machine=i960-wrs
1170290001Sglebius		os=-vxworks
1171290001Sglebius		;;
1172290001Sglebius	vxworks68)
1173290001Sglebius		basic_machine=m68k-wrs
1174290001Sglebius		os=-vxworks
1175290001Sglebius		;;
1176290001Sglebius	vxworks29k)
1177290001Sglebius		basic_machine=a29k-wrs
1178290001Sglebius		os=-vxworks
1179290001Sglebius		;;
1180290001Sglebius	w65*)
1181290001Sglebius		basic_machine=w65-wdc
1182290001Sglebius		os=-none
1183290001Sglebius		;;
1184290001Sglebius	w89k-*)
1185290001Sglebius		basic_machine=hppa1.1-winbond
1186290001Sglebius		os=-proelf
1187290001Sglebius		;;
1188290001Sglebius	xbox)
1189290001Sglebius		basic_machine=i686-pc
1190290001Sglebius		os=-mingw32
1191290001Sglebius		;;
1192290001Sglebius	xps | xps100)
1193290001Sglebius		basic_machine=xps100-honeywell
1194290001Sglebius		;;
1195290001Sglebius	xscale-* | xscalee[bl]-*)
1196290001Sglebius		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1197290001Sglebius		;;
1198290001Sglebius	ymp)
1199290001Sglebius		basic_machine=ymp-cray
1200290001Sglebius		os=-unicos
1201290001Sglebius		;;
1202290001Sglebius	z8k-*-coff)
1203290001Sglebius		basic_machine=z8k-unknown
1204290001Sglebius		os=-sim
1205290001Sglebius		;;
1206290001Sglebius	z80-*-coff)
1207290001Sglebius		basic_machine=z80-unknown
1208290001Sglebius		os=-sim
1209290001Sglebius		;;
1210290001Sglebius	none)
1211290001Sglebius		basic_machine=none-none
1212290001Sglebius		os=-none
1213290001Sglebius		;;
1214290001Sglebius
1215290001Sglebius# Here we handle the default manufacturer of certain CPU types.  It is in
1216290001Sglebius# some cases the only manufacturer, in others, it is the most popular.
1217290001Sglebius	w89k)
1218290001Sglebius		basic_machine=hppa1.1-winbond
1219290001Sglebius		;;
1220290001Sglebius	op50n)
1221290001Sglebius		basic_machine=hppa1.1-oki
1222290001Sglebius		;;
1223290001Sglebius	op60c)
1224290001Sglebius		basic_machine=hppa1.1-oki
1225290001Sglebius		;;
1226290001Sglebius	romp)
1227290001Sglebius		basic_machine=romp-ibm
1228290001Sglebius		;;
1229290001Sglebius	mmix)
1230290001Sglebius		basic_machine=mmix-knuth
1231290001Sglebius		;;
1232290001Sglebius	rs6000)
1233290001Sglebius		basic_machine=rs6000-ibm
1234290001Sglebius		;;
1235290001Sglebius	vax)
1236290001Sglebius		basic_machine=vax-dec
1237290001Sglebius		;;
1238290001Sglebius	pdp10)
1239290001Sglebius		# there are many clones, so DEC is not a safe bet
1240290001Sglebius		basic_machine=pdp10-unknown
1241290001Sglebius		;;
1242290001Sglebius	pdp11)
1243290001Sglebius		basic_machine=pdp11-dec
1244290001Sglebius		;;
1245290001Sglebius	we32k)
1246290001Sglebius		basic_machine=we32k-att
1247290001Sglebius		;;
1248290001Sglebius	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1249290001Sglebius		basic_machine=sh-unknown
1250290001Sglebius		;;
1251290001Sglebius	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1252290001Sglebius		basic_machine=sparc-sun
1253290001Sglebius		;;
1254290001Sglebius	cydra)
1255290001Sglebius		basic_machine=cydra-cydrome
1256290001Sglebius		;;
1257290001Sglebius	orion)
1258290001Sglebius		basic_machine=orion-highlevel
1259290001Sglebius		;;
1260290001Sglebius	orion105)
1261290001Sglebius		basic_machine=clipper-highlevel
1262290001Sglebius		;;
1263290001Sglebius	mac | mpw | mac-mpw)
1264290001Sglebius		basic_machine=m68k-apple
1265290001Sglebius		;;
1266290001Sglebius	pmac | pmac-mpw)
1267290001Sglebius		basic_machine=powerpc-apple
1268290001Sglebius		;;
1269290001Sglebius	*-unknown)
1270290001Sglebius		# Make sure to match an already-canonicalized machine name.
1271290001Sglebius		;;
1272290001Sglebius	*)
1273290001Sglebius		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1274290001Sglebius		exit 1
1275290001Sglebius		;;
1276290001Sglebiusesac
1277290001Sglebius
1278290001Sglebius# Here we canonicalize certain aliases for manufacturers.
1279290001Sglebiuscase $basic_machine in
1280290001Sglebius	*-digital*)
1281290001Sglebius		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1282290001Sglebius		;;
1283290001Sglebius	*-commodore*)
1284290001Sglebius		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1285290001Sglebius		;;
1286290001Sglebius	*)
1287290001Sglebius		;;
1288290001Sglebiusesac
1289290001Sglebius
1290290001Sglebius# Decode manufacturer-specific aliases for certain operating systems.
1291290001Sglebius
1292290001Sglebiusif [ x"$os" != x"" ]
1293290001Sglebiusthen
1294290001Sglebiuscase $os in
1295290001Sglebius	# First match some system type aliases
1296290001Sglebius	# that might get confused with valid system types.
1297290001Sglebius	# -solaris* is a basic system type, with this one exception.
1298290001Sglebius	-auroraux)
1299290001Sglebius		os=-auroraux
1300290001Sglebius		;;
1301290001Sglebius	-solaris1 | -solaris1.*)
1302290001Sglebius		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1303290001Sglebius		;;
1304290001Sglebius	-solaris)
1305290001Sglebius		os=-solaris2
1306290001Sglebius		;;
1307290001Sglebius	-svr4*)
1308290001Sglebius		os=-sysv4
1309290001Sglebius		;;
1310290001Sglebius	-unixware*)
1311290001Sglebius		os=-sysv4.2uw
1312290001Sglebius		;;
1313290001Sglebius	-gnu/linux*)
1314290001Sglebius		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1315290001Sglebius		;;
1316290001Sglebius	# First accept the basic system types.
1317290001Sglebius	# The portable systems comes first.
1318290001Sglebius	# Each alternative MUST END IN A *, to match a version number.
1319290001Sglebius	# -sysv* is not here because it comes later, after sysvr4.
1320290001Sglebius	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1321290001Sglebius	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1322290001Sglebius	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1323290001Sglebius	      | -sym* | -kopensolaris* \
1324290001Sglebius	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1325290001Sglebius	      | -aos* | -aros* \
1326290001Sglebius	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1327290001Sglebius	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1328290001Sglebius	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1329290001Sglebius	      | -openbsd* | -solidbsd* \
1330290001Sglebius	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1331290001Sglebius	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1332290001Sglebius	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1333290001Sglebius	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1334290001Sglebius	      | -chorusos* | -chorusrdb* | -cegcc* \
1335290001Sglebius	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1336290001Sglebius	      | -mingw32* | -linux-gnu* | -linux-android* \
1337290001Sglebius	      | -linux-newlib* | -linux-uclibc* \
1338290001Sglebius	      | -uxpv* | -beos* | -mpeix* | -udk* \
1339290001Sglebius	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1340290001Sglebius	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1341290001Sglebius	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1342290001Sglebius	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1343290001Sglebius	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1344290001Sglebius	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1345290001Sglebius	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1346290001Sglebius	# Remember, each alternative MUST END IN *, to match a version number.
1347290001Sglebius		;;
1348290001Sglebius	-qnx*)
1349290001Sglebius		case $basic_machine in
1350290001Sglebius		    x86-* | i*86-*)
1351290001Sglebius			;;
1352290001Sglebius		    *)
1353290001Sglebius			os=-nto$os
1354290001Sglebius			;;
1355290001Sglebius		esac
1356290001Sglebius		;;
1357290001Sglebius	-nto-qnx*)
1358290001Sglebius		;;
1359290001Sglebius	-nto*)
1360290001Sglebius		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1361290001Sglebius		;;
1362290001Sglebius	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1363290001Sglebius	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1364290001Sglebius	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1365290001Sglebius		;;
1366290001Sglebius	-mac*)
1367290001Sglebius		os=`echo $os | sed -e 's|mac|macos|'`
1368290001Sglebius		;;
1369290001Sglebius	-linux-dietlibc)
1370290001Sglebius		os=-linux-dietlibc
1371290001Sglebius		;;
1372290001Sglebius	-linux*)
1373290001Sglebius		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1374290001Sglebius		;;
1375290001Sglebius	-sunos5*)
1376290001Sglebius		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1377290001Sglebius		;;
1378290001Sglebius	-sunos6*)
1379290001Sglebius		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1380290001Sglebius		;;
1381290001Sglebius	-opened*)
1382290001Sglebius		os=-openedition
1383290001Sglebius		;;
1384290001Sglebius	-os400*)
1385290001Sglebius		os=-os400
1386290001Sglebius		;;
1387290001Sglebius	-wince*)
1388290001Sglebius		os=-wince
1389290001Sglebius		;;
1390290001Sglebius	-osfrose*)
1391290001Sglebius		os=-osfrose
1392290001Sglebius		;;
1393290001Sglebius	-osf*)
1394290001Sglebius		os=-osf
1395290001Sglebius		;;
1396290001Sglebius	-utek*)
1397290001Sglebius		os=-bsd
1398290001Sglebius		;;
1399290001Sglebius	-dynix*)
1400290001Sglebius		os=-bsd
1401290001Sglebius		;;
1402290001Sglebius	-acis*)
1403290001Sglebius		os=-aos
1404290001Sglebius		;;
1405290001Sglebius	-atheos*)
1406290001Sglebius		os=-atheos
1407290001Sglebius		;;
1408290001Sglebius	-syllable*)
1409290001Sglebius		os=-syllable
1410290001Sglebius		;;
1411290001Sglebius	-386bsd)
1412290001Sglebius		os=-bsd
1413290001Sglebius		;;
1414290001Sglebius	-ctix* | -uts*)
1415290001Sglebius		os=-sysv
1416290001Sglebius		;;
1417290001Sglebius	-nova*)
1418290001Sglebius		os=-rtmk-nova
1419290001Sglebius		;;
1420290001Sglebius	-ns2 )
1421290001Sglebius		os=-nextstep2
1422290001Sglebius		;;
1423290001Sglebius	-nsk*)
1424290001Sglebius		os=-nsk
1425290001Sglebius		;;
1426290001Sglebius	# Preserve the version number of sinix5.
1427290001Sglebius	-sinix5.*)
1428290001Sglebius		os=`echo $os | sed -e 's|sinix|sysv|'`
1429290001Sglebius		;;
1430290001Sglebius	-sinix*)
1431290001Sglebius		os=-sysv4
1432290001Sglebius		;;
1433290001Sglebius	-tpf*)
1434290001Sglebius		os=-tpf
1435290001Sglebius		;;
1436290001Sglebius	-triton*)
1437290001Sglebius		os=-sysv3
1438290001Sglebius		;;
1439290001Sglebius	-oss*)
1440290001Sglebius		os=-sysv3
1441290001Sglebius		;;
1442290001Sglebius	-svr4)
1443290001Sglebius		os=-sysv4
1444290001Sglebius		;;
1445290001Sglebius	-svr3)
1446290001Sglebius		os=-sysv3
1447290001Sglebius		;;
1448290001Sglebius	-sysvr4)
1449290001Sglebius		os=-sysv4
1450290001Sglebius		;;
1451290001Sglebius	# This must come after -sysvr4.
1452290001Sglebius	-sysv*)
1453290001Sglebius		;;
1454290001Sglebius	-ose*)
1455290001Sglebius		os=-ose
1456290001Sglebius		;;
1457290001Sglebius	-es1800*)
1458290001Sglebius		os=-ose
1459290001Sglebius		;;
1460290001Sglebius	-xenix)
1461290001Sglebius		os=-xenix
1462290001Sglebius		;;
1463290001Sglebius	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1464290001Sglebius		os=-mint
1465290001Sglebius		;;
1466290001Sglebius	-aros*)
1467290001Sglebius		os=-aros
1468290001Sglebius		;;
1469290001Sglebius	-kaos*)
1470290001Sglebius		os=-kaos
1471290001Sglebius		;;
1472290001Sglebius	-zvmoe)
1473290001Sglebius		os=-zvmoe
1474290001Sglebius		;;
1475290001Sglebius	-dicos*)
1476290001Sglebius		os=-dicos
1477290001Sglebius		;;
1478290001Sglebius	-nacl*)
1479290001Sglebius		;;
1480290001Sglebius	-none)
1481290001Sglebius		;;
1482290001Sglebius	*)
1483290001Sglebius		# Get rid of the `-' at the beginning of $os.
1484290001Sglebius		os=`echo $os | sed 's/[^-]*-//'`
1485290001Sglebius		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1486290001Sglebius		exit 1
1487290001Sglebius		;;
1488290001Sglebiusesac
1489290001Sglebiuselse
1490290001Sglebius
1491290001Sglebius# Here we handle the default operating systems that come with various machines.
1492290001Sglebius# The value should be what the vendor currently ships out the door with their
1493290001Sglebius# machine or put another way, the most popular os provided with the machine.
1494290001Sglebius
1495290001Sglebius# Note that if you're going to try to match "-MANUFACTURER" here (say,
1496290001Sglebius# "-sun"), then you have to tell the case statement up towards the top
1497290001Sglebius# that MANUFACTURER isn't an operating system.  Otherwise, code above
1498290001Sglebius# will signal an error saying that MANUFACTURER isn't an operating
1499290001Sglebius# system, and we'll never get to this point.
1500290001Sglebius
1501290001Sglebiuscase $basic_machine in
1502290001Sglebius	score-*)
1503290001Sglebius		os=-elf
1504290001Sglebius		;;
1505290001Sglebius	spu-*)
1506290001Sglebius		os=-elf
1507290001Sglebius		;;
1508290001Sglebius	*-acorn)
1509290001Sglebius		os=-riscix1.2
1510290001Sglebius		;;
1511290001Sglebius	arm*-rebel)
1512290001Sglebius		os=-linux
1513290001Sglebius		;;
1514290001Sglebius	arm*-semi)
1515290001Sglebius		os=-aout
1516290001Sglebius		;;
1517290001Sglebius	c4x-* | tic4x-*)
1518290001Sglebius		os=-coff
1519290001Sglebius		;;
1520290001Sglebius	tic54x-*)
1521290001Sglebius		os=-coff
1522290001Sglebius		;;
1523290001Sglebius	tic55x-*)
1524290001Sglebius		os=-coff
1525290001Sglebius		;;
1526290001Sglebius	tic6x-*)
1527290001Sglebius		os=-coff
1528290001Sglebius		;;
1529290001Sglebius	# This must come before the *-dec entry.
1530290001Sglebius	pdp10-*)
1531290001Sglebius		os=-tops20
1532290001Sglebius		;;
1533290001Sglebius	pdp11-*)
1534290001Sglebius		os=-none
1535290001Sglebius		;;
1536290001Sglebius	*-dec | vax-*)
1537290001Sglebius		os=-ultrix4.2
1538290001Sglebius		;;
1539290001Sglebius	m68*-apollo)
1540290001Sglebius		os=-domain
1541290001Sglebius		;;
1542290001Sglebius	i386-sun)
1543290001Sglebius		os=-sunos4.0.2
1544290001Sglebius		;;
1545290001Sglebius	m68000-sun)
1546290001Sglebius		os=-sunos3
1547290001Sglebius		# This also exists in the configure program, but was not the
1548290001Sglebius		# default.
1549290001Sglebius		# os=-sunos4
1550290001Sglebius		;;
1551290001Sglebius	m68*-cisco)
1552290001Sglebius		os=-aout
1553290001Sglebius		;;
1554290001Sglebius	mep-*)
1555290001Sglebius		os=-elf
1556290001Sglebius		;;
1557290001Sglebius	mips*-cisco)
1558290001Sglebius		os=-elf
1559290001Sglebius		;;
1560290001Sglebius	mips*-*)
1561290001Sglebius		os=-elf
1562290001Sglebius		;;
1563290001Sglebius	or32-*)
1564290001Sglebius		os=-coff
1565290001Sglebius		;;
1566290001Sglebius	*-tti)	# must be before sparc entry or we get the wrong os.
1567290001Sglebius		os=-sysv3
1568290001Sglebius		;;
1569290001Sglebius	sparc-* | *-sun)
1570290001Sglebius		os=-sunos4.1.1
1571290001Sglebius		;;
1572290001Sglebius	*-be)
1573290001Sglebius		os=-beos
1574290001Sglebius		;;
1575290001Sglebius	*-haiku)
1576290001Sglebius		os=-haiku
1577290001Sglebius		;;
1578290001Sglebius	*-ibm)
1579290001Sglebius		os=-aix
1580290001Sglebius		;;
1581290001Sglebius	*-knuth)
1582290001Sglebius		os=-mmixware
1583290001Sglebius		;;
1584290001Sglebius	*-wec)
1585290001Sglebius		os=-proelf
1586290001Sglebius		;;
1587290001Sglebius	*-winbond)
1588290001Sglebius		os=-proelf
1589290001Sglebius		;;
1590290001Sglebius	*-oki)
1591290001Sglebius		os=-proelf
1592290001Sglebius		;;
1593290001Sglebius	*-hp)
1594290001Sglebius		os=-hpux
1595290001Sglebius		;;
1596290001Sglebius	*-hitachi)
1597290001Sglebius		os=-hiux
1598290001Sglebius		;;
1599290001Sglebius	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1600290001Sglebius		os=-sysv
1601290001Sglebius		;;
1602290001Sglebius	*-cbm)
1603290001Sglebius		os=-amigaos
1604290001Sglebius		;;
1605290001Sglebius	*-dg)
1606290001Sglebius		os=-dgux
1607290001Sglebius		;;
1608290001Sglebius	*-dolphin)
1609290001Sglebius		os=-sysv3
1610290001Sglebius		;;
1611290001Sglebius	m68k-ccur)
1612290001Sglebius		os=-rtu
1613290001Sglebius		;;
1614290001Sglebius	m88k-omron*)
1615290001Sglebius		os=-luna
1616290001Sglebius		;;
1617290001Sglebius	*-next )
1618290001Sglebius		os=-nextstep
1619290001Sglebius		;;
1620290001Sglebius	*-sequent)
1621290001Sglebius		os=-ptx
1622290001Sglebius		;;
1623290001Sglebius	*-crds)
1624290001Sglebius		os=-unos
1625290001Sglebius		;;
1626290001Sglebius	*-ns)
1627290001Sglebius		os=-genix
1628290001Sglebius		;;
1629290001Sglebius	i370-*)
1630290001Sglebius		os=-mvs
1631290001Sglebius		;;
1632290001Sglebius	*-next)
1633290001Sglebius		os=-nextstep3
1634290001Sglebius		;;
1635290001Sglebius	*-gould)
1636290001Sglebius		os=-sysv
1637290001Sglebius		;;
1638290001Sglebius	*-highlevel)
1639290001Sglebius		os=-bsd
1640290001Sglebius		;;
1641290001Sglebius	*-encore)
1642290001Sglebius		os=-bsd
1643290001Sglebius		;;
1644290001Sglebius	*-sgi)
1645290001Sglebius		os=-irix
1646290001Sglebius		;;
1647290001Sglebius	*-siemens)
1648290001Sglebius		os=-sysv4
1649290001Sglebius		;;
1650290001Sglebius	*-masscomp)
1651290001Sglebius		os=-rtu
1652290001Sglebius		;;
1653290001Sglebius	f30[01]-fujitsu | f700-fujitsu)
1654290001Sglebius		os=-uxpv
1655290001Sglebius		;;
1656290001Sglebius	*-rom68k)
1657290001Sglebius		os=-coff
1658290001Sglebius		;;
1659290001Sglebius	*-*bug)
1660290001Sglebius		os=-coff
1661290001Sglebius		;;
1662290001Sglebius	*-apple)
1663290001Sglebius		os=-macos
1664290001Sglebius		;;
1665290001Sglebius	*-atari*)
1666290001Sglebius		os=-mint
1667290001Sglebius		;;
1668290001Sglebius	*)
1669290001Sglebius		os=-none
1670290001Sglebius		;;
1671290001Sglebiusesac
1672290001Sglebiusfi
1673290001Sglebius
1674290001Sglebius# Here we handle the case where we know the os, and the CPU type, but not the
1675290001Sglebius# manufacturer.  We pick the logical manufacturer.
1676290001Sglebiusvendor=unknown
1677290001Sglebiuscase $basic_machine in
1678290001Sglebius	*-unknown)
1679290001Sglebius		case $os in
1680290001Sglebius			-riscix*)
1681290001Sglebius				vendor=acorn
1682290001Sglebius				;;
1683290001Sglebius			-sunos*)
1684290001Sglebius				vendor=sun
1685290001Sglebius				;;
1686290001Sglebius			-cnk*|-aix*)
1687290001Sglebius				vendor=ibm
1688290001Sglebius				;;
1689290001Sglebius			-beos*)
1690290001Sglebius				vendor=be
1691290001Sglebius				;;
1692290001Sglebius			-hpux*)
1693290001Sglebius				vendor=hp
1694290001Sglebius				;;
1695290001Sglebius			-mpeix*)
1696290001Sglebius				vendor=hp
1697290001Sglebius				;;
1698290001Sglebius			-hiux*)
1699290001Sglebius				vendor=hitachi
1700290001Sglebius				;;
1701290001Sglebius			-unos*)
1702290001Sglebius				vendor=crds
1703290001Sglebius				;;
1704290001Sglebius			-dgux*)
1705290001Sglebius				vendor=dg
1706290001Sglebius				;;
1707290001Sglebius			-luna*)
1708290001Sglebius				vendor=omron
1709290001Sglebius				;;
1710290001Sglebius			-genix*)
1711290001Sglebius				vendor=ns
1712290001Sglebius				;;
1713290001Sglebius			-mvs* | -opened*)
1714290001Sglebius				vendor=ibm
1715290001Sglebius				;;
1716290001Sglebius			-os400*)
1717290001Sglebius				vendor=ibm
1718290001Sglebius				;;
1719290001Sglebius			-ptx*)
1720290001Sglebius				vendor=sequent
1721290001Sglebius				;;
1722290001Sglebius			-tpf*)
1723290001Sglebius				vendor=ibm
1724290001Sglebius				;;
1725290001Sglebius			-vxsim* | -vxworks* | -windiss*)
1726290001Sglebius				vendor=wrs
1727290001Sglebius				;;
1728290001Sglebius			-aux*)
1729290001Sglebius				vendor=apple
1730290001Sglebius				;;
1731290001Sglebius			-hms*)
1732290001Sglebius				vendor=hitachi
1733290001Sglebius				;;
1734290001Sglebius			-mpw* | -macos*)
1735290001Sglebius				vendor=apple
1736290001Sglebius				;;
1737290001Sglebius			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1738290001Sglebius				vendor=atari
1739290001Sglebius				;;
1740290001Sglebius			-vos*)
1741290001Sglebius				vendor=stratus
1742290001Sglebius				;;
1743290001Sglebius		esac
1744290001Sglebius		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1745290001Sglebius		;;
1746290001Sglebiusesac
1747290001Sglebius
1748290001Sglebiusecho $basic_machine$os
1749290001Sglebiusexit
1750290001Sglebius
1751290001Sglebius# Local variables:
1752290001Sglebius# eval: (add-hook 'write-file-hooks 'time-stamp)
1753290001Sglebius# time-stamp-start: "timestamp='"
1754290001Sglebius# time-stamp-format: "%:y-%02m-%02d"
1755290001Sglebius# time-stamp-end: "'"
1756290001Sglebius# End:
1757