config.sub revision 555991fd
1126a8a12Smrg#! /bin/sh
2126a8a12Smrg# Configuration validation subroutine script.
3126a8a12Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4555991fdSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5d656433aSmrg#   Free Software Foundation, Inc.
6126a8a12Smrg
7555991fdSmrgtimestamp='2010-09-11'
8126a8a12Smrg
9126a8a12Smrg# This file is (in principle) common to ALL GNU software.
10126a8a12Smrg# The presence of a machine in this file suggests that SOME GNU software
11126a8a12Smrg# can handle that machine.  It does not imply ALL GNU software can.
12126a8a12Smrg#
13126a8a12Smrg# This file is free software; you can redistribute it and/or modify
14126a8a12Smrg# it under the terms of the GNU General Public License as published by
15126a8a12Smrg# the Free Software Foundation; either version 2 of the License, or
16126a8a12Smrg# (at your option) any later version.
17126a8a12Smrg#
18126a8a12Smrg# This program is distributed in the hope that it will be useful,
19126a8a12Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20126a8a12Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21126a8a12Smrg# GNU General Public License for more details.
22126a8a12Smrg#
23126a8a12Smrg# You should have received a copy of the GNU General Public License
24126a8a12Smrg# along with this program; if not, write to the Free Software
25126a8a12Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26126a8a12Smrg# 02110-1301, USA.
27126a8a12Smrg#
28126a8a12Smrg# As a special exception to the GNU General Public License, if you
29126a8a12Smrg# distribute this file as part of a program that contains a
30126a8a12Smrg# configuration script generated by Autoconf, you may include it under
31126a8a12Smrg# the same distribution terms that you use for the rest of that program.
32126a8a12Smrg
33126a8a12Smrg
34126a8a12Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35555991fdSmrg# diff and a properly formatted GNU ChangeLog entry.
36126a8a12Smrg#
37126a8a12Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38126a8a12Smrg# Supply the specified configuration type as an argument.
39126a8a12Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40126a8a12Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41126a8a12Smrg
42555991fdSmrg# You can get the latest version of this script from:
43555991fdSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44555991fdSmrg
45126a8a12Smrg# This file is supposed to be the same for all GNU packages
46126a8a12Smrg# and recognize all the CPU types, system types and aliases
47126a8a12Smrg# that are meaningful with *any* GNU software.
48126a8a12Smrg# Each package is responsible for reporting which valid configurations
49126a8a12Smrg# it does not support.  The user should be able to distinguish
50126a8a12Smrg# a failure to support a valid configuration from a meaningless
51126a8a12Smrg# configuration.
52126a8a12Smrg
53126a8a12Smrg# The goal of this file is to map all the various variations of a given
54126a8a12Smrg# machine specification into a single specification in the form:
55126a8a12Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56126a8a12Smrg# or in some cases, the newer four-part form:
57126a8a12Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58126a8a12Smrg# It is wrong to echo any other type of specification.
59126a8a12Smrg
60126a8a12Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61126a8a12Smrg
62126a8a12Smrgusage="\
63126a8a12SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64126a8a12Smrg       $0 [OPTION] ALIAS
65126a8a12Smrg
66126a8a12SmrgCanonicalize a configuration name.
67126a8a12Smrg
68126a8a12SmrgOperation modes:
69126a8a12Smrg  -h, --help         print this help, then exit
70126a8a12Smrg  -t, --time-stamp   print date of last modification, then exit
71126a8a12Smrg  -v, --version      print version number, then exit
72126a8a12Smrg
73126a8a12SmrgReport bugs and patches to <config-patches@gnu.org>."
74126a8a12Smrg
75126a8a12Smrgversion="\
76126a8a12SmrgGNU config.sub ($timestamp)
77126a8a12Smrg
78555991fdSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79555991fdSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80555991fdSmrgSoftware Foundation, Inc.
81126a8a12Smrg
82126a8a12SmrgThis is free software; see the source for copying conditions.  There is NO
83126a8a12Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84126a8a12Smrg
85126a8a12Smrghelp="
86126a8a12SmrgTry \`$me --help' for more information."
87126a8a12Smrg
88126a8a12Smrg# Parse command line
89126a8a12Smrgwhile test $# -gt 0 ; do
90126a8a12Smrg  case $1 in
91126a8a12Smrg    --time-stamp | --time* | -t )
92126a8a12Smrg       echo "$timestamp" ; exit ;;
93126a8a12Smrg    --version | -v )
94126a8a12Smrg       echo "$version" ; exit ;;
95126a8a12Smrg    --help | --h* | -h )
96126a8a12Smrg       echo "$usage"; exit ;;
97126a8a12Smrg    -- )     # Stop option processing
98126a8a12Smrg       shift; break ;;
99126a8a12Smrg    - )	# Use stdin as input.
100126a8a12Smrg       break ;;
101126a8a12Smrg    -* )
102126a8a12Smrg       echo "$me: invalid option $1$help"
103126a8a12Smrg       exit 1 ;;
104126a8a12Smrg
105126a8a12Smrg    *local*)
106126a8a12Smrg       # First pass through any local machine types.
107126a8a12Smrg       echo $1
108126a8a12Smrg       exit ;;
109126a8a12Smrg
110126a8a12Smrg    * )
111126a8a12Smrg       break ;;
112126a8a12Smrg  esac
113126a8a12Smrgdone
114126a8a12Smrg
115126a8a12Smrgcase $# in
116126a8a12Smrg 0) echo "$me: missing argument$help" >&2
117126a8a12Smrg    exit 1;;
118126a8a12Smrg 1) ;;
119126a8a12Smrg *) echo "$me: too many arguments$help" >&2
120126a8a12Smrg    exit 1;;
121126a8a12Smrgesac
122126a8a12Smrg
123126a8a12Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124126a8a12Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125126a8a12Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126126a8a12Smrgcase $maybe_os in
127555991fdSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128555991fdSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129555991fdSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130d656433aSmrg  kopensolaris*-gnu* | \
131126a8a12Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132126a8a12Smrg    os=-$maybe_os
133126a8a12Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134126a8a12Smrg    ;;
135126a8a12Smrg  *)
136126a8a12Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137126a8a12Smrg    if [ $basic_machine != $1 ]
138126a8a12Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139126a8a12Smrg    else os=; fi
140126a8a12Smrg    ;;
141126a8a12Smrgesac
142126a8a12Smrg
143126a8a12Smrg### Let's recognize common machines as not being operating systems so
144126a8a12Smrg### that things like config.sub decstation-3100 work.  We also
145126a8a12Smrg### recognize some manufacturers as not being operating systems, so we
146126a8a12Smrg### can provide default operating systems below.
147126a8a12Smrgcase $os in
148126a8a12Smrg	-sun*os*)
149126a8a12Smrg		# Prevent following clause from handling this invalid input.
150126a8a12Smrg		;;
151126a8a12Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152126a8a12Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153126a8a12Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154126a8a12Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155126a8a12Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156126a8a12Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157555991fdSmrg	-apple | -axis | -knuth | -cray | -microblaze)
158126a8a12Smrg		os=
159126a8a12Smrg		basic_machine=$1
160126a8a12Smrg		;;
161555991fdSmrg        -bluegene*)
162555991fdSmrg	        os=-cnk
163555991fdSmrg		;;
164126a8a12Smrg	-sim | -cisco | -oki | -wec | -winbond)
165126a8a12Smrg		os=
166126a8a12Smrg		basic_machine=$1
167126a8a12Smrg		;;
168126a8a12Smrg	-scout)
169126a8a12Smrg		;;
170126a8a12Smrg	-wrs)
171126a8a12Smrg		os=-vxworks
172126a8a12Smrg		basic_machine=$1
173126a8a12Smrg		;;
174126a8a12Smrg	-chorusos*)
175126a8a12Smrg		os=-chorusos
176126a8a12Smrg		basic_machine=$1
177126a8a12Smrg		;;
178126a8a12Smrg 	-chorusrdb)
179126a8a12Smrg 		os=-chorusrdb
180126a8a12Smrg		basic_machine=$1
181126a8a12Smrg 		;;
182126a8a12Smrg	-hiux*)
183126a8a12Smrg		os=-hiuxwe2
184126a8a12Smrg		;;
185126a8a12Smrg	-sco6)
186126a8a12Smrg		os=-sco5v6
187126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
188126a8a12Smrg		;;
189126a8a12Smrg	-sco5)
190126a8a12Smrg		os=-sco3.2v5
191126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192126a8a12Smrg		;;
193126a8a12Smrg	-sco4)
194126a8a12Smrg		os=-sco3.2v4
195126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196126a8a12Smrg		;;
197126a8a12Smrg	-sco3.2.[4-9]*)
198126a8a12Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200126a8a12Smrg		;;
201126a8a12Smrg	-sco3.2v[4-9]*)
202126a8a12Smrg		# Don't forget version if it is 3.2v4 or newer.
203126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204126a8a12Smrg		;;
205126a8a12Smrg	-sco5v6*)
206126a8a12Smrg		# Don't forget version if it is 3.2v4 or newer.
207126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208126a8a12Smrg		;;
209126a8a12Smrg	-sco*)
210126a8a12Smrg		os=-sco3.2v2
211126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212126a8a12Smrg		;;
213126a8a12Smrg	-udk*)
214126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215126a8a12Smrg		;;
216126a8a12Smrg	-isc)
217126a8a12Smrg		os=-isc2.2
218126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219126a8a12Smrg		;;
220126a8a12Smrg	-clix*)
221126a8a12Smrg		basic_machine=clipper-intergraph
222126a8a12Smrg		;;
223126a8a12Smrg	-isc*)
224126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225126a8a12Smrg		;;
226126a8a12Smrg	-lynx*)
227126a8a12Smrg		os=-lynxos
228126a8a12Smrg		;;
229126a8a12Smrg	-ptx*)
230126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231126a8a12Smrg		;;
232126a8a12Smrg	-windowsnt*)
233126a8a12Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234126a8a12Smrg		;;
235126a8a12Smrg	-psos*)
236126a8a12Smrg		os=-psos
237126a8a12Smrg		;;
238126a8a12Smrg	-mint | -mint[0-9]*)
239126a8a12Smrg		basic_machine=m68k-atari
240126a8a12Smrg		os=-mint
241126a8a12Smrg		;;
242126a8a12Smrgesac
243126a8a12Smrg
244126a8a12Smrg# Decode aliases for certain CPU-COMPANY combinations.
245126a8a12Smrgcase $basic_machine in
246126a8a12Smrg	# Recognize the basic CPU types without company name.
247126a8a12Smrg	# Some are omitted here because they have special meanings below.
248126a8a12Smrg	1750a | 580 \
249126a8a12Smrg	| a29k \
250126a8a12Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251126a8a12Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252126a8a12Smrg	| am33_2.0 \
253d656433aSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254126a8a12Smrg	| bfin \
255126a8a12Smrg	| c4x | clipper \
256555991fdSmrg	| d10v | d30v | dlx | dsp16xx \
257d656433aSmrg	| fido | fr30 | frv \
258126a8a12Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259126a8a12Smrg	| i370 | i860 | i960 | ia64 \
260126a8a12Smrg	| ip2k | iq2000 \
261d656433aSmrg	| lm32 \
262d656433aSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263d656433aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
264126a8a12Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
265126a8a12Smrg	| mips16 \
266126a8a12Smrg	| mips64 | mips64el \
267d656433aSmrg	| mips64octeon | mips64octeonel \
268126a8a12Smrg	| mips64orion | mips64orionel \
269d656433aSmrg	| mips64r5900 | mips64r5900el \
270d656433aSmrg	| mips64vr | mips64vrel \
271126a8a12Smrg	| mips64vr4100 | mips64vr4100el \
272126a8a12Smrg	| mips64vr4300 | mips64vr4300el \
273126a8a12Smrg	| mips64vr5000 | mips64vr5000el \
274126a8a12Smrg	| mips64vr5900 | mips64vr5900el \
275126a8a12Smrg	| mipsisa32 | mipsisa32el \
276126a8a12Smrg	| mipsisa32r2 | mipsisa32r2el \
277126a8a12Smrg	| mipsisa64 | mipsisa64el \
278126a8a12Smrg	| mipsisa64r2 | mipsisa64r2el \
279126a8a12Smrg	| mipsisa64sb1 | mipsisa64sb1el \
280126a8a12Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
281126a8a12Smrg	| mipstx39 | mipstx39el \
282126a8a12Smrg	| mn10200 | mn10300 \
283555991fdSmrg	| moxie \
284126a8a12Smrg	| mt \
285126a8a12Smrg	| msp430 \
286555991fdSmrg	| nds32 | nds32le | nds32be \
287d656433aSmrg	| nios | nios2 \
288126a8a12Smrg	| ns16k | ns32k \
289126a8a12Smrg	| or32 \
290126a8a12Smrg	| pdp10 | pdp11 | pj | pjl \
291126a8a12Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
292126a8a12Smrg	| pyramid \
293555991fdSmrg	| rx \
294d656433aSmrg	| score \
295d656433aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
296126a8a12Smrg	| sh64 | sh64le \
297d656433aSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298d656433aSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299d656433aSmrg	| spu | strongarm \
300555991fdSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301555991fdSmrg	| ubicom32 \
302126a8a12Smrg	| v850 | v850e \
303126a8a12Smrg	| we32k \
304d656433aSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305d656433aSmrg	| z8k | z80)
306126a8a12Smrg		basic_machine=$basic_machine-unknown
307126a8a12Smrg		;;
308555991fdSmrg	c54x)
309555991fdSmrg		basic_machine=tic54x-unknown
310555991fdSmrg		;;
311555991fdSmrg	c55x)
312555991fdSmrg		basic_machine=tic55x-unknown
313555991fdSmrg		;;
314555991fdSmrg	c6x)
315555991fdSmrg		basic_machine=tic6x-unknown
316555991fdSmrg		;;
317555991fdSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318126a8a12Smrg		# Motorola 68HC11/12.
319126a8a12Smrg		basic_machine=$basic_machine-unknown
320126a8a12Smrg		os=-none
321126a8a12Smrg		;;
322126a8a12Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323126a8a12Smrg		;;
324126a8a12Smrg	ms1)
325126a8a12Smrg		basic_machine=mt-unknown
326126a8a12Smrg		;;
327126a8a12Smrg
328126a8a12Smrg	# We use `pc' rather than `unknown'
329126a8a12Smrg	# because (1) that's what they normally are, and
330126a8a12Smrg	# (2) the word "unknown" tends to confuse beginning users.
331126a8a12Smrg	i*86 | x86_64)
332126a8a12Smrg	  basic_machine=$basic_machine-pc
333126a8a12Smrg	  ;;
334126a8a12Smrg	# Object if more than one company name word.
335126a8a12Smrg	*-*-*)
336126a8a12Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337126a8a12Smrg		exit 1
338126a8a12Smrg		;;
339126a8a12Smrg	# Recognize the basic CPU types with company name.
340126a8a12Smrg	580-* \
341126a8a12Smrg	| a29k-* \
342126a8a12Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343126a8a12Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344126a8a12Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345126a8a12Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346d656433aSmrg	| avr-* | avr32-* \
347126a8a12Smrg	| bfin-* | bs2000-* \
348555991fdSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
349126a8a12Smrg	| clipper-* | craynv-* | cydra-* \
350126a8a12Smrg	| d10v-* | d30v-* | dlx-* \
351126a8a12Smrg	| elxsi-* \
352d656433aSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353126a8a12Smrg	| h8300-* | h8500-* \
354126a8a12Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355126a8a12Smrg	| i*86-* | i860-* | i960-* | ia64-* \
356126a8a12Smrg	| ip2k-* | iq2000-* \
357d656433aSmrg	| lm32-* \
358d656433aSmrg	| m32c-* | m32r-* | m32rle-* \
359126a8a12Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360555991fdSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361126a8a12Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
362126a8a12Smrg	| mips16-* \
363126a8a12Smrg	| mips64-* | mips64el-* \
364d656433aSmrg	| mips64octeon-* | mips64octeonel-* \
365126a8a12Smrg	| mips64orion-* | mips64orionel-* \
366d656433aSmrg	| mips64r5900-* | mips64r5900el-* \
367d656433aSmrg	| mips64vr-* | mips64vrel-* \
368126a8a12Smrg	| mips64vr4100-* | mips64vr4100el-* \
369126a8a12Smrg	| mips64vr4300-* | mips64vr4300el-* \
370126a8a12Smrg	| mips64vr5000-* | mips64vr5000el-* \
371126a8a12Smrg	| mips64vr5900-* | mips64vr5900el-* \
372126a8a12Smrg	| mipsisa32-* | mipsisa32el-* \
373126a8a12Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
374126a8a12Smrg	| mipsisa64-* | mipsisa64el-* \
375126a8a12Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
376126a8a12Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
377126a8a12Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
378126a8a12Smrg	| mipstx39-* | mipstx39el-* \
379126a8a12Smrg	| mmix-* \
380126a8a12Smrg	| mt-* \
381126a8a12Smrg	| msp430-* \
382555991fdSmrg	| nds32-* | nds32le-* | nds32be-* \
383d656433aSmrg	| nios-* | nios2-* \
384126a8a12Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
385126a8a12Smrg	| orion-* \
386126a8a12Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
387126a8a12Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388126a8a12Smrg	| pyramid-* \
389555991fdSmrg	| romp-* | rs6000-* | rx-* \
390d656433aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
391126a8a12Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392d656433aSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393126a8a12Smrg	| sparclite-* \
394d656433aSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
395126a8a12Smrg	| tahoe-* | thumb-* \
396555991fdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397555991fdSmrg	| tile-* | tilegx-* \
398126a8a12Smrg	| tron-* \
399555991fdSmrg	| ubicom32-* \
400126a8a12Smrg	| v850-* | v850e-* | vax-* \
401126a8a12Smrg	| we32k-* \
402d656433aSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403d656433aSmrg	| xstormy16-* | xtensa*-* \
404126a8a12Smrg	| ymp-* \
405d656433aSmrg	| z8k-* | z80-*)
406126a8a12Smrg		;;
407d656433aSmrg	# Recognize the basic CPU types without company name, with glob match.
408d656433aSmrg	xtensa*)
409d656433aSmrg		basic_machine=$basic_machine-unknown
410126a8a12Smrg		;;
411126a8a12Smrg	# Recognize the various machine names and aliases which stand
412126a8a12Smrg	# for a CPU type and a company and sometimes even an OS.
413126a8a12Smrg	386bsd)
414126a8a12Smrg		basic_machine=i386-unknown
415126a8a12Smrg		os=-bsd
416126a8a12Smrg		;;
417126a8a12Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
418126a8a12Smrg		basic_machine=m68000-att
419126a8a12Smrg		;;
420126a8a12Smrg	3b*)
421126a8a12Smrg		basic_machine=we32k-att
422126a8a12Smrg		;;
423126a8a12Smrg	a29khif)
424126a8a12Smrg		basic_machine=a29k-amd
425126a8a12Smrg		os=-udi
426126a8a12Smrg		;;
427126a8a12Smrg    	abacus)
428126a8a12Smrg		basic_machine=abacus-unknown
429126a8a12Smrg		;;
430126a8a12Smrg	adobe68k)
431126a8a12Smrg		basic_machine=m68010-adobe
432126a8a12Smrg		os=-scout
433126a8a12Smrg		;;
434126a8a12Smrg	alliant | fx80)
435126a8a12Smrg		basic_machine=fx80-alliant
436126a8a12Smrg		;;
437126a8a12Smrg	altos | altos3068)
438126a8a12Smrg		basic_machine=m68k-altos
439126a8a12Smrg		;;
440126a8a12Smrg	am29k)
441126a8a12Smrg		basic_machine=a29k-none
442126a8a12Smrg		os=-bsd
443126a8a12Smrg		;;
444126a8a12Smrg	amd64)
445126a8a12Smrg		basic_machine=x86_64-pc
446126a8a12Smrg		;;
447126a8a12Smrg	amd64-*)
448126a8a12Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
449126a8a12Smrg		;;
450126a8a12Smrg	amdahl)
451126a8a12Smrg		basic_machine=580-amdahl
452126a8a12Smrg		os=-sysv
453126a8a12Smrg		;;
454126a8a12Smrg	amiga | amiga-*)
455126a8a12Smrg		basic_machine=m68k-unknown
456126a8a12Smrg		;;
457126a8a12Smrg	amigaos | amigados)
458126a8a12Smrg		basic_machine=m68k-unknown
459126a8a12Smrg		os=-amigaos
460126a8a12Smrg		;;
461126a8a12Smrg	amigaunix | amix)
462126a8a12Smrg		basic_machine=m68k-unknown
463126a8a12Smrg		os=-sysv4
464126a8a12Smrg		;;
465126a8a12Smrg	apollo68)
466126a8a12Smrg		basic_machine=m68k-apollo
467126a8a12Smrg		os=-sysv
468126a8a12Smrg		;;
469126a8a12Smrg	apollo68bsd)
470126a8a12Smrg		basic_machine=m68k-apollo
471126a8a12Smrg		os=-bsd
472126a8a12Smrg		;;
473d656433aSmrg	aros)
474d656433aSmrg		basic_machine=i386-pc
475d656433aSmrg		os=-aros
476d656433aSmrg		;;
477126a8a12Smrg	aux)
478126a8a12Smrg		basic_machine=m68k-apple
479126a8a12Smrg		os=-aux
480126a8a12Smrg		;;
481126a8a12Smrg	balance)
482126a8a12Smrg		basic_machine=ns32k-sequent
483126a8a12Smrg		os=-dynix
484126a8a12Smrg		;;
485d656433aSmrg	blackfin)
486d656433aSmrg		basic_machine=bfin-unknown
487d656433aSmrg		os=-linux
488d656433aSmrg		;;
489d656433aSmrg	blackfin-*)
490d656433aSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491d656433aSmrg		os=-linux
492d656433aSmrg		;;
493555991fdSmrg	bluegene*)
494555991fdSmrg		basic_machine=powerpc-ibm
495555991fdSmrg		os=-cnk
496555991fdSmrg		;;
497555991fdSmrg	c54x-*)
498555991fdSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499555991fdSmrg		;;
500555991fdSmrg	c55x-*)
501555991fdSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502555991fdSmrg		;;
503555991fdSmrg	c6x-*)
504555991fdSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505555991fdSmrg		;;
506126a8a12Smrg	c90)
507126a8a12Smrg		basic_machine=c90-cray
508126a8a12Smrg		os=-unicos
509126a8a12Smrg		;;
510d656433aSmrg        cegcc)
511d656433aSmrg		basic_machine=arm-unknown
512d656433aSmrg		os=-cegcc
513d656433aSmrg		;;
514126a8a12Smrg	convex-c1)
515126a8a12Smrg		basic_machine=c1-convex
516126a8a12Smrg		os=-bsd
517126a8a12Smrg		;;
518126a8a12Smrg	convex-c2)
519126a8a12Smrg		basic_machine=c2-convex
520126a8a12Smrg		os=-bsd
521126a8a12Smrg		;;
522126a8a12Smrg	convex-c32)
523126a8a12Smrg		basic_machine=c32-convex
524126a8a12Smrg		os=-bsd
525126a8a12Smrg		;;
526126a8a12Smrg	convex-c34)
527126a8a12Smrg		basic_machine=c34-convex
528126a8a12Smrg		os=-bsd
529126a8a12Smrg		;;
530126a8a12Smrg	convex-c38)
531126a8a12Smrg		basic_machine=c38-convex
532126a8a12Smrg		os=-bsd
533126a8a12Smrg		;;
534126a8a12Smrg	cray | j90)
535126a8a12Smrg		basic_machine=j90-cray
536126a8a12Smrg		os=-unicos
537126a8a12Smrg		;;
538126a8a12Smrg	craynv)
539126a8a12Smrg		basic_machine=craynv-cray
540126a8a12Smrg		os=-unicosmp
541126a8a12Smrg		;;
542d656433aSmrg	cr16)
543d656433aSmrg		basic_machine=cr16-unknown
544126a8a12Smrg		os=-elf
545126a8a12Smrg		;;
546126a8a12Smrg	crds | unos)
547126a8a12Smrg		basic_machine=m68k-crds
548126a8a12Smrg		;;
549126a8a12Smrg	crisv32 | crisv32-* | etraxfs*)
550126a8a12Smrg		basic_machine=crisv32-axis
551126a8a12Smrg		;;
552126a8a12Smrg	cris | cris-* | etrax*)
553126a8a12Smrg		basic_machine=cris-axis
554126a8a12Smrg		;;
555126a8a12Smrg	crx)
556126a8a12Smrg		basic_machine=crx-unknown
557126a8a12Smrg		os=-elf
558126a8a12Smrg		;;
559126a8a12Smrg	da30 | da30-*)
560126a8a12Smrg		basic_machine=m68k-da30
561126a8a12Smrg		;;
562126a8a12Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
563126a8a12Smrg		basic_machine=mips-dec
564126a8a12Smrg		;;
565126a8a12Smrg	decsystem10* | dec10*)
566126a8a12Smrg		basic_machine=pdp10-dec
567126a8a12Smrg		os=-tops10
568126a8a12Smrg		;;
569126a8a12Smrg	decsystem20* | dec20*)
570126a8a12Smrg		basic_machine=pdp10-dec
571126a8a12Smrg		os=-tops20
572126a8a12Smrg		;;
573126a8a12Smrg	delta | 3300 | motorola-3300 | motorola-delta \
574126a8a12Smrg	      | 3300-motorola | delta-motorola)
575126a8a12Smrg		basic_machine=m68k-motorola
576126a8a12Smrg		;;
577126a8a12Smrg	delta88)
578126a8a12Smrg		basic_machine=m88k-motorola
579126a8a12Smrg		os=-sysv3
580126a8a12Smrg		;;
581d656433aSmrg	dicos)
582d656433aSmrg		basic_machine=i686-pc
583d656433aSmrg		os=-dicos
584d656433aSmrg		;;
585126a8a12Smrg	djgpp)
586126a8a12Smrg		basic_machine=i586-pc
587126a8a12Smrg		os=-msdosdjgpp
588126a8a12Smrg		;;
589126a8a12Smrg	dpx20 | dpx20-*)
590126a8a12Smrg		basic_machine=rs6000-bull
591126a8a12Smrg		os=-bosx
592126a8a12Smrg		;;
593126a8a12Smrg	dpx2* | dpx2*-bull)
594126a8a12Smrg		basic_machine=m68k-bull
595126a8a12Smrg		os=-sysv3
596126a8a12Smrg		;;
597126a8a12Smrg	ebmon29k)
598126a8a12Smrg		basic_machine=a29k-amd
599126a8a12Smrg		os=-ebmon
600126a8a12Smrg		;;
601126a8a12Smrg	elxsi)
602126a8a12Smrg		basic_machine=elxsi-elxsi
603126a8a12Smrg		os=-bsd
604126a8a12Smrg		;;
605126a8a12Smrg	encore | umax | mmax)
606126a8a12Smrg		basic_machine=ns32k-encore
607126a8a12Smrg		;;
608126a8a12Smrg	es1800 | OSE68k | ose68k | ose | OSE)
609126a8a12Smrg		basic_machine=m68k-ericsson
610126a8a12Smrg		os=-ose
611126a8a12Smrg		;;
612126a8a12Smrg	fx2800)
613126a8a12Smrg		basic_machine=i860-alliant
614126a8a12Smrg		;;
615126a8a12Smrg	genix)
616126a8a12Smrg		basic_machine=ns32k-ns
617126a8a12Smrg		;;
618126a8a12Smrg	gmicro)
619126a8a12Smrg		basic_machine=tron-gmicro
620126a8a12Smrg		os=-sysv
621126a8a12Smrg		;;
622126a8a12Smrg	go32)
623126a8a12Smrg		basic_machine=i386-pc
624126a8a12Smrg		os=-go32
625126a8a12Smrg		;;
626126a8a12Smrg	h3050r* | hiux*)
627126a8a12Smrg		basic_machine=hppa1.1-hitachi
628126a8a12Smrg		os=-hiuxwe2
629126a8a12Smrg		;;
630126a8a12Smrg	h8300hms)
631126a8a12Smrg		basic_machine=h8300-hitachi
632126a8a12Smrg		os=-hms
633126a8a12Smrg		;;
634126a8a12Smrg	h8300xray)
635126a8a12Smrg		basic_machine=h8300-hitachi
636126a8a12Smrg		os=-xray
637126a8a12Smrg		;;
638126a8a12Smrg	h8500hms)
639126a8a12Smrg		basic_machine=h8500-hitachi
640126a8a12Smrg		os=-hms
641126a8a12Smrg		;;
642126a8a12Smrg	harris)
643126a8a12Smrg		basic_machine=m88k-harris
644126a8a12Smrg		os=-sysv3
645126a8a12Smrg		;;
646126a8a12Smrg	hp300-*)
647126a8a12Smrg		basic_machine=m68k-hp
648126a8a12Smrg		;;
649126a8a12Smrg	hp300bsd)
650126a8a12Smrg		basic_machine=m68k-hp
651126a8a12Smrg		os=-bsd
652126a8a12Smrg		;;
653126a8a12Smrg	hp300hpux)
654126a8a12Smrg		basic_machine=m68k-hp
655126a8a12Smrg		os=-hpux
656126a8a12Smrg		;;
657126a8a12Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
658126a8a12Smrg		basic_machine=hppa1.0-hp
659126a8a12Smrg		;;
660126a8a12Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
661126a8a12Smrg		basic_machine=m68000-hp
662126a8a12Smrg		;;
663126a8a12Smrg	hp9k3[2-9][0-9])
664126a8a12Smrg		basic_machine=m68k-hp
665126a8a12Smrg		;;
666126a8a12Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
667126a8a12Smrg		basic_machine=hppa1.0-hp
668126a8a12Smrg		;;
669126a8a12Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
670126a8a12Smrg		basic_machine=hppa1.1-hp
671126a8a12Smrg		;;
672126a8a12Smrg	hp9k78[0-9] | hp78[0-9])
673126a8a12Smrg		# FIXME: really hppa2.0-hp
674126a8a12Smrg		basic_machine=hppa1.1-hp
675126a8a12Smrg		;;
676126a8a12Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
677126a8a12Smrg		# FIXME: really hppa2.0-hp
678126a8a12Smrg		basic_machine=hppa1.1-hp
679126a8a12Smrg		;;
680126a8a12Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
681126a8a12Smrg		basic_machine=hppa1.1-hp
682126a8a12Smrg		;;
683126a8a12Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
684126a8a12Smrg		basic_machine=hppa1.0-hp
685126a8a12Smrg		;;
686126a8a12Smrg	hppa-next)
687126a8a12Smrg		os=-nextstep3
688126a8a12Smrg		;;
689126a8a12Smrg	hppaosf)
690126a8a12Smrg		basic_machine=hppa1.1-hp
691126a8a12Smrg		os=-osf
692126a8a12Smrg		;;
693126a8a12Smrg	hppro)
694126a8a12Smrg		basic_machine=hppa1.1-hp
695126a8a12Smrg		os=-proelf
696126a8a12Smrg		;;
697126a8a12Smrg	i370-ibm* | ibm*)
698126a8a12Smrg		basic_machine=i370-ibm
699126a8a12Smrg		;;
700126a8a12Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
701126a8a12Smrg	i*86v32)
702126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703126a8a12Smrg		os=-sysv32
704126a8a12Smrg		;;
705126a8a12Smrg	i*86v4*)
706126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707126a8a12Smrg		os=-sysv4
708126a8a12Smrg		;;
709126a8a12Smrg	i*86v)
710126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711126a8a12Smrg		os=-sysv
712126a8a12Smrg		;;
713126a8a12Smrg	i*86sol2)
714126a8a12Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715126a8a12Smrg		os=-solaris2
716126a8a12Smrg		;;
717126a8a12Smrg	i386mach)
718126a8a12Smrg		basic_machine=i386-mach
719126a8a12Smrg		os=-mach
720126a8a12Smrg		;;
721126a8a12Smrg	i386-vsta | vsta)
722126a8a12Smrg		basic_machine=i386-unknown
723126a8a12Smrg		os=-vsta
724126a8a12Smrg		;;
725126a8a12Smrg	iris | iris4d)
726126a8a12Smrg		basic_machine=mips-sgi
727126a8a12Smrg		case $os in
728126a8a12Smrg		    -irix*)
729126a8a12Smrg			;;
730126a8a12Smrg		    *)
731126a8a12Smrg			os=-irix4
732126a8a12Smrg			;;
733126a8a12Smrg		esac
734126a8a12Smrg		;;
735126a8a12Smrg	isi68 | isi)
736126a8a12Smrg		basic_machine=m68k-isi
737126a8a12Smrg		os=-sysv
738126a8a12Smrg		;;
739d656433aSmrg	m68knommu)
740d656433aSmrg		basic_machine=m68k-unknown
741d656433aSmrg		os=-linux
742d656433aSmrg		;;
743d656433aSmrg	m68knommu-*)
744d656433aSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745d656433aSmrg		os=-linux
746d656433aSmrg		;;
747126a8a12Smrg	m88k-omron*)
748126a8a12Smrg		basic_machine=m88k-omron
749126a8a12Smrg		;;
750126a8a12Smrg	magnum | m3230)
751126a8a12Smrg		basic_machine=mips-mips
752126a8a12Smrg		os=-sysv
753126a8a12Smrg		;;
754126a8a12Smrg	merlin)
755126a8a12Smrg		basic_machine=ns32k-utek
756126a8a12Smrg		os=-sysv
757126a8a12Smrg		;;
758555991fdSmrg        microblaze)
759555991fdSmrg		basic_machine=microblaze-xilinx
760555991fdSmrg		;;
761126a8a12Smrg	mingw32)
762126a8a12Smrg		basic_machine=i386-pc
763126a8a12Smrg		os=-mingw32
764126a8a12Smrg		;;
765d656433aSmrg	mingw32ce)
766d656433aSmrg		basic_machine=arm-unknown
767d656433aSmrg		os=-mingw32ce
768d656433aSmrg		;;
769126a8a12Smrg	miniframe)
770126a8a12Smrg		basic_machine=m68000-convergent
771126a8a12Smrg		;;
772126a8a12Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
773126a8a12Smrg		basic_machine=m68k-atari
774126a8a12Smrg		os=-mint
775126a8a12Smrg		;;
776126a8a12Smrg	mips3*-*)
777126a8a12Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
778126a8a12Smrg		;;
779126a8a12Smrg	mips3*)
780126a8a12Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
781126a8a12Smrg		;;
782126a8a12Smrg	monitor)
783126a8a12Smrg		basic_machine=m68k-rom68k
784126a8a12Smrg		os=-coff
785126a8a12Smrg		;;
786126a8a12Smrg	morphos)
787126a8a12Smrg		basic_machine=powerpc-unknown
788126a8a12Smrg		os=-morphos
789126a8a12Smrg		;;
790126a8a12Smrg	msdos)
791126a8a12Smrg		basic_machine=i386-pc
792126a8a12Smrg		os=-msdos
793126a8a12Smrg		;;
794126a8a12Smrg	ms1-*)
795126a8a12Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
796126a8a12Smrg		;;
797126a8a12Smrg	mvs)
798126a8a12Smrg		basic_machine=i370-ibm
799126a8a12Smrg		os=-mvs
800126a8a12Smrg		;;
801126a8a12Smrg	ncr3000)
802126a8a12Smrg		basic_machine=i486-ncr
803126a8a12Smrg		os=-sysv4
804126a8a12Smrg		;;
805126a8a12Smrg	netbsd386)
806126a8a12Smrg		basic_machine=i386-unknown
807126a8a12Smrg		os=-netbsd
808126a8a12Smrg		;;
809126a8a12Smrg	netwinder)
810126a8a12Smrg		basic_machine=armv4l-rebel
811126a8a12Smrg		os=-linux
812126a8a12Smrg		;;
813126a8a12Smrg	news | news700 | news800 | news900)
814126a8a12Smrg		basic_machine=m68k-sony
815126a8a12Smrg		os=-newsos
816126a8a12Smrg		;;
817126a8a12Smrg	news1000)
818126a8a12Smrg		basic_machine=m68030-sony
819126a8a12Smrg		os=-newsos
820126a8a12Smrg		;;
821126a8a12Smrg	news-3600 | risc-news)
822126a8a12Smrg		basic_machine=mips-sony
823126a8a12Smrg		os=-newsos
824126a8a12Smrg		;;
825126a8a12Smrg	necv70)
826126a8a12Smrg		basic_machine=v70-nec
827126a8a12Smrg		os=-sysv
828126a8a12Smrg		;;
829126a8a12Smrg	next | m*-next )
830126a8a12Smrg		basic_machine=m68k-next
831126a8a12Smrg		case $os in
832126a8a12Smrg		    -nextstep* )
833126a8a12Smrg			;;
834126a8a12Smrg		    -ns2*)
835126a8a12Smrg		      os=-nextstep2
836126a8a12Smrg			;;
837126a8a12Smrg		    *)
838126a8a12Smrg		      os=-nextstep3
839126a8a12Smrg			;;
840126a8a12Smrg		esac
841126a8a12Smrg		;;
842126a8a12Smrg	nh3000)
843126a8a12Smrg		basic_machine=m68k-harris
844126a8a12Smrg		os=-cxux
845126a8a12Smrg		;;
846126a8a12Smrg	nh[45]000)
847126a8a12Smrg		basic_machine=m88k-harris
848126a8a12Smrg		os=-cxux
849126a8a12Smrg		;;
850126a8a12Smrg	nindy960)
851126a8a12Smrg		basic_machine=i960-intel
852126a8a12Smrg		os=-nindy
853126a8a12Smrg		;;
854126a8a12Smrg	mon960)
855126a8a12Smrg		basic_machine=i960-intel
856126a8a12Smrg		os=-mon960
857126a8a12Smrg		;;
858126a8a12Smrg	nonstopux)
859126a8a12Smrg		basic_machine=mips-compaq
860126a8a12Smrg		os=-nonstopux
861126a8a12Smrg		;;
862126a8a12Smrg	np1)
863126a8a12Smrg		basic_machine=np1-gould
864126a8a12Smrg		;;
865555991fdSmrg        neo-tandem)
866555991fdSmrg		basic_machine=neo-tandem
867555991fdSmrg		;;
868555991fdSmrg        nse-tandem)
869555991fdSmrg		basic_machine=nse-tandem
870555991fdSmrg		;;
871126a8a12Smrg	nsr-tandem)
872126a8a12Smrg		basic_machine=nsr-tandem
873126a8a12Smrg		;;
874126a8a12Smrg	op50n-* | op60c-*)
875126a8a12Smrg		basic_machine=hppa1.1-oki
876126a8a12Smrg		os=-proelf
877126a8a12Smrg		;;
878126a8a12Smrg	openrisc | openrisc-*)
879126a8a12Smrg		basic_machine=or32-unknown
880126a8a12Smrg		;;
881126a8a12Smrg	os400)
882126a8a12Smrg		basic_machine=powerpc-ibm
883126a8a12Smrg		os=-os400
884126a8a12Smrg		;;
885126a8a12Smrg	OSE68000 | ose68000)
886126a8a12Smrg		basic_machine=m68000-ericsson
887126a8a12Smrg		os=-ose
888126a8a12Smrg		;;
889126a8a12Smrg	os68k)
890126a8a12Smrg		basic_machine=m68k-none
891126a8a12Smrg		os=-os68k
892126a8a12Smrg		;;
893126a8a12Smrg	pa-hitachi)
894126a8a12Smrg		basic_machine=hppa1.1-hitachi
895126a8a12Smrg		os=-hiuxwe2
896126a8a12Smrg		;;
897126a8a12Smrg	paragon)
898126a8a12Smrg		basic_machine=i860-intel
899126a8a12Smrg		os=-osf
900126a8a12Smrg		;;
901d656433aSmrg	parisc)
902d656433aSmrg		basic_machine=hppa-unknown
903d656433aSmrg		os=-linux
904d656433aSmrg		;;
905d656433aSmrg	parisc-*)
906d656433aSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907d656433aSmrg		os=-linux
908d656433aSmrg		;;
909126a8a12Smrg	pbd)
910126a8a12Smrg		basic_machine=sparc-tti
911126a8a12Smrg		;;
912126a8a12Smrg	pbb)
913126a8a12Smrg		basic_machine=m68k-tti
914126a8a12Smrg		;;
915126a8a12Smrg	pc532 | pc532-*)
916126a8a12Smrg		basic_machine=ns32k-pc532
917126a8a12Smrg		;;
918d656433aSmrg	pc98)
919d656433aSmrg		basic_machine=i386-pc
920d656433aSmrg		;;
921d656433aSmrg	pc98-*)
922d656433aSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923d656433aSmrg		;;
924126a8a12Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
925126a8a12Smrg		basic_machine=i586-pc
926126a8a12Smrg		;;
927126a8a12Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
928126a8a12Smrg		basic_machine=i686-pc
929126a8a12Smrg		;;
930126a8a12Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
931126a8a12Smrg		basic_machine=i686-pc
932126a8a12Smrg		;;
933126a8a12Smrg	pentium4)
934126a8a12Smrg		basic_machine=i786-pc
935126a8a12Smrg		;;
936126a8a12Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
937126a8a12Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
938126a8a12Smrg		;;
939126a8a12Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
940126a8a12Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
941126a8a12Smrg		;;
942126a8a12Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
943126a8a12Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
944126a8a12Smrg		;;
945126a8a12Smrg	pentium4-*)
946126a8a12Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
947126a8a12Smrg		;;
948126a8a12Smrg	pn)
949126a8a12Smrg		basic_machine=pn-gould
950126a8a12Smrg		;;
951126a8a12Smrg	power)	basic_machine=power-ibm
952126a8a12Smrg		;;
953126a8a12Smrg	ppc)	basic_machine=powerpc-unknown
954126a8a12Smrg		;;
955126a8a12Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
956126a8a12Smrg		;;
957126a8a12Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
958126a8a12Smrg		basic_machine=powerpcle-unknown
959126a8a12Smrg		;;
960126a8a12Smrg	ppcle-* | powerpclittle-*)
961126a8a12Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
962126a8a12Smrg		;;
963126a8a12Smrg	ppc64)	basic_machine=powerpc64-unknown
964126a8a12Smrg		;;
965126a8a12Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
966126a8a12Smrg		;;
967126a8a12Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
968126a8a12Smrg		basic_machine=powerpc64le-unknown
969126a8a12Smrg		;;
970126a8a12Smrg	ppc64le-* | powerpc64little-*)
971126a8a12Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
972126a8a12Smrg		;;
973126a8a12Smrg	ps2)
974126a8a12Smrg		basic_machine=i386-ibm
975126a8a12Smrg		;;
976126a8a12Smrg	pw32)
977126a8a12Smrg		basic_machine=i586-unknown
978126a8a12Smrg		os=-pw32
979126a8a12Smrg		;;
980126a8a12Smrg	rdos)
981126a8a12Smrg		basic_machine=i386-pc
982126a8a12Smrg		os=-rdos
983126a8a12Smrg		;;
984126a8a12Smrg	rom68k)
985126a8a12Smrg		basic_machine=m68k-rom68k
986126a8a12Smrg		os=-coff
987126a8a12Smrg		;;
988126a8a12Smrg	rm[46]00)
989126a8a12Smrg		basic_machine=mips-siemens
990126a8a12Smrg		;;
991126a8a12Smrg	rtpc | rtpc-*)
992126a8a12Smrg		basic_machine=romp-ibm
993126a8a12Smrg		;;
994126a8a12Smrg	s390 | s390-*)
995126a8a12Smrg		basic_machine=s390-ibm
996126a8a12Smrg		;;
997126a8a12Smrg	s390x | s390x-*)
998126a8a12Smrg		basic_machine=s390x-ibm
999126a8a12Smrg		;;
1000126a8a12Smrg	sa29200)
1001126a8a12Smrg		basic_machine=a29k-amd
1002126a8a12Smrg		os=-udi
1003126a8a12Smrg		;;
1004126a8a12Smrg	sb1)
1005126a8a12Smrg		basic_machine=mipsisa64sb1-unknown
1006126a8a12Smrg		;;
1007126a8a12Smrg	sb1el)
1008126a8a12Smrg		basic_machine=mipsisa64sb1el-unknown
1009126a8a12Smrg		;;
1010d656433aSmrg	sde)
1011d656433aSmrg		basic_machine=mipsisa32-sde
1012d656433aSmrg		os=-elf
1013d656433aSmrg		;;
1014126a8a12Smrg	sei)
1015126a8a12Smrg		basic_machine=mips-sei
1016126a8a12Smrg		os=-seiux
1017126a8a12Smrg		;;
1018126a8a12Smrg	sequent)
1019126a8a12Smrg		basic_machine=i386-sequent
1020126a8a12Smrg		;;
1021126a8a12Smrg	sh)
1022126a8a12Smrg		basic_machine=sh-hitachi
1023126a8a12Smrg		os=-hms
1024126a8a12Smrg		;;
1025d656433aSmrg	sh5el)
1026d656433aSmrg		basic_machine=sh5le-unknown
1027d656433aSmrg		;;
1028126a8a12Smrg	sh64)
1029126a8a12Smrg		basic_machine=sh64-unknown
1030126a8a12Smrg		;;
1031126a8a12Smrg	sparclite-wrs | simso-wrs)
1032126a8a12Smrg		basic_machine=sparclite-wrs
1033126a8a12Smrg		os=-vxworks
1034126a8a12Smrg		;;
1035126a8a12Smrg	sps7)
1036126a8a12Smrg		basic_machine=m68k-bull
1037126a8a12Smrg		os=-sysv2
1038126a8a12Smrg		;;
1039126a8a12Smrg	spur)
1040126a8a12Smrg		basic_machine=spur-unknown
1041126a8a12Smrg		;;
1042126a8a12Smrg	st2000)
1043126a8a12Smrg		basic_machine=m68k-tandem
1044126a8a12Smrg		;;
1045126a8a12Smrg	stratus)
1046126a8a12Smrg		basic_machine=i860-stratus
1047126a8a12Smrg		os=-sysv4
1048126a8a12Smrg		;;
1049126a8a12Smrg	sun2)
1050126a8a12Smrg		basic_machine=m68000-sun
1051126a8a12Smrg		;;
1052126a8a12Smrg	sun2os3)
1053126a8a12Smrg		basic_machine=m68000-sun
1054126a8a12Smrg		os=-sunos3
1055126a8a12Smrg		;;
1056126a8a12Smrg	sun2os4)
1057126a8a12Smrg		basic_machine=m68000-sun
1058126a8a12Smrg		os=-sunos4
1059126a8a12Smrg		;;
1060126a8a12Smrg	sun3os3)
1061126a8a12Smrg		basic_machine=m68k-sun
1062126a8a12Smrg		os=-sunos3
1063126a8a12Smrg		;;
1064126a8a12Smrg	sun3os4)
1065126a8a12Smrg		basic_machine=m68k-sun
1066126a8a12Smrg		os=-sunos4
1067126a8a12Smrg		;;
1068126a8a12Smrg	sun4os3)
1069126a8a12Smrg		basic_machine=sparc-sun
1070126a8a12Smrg		os=-sunos3
1071126a8a12Smrg		;;
1072126a8a12Smrg	sun4os4)
1073126a8a12Smrg		basic_machine=sparc-sun
1074126a8a12Smrg		os=-sunos4
1075126a8a12Smrg		;;
1076126a8a12Smrg	sun4sol2)
1077126a8a12Smrg		basic_machine=sparc-sun
1078126a8a12Smrg		os=-solaris2
1079126a8a12Smrg		;;
1080126a8a12Smrg	sun3 | sun3-*)
1081126a8a12Smrg		basic_machine=m68k-sun
1082126a8a12Smrg		;;
1083126a8a12Smrg	sun4)
1084126a8a12Smrg		basic_machine=sparc-sun
1085126a8a12Smrg		;;
1086126a8a12Smrg	sun386 | sun386i | roadrunner)
1087126a8a12Smrg		basic_machine=i386-sun
1088126a8a12Smrg		;;
1089126a8a12Smrg	sv1)
1090126a8a12Smrg		basic_machine=sv1-cray
1091126a8a12Smrg		os=-unicos
1092126a8a12Smrg		;;
1093126a8a12Smrg	symmetry)
1094126a8a12Smrg		basic_machine=i386-sequent
1095126a8a12Smrg		os=-dynix
1096126a8a12Smrg		;;
1097126a8a12Smrg	t3e)
1098126a8a12Smrg		basic_machine=alphaev5-cray
1099126a8a12Smrg		os=-unicos
1100126a8a12Smrg		;;
1101126a8a12Smrg	t90)
1102126a8a12Smrg		basic_machine=t90-cray
1103126a8a12Smrg		os=-unicos
1104126a8a12Smrg		;;
1105555991fdSmrg        # This must be matched before tile*.
1106555991fdSmrg        tilegx*)
1107555991fdSmrg		basic_machine=tilegx-unknown
1108555991fdSmrg		os=-linux-gnu
1109126a8a12Smrg		;;
1110d656433aSmrg	tile*)
1111d656433aSmrg		basic_machine=tile-unknown
1112d656433aSmrg		os=-linux-gnu
1113d656433aSmrg		;;
1114126a8a12Smrg	tx39)
1115126a8a12Smrg		basic_machine=mipstx39-unknown
1116126a8a12Smrg		;;
1117126a8a12Smrg	tx39el)
1118126a8a12Smrg		basic_machine=mipstx39el-unknown
1119126a8a12Smrg		;;
1120126a8a12Smrg	toad1)
1121126a8a12Smrg		basic_machine=pdp10-xkl
1122126a8a12Smrg		os=-tops20
1123126a8a12Smrg		;;
1124126a8a12Smrg	tower | tower-32)
1125126a8a12Smrg		basic_machine=m68k-ncr
1126126a8a12Smrg		;;
1127126a8a12Smrg	tpf)
1128126a8a12Smrg		basic_machine=s390x-ibm
1129126a8a12Smrg		os=-tpf
1130126a8a12Smrg		;;
1131126a8a12Smrg	udi29k)
1132126a8a12Smrg		basic_machine=a29k-amd
1133126a8a12Smrg		os=-udi
1134126a8a12Smrg		;;
1135126a8a12Smrg	ultra3)
1136126a8a12Smrg		basic_machine=a29k-nyu
1137126a8a12Smrg		os=-sym1
1138126a8a12Smrg		;;
1139126a8a12Smrg	v810 | necv810)
1140126a8a12Smrg		basic_machine=v810-nec
1141126a8a12Smrg		os=-none
1142126a8a12Smrg		;;
1143126a8a12Smrg	vaxv)
1144126a8a12Smrg		basic_machine=vax-dec
1145126a8a12Smrg		os=-sysv
1146126a8a12Smrg		;;
1147126a8a12Smrg	vms)
1148126a8a12Smrg		basic_machine=vax-dec
1149126a8a12Smrg		os=-vms
1150126a8a12Smrg		;;
1151126a8a12Smrg	vpp*|vx|vx-*)
1152126a8a12Smrg		basic_machine=f301-fujitsu
1153126a8a12Smrg		;;
1154126a8a12Smrg	vxworks960)
1155126a8a12Smrg		basic_machine=i960-wrs
1156126a8a12Smrg		os=-vxworks
1157126a8a12Smrg		;;
1158126a8a12Smrg	vxworks68)
1159126a8a12Smrg		basic_machine=m68k-wrs
1160126a8a12Smrg		os=-vxworks
1161126a8a12Smrg		;;
1162126a8a12Smrg	vxworks29k)
1163126a8a12Smrg		basic_machine=a29k-wrs
1164126a8a12Smrg		os=-vxworks
1165126a8a12Smrg		;;
1166126a8a12Smrg	w65*)
1167126a8a12Smrg		basic_machine=w65-wdc
1168126a8a12Smrg		os=-none
1169126a8a12Smrg		;;
1170126a8a12Smrg	w89k-*)
1171126a8a12Smrg		basic_machine=hppa1.1-winbond
1172126a8a12Smrg		os=-proelf
1173126a8a12Smrg		;;
1174126a8a12Smrg	xbox)
1175126a8a12Smrg		basic_machine=i686-pc
1176126a8a12Smrg		os=-mingw32
1177126a8a12Smrg		;;
1178126a8a12Smrg	xps | xps100)
1179126a8a12Smrg		basic_machine=xps100-honeywell
1180126a8a12Smrg		;;
1181126a8a12Smrg	ymp)
1182126a8a12Smrg		basic_machine=ymp-cray
1183126a8a12Smrg		os=-unicos
1184126a8a12Smrg		;;
1185126a8a12Smrg	z8k-*-coff)
1186126a8a12Smrg		basic_machine=z8k-unknown
1187126a8a12Smrg		os=-sim
1188126a8a12Smrg		;;
1189d656433aSmrg	z80-*-coff)
1190d656433aSmrg		basic_machine=z80-unknown
1191d656433aSmrg		os=-sim
1192d656433aSmrg		;;
1193126a8a12Smrg	none)
1194126a8a12Smrg		basic_machine=none-none
1195126a8a12Smrg		os=-none
1196126a8a12Smrg		;;
1197126a8a12Smrg
1198126a8a12Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1199126a8a12Smrg# some cases the only manufacturer, in others, it is the most popular.
1200126a8a12Smrg	w89k)
1201126a8a12Smrg		basic_machine=hppa1.1-winbond
1202126a8a12Smrg		;;
1203126a8a12Smrg	op50n)
1204126a8a12Smrg		basic_machine=hppa1.1-oki
1205126a8a12Smrg		;;
1206126a8a12Smrg	op60c)
1207126a8a12Smrg		basic_machine=hppa1.1-oki
1208126a8a12Smrg		;;
1209126a8a12Smrg	romp)
1210126a8a12Smrg		basic_machine=romp-ibm
1211126a8a12Smrg		;;
1212126a8a12Smrg	mmix)
1213126a8a12Smrg		basic_machine=mmix-knuth
1214126a8a12Smrg		;;
1215126a8a12Smrg	rs6000)
1216126a8a12Smrg		basic_machine=rs6000-ibm
1217126a8a12Smrg		;;
1218126a8a12Smrg	vax)
1219126a8a12Smrg		basic_machine=vax-dec
1220126a8a12Smrg		;;
1221126a8a12Smrg	pdp10)
1222126a8a12Smrg		# there are many clones, so DEC is not a safe bet
1223126a8a12Smrg		basic_machine=pdp10-unknown
1224126a8a12Smrg		;;
1225126a8a12Smrg	pdp11)
1226126a8a12Smrg		basic_machine=pdp11-dec
1227126a8a12Smrg		;;
1228126a8a12Smrg	we32k)
1229126a8a12Smrg		basic_machine=we32k-att
1230126a8a12Smrg		;;
1231d656433aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1232126a8a12Smrg		basic_machine=sh-unknown
1233126a8a12Smrg		;;
1234d656433aSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1235126a8a12Smrg		basic_machine=sparc-sun
1236126a8a12Smrg		;;
1237126a8a12Smrg	cydra)
1238126a8a12Smrg		basic_machine=cydra-cydrome
1239126a8a12Smrg		;;
1240126a8a12Smrg	orion)
1241126a8a12Smrg		basic_machine=orion-highlevel
1242126a8a12Smrg		;;
1243126a8a12Smrg	orion105)
1244126a8a12Smrg		basic_machine=clipper-highlevel
1245126a8a12Smrg		;;
1246126a8a12Smrg	mac | mpw | mac-mpw)
1247126a8a12Smrg		basic_machine=m68k-apple
1248126a8a12Smrg		;;
1249126a8a12Smrg	pmac | pmac-mpw)
1250126a8a12Smrg		basic_machine=powerpc-apple
1251126a8a12Smrg		;;
1252126a8a12Smrg	*-unknown)
1253126a8a12Smrg		# Make sure to match an already-canonicalized machine name.
1254126a8a12Smrg		;;
1255126a8a12Smrg	*)
1256126a8a12Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1257126a8a12Smrg		exit 1
1258126a8a12Smrg		;;
1259126a8a12Smrgesac
1260126a8a12Smrg
1261126a8a12Smrg# Here we canonicalize certain aliases for manufacturers.
1262126a8a12Smrgcase $basic_machine in
1263126a8a12Smrg	*-digital*)
1264126a8a12Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1265126a8a12Smrg		;;
1266126a8a12Smrg	*-commodore*)
1267126a8a12Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1268126a8a12Smrg		;;
1269126a8a12Smrg	*)
1270126a8a12Smrg		;;
1271126a8a12Smrgesac
1272126a8a12Smrg
1273126a8a12Smrg# Decode manufacturer-specific aliases for certain operating systems.
1274126a8a12Smrg
1275126a8a12Smrgif [ x"$os" != x"" ]
1276126a8a12Smrgthen
1277126a8a12Smrgcase $os in
1278126a8a12Smrg        # First match some system type aliases
1279126a8a12Smrg        # that might get confused with valid system types.
1280126a8a12Smrg	# -solaris* is a basic system type, with this one exception.
1281555991fdSmrg        -auroraux)
1282555991fdSmrg	        os=-auroraux
1283555991fdSmrg		;;
1284126a8a12Smrg	-solaris1 | -solaris1.*)
1285126a8a12Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1286126a8a12Smrg		;;
1287126a8a12Smrg	-solaris)
1288126a8a12Smrg		os=-solaris2
1289126a8a12Smrg		;;
1290126a8a12Smrg	-svr4*)
1291126a8a12Smrg		os=-sysv4
1292126a8a12Smrg		;;
1293126a8a12Smrg	-unixware*)
1294126a8a12Smrg		os=-sysv4.2uw
1295126a8a12Smrg		;;
1296126a8a12Smrg	-gnu/linux*)
1297126a8a12Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1298126a8a12Smrg		;;
1299126a8a12Smrg	# First accept the basic system types.
1300126a8a12Smrg	# The portable systems comes first.
1301126a8a12Smrg	# Each alternative MUST END IN A *, to match a version number.
1302126a8a12Smrg	# -sysv* is not here because it comes later, after sysvr4.
1303126a8a12Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304555991fdSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305555991fdSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306555991fdSmrg	      | -sym* | -kopensolaris* \
1307126a8a12Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308d656433aSmrg	      | -aos* | -aros* \
1309126a8a12Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1310126a8a12Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311d656433aSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312d656433aSmrg	      | -openbsd* | -solidbsd* \
1313126a8a12Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1314126a8a12Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1315126a8a12Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1316126a8a12Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317d656433aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1318126a8a12Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319555991fdSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320555991fdSmrg	      | -linux-newlib* | -linux-uclibc* \
1321126a8a12Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1322126a8a12Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1323126a8a12Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1324126a8a12Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1325126a8a12Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1326126a8a12Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1327126a8a12Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328555991fdSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1329126a8a12Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1330126a8a12Smrg		;;
1331126a8a12Smrg	-qnx*)
1332126a8a12Smrg		case $basic_machine in
1333126a8a12Smrg		    x86-* | i*86-*)
1334126a8a12Smrg			;;
1335126a8a12Smrg		    *)
1336126a8a12Smrg			os=-nto$os
1337126a8a12Smrg			;;
1338126a8a12Smrg		esac
1339126a8a12Smrg		;;
1340126a8a12Smrg	-nto-qnx*)
1341126a8a12Smrg		;;
1342126a8a12Smrg	-nto*)
1343126a8a12Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1344126a8a12Smrg		;;
1345126a8a12Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1346126a8a12Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1347126a8a12Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1348126a8a12Smrg		;;
1349126a8a12Smrg	-mac*)
1350126a8a12Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1351126a8a12Smrg		;;
1352126a8a12Smrg	-linux-dietlibc)
1353126a8a12Smrg		os=-linux-dietlibc
1354126a8a12Smrg		;;
1355126a8a12Smrg	-linux*)
1356126a8a12Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1357126a8a12Smrg		;;
1358126a8a12Smrg	-sunos5*)
1359126a8a12Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1360126a8a12Smrg		;;
1361126a8a12Smrg	-sunos6*)
1362126a8a12Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1363126a8a12Smrg		;;
1364126a8a12Smrg	-opened*)
1365126a8a12Smrg		os=-openedition
1366126a8a12Smrg		;;
1367126a8a12Smrg        -os400*)
1368126a8a12Smrg		os=-os400
1369126a8a12Smrg		;;
1370126a8a12Smrg	-wince*)
1371126a8a12Smrg		os=-wince
1372126a8a12Smrg		;;
1373126a8a12Smrg	-osfrose*)
1374126a8a12Smrg		os=-osfrose
1375126a8a12Smrg		;;
1376126a8a12Smrg	-osf*)
1377126a8a12Smrg		os=-osf
1378126a8a12Smrg		;;
1379126a8a12Smrg	-utek*)
1380126a8a12Smrg		os=-bsd
1381126a8a12Smrg		;;
1382126a8a12Smrg	-dynix*)
1383126a8a12Smrg		os=-bsd
1384126a8a12Smrg		;;
1385126a8a12Smrg	-acis*)
1386126a8a12Smrg		os=-aos
1387126a8a12Smrg		;;
1388126a8a12Smrg	-atheos*)
1389126a8a12Smrg		os=-atheos
1390126a8a12Smrg		;;
1391126a8a12Smrg	-syllable*)
1392126a8a12Smrg		os=-syllable
1393126a8a12Smrg		;;
1394126a8a12Smrg	-386bsd)
1395126a8a12Smrg		os=-bsd
1396126a8a12Smrg		;;
1397126a8a12Smrg	-ctix* | -uts*)
1398126a8a12Smrg		os=-sysv
1399126a8a12Smrg		;;
1400126a8a12Smrg	-nova*)
1401126a8a12Smrg		os=-rtmk-nova
1402126a8a12Smrg		;;
1403126a8a12Smrg	-ns2 )
1404126a8a12Smrg		os=-nextstep2
1405126a8a12Smrg		;;
1406126a8a12Smrg	-nsk*)
1407126a8a12Smrg		os=-nsk
1408126a8a12Smrg		;;
1409126a8a12Smrg	# Preserve the version number of sinix5.
1410126a8a12Smrg	-sinix5.*)
1411126a8a12Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1412126a8a12Smrg		;;
1413126a8a12Smrg	-sinix*)
1414126a8a12Smrg		os=-sysv4
1415126a8a12Smrg		;;
1416126a8a12Smrg        -tpf*)
1417126a8a12Smrg		os=-tpf
1418126a8a12Smrg		;;
1419126a8a12Smrg	-triton*)
1420126a8a12Smrg		os=-sysv3
1421126a8a12Smrg		;;
1422126a8a12Smrg	-oss*)
1423126a8a12Smrg		os=-sysv3
1424126a8a12Smrg		;;
1425126a8a12Smrg	-svr4)
1426126a8a12Smrg		os=-sysv4
1427126a8a12Smrg		;;
1428126a8a12Smrg	-svr3)
1429126a8a12Smrg		os=-sysv3
1430126a8a12Smrg		;;
1431126a8a12Smrg	-sysvr4)
1432126a8a12Smrg		os=-sysv4
1433126a8a12Smrg		;;
1434126a8a12Smrg	# This must come after -sysvr4.
1435126a8a12Smrg	-sysv*)
1436126a8a12Smrg		;;
1437126a8a12Smrg	-ose*)
1438126a8a12Smrg		os=-ose
1439126a8a12Smrg		;;
1440126a8a12Smrg	-es1800*)
1441126a8a12Smrg		os=-ose
1442126a8a12Smrg		;;
1443126a8a12Smrg	-xenix)
1444126a8a12Smrg		os=-xenix
1445126a8a12Smrg		;;
1446126a8a12Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1447126a8a12Smrg		os=-mint
1448126a8a12Smrg		;;
1449126a8a12Smrg	-aros*)
1450126a8a12Smrg		os=-aros
1451126a8a12Smrg		;;
1452126a8a12Smrg	-kaos*)
1453126a8a12Smrg		os=-kaos
1454126a8a12Smrg		;;
1455126a8a12Smrg	-zvmoe)
1456126a8a12Smrg		os=-zvmoe
1457126a8a12Smrg		;;
1458d656433aSmrg	-dicos*)
1459d656433aSmrg		os=-dicos
1460d656433aSmrg		;;
1461555991fdSmrg        -nacl*)
1462555991fdSmrg	        ;;
1463126a8a12Smrg	-none)
1464126a8a12Smrg		;;
1465126a8a12Smrg	*)
1466126a8a12Smrg		# Get rid of the `-' at the beginning of $os.
1467126a8a12Smrg		os=`echo $os | sed 's/[^-]*-//'`
1468126a8a12Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1469126a8a12Smrg		exit 1
1470126a8a12Smrg		;;
1471126a8a12Smrgesac
1472126a8a12Smrgelse
1473126a8a12Smrg
1474126a8a12Smrg# Here we handle the default operating systems that come with various machines.
1475126a8a12Smrg# The value should be what the vendor currently ships out the door with their
1476126a8a12Smrg# machine or put another way, the most popular os provided with the machine.
1477126a8a12Smrg
1478126a8a12Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1479126a8a12Smrg# "-sun"), then you have to tell the case statement up towards the top
1480126a8a12Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1481126a8a12Smrg# will signal an error saying that MANUFACTURER isn't an operating
1482126a8a12Smrg# system, and we'll never get to this point.
1483126a8a12Smrg
1484126a8a12Smrgcase $basic_machine in
1485d656433aSmrg        score-*)
1486d656433aSmrg		os=-elf
1487d656433aSmrg		;;
1488d656433aSmrg        spu-*)
1489d656433aSmrg		os=-elf
1490d656433aSmrg		;;
1491126a8a12Smrg	*-acorn)
1492126a8a12Smrg		os=-riscix1.2
1493126a8a12Smrg		;;
1494126a8a12Smrg	arm*-rebel)
1495126a8a12Smrg		os=-linux
1496126a8a12Smrg		;;
1497126a8a12Smrg	arm*-semi)
1498126a8a12Smrg		os=-aout
1499126a8a12Smrg		;;
1500d656433aSmrg        c4x-* | tic4x-*)
1501d656433aSmrg        	os=-coff
1502d656433aSmrg		;;
1503555991fdSmrg	tic54x-*)
1504555991fdSmrg		os=-coff
1505555991fdSmrg		;;
1506555991fdSmrg	tic55x-*)
1507555991fdSmrg		os=-coff
1508555991fdSmrg		;;
1509555991fdSmrg	tic6x-*)
1510555991fdSmrg		os=-coff
1511555991fdSmrg		;;
1512126a8a12Smrg	# This must come before the *-dec entry.
1513126a8a12Smrg	pdp10-*)
1514126a8a12Smrg		os=-tops20
1515126a8a12Smrg		;;
1516126a8a12Smrg	pdp11-*)
1517126a8a12Smrg		os=-none
1518126a8a12Smrg		;;
1519126a8a12Smrg	*-dec | vax-*)
1520126a8a12Smrg		os=-ultrix4.2
1521126a8a12Smrg		;;
1522126a8a12Smrg	m68*-apollo)
1523126a8a12Smrg		os=-domain
1524126a8a12Smrg		;;
1525126a8a12Smrg	i386-sun)
1526126a8a12Smrg		os=-sunos4.0.2
1527126a8a12Smrg		;;
1528126a8a12Smrg	m68000-sun)
1529126a8a12Smrg		os=-sunos3
1530126a8a12Smrg		# This also exists in the configure program, but was not the
1531126a8a12Smrg		# default.
1532126a8a12Smrg		# os=-sunos4
1533126a8a12Smrg		;;
1534126a8a12Smrg	m68*-cisco)
1535126a8a12Smrg		os=-aout
1536126a8a12Smrg		;;
1537d656433aSmrg        mep-*)
1538d656433aSmrg		os=-elf
1539d656433aSmrg		;;
1540126a8a12Smrg	mips*-cisco)
1541126a8a12Smrg		os=-elf
1542126a8a12Smrg		;;
1543126a8a12Smrg	mips*-*)
1544126a8a12Smrg		os=-elf
1545126a8a12Smrg		;;
1546126a8a12Smrg	or32-*)
1547126a8a12Smrg		os=-coff
1548126a8a12Smrg		;;
1549126a8a12Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1550126a8a12Smrg		os=-sysv3
1551126a8a12Smrg		;;
1552126a8a12Smrg	sparc-* | *-sun)
1553126a8a12Smrg		os=-sunos4.1.1
1554126a8a12Smrg		;;
1555126a8a12Smrg	*-be)
1556126a8a12Smrg		os=-beos
1557126a8a12Smrg		;;
1558126a8a12Smrg	*-haiku)
1559126a8a12Smrg		os=-haiku
1560126a8a12Smrg		;;
1561126a8a12Smrg	*-ibm)
1562126a8a12Smrg		os=-aix
1563126a8a12Smrg		;;
1564126a8a12Smrg    	*-knuth)
1565126a8a12Smrg		os=-mmixware
1566126a8a12Smrg		;;
1567126a8a12Smrg	*-wec)
1568126a8a12Smrg		os=-proelf
1569126a8a12Smrg		;;
1570126a8a12Smrg	*-winbond)
1571126a8a12Smrg		os=-proelf
1572126a8a12Smrg		;;
1573126a8a12Smrg	*-oki)
1574126a8a12Smrg		os=-proelf
1575126a8a12Smrg		;;
1576126a8a12Smrg	*-hp)
1577126a8a12Smrg		os=-hpux
1578126a8a12Smrg		;;
1579126a8a12Smrg	*-hitachi)
1580126a8a12Smrg		os=-hiux
1581126a8a12Smrg		;;
1582126a8a12Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1583126a8a12Smrg		os=-sysv
1584126a8a12Smrg		;;
1585126a8a12Smrg	*-cbm)
1586126a8a12Smrg		os=-amigaos
1587126a8a12Smrg		;;
1588126a8a12Smrg	*-dg)
1589126a8a12Smrg		os=-dgux
1590126a8a12Smrg		;;
1591126a8a12Smrg	*-dolphin)
1592126a8a12Smrg		os=-sysv3
1593126a8a12Smrg		;;
1594126a8a12Smrg	m68k-ccur)
1595126a8a12Smrg		os=-rtu
1596126a8a12Smrg		;;
1597126a8a12Smrg	m88k-omron*)
1598126a8a12Smrg		os=-luna
1599126a8a12Smrg		;;
1600126a8a12Smrg	*-next )
1601126a8a12Smrg		os=-nextstep
1602126a8a12Smrg		;;
1603126a8a12Smrg	*-sequent)
1604126a8a12Smrg		os=-ptx
1605126a8a12Smrg		;;
1606126a8a12Smrg	*-crds)
1607126a8a12Smrg		os=-unos
1608126a8a12Smrg		;;
1609126a8a12Smrg	*-ns)
1610126a8a12Smrg		os=-genix
1611126a8a12Smrg		;;
1612126a8a12Smrg	i370-*)
1613126a8a12Smrg		os=-mvs
1614126a8a12Smrg		;;
1615126a8a12Smrg	*-next)
1616126a8a12Smrg		os=-nextstep3
1617126a8a12Smrg		;;
1618126a8a12Smrg	*-gould)
1619126a8a12Smrg		os=-sysv
1620126a8a12Smrg		;;
1621126a8a12Smrg	*-highlevel)
1622126a8a12Smrg		os=-bsd
1623126a8a12Smrg		;;
1624126a8a12Smrg	*-encore)
1625126a8a12Smrg		os=-bsd
1626126a8a12Smrg		;;
1627126a8a12Smrg	*-sgi)
1628126a8a12Smrg		os=-irix
1629126a8a12Smrg		;;
1630126a8a12Smrg	*-siemens)
1631126a8a12Smrg		os=-sysv4
1632126a8a12Smrg		;;
1633126a8a12Smrg	*-masscomp)
1634126a8a12Smrg		os=-rtu
1635126a8a12Smrg		;;
1636126a8a12Smrg	f30[01]-fujitsu | f700-fujitsu)
1637126a8a12Smrg		os=-uxpv
1638126a8a12Smrg		;;
1639126a8a12Smrg	*-rom68k)
1640126a8a12Smrg		os=-coff
1641126a8a12Smrg		;;
1642126a8a12Smrg	*-*bug)
1643126a8a12Smrg		os=-coff
1644126a8a12Smrg		;;
1645126a8a12Smrg	*-apple)
1646126a8a12Smrg		os=-macos
1647126a8a12Smrg		;;
1648126a8a12Smrg	*-atari*)
1649126a8a12Smrg		os=-mint
1650126a8a12Smrg		;;
1651126a8a12Smrg	*)
1652126a8a12Smrg		os=-none
1653126a8a12Smrg		;;
1654126a8a12Smrgesac
1655126a8a12Smrgfi
1656126a8a12Smrg
1657126a8a12Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1658126a8a12Smrg# manufacturer.  We pick the logical manufacturer.
1659126a8a12Smrgvendor=unknown
1660126a8a12Smrgcase $basic_machine in
1661126a8a12Smrg	*-unknown)
1662126a8a12Smrg		case $os in
1663126a8a12Smrg			-riscix*)
1664126a8a12Smrg				vendor=acorn
1665126a8a12Smrg				;;
1666126a8a12Smrg			-sunos*)
1667126a8a12Smrg				vendor=sun
1668126a8a12Smrg				;;
1669555991fdSmrg			-cnk*|-aix*)
1670126a8a12Smrg				vendor=ibm
1671126a8a12Smrg				;;
1672126a8a12Smrg			-beos*)
1673126a8a12Smrg				vendor=be
1674126a8a12Smrg				;;
1675126a8a12Smrg			-hpux*)
1676126a8a12Smrg				vendor=hp
1677126a8a12Smrg				;;
1678126a8a12Smrg			-mpeix*)
1679126a8a12Smrg				vendor=hp
1680126a8a12Smrg				;;
1681126a8a12Smrg			-hiux*)
1682126a8a12Smrg				vendor=hitachi
1683126a8a12Smrg				;;
1684126a8a12Smrg			-unos*)
1685126a8a12Smrg				vendor=crds
1686126a8a12Smrg				;;
1687126a8a12Smrg			-dgux*)
1688126a8a12Smrg				vendor=dg
1689126a8a12Smrg				;;
1690126a8a12Smrg			-luna*)
1691126a8a12Smrg				vendor=omron
1692126a8a12Smrg				;;
1693126a8a12Smrg			-genix*)
1694126a8a12Smrg				vendor=ns
1695126a8a12Smrg				;;
1696126a8a12Smrg			-mvs* | -opened*)
1697126a8a12Smrg				vendor=ibm
1698126a8a12Smrg				;;
1699126a8a12Smrg			-os400*)
1700126a8a12Smrg				vendor=ibm
1701126a8a12Smrg				;;
1702126a8a12Smrg			-ptx*)
1703126a8a12Smrg				vendor=sequent
1704126a8a12Smrg				;;
1705126a8a12Smrg			-tpf*)
1706126a8a12Smrg				vendor=ibm
1707126a8a12Smrg				;;
1708126a8a12Smrg			-vxsim* | -vxworks* | -windiss*)
1709126a8a12Smrg				vendor=wrs
1710126a8a12Smrg				;;
1711126a8a12Smrg			-aux*)
1712126a8a12Smrg				vendor=apple
1713126a8a12Smrg				;;
1714126a8a12Smrg			-hms*)
1715126a8a12Smrg				vendor=hitachi
1716126a8a12Smrg				;;
1717126a8a12Smrg			-mpw* | -macos*)
1718126a8a12Smrg				vendor=apple
1719126a8a12Smrg				;;
1720126a8a12Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1721126a8a12Smrg				vendor=atari
1722126a8a12Smrg				;;
1723126a8a12Smrg			-vos*)
1724126a8a12Smrg				vendor=stratus
1725126a8a12Smrg				;;
1726126a8a12Smrg		esac
1727126a8a12Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1728126a8a12Smrg		;;
1729126a8a12Smrgesac
1730126a8a12Smrg
1731126a8a12Smrgecho $basic_machine$os
1732126a8a12Smrgexit
1733126a8a12Smrg
1734126a8a12Smrg# Local variables:
1735126a8a12Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1736126a8a12Smrg# time-stamp-start: "timestamp='"
1737126a8a12Smrg# time-stamp-format: "%:y-%02m-%02d"
1738126a8a12Smrg# time-stamp-end: "'"
1739126a8a12Smrg# End:
1740