config.sub revision bd3a1963
1659607e0Smrg#! /bin/sh
2659607e0Smrg# Configuration validation subroutine script.
3659607e0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4bd3a1963Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5fc27e79cSmrg#   Free Software Foundation, Inc.
6659607e0Smrg
7bd3a1963Smrgtimestamp='2010-09-11'
8659607e0Smrg
9659607e0Smrg# This file is (in principle) common to ALL GNU software.
10659607e0Smrg# The presence of a machine in this file suggests that SOME GNU software
11659607e0Smrg# can handle that machine.  It does not imply ALL GNU software can.
12659607e0Smrg#
13659607e0Smrg# This file is free software; you can redistribute it and/or modify
14659607e0Smrg# it under the terms of the GNU General Public License as published by
15659607e0Smrg# the Free Software Foundation; either version 2 of the License, or
16659607e0Smrg# (at your option) any later version.
17659607e0Smrg#
18659607e0Smrg# This program is distributed in the hope that it will be useful,
19659607e0Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20659607e0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21659607e0Smrg# GNU General Public License for more details.
22659607e0Smrg#
23659607e0Smrg# You should have received a copy of the GNU General Public License
24659607e0Smrg# along with this program; if not, write to the Free Software
25659607e0Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26659607e0Smrg# 02110-1301, USA.
27659607e0Smrg#
28659607e0Smrg# As a special exception to the GNU General Public License, if you
29659607e0Smrg# distribute this file as part of a program that contains a
30659607e0Smrg# configuration script generated by Autoconf, you may include it under
31659607e0Smrg# the same distribution terms that you use for the rest of that program.
32659607e0Smrg
33659607e0Smrg
34659607e0Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b73be646Smrg# diff and a properly formatted GNU ChangeLog entry.
36659607e0Smrg#
37659607e0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38659607e0Smrg# Supply the specified configuration type as an argument.
39659607e0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40659607e0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41659607e0Smrg
42b73be646Smrg# You can get the latest version of this script from:
43b73be646Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b73be646Smrg
45659607e0Smrg# This file is supposed to be the same for all GNU packages
46659607e0Smrg# and recognize all the CPU types, system types and aliases
47659607e0Smrg# that are meaningful with *any* GNU software.
48659607e0Smrg# Each package is responsible for reporting which valid configurations
49659607e0Smrg# it does not support.  The user should be able to distinguish
50659607e0Smrg# a failure to support a valid configuration from a meaningless
51659607e0Smrg# configuration.
52659607e0Smrg
53659607e0Smrg# The goal of this file is to map all the various variations of a given
54659607e0Smrg# machine specification into a single specification in the form:
55659607e0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56659607e0Smrg# or in some cases, the newer four-part form:
57659607e0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58659607e0Smrg# It is wrong to echo any other type of specification.
59659607e0Smrg
60659607e0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61659607e0Smrg
62659607e0Smrgusage="\
63659607e0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64659607e0Smrg       $0 [OPTION] ALIAS
65659607e0Smrg
66659607e0SmrgCanonicalize a configuration name.
67659607e0Smrg
68659607e0SmrgOperation modes:
69659607e0Smrg  -h, --help         print this help, then exit
70659607e0Smrg  -t, --time-stamp   print date of last modification, then exit
71659607e0Smrg  -v, --version      print version number, then exit
72659607e0Smrg
73659607e0SmrgReport bugs and patches to <config-patches@gnu.org>."
74659607e0Smrg
75659607e0Smrgversion="\
76659607e0SmrgGNU config.sub ($timestamp)
77659607e0Smrg
78bd3a1963SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79bd3a1963Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80bd3a1963SmrgSoftware Foundation, Inc.
81659607e0Smrg
82659607e0SmrgThis is free software; see the source for copying conditions.  There is NO
83659607e0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84659607e0Smrg
85659607e0Smrghelp="
86659607e0SmrgTry \`$me --help' for more information."
87659607e0Smrg
88659607e0Smrg# Parse command line
89659607e0Smrgwhile test $# -gt 0 ; do
90659607e0Smrg  case $1 in
91659607e0Smrg    --time-stamp | --time* | -t )
92659607e0Smrg       echo "$timestamp" ; exit ;;
93659607e0Smrg    --version | -v )
94659607e0Smrg       echo "$version" ; exit ;;
95659607e0Smrg    --help | --h* | -h )
96659607e0Smrg       echo "$usage"; exit ;;
97659607e0Smrg    -- )     # Stop option processing
98659607e0Smrg       shift; break ;;
99659607e0Smrg    - )	# Use stdin as input.
100659607e0Smrg       break ;;
101659607e0Smrg    -* )
102659607e0Smrg       echo "$me: invalid option $1$help"
103659607e0Smrg       exit 1 ;;
104659607e0Smrg
105659607e0Smrg    *local*)
106659607e0Smrg       # First pass through any local machine types.
107659607e0Smrg       echo $1
108659607e0Smrg       exit ;;
109659607e0Smrg
110659607e0Smrg    * )
111659607e0Smrg       break ;;
112659607e0Smrg  esac
113659607e0Smrgdone
114659607e0Smrg
115659607e0Smrgcase $# in
116659607e0Smrg 0) echo "$me: missing argument$help" >&2
117659607e0Smrg    exit 1;;
118659607e0Smrg 1) ;;
119659607e0Smrg *) echo "$me: too many arguments$help" >&2
120659607e0Smrg    exit 1;;
121659607e0Smrgesac
122659607e0Smrg
123659607e0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124659607e0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125659607e0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126659607e0Smrgcase $maybe_os in
127bd3a1963Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128bd3a1963Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129bd3a1963Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b73be646Smrg  kopensolaris*-gnu* | \
131659607e0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132659607e0Smrg    os=-$maybe_os
133659607e0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134659607e0Smrg    ;;
135659607e0Smrg  *)
136659607e0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137659607e0Smrg    if [ $basic_machine != $1 ]
138659607e0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139659607e0Smrg    else os=; fi
140659607e0Smrg    ;;
141659607e0Smrgesac
142659607e0Smrg
143659607e0Smrg### Let's recognize common machines as not being operating systems so
144659607e0Smrg### that things like config.sub decstation-3100 work.  We also
145659607e0Smrg### recognize some manufacturers as not being operating systems, so we
146659607e0Smrg### can provide default operating systems below.
147659607e0Smrgcase $os in
148659607e0Smrg	-sun*os*)
149659607e0Smrg		# Prevent following clause from handling this invalid input.
150659607e0Smrg		;;
151659607e0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152659607e0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153659607e0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154659607e0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155659607e0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156659607e0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b73be646Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158659607e0Smrg		os=
159659607e0Smrg		basic_machine=$1
160659607e0Smrg		;;
161b73be646Smrg        -bluegene*)
162b73be646Smrg	        os=-cnk
163b73be646Smrg		;;
164659607e0Smrg	-sim | -cisco | -oki | -wec | -winbond)
165659607e0Smrg		os=
166659607e0Smrg		basic_machine=$1
167659607e0Smrg		;;
168659607e0Smrg	-scout)
169659607e0Smrg		;;
170659607e0Smrg	-wrs)
171659607e0Smrg		os=-vxworks
172659607e0Smrg		basic_machine=$1
173659607e0Smrg		;;
174659607e0Smrg	-chorusos*)
175659607e0Smrg		os=-chorusos
176659607e0Smrg		basic_machine=$1
177659607e0Smrg		;;
178659607e0Smrg 	-chorusrdb)
179659607e0Smrg 		os=-chorusrdb
180659607e0Smrg		basic_machine=$1
181659607e0Smrg 		;;
182659607e0Smrg	-hiux*)
183659607e0Smrg		os=-hiuxwe2
184659607e0Smrg		;;
185659607e0Smrg	-sco6)
186659607e0Smrg		os=-sco5v6
187659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188659607e0Smrg		;;
189659607e0Smrg	-sco5)
190659607e0Smrg		os=-sco3.2v5
191659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192659607e0Smrg		;;
193659607e0Smrg	-sco4)
194659607e0Smrg		os=-sco3.2v4
195659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196659607e0Smrg		;;
197659607e0Smrg	-sco3.2.[4-9]*)
198659607e0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200659607e0Smrg		;;
201659607e0Smrg	-sco3.2v[4-9]*)
202659607e0Smrg		# Don't forget version if it is 3.2v4 or newer.
203659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204659607e0Smrg		;;
205659607e0Smrg	-sco5v6*)
206659607e0Smrg		# Don't forget version if it is 3.2v4 or newer.
207659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208659607e0Smrg		;;
209659607e0Smrg	-sco*)
210659607e0Smrg		os=-sco3.2v2
211659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212659607e0Smrg		;;
213659607e0Smrg	-udk*)
214659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215659607e0Smrg		;;
216659607e0Smrg	-isc)
217659607e0Smrg		os=-isc2.2
218659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219659607e0Smrg		;;
220659607e0Smrg	-clix*)
221659607e0Smrg		basic_machine=clipper-intergraph
222659607e0Smrg		;;
223659607e0Smrg	-isc*)
224659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225659607e0Smrg		;;
226659607e0Smrg	-lynx*)
227659607e0Smrg		os=-lynxos
228659607e0Smrg		;;
229659607e0Smrg	-ptx*)
230659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231659607e0Smrg		;;
232659607e0Smrg	-windowsnt*)
233659607e0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234659607e0Smrg		;;
235659607e0Smrg	-psos*)
236659607e0Smrg		os=-psos
237659607e0Smrg		;;
238659607e0Smrg	-mint | -mint[0-9]*)
239659607e0Smrg		basic_machine=m68k-atari
240659607e0Smrg		os=-mint
241659607e0Smrg		;;
242659607e0Smrgesac
243659607e0Smrg
244659607e0Smrg# Decode aliases for certain CPU-COMPANY combinations.
245659607e0Smrgcase $basic_machine in
246659607e0Smrg	# Recognize the basic CPU types without company name.
247659607e0Smrg	# Some are omitted here because they have special meanings below.
248659607e0Smrg	1750a | 580 \
249659607e0Smrg	| a29k \
250659607e0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251659607e0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252659607e0Smrg	| am33_2.0 \
253fc27e79cSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254659607e0Smrg	| bfin \
255659607e0Smrg	| c4x | clipper \
256659607e0Smrg	| d10v | d30v | dlx | dsp16xx \
257fc27e79cSmrg	| fido | fr30 | frv \
258659607e0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259659607e0Smrg	| i370 | i860 | i960 | ia64 \
260659607e0Smrg	| ip2k | iq2000 \
261b73be646Smrg	| lm32 \
262fc27e79cSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263b73be646Smrg	| maxq | mb | microblaze | mcore | mep | metag \
264659607e0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265659607e0Smrg	| mips16 \
266659607e0Smrg	| mips64 | mips64el \
267b73be646Smrg	| mips64octeon | mips64octeonel \
268659607e0Smrg	| mips64orion | mips64orionel \
269b73be646Smrg	| mips64r5900 | mips64r5900el \
270b73be646Smrg	| mips64vr | mips64vrel \
271659607e0Smrg	| mips64vr4100 | mips64vr4100el \
272659607e0Smrg	| mips64vr4300 | mips64vr4300el \
273659607e0Smrg	| mips64vr5000 | mips64vr5000el \
274659607e0Smrg	| mips64vr5900 | mips64vr5900el \
275659607e0Smrg	| mipsisa32 | mipsisa32el \
276659607e0Smrg	| mipsisa32r2 | mipsisa32r2el \
277659607e0Smrg	| mipsisa64 | mipsisa64el \
278659607e0Smrg	| mipsisa64r2 | mipsisa64r2el \
279659607e0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
280659607e0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
281659607e0Smrg	| mipstx39 | mipstx39el \
282659607e0Smrg	| mn10200 | mn10300 \
283b73be646Smrg	| moxie \
284659607e0Smrg	| mt \
285659607e0Smrg	| msp430 \
286bd3a1963Smrg	| nds32 | nds32le | nds32be \
287fc27e79cSmrg	| nios | nios2 \
288659607e0Smrg	| ns16k | ns32k \
289659607e0Smrg	| or32 \
290659607e0Smrg	| pdp10 | pdp11 | pj | pjl \
291659607e0Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292659607e0Smrg	| pyramid \
293b73be646Smrg	| rx \
294fc27e79cSmrg	| score \
295b73be646Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296659607e0Smrg	| sh64 | sh64le \
297fc27e79cSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298fc27e79cSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299fc27e79cSmrg	| spu | strongarm \
300bd3a1963Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301b73be646Smrg	| ubicom32 \
302659607e0Smrg	| v850 | v850e \
303659607e0Smrg	| we32k \
304fc27e79cSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305b73be646Smrg	| z8k | z80)
306659607e0Smrg		basic_machine=$basic_machine-unknown
307659607e0Smrg		;;
308bd3a1963Smrg	c54x)
309bd3a1963Smrg		basic_machine=tic54x-unknown
310bd3a1963Smrg		;;
311bd3a1963Smrg	c55x)
312bd3a1963Smrg		basic_machine=tic55x-unknown
313bd3a1963Smrg		;;
314bd3a1963Smrg	c6x)
315bd3a1963Smrg		basic_machine=tic6x-unknown
316bd3a1963Smrg		;;
317b73be646Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318659607e0Smrg		# Motorola 68HC11/12.
319659607e0Smrg		basic_machine=$basic_machine-unknown
320659607e0Smrg		os=-none
321659607e0Smrg		;;
322659607e0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323659607e0Smrg		;;
324659607e0Smrg	ms1)
325659607e0Smrg		basic_machine=mt-unknown
326659607e0Smrg		;;
327659607e0Smrg
328659607e0Smrg	# We use `pc' rather than `unknown'
329659607e0Smrg	# because (1) that's what they normally are, and
330659607e0Smrg	# (2) the word "unknown" tends to confuse beginning users.
331659607e0Smrg	i*86 | x86_64)
332659607e0Smrg	  basic_machine=$basic_machine-pc
333659607e0Smrg	  ;;
334659607e0Smrg	# Object if more than one company name word.
335659607e0Smrg	*-*-*)
336659607e0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337659607e0Smrg		exit 1
338659607e0Smrg		;;
339659607e0Smrg	# Recognize the basic CPU types with company name.
340659607e0Smrg	580-* \
341659607e0Smrg	| a29k-* \
342659607e0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343659607e0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344659607e0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345659607e0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346fc27e79cSmrg	| avr-* | avr32-* \
347659607e0Smrg	| bfin-* | bs2000-* \
348bd3a1963Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349659607e0Smrg	| clipper-* | craynv-* | cydra-* \
350659607e0Smrg	| d10v-* | d30v-* | dlx-* \
351659607e0Smrg	| elxsi-* \
352fc27e79cSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353659607e0Smrg	| h8300-* | h8500-* \
354659607e0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355659607e0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
356659607e0Smrg	| ip2k-* | iq2000-* \
357b73be646Smrg	| lm32-* \
358fc27e79cSmrg	| m32c-* | m32r-* | m32rle-* \
359659607e0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360b73be646Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361659607e0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362659607e0Smrg	| mips16-* \
363659607e0Smrg	| mips64-* | mips64el-* \
364b73be646Smrg	| mips64octeon-* | mips64octeonel-* \
365659607e0Smrg	| mips64orion-* | mips64orionel-* \
366b73be646Smrg	| mips64r5900-* | mips64r5900el-* \
367b73be646Smrg	| mips64vr-* | mips64vrel-* \
368659607e0Smrg	| mips64vr4100-* | mips64vr4100el-* \
369659607e0Smrg	| mips64vr4300-* | mips64vr4300el-* \
370659607e0Smrg	| mips64vr5000-* | mips64vr5000el-* \
371659607e0Smrg	| mips64vr5900-* | mips64vr5900el-* \
372659607e0Smrg	| mipsisa32-* | mipsisa32el-* \
373659607e0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
374659607e0Smrg	| mipsisa64-* | mipsisa64el-* \
375659607e0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
376659607e0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377659607e0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378659607e0Smrg	| mipstx39-* | mipstx39el-* \
379659607e0Smrg	| mmix-* \
380659607e0Smrg	| mt-* \
381659607e0Smrg	| msp430-* \
382bd3a1963Smrg	| nds32-* | nds32le-* | nds32be-* \
383fc27e79cSmrg	| nios-* | nios2-* \
384659607e0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
385659607e0Smrg	| orion-* \
386659607e0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387659607e0Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388659607e0Smrg	| pyramid-* \
389b73be646Smrg	| romp-* | rs6000-* | rx-* \
390b73be646Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391659607e0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392fc27e79cSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393659607e0Smrg	| sparclite-* \
394fc27e79cSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395659607e0Smrg	| tahoe-* | thumb-* \
396bd3a1963Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397bd3a1963Smrg	| tile-* | tilegx-* \
398659607e0Smrg	| tron-* \
399b73be646Smrg	| ubicom32-* \
400659607e0Smrg	| v850-* | v850e-* | vax-* \
401659607e0Smrg	| we32k-* \
402fc27e79cSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403fc27e79cSmrg	| xstormy16-* | xtensa*-* \
404659607e0Smrg	| ymp-* \
405b73be646Smrg	| z8k-* | z80-*)
406659607e0Smrg		;;
407fc27e79cSmrg	# Recognize the basic CPU types without company name, with glob match.
408fc27e79cSmrg	xtensa*)
409fc27e79cSmrg		basic_machine=$basic_machine-unknown
4106aab59a7Smrg		;;
411659607e0Smrg	# Recognize the various machine names and aliases which stand
412659607e0Smrg	# for a CPU type and a company and sometimes even an OS.
413659607e0Smrg	386bsd)
414659607e0Smrg		basic_machine=i386-unknown
415659607e0Smrg		os=-bsd
416659607e0Smrg		;;
417659607e0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418659607e0Smrg		basic_machine=m68000-att
419659607e0Smrg		;;
420659607e0Smrg	3b*)
421659607e0Smrg		basic_machine=we32k-att
422659607e0Smrg		;;
423659607e0Smrg	a29khif)
424659607e0Smrg		basic_machine=a29k-amd
425659607e0Smrg		os=-udi
426659607e0Smrg		;;
427659607e0Smrg    	abacus)
428659607e0Smrg		basic_machine=abacus-unknown
429659607e0Smrg		;;
430659607e0Smrg	adobe68k)
431659607e0Smrg		basic_machine=m68010-adobe
432659607e0Smrg		os=-scout
433659607e0Smrg		;;
434659607e0Smrg	alliant | fx80)
435659607e0Smrg		basic_machine=fx80-alliant
436659607e0Smrg		;;
437659607e0Smrg	altos | altos3068)
438659607e0Smrg		basic_machine=m68k-altos
439659607e0Smrg		;;
440659607e0Smrg	am29k)
441659607e0Smrg		basic_machine=a29k-none
442659607e0Smrg		os=-bsd
443659607e0Smrg		;;
444659607e0Smrg	amd64)
445659607e0Smrg		basic_machine=x86_64-pc
446659607e0Smrg		;;
447659607e0Smrg	amd64-*)
448659607e0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449659607e0Smrg		;;
450659607e0Smrg	amdahl)
451659607e0Smrg		basic_machine=580-amdahl
452659607e0Smrg		os=-sysv
453659607e0Smrg		;;
454659607e0Smrg	amiga | amiga-*)
455659607e0Smrg		basic_machine=m68k-unknown
456659607e0Smrg		;;
457659607e0Smrg	amigaos | amigados)
458659607e0Smrg		basic_machine=m68k-unknown
459659607e0Smrg		os=-amigaos
460659607e0Smrg		;;
461659607e0Smrg	amigaunix | amix)
462659607e0Smrg		basic_machine=m68k-unknown
463659607e0Smrg		os=-sysv4
464659607e0Smrg		;;
465659607e0Smrg	apollo68)
466659607e0Smrg		basic_machine=m68k-apollo
467659607e0Smrg		os=-sysv
468659607e0Smrg		;;
469659607e0Smrg	apollo68bsd)
470659607e0Smrg		basic_machine=m68k-apollo
471659607e0Smrg		os=-bsd
472659607e0Smrg		;;
473b73be646Smrg	aros)
474b73be646Smrg		basic_machine=i386-pc
475b73be646Smrg		os=-aros
476b73be646Smrg		;;
477659607e0Smrg	aux)
478659607e0Smrg		basic_machine=m68k-apple
479659607e0Smrg		os=-aux
480659607e0Smrg		;;
481659607e0Smrg	balance)
482659607e0Smrg		basic_machine=ns32k-sequent
483659607e0Smrg		os=-dynix
484659607e0Smrg		;;
485fc27e79cSmrg	blackfin)
486fc27e79cSmrg		basic_machine=bfin-unknown
487fc27e79cSmrg		os=-linux
488fc27e79cSmrg		;;
489fc27e79cSmrg	blackfin-*)
490fc27e79cSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491fc27e79cSmrg		os=-linux
492fc27e79cSmrg		;;
493b73be646Smrg	bluegene*)
494b73be646Smrg		basic_machine=powerpc-ibm
495b73be646Smrg		os=-cnk
496b73be646Smrg		;;
497bd3a1963Smrg	c54x-*)
498bd3a1963Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499bd3a1963Smrg		;;
500bd3a1963Smrg	c55x-*)
501bd3a1963Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502bd3a1963Smrg		;;
503bd3a1963Smrg	c6x-*)
504bd3a1963Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505bd3a1963Smrg		;;
506659607e0Smrg	c90)
507659607e0Smrg		basic_machine=c90-cray
508659607e0Smrg		os=-unicos
509659607e0Smrg		;;
510b73be646Smrg        cegcc)
511b73be646Smrg		basic_machine=arm-unknown
512b73be646Smrg		os=-cegcc
513b73be646Smrg		;;
514659607e0Smrg	convex-c1)
515659607e0Smrg		basic_machine=c1-convex
516659607e0Smrg		os=-bsd
517659607e0Smrg		;;
518659607e0Smrg	convex-c2)
519659607e0Smrg		basic_machine=c2-convex
520659607e0Smrg		os=-bsd
521659607e0Smrg		;;
522659607e0Smrg	convex-c32)
523659607e0Smrg		basic_machine=c32-convex
524659607e0Smrg		os=-bsd
525659607e0Smrg		;;
526659607e0Smrg	convex-c34)
527659607e0Smrg		basic_machine=c34-convex
528659607e0Smrg		os=-bsd
529659607e0Smrg		;;
530659607e0Smrg	convex-c38)
531659607e0Smrg		basic_machine=c38-convex
532659607e0Smrg		os=-bsd
533659607e0Smrg		;;
534659607e0Smrg	cray | j90)
535659607e0Smrg		basic_machine=j90-cray
536659607e0Smrg		os=-unicos
537659607e0Smrg		;;
538659607e0Smrg	craynv)
539659607e0Smrg		basic_machine=craynv-cray
540659607e0Smrg		os=-unicosmp
541659607e0Smrg		;;
542fc27e79cSmrg	cr16)
543fc27e79cSmrg		basic_machine=cr16-unknown
544659607e0Smrg		os=-elf
545659607e0Smrg		;;
546659607e0Smrg	crds | unos)
547659607e0Smrg		basic_machine=m68k-crds
548659607e0Smrg		;;
549659607e0Smrg	crisv32 | crisv32-* | etraxfs*)
550659607e0Smrg		basic_machine=crisv32-axis
551659607e0Smrg		;;
552659607e0Smrg	cris | cris-* | etrax*)
553659607e0Smrg		basic_machine=cris-axis
554659607e0Smrg		;;
555659607e0Smrg	crx)
556659607e0Smrg		basic_machine=crx-unknown
557659607e0Smrg		os=-elf
558659607e0Smrg		;;
559659607e0Smrg	da30 | da30-*)
560659607e0Smrg		basic_machine=m68k-da30
561659607e0Smrg		;;
562659607e0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563659607e0Smrg		basic_machine=mips-dec
564659607e0Smrg		;;
565659607e0Smrg	decsystem10* | dec10*)
566659607e0Smrg		basic_machine=pdp10-dec
567659607e0Smrg		os=-tops10
568659607e0Smrg		;;
569659607e0Smrg	decsystem20* | dec20*)
570659607e0Smrg		basic_machine=pdp10-dec
571659607e0Smrg		os=-tops20
572659607e0Smrg		;;
573659607e0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
574659607e0Smrg	      | 3300-motorola | delta-motorola)
575659607e0Smrg		basic_machine=m68k-motorola
576659607e0Smrg		;;
577659607e0Smrg	delta88)
578659607e0Smrg		basic_machine=m88k-motorola
579659607e0Smrg		os=-sysv3
580659607e0Smrg		;;
581b73be646Smrg	dicos)
582b73be646Smrg		basic_machine=i686-pc
583b73be646Smrg		os=-dicos
584b73be646Smrg		;;
585659607e0Smrg	djgpp)
586659607e0Smrg		basic_machine=i586-pc
587659607e0Smrg		os=-msdosdjgpp
588659607e0Smrg		;;
589659607e0Smrg	dpx20 | dpx20-*)
590659607e0Smrg		basic_machine=rs6000-bull
591659607e0Smrg		os=-bosx
592659607e0Smrg		;;
593659607e0Smrg	dpx2* | dpx2*-bull)
594659607e0Smrg		basic_machine=m68k-bull
595659607e0Smrg		os=-sysv3
596659607e0Smrg		;;
597659607e0Smrg	ebmon29k)
598659607e0Smrg		basic_machine=a29k-amd
599659607e0Smrg		os=-ebmon
600659607e0Smrg		;;
601659607e0Smrg	elxsi)
602659607e0Smrg		basic_machine=elxsi-elxsi
603659607e0Smrg		os=-bsd
604659607e0Smrg		;;
605659607e0Smrg	encore | umax | mmax)
606659607e0Smrg		basic_machine=ns32k-encore
607659607e0Smrg		;;
608659607e0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
609659607e0Smrg		basic_machine=m68k-ericsson
610659607e0Smrg		os=-ose
611659607e0Smrg		;;
612659607e0Smrg	fx2800)
613659607e0Smrg		basic_machine=i860-alliant
614659607e0Smrg		;;
615659607e0Smrg	genix)
616659607e0Smrg		basic_machine=ns32k-ns
617659607e0Smrg		;;
618659607e0Smrg	gmicro)
619659607e0Smrg		basic_machine=tron-gmicro
620659607e0Smrg		os=-sysv
621659607e0Smrg		;;
622659607e0Smrg	go32)
623659607e0Smrg		basic_machine=i386-pc
624659607e0Smrg		os=-go32
625659607e0Smrg		;;
626659607e0Smrg	h3050r* | hiux*)
627659607e0Smrg		basic_machine=hppa1.1-hitachi
628659607e0Smrg		os=-hiuxwe2
629659607e0Smrg		;;
630659607e0Smrg	h8300hms)
631659607e0Smrg		basic_machine=h8300-hitachi
632659607e0Smrg		os=-hms
633659607e0Smrg		;;
634659607e0Smrg	h8300xray)
635659607e0Smrg		basic_machine=h8300-hitachi
636659607e0Smrg		os=-xray
637659607e0Smrg		;;
638659607e0Smrg	h8500hms)
639659607e0Smrg		basic_machine=h8500-hitachi
640659607e0Smrg		os=-hms
641659607e0Smrg		;;
642659607e0Smrg	harris)
643659607e0Smrg		basic_machine=m88k-harris
644659607e0Smrg		os=-sysv3
645659607e0Smrg		;;
646659607e0Smrg	hp300-*)
647659607e0Smrg		basic_machine=m68k-hp
648659607e0Smrg		;;
649659607e0Smrg	hp300bsd)
650659607e0Smrg		basic_machine=m68k-hp
651659607e0Smrg		os=-bsd
652659607e0Smrg		;;
653659607e0Smrg	hp300hpux)
654659607e0Smrg		basic_machine=m68k-hp
655659607e0Smrg		os=-hpux
656659607e0Smrg		;;
657659607e0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658659607e0Smrg		basic_machine=hppa1.0-hp
659659607e0Smrg		;;
660659607e0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661659607e0Smrg		basic_machine=m68000-hp
662659607e0Smrg		;;
663659607e0Smrg	hp9k3[2-9][0-9])
664659607e0Smrg		basic_machine=m68k-hp
665659607e0Smrg		;;
666659607e0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667659607e0Smrg		basic_machine=hppa1.0-hp
668659607e0Smrg		;;
669659607e0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670659607e0Smrg		basic_machine=hppa1.1-hp
671659607e0Smrg		;;
672659607e0Smrg	hp9k78[0-9] | hp78[0-9])
673659607e0Smrg		# FIXME: really hppa2.0-hp
674659607e0Smrg		basic_machine=hppa1.1-hp
675659607e0Smrg		;;
676659607e0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677659607e0Smrg		# FIXME: really hppa2.0-hp
678659607e0Smrg		basic_machine=hppa1.1-hp
679659607e0Smrg		;;
680659607e0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681659607e0Smrg		basic_machine=hppa1.1-hp
682659607e0Smrg		;;
683659607e0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684659607e0Smrg		basic_machine=hppa1.0-hp
685659607e0Smrg		;;
686659607e0Smrg	hppa-next)
687659607e0Smrg		os=-nextstep3
688659607e0Smrg		;;
689659607e0Smrg	hppaosf)
690659607e0Smrg		basic_machine=hppa1.1-hp
691659607e0Smrg		os=-osf
692659607e0Smrg		;;
693659607e0Smrg	hppro)
694659607e0Smrg		basic_machine=hppa1.1-hp
695659607e0Smrg		os=-proelf
696659607e0Smrg		;;
697659607e0Smrg	i370-ibm* | ibm*)
698659607e0Smrg		basic_machine=i370-ibm
699659607e0Smrg		;;
700659607e0Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701659607e0Smrg	i*86v32)
702659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703659607e0Smrg		os=-sysv32
704659607e0Smrg		;;
705659607e0Smrg	i*86v4*)
706659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707659607e0Smrg		os=-sysv4
708659607e0Smrg		;;
709659607e0Smrg	i*86v)
710659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711659607e0Smrg		os=-sysv
712659607e0Smrg		;;
713659607e0Smrg	i*86sol2)
714659607e0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715659607e0Smrg		os=-solaris2
716659607e0Smrg		;;
717659607e0Smrg	i386mach)
718659607e0Smrg		basic_machine=i386-mach
719659607e0Smrg		os=-mach
720659607e0Smrg		;;
721659607e0Smrg	i386-vsta | vsta)
722659607e0Smrg		basic_machine=i386-unknown
723659607e0Smrg		os=-vsta
724659607e0Smrg		;;
725659607e0Smrg	iris | iris4d)
726659607e0Smrg		basic_machine=mips-sgi
727659607e0Smrg		case $os in
728659607e0Smrg		    -irix*)
729659607e0Smrg			;;
730659607e0Smrg		    *)
731659607e0Smrg			os=-irix4
732659607e0Smrg			;;
733659607e0Smrg		esac
734659607e0Smrg		;;
735659607e0Smrg	isi68 | isi)
736659607e0Smrg		basic_machine=m68k-isi
737659607e0Smrg		os=-sysv
738659607e0Smrg		;;
739fc27e79cSmrg	m68knommu)
740fc27e79cSmrg		basic_machine=m68k-unknown
741fc27e79cSmrg		os=-linux
742fc27e79cSmrg		;;
743fc27e79cSmrg	m68knommu-*)
744fc27e79cSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745fc27e79cSmrg		os=-linux
746fc27e79cSmrg		;;
747659607e0Smrg	m88k-omron*)
748659607e0Smrg		basic_machine=m88k-omron
749659607e0Smrg		;;
750659607e0Smrg	magnum | m3230)
751659607e0Smrg		basic_machine=mips-mips
752659607e0Smrg		os=-sysv
753659607e0Smrg		;;
754659607e0Smrg	merlin)
755659607e0Smrg		basic_machine=ns32k-utek
756659607e0Smrg		os=-sysv
757659607e0Smrg		;;
758b73be646Smrg        microblaze)
759b73be646Smrg		basic_machine=microblaze-xilinx
760b73be646Smrg		;;
761659607e0Smrg	mingw32)
762659607e0Smrg		basic_machine=i386-pc
763659607e0Smrg		os=-mingw32
764659607e0Smrg		;;
765fc27e79cSmrg	mingw32ce)
766fc27e79cSmrg		basic_machine=arm-unknown
767fc27e79cSmrg		os=-mingw32ce
768fc27e79cSmrg		;;
769659607e0Smrg	miniframe)
770659607e0Smrg		basic_machine=m68000-convergent
771659607e0Smrg		;;
772659607e0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773659607e0Smrg		basic_machine=m68k-atari
774659607e0Smrg		os=-mint
775659607e0Smrg		;;
776659607e0Smrg	mips3*-*)
777659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778659607e0Smrg		;;
779659607e0Smrg	mips3*)
780659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781659607e0Smrg		;;
782659607e0Smrg	monitor)
783659607e0Smrg		basic_machine=m68k-rom68k
784659607e0Smrg		os=-coff
785659607e0Smrg		;;
786659607e0Smrg	morphos)
787659607e0Smrg		basic_machine=powerpc-unknown
788659607e0Smrg		os=-morphos
789659607e0Smrg		;;
790659607e0Smrg	msdos)
791659607e0Smrg		basic_machine=i386-pc
792659607e0Smrg		os=-msdos
793659607e0Smrg		;;
794659607e0Smrg	ms1-*)
795659607e0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796659607e0Smrg		;;
797659607e0Smrg	mvs)
798659607e0Smrg		basic_machine=i370-ibm
799659607e0Smrg		os=-mvs
800659607e0Smrg		;;
801659607e0Smrg	ncr3000)
802659607e0Smrg		basic_machine=i486-ncr
803659607e0Smrg		os=-sysv4
804659607e0Smrg		;;
805659607e0Smrg	netbsd386)
806659607e0Smrg		basic_machine=i386-unknown
807659607e0Smrg		os=-netbsd
808659607e0Smrg		;;
809659607e0Smrg	netwinder)
810659607e0Smrg		basic_machine=armv4l-rebel
811659607e0Smrg		os=-linux
812659607e0Smrg		;;
813659607e0Smrg	news | news700 | news800 | news900)
814659607e0Smrg		basic_machine=m68k-sony
815659607e0Smrg		os=-newsos
816659607e0Smrg		;;
817659607e0Smrg	news1000)
818659607e0Smrg		basic_machine=m68030-sony
819659607e0Smrg		os=-newsos
820659607e0Smrg		;;
821659607e0Smrg	news-3600 | risc-news)
822659607e0Smrg		basic_machine=mips-sony
823659607e0Smrg		os=-newsos
824659607e0Smrg		;;
825659607e0Smrg	necv70)
826659607e0Smrg		basic_machine=v70-nec
827659607e0Smrg		os=-sysv
828659607e0Smrg		;;
829659607e0Smrg	next | m*-next )
830659607e0Smrg		basic_machine=m68k-next
831659607e0Smrg		case $os in
832659607e0Smrg		    -nextstep* )
833659607e0Smrg			;;
834659607e0Smrg		    -ns2*)
835659607e0Smrg		      os=-nextstep2
836659607e0Smrg			;;
837659607e0Smrg		    *)
838659607e0Smrg		      os=-nextstep3
839659607e0Smrg			;;
840659607e0Smrg		esac
841659607e0Smrg		;;
842659607e0Smrg	nh3000)
843659607e0Smrg		basic_machine=m68k-harris
844659607e0Smrg		os=-cxux
845659607e0Smrg		;;
846659607e0Smrg	nh[45]000)
847659607e0Smrg		basic_machine=m88k-harris
848659607e0Smrg		os=-cxux
849659607e0Smrg		;;
850659607e0Smrg	nindy960)
851659607e0Smrg		basic_machine=i960-intel
852659607e0Smrg		os=-nindy
853659607e0Smrg		;;
854659607e0Smrg	mon960)
855659607e0Smrg		basic_machine=i960-intel
856659607e0Smrg		os=-mon960
857659607e0Smrg		;;
858659607e0Smrg	nonstopux)
859659607e0Smrg		basic_machine=mips-compaq
860659607e0Smrg		os=-nonstopux
861659607e0Smrg		;;
862659607e0Smrg	np1)
863659607e0Smrg		basic_machine=np1-gould
864659607e0Smrg		;;
865bd3a1963Smrg        neo-tandem)
866bd3a1963Smrg		basic_machine=neo-tandem
867bd3a1963Smrg		;;
868bd3a1963Smrg        nse-tandem)
869bd3a1963Smrg		basic_machine=nse-tandem
870bd3a1963Smrg		;;
871659607e0Smrg	nsr-tandem)
872659607e0Smrg		basic_machine=nsr-tandem
873659607e0Smrg		;;
874659607e0Smrg	op50n-* | op60c-*)
875659607e0Smrg		basic_machine=hppa1.1-oki
876659607e0Smrg		os=-proelf
877659607e0Smrg		;;
878659607e0Smrg	openrisc | openrisc-*)
879659607e0Smrg		basic_machine=or32-unknown
880659607e0Smrg		;;
881659607e0Smrg	os400)
882659607e0Smrg		basic_machine=powerpc-ibm
883659607e0Smrg		os=-os400
884659607e0Smrg		;;
885659607e0Smrg	OSE68000 | ose68000)
886659607e0Smrg		basic_machine=m68000-ericsson
887659607e0Smrg		os=-ose
888659607e0Smrg		;;
889659607e0Smrg	os68k)
890659607e0Smrg		basic_machine=m68k-none
891659607e0Smrg		os=-os68k
892659607e0Smrg		;;
893659607e0Smrg	pa-hitachi)
894659607e0Smrg		basic_machine=hppa1.1-hitachi
895659607e0Smrg		os=-hiuxwe2
896659607e0Smrg		;;
897659607e0Smrg	paragon)
898659607e0Smrg		basic_machine=i860-intel
899659607e0Smrg		os=-osf
900659607e0Smrg		;;
901fc27e79cSmrg	parisc)
902fc27e79cSmrg		basic_machine=hppa-unknown
903fc27e79cSmrg		os=-linux
904fc27e79cSmrg		;;
905fc27e79cSmrg	parisc-*)
906fc27e79cSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907fc27e79cSmrg		os=-linux
908fc27e79cSmrg		;;
909659607e0Smrg	pbd)
910659607e0Smrg		basic_machine=sparc-tti
911659607e0Smrg		;;
912659607e0Smrg	pbb)
913659607e0Smrg		basic_machine=m68k-tti
914659607e0Smrg		;;
915659607e0Smrg	pc532 | pc532-*)
916659607e0Smrg		basic_machine=ns32k-pc532
917659607e0Smrg		;;
918fc27e79cSmrg	pc98)
919fc27e79cSmrg		basic_machine=i386-pc
920fc27e79cSmrg		;;
921fc27e79cSmrg	pc98-*)
922fc27e79cSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923fc27e79cSmrg		;;
924659607e0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925659607e0Smrg		basic_machine=i586-pc
926659607e0Smrg		;;
927659607e0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928659607e0Smrg		basic_machine=i686-pc
929659607e0Smrg		;;
930659607e0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
931659607e0Smrg		basic_machine=i686-pc
932659607e0Smrg		;;
933659607e0Smrg	pentium4)
934659607e0Smrg		basic_machine=i786-pc
935659607e0Smrg		;;
936659607e0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937659607e0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938659607e0Smrg		;;
939659607e0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940659607e0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941659607e0Smrg		;;
942659607e0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943659607e0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944659607e0Smrg		;;
945659607e0Smrg	pentium4-*)
946659607e0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947659607e0Smrg		;;
948659607e0Smrg	pn)
949659607e0Smrg		basic_machine=pn-gould
950659607e0Smrg		;;
951659607e0Smrg	power)	basic_machine=power-ibm
952659607e0Smrg		;;
953659607e0Smrg	ppc)	basic_machine=powerpc-unknown
954659607e0Smrg		;;
955659607e0Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956659607e0Smrg		;;
957659607e0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958659607e0Smrg		basic_machine=powerpcle-unknown
959659607e0Smrg		;;
960659607e0Smrg	ppcle-* | powerpclittle-*)
961659607e0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962659607e0Smrg		;;
963659607e0Smrg	ppc64)	basic_machine=powerpc64-unknown
964659607e0Smrg		;;
965659607e0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966659607e0Smrg		;;
967659607e0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968659607e0Smrg		basic_machine=powerpc64le-unknown
969659607e0Smrg		;;
970659607e0Smrg	ppc64le-* | powerpc64little-*)
971659607e0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972659607e0Smrg		;;
973659607e0Smrg	ps2)
974659607e0Smrg		basic_machine=i386-ibm
975659607e0Smrg		;;
976659607e0Smrg	pw32)
977659607e0Smrg		basic_machine=i586-unknown
978659607e0Smrg		os=-pw32
979659607e0Smrg		;;
980659607e0Smrg	rdos)
981659607e0Smrg		basic_machine=i386-pc
982659607e0Smrg		os=-rdos
983659607e0Smrg		;;
984659607e0Smrg	rom68k)
985659607e0Smrg		basic_machine=m68k-rom68k
986659607e0Smrg		os=-coff
987659607e0Smrg		;;
988659607e0Smrg	rm[46]00)
989659607e0Smrg		basic_machine=mips-siemens
990659607e0Smrg		;;
991659607e0Smrg	rtpc | rtpc-*)
992659607e0Smrg		basic_machine=romp-ibm
993659607e0Smrg		;;
994659607e0Smrg	s390 | s390-*)
995659607e0Smrg		basic_machine=s390-ibm
996659607e0Smrg		;;
997659607e0Smrg	s390x | s390x-*)
998659607e0Smrg		basic_machine=s390x-ibm
999659607e0Smrg		;;
1000659607e0Smrg	sa29200)
1001659607e0Smrg		basic_machine=a29k-amd
1002659607e0Smrg		os=-udi
1003659607e0Smrg		;;
1004659607e0Smrg	sb1)
1005659607e0Smrg		basic_machine=mipsisa64sb1-unknown
1006659607e0Smrg		;;
1007659607e0Smrg	sb1el)
1008659607e0Smrg		basic_machine=mipsisa64sb1el-unknown
1009659607e0Smrg		;;
1010fc27e79cSmrg	sde)
1011fc27e79cSmrg		basic_machine=mipsisa32-sde
1012fc27e79cSmrg		os=-elf
1013fc27e79cSmrg		;;
1014659607e0Smrg	sei)
1015659607e0Smrg		basic_machine=mips-sei
1016659607e0Smrg		os=-seiux
1017659607e0Smrg		;;
1018659607e0Smrg	sequent)
1019659607e0Smrg		basic_machine=i386-sequent
1020659607e0Smrg		;;
1021659607e0Smrg	sh)
1022659607e0Smrg		basic_machine=sh-hitachi
1023659607e0Smrg		os=-hms
1024659607e0Smrg		;;
1025fc27e79cSmrg	sh5el)
1026fc27e79cSmrg		basic_machine=sh5le-unknown
1027fc27e79cSmrg		;;
1028659607e0Smrg	sh64)
1029659607e0Smrg		basic_machine=sh64-unknown
1030659607e0Smrg		;;
1031659607e0Smrg	sparclite-wrs | simso-wrs)
1032659607e0Smrg		basic_machine=sparclite-wrs
1033659607e0Smrg		os=-vxworks
1034659607e0Smrg		;;
1035659607e0Smrg	sps7)
1036659607e0Smrg		basic_machine=m68k-bull
1037659607e0Smrg		os=-sysv2
1038659607e0Smrg		;;
1039659607e0Smrg	spur)
1040659607e0Smrg		basic_machine=spur-unknown
1041659607e0Smrg		;;
1042659607e0Smrg	st2000)
1043659607e0Smrg		basic_machine=m68k-tandem
1044659607e0Smrg		;;
1045659607e0Smrg	stratus)
1046659607e0Smrg		basic_machine=i860-stratus
1047659607e0Smrg		os=-sysv4
1048659607e0Smrg		;;
1049659607e0Smrg	sun2)
1050659607e0Smrg		basic_machine=m68000-sun
1051659607e0Smrg		;;
1052659607e0Smrg	sun2os3)
1053659607e0Smrg		basic_machine=m68000-sun
1054659607e0Smrg		os=-sunos3
1055659607e0Smrg		;;
1056659607e0Smrg	sun2os4)
1057659607e0Smrg		basic_machine=m68000-sun
1058659607e0Smrg		os=-sunos4
1059659607e0Smrg		;;
1060659607e0Smrg	sun3os3)
1061659607e0Smrg		basic_machine=m68k-sun
1062659607e0Smrg		os=-sunos3
1063659607e0Smrg		;;
1064659607e0Smrg	sun3os4)
1065659607e0Smrg		basic_machine=m68k-sun
1066659607e0Smrg		os=-sunos4
1067659607e0Smrg		;;
1068659607e0Smrg	sun4os3)
1069659607e0Smrg		basic_machine=sparc-sun
1070659607e0Smrg		os=-sunos3
1071659607e0Smrg		;;
1072659607e0Smrg	sun4os4)
1073659607e0Smrg		basic_machine=sparc-sun
1074659607e0Smrg		os=-sunos4
1075659607e0Smrg		;;
1076659607e0Smrg	sun4sol2)
1077659607e0Smrg		basic_machine=sparc-sun
1078659607e0Smrg		os=-solaris2
1079659607e0Smrg		;;
1080659607e0Smrg	sun3 | sun3-*)
1081659607e0Smrg		basic_machine=m68k-sun
1082659607e0Smrg		;;
1083659607e0Smrg	sun4)
1084659607e0Smrg		basic_machine=sparc-sun
1085659607e0Smrg		;;
1086659607e0Smrg	sun386 | sun386i | roadrunner)
1087659607e0Smrg		basic_machine=i386-sun
1088659607e0Smrg		;;
1089659607e0Smrg	sv1)
1090659607e0Smrg		basic_machine=sv1-cray
1091659607e0Smrg		os=-unicos
1092659607e0Smrg		;;
1093659607e0Smrg	symmetry)
1094659607e0Smrg		basic_machine=i386-sequent
1095659607e0Smrg		os=-dynix
1096659607e0Smrg		;;
1097659607e0Smrg	t3e)
1098659607e0Smrg		basic_machine=alphaev5-cray
1099659607e0Smrg		os=-unicos
1100659607e0Smrg		;;
1101659607e0Smrg	t90)
1102659607e0Smrg		basic_machine=t90-cray
1103659607e0Smrg		os=-unicos
1104659607e0Smrg		;;
1105bd3a1963Smrg        # This must be matched before tile*.
1106bd3a1963Smrg        tilegx*)
1107bd3a1963Smrg		basic_machine=tilegx-unknown
1108bd3a1963Smrg		os=-linux-gnu
1109659607e0Smrg		;;
1110fc27e79cSmrg	tile*)
1111fc27e79cSmrg		basic_machine=tile-unknown
1112fc27e79cSmrg		os=-linux-gnu
1113fc27e79cSmrg		;;
1114659607e0Smrg	tx39)
1115659607e0Smrg		basic_machine=mipstx39-unknown
1116659607e0Smrg		;;
1117659607e0Smrg	tx39el)
1118659607e0Smrg		basic_machine=mipstx39el-unknown
1119659607e0Smrg		;;
1120659607e0Smrg	toad1)
1121659607e0Smrg		basic_machine=pdp10-xkl
1122659607e0Smrg		os=-tops20
1123659607e0Smrg		;;
1124659607e0Smrg	tower | tower-32)
1125659607e0Smrg		basic_machine=m68k-ncr
1126659607e0Smrg		;;
1127659607e0Smrg	tpf)
1128659607e0Smrg		basic_machine=s390x-ibm
1129659607e0Smrg		os=-tpf
1130659607e0Smrg		;;
1131659607e0Smrg	udi29k)
1132659607e0Smrg		basic_machine=a29k-amd
1133659607e0Smrg		os=-udi
1134659607e0Smrg		;;
1135659607e0Smrg	ultra3)
1136659607e0Smrg		basic_machine=a29k-nyu
1137659607e0Smrg		os=-sym1
1138659607e0Smrg		;;
1139659607e0Smrg	v810 | necv810)
1140659607e0Smrg		basic_machine=v810-nec
1141659607e0Smrg		os=-none
1142659607e0Smrg		;;
1143659607e0Smrg	vaxv)
1144659607e0Smrg		basic_machine=vax-dec
1145659607e0Smrg		os=-sysv
1146659607e0Smrg		;;
1147659607e0Smrg	vms)
1148659607e0Smrg		basic_machine=vax-dec
1149659607e0Smrg		os=-vms
1150659607e0Smrg		;;
1151659607e0Smrg	vpp*|vx|vx-*)
1152659607e0Smrg		basic_machine=f301-fujitsu
1153659607e0Smrg		;;
1154659607e0Smrg	vxworks960)
1155659607e0Smrg		basic_machine=i960-wrs
1156659607e0Smrg		os=-vxworks
1157659607e0Smrg		;;
1158659607e0Smrg	vxworks68)
1159659607e0Smrg		basic_machine=m68k-wrs
1160659607e0Smrg		os=-vxworks
1161659607e0Smrg		;;
1162659607e0Smrg	vxworks29k)
1163659607e0Smrg		basic_machine=a29k-wrs
1164659607e0Smrg		os=-vxworks
1165659607e0Smrg		;;
1166659607e0Smrg	w65*)
1167659607e0Smrg		basic_machine=w65-wdc
1168659607e0Smrg		os=-none
1169659607e0Smrg		;;
1170659607e0Smrg	w89k-*)
1171659607e0Smrg		basic_machine=hppa1.1-winbond
1172659607e0Smrg		os=-proelf
1173659607e0Smrg		;;
1174659607e0Smrg	xbox)
1175659607e0Smrg		basic_machine=i686-pc
1176659607e0Smrg		os=-mingw32
1177659607e0Smrg		;;
1178659607e0Smrg	xps | xps100)
1179659607e0Smrg		basic_machine=xps100-honeywell
1180659607e0Smrg		;;
1181659607e0Smrg	ymp)
1182659607e0Smrg		basic_machine=ymp-cray
1183659607e0Smrg		os=-unicos
1184659607e0Smrg		;;
1185659607e0Smrg	z8k-*-coff)
1186659607e0Smrg		basic_machine=z8k-unknown
1187659607e0Smrg		os=-sim
1188659607e0Smrg		;;
1189b73be646Smrg	z80-*-coff)
1190b73be646Smrg		basic_machine=z80-unknown
1191b73be646Smrg		os=-sim
1192b73be646Smrg		;;
1193659607e0Smrg	none)
1194659607e0Smrg		basic_machine=none-none
1195659607e0Smrg		os=-none
1196659607e0Smrg		;;
1197659607e0Smrg
1198659607e0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199659607e0Smrg# some cases the only manufacturer, in others, it is the most popular.
1200659607e0Smrg	w89k)
1201659607e0Smrg		basic_machine=hppa1.1-winbond
1202659607e0Smrg		;;
1203659607e0Smrg	op50n)
1204659607e0Smrg		basic_machine=hppa1.1-oki
1205659607e0Smrg		;;
1206659607e0Smrg	op60c)
1207659607e0Smrg		basic_machine=hppa1.1-oki
1208659607e0Smrg		;;
1209659607e0Smrg	romp)
1210659607e0Smrg		basic_machine=romp-ibm
1211659607e0Smrg		;;
1212659607e0Smrg	mmix)
1213659607e0Smrg		basic_machine=mmix-knuth
1214659607e0Smrg		;;
1215659607e0Smrg	rs6000)
1216659607e0Smrg		basic_machine=rs6000-ibm
1217659607e0Smrg		;;
1218659607e0Smrg	vax)
1219659607e0Smrg		basic_machine=vax-dec
1220659607e0Smrg		;;
1221659607e0Smrg	pdp10)
1222659607e0Smrg		# there are many clones, so DEC is not a safe bet
1223659607e0Smrg		basic_machine=pdp10-unknown
1224659607e0Smrg		;;
1225659607e0Smrg	pdp11)
1226659607e0Smrg		basic_machine=pdp11-dec
1227659607e0Smrg		;;
1228659607e0Smrg	we32k)
1229659607e0Smrg		basic_machine=we32k-att
1230659607e0Smrg		;;
1231b73be646Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232659607e0Smrg		basic_machine=sh-unknown
1233659607e0Smrg		;;
1234fc27e79cSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235659607e0Smrg		basic_machine=sparc-sun
1236659607e0Smrg		;;
1237659607e0Smrg	cydra)
1238659607e0Smrg		basic_machine=cydra-cydrome
1239659607e0Smrg		;;
1240659607e0Smrg	orion)
1241659607e0Smrg		basic_machine=orion-highlevel
1242659607e0Smrg		;;
1243659607e0Smrg	orion105)
1244659607e0Smrg		basic_machine=clipper-highlevel
1245659607e0Smrg		;;
1246659607e0Smrg	mac | mpw | mac-mpw)
1247659607e0Smrg		basic_machine=m68k-apple
1248659607e0Smrg		;;
1249659607e0Smrg	pmac | pmac-mpw)
1250659607e0Smrg		basic_machine=powerpc-apple
1251659607e0Smrg		;;
1252659607e0Smrg	*-unknown)
1253659607e0Smrg		# Make sure to match an already-canonicalized machine name.
1254659607e0Smrg		;;
1255659607e0Smrg	*)
1256659607e0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257659607e0Smrg		exit 1
1258659607e0Smrg		;;
1259659607e0Smrgesac
1260659607e0Smrg
1261659607e0Smrg# Here we canonicalize certain aliases for manufacturers.
1262659607e0Smrgcase $basic_machine in
1263659607e0Smrg	*-digital*)
1264659607e0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265659607e0Smrg		;;
1266659607e0Smrg	*-commodore*)
1267659607e0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268659607e0Smrg		;;
1269659607e0Smrg	*)
1270659607e0Smrg		;;
1271659607e0Smrgesac
1272659607e0Smrg
1273659607e0Smrg# Decode manufacturer-specific aliases for certain operating systems.
1274659607e0Smrg
1275659607e0Smrgif [ x"$os" != x"" ]
1276659607e0Smrgthen
1277659607e0Smrgcase $os in
1278659607e0Smrg        # First match some system type aliases
1279659607e0Smrg        # that might get confused with valid system types.
1280659607e0Smrg	# -solaris* is a basic system type, with this one exception.
1281b73be646Smrg        -auroraux)
1282b73be646Smrg	        os=-auroraux
1283b73be646Smrg		;;
1284659607e0Smrg	-solaris1 | -solaris1.*)
1285659607e0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286659607e0Smrg		;;
1287659607e0Smrg	-solaris)
1288659607e0Smrg		os=-solaris2
1289659607e0Smrg		;;
1290659607e0Smrg	-svr4*)
1291659607e0Smrg		os=-sysv4
1292659607e0Smrg		;;
1293659607e0Smrg	-unixware*)
1294659607e0Smrg		os=-sysv4.2uw
1295659607e0Smrg		;;
1296659607e0Smrg	-gnu/linux*)
1297659607e0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298659607e0Smrg		;;
1299659607e0Smrg	# First accept the basic system types.
1300659607e0Smrg	# The portable systems comes first.
1301659607e0Smrg	# Each alternative MUST END IN A *, to match a version number.
1302659607e0Smrg	# -sysv* is not here because it comes later, after sysvr4.
1303659607e0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304b73be646Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305b73be646Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306b73be646Smrg	      | -sym* | -kopensolaris* \
1307659607e0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308b73be646Smrg	      | -aos* | -aros* \
1309659607e0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310659607e0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311fc27e79cSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312fc27e79cSmrg	      | -openbsd* | -solidbsd* \
1313659607e0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314659607e0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315659607e0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316659607e0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317b73be646Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318659607e0Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319bd3a1963Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320bd3a1963Smrg	      | -linux-newlib* | -linux-uclibc* \
1321659607e0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322659607e0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323659607e0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324659607e0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325659607e0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326659607e0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327659607e0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328b73be646Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329659607e0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1330659607e0Smrg		;;
1331659607e0Smrg	-qnx*)
1332659607e0Smrg		case $basic_machine in
1333659607e0Smrg		    x86-* | i*86-*)
1334659607e0Smrg			;;
1335659607e0Smrg		    *)
1336659607e0Smrg			os=-nto$os
1337659607e0Smrg			;;
1338659607e0Smrg		esac
1339659607e0Smrg		;;
1340659607e0Smrg	-nto-qnx*)
1341659607e0Smrg		;;
1342659607e0Smrg	-nto*)
1343659607e0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344659607e0Smrg		;;
1345659607e0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346659607e0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347659607e0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348659607e0Smrg		;;
1349659607e0Smrg	-mac*)
1350659607e0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1351659607e0Smrg		;;
1352659607e0Smrg	-linux-dietlibc)
1353659607e0Smrg		os=-linux-dietlibc
1354659607e0Smrg		;;
1355659607e0Smrg	-linux*)
1356659607e0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357659607e0Smrg		;;
1358659607e0Smrg	-sunos5*)
1359659607e0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360659607e0Smrg		;;
1361659607e0Smrg	-sunos6*)
1362659607e0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363659607e0Smrg		;;
1364659607e0Smrg	-opened*)
1365659607e0Smrg		os=-openedition
1366659607e0Smrg		;;
1367659607e0Smrg        -os400*)
1368659607e0Smrg		os=-os400
1369659607e0Smrg		;;
1370659607e0Smrg	-wince*)
1371659607e0Smrg		os=-wince
1372659607e0Smrg		;;
1373659607e0Smrg	-osfrose*)
1374659607e0Smrg		os=-osfrose
1375659607e0Smrg		;;
1376659607e0Smrg	-osf*)
1377659607e0Smrg		os=-osf
1378659607e0Smrg		;;
1379659607e0Smrg	-utek*)
1380659607e0Smrg		os=-bsd
1381659607e0Smrg		;;
1382659607e0Smrg	-dynix*)
1383659607e0Smrg		os=-bsd
1384659607e0Smrg		;;
1385659607e0Smrg	-acis*)
1386659607e0Smrg		os=-aos
1387659607e0Smrg		;;
1388659607e0Smrg	-atheos*)
1389659607e0Smrg		os=-atheos
1390659607e0Smrg		;;
1391659607e0Smrg	-syllable*)
1392659607e0Smrg		os=-syllable
1393659607e0Smrg		;;
1394659607e0Smrg	-386bsd)
1395659607e0Smrg		os=-bsd
1396659607e0Smrg		;;
1397659607e0Smrg	-ctix* | -uts*)
1398659607e0Smrg		os=-sysv
1399659607e0Smrg		;;
1400659607e0Smrg	-nova*)
1401659607e0Smrg		os=-rtmk-nova
1402659607e0Smrg		;;
1403659607e0Smrg	-ns2 )
1404659607e0Smrg		os=-nextstep2
1405659607e0Smrg		;;
1406659607e0Smrg	-nsk*)
1407659607e0Smrg		os=-nsk
1408659607e0Smrg		;;
1409659607e0Smrg	# Preserve the version number of sinix5.
1410659607e0Smrg	-sinix5.*)
1411659607e0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412659607e0Smrg		;;
1413659607e0Smrg	-sinix*)
1414659607e0Smrg		os=-sysv4
1415659607e0Smrg		;;
1416659607e0Smrg        -tpf*)
1417659607e0Smrg		os=-tpf
1418659607e0Smrg		;;
1419659607e0Smrg	-triton*)
1420659607e0Smrg		os=-sysv3
1421659607e0Smrg		;;
1422659607e0Smrg	-oss*)
1423659607e0Smrg		os=-sysv3
1424659607e0Smrg		;;
1425659607e0Smrg	-svr4)
1426659607e0Smrg		os=-sysv4
1427659607e0Smrg		;;
1428659607e0Smrg	-svr3)
1429659607e0Smrg		os=-sysv3
1430659607e0Smrg		;;
1431659607e0Smrg	-sysvr4)
1432659607e0Smrg		os=-sysv4
1433659607e0Smrg		;;
1434659607e0Smrg	# This must come after -sysvr4.
1435659607e0Smrg	-sysv*)
1436659607e0Smrg		;;
1437659607e0Smrg	-ose*)
1438659607e0Smrg		os=-ose
1439659607e0Smrg		;;
1440659607e0Smrg	-es1800*)
1441659607e0Smrg		os=-ose
1442659607e0Smrg		;;
1443659607e0Smrg	-xenix)
1444659607e0Smrg		os=-xenix
1445659607e0Smrg		;;
1446659607e0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447659607e0Smrg		os=-mint
1448659607e0Smrg		;;
1449659607e0Smrg	-aros*)
1450659607e0Smrg		os=-aros
1451659607e0Smrg		;;
1452659607e0Smrg	-kaos*)
1453659607e0Smrg		os=-kaos
1454659607e0Smrg		;;
1455659607e0Smrg	-zvmoe)
1456659607e0Smrg		os=-zvmoe
1457659607e0Smrg		;;
1458b73be646Smrg	-dicos*)
1459b73be646Smrg		os=-dicos
1460b73be646Smrg		;;
1461bd3a1963Smrg        -nacl*)
1462bd3a1963Smrg	        ;;
1463659607e0Smrg	-none)
1464659607e0Smrg		;;
1465659607e0Smrg	*)
1466659607e0Smrg		# Get rid of the `-' at the beginning of $os.
1467659607e0Smrg		os=`echo $os | sed 's/[^-]*-//'`
1468659607e0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469659607e0Smrg		exit 1
1470659607e0Smrg		;;
1471659607e0Smrgesac
1472659607e0Smrgelse
1473659607e0Smrg
1474659607e0Smrg# Here we handle the default operating systems that come with various machines.
1475659607e0Smrg# The value should be what the vendor currently ships out the door with their
1476659607e0Smrg# machine or put another way, the most popular os provided with the machine.
1477659607e0Smrg
1478659607e0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479659607e0Smrg# "-sun"), then you have to tell the case statement up towards the top
1480659607e0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481659607e0Smrg# will signal an error saying that MANUFACTURER isn't an operating
1482659607e0Smrg# system, and we'll never get to this point.
1483659607e0Smrg
1484659607e0Smrgcase $basic_machine in
1485fc27e79cSmrg        score-*)
1486fc27e79cSmrg		os=-elf
1487fc27e79cSmrg		;;
1488fc27e79cSmrg        spu-*)
1489fc27e79cSmrg		os=-elf
1490fc27e79cSmrg		;;
1491659607e0Smrg	*-acorn)
1492659607e0Smrg		os=-riscix1.2
1493659607e0Smrg		;;
1494659607e0Smrg	arm*-rebel)
1495659607e0Smrg		os=-linux
1496659607e0Smrg		;;
1497659607e0Smrg	arm*-semi)
1498659607e0Smrg		os=-aout
1499659607e0Smrg		;;
1500fc27e79cSmrg        c4x-* | tic4x-*)
1501fc27e79cSmrg        	os=-coff
1502fc27e79cSmrg		;;
1503bd3a1963Smrg	tic54x-*)
1504bd3a1963Smrg		os=-coff
1505bd3a1963Smrg		;;
1506bd3a1963Smrg	tic55x-*)
1507bd3a1963Smrg		os=-coff
1508bd3a1963Smrg		;;
1509bd3a1963Smrg	tic6x-*)
1510bd3a1963Smrg		os=-coff
1511bd3a1963Smrg		;;
1512659607e0Smrg	# This must come before the *-dec entry.
1513659607e0Smrg	pdp10-*)
1514659607e0Smrg		os=-tops20
1515659607e0Smrg		;;
1516659607e0Smrg	pdp11-*)
1517659607e0Smrg		os=-none
1518659607e0Smrg		;;
1519659607e0Smrg	*-dec | vax-*)
1520659607e0Smrg		os=-ultrix4.2
1521659607e0Smrg		;;
1522659607e0Smrg	m68*-apollo)
1523659607e0Smrg		os=-domain
1524659607e0Smrg		;;
1525659607e0Smrg	i386-sun)
1526659607e0Smrg		os=-sunos4.0.2
1527659607e0Smrg		;;
1528659607e0Smrg	m68000-sun)
1529659607e0Smrg		os=-sunos3
1530659607e0Smrg		# This also exists in the configure program, but was not the
1531659607e0Smrg		# default.
1532659607e0Smrg		# os=-sunos4
1533659607e0Smrg		;;
1534659607e0Smrg	m68*-cisco)
1535659607e0Smrg		os=-aout
1536659607e0Smrg		;;
1537fc27e79cSmrg        mep-*)
1538fc27e79cSmrg		os=-elf
1539fc27e79cSmrg		;;
1540659607e0Smrg	mips*-cisco)
1541659607e0Smrg		os=-elf
1542659607e0Smrg		;;
1543659607e0Smrg	mips*-*)
1544659607e0Smrg		os=-elf
1545659607e0Smrg		;;
1546659607e0Smrg	or32-*)
1547659607e0Smrg		os=-coff
1548659607e0Smrg		;;
1549659607e0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550659607e0Smrg		os=-sysv3
1551659607e0Smrg		;;
1552659607e0Smrg	sparc-* | *-sun)
1553659607e0Smrg		os=-sunos4.1.1
1554659607e0Smrg		;;
1555659607e0Smrg	*-be)
1556659607e0Smrg		os=-beos
1557659607e0Smrg		;;
1558659607e0Smrg	*-haiku)
1559659607e0Smrg		os=-haiku
1560659607e0Smrg		;;
1561659607e0Smrg	*-ibm)
1562659607e0Smrg		os=-aix
1563659607e0Smrg		;;
1564659607e0Smrg    	*-knuth)
1565659607e0Smrg		os=-mmixware
1566659607e0Smrg		;;
1567659607e0Smrg	*-wec)
1568659607e0Smrg		os=-proelf
1569659607e0Smrg		;;
1570659607e0Smrg	*-winbond)
1571659607e0Smrg		os=-proelf
1572659607e0Smrg		;;
1573659607e0Smrg	*-oki)
1574659607e0Smrg		os=-proelf
1575659607e0Smrg		;;
1576659607e0Smrg	*-hp)
1577659607e0Smrg		os=-hpux
1578659607e0Smrg		;;
1579659607e0Smrg	*-hitachi)
1580659607e0Smrg		os=-hiux
1581659607e0Smrg		;;
1582659607e0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583659607e0Smrg		os=-sysv
1584659607e0Smrg		;;
1585659607e0Smrg	*-cbm)
1586659607e0Smrg		os=-amigaos
1587659607e0Smrg		;;
1588659607e0Smrg	*-dg)
1589659607e0Smrg		os=-dgux
1590659607e0Smrg		;;
1591659607e0Smrg	*-dolphin)
1592659607e0Smrg		os=-sysv3
1593659607e0Smrg		;;
1594659607e0Smrg	m68k-ccur)
1595659607e0Smrg		os=-rtu
1596659607e0Smrg		;;
1597659607e0Smrg	m88k-omron*)
1598659607e0Smrg		os=-luna
1599659607e0Smrg		;;
1600659607e0Smrg	*-next )
1601659607e0Smrg		os=-nextstep
1602659607e0Smrg		;;
1603659607e0Smrg	*-sequent)
1604659607e0Smrg		os=-ptx
1605659607e0Smrg		;;
1606659607e0Smrg	*-crds)
1607659607e0Smrg		os=-unos
1608659607e0Smrg		;;
1609659607e0Smrg	*-ns)
1610659607e0Smrg		os=-genix
1611659607e0Smrg		;;
1612659607e0Smrg	i370-*)
1613659607e0Smrg		os=-mvs
1614659607e0Smrg		;;
1615659607e0Smrg	*-next)
1616659607e0Smrg		os=-nextstep3
1617659607e0Smrg		;;
1618659607e0Smrg	*-gould)
1619659607e0Smrg		os=-sysv
1620659607e0Smrg		;;
1621659607e0Smrg	*-highlevel)
1622659607e0Smrg		os=-bsd
1623659607e0Smrg		;;
1624659607e0Smrg	*-encore)
1625659607e0Smrg		os=-bsd
1626659607e0Smrg		;;
1627659607e0Smrg	*-sgi)
1628659607e0Smrg		os=-irix
1629659607e0Smrg		;;
1630659607e0Smrg	*-siemens)
1631659607e0Smrg		os=-sysv4
1632659607e0Smrg		;;
1633659607e0Smrg	*-masscomp)
1634659607e0Smrg		os=-rtu
1635659607e0Smrg		;;
1636659607e0Smrg	f30[01]-fujitsu | f700-fujitsu)
1637659607e0Smrg		os=-uxpv
1638659607e0Smrg		;;
1639659607e0Smrg	*-rom68k)
1640659607e0Smrg		os=-coff
1641659607e0Smrg		;;
1642659607e0Smrg	*-*bug)
1643659607e0Smrg		os=-coff
1644659607e0Smrg		;;
1645659607e0Smrg	*-apple)
1646659607e0Smrg		os=-macos
1647659607e0Smrg		;;
1648659607e0Smrg	*-atari*)
1649659607e0Smrg		os=-mint
1650659607e0Smrg		;;
1651659607e0Smrg	*)
1652659607e0Smrg		os=-none
1653659607e0Smrg		;;
1654659607e0Smrgesac
1655659607e0Smrgfi
1656659607e0Smrg
1657659607e0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1658659607e0Smrg# manufacturer.  We pick the logical manufacturer.
1659659607e0Smrgvendor=unknown
1660659607e0Smrgcase $basic_machine in
1661659607e0Smrg	*-unknown)
1662659607e0Smrg		case $os in
1663659607e0Smrg			-riscix*)
1664659607e0Smrg				vendor=acorn
1665659607e0Smrg				;;
1666659607e0Smrg			-sunos*)
1667659607e0Smrg				vendor=sun
1668659607e0Smrg				;;
1669b73be646Smrg			-cnk*|-aix*)
1670659607e0Smrg				vendor=ibm
1671659607e0Smrg				;;
1672659607e0Smrg			-beos*)
1673659607e0Smrg				vendor=be
1674659607e0Smrg				;;
1675659607e0Smrg			-hpux*)
1676659607e0Smrg				vendor=hp
1677659607e0Smrg				;;
1678659607e0Smrg			-mpeix*)
1679659607e0Smrg				vendor=hp
1680659607e0Smrg				;;
1681659607e0Smrg			-hiux*)
1682659607e0Smrg				vendor=hitachi
1683659607e0Smrg				;;
1684659607e0Smrg			-unos*)
1685659607e0Smrg				vendor=crds
1686659607e0Smrg				;;
1687659607e0Smrg			-dgux*)
1688659607e0Smrg				vendor=dg
1689659607e0Smrg				;;
1690659607e0Smrg			-luna*)
1691659607e0Smrg				vendor=omron
1692659607e0Smrg				;;
1693659607e0Smrg			-genix*)
1694659607e0Smrg				vendor=ns
1695659607e0Smrg				;;
1696659607e0Smrg			-mvs* | -opened*)
1697659607e0Smrg				vendor=ibm
1698659607e0Smrg				;;
1699659607e0Smrg			-os400*)
1700659607e0Smrg				vendor=ibm
1701659607e0Smrg				;;
1702659607e0Smrg			-ptx*)
1703659607e0Smrg				vendor=sequent
1704659607e0Smrg				;;
1705659607e0Smrg			-tpf*)
1706659607e0Smrg				vendor=ibm
1707659607e0Smrg				;;
1708659607e0Smrg			-vxsim* | -vxworks* | -windiss*)
1709659607e0Smrg				vendor=wrs
1710659607e0Smrg				;;
1711659607e0Smrg			-aux*)
1712659607e0Smrg				vendor=apple
1713659607e0Smrg				;;
1714659607e0Smrg			-hms*)
1715659607e0Smrg				vendor=hitachi
1716659607e0Smrg				;;
1717659607e0Smrg			-mpw* | -macos*)
1718659607e0Smrg				vendor=apple
1719659607e0Smrg				;;
1720659607e0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721659607e0Smrg				vendor=atari
1722659607e0Smrg				;;
1723659607e0Smrg			-vos*)
1724659607e0Smrg				vendor=stratus
1725659607e0Smrg				;;
1726659607e0Smrg		esac
1727659607e0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728659607e0Smrg		;;
1729659607e0Smrgesac
1730659607e0Smrg
1731659607e0Smrgecho $basic_machine$os
1732659607e0Smrgexit
1733659607e0Smrg
1734659607e0Smrg# Local variables:
1735659607e0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736659607e0Smrg# time-stamp-start: "timestamp='"
1737659607e0Smrg# time-stamp-format: "%:y-%02m-%02d"
1738659607e0Smrg# time-stamp-end: "'"
1739659607e0Smrg# End:
1740