config.sub revision 972599cf
1972599cfSmrg#! /bin/sh
2972599cfSmrg# Configuration validation subroutine script.
3972599cfSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4972599cfSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5972599cfSmrg#   2011 Free Software Foundation, Inc.
6972599cfSmrg
7972599cfSmrgtimestamp='2011-11-11'
8972599cfSmrg
9972599cfSmrg# This file is (in principle) common to ALL GNU software.
10972599cfSmrg# The presence of a machine in this file suggests that SOME GNU software
11972599cfSmrg# can handle that machine.  It does not imply ALL GNU software can.
12972599cfSmrg#
13972599cfSmrg# This file is free software; you can redistribute it and/or modify
14972599cfSmrg# it under the terms of the GNU General Public License as published by
15972599cfSmrg# the Free Software Foundation; either version 2 of the License, or
16972599cfSmrg# (at your option) any later version.
17972599cfSmrg#
18972599cfSmrg# This program is distributed in the hope that it will be useful,
19972599cfSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20972599cfSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21972599cfSmrg# GNU General Public License for more details.
22972599cfSmrg#
23972599cfSmrg# You should have received a copy of the GNU General Public License
24972599cfSmrg# along with this program; if not, write to the Free Software
25972599cfSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26972599cfSmrg# 02110-1301, USA.
27972599cfSmrg#
28972599cfSmrg# As a special exception to the GNU General Public License, if you
29972599cfSmrg# distribute this file as part of a program that contains a
30972599cfSmrg# configuration script generated by Autoconf, you may include it under
31972599cfSmrg# the same distribution terms that you use for the rest of that program.
32972599cfSmrg
33972599cfSmrg
34972599cfSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35972599cfSmrg# diff and a properly formatted GNU ChangeLog entry.
36972599cfSmrg#
37972599cfSmrg# Configuration subroutine to validate and canonicalize a configuration type.
38972599cfSmrg# Supply the specified configuration type as an argument.
39972599cfSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
40972599cfSmrg# Otherwise, we print the canonical config type on stdout and succeed.
41972599cfSmrg
42972599cfSmrg# You can get the latest version of this script from:
43972599cfSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44972599cfSmrg
45972599cfSmrg# This file is supposed to be the same for all GNU packages
46972599cfSmrg# and recognize all the CPU types, system types and aliases
47972599cfSmrg# that are meaningful with *any* GNU software.
48972599cfSmrg# Each package is responsible for reporting which valid configurations
49972599cfSmrg# it does not support.  The user should be able to distinguish
50972599cfSmrg# a failure to support a valid configuration from a meaningless
51972599cfSmrg# configuration.
52972599cfSmrg
53972599cfSmrg# The goal of this file is to map all the various variations of a given
54972599cfSmrg# machine specification into a single specification in the form:
55972599cfSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56972599cfSmrg# or in some cases, the newer four-part form:
57972599cfSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58972599cfSmrg# It is wrong to echo any other type of specification.
59972599cfSmrg
60972599cfSmrgme=`echo "$0" | sed -e 's,.*/,,'`
61972599cfSmrg
62972599cfSmrgusage="\
63972599cfSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64972599cfSmrg       $0 [OPTION] ALIAS
65972599cfSmrg
66972599cfSmrgCanonicalize a configuration name.
67972599cfSmrg
68972599cfSmrgOperation modes:
69972599cfSmrg  -h, --help         print this help, then exit
70972599cfSmrg  -t, --time-stamp   print date of last modification, then exit
71972599cfSmrg  -v, --version      print version number, then exit
72972599cfSmrg
73972599cfSmrgReport bugs and patches to <config-patches@gnu.org>."
74972599cfSmrg
75972599cfSmrgversion="\
76972599cfSmrgGNU config.sub ($timestamp)
77972599cfSmrg
78972599cfSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79972599cfSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
80972599cfSmrgSoftware Foundation, Inc.
81972599cfSmrg
82972599cfSmrgThis is free software; see the source for copying conditions.  There is NO
83972599cfSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84972599cfSmrg
85972599cfSmrghelp="
86972599cfSmrgTry \`$me --help' for more information."
87972599cfSmrg
88972599cfSmrg# Parse command line
89972599cfSmrgwhile test $# -gt 0 ; do
90972599cfSmrg  case $1 in
91972599cfSmrg    --time-stamp | --time* | -t )
92972599cfSmrg       echo "$timestamp" ; exit ;;
93972599cfSmrg    --version | -v )
94972599cfSmrg       echo "$version" ; exit ;;
95972599cfSmrg    --help | --h* | -h )
96972599cfSmrg       echo "$usage"; exit ;;
97972599cfSmrg    -- )     # Stop option processing
98972599cfSmrg       shift; break ;;
99972599cfSmrg    - )	# Use stdin as input.
100972599cfSmrg       break ;;
101972599cfSmrg    -* )
102972599cfSmrg       echo "$me: invalid option $1$help"
103972599cfSmrg       exit 1 ;;
104972599cfSmrg
105972599cfSmrg    *local*)
106972599cfSmrg       # First pass through any local machine types.
107972599cfSmrg       echo $1
108972599cfSmrg       exit ;;
109972599cfSmrg
110972599cfSmrg    * )
111972599cfSmrg       break ;;
112972599cfSmrg  esac
113972599cfSmrgdone
114972599cfSmrg
115972599cfSmrgcase $# in
116972599cfSmrg 0) echo "$me: missing argument$help" >&2
117972599cfSmrg    exit 1;;
118972599cfSmrg 1) ;;
119972599cfSmrg *) echo "$me: too many arguments$help" >&2
120972599cfSmrg    exit 1;;
121972599cfSmrgesac
122972599cfSmrg
123972599cfSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124972599cfSmrg# Here we must recognize all the valid KERNEL-OS combinations.
125972599cfSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126972599cfSmrgcase $maybe_os in
127972599cfSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128972599cfSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129972599cfSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130972599cfSmrg  kopensolaris*-gnu* | \
131972599cfSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
132972599cfSmrg    os=-$maybe_os
133972599cfSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134972599cfSmrg    ;;
135972599cfSmrg  *)
136972599cfSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137972599cfSmrg    if [ $basic_machine != $1 ]
138972599cfSmrg    then os=`echo $1 | sed 's/.*-/-/'`
139972599cfSmrg    else os=; fi
140972599cfSmrg    ;;
141972599cfSmrgesac
142972599cfSmrg
143972599cfSmrg### Let's recognize common machines as not being operating systems so
144972599cfSmrg### that things like config.sub decstation-3100 work.  We also
145972599cfSmrg### recognize some manufacturers as not being operating systems, so we
146972599cfSmrg### can provide default operating systems below.
147972599cfSmrgcase $os in
148972599cfSmrg	-sun*os*)
149972599cfSmrg		# Prevent following clause from handling this invalid input.
150972599cfSmrg		;;
151972599cfSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152972599cfSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153972599cfSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154972599cfSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155972599cfSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156972599cfSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157972599cfSmrg	-apple | -axis | -knuth | -cray | -microblaze)
158972599cfSmrg		os=
159972599cfSmrg		basic_machine=$1
160972599cfSmrg		;;
161972599cfSmrg	-bluegene*)
162972599cfSmrg		os=-cnk
163972599cfSmrg		;;
164972599cfSmrg	-sim | -cisco | -oki | -wec | -winbond)
165972599cfSmrg		os=
166972599cfSmrg		basic_machine=$1
167972599cfSmrg		;;
168972599cfSmrg	-scout)
169972599cfSmrg		;;
170972599cfSmrg	-wrs)
171972599cfSmrg		os=-vxworks
172972599cfSmrg		basic_machine=$1
173972599cfSmrg		;;
174972599cfSmrg	-chorusos*)
175972599cfSmrg		os=-chorusos
176972599cfSmrg		basic_machine=$1
177972599cfSmrg		;;
178972599cfSmrg	-chorusrdb)
179972599cfSmrg		os=-chorusrdb
180972599cfSmrg		basic_machine=$1
181972599cfSmrg		;;
182972599cfSmrg	-hiux*)
183972599cfSmrg		os=-hiuxwe2
184972599cfSmrg		;;
185972599cfSmrg	-sco6)
186972599cfSmrg		os=-sco5v6
187972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188972599cfSmrg		;;
189972599cfSmrg	-sco5)
190972599cfSmrg		os=-sco3.2v5
191972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192972599cfSmrg		;;
193972599cfSmrg	-sco4)
194972599cfSmrg		os=-sco3.2v4
195972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196972599cfSmrg		;;
197972599cfSmrg	-sco3.2.[4-9]*)
198972599cfSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200972599cfSmrg		;;
201972599cfSmrg	-sco3.2v[4-9]*)
202972599cfSmrg		# Don't forget version if it is 3.2v4 or newer.
203972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204972599cfSmrg		;;
205972599cfSmrg	-sco5v6*)
206972599cfSmrg		# Don't forget version if it is 3.2v4 or newer.
207972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208972599cfSmrg		;;
209972599cfSmrg	-sco*)
210972599cfSmrg		os=-sco3.2v2
211972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212972599cfSmrg		;;
213972599cfSmrg	-udk*)
214972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215972599cfSmrg		;;
216972599cfSmrg	-isc)
217972599cfSmrg		os=-isc2.2
218972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219972599cfSmrg		;;
220972599cfSmrg	-clix*)
221972599cfSmrg		basic_machine=clipper-intergraph
222972599cfSmrg		;;
223972599cfSmrg	-isc*)
224972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225972599cfSmrg		;;
226972599cfSmrg	-lynx*)
227972599cfSmrg		os=-lynxos
228972599cfSmrg		;;
229972599cfSmrg	-ptx*)
230972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231972599cfSmrg		;;
232972599cfSmrg	-windowsnt*)
233972599cfSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234972599cfSmrg		;;
235972599cfSmrg	-psos*)
236972599cfSmrg		os=-psos
237972599cfSmrg		;;
238972599cfSmrg	-mint | -mint[0-9]*)
239972599cfSmrg		basic_machine=m68k-atari
240972599cfSmrg		os=-mint
241972599cfSmrg		;;
242972599cfSmrgesac
243972599cfSmrg
244972599cfSmrg# Decode aliases for certain CPU-COMPANY combinations.
245972599cfSmrgcase $basic_machine in
246972599cfSmrg	# Recognize the basic CPU types without company name.
247972599cfSmrg	# Some are omitted here because they have special meanings below.
248972599cfSmrg	1750a | 580 \
249972599cfSmrg	| a29k \
250972599cfSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251972599cfSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252972599cfSmrg	| am33_2.0 \
253972599cfSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254972599cfSmrg        | be32 | be64 \
255972599cfSmrg	| bfin \
256972599cfSmrg	| c4x | clipper \
257972599cfSmrg	| d10v | d30v | dlx | dsp16xx \
258972599cfSmrg	| epiphany \
259972599cfSmrg	| fido | fr30 | frv \
260972599cfSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261972599cfSmrg	| hexagon \
262972599cfSmrg	| i370 | i860 | i960 | ia64 \
263972599cfSmrg	| ip2k | iq2000 \
264972599cfSmrg	| le32 | le64 \
265972599cfSmrg	| lm32 \
266972599cfSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267972599cfSmrg	| maxq | mb | microblaze | mcore | mep | metag \
268972599cfSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269972599cfSmrg	| mips16 \
270972599cfSmrg	| mips64 | mips64el \
271972599cfSmrg	| mips64octeon | mips64octeonel \
272972599cfSmrg	| mips64orion | mips64orionel \
273972599cfSmrg	| mips64r5900 | mips64r5900el \
274972599cfSmrg	| mips64vr | mips64vrel \
275972599cfSmrg	| mips64vr4100 | mips64vr4100el \
276972599cfSmrg	| mips64vr4300 | mips64vr4300el \
277972599cfSmrg	| mips64vr5000 | mips64vr5000el \
278972599cfSmrg	| mips64vr5900 | mips64vr5900el \
279972599cfSmrg	| mipsisa32 | mipsisa32el \
280972599cfSmrg	| mipsisa32r2 | mipsisa32r2el \
281972599cfSmrg	| mipsisa64 | mipsisa64el \
282972599cfSmrg	| mipsisa64r2 | mipsisa64r2el \
283972599cfSmrg	| mipsisa64sb1 | mipsisa64sb1el \
284972599cfSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
285972599cfSmrg	| mipstx39 | mipstx39el \
286972599cfSmrg	| mn10200 | mn10300 \
287972599cfSmrg	| moxie \
288972599cfSmrg	| mt \
289972599cfSmrg	| msp430 \
290972599cfSmrg	| nds32 | nds32le | nds32be \
291972599cfSmrg	| nios | nios2 \
292972599cfSmrg	| ns16k | ns32k \
293972599cfSmrg	| open8 \
294972599cfSmrg	| or32 \
295972599cfSmrg	| pdp10 | pdp11 | pj | pjl \
296972599cfSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297972599cfSmrg	| pyramid \
298972599cfSmrg	| rl78 | rx \
299972599cfSmrg	| score \
300972599cfSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301972599cfSmrg	| sh64 | sh64le \
302972599cfSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303972599cfSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304972599cfSmrg	| spu \
305972599cfSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306972599cfSmrg	| ubicom32 \
307972599cfSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308972599cfSmrg	| we32k \
309972599cfSmrg	| x86 | xc16x | xstormy16 | xtensa \
310972599cfSmrg	| z8k | z80)
311972599cfSmrg		basic_machine=$basic_machine-unknown
312972599cfSmrg		;;
313972599cfSmrg	c54x)
314972599cfSmrg		basic_machine=tic54x-unknown
315972599cfSmrg		;;
316972599cfSmrg	c55x)
317972599cfSmrg		basic_machine=tic55x-unknown
318972599cfSmrg		;;
319972599cfSmrg	c6x)
320972599cfSmrg		basic_machine=tic6x-unknown
321972599cfSmrg		;;
322972599cfSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323972599cfSmrg		# Motorola 68HC11/12.
324972599cfSmrg		basic_machine=$basic_machine-unknown
325972599cfSmrg		os=-none
326972599cfSmrg		;;
327972599cfSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
328972599cfSmrg		;;
329972599cfSmrg	ms1)
330972599cfSmrg		basic_machine=mt-unknown
331972599cfSmrg		;;
332972599cfSmrg
333972599cfSmrg	strongarm | thumb | xscale)
334972599cfSmrg		basic_machine=arm-unknown
335972599cfSmrg		;;
336972599cfSmrg
337972599cfSmrg	xscaleeb)
338972599cfSmrg		basic_machine=armeb-unknown
339972599cfSmrg		;;
340972599cfSmrg
341972599cfSmrg	xscaleel)
342972599cfSmrg		basic_machine=armel-unknown
343972599cfSmrg		;;
344972599cfSmrg
345972599cfSmrg	# We use `pc' rather than `unknown'
346972599cfSmrg	# because (1) that's what they normally are, and
347972599cfSmrg	# (2) the word "unknown" tends to confuse beginning users.
348972599cfSmrg	i*86 | x86_64)
349972599cfSmrg	  basic_machine=$basic_machine-pc
350972599cfSmrg	  ;;
351972599cfSmrg	# Object if more than one company name word.
352972599cfSmrg	*-*-*)
353972599cfSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
354972599cfSmrg		exit 1
355972599cfSmrg		;;
356972599cfSmrg	# Recognize the basic CPU types with company name.
357972599cfSmrg	580-* \
358972599cfSmrg	| a29k-* \
359972599cfSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
360972599cfSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
361972599cfSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
362972599cfSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
363972599cfSmrg	| avr-* | avr32-* \
364972599cfSmrg	| be32-* | be64-* \
365972599cfSmrg	| bfin-* | bs2000-* \
366972599cfSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
367972599cfSmrg	| clipper-* | craynv-* | cydra-* \
368972599cfSmrg	| d10v-* | d30v-* | dlx-* \
369972599cfSmrg	| elxsi-* \
370972599cfSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
371972599cfSmrg	| h8300-* | h8500-* \
372972599cfSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
373972599cfSmrg	| hexagon-* \
374972599cfSmrg	| i*86-* | i860-* | i960-* | ia64-* \
375972599cfSmrg	| ip2k-* | iq2000-* \
376972599cfSmrg	| le32-* | le64-* \
377972599cfSmrg	| lm32-* \
378972599cfSmrg	| m32c-* | m32r-* | m32rle-* \
379972599cfSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
380972599cfSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
381972599cfSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
382972599cfSmrg	| mips16-* \
383972599cfSmrg	| mips64-* | mips64el-* \
384972599cfSmrg	| mips64octeon-* | mips64octeonel-* \
385972599cfSmrg	| mips64orion-* | mips64orionel-* \
386972599cfSmrg	| mips64r5900-* | mips64r5900el-* \
387972599cfSmrg	| mips64vr-* | mips64vrel-* \
388972599cfSmrg	| mips64vr4100-* | mips64vr4100el-* \
389972599cfSmrg	| mips64vr4300-* | mips64vr4300el-* \
390972599cfSmrg	| mips64vr5000-* | mips64vr5000el-* \
391972599cfSmrg	| mips64vr5900-* | mips64vr5900el-* \
392972599cfSmrg	| mipsisa32-* | mipsisa32el-* \
393972599cfSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
394972599cfSmrg	| mipsisa64-* | mipsisa64el-* \
395972599cfSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
396972599cfSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
397972599cfSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
398972599cfSmrg	| mipstx39-* | mipstx39el-* \
399972599cfSmrg	| mmix-* \
400972599cfSmrg	| mt-* \
401972599cfSmrg	| msp430-* \
402972599cfSmrg	| nds32-* | nds32le-* | nds32be-* \
403972599cfSmrg	| nios-* | nios2-* \
404972599cfSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
405972599cfSmrg	| open8-* \
406972599cfSmrg	| orion-* \
407972599cfSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
408972599cfSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
409972599cfSmrg	| pyramid-* \
410972599cfSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
411972599cfSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
412972599cfSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
413972599cfSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
414972599cfSmrg	| sparclite-* \
415972599cfSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
416972599cfSmrg	| tahoe-* \
417972599cfSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
418972599cfSmrg	| tile*-* \
419972599cfSmrg	| tron-* \
420972599cfSmrg	| ubicom32-* \
421972599cfSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
422972599cfSmrg	| vax-* \
423972599cfSmrg	| we32k-* \
424972599cfSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425972599cfSmrg	| xstormy16-* | xtensa*-* \
426972599cfSmrg	| ymp-* \
427972599cfSmrg	| z8k-* | z80-*)
428972599cfSmrg		;;
429972599cfSmrg	# Recognize the basic CPU types without company name, with glob match.
430972599cfSmrg	xtensa*)
431972599cfSmrg		basic_machine=$basic_machine-unknown
432972599cfSmrg		;;
433972599cfSmrg	# Recognize the various machine names and aliases which stand
434972599cfSmrg	# for a CPU type and a company and sometimes even an OS.
435972599cfSmrg	386bsd)
436972599cfSmrg		basic_machine=i386-unknown
437972599cfSmrg		os=-bsd
438972599cfSmrg		;;
439972599cfSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
440972599cfSmrg		basic_machine=m68000-att
441972599cfSmrg		;;
442972599cfSmrg	3b*)
443972599cfSmrg		basic_machine=we32k-att
444972599cfSmrg		;;
445972599cfSmrg	a29khif)
446972599cfSmrg		basic_machine=a29k-amd
447972599cfSmrg		os=-udi
448972599cfSmrg		;;
449972599cfSmrg	abacus)
450972599cfSmrg		basic_machine=abacus-unknown
451972599cfSmrg		;;
452972599cfSmrg	adobe68k)
453972599cfSmrg		basic_machine=m68010-adobe
454972599cfSmrg		os=-scout
455972599cfSmrg		;;
456972599cfSmrg	alliant | fx80)
457972599cfSmrg		basic_machine=fx80-alliant
458972599cfSmrg		;;
459972599cfSmrg	altos | altos3068)
460972599cfSmrg		basic_machine=m68k-altos
461972599cfSmrg		;;
462972599cfSmrg	am29k)
463972599cfSmrg		basic_machine=a29k-none
464972599cfSmrg		os=-bsd
465972599cfSmrg		;;
466972599cfSmrg	amd64)
467972599cfSmrg		basic_machine=x86_64-pc
468972599cfSmrg		;;
469972599cfSmrg	amd64-*)
470972599cfSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
471972599cfSmrg		;;
472972599cfSmrg	amdahl)
473972599cfSmrg		basic_machine=580-amdahl
474972599cfSmrg		os=-sysv
475972599cfSmrg		;;
476972599cfSmrg	amiga | amiga-*)
477972599cfSmrg		basic_machine=m68k-unknown
478972599cfSmrg		;;
479972599cfSmrg	amigaos | amigados)
480972599cfSmrg		basic_machine=m68k-unknown
481972599cfSmrg		os=-amigaos
482972599cfSmrg		;;
483972599cfSmrg	amigaunix | amix)
484972599cfSmrg		basic_machine=m68k-unknown
485972599cfSmrg		os=-sysv4
486972599cfSmrg		;;
487972599cfSmrg	apollo68)
488972599cfSmrg		basic_machine=m68k-apollo
489972599cfSmrg		os=-sysv
490972599cfSmrg		;;
491972599cfSmrg	apollo68bsd)
492972599cfSmrg		basic_machine=m68k-apollo
493972599cfSmrg		os=-bsd
494972599cfSmrg		;;
495972599cfSmrg	aros)
496972599cfSmrg		basic_machine=i386-pc
497972599cfSmrg		os=-aros
498972599cfSmrg		;;
499972599cfSmrg	aux)
500972599cfSmrg		basic_machine=m68k-apple
501972599cfSmrg		os=-aux
502972599cfSmrg		;;
503972599cfSmrg	balance)
504972599cfSmrg		basic_machine=ns32k-sequent
505972599cfSmrg		os=-dynix
506972599cfSmrg		;;
507972599cfSmrg	blackfin)
508972599cfSmrg		basic_machine=bfin-unknown
509972599cfSmrg		os=-linux
510972599cfSmrg		;;
511972599cfSmrg	blackfin-*)
512972599cfSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513972599cfSmrg		os=-linux
514972599cfSmrg		;;
515972599cfSmrg	bluegene*)
516972599cfSmrg		basic_machine=powerpc-ibm
517972599cfSmrg		os=-cnk
518972599cfSmrg		;;
519972599cfSmrg	c54x-*)
520972599cfSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
521972599cfSmrg		;;
522972599cfSmrg	c55x-*)
523972599cfSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
524972599cfSmrg		;;
525972599cfSmrg	c6x-*)
526972599cfSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
527972599cfSmrg		;;
528972599cfSmrg	c90)
529972599cfSmrg		basic_machine=c90-cray
530972599cfSmrg		os=-unicos
531972599cfSmrg		;;
532972599cfSmrg	cegcc)
533972599cfSmrg		basic_machine=arm-unknown
534972599cfSmrg		os=-cegcc
535972599cfSmrg		;;
536972599cfSmrg	convex-c1)
537972599cfSmrg		basic_machine=c1-convex
538972599cfSmrg		os=-bsd
539972599cfSmrg		;;
540972599cfSmrg	convex-c2)
541972599cfSmrg		basic_machine=c2-convex
542972599cfSmrg		os=-bsd
543972599cfSmrg		;;
544972599cfSmrg	convex-c32)
545972599cfSmrg		basic_machine=c32-convex
546972599cfSmrg		os=-bsd
547972599cfSmrg		;;
548972599cfSmrg	convex-c34)
549972599cfSmrg		basic_machine=c34-convex
550972599cfSmrg		os=-bsd
551972599cfSmrg		;;
552972599cfSmrg	convex-c38)
553972599cfSmrg		basic_machine=c38-convex
554972599cfSmrg		os=-bsd
555972599cfSmrg		;;
556972599cfSmrg	cray | j90)
557972599cfSmrg		basic_machine=j90-cray
558972599cfSmrg		os=-unicos
559972599cfSmrg		;;
560972599cfSmrg	craynv)
561972599cfSmrg		basic_machine=craynv-cray
562972599cfSmrg		os=-unicosmp
563972599cfSmrg		;;
564972599cfSmrg	cr16 | cr16-*)
565972599cfSmrg		basic_machine=cr16-unknown
566972599cfSmrg		os=-elf
567972599cfSmrg		;;
568972599cfSmrg	crds | unos)
569972599cfSmrg		basic_machine=m68k-crds
570972599cfSmrg		;;
571972599cfSmrg	crisv32 | crisv32-* | etraxfs*)
572972599cfSmrg		basic_machine=crisv32-axis
573972599cfSmrg		;;
574972599cfSmrg	cris | cris-* | etrax*)
575972599cfSmrg		basic_machine=cris-axis
576972599cfSmrg		;;
577972599cfSmrg	crx)
578972599cfSmrg		basic_machine=crx-unknown
579972599cfSmrg		os=-elf
580972599cfSmrg		;;
581972599cfSmrg	da30 | da30-*)
582972599cfSmrg		basic_machine=m68k-da30
583972599cfSmrg		;;
584972599cfSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
585972599cfSmrg		basic_machine=mips-dec
586972599cfSmrg		;;
587972599cfSmrg	decsystem10* | dec10*)
588972599cfSmrg		basic_machine=pdp10-dec
589972599cfSmrg		os=-tops10
590972599cfSmrg		;;
591972599cfSmrg	decsystem20* | dec20*)
592972599cfSmrg		basic_machine=pdp10-dec
593972599cfSmrg		os=-tops20
594972599cfSmrg		;;
595972599cfSmrg	delta | 3300 | motorola-3300 | motorola-delta \
596972599cfSmrg	      | 3300-motorola | delta-motorola)
597972599cfSmrg		basic_machine=m68k-motorola
598972599cfSmrg		;;
599972599cfSmrg	delta88)
600972599cfSmrg		basic_machine=m88k-motorola
601972599cfSmrg		os=-sysv3
602972599cfSmrg		;;
603972599cfSmrg	dicos)
604972599cfSmrg		basic_machine=i686-pc
605972599cfSmrg		os=-dicos
606972599cfSmrg		;;
607972599cfSmrg	djgpp)
608972599cfSmrg		basic_machine=i586-pc
609972599cfSmrg		os=-msdosdjgpp
610972599cfSmrg		;;
611972599cfSmrg	dpx20 | dpx20-*)
612972599cfSmrg		basic_machine=rs6000-bull
613972599cfSmrg		os=-bosx
614972599cfSmrg		;;
615972599cfSmrg	dpx2* | dpx2*-bull)
616972599cfSmrg		basic_machine=m68k-bull
617972599cfSmrg		os=-sysv3
618972599cfSmrg		;;
619972599cfSmrg	ebmon29k)
620972599cfSmrg		basic_machine=a29k-amd
621972599cfSmrg		os=-ebmon
622972599cfSmrg		;;
623972599cfSmrg	elxsi)
624972599cfSmrg		basic_machine=elxsi-elxsi
625972599cfSmrg		os=-bsd
626972599cfSmrg		;;
627972599cfSmrg	encore | umax | mmax)
628972599cfSmrg		basic_machine=ns32k-encore
629972599cfSmrg		;;
630972599cfSmrg	es1800 | OSE68k | ose68k | ose | OSE)
631972599cfSmrg		basic_machine=m68k-ericsson
632972599cfSmrg		os=-ose
633972599cfSmrg		;;
634972599cfSmrg	fx2800)
635972599cfSmrg		basic_machine=i860-alliant
636972599cfSmrg		;;
637972599cfSmrg	genix)
638972599cfSmrg		basic_machine=ns32k-ns
639972599cfSmrg		;;
640972599cfSmrg	gmicro)
641972599cfSmrg		basic_machine=tron-gmicro
642972599cfSmrg		os=-sysv
643972599cfSmrg		;;
644972599cfSmrg	go32)
645972599cfSmrg		basic_machine=i386-pc
646972599cfSmrg		os=-go32
647972599cfSmrg		;;
648972599cfSmrg	h3050r* | hiux*)
649972599cfSmrg		basic_machine=hppa1.1-hitachi
650972599cfSmrg		os=-hiuxwe2
651972599cfSmrg		;;
652972599cfSmrg	h8300hms)
653972599cfSmrg		basic_machine=h8300-hitachi
654972599cfSmrg		os=-hms
655972599cfSmrg		;;
656972599cfSmrg	h8300xray)
657972599cfSmrg		basic_machine=h8300-hitachi
658972599cfSmrg		os=-xray
659972599cfSmrg		;;
660972599cfSmrg	h8500hms)
661972599cfSmrg		basic_machine=h8500-hitachi
662972599cfSmrg		os=-hms
663972599cfSmrg		;;
664972599cfSmrg	harris)
665972599cfSmrg		basic_machine=m88k-harris
666972599cfSmrg		os=-sysv3
667972599cfSmrg		;;
668972599cfSmrg	hp300-*)
669972599cfSmrg		basic_machine=m68k-hp
670972599cfSmrg		;;
671972599cfSmrg	hp300bsd)
672972599cfSmrg		basic_machine=m68k-hp
673972599cfSmrg		os=-bsd
674972599cfSmrg		;;
675972599cfSmrg	hp300hpux)
676972599cfSmrg		basic_machine=m68k-hp
677972599cfSmrg		os=-hpux
678972599cfSmrg		;;
679972599cfSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
680972599cfSmrg		basic_machine=hppa1.0-hp
681972599cfSmrg		;;
682972599cfSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
683972599cfSmrg		basic_machine=m68000-hp
684972599cfSmrg		;;
685972599cfSmrg	hp9k3[2-9][0-9])
686972599cfSmrg		basic_machine=m68k-hp
687972599cfSmrg		;;
688972599cfSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
689972599cfSmrg		basic_machine=hppa1.0-hp
690972599cfSmrg		;;
691972599cfSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
692972599cfSmrg		basic_machine=hppa1.1-hp
693972599cfSmrg		;;
694972599cfSmrg	hp9k78[0-9] | hp78[0-9])
695972599cfSmrg		# FIXME: really hppa2.0-hp
696972599cfSmrg		basic_machine=hppa1.1-hp
697972599cfSmrg		;;
698972599cfSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
699972599cfSmrg		# FIXME: really hppa2.0-hp
700972599cfSmrg		basic_machine=hppa1.1-hp
701972599cfSmrg		;;
702972599cfSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
703972599cfSmrg		basic_machine=hppa1.1-hp
704972599cfSmrg		;;
705972599cfSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
706972599cfSmrg		basic_machine=hppa1.0-hp
707972599cfSmrg		;;
708972599cfSmrg	hppa-next)
709972599cfSmrg		os=-nextstep3
710972599cfSmrg		;;
711972599cfSmrg	hppaosf)
712972599cfSmrg		basic_machine=hppa1.1-hp
713972599cfSmrg		os=-osf
714972599cfSmrg		;;
715972599cfSmrg	hppro)
716972599cfSmrg		basic_machine=hppa1.1-hp
717972599cfSmrg		os=-proelf
718972599cfSmrg		;;
719972599cfSmrg	i370-ibm* | ibm*)
720972599cfSmrg		basic_machine=i370-ibm
721972599cfSmrg		;;
722972599cfSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
723972599cfSmrg	i*86v32)
724972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
725972599cfSmrg		os=-sysv32
726972599cfSmrg		;;
727972599cfSmrg	i*86v4*)
728972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
729972599cfSmrg		os=-sysv4
730972599cfSmrg		;;
731972599cfSmrg	i*86v)
732972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
733972599cfSmrg		os=-sysv
734972599cfSmrg		;;
735972599cfSmrg	i*86sol2)
736972599cfSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
737972599cfSmrg		os=-solaris2
738972599cfSmrg		;;
739972599cfSmrg	i386mach)
740972599cfSmrg		basic_machine=i386-mach
741972599cfSmrg		os=-mach
742972599cfSmrg		;;
743972599cfSmrg	i386-vsta | vsta)
744972599cfSmrg		basic_machine=i386-unknown
745972599cfSmrg		os=-vsta
746972599cfSmrg		;;
747972599cfSmrg	iris | iris4d)
748972599cfSmrg		basic_machine=mips-sgi
749972599cfSmrg		case $os in
750972599cfSmrg		    -irix*)
751972599cfSmrg			;;
752972599cfSmrg		    *)
753972599cfSmrg			os=-irix4
754972599cfSmrg			;;
755972599cfSmrg		esac
756972599cfSmrg		;;
757972599cfSmrg	isi68 | isi)
758972599cfSmrg		basic_machine=m68k-isi
759972599cfSmrg		os=-sysv
760972599cfSmrg		;;
761972599cfSmrg	m68knommu)
762972599cfSmrg		basic_machine=m68k-unknown
763972599cfSmrg		os=-linux
764972599cfSmrg		;;
765972599cfSmrg	m68knommu-*)
766972599cfSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767972599cfSmrg		os=-linux
768972599cfSmrg		;;
769972599cfSmrg	m88k-omron*)
770972599cfSmrg		basic_machine=m88k-omron
771972599cfSmrg		;;
772972599cfSmrg	magnum | m3230)
773972599cfSmrg		basic_machine=mips-mips
774972599cfSmrg		os=-sysv
775972599cfSmrg		;;
776972599cfSmrg	merlin)
777972599cfSmrg		basic_machine=ns32k-utek
778972599cfSmrg		os=-sysv
779972599cfSmrg		;;
780972599cfSmrg	microblaze)
781972599cfSmrg		basic_machine=microblaze-xilinx
782972599cfSmrg		;;
783972599cfSmrg	mingw32)
784972599cfSmrg		basic_machine=i386-pc
785972599cfSmrg		os=-mingw32
786972599cfSmrg		;;
787972599cfSmrg	mingw32ce)
788972599cfSmrg		basic_machine=arm-unknown
789972599cfSmrg		os=-mingw32ce
790972599cfSmrg		;;
791972599cfSmrg	miniframe)
792972599cfSmrg		basic_machine=m68000-convergent
793972599cfSmrg		;;
794972599cfSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
795972599cfSmrg		basic_machine=m68k-atari
796972599cfSmrg		os=-mint
797972599cfSmrg		;;
798972599cfSmrg	mips3*-*)
799972599cfSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
800972599cfSmrg		;;
801972599cfSmrg	mips3*)
802972599cfSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
803972599cfSmrg		;;
804972599cfSmrg	monitor)
805972599cfSmrg		basic_machine=m68k-rom68k
806972599cfSmrg		os=-coff
807972599cfSmrg		;;
808972599cfSmrg	morphos)
809972599cfSmrg		basic_machine=powerpc-unknown
810972599cfSmrg		os=-morphos
811972599cfSmrg		;;
812972599cfSmrg	msdos)
813972599cfSmrg		basic_machine=i386-pc
814972599cfSmrg		os=-msdos
815972599cfSmrg		;;
816972599cfSmrg	ms1-*)
817972599cfSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
818972599cfSmrg		;;
819972599cfSmrg	msys)
820972599cfSmrg		basic_machine=i386-pc
821972599cfSmrg		os=-msys
822972599cfSmrg		;;
823972599cfSmrg	mvs)
824972599cfSmrg		basic_machine=i370-ibm
825972599cfSmrg		os=-mvs
826972599cfSmrg		;;
827972599cfSmrg	nacl)
828972599cfSmrg		basic_machine=le32-unknown
829972599cfSmrg		os=-nacl
830972599cfSmrg		;;
831972599cfSmrg	ncr3000)
832972599cfSmrg		basic_machine=i486-ncr
833972599cfSmrg		os=-sysv4
834972599cfSmrg		;;
835972599cfSmrg	netbsd386)
836972599cfSmrg		basic_machine=i386-unknown
837972599cfSmrg		os=-netbsd
838972599cfSmrg		;;
839972599cfSmrg	netwinder)
840972599cfSmrg		basic_machine=armv4l-rebel
841972599cfSmrg		os=-linux
842972599cfSmrg		;;
843972599cfSmrg	news | news700 | news800 | news900)
844972599cfSmrg		basic_machine=m68k-sony
845972599cfSmrg		os=-newsos
846972599cfSmrg		;;
847972599cfSmrg	news1000)
848972599cfSmrg		basic_machine=m68030-sony
849972599cfSmrg		os=-newsos
850972599cfSmrg		;;
851972599cfSmrg	news-3600 | risc-news)
852972599cfSmrg		basic_machine=mips-sony
853972599cfSmrg		os=-newsos
854972599cfSmrg		;;
855972599cfSmrg	necv70)
856972599cfSmrg		basic_machine=v70-nec
857972599cfSmrg		os=-sysv
858972599cfSmrg		;;
859972599cfSmrg	next | m*-next )
860972599cfSmrg		basic_machine=m68k-next
861972599cfSmrg		case $os in
862972599cfSmrg		    -nextstep* )
863972599cfSmrg			;;
864972599cfSmrg		    -ns2*)
865972599cfSmrg		      os=-nextstep2
866972599cfSmrg			;;
867972599cfSmrg		    *)
868972599cfSmrg		      os=-nextstep3
869972599cfSmrg			;;
870972599cfSmrg		esac
871972599cfSmrg		;;
872972599cfSmrg	nh3000)
873972599cfSmrg		basic_machine=m68k-harris
874972599cfSmrg		os=-cxux
875972599cfSmrg		;;
876972599cfSmrg	nh[45]000)
877972599cfSmrg		basic_machine=m88k-harris
878972599cfSmrg		os=-cxux
879972599cfSmrg		;;
880972599cfSmrg	nindy960)
881972599cfSmrg		basic_machine=i960-intel
882972599cfSmrg		os=-nindy
883972599cfSmrg		;;
884972599cfSmrg	mon960)
885972599cfSmrg		basic_machine=i960-intel
886972599cfSmrg		os=-mon960
887972599cfSmrg		;;
888972599cfSmrg	nonstopux)
889972599cfSmrg		basic_machine=mips-compaq
890972599cfSmrg		os=-nonstopux
891972599cfSmrg		;;
892972599cfSmrg	np1)
893972599cfSmrg		basic_machine=np1-gould
894972599cfSmrg		;;
895972599cfSmrg	neo-tandem)
896972599cfSmrg		basic_machine=neo-tandem
897972599cfSmrg		;;
898972599cfSmrg	nse-tandem)
899972599cfSmrg		basic_machine=nse-tandem
900972599cfSmrg		;;
901972599cfSmrg	nsr-tandem)
902972599cfSmrg		basic_machine=nsr-tandem
903972599cfSmrg		;;
904972599cfSmrg	op50n-* | op60c-*)
905972599cfSmrg		basic_machine=hppa1.1-oki
906972599cfSmrg		os=-proelf
907972599cfSmrg		;;
908972599cfSmrg	openrisc | openrisc-*)
909972599cfSmrg		basic_machine=or32-unknown
910972599cfSmrg		;;
911972599cfSmrg	os400)
912972599cfSmrg		basic_machine=powerpc-ibm
913972599cfSmrg		os=-os400
914972599cfSmrg		;;
915972599cfSmrg	OSE68000 | ose68000)
916972599cfSmrg		basic_machine=m68000-ericsson
917972599cfSmrg		os=-ose
918972599cfSmrg		;;
919972599cfSmrg	os68k)
920972599cfSmrg		basic_machine=m68k-none
921972599cfSmrg		os=-os68k
922972599cfSmrg		;;
923972599cfSmrg	pa-hitachi)
924972599cfSmrg		basic_machine=hppa1.1-hitachi
925972599cfSmrg		os=-hiuxwe2
926972599cfSmrg		;;
927972599cfSmrg	paragon)
928972599cfSmrg		basic_machine=i860-intel
929972599cfSmrg		os=-osf
930972599cfSmrg		;;
931972599cfSmrg	parisc)
932972599cfSmrg		basic_machine=hppa-unknown
933972599cfSmrg		os=-linux
934972599cfSmrg		;;
935972599cfSmrg	parisc-*)
936972599cfSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937972599cfSmrg		os=-linux
938972599cfSmrg		;;
939972599cfSmrg	pbd)
940972599cfSmrg		basic_machine=sparc-tti
941972599cfSmrg		;;
942972599cfSmrg	pbb)
943972599cfSmrg		basic_machine=m68k-tti
944972599cfSmrg		;;
945972599cfSmrg	pc532 | pc532-*)
946972599cfSmrg		basic_machine=ns32k-pc532
947972599cfSmrg		;;
948972599cfSmrg	pc98)
949972599cfSmrg		basic_machine=i386-pc
950972599cfSmrg		;;
951972599cfSmrg	pc98-*)
952972599cfSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
953972599cfSmrg		;;
954972599cfSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
955972599cfSmrg		basic_machine=i586-pc
956972599cfSmrg		;;
957972599cfSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
958972599cfSmrg		basic_machine=i686-pc
959972599cfSmrg		;;
960972599cfSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
961972599cfSmrg		basic_machine=i686-pc
962972599cfSmrg		;;
963972599cfSmrg	pentium4)
964972599cfSmrg		basic_machine=i786-pc
965972599cfSmrg		;;
966972599cfSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
967972599cfSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
968972599cfSmrg		;;
969972599cfSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
970972599cfSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
971972599cfSmrg		;;
972972599cfSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
973972599cfSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
974972599cfSmrg		;;
975972599cfSmrg	pentium4-*)
976972599cfSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
977972599cfSmrg		;;
978972599cfSmrg	pn)
979972599cfSmrg		basic_machine=pn-gould
980972599cfSmrg		;;
981972599cfSmrg	power)	basic_machine=power-ibm
982972599cfSmrg		;;
983972599cfSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
984972599cfSmrg		;;
985972599cfSmrg	ppc-* | ppcbe-*)
986972599cfSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
987972599cfSmrg		;;
988972599cfSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
989972599cfSmrg		basic_machine=powerpcle-unknown
990972599cfSmrg		;;
991972599cfSmrg	ppcle-* | powerpclittle-*)
992972599cfSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
993972599cfSmrg		;;
994972599cfSmrg	ppc64)	basic_machine=powerpc64-unknown
995972599cfSmrg		;;
996972599cfSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
997972599cfSmrg		;;
998972599cfSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
999972599cfSmrg		basic_machine=powerpc64le-unknown
1000972599cfSmrg		;;
1001972599cfSmrg	ppc64le-* | powerpc64little-*)
1002972599cfSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1003972599cfSmrg		;;
1004972599cfSmrg	ps2)
1005972599cfSmrg		basic_machine=i386-ibm
1006972599cfSmrg		;;
1007972599cfSmrg	pw32)
1008972599cfSmrg		basic_machine=i586-unknown
1009972599cfSmrg		os=-pw32
1010972599cfSmrg		;;
1011972599cfSmrg	rdos)
1012972599cfSmrg		basic_machine=i386-pc
1013972599cfSmrg		os=-rdos
1014972599cfSmrg		;;
1015972599cfSmrg	rom68k)
1016972599cfSmrg		basic_machine=m68k-rom68k
1017972599cfSmrg		os=-coff
1018972599cfSmrg		;;
1019972599cfSmrg	rm[46]00)
1020972599cfSmrg		basic_machine=mips-siemens
1021972599cfSmrg		;;
1022972599cfSmrg	rtpc | rtpc-*)
1023972599cfSmrg		basic_machine=romp-ibm
1024972599cfSmrg		;;
1025972599cfSmrg	s390 | s390-*)
1026972599cfSmrg		basic_machine=s390-ibm
1027972599cfSmrg		;;
1028972599cfSmrg	s390x | s390x-*)
1029972599cfSmrg		basic_machine=s390x-ibm
1030972599cfSmrg		;;
1031972599cfSmrg	sa29200)
1032972599cfSmrg		basic_machine=a29k-amd
1033972599cfSmrg		os=-udi
1034972599cfSmrg		;;
1035972599cfSmrg	sb1)
1036972599cfSmrg		basic_machine=mipsisa64sb1-unknown
1037972599cfSmrg		;;
1038972599cfSmrg	sb1el)
1039972599cfSmrg		basic_machine=mipsisa64sb1el-unknown
1040972599cfSmrg		;;
1041972599cfSmrg	sde)
1042972599cfSmrg		basic_machine=mipsisa32-sde
1043972599cfSmrg		os=-elf
1044972599cfSmrg		;;
1045972599cfSmrg	sei)
1046972599cfSmrg		basic_machine=mips-sei
1047972599cfSmrg		os=-seiux
1048972599cfSmrg		;;
1049972599cfSmrg	sequent)
1050972599cfSmrg		basic_machine=i386-sequent
1051972599cfSmrg		;;
1052972599cfSmrg	sh)
1053972599cfSmrg		basic_machine=sh-hitachi
1054972599cfSmrg		os=-hms
1055972599cfSmrg		;;
1056972599cfSmrg	sh5el)
1057972599cfSmrg		basic_machine=sh5le-unknown
1058972599cfSmrg		;;
1059972599cfSmrg	sh64)
1060972599cfSmrg		basic_machine=sh64-unknown
1061972599cfSmrg		;;
1062972599cfSmrg	sparclite-wrs | simso-wrs)
1063972599cfSmrg		basic_machine=sparclite-wrs
1064972599cfSmrg		os=-vxworks
1065972599cfSmrg		;;
1066972599cfSmrg	sps7)
1067972599cfSmrg		basic_machine=m68k-bull
1068972599cfSmrg		os=-sysv2
1069972599cfSmrg		;;
1070972599cfSmrg	spur)
1071972599cfSmrg		basic_machine=spur-unknown
1072972599cfSmrg		;;
1073972599cfSmrg	st2000)
1074972599cfSmrg		basic_machine=m68k-tandem
1075972599cfSmrg		;;
1076972599cfSmrg	stratus)
1077972599cfSmrg		basic_machine=i860-stratus
1078972599cfSmrg		os=-sysv4
1079972599cfSmrg		;;
1080972599cfSmrg	strongarm-* | thumb-*)
1081972599cfSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1082972599cfSmrg		;;
1083972599cfSmrg	sun2)
1084972599cfSmrg		basic_machine=m68000-sun
1085972599cfSmrg		;;
1086972599cfSmrg	sun2os3)
1087972599cfSmrg		basic_machine=m68000-sun
1088972599cfSmrg		os=-sunos3
1089972599cfSmrg		;;
1090972599cfSmrg	sun2os4)
1091972599cfSmrg		basic_machine=m68000-sun
1092972599cfSmrg		os=-sunos4
1093972599cfSmrg		;;
1094972599cfSmrg	sun3os3)
1095972599cfSmrg		basic_machine=m68k-sun
1096972599cfSmrg		os=-sunos3
1097972599cfSmrg		;;
1098972599cfSmrg	sun3os4)
1099972599cfSmrg		basic_machine=m68k-sun
1100972599cfSmrg		os=-sunos4
1101972599cfSmrg		;;
1102972599cfSmrg	sun4os3)
1103972599cfSmrg		basic_machine=sparc-sun
1104972599cfSmrg		os=-sunos3
1105972599cfSmrg		;;
1106972599cfSmrg	sun4os4)
1107972599cfSmrg		basic_machine=sparc-sun
1108972599cfSmrg		os=-sunos4
1109972599cfSmrg		;;
1110972599cfSmrg	sun4sol2)
1111972599cfSmrg		basic_machine=sparc-sun
1112972599cfSmrg		os=-solaris2
1113972599cfSmrg		;;
1114972599cfSmrg	sun3 | sun3-*)
1115972599cfSmrg		basic_machine=m68k-sun
1116972599cfSmrg		;;
1117972599cfSmrg	sun4)
1118972599cfSmrg		basic_machine=sparc-sun
1119972599cfSmrg		;;
1120972599cfSmrg	sun386 | sun386i | roadrunner)
1121972599cfSmrg		basic_machine=i386-sun
1122972599cfSmrg		;;
1123972599cfSmrg	sv1)
1124972599cfSmrg		basic_machine=sv1-cray
1125972599cfSmrg		os=-unicos
1126972599cfSmrg		;;
1127972599cfSmrg	symmetry)
1128972599cfSmrg		basic_machine=i386-sequent
1129972599cfSmrg		os=-dynix
1130972599cfSmrg		;;
1131972599cfSmrg	t3e)
1132972599cfSmrg		basic_machine=alphaev5-cray
1133972599cfSmrg		os=-unicos
1134972599cfSmrg		;;
1135972599cfSmrg	t90)
1136972599cfSmrg		basic_machine=t90-cray
1137972599cfSmrg		os=-unicos
1138972599cfSmrg		;;
1139972599cfSmrg	tile*)
1140972599cfSmrg		basic_machine=$basic_machine-unknown
1141972599cfSmrg		os=-linux-gnu
1142972599cfSmrg		;;
1143972599cfSmrg	tx39)
1144972599cfSmrg		basic_machine=mipstx39-unknown
1145972599cfSmrg		;;
1146972599cfSmrg	tx39el)
1147972599cfSmrg		basic_machine=mipstx39el-unknown
1148972599cfSmrg		;;
1149972599cfSmrg	toad1)
1150972599cfSmrg		basic_machine=pdp10-xkl
1151972599cfSmrg		os=-tops20
1152972599cfSmrg		;;
1153972599cfSmrg	tower | tower-32)
1154972599cfSmrg		basic_machine=m68k-ncr
1155972599cfSmrg		;;
1156972599cfSmrg	tpf)
1157972599cfSmrg		basic_machine=s390x-ibm
1158972599cfSmrg		os=-tpf
1159972599cfSmrg		;;
1160972599cfSmrg	udi29k)
1161972599cfSmrg		basic_machine=a29k-amd
1162972599cfSmrg		os=-udi
1163972599cfSmrg		;;
1164972599cfSmrg	ultra3)
1165972599cfSmrg		basic_machine=a29k-nyu
1166972599cfSmrg		os=-sym1
1167972599cfSmrg		;;
1168972599cfSmrg	v810 | necv810)
1169972599cfSmrg		basic_machine=v810-nec
1170972599cfSmrg		os=-none
1171972599cfSmrg		;;
1172972599cfSmrg	vaxv)
1173972599cfSmrg		basic_machine=vax-dec
1174972599cfSmrg		os=-sysv
1175972599cfSmrg		;;
1176972599cfSmrg	vms)
1177972599cfSmrg		basic_machine=vax-dec
1178972599cfSmrg		os=-vms
1179972599cfSmrg		;;
1180972599cfSmrg	vpp*|vx|vx-*)
1181972599cfSmrg		basic_machine=f301-fujitsu
1182972599cfSmrg		;;
1183972599cfSmrg	vxworks960)
1184972599cfSmrg		basic_machine=i960-wrs
1185972599cfSmrg		os=-vxworks
1186972599cfSmrg		;;
1187972599cfSmrg	vxworks68)
1188972599cfSmrg		basic_machine=m68k-wrs
1189972599cfSmrg		os=-vxworks
1190972599cfSmrg		;;
1191972599cfSmrg	vxworks29k)
1192972599cfSmrg		basic_machine=a29k-wrs
1193972599cfSmrg		os=-vxworks
1194972599cfSmrg		;;
1195972599cfSmrg	w65*)
1196972599cfSmrg		basic_machine=w65-wdc
1197972599cfSmrg		os=-none
1198972599cfSmrg		;;
1199972599cfSmrg	w89k-*)
1200972599cfSmrg		basic_machine=hppa1.1-winbond
1201972599cfSmrg		os=-proelf
1202972599cfSmrg		;;
1203972599cfSmrg	xbox)
1204972599cfSmrg		basic_machine=i686-pc
1205972599cfSmrg		os=-mingw32
1206972599cfSmrg		;;
1207972599cfSmrg	xps | xps100)
1208972599cfSmrg		basic_machine=xps100-honeywell
1209972599cfSmrg		;;
1210972599cfSmrg	xscale-* | xscalee[bl]-*)
1211972599cfSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1212972599cfSmrg		;;
1213972599cfSmrg	ymp)
1214972599cfSmrg		basic_machine=ymp-cray
1215972599cfSmrg		os=-unicos
1216972599cfSmrg		;;
1217972599cfSmrg	z8k-*-coff)
1218972599cfSmrg		basic_machine=z8k-unknown
1219972599cfSmrg		os=-sim
1220972599cfSmrg		;;
1221972599cfSmrg	z80-*-coff)
1222972599cfSmrg		basic_machine=z80-unknown
1223972599cfSmrg		os=-sim
1224972599cfSmrg		;;
1225972599cfSmrg	none)
1226972599cfSmrg		basic_machine=none-none
1227972599cfSmrg		os=-none
1228972599cfSmrg		;;
1229972599cfSmrg
1230972599cfSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
1231972599cfSmrg# some cases the only manufacturer, in others, it is the most popular.
1232972599cfSmrg	w89k)
1233972599cfSmrg		basic_machine=hppa1.1-winbond
1234972599cfSmrg		;;
1235972599cfSmrg	op50n)
1236972599cfSmrg		basic_machine=hppa1.1-oki
1237972599cfSmrg		;;
1238972599cfSmrg	op60c)
1239972599cfSmrg		basic_machine=hppa1.1-oki
1240972599cfSmrg		;;
1241972599cfSmrg	romp)
1242972599cfSmrg		basic_machine=romp-ibm
1243972599cfSmrg		;;
1244972599cfSmrg	mmix)
1245972599cfSmrg		basic_machine=mmix-knuth
1246972599cfSmrg		;;
1247972599cfSmrg	rs6000)
1248972599cfSmrg		basic_machine=rs6000-ibm
1249972599cfSmrg		;;
1250972599cfSmrg	vax)
1251972599cfSmrg		basic_machine=vax-dec
1252972599cfSmrg		;;
1253972599cfSmrg	pdp10)
1254972599cfSmrg		# there are many clones, so DEC is not a safe bet
1255972599cfSmrg		basic_machine=pdp10-unknown
1256972599cfSmrg		;;
1257972599cfSmrg	pdp11)
1258972599cfSmrg		basic_machine=pdp11-dec
1259972599cfSmrg		;;
1260972599cfSmrg	we32k)
1261972599cfSmrg		basic_machine=we32k-att
1262972599cfSmrg		;;
1263972599cfSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1264972599cfSmrg		basic_machine=sh-unknown
1265972599cfSmrg		;;
1266972599cfSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1267972599cfSmrg		basic_machine=sparc-sun
1268972599cfSmrg		;;
1269972599cfSmrg	cydra)
1270972599cfSmrg		basic_machine=cydra-cydrome
1271972599cfSmrg		;;
1272972599cfSmrg	orion)
1273972599cfSmrg		basic_machine=orion-highlevel
1274972599cfSmrg		;;
1275972599cfSmrg	orion105)
1276972599cfSmrg		basic_machine=clipper-highlevel
1277972599cfSmrg		;;
1278972599cfSmrg	mac | mpw | mac-mpw)
1279972599cfSmrg		basic_machine=m68k-apple
1280972599cfSmrg		;;
1281972599cfSmrg	pmac | pmac-mpw)
1282972599cfSmrg		basic_machine=powerpc-apple
1283972599cfSmrg		;;
1284972599cfSmrg	*-unknown)
1285972599cfSmrg		# Make sure to match an already-canonicalized machine name.
1286972599cfSmrg		;;
1287972599cfSmrg	*)
1288972599cfSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1289972599cfSmrg		exit 1
1290972599cfSmrg		;;
1291972599cfSmrgesac
1292972599cfSmrg
1293972599cfSmrg# Here we canonicalize certain aliases for manufacturers.
1294972599cfSmrgcase $basic_machine in
1295972599cfSmrg	*-digital*)
1296972599cfSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1297972599cfSmrg		;;
1298972599cfSmrg	*-commodore*)
1299972599cfSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1300972599cfSmrg		;;
1301972599cfSmrg	*)
1302972599cfSmrg		;;
1303972599cfSmrgesac
1304972599cfSmrg
1305972599cfSmrg# Decode manufacturer-specific aliases for certain operating systems.
1306972599cfSmrg
1307972599cfSmrgif [ x"$os" != x"" ]
1308972599cfSmrgthen
1309972599cfSmrgcase $os in
1310972599cfSmrg	# First match some system type aliases
1311972599cfSmrg	# that might get confused with valid system types.
1312972599cfSmrg	# -solaris* is a basic system type, with this one exception.
1313972599cfSmrg	-auroraux)
1314972599cfSmrg		os=-auroraux
1315972599cfSmrg		;;
1316972599cfSmrg	-solaris1 | -solaris1.*)
1317972599cfSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1318972599cfSmrg		;;
1319972599cfSmrg	-solaris)
1320972599cfSmrg		os=-solaris2
1321972599cfSmrg		;;
1322972599cfSmrg	-svr4*)
1323972599cfSmrg		os=-sysv4
1324972599cfSmrg		;;
1325972599cfSmrg	-unixware*)
1326972599cfSmrg		os=-sysv4.2uw
1327972599cfSmrg		;;
1328972599cfSmrg	-gnu/linux*)
1329972599cfSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1330972599cfSmrg		;;
1331972599cfSmrg	# First accept the basic system types.
1332972599cfSmrg	# The portable systems comes first.
1333972599cfSmrg	# Each alternative MUST END IN A *, to match a version number.
1334972599cfSmrg	# -sysv* is not here because it comes later, after sysvr4.
1335972599cfSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1336972599cfSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1337972599cfSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1338972599cfSmrg	      | -sym* | -kopensolaris* \
1339972599cfSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1340972599cfSmrg	      | -aos* | -aros* \
1341972599cfSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1342972599cfSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1343972599cfSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1344972599cfSmrg	      | -openbsd* | -solidbsd* \
1345972599cfSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1346972599cfSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1347972599cfSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1348972599cfSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1349972599cfSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1350972599cfSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1351972599cfSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1352972599cfSmrg	      | -linux-newlib* | -linux-uclibc* \
1353972599cfSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1354972599cfSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1355972599cfSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1356972599cfSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1357972599cfSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1358972599cfSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1359972599cfSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1360972599cfSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1361972599cfSmrg	# Remember, each alternative MUST END IN *, to match a version number.
1362972599cfSmrg		;;
1363972599cfSmrg	-qnx*)
1364972599cfSmrg		case $basic_machine in
1365972599cfSmrg		    x86-* | i*86-*)
1366972599cfSmrg			;;
1367972599cfSmrg		    *)
1368972599cfSmrg			os=-nto$os
1369972599cfSmrg			;;
1370972599cfSmrg		esac
1371972599cfSmrg		;;
1372972599cfSmrg	-nto-qnx*)
1373972599cfSmrg		;;
1374972599cfSmrg	-nto*)
1375972599cfSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1376972599cfSmrg		;;
1377972599cfSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1378972599cfSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1379972599cfSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1380972599cfSmrg		;;
1381972599cfSmrg	-mac*)
1382972599cfSmrg		os=`echo $os | sed -e 's|mac|macos|'`
1383972599cfSmrg		;;
1384972599cfSmrg	-linux-dietlibc)
1385972599cfSmrg		os=-linux-dietlibc
1386972599cfSmrg		;;
1387972599cfSmrg	-linux*)
1388972599cfSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1389972599cfSmrg		;;
1390972599cfSmrg	-sunos5*)
1391972599cfSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1392972599cfSmrg		;;
1393972599cfSmrg	-sunos6*)
1394972599cfSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1395972599cfSmrg		;;
1396972599cfSmrg	-opened*)
1397972599cfSmrg		os=-openedition
1398972599cfSmrg		;;
1399972599cfSmrg	-os400*)
1400972599cfSmrg		os=-os400
1401972599cfSmrg		;;
1402972599cfSmrg	-wince*)
1403972599cfSmrg		os=-wince
1404972599cfSmrg		;;
1405972599cfSmrg	-osfrose*)
1406972599cfSmrg		os=-osfrose
1407972599cfSmrg		;;
1408972599cfSmrg	-osf*)
1409972599cfSmrg		os=-osf
1410972599cfSmrg		;;
1411972599cfSmrg	-utek*)
1412972599cfSmrg		os=-bsd
1413972599cfSmrg		;;
1414972599cfSmrg	-dynix*)
1415972599cfSmrg		os=-bsd
1416972599cfSmrg		;;
1417972599cfSmrg	-acis*)
1418972599cfSmrg		os=-aos
1419972599cfSmrg		;;
1420972599cfSmrg	-atheos*)
1421972599cfSmrg		os=-atheos
1422972599cfSmrg		;;
1423972599cfSmrg	-syllable*)
1424972599cfSmrg		os=-syllable
1425972599cfSmrg		;;
1426972599cfSmrg	-386bsd)
1427972599cfSmrg		os=-bsd
1428972599cfSmrg		;;
1429972599cfSmrg	-ctix* | -uts*)
1430972599cfSmrg		os=-sysv
1431972599cfSmrg		;;
1432972599cfSmrg	-nova*)
1433972599cfSmrg		os=-rtmk-nova
1434972599cfSmrg		;;
1435972599cfSmrg	-ns2 )
1436972599cfSmrg		os=-nextstep2
1437972599cfSmrg		;;
1438972599cfSmrg	-nsk*)
1439972599cfSmrg		os=-nsk
1440972599cfSmrg		;;
1441972599cfSmrg	# Preserve the version number of sinix5.
1442972599cfSmrg	-sinix5.*)
1443972599cfSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1444972599cfSmrg		;;
1445972599cfSmrg	-sinix*)
1446972599cfSmrg		os=-sysv4
1447972599cfSmrg		;;
1448972599cfSmrg	-tpf*)
1449972599cfSmrg		os=-tpf
1450972599cfSmrg		;;
1451972599cfSmrg	-triton*)
1452972599cfSmrg		os=-sysv3
1453972599cfSmrg		;;
1454972599cfSmrg	-oss*)
1455972599cfSmrg		os=-sysv3
1456972599cfSmrg		;;
1457972599cfSmrg	-svr4)
1458972599cfSmrg		os=-sysv4
1459972599cfSmrg		;;
1460972599cfSmrg	-svr3)
1461972599cfSmrg		os=-sysv3
1462972599cfSmrg		;;
1463972599cfSmrg	-sysvr4)
1464972599cfSmrg		os=-sysv4
1465972599cfSmrg		;;
1466972599cfSmrg	# This must come after -sysvr4.
1467972599cfSmrg	-sysv*)
1468972599cfSmrg		;;
1469972599cfSmrg	-ose*)
1470972599cfSmrg		os=-ose
1471972599cfSmrg		;;
1472972599cfSmrg	-es1800*)
1473972599cfSmrg		os=-ose
1474972599cfSmrg		;;
1475972599cfSmrg	-xenix)
1476972599cfSmrg		os=-xenix
1477972599cfSmrg		;;
1478972599cfSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1479972599cfSmrg		os=-mint
1480972599cfSmrg		;;
1481972599cfSmrg	-aros*)
1482972599cfSmrg		os=-aros
1483972599cfSmrg		;;
1484972599cfSmrg	-kaos*)
1485972599cfSmrg		os=-kaos
1486972599cfSmrg		;;
1487972599cfSmrg	-zvmoe)
1488972599cfSmrg		os=-zvmoe
1489972599cfSmrg		;;
1490972599cfSmrg	-dicos*)
1491972599cfSmrg		os=-dicos
1492972599cfSmrg		;;
1493972599cfSmrg	-nacl*)
1494972599cfSmrg		;;
1495972599cfSmrg	-none)
1496972599cfSmrg		;;
1497972599cfSmrg	*)
1498972599cfSmrg		# Get rid of the `-' at the beginning of $os.
1499972599cfSmrg		os=`echo $os | sed 's/[^-]*-//'`
1500972599cfSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1501972599cfSmrg		exit 1
1502972599cfSmrg		;;
1503972599cfSmrgesac
1504972599cfSmrgelse
1505972599cfSmrg
1506972599cfSmrg# Here we handle the default operating systems that come with various machines.
1507972599cfSmrg# The value should be what the vendor currently ships out the door with their
1508972599cfSmrg# machine or put another way, the most popular os provided with the machine.
1509972599cfSmrg
1510972599cfSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1511972599cfSmrg# "-sun"), then you have to tell the case statement up towards the top
1512972599cfSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1513972599cfSmrg# will signal an error saying that MANUFACTURER isn't an operating
1514972599cfSmrg# system, and we'll never get to this point.
1515972599cfSmrg
1516972599cfSmrgcase $basic_machine in
1517972599cfSmrg	score-*)
1518972599cfSmrg		os=-elf
1519972599cfSmrg		;;
1520972599cfSmrg	spu-*)
1521972599cfSmrg		os=-elf
1522972599cfSmrg		;;
1523972599cfSmrg	*-acorn)
1524972599cfSmrg		os=-riscix1.2
1525972599cfSmrg		;;
1526972599cfSmrg	arm*-rebel)
1527972599cfSmrg		os=-linux
1528972599cfSmrg		;;
1529972599cfSmrg	arm*-semi)
1530972599cfSmrg		os=-aout
1531972599cfSmrg		;;
1532972599cfSmrg	c4x-* | tic4x-*)
1533972599cfSmrg		os=-coff
1534972599cfSmrg		;;
1535972599cfSmrg	tic54x-*)
1536972599cfSmrg		os=-coff
1537972599cfSmrg		;;
1538972599cfSmrg	tic55x-*)
1539972599cfSmrg		os=-coff
1540972599cfSmrg		;;
1541972599cfSmrg	tic6x-*)
1542972599cfSmrg		os=-coff
1543972599cfSmrg		;;
1544972599cfSmrg	# This must come before the *-dec entry.
1545972599cfSmrg	pdp10-*)
1546972599cfSmrg		os=-tops20
1547972599cfSmrg		;;
1548972599cfSmrg	pdp11-*)
1549972599cfSmrg		os=-none
1550972599cfSmrg		;;
1551972599cfSmrg	*-dec | vax-*)
1552972599cfSmrg		os=-ultrix4.2
1553972599cfSmrg		;;
1554972599cfSmrg	m68*-apollo)
1555972599cfSmrg		os=-domain
1556972599cfSmrg		;;
1557972599cfSmrg	i386-sun)
1558972599cfSmrg		os=-sunos4.0.2
1559972599cfSmrg		;;
1560972599cfSmrg	m68000-sun)
1561972599cfSmrg		os=-sunos3
1562972599cfSmrg		# This also exists in the configure program, but was not the
1563972599cfSmrg		# default.
1564972599cfSmrg		# os=-sunos4
1565972599cfSmrg		;;
1566972599cfSmrg	m68*-cisco)
1567972599cfSmrg		os=-aout
1568972599cfSmrg		;;
1569972599cfSmrg	mep-*)
1570972599cfSmrg		os=-elf
1571972599cfSmrg		;;
1572972599cfSmrg	mips*-cisco)
1573972599cfSmrg		os=-elf
1574972599cfSmrg		;;
1575972599cfSmrg	mips*-*)
1576972599cfSmrg		os=-elf
1577972599cfSmrg		;;
1578972599cfSmrg	or32-*)
1579972599cfSmrg		os=-coff
1580972599cfSmrg		;;
1581972599cfSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
1582972599cfSmrg		os=-sysv3
1583972599cfSmrg		;;
1584972599cfSmrg	sparc-* | *-sun)
1585972599cfSmrg		os=-sunos4.1.1
1586972599cfSmrg		;;
1587972599cfSmrg	*-be)
1588972599cfSmrg		os=-beos
1589972599cfSmrg		;;
1590972599cfSmrg	*-haiku)
1591972599cfSmrg		os=-haiku
1592972599cfSmrg		;;
1593972599cfSmrg	*-ibm)
1594972599cfSmrg		os=-aix
1595972599cfSmrg		;;
1596972599cfSmrg	*-knuth)
1597972599cfSmrg		os=-mmixware
1598972599cfSmrg		;;
1599972599cfSmrg	*-wec)
1600972599cfSmrg		os=-proelf
1601972599cfSmrg		;;
1602972599cfSmrg	*-winbond)
1603972599cfSmrg		os=-proelf
1604972599cfSmrg		;;
1605972599cfSmrg	*-oki)
1606972599cfSmrg		os=-proelf
1607972599cfSmrg		;;
1608972599cfSmrg	*-hp)
1609972599cfSmrg		os=-hpux
1610972599cfSmrg		;;
1611972599cfSmrg	*-hitachi)
1612972599cfSmrg		os=-hiux
1613972599cfSmrg		;;
1614972599cfSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1615972599cfSmrg		os=-sysv
1616972599cfSmrg		;;
1617972599cfSmrg	*-cbm)
1618972599cfSmrg		os=-amigaos
1619972599cfSmrg		;;
1620972599cfSmrg	*-dg)
1621972599cfSmrg		os=-dgux
1622972599cfSmrg		;;
1623972599cfSmrg	*-dolphin)
1624972599cfSmrg		os=-sysv3
1625972599cfSmrg		;;
1626972599cfSmrg	m68k-ccur)
1627972599cfSmrg		os=-rtu
1628972599cfSmrg		;;
1629972599cfSmrg	m88k-omron*)
1630972599cfSmrg		os=-luna
1631972599cfSmrg		;;
1632972599cfSmrg	*-next )
1633972599cfSmrg		os=-nextstep
1634972599cfSmrg		;;
1635972599cfSmrg	*-sequent)
1636972599cfSmrg		os=-ptx
1637972599cfSmrg		;;
1638972599cfSmrg	*-crds)
1639972599cfSmrg		os=-unos
1640972599cfSmrg		;;
1641972599cfSmrg	*-ns)
1642972599cfSmrg		os=-genix
1643972599cfSmrg		;;
1644972599cfSmrg	i370-*)
1645972599cfSmrg		os=-mvs
1646972599cfSmrg		;;
1647972599cfSmrg	*-next)
1648972599cfSmrg		os=-nextstep3
1649972599cfSmrg		;;
1650972599cfSmrg	*-gould)
1651972599cfSmrg		os=-sysv
1652972599cfSmrg		;;
1653972599cfSmrg	*-highlevel)
1654972599cfSmrg		os=-bsd
1655972599cfSmrg		;;
1656972599cfSmrg	*-encore)
1657972599cfSmrg		os=-bsd
1658972599cfSmrg		;;
1659972599cfSmrg	*-sgi)
1660972599cfSmrg		os=-irix
1661972599cfSmrg		;;
1662972599cfSmrg	*-siemens)
1663972599cfSmrg		os=-sysv4
1664972599cfSmrg		;;
1665972599cfSmrg	*-masscomp)
1666972599cfSmrg		os=-rtu
1667972599cfSmrg		;;
1668972599cfSmrg	f30[01]-fujitsu | f700-fujitsu)
1669972599cfSmrg		os=-uxpv
1670972599cfSmrg		;;
1671972599cfSmrg	*-rom68k)
1672972599cfSmrg		os=-coff
1673972599cfSmrg		;;
1674972599cfSmrg	*-*bug)
1675972599cfSmrg		os=-coff
1676972599cfSmrg		;;
1677972599cfSmrg	*-apple)
1678972599cfSmrg		os=-macos
1679972599cfSmrg		;;
1680972599cfSmrg	*-atari*)
1681972599cfSmrg		os=-mint
1682972599cfSmrg		;;
1683972599cfSmrg	*)
1684972599cfSmrg		os=-none
1685972599cfSmrg		;;
1686972599cfSmrgesac
1687972599cfSmrgfi
1688972599cfSmrg
1689972599cfSmrg# Here we handle the case where we know the os, and the CPU type, but not the
1690972599cfSmrg# manufacturer.  We pick the logical manufacturer.
1691972599cfSmrgvendor=unknown
1692972599cfSmrgcase $basic_machine in
1693972599cfSmrg	*-unknown)
1694972599cfSmrg		case $os in
1695972599cfSmrg			-riscix*)
1696972599cfSmrg				vendor=acorn
1697972599cfSmrg				;;
1698972599cfSmrg			-sunos*)
1699972599cfSmrg				vendor=sun
1700972599cfSmrg				;;
1701972599cfSmrg			-cnk*|-aix*)
1702972599cfSmrg				vendor=ibm
1703972599cfSmrg				;;
1704972599cfSmrg			-beos*)
1705972599cfSmrg				vendor=be
1706972599cfSmrg				;;
1707972599cfSmrg			-hpux*)
1708972599cfSmrg				vendor=hp
1709972599cfSmrg				;;
1710972599cfSmrg			-mpeix*)
1711972599cfSmrg				vendor=hp
1712972599cfSmrg				;;
1713972599cfSmrg			-hiux*)
1714972599cfSmrg				vendor=hitachi
1715972599cfSmrg				;;
1716972599cfSmrg			-unos*)
1717972599cfSmrg				vendor=crds
1718972599cfSmrg				;;
1719972599cfSmrg			-dgux*)
1720972599cfSmrg				vendor=dg
1721972599cfSmrg				;;
1722972599cfSmrg			-luna*)
1723972599cfSmrg				vendor=omron
1724972599cfSmrg				;;
1725972599cfSmrg			-genix*)
1726972599cfSmrg				vendor=ns
1727972599cfSmrg				;;
1728972599cfSmrg			-mvs* | -opened*)
1729972599cfSmrg				vendor=ibm
1730972599cfSmrg				;;
1731972599cfSmrg			-os400*)
1732972599cfSmrg				vendor=ibm
1733972599cfSmrg				;;
1734972599cfSmrg			-ptx*)
1735972599cfSmrg				vendor=sequent
1736972599cfSmrg				;;
1737972599cfSmrg			-tpf*)
1738972599cfSmrg				vendor=ibm
1739972599cfSmrg				;;
1740972599cfSmrg			-vxsim* | -vxworks* | -windiss*)
1741972599cfSmrg				vendor=wrs
1742972599cfSmrg				;;
1743972599cfSmrg			-aux*)
1744972599cfSmrg				vendor=apple
1745972599cfSmrg				;;
1746972599cfSmrg			-hms*)
1747972599cfSmrg				vendor=hitachi
1748972599cfSmrg				;;
1749972599cfSmrg			-mpw* | -macos*)
1750972599cfSmrg				vendor=apple
1751972599cfSmrg				;;
1752972599cfSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1753972599cfSmrg				vendor=atari
1754972599cfSmrg				;;
1755972599cfSmrg			-vos*)
1756972599cfSmrg				vendor=stratus
1757972599cfSmrg				;;
1758972599cfSmrg		esac
1759972599cfSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1760972599cfSmrg		;;
1761972599cfSmrgesac
1762972599cfSmrg
1763972599cfSmrgecho $basic_machine$os
1764972599cfSmrgexit
1765972599cfSmrg
1766972599cfSmrg# Local variables:
1767972599cfSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1768972599cfSmrg# time-stamp-start: "timestamp='"
1769972599cfSmrg# time-stamp-format: "%:y-%02m-%02d"
1770972599cfSmrg# time-stamp-end: "'"
1771972599cfSmrg# End:
1772