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