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