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