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