config.sub revision 213fdd94
1301ea0f4Smrg#! /bin/sh
2301ea0f4Smrg# Configuration validation subroutine script.
3301ea0f4Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4213fdd94Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5213fdd94Smrg#   2011, 2012 Free Software Foundation, Inc.
6301ea0f4Smrg
7213fdd94Smrgtimestamp='2012-01-01'
8301ea0f4Smrg
9301ea0f4Smrg# This file is (in principle) common to ALL GNU software.
10301ea0f4Smrg# The presence of a machine in this file suggests that SOME GNU software
11301ea0f4Smrg# can handle that machine.  It does not imply ALL GNU software can.
12301ea0f4Smrg#
13301ea0f4Smrg# This file is free software; you can redistribute it and/or modify
14301ea0f4Smrg# it under the terms of the GNU General Public License as published by
15301ea0f4Smrg# the Free Software Foundation; either version 2 of the License, or
16301ea0f4Smrg# (at your option) any later version.
17301ea0f4Smrg#
18301ea0f4Smrg# This program is distributed in the hope that it will be useful,
19301ea0f4Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20301ea0f4Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21301ea0f4Smrg# GNU General Public License for more details.
22301ea0f4Smrg#
23301ea0f4Smrg# You should have received a copy of the GNU General Public License
24301ea0f4Smrg# along with this program; if not, write to the Free Software
250cc67336Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
260cc67336Smrg# 02110-1301, USA.
270cc67336Smrg#
28301ea0f4Smrg# As a special exception to the GNU General Public License, if you
29301ea0f4Smrg# distribute this file as part of a program that contains a
30301ea0f4Smrg# configuration script generated by Autoconf, you may include it under
31301ea0f4Smrg# the same distribution terms that you use for the rest of that program.
32301ea0f4Smrg
330cc67336Smrg
34301ea0f4Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35213fdd94Smrg# diff and a properly formatted GNU ChangeLog entry.
36301ea0f4Smrg#
37301ea0f4Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38301ea0f4Smrg# Supply the specified configuration type as an argument.
39301ea0f4Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40301ea0f4Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41301ea0f4Smrg
42213fdd94Smrg# You can get the latest version of this script from:
43213fdd94Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44213fdd94Smrg
45301ea0f4Smrg# This file is supposed to be the same for all GNU packages
46301ea0f4Smrg# and recognize all the CPU types, system types and aliases
47301ea0f4Smrg# that are meaningful with *any* GNU software.
48301ea0f4Smrg# Each package is responsible for reporting which valid configurations
49301ea0f4Smrg# it does not support.  The user should be able to distinguish
50301ea0f4Smrg# a failure to support a valid configuration from a meaningless
51301ea0f4Smrg# configuration.
52301ea0f4Smrg
53301ea0f4Smrg# The goal of this file is to map all the various variations of a given
54301ea0f4Smrg# machine specification into a single specification in the form:
55301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56301ea0f4Smrg# or in some cases, the newer four-part form:
57301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58301ea0f4Smrg# It is wrong to echo any other type of specification.
59301ea0f4Smrg
60301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'`
61301ea0f4Smrg
62301ea0f4Smrgusage="\
63301ea0f4SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
64301ea0f4Smrg       $0 [OPTION] ALIAS
65301ea0f4Smrg
66301ea0f4SmrgCanonicalize a configuration name.
67301ea0f4Smrg
68301ea0f4SmrgOperation modes:
69301ea0f4Smrg  -h, --help         print this help, then exit
70301ea0f4Smrg  -t, --time-stamp   print date of last modification, then exit
71301ea0f4Smrg  -v, --version      print version number, then exit
72301ea0f4Smrg
73301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>."
74301ea0f4Smrg
75301ea0f4Smrgversion="\
76301ea0f4SmrgGNU config.sub ($timestamp)
77301ea0f4Smrg
78213fdd94SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79213fdd94Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
80213fdd94SmrgFree Software Foundation, Inc.
81301ea0f4Smrg
82301ea0f4SmrgThis is free software; see the source for copying conditions.  There is NO
83301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84301ea0f4Smrg
85301ea0f4Smrghelp="
86301ea0f4SmrgTry \`$me --help' for more information."
87301ea0f4Smrg
88301ea0f4Smrg# Parse command line
89301ea0f4Smrgwhile test $# -gt 0 ; do
90301ea0f4Smrg  case $1 in
91301ea0f4Smrg    --time-stamp | --time* | -t )
920cc67336Smrg       echo "$timestamp" ; exit ;;
93301ea0f4Smrg    --version | -v )
940cc67336Smrg       echo "$version" ; exit ;;
95301ea0f4Smrg    --help | --h* | -h )
960cc67336Smrg       echo "$usage"; exit ;;
97301ea0f4Smrg    -- )     # Stop option processing
98301ea0f4Smrg       shift; break ;;
99301ea0f4Smrg    - )	# Use stdin as input.
100301ea0f4Smrg       break ;;
101301ea0f4Smrg    -* )
102301ea0f4Smrg       echo "$me: invalid option $1$help"
103301ea0f4Smrg       exit 1 ;;
104301ea0f4Smrg
105301ea0f4Smrg    *local*)
106301ea0f4Smrg       # First pass through any local machine types.
107301ea0f4Smrg       echo $1
1080cc67336Smrg       exit ;;
109301ea0f4Smrg
110301ea0f4Smrg    * )
111301ea0f4Smrg       break ;;
112301ea0f4Smrg  esac
113301ea0f4Smrgdone
114301ea0f4Smrg
115301ea0f4Smrgcase $# in
116301ea0f4Smrg 0) echo "$me: missing argument$help" >&2
117301ea0f4Smrg    exit 1;;
118301ea0f4Smrg 1) ;;
119301ea0f4Smrg *) echo "$me: too many arguments$help" >&2
120301ea0f4Smrg    exit 1;;
121301ea0f4Smrgesac
122301ea0f4Smrg
123301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations.
125301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126301ea0f4Smrgcase $maybe_os in
127213fdd94Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128213fdd94Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129213fdd94Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130213fdd94Smrg  kopensolaris*-gnu* | \
1310cc67336Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
132301ea0f4Smrg    os=-$maybe_os
133301ea0f4Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
134301ea0f4Smrg    ;;
135301ea0f4Smrg  *)
136301ea0f4Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137301ea0f4Smrg    if [ $basic_machine != $1 ]
138301ea0f4Smrg    then os=`echo $1 | sed 's/.*-/-/'`
139301ea0f4Smrg    else os=; fi
140301ea0f4Smrg    ;;
141301ea0f4Smrgesac
142301ea0f4Smrg
143301ea0f4Smrg### Let's recognize common machines as not being operating systems so
144301ea0f4Smrg### that things like config.sub decstation-3100 work.  We also
145301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we
146301ea0f4Smrg### can provide default operating systems below.
147301ea0f4Smrgcase $os in
148301ea0f4Smrg	-sun*os*)
149301ea0f4Smrg		# Prevent following clause from handling this invalid input.
150301ea0f4Smrg		;;
151301ea0f4Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152301ea0f4Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153301ea0f4Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154301ea0f4Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155301ea0f4Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156301ea0f4Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157213fdd94Smrg	-apple | -axis | -knuth | -cray | -microblaze)
158301ea0f4Smrg		os=
159301ea0f4Smrg		basic_machine=$1
160301ea0f4Smrg		;;
161213fdd94Smrg	-bluegene*)
162213fdd94Smrg		os=-cnk
163213fdd94Smrg		;;
164301ea0f4Smrg	-sim | -cisco | -oki | -wec | -winbond)
165301ea0f4Smrg		os=
166301ea0f4Smrg		basic_machine=$1
167301ea0f4Smrg		;;
168301ea0f4Smrg	-scout)
169301ea0f4Smrg		;;
170301ea0f4Smrg	-wrs)
171301ea0f4Smrg		os=-vxworks
172301ea0f4Smrg		basic_machine=$1
173301ea0f4Smrg		;;
174301ea0f4Smrg	-chorusos*)
175301ea0f4Smrg		os=-chorusos
176301ea0f4Smrg		basic_machine=$1
177301ea0f4Smrg		;;
178213fdd94Smrg	-chorusrdb)
179213fdd94Smrg		os=-chorusrdb
180301ea0f4Smrg		basic_machine=$1
181213fdd94Smrg		;;
182301ea0f4Smrg	-hiux*)
183301ea0f4Smrg		os=-hiuxwe2
184301ea0f4Smrg		;;
1850cc67336Smrg	-sco6)
1860cc67336Smrg		os=-sco5v6
1870cc67336Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1880cc67336Smrg		;;
189301ea0f4Smrg	-sco5)
190301ea0f4Smrg		os=-sco3.2v5
191301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192301ea0f4Smrg		;;
193301ea0f4Smrg	-sco4)
194301ea0f4Smrg		os=-sco3.2v4
195301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196301ea0f4Smrg		;;
197301ea0f4Smrg	-sco3.2.[4-9]*)
198301ea0f4Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200301ea0f4Smrg		;;
201301ea0f4Smrg	-sco3.2v[4-9]*)
202301ea0f4Smrg		# Don't forget version if it is 3.2v4 or newer.
203301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204301ea0f4Smrg		;;
2050cc67336Smrg	-sco5v6*)
2060cc67336Smrg		# Don't forget version if it is 3.2v4 or newer.
2070cc67336Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2080cc67336Smrg		;;
209301ea0f4Smrg	-sco*)
210301ea0f4Smrg		os=-sco3.2v2
211301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212301ea0f4Smrg		;;
213301ea0f4Smrg	-udk*)
214301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215301ea0f4Smrg		;;
216301ea0f4Smrg	-isc)
217301ea0f4Smrg		os=-isc2.2
218301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219301ea0f4Smrg		;;
220301ea0f4Smrg	-clix*)
221301ea0f4Smrg		basic_machine=clipper-intergraph
222301ea0f4Smrg		;;
223301ea0f4Smrg	-isc*)
224301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
225301ea0f4Smrg		;;
226301ea0f4Smrg	-lynx*)
227301ea0f4Smrg		os=-lynxos
228301ea0f4Smrg		;;
229301ea0f4Smrg	-ptx*)
230301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
231301ea0f4Smrg		;;
232301ea0f4Smrg	-windowsnt*)
233301ea0f4Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
234301ea0f4Smrg		;;
235301ea0f4Smrg	-psos*)
236301ea0f4Smrg		os=-psos
237301ea0f4Smrg		;;
238301ea0f4Smrg	-mint | -mint[0-9]*)
239301ea0f4Smrg		basic_machine=m68k-atari
240301ea0f4Smrg		os=-mint
241301ea0f4Smrg		;;
242301ea0f4Smrgesac
243301ea0f4Smrg
244301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations.
245301ea0f4Smrgcase $basic_machine in
246301ea0f4Smrg	# Recognize the basic CPU types without company name.
247301ea0f4Smrg	# Some are omitted here because they have special meanings below.
248301ea0f4Smrg	1750a | 580 \
249301ea0f4Smrg	| a29k \
250301ea0f4Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251301ea0f4Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2520cc67336Smrg	| am33_2.0 \
2530cc67336Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254213fdd94Smrg        | be32 | be64 \
2550cc67336Smrg	| bfin \
256301ea0f4Smrg	| c4x | clipper \
257301ea0f4Smrg	| d10v | d30v | dlx | dsp16xx \
258213fdd94Smrg	| epiphany \
2590cc67336Smrg	| fido | fr30 | frv \
260301ea0f4Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
261213fdd94Smrg	| hexagon \
262301ea0f4Smrg	| i370 | i860 | i960 | ia64 \
2630cc67336Smrg	| ip2k | iq2000 \
264213fdd94Smrg	| le32 | le64 \
265213fdd94Smrg	| lm32 \
2660cc67336Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267213fdd94Smrg	| maxq | mb | microblaze | mcore | mep | metag \
268301ea0f4Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
269301ea0f4Smrg	| mips16 \
270301ea0f4Smrg	| mips64 | mips64el \
271213fdd94Smrg	| mips64octeon | mips64octeonel \
272301ea0f4Smrg	| mips64orion | mips64orionel \
273213fdd94Smrg	| mips64r5900 | mips64r5900el \
274213fdd94Smrg	| mips64vr | mips64vrel \
275301ea0f4Smrg	| mips64vr4100 | mips64vr4100el \
276301ea0f4Smrg	| mips64vr4300 | mips64vr4300el \
277301ea0f4Smrg	| mips64vr5000 | mips64vr5000el \
2780cc67336Smrg	| mips64vr5900 | mips64vr5900el \
279301ea0f4Smrg	| mipsisa32 | mipsisa32el \
280301ea0f4Smrg	| mipsisa32r2 | mipsisa32r2el \
281301ea0f4Smrg	| mipsisa64 | mipsisa64el \
2820cc67336Smrg	| mipsisa64r2 | mipsisa64r2el \
283301ea0f4Smrg	| mipsisa64sb1 | mipsisa64sb1el \
284301ea0f4Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
285301ea0f4Smrg	| mipstx39 | mipstx39el \
286301ea0f4Smrg	| mn10200 | mn10300 \
287213fdd94Smrg	| moxie \
2880cc67336Smrg	| mt \
289301ea0f4Smrg	| msp430 \
290213fdd94Smrg	| nds32 | nds32le | nds32be \
2910cc67336Smrg	| nios | nios2 \
292301ea0f4Smrg	| ns16k | ns32k \
293213fdd94Smrg	| open8 \
2940cc67336Smrg	| or32 \
295301ea0f4Smrg	| pdp10 | pdp11 | pj | pjl \
296213fdd94Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
297301ea0f4Smrg	| pyramid \
298213fdd94Smrg	| rl78 | rx \
2990cc67336Smrg	| score \
300213fdd94Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
301301ea0f4Smrg	| sh64 | sh64le \
3020cc67336Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3030cc67336Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304213fdd94Smrg	| spu \
305213fdd94Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306213fdd94Smrg	| ubicom32 \
307213fdd94Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308301ea0f4Smrg	| we32k \
309213fdd94Smrg	| x86 | xc16x | xstormy16 | xtensa \
310213fdd94Smrg	| z8k | z80)
311301ea0f4Smrg		basic_machine=$basic_machine-unknown
312301ea0f4Smrg		;;
313213fdd94Smrg	c54x)
314213fdd94Smrg		basic_machine=tic54x-unknown
315213fdd94Smrg		;;
316213fdd94Smrg	c55x)
317213fdd94Smrg		basic_machine=tic55x-unknown
318213fdd94Smrg		;;
319213fdd94Smrg	c6x)
320213fdd94Smrg		basic_machine=tic6x-unknown
321213fdd94Smrg		;;
322213fdd94Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323301ea0f4Smrg		basic_machine=$basic_machine-unknown
324301ea0f4Smrg		os=-none
325301ea0f4Smrg		;;
326301ea0f4Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
327301ea0f4Smrg		;;
3280cc67336Smrg	ms1)
3290cc67336Smrg		basic_machine=mt-unknown
3300cc67336Smrg		;;
331301ea0f4Smrg
332213fdd94Smrg	strongarm | thumb | xscale)
333213fdd94Smrg		basic_machine=arm-unknown
334213fdd94Smrg		;;
335213fdd94Smrg
336213fdd94Smrg	xscaleeb)
337213fdd94Smrg		basic_machine=armeb-unknown
338213fdd94Smrg		;;
339213fdd94Smrg
340213fdd94Smrg	xscaleel)
341213fdd94Smrg		basic_machine=armel-unknown
342213fdd94Smrg		;;
343213fdd94Smrg
344301ea0f4Smrg	# We use `pc' rather than `unknown'
345301ea0f4Smrg	# because (1) that's what they normally are, and
346301ea0f4Smrg	# (2) the word "unknown" tends to confuse beginning users.
347301ea0f4Smrg	i*86 | x86_64)
348301ea0f4Smrg	  basic_machine=$basic_machine-pc
349301ea0f4Smrg	  ;;
350301ea0f4Smrg	# Object if more than one company name word.
351301ea0f4Smrg	*-*-*)
352301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
353301ea0f4Smrg		exit 1
354301ea0f4Smrg		;;
355301ea0f4Smrg	# Recognize the basic CPU types with company name.
356301ea0f4Smrg	580-* \
357301ea0f4Smrg	| a29k-* \
358301ea0f4Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
359301ea0f4Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
360301ea0f4Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
361301ea0f4Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3620cc67336Smrg	| avr-* | avr32-* \
363213fdd94Smrg	| be32-* | be64-* \
3640cc67336Smrg	| bfin-* | bs2000-* \
365213fdd94Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3660cc67336Smrg	| clipper-* | craynv-* | cydra-* \
367301ea0f4Smrg	| d10v-* | d30v-* | dlx-* \
368301ea0f4Smrg	| elxsi-* \
3690cc67336Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
370301ea0f4Smrg	| h8300-* | h8500-* \
371301ea0f4Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
372213fdd94Smrg	| hexagon-* \
373301ea0f4Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3740cc67336Smrg	| ip2k-* | iq2000-* \
375213fdd94Smrg	| le32-* | le64-* \
376213fdd94Smrg	| lm32-* \
3770cc67336Smrg	| m32c-* | m32r-* | m32rle-* \
378301ea0f4Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
379213fdd94Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
380301ea0f4Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
381301ea0f4Smrg	| mips16-* \
382301ea0f4Smrg	| mips64-* | mips64el-* \
383213fdd94Smrg	| mips64octeon-* | mips64octeonel-* \
384301ea0f4Smrg	| mips64orion-* | mips64orionel-* \
385213fdd94Smrg	| mips64r5900-* | mips64r5900el-* \
386213fdd94Smrg	| mips64vr-* | mips64vrel-* \
387301ea0f4Smrg	| mips64vr4100-* | mips64vr4100el-* \
388301ea0f4Smrg	| mips64vr4300-* | mips64vr4300el-* \
389301ea0f4Smrg	| mips64vr5000-* | mips64vr5000el-* \
3900cc67336Smrg	| mips64vr5900-* | mips64vr5900el-* \
391301ea0f4Smrg	| mipsisa32-* | mipsisa32el-* \
392301ea0f4Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
393301ea0f4Smrg	| mipsisa64-* | mipsisa64el-* \
3940cc67336Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
395301ea0f4Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
396301ea0f4Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
397301ea0f4Smrg	| mipstx39-* | mipstx39el-* \
3980cc67336Smrg	| mmix-* \
3990cc67336Smrg	| mt-* \
400301ea0f4Smrg	| msp430-* \
401213fdd94Smrg	| nds32-* | nds32le-* | nds32be-* \
4020cc67336Smrg	| nios-* | nios2-* \
4030cc67336Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
404213fdd94Smrg	| open8-* \
405301ea0f4Smrg	| orion-* \
406301ea0f4Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
407213fdd94Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
408301ea0f4Smrg	| pyramid-* \
409213fdd94Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
410213fdd94Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
411301ea0f4Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4120cc67336Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4130cc67336Smrg	| sparclite-* \
414213fdd94Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
415213fdd94Smrg	| tahoe-* \
416301ea0f4Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
417213fdd94Smrg	| tile*-* \
418301ea0f4Smrg	| tron-* \
419213fdd94Smrg	| ubicom32-* \
420213fdd94Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
421213fdd94Smrg	| vax-* \
422301ea0f4Smrg	| we32k-* \
423213fdd94Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4240cc67336Smrg	| xstormy16-* | xtensa*-* \
425301ea0f4Smrg	| ymp-* \
426213fdd94Smrg	| z8k-* | z80-*)
427301ea0f4Smrg		;;
4280cc67336Smrg	# Recognize the basic CPU types without company name, with glob match.
4290cc67336Smrg	xtensa*)
4300cc67336Smrg		basic_machine=$basic_machine-unknown
4310cc67336Smrg		;;
432301ea0f4Smrg	# Recognize the various machine names and aliases which stand
433301ea0f4Smrg	# for a CPU type and a company and sometimes even an OS.
434301ea0f4Smrg	386bsd)
435301ea0f4Smrg		basic_machine=i386-unknown
436301ea0f4Smrg		os=-bsd
437301ea0f4Smrg		;;
438301ea0f4Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
439301ea0f4Smrg		basic_machine=m68000-att
440301ea0f4Smrg		;;
441301ea0f4Smrg	3b*)
442301ea0f4Smrg		basic_machine=we32k-att
443301ea0f4Smrg		;;
444301ea0f4Smrg	a29khif)
445301ea0f4Smrg		basic_machine=a29k-amd
446301ea0f4Smrg		os=-udi
447301ea0f4Smrg		;;
448213fdd94Smrg	abacus)
4490cc67336Smrg		basic_machine=abacus-unknown
4500cc67336Smrg		;;
451301ea0f4Smrg	adobe68k)
452301ea0f4Smrg		basic_machine=m68010-adobe
453301ea0f4Smrg		os=-scout
454301ea0f4Smrg		;;
455301ea0f4Smrg	alliant | fx80)
456301ea0f4Smrg		basic_machine=fx80-alliant
457301ea0f4Smrg		;;
458301ea0f4Smrg	altos | altos3068)
459301ea0f4Smrg		basic_machine=m68k-altos
460301ea0f4Smrg		;;
461301ea0f4Smrg	am29k)
462301ea0f4Smrg		basic_machine=a29k-none
463301ea0f4Smrg		os=-bsd
464301ea0f4Smrg		;;
465301ea0f4Smrg	amd64)
466301ea0f4Smrg		basic_machine=x86_64-pc
467301ea0f4Smrg		;;
4680cc67336Smrg	amd64-*)
4690cc67336Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4700cc67336Smrg		;;
471301ea0f4Smrg	amdahl)
472301ea0f4Smrg		basic_machine=580-amdahl
473301ea0f4Smrg		os=-sysv
474301ea0f4Smrg		;;
475301ea0f4Smrg	amiga | amiga-*)
476301ea0f4Smrg		basic_machine=m68k-unknown
477301ea0f4Smrg		;;
478301ea0f4Smrg	amigaos | amigados)
479301ea0f4Smrg		basic_machine=m68k-unknown
480301ea0f4Smrg		os=-amigaos
481301ea0f4Smrg		;;
482301ea0f4Smrg	amigaunix | amix)
483301ea0f4Smrg		basic_machine=m68k-unknown
484301ea0f4Smrg		os=-sysv4
485301ea0f4Smrg		;;
486301ea0f4Smrg	apollo68)
487301ea0f4Smrg		basic_machine=m68k-apollo
488301ea0f4Smrg		os=-sysv
489301ea0f4Smrg		;;
490301ea0f4Smrg	apollo68bsd)
491301ea0f4Smrg		basic_machine=m68k-apollo
492301ea0f4Smrg		os=-bsd
493301ea0f4Smrg		;;
494213fdd94Smrg	aros)
495213fdd94Smrg		basic_machine=i386-pc
496213fdd94Smrg		os=-aros
497213fdd94Smrg		;;
498301ea0f4Smrg	aux)
499301ea0f4Smrg		basic_machine=m68k-apple
500301ea0f4Smrg		os=-aux
501301ea0f4Smrg		;;
502301ea0f4Smrg	balance)
503301ea0f4Smrg		basic_machine=ns32k-sequent
504301ea0f4Smrg		os=-dynix
505301ea0f4Smrg		;;
5060cc67336Smrg	blackfin)
5070cc67336Smrg		basic_machine=bfin-unknown
5080cc67336Smrg		os=-linux
5090cc67336Smrg		;;
5100cc67336Smrg	blackfin-*)
5110cc67336Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5120cc67336Smrg		os=-linux
5130cc67336Smrg		;;
514213fdd94Smrg	bluegene*)
515213fdd94Smrg		basic_machine=powerpc-ibm
516213fdd94Smrg		os=-cnk
517213fdd94Smrg		;;
518213fdd94Smrg	c54x-*)
519213fdd94Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
520213fdd94Smrg		;;
521213fdd94Smrg	c55x-*)
522213fdd94Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
523213fdd94Smrg		;;
524213fdd94Smrg	c6x-*)
525213fdd94Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
526213fdd94Smrg		;;
527301ea0f4Smrg	c90)
528301ea0f4Smrg		basic_machine=c90-cray
529301ea0f4Smrg		os=-unicos
530301ea0f4Smrg		;;
531213fdd94Smrg	cegcc)
532213fdd94Smrg		basic_machine=arm-unknown
533213fdd94Smrg		os=-cegcc
534213fdd94Smrg		;;
535301ea0f4Smrg	convex-c1)
536301ea0f4Smrg		basic_machine=c1-convex
537301ea0f4Smrg		os=-bsd
538301ea0f4Smrg		;;
539301ea0f4Smrg	convex-c2)
540301ea0f4Smrg		basic_machine=c2-convex
541301ea0f4Smrg		os=-bsd
542301ea0f4Smrg		;;
543301ea0f4Smrg	convex-c32)
544301ea0f4Smrg		basic_machine=c32-convex
545301ea0f4Smrg		os=-bsd
546301ea0f4Smrg		;;
547301ea0f4Smrg	convex-c34)
548301ea0f4Smrg		basic_machine=c34-convex
549301ea0f4Smrg		os=-bsd
550301ea0f4Smrg		;;
551301ea0f4Smrg	convex-c38)
552301ea0f4Smrg		basic_machine=c38-convex
553301ea0f4Smrg		os=-bsd
554301ea0f4Smrg		;;
555301ea0f4Smrg	cray | j90)
556301ea0f4Smrg		basic_machine=j90-cray
557301ea0f4Smrg		os=-unicos
558301ea0f4Smrg		;;
5590cc67336Smrg	craynv)
5600cc67336Smrg		basic_machine=craynv-cray
5610cc67336Smrg		os=-unicosmp
5620cc67336Smrg		;;
563213fdd94Smrg	cr16 | cr16-*)
5640cc67336Smrg		basic_machine=cr16-unknown
5650cc67336Smrg		os=-elf
5660cc67336Smrg		;;
567301ea0f4Smrg	crds | unos)
568301ea0f4Smrg		basic_machine=m68k-crds
569301ea0f4Smrg		;;
5700cc67336Smrg	crisv32 | crisv32-* | etraxfs*)
5710cc67336Smrg		basic_machine=crisv32-axis
5720cc67336Smrg		;;
573301ea0f4Smrg	cris | cris-* | etrax*)
574301ea0f4Smrg		basic_machine=cris-axis
575301ea0f4Smrg		;;
5760cc67336Smrg	crx)
5770cc67336Smrg		basic_machine=crx-unknown
5780cc67336Smrg		os=-elf
5790cc67336Smrg		;;
580301ea0f4Smrg	da30 | da30-*)
581301ea0f4Smrg		basic_machine=m68k-da30
582301ea0f4Smrg		;;
583301ea0f4Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
584301ea0f4Smrg		basic_machine=mips-dec
585301ea0f4Smrg		;;
586301ea0f4Smrg	decsystem10* | dec10*)
587301ea0f4Smrg		basic_machine=pdp10-dec
588301ea0f4Smrg		os=-tops10
589301ea0f4Smrg		;;
590301ea0f4Smrg	decsystem20* | dec20*)
591301ea0f4Smrg		basic_machine=pdp10-dec
592301ea0f4Smrg		os=-tops20
593301ea0f4Smrg		;;
594301ea0f4Smrg	delta | 3300 | motorola-3300 | motorola-delta \
595301ea0f4Smrg	      | 3300-motorola | delta-motorola)
596301ea0f4Smrg		basic_machine=m68k-motorola
597301ea0f4Smrg		;;
598301ea0f4Smrg	delta88)
599301ea0f4Smrg		basic_machine=m88k-motorola
600301ea0f4Smrg		os=-sysv3
601301ea0f4Smrg		;;
602213fdd94Smrg	dicos)
603213fdd94Smrg		basic_machine=i686-pc
604213fdd94Smrg		os=-dicos
605213fdd94Smrg		;;
6060cc67336Smrg	djgpp)
6070cc67336Smrg		basic_machine=i586-pc
6080cc67336Smrg		os=-msdosdjgpp
6090cc67336Smrg		;;
610301ea0f4Smrg	dpx20 | dpx20-*)
611301ea0f4Smrg		basic_machine=rs6000-bull
612301ea0f4Smrg		os=-bosx
613301ea0f4Smrg		;;
614301ea0f4Smrg	dpx2* | dpx2*-bull)
615301ea0f4Smrg		basic_machine=m68k-bull
616301ea0f4Smrg		os=-sysv3
617301ea0f4Smrg		;;
618301ea0f4Smrg	ebmon29k)
619301ea0f4Smrg		basic_machine=a29k-amd
620301ea0f4Smrg		os=-ebmon
621301ea0f4Smrg		;;
622301ea0f4Smrg	elxsi)
623301ea0f4Smrg		basic_machine=elxsi-elxsi
624301ea0f4Smrg		os=-bsd
625301ea0f4Smrg		;;
626301ea0f4Smrg	encore | umax | mmax)
627301ea0f4Smrg		basic_machine=ns32k-encore
628301ea0f4Smrg		;;
629301ea0f4Smrg	es1800 | OSE68k | ose68k | ose | OSE)
630301ea0f4Smrg		basic_machine=m68k-ericsson
631301ea0f4Smrg		os=-ose
632301ea0f4Smrg		;;
633301ea0f4Smrg	fx2800)
634301ea0f4Smrg		basic_machine=i860-alliant
635301ea0f4Smrg		;;
636301ea0f4Smrg	genix)
637301ea0f4Smrg		basic_machine=ns32k-ns
638301ea0f4Smrg		;;
639301ea0f4Smrg	gmicro)
640301ea0f4Smrg		basic_machine=tron-gmicro
641301ea0f4Smrg		os=-sysv
642301ea0f4Smrg		;;
643301ea0f4Smrg	go32)
644301ea0f4Smrg		basic_machine=i386-pc
645301ea0f4Smrg		os=-go32
646301ea0f4Smrg		;;
647301ea0f4Smrg	h3050r* | hiux*)
648301ea0f4Smrg		basic_machine=hppa1.1-hitachi
649301ea0f4Smrg		os=-hiuxwe2
650301ea0f4Smrg		;;
651301ea0f4Smrg	h8300hms)
652301ea0f4Smrg		basic_machine=h8300-hitachi
653301ea0f4Smrg		os=-hms
654301ea0f4Smrg		;;
655301ea0f4Smrg	h8300xray)
656301ea0f4Smrg		basic_machine=h8300-hitachi
657301ea0f4Smrg		os=-xray
658301ea0f4Smrg		;;
659301ea0f4Smrg	h8500hms)
660301ea0f4Smrg		basic_machine=h8500-hitachi
661301ea0f4Smrg		os=-hms
662301ea0f4Smrg		;;
663301ea0f4Smrg	harris)
664301ea0f4Smrg		basic_machine=m88k-harris
665301ea0f4Smrg		os=-sysv3
666301ea0f4Smrg		;;
667301ea0f4Smrg	hp300-*)
668301ea0f4Smrg		basic_machine=m68k-hp
669301ea0f4Smrg		;;
670301ea0f4Smrg	hp300bsd)
671301ea0f4Smrg		basic_machine=m68k-hp
672301ea0f4Smrg		os=-bsd
673301ea0f4Smrg		;;
674301ea0f4Smrg	hp300hpux)
675301ea0f4Smrg		basic_machine=m68k-hp
676301ea0f4Smrg		os=-hpux
677301ea0f4Smrg		;;
678301ea0f4Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
679301ea0f4Smrg		basic_machine=hppa1.0-hp
680301ea0f4Smrg		;;
681301ea0f4Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
682301ea0f4Smrg		basic_machine=m68000-hp
683301ea0f4Smrg		;;
684301ea0f4Smrg	hp9k3[2-9][0-9])
685301ea0f4Smrg		basic_machine=m68k-hp
686301ea0f4Smrg		;;
687301ea0f4Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
688301ea0f4Smrg		basic_machine=hppa1.0-hp
689301ea0f4Smrg		;;
690301ea0f4Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
691301ea0f4Smrg		basic_machine=hppa1.1-hp
692301ea0f4Smrg		;;
693301ea0f4Smrg	hp9k78[0-9] | hp78[0-9])
694301ea0f4Smrg		# FIXME: really hppa2.0-hp
695301ea0f4Smrg		basic_machine=hppa1.1-hp
696301ea0f4Smrg		;;
697301ea0f4Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
698301ea0f4Smrg		# FIXME: really hppa2.0-hp
699301ea0f4Smrg		basic_machine=hppa1.1-hp
700301ea0f4Smrg		;;
701301ea0f4Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
702301ea0f4Smrg		basic_machine=hppa1.1-hp
703301ea0f4Smrg		;;
704301ea0f4Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
705301ea0f4Smrg		basic_machine=hppa1.0-hp
706301ea0f4Smrg		;;
707301ea0f4Smrg	hppa-next)
708301ea0f4Smrg		os=-nextstep3
709301ea0f4Smrg		;;
710301ea0f4Smrg	hppaosf)
711301ea0f4Smrg		basic_machine=hppa1.1-hp
712301ea0f4Smrg		os=-osf
713301ea0f4Smrg		;;
714301ea0f4Smrg	hppro)
715301ea0f4Smrg		basic_machine=hppa1.1-hp
716301ea0f4Smrg		os=-proelf
717301ea0f4Smrg		;;
718301ea0f4Smrg	i370-ibm* | ibm*)
719301ea0f4Smrg		basic_machine=i370-ibm
720301ea0f4Smrg		;;
721301ea0f4Smrg	i*86v32)
722301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
723301ea0f4Smrg		os=-sysv32
724301ea0f4Smrg		;;
725301ea0f4Smrg	i*86v4*)
726301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727301ea0f4Smrg		os=-sysv4
728301ea0f4Smrg		;;
729301ea0f4Smrg	i*86v)
730301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731301ea0f4Smrg		os=-sysv
732301ea0f4Smrg		;;
733301ea0f4Smrg	i*86sol2)
734301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735301ea0f4Smrg		os=-solaris2
736301ea0f4Smrg		;;
737301ea0f4Smrg	i386mach)
738301ea0f4Smrg		basic_machine=i386-mach
739301ea0f4Smrg		os=-mach
740301ea0f4Smrg		;;
741301ea0f4Smrg	i386-vsta | vsta)
742301ea0f4Smrg		basic_machine=i386-unknown
743301ea0f4Smrg		os=-vsta
744301ea0f4Smrg		;;
745301ea0f4Smrg	iris | iris4d)
746301ea0f4Smrg		basic_machine=mips-sgi
747301ea0f4Smrg		case $os in
748301ea0f4Smrg		    -irix*)
749301ea0f4Smrg			;;
750301ea0f4Smrg		    *)
751301ea0f4Smrg			os=-irix4
752301ea0f4Smrg			;;
753301ea0f4Smrg		esac
754301ea0f4Smrg		;;
755301ea0f4Smrg	isi68 | isi)
756301ea0f4Smrg		basic_machine=m68k-isi
757301ea0f4Smrg		os=-sysv
758301ea0f4Smrg		;;
7590cc67336Smrg	m68knommu)
7600cc67336Smrg		basic_machine=m68k-unknown
7610cc67336Smrg		os=-linux
7620cc67336Smrg		;;
7630cc67336Smrg	m68knommu-*)
7640cc67336Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7650cc67336Smrg		os=-linux
7660cc67336Smrg		;;
767301ea0f4Smrg	m88k-omron*)
768301ea0f4Smrg		basic_machine=m88k-omron
769301ea0f4Smrg		;;
770301ea0f4Smrg	magnum | m3230)
771301ea0f4Smrg		basic_machine=mips-mips
772301ea0f4Smrg		os=-sysv
773301ea0f4Smrg		;;
774301ea0f4Smrg	merlin)
775301ea0f4Smrg		basic_machine=ns32k-utek
776301ea0f4Smrg		os=-sysv
777301ea0f4Smrg		;;
778213fdd94Smrg	microblaze)
779213fdd94Smrg		basic_machine=microblaze-xilinx
780213fdd94Smrg		;;
781301ea0f4Smrg	mingw32)
782301ea0f4Smrg		basic_machine=i386-pc
783301ea0f4Smrg		os=-mingw32
784301ea0f4Smrg		;;
7850cc67336Smrg	mingw32ce)
7860cc67336Smrg		basic_machine=arm-unknown
7870cc67336Smrg		os=-mingw32ce
7880cc67336Smrg		;;
789301ea0f4Smrg	miniframe)
790301ea0f4Smrg		basic_machine=m68000-convergent
791301ea0f4Smrg		;;
792301ea0f4Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
793301ea0f4Smrg		basic_machine=m68k-atari
794301ea0f4Smrg		os=-mint
795301ea0f4Smrg		;;
796301ea0f4Smrg	mips3*-*)
797301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
798301ea0f4Smrg		;;
799301ea0f4Smrg	mips3*)
800301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
801301ea0f4Smrg		;;
802301ea0f4Smrg	monitor)
803301ea0f4Smrg		basic_machine=m68k-rom68k
804301ea0f4Smrg		os=-coff
805301ea0f4Smrg		;;
806301ea0f4Smrg	morphos)
807301ea0f4Smrg		basic_machine=powerpc-unknown
808301ea0f4Smrg		os=-morphos
809301ea0f4Smrg		;;
810301ea0f4Smrg	msdos)
811301ea0f4Smrg		basic_machine=i386-pc
812301ea0f4Smrg		os=-msdos
813301ea0f4Smrg		;;
8140cc67336Smrg	ms1-*)
8150cc67336Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8160cc67336Smrg		;;
817213fdd94Smrg	msys)
818213fdd94Smrg		basic_machine=i386-pc
819213fdd94Smrg		os=-msys
820213fdd94Smrg		;;
821301ea0f4Smrg	mvs)
822301ea0f4Smrg		basic_machine=i370-ibm
823301ea0f4Smrg		os=-mvs
824301ea0f4Smrg		;;
825213fdd94Smrg	nacl)
826213fdd94Smrg		basic_machine=le32-unknown
827213fdd94Smrg		os=-nacl
828213fdd94Smrg		;;
829301ea0f4Smrg	ncr3000)
830301ea0f4Smrg		basic_machine=i486-ncr
831301ea0f4Smrg		os=-sysv4
832301ea0f4Smrg		;;
833301ea0f4Smrg	netbsd386)
834301ea0f4Smrg		basic_machine=i386-unknown
835301ea0f4Smrg		os=-netbsd
836301ea0f4Smrg		;;
837301ea0f4Smrg	netwinder)
838301ea0f4Smrg		basic_machine=armv4l-rebel
839301ea0f4Smrg		os=-linux
840301ea0f4Smrg		;;
841301ea0f4Smrg	news | news700 | news800 | news900)
842301ea0f4Smrg		basic_machine=m68k-sony
843301ea0f4Smrg		os=-newsos
844301ea0f4Smrg		;;
845301ea0f4Smrg	news1000)
846301ea0f4Smrg		basic_machine=m68030-sony
847301ea0f4Smrg		os=-newsos
848301ea0f4Smrg		;;
849301ea0f4Smrg	news-3600 | risc-news)
850301ea0f4Smrg		basic_machine=mips-sony
851301ea0f4Smrg		os=-newsos
852301ea0f4Smrg		;;
853301ea0f4Smrg	necv70)
854301ea0f4Smrg		basic_machine=v70-nec
855301ea0f4Smrg		os=-sysv
856301ea0f4Smrg		;;
857301ea0f4Smrg	next | m*-next )
858301ea0f4Smrg		basic_machine=m68k-next
859301ea0f4Smrg		case $os in
860301ea0f4Smrg		    -nextstep* )
861301ea0f4Smrg			;;
862301ea0f4Smrg		    -ns2*)
863301ea0f4Smrg		      os=-nextstep2
864301ea0f4Smrg			;;
865301ea0f4Smrg		    *)
866301ea0f4Smrg		      os=-nextstep3
867301ea0f4Smrg			;;
868301ea0f4Smrg		esac
869301ea0f4Smrg		;;
870301ea0f4Smrg	nh3000)
871301ea0f4Smrg		basic_machine=m68k-harris
872301ea0f4Smrg		os=-cxux
873301ea0f4Smrg		;;
874301ea0f4Smrg	nh[45]000)
875301ea0f4Smrg		basic_machine=m88k-harris
876301ea0f4Smrg		os=-cxux
877301ea0f4Smrg		;;
878301ea0f4Smrg	nindy960)
879301ea0f4Smrg		basic_machine=i960-intel
880301ea0f4Smrg		os=-nindy
881301ea0f4Smrg		;;
882301ea0f4Smrg	mon960)
883301ea0f4Smrg		basic_machine=i960-intel
884301ea0f4Smrg		os=-mon960
885301ea0f4Smrg		;;
886301ea0f4Smrg	nonstopux)
887301ea0f4Smrg		basic_machine=mips-compaq
888301ea0f4Smrg		os=-nonstopux
889301ea0f4Smrg		;;
890301ea0f4Smrg	np1)
891301ea0f4Smrg		basic_machine=np1-gould
892301ea0f4Smrg		;;
893213fdd94Smrg	neo-tandem)
894213fdd94Smrg		basic_machine=neo-tandem
895213fdd94Smrg		;;
896213fdd94Smrg	nse-tandem)
897213fdd94Smrg		basic_machine=nse-tandem
898213fdd94Smrg		;;
899301ea0f4Smrg	nsr-tandem)
900301ea0f4Smrg		basic_machine=nsr-tandem
901301ea0f4Smrg		;;
902301ea0f4Smrg	op50n-* | op60c-*)
903301ea0f4Smrg		basic_machine=hppa1.1-oki
904301ea0f4Smrg		os=-proelf
905301ea0f4Smrg		;;
9060cc67336Smrg	openrisc | openrisc-*)
907301ea0f4Smrg		basic_machine=or32-unknown
9080cc67336Smrg		;;
9090cc67336Smrg	os400)
9100cc67336Smrg		basic_machine=powerpc-ibm
9110cc67336Smrg		os=-os400
912301ea0f4Smrg		;;
913301ea0f4Smrg	OSE68000 | ose68000)
914301ea0f4Smrg		basic_machine=m68000-ericsson
915301ea0f4Smrg		os=-ose
916301ea0f4Smrg		;;
917301ea0f4Smrg	os68k)
918301ea0f4Smrg		basic_machine=m68k-none
919301ea0f4Smrg		os=-os68k
920301ea0f4Smrg		;;
921301ea0f4Smrg	pa-hitachi)
922301ea0f4Smrg		basic_machine=hppa1.1-hitachi
923301ea0f4Smrg		os=-hiuxwe2
924301ea0f4Smrg		;;
925301ea0f4Smrg	paragon)
926301ea0f4Smrg		basic_machine=i860-intel
927301ea0f4Smrg		os=-osf
928301ea0f4Smrg		;;
9290cc67336Smrg	parisc)
9300cc67336Smrg		basic_machine=hppa-unknown
9310cc67336Smrg		os=-linux
9320cc67336Smrg		;;
9330cc67336Smrg	parisc-*)
9340cc67336Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9350cc67336Smrg		os=-linux
9360cc67336Smrg		;;
937301ea0f4Smrg	pbd)
938301ea0f4Smrg		basic_machine=sparc-tti
939301ea0f4Smrg		;;
940301ea0f4Smrg	pbb)
941301ea0f4Smrg		basic_machine=m68k-tti
942301ea0f4Smrg		;;
943301ea0f4Smrg	pc532 | pc532-*)
944301ea0f4Smrg		basic_machine=ns32k-pc532
945301ea0f4Smrg		;;
9460cc67336Smrg	pc98)
9470cc67336Smrg		basic_machine=i386-pc
9480cc67336Smrg		;;
9490cc67336Smrg	pc98-*)
9500cc67336Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9510cc67336Smrg		;;
952301ea0f4Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
953301ea0f4Smrg		basic_machine=i586-pc
954301ea0f4Smrg		;;
955301ea0f4Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
956301ea0f4Smrg		basic_machine=i686-pc
957301ea0f4Smrg		;;
958301ea0f4Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
959301ea0f4Smrg		basic_machine=i686-pc
960301ea0f4Smrg		;;
961301ea0f4Smrg	pentium4)
962301ea0f4Smrg		basic_machine=i786-pc
963301ea0f4Smrg		;;
964301ea0f4Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
965301ea0f4Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
966301ea0f4Smrg		;;
967301ea0f4Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
968301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
969301ea0f4Smrg		;;
970301ea0f4Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
971301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
972301ea0f4Smrg		;;
973301ea0f4Smrg	pentium4-*)
974301ea0f4Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
975301ea0f4Smrg		;;
976301ea0f4Smrg	pn)
977301ea0f4Smrg		basic_machine=pn-gould
978301ea0f4Smrg		;;
979301ea0f4Smrg	power)	basic_machine=power-ibm
980301ea0f4Smrg		;;
981213fdd94Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
982301ea0f4Smrg		;;
983213fdd94Smrg	ppc-* | ppcbe-*)
984213fdd94Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
985301ea0f4Smrg		;;
986301ea0f4Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
987301ea0f4Smrg		basic_machine=powerpcle-unknown
988301ea0f4Smrg		;;
989301ea0f4Smrg	ppcle-* | powerpclittle-*)
990301ea0f4Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
991301ea0f4Smrg		;;
992301ea0f4Smrg	ppc64)	basic_machine=powerpc64-unknown
993301ea0f4Smrg		;;
994301ea0f4Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
995301ea0f4Smrg		;;
996301ea0f4Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
997301ea0f4Smrg		basic_machine=powerpc64le-unknown
998301ea0f4Smrg		;;
999301ea0f4Smrg	ppc64le-* | powerpc64little-*)
1000301ea0f4Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1001301ea0f4Smrg		;;
1002301ea0f4Smrg	ps2)
1003301ea0f4Smrg		basic_machine=i386-ibm
1004301ea0f4Smrg		;;
1005301ea0f4Smrg	pw32)
1006301ea0f4Smrg		basic_machine=i586-unknown
1007301ea0f4Smrg		os=-pw32
1008301ea0f4Smrg		;;
10090cc67336Smrg	rdos)
10100cc67336Smrg		basic_machine=i386-pc
10110cc67336Smrg		os=-rdos
10120cc67336Smrg		;;
1013301ea0f4Smrg	rom68k)
1014301ea0f4Smrg		basic_machine=m68k-rom68k
1015301ea0f4Smrg		os=-coff
1016301ea0f4Smrg		;;
1017301ea0f4Smrg	rm[46]00)
1018301ea0f4Smrg		basic_machine=mips-siemens
1019301ea0f4Smrg		;;
1020301ea0f4Smrg	rtpc | rtpc-*)
1021301ea0f4Smrg		basic_machine=romp-ibm
1022301ea0f4Smrg		;;
10230cc67336Smrg	s390 | s390-*)
10240cc67336Smrg		basic_machine=s390-ibm
10250cc67336Smrg		;;
10260cc67336Smrg	s390x | s390x-*)
10270cc67336Smrg		basic_machine=s390x-ibm
10280cc67336Smrg		;;
1029301ea0f4Smrg	sa29200)
1030301ea0f4Smrg		basic_machine=a29k-amd
1031301ea0f4Smrg		os=-udi
1032301ea0f4Smrg		;;
1033301ea0f4Smrg	sb1)
1034301ea0f4Smrg		basic_machine=mipsisa64sb1-unknown
1035301ea0f4Smrg		;;
1036301ea0f4Smrg	sb1el)
1037301ea0f4Smrg		basic_machine=mipsisa64sb1el-unknown
1038301ea0f4Smrg		;;
10390cc67336Smrg	sde)
10400cc67336Smrg		basic_machine=mipsisa32-sde
10410cc67336Smrg		os=-elf
10420cc67336Smrg		;;
1043301ea0f4Smrg	sei)
1044301ea0f4Smrg		basic_machine=mips-sei
1045301ea0f4Smrg		os=-seiux
1046301ea0f4Smrg		;;
1047301ea0f4Smrg	sequent)
1048301ea0f4Smrg		basic_machine=i386-sequent
1049301ea0f4Smrg		;;
1050301ea0f4Smrg	sh)
1051301ea0f4Smrg		basic_machine=sh-hitachi
1052301ea0f4Smrg		os=-hms
1053301ea0f4Smrg		;;
10540cc67336Smrg	sh5el)
10550cc67336Smrg		basic_machine=sh5le-unknown
10560cc67336Smrg		;;
1057301ea0f4Smrg	sh64)
1058301ea0f4Smrg		basic_machine=sh64-unknown
1059301ea0f4Smrg		;;
1060301ea0f4Smrg	sparclite-wrs | simso-wrs)
1061301ea0f4Smrg		basic_machine=sparclite-wrs
1062301ea0f4Smrg		os=-vxworks
1063301ea0f4Smrg		;;
1064301ea0f4Smrg	sps7)
1065301ea0f4Smrg		basic_machine=m68k-bull
1066301ea0f4Smrg		os=-sysv2
1067301ea0f4Smrg		;;
1068301ea0f4Smrg	spur)
1069301ea0f4Smrg		basic_machine=spur-unknown
1070301ea0f4Smrg		;;
1071301ea0f4Smrg	st2000)
1072301ea0f4Smrg		basic_machine=m68k-tandem
1073301ea0f4Smrg		;;
1074301ea0f4Smrg	stratus)
1075301ea0f4Smrg		basic_machine=i860-stratus
1076301ea0f4Smrg		os=-sysv4
1077301ea0f4Smrg		;;
1078213fdd94Smrg	strongarm-* | thumb-*)
1079213fdd94Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1080213fdd94Smrg		;;
1081301ea0f4Smrg	sun2)
1082301ea0f4Smrg		basic_machine=m68000-sun
1083301ea0f4Smrg		;;
1084301ea0f4Smrg	sun2os3)
1085301ea0f4Smrg		basic_machine=m68000-sun
1086301ea0f4Smrg		os=-sunos3
1087301ea0f4Smrg		;;
1088301ea0f4Smrg	sun2os4)
1089301ea0f4Smrg		basic_machine=m68000-sun
1090301ea0f4Smrg		os=-sunos4
1091301ea0f4Smrg		;;
1092301ea0f4Smrg	sun3os3)
1093301ea0f4Smrg		basic_machine=m68k-sun
1094301ea0f4Smrg		os=-sunos3
1095301ea0f4Smrg		;;
1096301ea0f4Smrg	sun3os4)
1097301ea0f4Smrg		basic_machine=m68k-sun
1098301ea0f4Smrg		os=-sunos4
1099301ea0f4Smrg		;;
1100301ea0f4Smrg	sun4os3)
1101301ea0f4Smrg		basic_machine=sparc-sun
1102301ea0f4Smrg		os=-sunos3
1103301ea0f4Smrg		;;
1104301ea0f4Smrg	sun4os4)
1105301ea0f4Smrg		basic_machine=sparc-sun
1106301ea0f4Smrg		os=-sunos4
1107301ea0f4Smrg		;;
1108301ea0f4Smrg	sun4sol2)
1109301ea0f4Smrg		basic_machine=sparc-sun
1110301ea0f4Smrg		os=-solaris2
1111301ea0f4Smrg		;;
1112301ea0f4Smrg	sun3 | sun3-*)
1113301ea0f4Smrg		basic_machine=m68k-sun
1114301ea0f4Smrg		;;
1115301ea0f4Smrg	sun4)
1116301ea0f4Smrg		basic_machine=sparc-sun
1117301ea0f4Smrg		;;
1118301ea0f4Smrg	sun386 | sun386i | roadrunner)
1119301ea0f4Smrg		basic_machine=i386-sun
1120301ea0f4Smrg		;;
1121301ea0f4Smrg	sv1)
1122301ea0f4Smrg		basic_machine=sv1-cray
1123301ea0f4Smrg		os=-unicos
1124301ea0f4Smrg		;;
1125301ea0f4Smrg	symmetry)
1126301ea0f4Smrg		basic_machine=i386-sequent
1127301ea0f4Smrg		os=-dynix
1128301ea0f4Smrg		;;
1129301ea0f4Smrg	t3e)
1130301ea0f4Smrg		basic_machine=alphaev5-cray
1131301ea0f4Smrg		os=-unicos
1132301ea0f4Smrg		;;
1133301ea0f4Smrg	t90)
1134301ea0f4Smrg		basic_machine=t90-cray
1135301ea0f4Smrg		os=-unicos
1136301ea0f4Smrg		;;
11370cc67336Smrg	tile*)
1138213fdd94Smrg		basic_machine=$basic_machine-unknown
11390cc67336Smrg		os=-linux-gnu
11400cc67336Smrg		;;
1141301ea0f4Smrg	tx39)
1142301ea0f4Smrg		basic_machine=mipstx39-unknown
1143301ea0f4Smrg		;;
1144301ea0f4Smrg	tx39el)
1145301ea0f4Smrg		basic_machine=mipstx39el-unknown
1146301ea0f4Smrg		;;
1147301ea0f4Smrg	toad1)
1148301ea0f4Smrg		basic_machine=pdp10-xkl
1149301ea0f4Smrg		os=-tops20
1150301ea0f4Smrg		;;
1151301ea0f4Smrg	tower | tower-32)
1152301ea0f4Smrg		basic_machine=m68k-ncr
1153301ea0f4Smrg		;;
11540cc67336Smrg	tpf)
11550cc67336Smrg		basic_machine=s390x-ibm
11560cc67336Smrg		os=-tpf
11570cc67336Smrg		;;
1158301ea0f4Smrg	udi29k)
1159301ea0f4Smrg		basic_machine=a29k-amd
1160301ea0f4Smrg		os=-udi
1161301ea0f4Smrg		;;
1162301ea0f4Smrg	ultra3)
1163301ea0f4Smrg		basic_machine=a29k-nyu
1164301ea0f4Smrg		os=-sym1
1165301ea0f4Smrg		;;
1166301ea0f4Smrg	v810 | necv810)
1167301ea0f4Smrg		basic_machine=v810-nec
1168301ea0f4Smrg		os=-none
1169301ea0f4Smrg		;;
1170301ea0f4Smrg	vaxv)
1171301ea0f4Smrg		basic_machine=vax-dec
1172301ea0f4Smrg		os=-sysv
1173301ea0f4Smrg		;;
1174301ea0f4Smrg	vms)
1175301ea0f4Smrg		basic_machine=vax-dec
1176301ea0f4Smrg		os=-vms
1177301ea0f4Smrg		;;
1178301ea0f4Smrg	vpp*|vx|vx-*)
1179301ea0f4Smrg		basic_machine=f301-fujitsu
1180301ea0f4Smrg		;;
1181301ea0f4Smrg	vxworks960)
1182301ea0f4Smrg		basic_machine=i960-wrs
1183301ea0f4Smrg		os=-vxworks
1184301ea0f4Smrg		;;
1185301ea0f4Smrg	vxworks68)
1186301ea0f4Smrg		basic_machine=m68k-wrs
1187301ea0f4Smrg		os=-vxworks
1188301ea0f4Smrg		;;
1189301ea0f4Smrg	vxworks29k)
1190301ea0f4Smrg		basic_machine=a29k-wrs
1191301ea0f4Smrg		os=-vxworks
1192301ea0f4Smrg		;;
1193301ea0f4Smrg	w65*)
1194301ea0f4Smrg		basic_machine=w65-wdc
1195301ea0f4Smrg		os=-none
1196301ea0f4Smrg		;;
1197301ea0f4Smrg	w89k-*)
1198301ea0f4Smrg		basic_machine=hppa1.1-winbond
1199301ea0f4Smrg		os=-proelf
1200301ea0f4Smrg		;;
12010cc67336Smrg	xbox)
12020cc67336Smrg		basic_machine=i686-pc
12030cc67336Smrg		os=-mingw32
12040cc67336Smrg		;;
1205301ea0f4Smrg	xps | xps100)
1206301ea0f4Smrg		basic_machine=xps100-honeywell
1207301ea0f4Smrg		;;
1208213fdd94Smrg	xscale-* | xscalee[bl]-*)
1209213fdd94Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1210213fdd94Smrg		;;
1211301ea0f4Smrg	ymp)
1212301ea0f4Smrg		basic_machine=ymp-cray
1213301ea0f4Smrg		os=-unicos
1214301ea0f4Smrg		;;
1215301ea0f4Smrg	z8k-*-coff)
1216301ea0f4Smrg		basic_machine=z8k-unknown
1217301ea0f4Smrg		os=-sim
1218301ea0f4Smrg		;;
1219213fdd94Smrg	z80-*-coff)
1220213fdd94Smrg		basic_machine=z80-unknown
1221213fdd94Smrg		os=-sim
1222213fdd94Smrg		;;
1223301ea0f4Smrg	none)
1224301ea0f4Smrg		basic_machine=none-none
1225301ea0f4Smrg		os=-none
1226301ea0f4Smrg		;;
1227301ea0f4Smrg
1228301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1229301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular.
1230301ea0f4Smrg	w89k)
1231301ea0f4Smrg		basic_machine=hppa1.1-winbond
1232301ea0f4Smrg		;;
1233301ea0f4Smrg	op50n)
1234301ea0f4Smrg		basic_machine=hppa1.1-oki
1235301ea0f4Smrg		;;
1236301ea0f4Smrg	op60c)
1237301ea0f4Smrg		basic_machine=hppa1.1-oki
1238301ea0f4Smrg		;;
1239301ea0f4Smrg	romp)
1240301ea0f4Smrg		basic_machine=romp-ibm
1241301ea0f4Smrg		;;
12420cc67336Smrg	mmix)
12430cc67336Smrg		basic_machine=mmix-knuth
12440cc67336Smrg		;;
1245301ea0f4Smrg	rs6000)
1246301ea0f4Smrg		basic_machine=rs6000-ibm
1247301ea0f4Smrg		;;
1248301ea0f4Smrg	vax)
1249301ea0f4Smrg		basic_machine=vax-dec
1250301ea0f4Smrg		;;
1251301ea0f4Smrg	pdp10)
1252301ea0f4Smrg		# there are many clones, so DEC is not a safe bet
1253301ea0f4Smrg		basic_machine=pdp10-unknown
1254301ea0f4Smrg		;;
1255301ea0f4Smrg	pdp11)
1256301ea0f4Smrg		basic_machine=pdp11-dec
1257301ea0f4Smrg		;;
1258301ea0f4Smrg	we32k)
1259301ea0f4Smrg		basic_machine=we32k-att
1260301ea0f4Smrg		;;
1261213fdd94Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1262301ea0f4Smrg		basic_machine=sh-unknown
1263301ea0f4Smrg		;;
12640cc67336Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1265301ea0f4Smrg		basic_machine=sparc-sun
1266301ea0f4Smrg		;;
1267301ea0f4Smrg	cydra)
1268301ea0f4Smrg		basic_machine=cydra-cydrome
1269301ea0f4Smrg		;;
1270301ea0f4Smrg	orion)
1271301ea0f4Smrg		basic_machine=orion-highlevel
1272301ea0f4Smrg		;;
1273301ea0f4Smrg	orion105)
1274301ea0f4Smrg		basic_machine=clipper-highlevel
1275301ea0f4Smrg		;;
1276301ea0f4Smrg	mac | mpw | mac-mpw)
1277301ea0f4Smrg		basic_machine=m68k-apple
1278301ea0f4Smrg		;;
1279301ea0f4Smrg	pmac | pmac-mpw)
1280301ea0f4Smrg		basic_machine=powerpc-apple
1281301ea0f4Smrg		;;
1282301ea0f4Smrg	*-unknown)
1283301ea0f4Smrg		# Make sure to match an already-canonicalized machine name.
1284301ea0f4Smrg		;;
1285301ea0f4Smrg	*)
1286301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1287301ea0f4Smrg		exit 1
1288301ea0f4Smrg		;;
1289301ea0f4Smrgesac
1290301ea0f4Smrg
1291301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers.
1292301ea0f4Smrgcase $basic_machine in
1293301ea0f4Smrg	*-digital*)
1294301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1295301ea0f4Smrg		;;
1296301ea0f4Smrg	*-commodore*)
1297301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1298301ea0f4Smrg		;;
1299301ea0f4Smrg	*)
1300301ea0f4Smrg		;;
1301301ea0f4Smrgesac
1302301ea0f4Smrg
1303301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems.
1304301ea0f4Smrg
1305301ea0f4Smrgif [ x"$os" != x"" ]
1306301ea0f4Smrgthen
1307301ea0f4Smrgcase $os in
1308213fdd94Smrg	# First match some system type aliases
1309213fdd94Smrg	# that might get confused with valid system types.
1310301ea0f4Smrg	# -solaris* is a basic system type, with this one exception.
1311213fdd94Smrg	-auroraux)
1312213fdd94Smrg		os=-auroraux
1313213fdd94Smrg		;;
1314301ea0f4Smrg	-solaris1 | -solaris1.*)
1315301ea0f4Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1316301ea0f4Smrg		;;
1317301ea0f4Smrg	-solaris)
1318301ea0f4Smrg		os=-solaris2
1319301ea0f4Smrg		;;
1320301ea0f4Smrg	-svr4*)
1321301ea0f4Smrg		os=-sysv4
1322301ea0f4Smrg		;;
1323301ea0f4Smrg	-unixware*)
1324301ea0f4Smrg		os=-sysv4.2uw
1325301ea0f4Smrg		;;
1326301ea0f4Smrg	-gnu/linux*)
1327301ea0f4Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1328301ea0f4Smrg		;;
1329301ea0f4Smrg	# First accept the basic system types.
1330301ea0f4Smrg	# The portable systems comes first.
1331301ea0f4Smrg	# Each alternative MUST END IN A *, to match a version number.
1332301ea0f4Smrg	# -sysv* is not here because it comes later, after sysvr4.
1333301ea0f4Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1334213fdd94Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1335213fdd94Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1336213fdd94Smrg	      | -sym* | -kopensolaris* \
1337301ea0f4Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338213fdd94Smrg	      | -aos* | -aros* \
1339301ea0f4Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1340301ea0f4Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13410cc67336Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13420cc67336Smrg	      | -openbsd* | -solidbsd* \
13430cc67336Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13440cc67336Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1345301ea0f4Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1346301ea0f4Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1347213fdd94Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1348213fdd94Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1349213fdd94Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1350213fdd94Smrg	      | -linux-newlib* | -linux-uclibc* \
13510cc67336Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1352301ea0f4Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1353301ea0f4Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1354301ea0f4Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1355301ea0f4Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1356301ea0f4Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13570cc67336Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1358213fdd94Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1359301ea0f4Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1360301ea0f4Smrg		;;
1361301ea0f4Smrg	-qnx*)
1362301ea0f4Smrg		case $basic_machine in
1363301ea0f4Smrg		    x86-* | i*86-*)
1364301ea0f4Smrg			;;
1365301ea0f4Smrg		    *)
1366301ea0f4Smrg			os=-nto$os
1367301ea0f4Smrg			;;
1368301ea0f4Smrg		esac
1369301ea0f4Smrg		;;
1370301ea0f4Smrg	-nto-qnx*)
1371301ea0f4Smrg		;;
1372301ea0f4Smrg	-nto*)
1373301ea0f4Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1374301ea0f4Smrg		;;
1375301ea0f4Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13760cc67336Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1377301ea0f4Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1378301ea0f4Smrg		;;
1379301ea0f4Smrg	-mac*)
1380301ea0f4Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1381301ea0f4Smrg		;;
13820cc67336Smrg	-linux-dietlibc)
13830cc67336Smrg		os=-linux-dietlibc
13840cc67336Smrg		;;
1385301ea0f4Smrg	-linux*)
1386301ea0f4Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1387301ea0f4Smrg		;;
1388301ea0f4Smrg	-sunos5*)
1389301ea0f4Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1390301ea0f4Smrg		;;
1391301ea0f4Smrg	-sunos6*)
1392301ea0f4Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1393301ea0f4Smrg		;;
1394301ea0f4Smrg	-opened*)
1395301ea0f4Smrg		os=-openedition
1396301ea0f4Smrg		;;
1397213fdd94Smrg	-os400*)
13980cc67336Smrg		os=-os400
13990cc67336Smrg		;;
1400301ea0f4Smrg	-wince*)
1401301ea0f4Smrg		os=-wince
1402301ea0f4Smrg		;;
1403301ea0f4Smrg	-osfrose*)
1404301ea0f4Smrg		os=-osfrose
1405301ea0f4Smrg		;;
1406301ea0f4Smrg	-osf*)
1407301ea0f4Smrg		os=-osf
1408301ea0f4Smrg		;;
1409301ea0f4Smrg	-utek*)
1410301ea0f4Smrg		os=-bsd
1411301ea0f4Smrg		;;
1412301ea0f4Smrg	-dynix*)
1413301ea0f4Smrg		os=-bsd
1414301ea0f4Smrg		;;
1415301ea0f4Smrg	-acis*)
1416301ea0f4Smrg		os=-aos
1417301ea0f4Smrg		;;
1418301ea0f4Smrg	-atheos*)
1419301ea0f4Smrg		os=-atheos
1420301ea0f4Smrg		;;
14210cc67336Smrg	-syllable*)
14220cc67336Smrg		os=-syllable
14230cc67336Smrg		;;
1424301ea0f4Smrg	-386bsd)
1425301ea0f4Smrg		os=-bsd
1426301ea0f4Smrg		;;
1427301ea0f4Smrg	-ctix* | -uts*)
1428301ea0f4Smrg		os=-sysv
1429301ea0f4Smrg		;;
1430301ea0f4Smrg	-nova*)
1431301ea0f4Smrg		os=-rtmk-nova
1432301ea0f4Smrg		;;
1433301ea0f4Smrg	-ns2 )
1434301ea0f4Smrg		os=-nextstep2
1435301ea0f4Smrg		;;
1436301ea0f4Smrg	-nsk*)
1437301ea0f4Smrg		os=-nsk
1438301ea0f4Smrg		;;
1439301ea0f4Smrg	# Preserve the version number of sinix5.
1440301ea0f4Smrg	-sinix5.*)
1441301ea0f4Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1442301ea0f4Smrg		;;
1443301ea0f4Smrg	-sinix*)
1444301ea0f4Smrg		os=-sysv4
1445301ea0f4Smrg		;;
1446213fdd94Smrg	-tpf*)
14470cc67336Smrg		os=-tpf
14480cc67336Smrg		;;
1449301ea0f4Smrg	-triton*)
1450301ea0f4Smrg		os=-sysv3
1451301ea0f4Smrg		;;
1452301ea0f4Smrg	-oss*)
1453301ea0f4Smrg		os=-sysv3
1454301ea0f4Smrg		;;
1455301ea0f4Smrg	-svr4)
1456301ea0f4Smrg		os=-sysv4
1457301ea0f4Smrg		;;
1458301ea0f4Smrg	-svr3)
1459301ea0f4Smrg		os=-sysv3
1460301ea0f4Smrg		;;
1461301ea0f4Smrg	-sysvr4)
1462301ea0f4Smrg		os=-sysv4
1463301ea0f4Smrg		;;
1464301ea0f4Smrg	# This must come after -sysvr4.
1465301ea0f4Smrg	-sysv*)
1466301ea0f4Smrg		;;
1467301ea0f4Smrg	-ose*)
1468301ea0f4Smrg		os=-ose
1469301ea0f4Smrg		;;
1470301ea0f4Smrg	-es1800*)
1471301ea0f4Smrg		os=-ose
1472301ea0f4Smrg		;;
1473301ea0f4Smrg	-xenix)
1474301ea0f4Smrg		os=-xenix
1475301ea0f4Smrg		;;
1476301ea0f4Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1477301ea0f4Smrg		os=-mint
1478301ea0f4Smrg		;;
1479301ea0f4Smrg	-aros*)
1480301ea0f4Smrg		os=-aros
1481301ea0f4Smrg		;;
1482301ea0f4Smrg	-kaos*)
1483301ea0f4Smrg		os=-kaos
1484301ea0f4Smrg		;;
14850cc67336Smrg	-zvmoe)
14860cc67336Smrg		os=-zvmoe
14870cc67336Smrg		;;
1488213fdd94Smrg	-dicos*)
1489213fdd94Smrg		os=-dicos
1490213fdd94Smrg		;;
1491213fdd94Smrg	-nacl*)
1492213fdd94Smrg		;;
1493301ea0f4Smrg	-none)
1494301ea0f4Smrg		;;
1495301ea0f4Smrg	*)
1496301ea0f4Smrg		# Get rid of the `-' at the beginning of $os.
1497301ea0f4Smrg		os=`echo $os | sed 's/[^-]*-//'`
1498301ea0f4Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1499301ea0f4Smrg		exit 1
1500301ea0f4Smrg		;;
1501301ea0f4Smrgesac
1502301ea0f4Smrgelse
1503301ea0f4Smrg
1504301ea0f4Smrg# Here we handle the default operating systems that come with various machines.
1505301ea0f4Smrg# The value should be what the vendor currently ships out the door with their
1506301ea0f4Smrg# machine or put another way, the most popular os provided with the machine.
1507301ea0f4Smrg
1508301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1509301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top
1510301ea0f4Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1511301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating
1512301ea0f4Smrg# system, and we'll never get to this point.
1513301ea0f4Smrg
1514301ea0f4Smrgcase $basic_machine in
1515213fdd94Smrg	score-*)
15160cc67336Smrg		os=-elf
15170cc67336Smrg		;;
1518213fdd94Smrg	spu-*)
15190cc67336Smrg		os=-elf
15200cc67336Smrg		;;
1521301ea0f4Smrg	*-acorn)
1522301ea0f4Smrg		os=-riscix1.2
1523301ea0f4Smrg		;;
1524301ea0f4Smrg	arm*-rebel)
1525301ea0f4Smrg		os=-linux
1526301ea0f4Smrg		;;
1527301ea0f4Smrg	arm*-semi)
1528301ea0f4Smrg		os=-aout
1529301ea0f4Smrg		;;
1530213fdd94Smrg	c4x-* | tic4x-*)
1531213fdd94Smrg		os=-coff
1532213fdd94Smrg		;;
1533213fdd94Smrg	tic54x-*)
1534213fdd94Smrg		os=-coff
1535213fdd94Smrg		;;
1536213fdd94Smrg	tic55x-*)
1537213fdd94Smrg		os=-coff
1538213fdd94Smrg		;;
1539213fdd94Smrg	tic6x-*)
1540213fdd94Smrg		os=-coff
1541301ea0f4Smrg		;;
1542301ea0f4Smrg	# This must come before the *-dec entry.
1543301ea0f4Smrg	pdp10-*)
1544301ea0f4Smrg		os=-tops20
1545301ea0f4Smrg		;;
1546301ea0f4Smrg	pdp11-*)
1547301ea0f4Smrg		os=-none
1548301ea0f4Smrg		;;
1549301ea0f4Smrg	*-dec | vax-*)
1550301ea0f4Smrg		os=-ultrix4.2
1551301ea0f4Smrg		;;
1552301ea0f4Smrg	m68*-apollo)
1553301ea0f4Smrg		os=-domain
1554301ea0f4Smrg		;;
1555301ea0f4Smrg	i386-sun)
1556301ea0f4Smrg		os=-sunos4.0.2
1557301ea0f4Smrg		;;
1558301ea0f4Smrg	m68000-sun)
1559301ea0f4Smrg		os=-sunos3
1560301ea0f4Smrg		;;
1561301ea0f4Smrg	m68*-cisco)
1562301ea0f4Smrg		os=-aout
1563301ea0f4Smrg		;;
1564213fdd94Smrg	mep-*)
15650cc67336Smrg		os=-elf
15660cc67336Smrg		;;
1567301ea0f4Smrg	mips*-cisco)
1568301ea0f4Smrg		os=-elf
1569301ea0f4Smrg		;;
1570301ea0f4Smrg	mips*-*)
1571301ea0f4Smrg		os=-elf
1572301ea0f4Smrg		;;
1573301ea0f4Smrg	or32-*)
1574301ea0f4Smrg		os=-coff
1575301ea0f4Smrg		;;
1576301ea0f4Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1577301ea0f4Smrg		os=-sysv3
1578301ea0f4Smrg		;;
1579301ea0f4Smrg	sparc-* | *-sun)
1580301ea0f4Smrg		os=-sunos4.1.1
1581301ea0f4Smrg		;;
1582301ea0f4Smrg	*-be)
1583301ea0f4Smrg		os=-beos
1584301ea0f4Smrg		;;
15850cc67336Smrg	*-haiku)
15860cc67336Smrg		os=-haiku
15870cc67336Smrg		;;
1588301ea0f4Smrg	*-ibm)
1589301ea0f4Smrg		os=-aix
1590301ea0f4Smrg		;;
1591213fdd94Smrg	*-knuth)
15920cc67336Smrg		os=-mmixware
15930cc67336Smrg		;;
1594301ea0f4Smrg	*-wec)
1595301ea0f4Smrg		os=-proelf
1596301ea0f4Smrg		;;
1597301ea0f4Smrg	*-winbond)
1598301ea0f4Smrg		os=-proelf
1599301ea0f4Smrg		;;
1600301ea0f4Smrg	*-oki)
1601301ea0f4Smrg		os=-proelf
1602301ea0f4Smrg		;;
1603301ea0f4Smrg	*-hp)
1604301ea0f4Smrg		os=-hpux
1605301ea0f4Smrg		;;
1606301ea0f4Smrg	*-hitachi)
1607301ea0f4Smrg		os=-hiux
1608301ea0f4Smrg		;;
1609301ea0f4Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1610301ea0f4Smrg		os=-sysv
1611301ea0f4Smrg		;;
1612301ea0f4Smrg	*-cbm)
1613301ea0f4Smrg		os=-amigaos
1614301ea0f4Smrg		;;
1615301ea0f4Smrg	*-dg)
1616301ea0f4Smrg		os=-dgux
1617301ea0f4Smrg		;;
1618301ea0f4Smrg	*-dolphin)
1619301ea0f4Smrg		os=-sysv3
1620301ea0f4Smrg		;;
1621301ea0f4Smrg	m68k-ccur)
1622301ea0f4Smrg		os=-rtu
1623301ea0f4Smrg		;;
1624301ea0f4Smrg	m88k-omron*)
1625301ea0f4Smrg		os=-luna
1626301ea0f4Smrg		;;
1627301ea0f4Smrg	*-next )
1628301ea0f4Smrg		os=-nextstep
1629301ea0f4Smrg		;;
1630301ea0f4Smrg	*-sequent)
1631301ea0f4Smrg		os=-ptx
1632301ea0f4Smrg		;;
1633301ea0f4Smrg	*-crds)
1634301ea0f4Smrg		os=-unos
1635301ea0f4Smrg		;;
1636301ea0f4Smrg	*-ns)
1637301ea0f4Smrg		os=-genix
1638301ea0f4Smrg		;;
1639301ea0f4Smrg	i370-*)
1640301ea0f4Smrg		os=-mvs
1641301ea0f4Smrg		;;
1642301ea0f4Smrg	*-next)
1643301ea0f4Smrg		os=-nextstep3
1644301ea0f4Smrg		;;
1645301ea0f4Smrg	*-gould)
1646301ea0f4Smrg		os=-sysv
1647301ea0f4Smrg		;;
1648301ea0f4Smrg	*-highlevel)
1649301ea0f4Smrg		os=-bsd
1650301ea0f4Smrg		;;
1651301ea0f4Smrg	*-encore)
1652301ea0f4Smrg		os=-bsd
1653301ea0f4Smrg		;;
1654301ea0f4Smrg	*-sgi)
1655301ea0f4Smrg		os=-irix
1656301ea0f4Smrg		;;
1657301ea0f4Smrg	*-siemens)
1658301ea0f4Smrg		os=-sysv4
1659301ea0f4Smrg		;;
1660301ea0f4Smrg	*-masscomp)
1661301ea0f4Smrg		os=-rtu
1662301ea0f4Smrg		;;
1663301ea0f4Smrg	f30[01]-fujitsu | f700-fujitsu)
1664301ea0f4Smrg		os=-uxpv
1665301ea0f4Smrg		;;
1666301ea0f4Smrg	*-rom68k)
1667301ea0f4Smrg		os=-coff
1668301ea0f4Smrg		;;
1669301ea0f4Smrg	*-*bug)
1670301ea0f4Smrg		os=-coff
1671301ea0f4Smrg		;;
1672301ea0f4Smrg	*-apple)
1673301ea0f4Smrg		os=-macos
1674301ea0f4Smrg		;;
1675301ea0f4Smrg	*-atari*)
1676301ea0f4Smrg		os=-mint
1677301ea0f4Smrg		;;
1678301ea0f4Smrg	*)
1679301ea0f4Smrg		os=-none
1680301ea0f4Smrg		;;
1681301ea0f4Smrgesac
1682301ea0f4Smrgfi
1683301ea0f4Smrg
1684301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1685301ea0f4Smrg# manufacturer.  We pick the logical manufacturer.
1686301ea0f4Smrgvendor=unknown
1687301ea0f4Smrgcase $basic_machine in
1688301ea0f4Smrg	*-unknown)
1689301ea0f4Smrg		case $os in
1690301ea0f4Smrg			-riscix*)
1691301ea0f4Smrg				vendor=acorn
1692301ea0f4Smrg				;;
1693301ea0f4Smrg			-sunos*)
1694301ea0f4Smrg				vendor=sun
1695301ea0f4Smrg				;;
1696213fdd94Smrg			-cnk*|-aix*)
1697301ea0f4Smrg				vendor=ibm
1698301ea0f4Smrg				;;
1699301ea0f4Smrg			-beos*)
1700301ea0f4Smrg				vendor=be
1701301ea0f4Smrg				;;
1702301ea0f4Smrg			-hpux*)
1703301ea0f4Smrg				vendor=hp
1704301ea0f4Smrg				;;
1705301ea0f4Smrg			-mpeix*)
1706301ea0f4Smrg				vendor=hp
1707301ea0f4Smrg				;;
1708301ea0f4Smrg			-hiux*)
1709301ea0f4Smrg				vendor=hitachi
1710301ea0f4Smrg				;;
1711301ea0f4Smrg			-unos*)
1712301ea0f4Smrg				vendor=crds
1713301ea0f4Smrg				;;
1714301ea0f4Smrg			-dgux*)
1715301ea0f4Smrg				vendor=dg
1716301ea0f4Smrg				;;
1717301ea0f4Smrg			-luna*)
1718301ea0f4Smrg				vendor=omron
1719301ea0f4Smrg				;;
1720301ea0f4Smrg			-genix*)
1721301ea0f4Smrg				vendor=ns
1722301ea0f4Smrg				;;
1723301ea0f4Smrg			-mvs* | -opened*)
1724301ea0f4Smrg				vendor=ibm
1725301ea0f4Smrg				;;
17260cc67336Smrg			-os400*)
17270cc67336Smrg				vendor=ibm
17280cc67336Smrg				;;
1729301ea0f4Smrg			-ptx*)
1730301ea0f4Smrg				vendor=sequent
1731301ea0f4Smrg				;;
17320cc67336Smrg			-tpf*)
17330cc67336Smrg				vendor=ibm
17340cc67336Smrg				;;
1735301ea0f4Smrg			-vxsim* | -vxworks* | -windiss*)
1736301ea0f4Smrg				vendor=wrs
1737301ea0f4Smrg				;;
1738301ea0f4Smrg			-aux*)
1739301ea0f4Smrg				vendor=apple
1740301ea0f4Smrg				;;
1741301ea0f4Smrg			-hms*)
1742301ea0f4Smrg				vendor=hitachi
1743301ea0f4Smrg				;;
1744301ea0f4Smrg			-mpw* | -macos*)
1745301ea0f4Smrg				vendor=apple
1746301ea0f4Smrg				;;
1747301ea0f4Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1748301ea0f4Smrg				vendor=atari
1749301ea0f4Smrg				;;
1750301ea0f4Smrg			-vos*)
1751301ea0f4Smrg				vendor=stratus
1752301ea0f4Smrg				;;
1753301ea0f4Smrg		esac
1754301ea0f4Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1755301ea0f4Smrg		;;
1756301ea0f4Smrgesac
1757301ea0f4Smrg
1758301ea0f4Smrgecho $basic_machine$os
17590cc67336Smrgexit
1760301ea0f4Smrg
1761301ea0f4Smrg# Local variables:
1762301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1763301ea0f4Smrg# time-stamp-start: "timestamp='"
1764301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d"
1765301ea0f4Smrg# time-stamp-end: "'"
1766301ea0f4Smrg# End:
1767