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