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