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