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