config.sub revision 0cc67336
1301ea0f4Smrg#! /bin/sh
2301ea0f4Smrg# Configuration validation subroutine script.
3301ea0f4Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
40cc67336Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
50cc67336Smrg#   Free Software Foundation, Inc.
6301ea0f4Smrg
70cc67336Smrgtimestamp='2008-01-16'
8301ea0f4Smrg
9301ea0f4Smrg# This file is (in principle) common to ALL GNU software.
10301ea0f4Smrg# The presence of a machine in this file suggests that SOME GNU software
11301ea0f4Smrg# can handle that machine.  It does not imply ALL GNU software can.
12301ea0f4Smrg#
13301ea0f4Smrg# This file is free software; you can redistribute it and/or modify
14301ea0f4Smrg# it under the terms of the GNU General Public License as published by
15301ea0f4Smrg# the Free Software Foundation; either version 2 of the License, or
16301ea0f4Smrg# (at your option) any later version.
17301ea0f4Smrg#
18301ea0f4Smrg# This program is distributed in the hope that it will be useful,
19301ea0f4Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
20301ea0f4Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21301ea0f4Smrg# GNU General Public License for more details.
22301ea0f4Smrg#
23301ea0f4Smrg# You should have received a copy of the GNU General Public License
24301ea0f4Smrg# along with this program; if not, write to the Free Software
250cc67336Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
260cc67336Smrg# 02110-1301, USA.
270cc67336Smrg#
28301ea0f4Smrg# As a special exception to the GNU General Public License, if you
29301ea0f4Smrg# distribute this file as part of a program that contains a
30301ea0f4Smrg# configuration script generated by Autoconf, you may include it under
31301ea0f4Smrg# the same distribution terms that you use for the rest of that program.
32301ea0f4Smrg
330cc67336Smrg
34301ea0f4Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35301ea0f4Smrg# diff and a properly formatted ChangeLog entry.
36301ea0f4Smrg#
37301ea0f4Smrg# Configuration subroutine to validate and canonicalize a configuration type.
38301ea0f4Smrg# Supply the specified configuration type as an argument.
39301ea0f4Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
40301ea0f4Smrg# Otherwise, we print the canonical config type on stdout and succeed.
41301ea0f4Smrg
42301ea0f4Smrg# This file is supposed to be the same for all GNU packages
43301ea0f4Smrg# and recognize all the CPU types, system types and aliases
44301ea0f4Smrg# that are meaningful with *any* GNU software.
45301ea0f4Smrg# Each package is responsible for reporting which valid configurations
46301ea0f4Smrg# it does not support.  The user should be able to distinguish
47301ea0f4Smrg# a failure to support a valid configuration from a meaningless
48301ea0f4Smrg# configuration.
49301ea0f4Smrg
50301ea0f4Smrg# The goal of this file is to map all the various variations of a given
51301ea0f4Smrg# machine specification into a single specification in the form:
52301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
53301ea0f4Smrg# or in some cases, the newer four-part form:
54301ea0f4Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
55301ea0f4Smrg# It is wrong to echo any other type of specification.
56301ea0f4Smrg
57301ea0f4Smrgme=`echo "$0" | sed -e 's,.*/,,'`
58301ea0f4Smrg
59301ea0f4Smrgusage="\
60301ea0f4SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
61301ea0f4Smrg       $0 [OPTION] ALIAS
62301ea0f4Smrg
63301ea0f4SmrgCanonicalize a configuration name.
64301ea0f4Smrg
65301ea0f4SmrgOperation modes:
66301ea0f4Smrg  -h, --help         print this help, then exit
67301ea0f4Smrg  -t, --time-stamp   print date of last modification, then exit
68301ea0f4Smrg  -v, --version      print version number, then exit
69301ea0f4Smrg
70301ea0f4SmrgReport bugs and patches to <config-patches@gnu.org>."
71301ea0f4Smrg
72301ea0f4Smrgversion="\
73301ea0f4SmrgGNU config.sub ($timestamp)
74301ea0f4Smrg
750cc67336SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
760cc67336Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
77301ea0f4Smrg
78301ea0f4SmrgThis is free software; see the source for copying conditions.  There is NO
79301ea0f4Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
80301ea0f4Smrg
81301ea0f4Smrghelp="
82301ea0f4SmrgTry \`$me --help' for more information."
83301ea0f4Smrg
84301ea0f4Smrg# Parse command line
85301ea0f4Smrgwhile test $# -gt 0 ; do
86301ea0f4Smrg  case $1 in
87301ea0f4Smrg    --time-stamp | --time* | -t )
880cc67336Smrg       echo "$timestamp" ; exit ;;
89301ea0f4Smrg    --version | -v )
900cc67336Smrg       echo "$version" ; exit ;;
91301ea0f4Smrg    --help | --h* | -h )
920cc67336Smrg       echo "$usage"; exit ;;
93301ea0f4Smrg    -- )     # Stop option processing
94301ea0f4Smrg       shift; break ;;
95301ea0f4Smrg    - )	# Use stdin as input.
96301ea0f4Smrg       break ;;
97301ea0f4Smrg    -* )
98301ea0f4Smrg       echo "$me: invalid option $1$help"
99301ea0f4Smrg       exit 1 ;;
100301ea0f4Smrg
101301ea0f4Smrg    *local*)
102301ea0f4Smrg       # First pass through any local machine types.
103301ea0f4Smrg       echo $1
1040cc67336Smrg       exit ;;
105301ea0f4Smrg
106301ea0f4Smrg    * )
107301ea0f4Smrg       break ;;
108301ea0f4Smrg  esac
109301ea0f4Smrgdone
110301ea0f4Smrg
111301ea0f4Smrgcase $# in
112301ea0f4Smrg 0) echo "$me: missing argument$help" >&2
113301ea0f4Smrg    exit 1;;
114301ea0f4Smrg 1) ;;
115301ea0f4Smrg *) echo "$me: too many arguments$help" >&2
116301ea0f4Smrg    exit 1;;
117301ea0f4Smrgesac
118301ea0f4Smrg
119301ea0f4Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
120301ea0f4Smrg# Here we must recognize all the valid KERNEL-OS combinations.
121301ea0f4Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122301ea0f4Smrgcase $maybe_os in
1230cc67336Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1240cc67336Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1250cc67336Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
126301ea0f4Smrg    os=-$maybe_os
127301ea0f4Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128301ea0f4Smrg    ;;
129301ea0f4Smrg  *)
130301ea0f4Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131301ea0f4Smrg    if [ $basic_machine != $1 ]
132301ea0f4Smrg    then os=`echo $1 | sed 's/.*-/-/'`
133301ea0f4Smrg    else os=; fi
134301ea0f4Smrg    ;;
135301ea0f4Smrgesac
136301ea0f4Smrg
137301ea0f4Smrg### Let's recognize common machines as not being operating systems so
138301ea0f4Smrg### that things like config.sub decstation-3100 work.  We also
139301ea0f4Smrg### recognize some manufacturers as not being operating systems, so we
140301ea0f4Smrg### can provide default operating systems below.
141301ea0f4Smrgcase $os in
142301ea0f4Smrg	-sun*os*)
143301ea0f4Smrg		# Prevent following clause from handling this invalid input.
144301ea0f4Smrg		;;
145301ea0f4Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
146301ea0f4Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
147301ea0f4Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
148301ea0f4Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149301ea0f4Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150301ea0f4Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1510cc67336Smrg	-apple | -axis | -knuth | -cray)
152301ea0f4Smrg		os=
153301ea0f4Smrg		basic_machine=$1
154301ea0f4Smrg		;;
155301ea0f4Smrg	-sim | -cisco | -oki | -wec | -winbond)
156301ea0f4Smrg		os=
157301ea0f4Smrg		basic_machine=$1
158301ea0f4Smrg		;;
159301ea0f4Smrg	-scout)
160301ea0f4Smrg		;;
161301ea0f4Smrg	-wrs)
162301ea0f4Smrg		os=-vxworks
163301ea0f4Smrg		basic_machine=$1
164301ea0f4Smrg		;;
165301ea0f4Smrg	-chorusos*)
166301ea0f4Smrg		os=-chorusos
167301ea0f4Smrg		basic_machine=$1
168301ea0f4Smrg		;;
169301ea0f4Smrg 	-chorusrdb)
170301ea0f4Smrg 		os=-chorusrdb
171301ea0f4Smrg		basic_machine=$1
172301ea0f4Smrg 		;;
173301ea0f4Smrg	-hiux*)
174301ea0f4Smrg		os=-hiuxwe2
175301ea0f4Smrg		;;
1760cc67336Smrg	-sco6)
1770cc67336Smrg		os=-sco5v6
1780cc67336Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1790cc67336Smrg		;;
180301ea0f4Smrg	-sco5)
181301ea0f4Smrg		os=-sco3.2v5
182301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
183301ea0f4Smrg		;;
184301ea0f4Smrg	-sco4)
185301ea0f4Smrg		os=-sco3.2v4
186301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
187301ea0f4Smrg		;;
188301ea0f4Smrg	-sco3.2.[4-9]*)
189301ea0f4Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
190301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191301ea0f4Smrg		;;
192301ea0f4Smrg	-sco3.2v[4-9]*)
193301ea0f4Smrg		# Don't forget version if it is 3.2v4 or newer.
194301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195301ea0f4Smrg		;;
1960cc67336Smrg	-sco5v6*)
1970cc67336Smrg		# Don't forget version if it is 3.2v4 or newer.
1980cc67336Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1990cc67336Smrg		;;
200301ea0f4Smrg	-sco*)
201301ea0f4Smrg		os=-sco3.2v2
202301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203301ea0f4Smrg		;;
204301ea0f4Smrg	-udk*)
205301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206301ea0f4Smrg		;;
207301ea0f4Smrg	-isc)
208301ea0f4Smrg		os=-isc2.2
209301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210301ea0f4Smrg		;;
211301ea0f4Smrg	-clix*)
212301ea0f4Smrg		basic_machine=clipper-intergraph
213301ea0f4Smrg		;;
214301ea0f4Smrg	-isc*)
215301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216301ea0f4Smrg		;;
217301ea0f4Smrg	-lynx*)
218301ea0f4Smrg		os=-lynxos
219301ea0f4Smrg		;;
220301ea0f4Smrg	-ptx*)
221301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
222301ea0f4Smrg		;;
223301ea0f4Smrg	-windowsnt*)
224301ea0f4Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
225301ea0f4Smrg		;;
226301ea0f4Smrg	-psos*)
227301ea0f4Smrg		os=-psos
228301ea0f4Smrg		;;
229301ea0f4Smrg	-mint | -mint[0-9]*)
230301ea0f4Smrg		basic_machine=m68k-atari
231301ea0f4Smrg		os=-mint
232301ea0f4Smrg		;;
233301ea0f4Smrgesac
234301ea0f4Smrg
235301ea0f4Smrg# Decode aliases for certain CPU-COMPANY combinations.
236301ea0f4Smrgcase $basic_machine in
237301ea0f4Smrg	# Recognize the basic CPU types without company name.
238301ea0f4Smrg	# Some are omitted here because they have special meanings below.
239301ea0f4Smrg	1750a | 580 \
240301ea0f4Smrg	| a29k \
241301ea0f4Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242301ea0f4Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2430cc67336Smrg	| am33_2.0 \
2440cc67336Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2450cc67336Smrg	| bfin \
246301ea0f4Smrg	| c4x | clipper \
247301ea0f4Smrg	| d10v | d30v | dlx | dsp16xx \
2480cc67336Smrg	| fido | fr30 | frv \
249301ea0f4Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250301ea0f4Smrg	| i370 | i860 | i960 | ia64 \
2510cc67336Smrg	| ip2k | iq2000 \
2520cc67336Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2530cc67336Smrg	| maxq | mb | microblaze | mcore | mep \
254301ea0f4Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
255301ea0f4Smrg	| mips16 \
256301ea0f4Smrg	| mips64 | mips64el \
257301ea0f4Smrg	| mips64vr | mips64vrel \
258301ea0f4Smrg	| mips64orion | mips64orionel \
259301ea0f4Smrg	| mips64vr4100 | mips64vr4100el \
260301ea0f4Smrg	| mips64vr4300 | mips64vr4300el \
261301ea0f4Smrg	| mips64vr5000 | mips64vr5000el \
2620cc67336Smrg	| mips64vr5900 | mips64vr5900el \
263301ea0f4Smrg	| mipsisa32 | mipsisa32el \
264301ea0f4Smrg	| mipsisa32r2 | mipsisa32r2el \
265301ea0f4Smrg	| mipsisa64 | mipsisa64el \
2660cc67336Smrg	| mipsisa64r2 | mipsisa64r2el \
267301ea0f4Smrg	| mipsisa64sb1 | mipsisa64sb1el \
268301ea0f4Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
269301ea0f4Smrg	| mipstx39 | mipstx39el \
270301ea0f4Smrg	| mn10200 | mn10300 \
2710cc67336Smrg	| mt \
272301ea0f4Smrg	| msp430 \
2730cc67336Smrg	| nios | nios2 \
274301ea0f4Smrg	| ns16k | ns32k \
2750cc67336Smrg	| or32 \
276301ea0f4Smrg	| pdp10 | pdp11 | pj | pjl \
277301ea0f4Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
278301ea0f4Smrg	| pyramid \
2790cc67336Smrg	| score \
2800cc67336Smrg	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281301ea0f4Smrg	| sh64 | sh64le \
2820cc67336Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2830cc67336Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2840cc67336Smrg	| spu | strongarm \
285301ea0f4Smrg	| tahoe | thumb | tic4x | tic80 | tron \
286301ea0f4Smrg	| v850 | v850e \
287301ea0f4Smrg	| we32k \
2880cc67336Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289301ea0f4Smrg	| z8k)
290301ea0f4Smrg		basic_machine=$basic_machine-unknown
291301ea0f4Smrg		;;
292301ea0f4Smrg	m6811 | m68hc11 | m6812 | m68hc12)
293301ea0f4Smrg		# Motorola 68HC11/12.
294301ea0f4Smrg		basic_machine=$basic_machine-unknown
295301ea0f4Smrg		os=-none
296301ea0f4Smrg		;;
297301ea0f4Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
298301ea0f4Smrg		;;
2990cc67336Smrg	ms1)
3000cc67336Smrg		basic_machine=mt-unknown
3010cc67336Smrg		;;
302301ea0f4Smrg
303301ea0f4Smrg	# We use `pc' rather than `unknown'
304301ea0f4Smrg	# because (1) that's what they normally are, and
305301ea0f4Smrg	# (2) the word "unknown" tends to confuse beginning users.
306301ea0f4Smrg	i*86 | x86_64)
307301ea0f4Smrg	  basic_machine=$basic_machine-pc
308301ea0f4Smrg	  ;;
309301ea0f4Smrg	# Object if more than one company name word.
310301ea0f4Smrg	*-*-*)
311301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
312301ea0f4Smrg		exit 1
313301ea0f4Smrg		;;
314301ea0f4Smrg	# Recognize the basic CPU types with company name.
315301ea0f4Smrg	580-* \
316301ea0f4Smrg	| a29k-* \
317301ea0f4Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318301ea0f4Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319301ea0f4Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
320301ea0f4Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3210cc67336Smrg	| avr-* | avr32-* \
3220cc67336Smrg	| bfin-* | bs2000-* \
323301ea0f4Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3240cc67336Smrg	| clipper-* | craynv-* | cydra-* \
325301ea0f4Smrg	| d10v-* | d30v-* | dlx-* \
326301ea0f4Smrg	| elxsi-* \
3270cc67336Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328301ea0f4Smrg	| h8300-* | h8500-* \
329301ea0f4Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
330301ea0f4Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3310cc67336Smrg	| ip2k-* | iq2000-* \
3320cc67336Smrg	| m32c-* | m32r-* | m32rle-* \
333301ea0f4Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3340cc67336Smrg	| m88110-* | m88k-* | maxq-* | mcore-* \
335301ea0f4Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336301ea0f4Smrg	| mips16-* \
337301ea0f4Smrg	| mips64-* | mips64el-* \
338301ea0f4Smrg	| mips64vr-* | mips64vrel-* \
339301ea0f4Smrg	| mips64orion-* | mips64orionel-* \
340301ea0f4Smrg	| mips64vr4100-* | mips64vr4100el-* \
341301ea0f4Smrg	| mips64vr4300-* | mips64vr4300el-* \
342301ea0f4Smrg	| mips64vr5000-* | mips64vr5000el-* \
3430cc67336Smrg	| mips64vr5900-* | mips64vr5900el-* \
344301ea0f4Smrg	| mipsisa32-* | mipsisa32el-* \
345301ea0f4Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
346301ea0f4Smrg	| mipsisa64-* | mipsisa64el-* \
3470cc67336Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
348301ea0f4Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
349301ea0f4Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
350301ea0f4Smrg	| mipstx39-* | mipstx39el-* \
3510cc67336Smrg	| mmix-* \
3520cc67336Smrg	| mt-* \
353301ea0f4Smrg	| msp430-* \
3540cc67336Smrg	| nios-* | nios2-* \
3550cc67336Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
356301ea0f4Smrg	| orion-* \
357301ea0f4Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358301ea0f4Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
359301ea0f4Smrg	| pyramid-* \
360301ea0f4Smrg	| romp-* | rs6000-* \
3610cc67336Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362301ea0f4Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3630cc67336Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3640cc67336Smrg	| sparclite-* \
3650cc67336Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366301ea0f4Smrg	| tahoe-* | thumb-* \
367301ea0f4Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
368301ea0f4Smrg	| tron-* \
369301ea0f4Smrg	| v850-* | v850e-* | vax-* \
370301ea0f4Smrg	| we32k-* \
3710cc67336Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3720cc67336Smrg	| xstormy16-* | xtensa*-* \
373301ea0f4Smrg	| ymp-* \
374301ea0f4Smrg	| z8k-*)
375301ea0f4Smrg		;;
3760cc67336Smrg	# Recognize the basic CPU types without company name, with glob match.
3770cc67336Smrg	xtensa*)
3780cc67336Smrg		basic_machine=$basic_machine-unknown
3790cc67336Smrg		;;
380301ea0f4Smrg	# Recognize the various machine names and aliases which stand
381301ea0f4Smrg	# for a CPU type and a company and sometimes even an OS.
382301ea0f4Smrg	386bsd)
383301ea0f4Smrg		basic_machine=i386-unknown
384301ea0f4Smrg		os=-bsd
385301ea0f4Smrg		;;
386301ea0f4Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
387301ea0f4Smrg		basic_machine=m68000-att
388301ea0f4Smrg		;;
389301ea0f4Smrg	3b*)
390301ea0f4Smrg		basic_machine=we32k-att
391301ea0f4Smrg		;;
392301ea0f4Smrg	a29khif)
393301ea0f4Smrg		basic_machine=a29k-amd
394301ea0f4Smrg		os=-udi
395301ea0f4Smrg		;;
3960cc67336Smrg    	abacus)
3970cc67336Smrg		basic_machine=abacus-unknown
3980cc67336Smrg		;;
399301ea0f4Smrg	adobe68k)
400301ea0f4Smrg		basic_machine=m68010-adobe
401301ea0f4Smrg		os=-scout
402301ea0f4Smrg		;;
403301ea0f4Smrg	alliant | fx80)
404301ea0f4Smrg		basic_machine=fx80-alliant
405301ea0f4Smrg		;;
406301ea0f4Smrg	altos | altos3068)
407301ea0f4Smrg		basic_machine=m68k-altos
408301ea0f4Smrg		;;
409301ea0f4Smrg	am29k)
410301ea0f4Smrg		basic_machine=a29k-none
411301ea0f4Smrg		os=-bsd
412301ea0f4Smrg		;;
413301ea0f4Smrg	amd64)
414301ea0f4Smrg		basic_machine=x86_64-pc
415301ea0f4Smrg		;;
4160cc67336Smrg	amd64-*)
4170cc67336Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4180cc67336Smrg		;;
419301ea0f4Smrg	amdahl)
420301ea0f4Smrg		basic_machine=580-amdahl
421301ea0f4Smrg		os=-sysv
422301ea0f4Smrg		;;
423301ea0f4Smrg	amiga | amiga-*)
424301ea0f4Smrg		basic_machine=m68k-unknown
425301ea0f4Smrg		;;
426301ea0f4Smrg	amigaos | amigados)
427301ea0f4Smrg		basic_machine=m68k-unknown
428301ea0f4Smrg		os=-amigaos
429301ea0f4Smrg		;;
430301ea0f4Smrg	amigaunix | amix)
431301ea0f4Smrg		basic_machine=m68k-unknown
432301ea0f4Smrg		os=-sysv4
433301ea0f4Smrg		;;
434301ea0f4Smrg	apollo68)
435301ea0f4Smrg		basic_machine=m68k-apollo
436301ea0f4Smrg		os=-sysv
437301ea0f4Smrg		;;
438301ea0f4Smrg	apollo68bsd)
439301ea0f4Smrg		basic_machine=m68k-apollo
440301ea0f4Smrg		os=-bsd
441301ea0f4Smrg		;;
442301ea0f4Smrg	aux)
443301ea0f4Smrg		basic_machine=m68k-apple
444301ea0f4Smrg		os=-aux
445301ea0f4Smrg		;;
446301ea0f4Smrg	balance)
447301ea0f4Smrg		basic_machine=ns32k-sequent
448301ea0f4Smrg		os=-dynix
449301ea0f4Smrg		;;
4500cc67336Smrg	blackfin)
4510cc67336Smrg		basic_machine=bfin-unknown
4520cc67336Smrg		os=-linux
4530cc67336Smrg		;;
4540cc67336Smrg	blackfin-*)
4550cc67336Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4560cc67336Smrg		os=-linux
4570cc67336Smrg		;;
458301ea0f4Smrg	c90)
459301ea0f4Smrg		basic_machine=c90-cray
460301ea0f4Smrg		os=-unicos
461301ea0f4Smrg		;;
462301ea0f4Smrg	convex-c1)
463301ea0f4Smrg		basic_machine=c1-convex
464301ea0f4Smrg		os=-bsd
465301ea0f4Smrg		;;
466301ea0f4Smrg	convex-c2)
467301ea0f4Smrg		basic_machine=c2-convex
468301ea0f4Smrg		os=-bsd
469301ea0f4Smrg		;;
470301ea0f4Smrg	convex-c32)
471301ea0f4Smrg		basic_machine=c32-convex
472301ea0f4Smrg		os=-bsd
473301ea0f4Smrg		;;
474301ea0f4Smrg	convex-c34)
475301ea0f4Smrg		basic_machine=c34-convex
476301ea0f4Smrg		os=-bsd
477301ea0f4Smrg		;;
478301ea0f4Smrg	convex-c38)
479301ea0f4Smrg		basic_machine=c38-convex
480301ea0f4Smrg		os=-bsd
481301ea0f4Smrg		;;
482301ea0f4Smrg	cray | j90)
483301ea0f4Smrg		basic_machine=j90-cray
484301ea0f4Smrg		os=-unicos
485301ea0f4Smrg		;;
4860cc67336Smrg	craynv)
4870cc67336Smrg		basic_machine=craynv-cray
4880cc67336Smrg		os=-unicosmp
4890cc67336Smrg		;;
4900cc67336Smrg	cr16)
4910cc67336Smrg		basic_machine=cr16-unknown
4920cc67336Smrg		os=-elf
4930cc67336Smrg		;;
494301ea0f4Smrg	crds | unos)
495301ea0f4Smrg		basic_machine=m68k-crds
496301ea0f4Smrg		;;
4970cc67336Smrg	crisv32 | crisv32-* | etraxfs*)
4980cc67336Smrg		basic_machine=crisv32-axis
4990cc67336Smrg		;;
500301ea0f4Smrg	cris | cris-* | etrax*)
501301ea0f4Smrg		basic_machine=cris-axis
502301ea0f4Smrg		;;
5030cc67336Smrg	crx)
5040cc67336Smrg		basic_machine=crx-unknown
5050cc67336Smrg		os=-elf
5060cc67336Smrg		;;
507301ea0f4Smrg	da30 | da30-*)
508301ea0f4Smrg		basic_machine=m68k-da30
509301ea0f4Smrg		;;
510301ea0f4Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
511301ea0f4Smrg		basic_machine=mips-dec
512301ea0f4Smrg		;;
513301ea0f4Smrg	decsystem10* | dec10*)
514301ea0f4Smrg		basic_machine=pdp10-dec
515301ea0f4Smrg		os=-tops10
516301ea0f4Smrg		;;
517301ea0f4Smrg	decsystem20* | dec20*)
518301ea0f4Smrg		basic_machine=pdp10-dec
519301ea0f4Smrg		os=-tops20
520301ea0f4Smrg		;;
521301ea0f4Smrg	delta | 3300 | motorola-3300 | motorola-delta \
522301ea0f4Smrg	      | 3300-motorola | delta-motorola)
523301ea0f4Smrg		basic_machine=m68k-motorola
524301ea0f4Smrg		;;
525301ea0f4Smrg	delta88)
526301ea0f4Smrg		basic_machine=m88k-motorola
527301ea0f4Smrg		os=-sysv3
528301ea0f4Smrg		;;
5290cc67336Smrg	djgpp)
5300cc67336Smrg		basic_machine=i586-pc
5310cc67336Smrg		os=-msdosdjgpp
5320cc67336Smrg		;;
533301ea0f4Smrg	dpx20 | dpx20-*)
534301ea0f4Smrg		basic_machine=rs6000-bull
535301ea0f4Smrg		os=-bosx
536301ea0f4Smrg		;;
537301ea0f4Smrg	dpx2* | dpx2*-bull)
538301ea0f4Smrg		basic_machine=m68k-bull
539301ea0f4Smrg		os=-sysv3
540301ea0f4Smrg		;;
541301ea0f4Smrg	ebmon29k)
542301ea0f4Smrg		basic_machine=a29k-amd
543301ea0f4Smrg		os=-ebmon
544301ea0f4Smrg		;;
545301ea0f4Smrg	elxsi)
546301ea0f4Smrg		basic_machine=elxsi-elxsi
547301ea0f4Smrg		os=-bsd
548301ea0f4Smrg		;;
549301ea0f4Smrg	encore | umax | mmax)
550301ea0f4Smrg		basic_machine=ns32k-encore
551301ea0f4Smrg		;;
552301ea0f4Smrg	es1800 | OSE68k | ose68k | ose | OSE)
553301ea0f4Smrg		basic_machine=m68k-ericsson
554301ea0f4Smrg		os=-ose
555301ea0f4Smrg		;;
556301ea0f4Smrg	fx2800)
557301ea0f4Smrg		basic_machine=i860-alliant
558301ea0f4Smrg		;;
559301ea0f4Smrg	genix)
560301ea0f4Smrg		basic_machine=ns32k-ns
561301ea0f4Smrg		;;
562301ea0f4Smrg	gmicro)
563301ea0f4Smrg		basic_machine=tron-gmicro
564301ea0f4Smrg		os=-sysv
565301ea0f4Smrg		;;
566301ea0f4Smrg	go32)
567301ea0f4Smrg		basic_machine=i386-pc
568301ea0f4Smrg		os=-go32
569301ea0f4Smrg		;;
570301ea0f4Smrg	h3050r* | hiux*)
571301ea0f4Smrg		basic_machine=hppa1.1-hitachi
572301ea0f4Smrg		os=-hiuxwe2
573301ea0f4Smrg		;;
574301ea0f4Smrg	h8300hms)
575301ea0f4Smrg		basic_machine=h8300-hitachi
576301ea0f4Smrg		os=-hms
577301ea0f4Smrg		;;
578301ea0f4Smrg	h8300xray)
579301ea0f4Smrg		basic_machine=h8300-hitachi
580301ea0f4Smrg		os=-xray
581301ea0f4Smrg		;;
582301ea0f4Smrg	h8500hms)
583301ea0f4Smrg		basic_machine=h8500-hitachi
584301ea0f4Smrg		os=-hms
585301ea0f4Smrg		;;
586301ea0f4Smrg	harris)
587301ea0f4Smrg		basic_machine=m88k-harris
588301ea0f4Smrg		os=-sysv3
589301ea0f4Smrg		;;
590301ea0f4Smrg	hp300-*)
591301ea0f4Smrg		basic_machine=m68k-hp
592301ea0f4Smrg		;;
593301ea0f4Smrg	hp300bsd)
594301ea0f4Smrg		basic_machine=m68k-hp
595301ea0f4Smrg		os=-bsd
596301ea0f4Smrg		;;
597301ea0f4Smrg	hp300hpux)
598301ea0f4Smrg		basic_machine=m68k-hp
599301ea0f4Smrg		os=-hpux
600301ea0f4Smrg		;;
601301ea0f4Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
602301ea0f4Smrg		basic_machine=hppa1.0-hp
603301ea0f4Smrg		;;
604301ea0f4Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
605301ea0f4Smrg		basic_machine=m68000-hp
606301ea0f4Smrg		;;
607301ea0f4Smrg	hp9k3[2-9][0-9])
608301ea0f4Smrg		basic_machine=m68k-hp
609301ea0f4Smrg		;;
610301ea0f4Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
611301ea0f4Smrg		basic_machine=hppa1.0-hp
612301ea0f4Smrg		;;
613301ea0f4Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
614301ea0f4Smrg		basic_machine=hppa1.1-hp
615301ea0f4Smrg		;;
616301ea0f4Smrg	hp9k78[0-9] | hp78[0-9])
617301ea0f4Smrg		# FIXME: really hppa2.0-hp
618301ea0f4Smrg		basic_machine=hppa1.1-hp
619301ea0f4Smrg		;;
620301ea0f4Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
621301ea0f4Smrg		# FIXME: really hppa2.0-hp
622301ea0f4Smrg		basic_machine=hppa1.1-hp
623301ea0f4Smrg		;;
624301ea0f4Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
625301ea0f4Smrg		basic_machine=hppa1.1-hp
626301ea0f4Smrg		;;
627301ea0f4Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
628301ea0f4Smrg		basic_machine=hppa1.0-hp
629301ea0f4Smrg		;;
630301ea0f4Smrg	hppa-next)
631301ea0f4Smrg		os=-nextstep3
632301ea0f4Smrg		;;
633301ea0f4Smrg	hppaosf)
634301ea0f4Smrg		basic_machine=hppa1.1-hp
635301ea0f4Smrg		os=-osf
636301ea0f4Smrg		;;
637301ea0f4Smrg	hppro)
638301ea0f4Smrg		basic_machine=hppa1.1-hp
639301ea0f4Smrg		os=-proelf
640301ea0f4Smrg		;;
641301ea0f4Smrg	i370-ibm* | ibm*)
642301ea0f4Smrg		basic_machine=i370-ibm
643301ea0f4Smrg		;;
644301ea0f4Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
645301ea0f4Smrg	i*86v32)
646301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647301ea0f4Smrg		os=-sysv32
648301ea0f4Smrg		;;
649301ea0f4Smrg	i*86v4*)
650301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
651301ea0f4Smrg		os=-sysv4
652301ea0f4Smrg		;;
653301ea0f4Smrg	i*86v)
654301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
655301ea0f4Smrg		os=-sysv
656301ea0f4Smrg		;;
657301ea0f4Smrg	i*86sol2)
658301ea0f4Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
659301ea0f4Smrg		os=-solaris2
660301ea0f4Smrg		;;
661301ea0f4Smrg	i386mach)
662301ea0f4Smrg		basic_machine=i386-mach
663301ea0f4Smrg		os=-mach
664301ea0f4Smrg		;;
665301ea0f4Smrg	i386-vsta | vsta)
666301ea0f4Smrg		basic_machine=i386-unknown
667301ea0f4Smrg		os=-vsta
668301ea0f4Smrg		;;
669301ea0f4Smrg	iris | iris4d)
670301ea0f4Smrg		basic_machine=mips-sgi
671301ea0f4Smrg		case $os in
672301ea0f4Smrg		    -irix*)
673301ea0f4Smrg			;;
674301ea0f4Smrg		    *)
675301ea0f4Smrg			os=-irix4
676301ea0f4Smrg			;;
677301ea0f4Smrg		esac
678301ea0f4Smrg		;;
679301ea0f4Smrg	isi68 | isi)
680301ea0f4Smrg		basic_machine=m68k-isi
681301ea0f4Smrg		os=-sysv
682301ea0f4Smrg		;;
6830cc67336Smrg	m68knommu)
6840cc67336Smrg		basic_machine=m68k-unknown
6850cc67336Smrg		os=-linux
6860cc67336Smrg		;;
6870cc67336Smrg	m68knommu-*)
6880cc67336Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
6890cc67336Smrg		os=-linux
6900cc67336Smrg		;;
691301ea0f4Smrg	m88k-omron*)
692301ea0f4Smrg		basic_machine=m88k-omron
693301ea0f4Smrg		;;
694301ea0f4Smrg	magnum | m3230)
695301ea0f4Smrg		basic_machine=mips-mips
696301ea0f4Smrg		os=-sysv
697301ea0f4Smrg		;;
698301ea0f4Smrg	merlin)
699301ea0f4Smrg		basic_machine=ns32k-utek
700301ea0f4Smrg		os=-sysv
701301ea0f4Smrg		;;
702301ea0f4Smrg	mingw32)
703301ea0f4Smrg		basic_machine=i386-pc
704301ea0f4Smrg		os=-mingw32
705301ea0f4Smrg		;;
7060cc67336Smrg	mingw32ce)
7070cc67336Smrg		basic_machine=arm-unknown
7080cc67336Smrg		os=-mingw32ce
7090cc67336Smrg		;;
710301ea0f4Smrg	miniframe)
711301ea0f4Smrg		basic_machine=m68000-convergent
712301ea0f4Smrg		;;
713301ea0f4Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
714301ea0f4Smrg		basic_machine=m68k-atari
715301ea0f4Smrg		os=-mint
716301ea0f4Smrg		;;
717301ea0f4Smrg	mips3*-*)
718301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
719301ea0f4Smrg		;;
720301ea0f4Smrg	mips3*)
721301ea0f4Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
722301ea0f4Smrg		;;
723301ea0f4Smrg	monitor)
724301ea0f4Smrg		basic_machine=m68k-rom68k
725301ea0f4Smrg		os=-coff
726301ea0f4Smrg		;;
727301ea0f4Smrg	morphos)
728301ea0f4Smrg		basic_machine=powerpc-unknown
729301ea0f4Smrg		os=-morphos
730301ea0f4Smrg		;;
731301ea0f4Smrg	msdos)
732301ea0f4Smrg		basic_machine=i386-pc
733301ea0f4Smrg		os=-msdos
734301ea0f4Smrg		;;
7350cc67336Smrg	ms1-*)
7360cc67336Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7370cc67336Smrg		;;
738301ea0f4Smrg	mvs)
739301ea0f4Smrg		basic_machine=i370-ibm
740301ea0f4Smrg		os=-mvs
741301ea0f4Smrg		;;
742301ea0f4Smrg	ncr3000)
743301ea0f4Smrg		basic_machine=i486-ncr
744301ea0f4Smrg		os=-sysv4
745301ea0f4Smrg		;;
746301ea0f4Smrg	netbsd386)
747301ea0f4Smrg		basic_machine=i386-unknown
748301ea0f4Smrg		os=-netbsd
749301ea0f4Smrg		;;
750301ea0f4Smrg	netwinder)
751301ea0f4Smrg		basic_machine=armv4l-rebel
752301ea0f4Smrg		os=-linux
753301ea0f4Smrg		;;
754301ea0f4Smrg	news | news700 | news800 | news900)
755301ea0f4Smrg		basic_machine=m68k-sony
756301ea0f4Smrg		os=-newsos
757301ea0f4Smrg		;;
758301ea0f4Smrg	news1000)
759301ea0f4Smrg		basic_machine=m68030-sony
760301ea0f4Smrg		os=-newsos
761301ea0f4Smrg		;;
762301ea0f4Smrg	news-3600 | risc-news)
763301ea0f4Smrg		basic_machine=mips-sony
764301ea0f4Smrg		os=-newsos
765301ea0f4Smrg		;;
766301ea0f4Smrg	necv70)
767301ea0f4Smrg		basic_machine=v70-nec
768301ea0f4Smrg		os=-sysv
769301ea0f4Smrg		;;
770301ea0f4Smrg	next | m*-next )
771301ea0f4Smrg		basic_machine=m68k-next
772301ea0f4Smrg		case $os in
773301ea0f4Smrg		    -nextstep* )
774301ea0f4Smrg			;;
775301ea0f4Smrg		    -ns2*)
776301ea0f4Smrg		      os=-nextstep2
777301ea0f4Smrg			;;
778301ea0f4Smrg		    *)
779301ea0f4Smrg		      os=-nextstep3
780301ea0f4Smrg			;;
781301ea0f4Smrg		esac
782301ea0f4Smrg		;;
783301ea0f4Smrg	nh3000)
784301ea0f4Smrg		basic_machine=m68k-harris
785301ea0f4Smrg		os=-cxux
786301ea0f4Smrg		;;
787301ea0f4Smrg	nh[45]000)
788301ea0f4Smrg		basic_machine=m88k-harris
789301ea0f4Smrg		os=-cxux
790301ea0f4Smrg		;;
791301ea0f4Smrg	nindy960)
792301ea0f4Smrg		basic_machine=i960-intel
793301ea0f4Smrg		os=-nindy
794301ea0f4Smrg		;;
795301ea0f4Smrg	mon960)
796301ea0f4Smrg		basic_machine=i960-intel
797301ea0f4Smrg		os=-mon960
798301ea0f4Smrg		;;
799301ea0f4Smrg	nonstopux)
800301ea0f4Smrg		basic_machine=mips-compaq
801301ea0f4Smrg		os=-nonstopux
802301ea0f4Smrg		;;
803301ea0f4Smrg	np1)
804301ea0f4Smrg		basic_machine=np1-gould
805301ea0f4Smrg		;;
806301ea0f4Smrg	nsr-tandem)
807301ea0f4Smrg		basic_machine=nsr-tandem
808301ea0f4Smrg		;;
809301ea0f4Smrg	op50n-* | op60c-*)
810301ea0f4Smrg		basic_machine=hppa1.1-oki
811301ea0f4Smrg		os=-proelf
812301ea0f4Smrg		;;
8130cc67336Smrg	openrisc | openrisc-*)
814301ea0f4Smrg		basic_machine=or32-unknown
8150cc67336Smrg		;;
8160cc67336Smrg	os400)
8170cc67336Smrg		basic_machine=powerpc-ibm
8180cc67336Smrg		os=-os400
819301ea0f4Smrg		;;
820301ea0f4Smrg	OSE68000 | ose68000)
821301ea0f4Smrg		basic_machine=m68000-ericsson
822301ea0f4Smrg		os=-ose
823301ea0f4Smrg		;;
824301ea0f4Smrg	os68k)
825301ea0f4Smrg		basic_machine=m68k-none
826301ea0f4Smrg		os=-os68k
827301ea0f4Smrg		;;
828301ea0f4Smrg	pa-hitachi)
829301ea0f4Smrg		basic_machine=hppa1.1-hitachi
830301ea0f4Smrg		os=-hiuxwe2
831301ea0f4Smrg		;;
832301ea0f4Smrg	paragon)
833301ea0f4Smrg		basic_machine=i860-intel
834301ea0f4Smrg		os=-osf
835301ea0f4Smrg		;;
8360cc67336Smrg	parisc)
8370cc67336Smrg		basic_machine=hppa-unknown
8380cc67336Smrg		os=-linux
8390cc67336Smrg		;;
8400cc67336Smrg	parisc-*)
8410cc67336Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
8420cc67336Smrg		os=-linux
8430cc67336Smrg		;;
844301ea0f4Smrg	pbd)
845301ea0f4Smrg		basic_machine=sparc-tti
846301ea0f4Smrg		;;
847301ea0f4Smrg	pbb)
848301ea0f4Smrg		basic_machine=m68k-tti
849301ea0f4Smrg		;;
850301ea0f4Smrg	pc532 | pc532-*)
851301ea0f4Smrg		basic_machine=ns32k-pc532
852301ea0f4Smrg		;;
8530cc67336Smrg	pc98)
8540cc67336Smrg		basic_machine=i386-pc
8550cc67336Smrg		;;
8560cc67336Smrg	pc98-*)
8570cc67336Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8580cc67336Smrg		;;
859301ea0f4Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
860301ea0f4Smrg		basic_machine=i586-pc
861301ea0f4Smrg		;;
862301ea0f4Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
863301ea0f4Smrg		basic_machine=i686-pc
864301ea0f4Smrg		;;
865301ea0f4Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
866301ea0f4Smrg		basic_machine=i686-pc
867301ea0f4Smrg		;;
868301ea0f4Smrg	pentium4)
869301ea0f4Smrg		basic_machine=i786-pc
870301ea0f4Smrg		;;
871301ea0f4Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
872301ea0f4Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
873301ea0f4Smrg		;;
874301ea0f4Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
875301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
876301ea0f4Smrg		;;
877301ea0f4Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
878301ea0f4Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
879301ea0f4Smrg		;;
880301ea0f4Smrg	pentium4-*)
881301ea0f4Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
882301ea0f4Smrg		;;
883301ea0f4Smrg	pn)
884301ea0f4Smrg		basic_machine=pn-gould
885301ea0f4Smrg		;;
886301ea0f4Smrg	power)	basic_machine=power-ibm
887301ea0f4Smrg		;;
888301ea0f4Smrg	ppc)	basic_machine=powerpc-unknown
889301ea0f4Smrg		;;
890301ea0f4Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891301ea0f4Smrg		;;
892301ea0f4Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
893301ea0f4Smrg		basic_machine=powerpcle-unknown
894301ea0f4Smrg		;;
895301ea0f4Smrg	ppcle-* | powerpclittle-*)
896301ea0f4Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
897301ea0f4Smrg		;;
898301ea0f4Smrg	ppc64)	basic_machine=powerpc64-unknown
899301ea0f4Smrg		;;
900301ea0f4Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
901301ea0f4Smrg		;;
902301ea0f4Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
903301ea0f4Smrg		basic_machine=powerpc64le-unknown
904301ea0f4Smrg		;;
905301ea0f4Smrg	ppc64le-* | powerpc64little-*)
906301ea0f4Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
907301ea0f4Smrg		;;
908301ea0f4Smrg	ps2)
909301ea0f4Smrg		basic_machine=i386-ibm
910301ea0f4Smrg		;;
911301ea0f4Smrg	pw32)
912301ea0f4Smrg		basic_machine=i586-unknown
913301ea0f4Smrg		os=-pw32
914301ea0f4Smrg		;;
9150cc67336Smrg	rdos)
9160cc67336Smrg		basic_machine=i386-pc
9170cc67336Smrg		os=-rdos
9180cc67336Smrg		;;
919301ea0f4Smrg	rom68k)
920301ea0f4Smrg		basic_machine=m68k-rom68k
921301ea0f4Smrg		os=-coff
922301ea0f4Smrg		;;
923301ea0f4Smrg	rm[46]00)
924301ea0f4Smrg		basic_machine=mips-siemens
925301ea0f4Smrg		;;
926301ea0f4Smrg	rtpc | rtpc-*)
927301ea0f4Smrg		basic_machine=romp-ibm
928301ea0f4Smrg		;;
9290cc67336Smrg	s390 | s390-*)
9300cc67336Smrg		basic_machine=s390-ibm
9310cc67336Smrg		;;
9320cc67336Smrg	s390x | s390x-*)
9330cc67336Smrg		basic_machine=s390x-ibm
9340cc67336Smrg		;;
935301ea0f4Smrg	sa29200)
936301ea0f4Smrg		basic_machine=a29k-amd
937301ea0f4Smrg		os=-udi
938301ea0f4Smrg		;;
939301ea0f4Smrg	sb1)
940301ea0f4Smrg		basic_machine=mipsisa64sb1-unknown
941301ea0f4Smrg		;;
942301ea0f4Smrg	sb1el)
943301ea0f4Smrg		basic_machine=mipsisa64sb1el-unknown
944301ea0f4Smrg		;;
9450cc67336Smrg	sde)
9460cc67336Smrg		basic_machine=mipsisa32-sde
9470cc67336Smrg		os=-elf
9480cc67336Smrg		;;
949301ea0f4Smrg	sei)
950301ea0f4Smrg		basic_machine=mips-sei
951301ea0f4Smrg		os=-seiux
952301ea0f4Smrg		;;
953301ea0f4Smrg	sequent)
954301ea0f4Smrg		basic_machine=i386-sequent
955301ea0f4Smrg		;;
956301ea0f4Smrg	sh)
957301ea0f4Smrg		basic_machine=sh-hitachi
958301ea0f4Smrg		os=-hms
959301ea0f4Smrg		;;
9600cc67336Smrg	sh5el)
9610cc67336Smrg		basic_machine=sh5le-unknown
9620cc67336Smrg		;;
963301ea0f4Smrg	sh64)
964301ea0f4Smrg		basic_machine=sh64-unknown
965301ea0f4Smrg		;;
966301ea0f4Smrg	sparclite-wrs | simso-wrs)
967301ea0f4Smrg		basic_machine=sparclite-wrs
968301ea0f4Smrg		os=-vxworks
969301ea0f4Smrg		;;
970301ea0f4Smrg	sps7)
971301ea0f4Smrg		basic_machine=m68k-bull
972301ea0f4Smrg		os=-sysv2
973301ea0f4Smrg		;;
974301ea0f4Smrg	spur)
975301ea0f4Smrg		basic_machine=spur-unknown
976301ea0f4Smrg		;;
977301ea0f4Smrg	st2000)
978301ea0f4Smrg		basic_machine=m68k-tandem
979301ea0f4Smrg		;;
980301ea0f4Smrg	stratus)
981301ea0f4Smrg		basic_machine=i860-stratus
982301ea0f4Smrg		os=-sysv4
983301ea0f4Smrg		;;
984301ea0f4Smrg	sun2)
985301ea0f4Smrg		basic_machine=m68000-sun
986301ea0f4Smrg		;;
987301ea0f4Smrg	sun2os3)
988301ea0f4Smrg		basic_machine=m68000-sun
989301ea0f4Smrg		os=-sunos3
990301ea0f4Smrg		;;
991301ea0f4Smrg	sun2os4)
992301ea0f4Smrg		basic_machine=m68000-sun
993301ea0f4Smrg		os=-sunos4
994301ea0f4Smrg		;;
995301ea0f4Smrg	sun3os3)
996301ea0f4Smrg		basic_machine=m68k-sun
997301ea0f4Smrg		os=-sunos3
998301ea0f4Smrg		;;
999301ea0f4Smrg	sun3os4)
1000301ea0f4Smrg		basic_machine=m68k-sun
1001301ea0f4Smrg		os=-sunos4
1002301ea0f4Smrg		;;
1003301ea0f4Smrg	sun4os3)
1004301ea0f4Smrg		basic_machine=sparc-sun
1005301ea0f4Smrg		os=-sunos3
1006301ea0f4Smrg		;;
1007301ea0f4Smrg	sun4os4)
1008301ea0f4Smrg		basic_machine=sparc-sun
1009301ea0f4Smrg		os=-sunos4
1010301ea0f4Smrg		;;
1011301ea0f4Smrg	sun4sol2)
1012301ea0f4Smrg		basic_machine=sparc-sun
1013301ea0f4Smrg		os=-solaris2
1014301ea0f4Smrg		;;
1015301ea0f4Smrg	sun3 | sun3-*)
1016301ea0f4Smrg		basic_machine=m68k-sun
1017301ea0f4Smrg		;;
1018301ea0f4Smrg	sun4)
1019301ea0f4Smrg		basic_machine=sparc-sun
1020301ea0f4Smrg		;;
1021301ea0f4Smrg	sun386 | sun386i | roadrunner)
1022301ea0f4Smrg		basic_machine=i386-sun
1023301ea0f4Smrg		;;
1024301ea0f4Smrg	sv1)
1025301ea0f4Smrg		basic_machine=sv1-cray
1026301ea0f4Smrg		os=-unicos
1027301ea0f4Smrg		;;
1028301ea0f4Smrg	symmetry)
1029301ea0f4Smrg		basic_machine=i386-sequent
1030301ea0f4Smrg		os=-dynix
1031301ea0f4Smrg		;;
1032301ea0f4Smrg	t3e)
1033301ea0f4Smrg		basic_machine=alphaev5-cray
1034301ea0f4Smrg		os=-unicos
1035301ea0f4Smrg		;;
1036301ea0f4Smrg	t90)
1037301ea0f4Smrg		basic_machine=t90-cray
1038301ea0f4Smrg		os=-unicos
1039301ea0f4Smrg		;;
1040301ea0f4Smrg	tic54x | c54x*)
1041301ea0f4Smrg		basic_machine=tic54x-unknown
1042301ea0f4Smrg		os=-coff
1043301ea0f4Smrg		;;
1044301ea0f4Smrg	tic55x | c55x*)
1045301ea0f4Smrg		basic_machine=tic55x-unknown
1046301ea0f4Smrg		os=-coff
1047301ea0f4Smrg		;;
1048301ea0f4Smrg	tic6x | c6x*)
1049301ea0f4Smrg		basic_machine=tic6x-unknown
1050301ea0f4Smrg		os=-coff
1051301ea0f4Smrg		;;
10520cc67336Smrg	tile*)
10530cc67336Smrg		basic_machine=tile-unknown
10540cc67336Smrg		os=-linux-gnu
10550cc67336Smrg		;;
1056301ea0f4Smrg	tx39)
1057301ea0f4Smrg		basic_machine=mipstx39-unknown
1058301ea0f4Smrg		;;
1059301ea0f4Smrg	tx39el)
1060301ea0f4Smrg		basic_machine=mipstx39el-unknown
1061301ea0f4Smrg		;;
1062301ea0f4Smrg	toad1)
1063301ea0f4Smrg		basic_machine=pdp10-xkl
1064301ea0f4Smrg		os=-tops20
1065301ea0f4Smrg		;;
1066301ea0f4Smrg	tower | tower-32)
1067301ea0f4Smrg		basic_machine=m68k-ncr
1068301ea0f4Smrg		;;
10690cc67336Smrg	tpf)
10700cc67336Smrg		basic_machine=s390x-ibm
10710cc67336Smrg		os=-tpf
10720cc67336Smrg		;;
1073301ea0f4Smrg	udi29k)
1074301ea0f4Smrg		basic_machine=a29k-amd
1075301ea0f4Smrg		os=-udi
1076301ea0f4Smrg		;;
1077301ea0f4Smrg	ultra3)
1078301ea0f4Smrg		basic_machine=a29k-nyu
1079301ea0f4Smrg		os=-sym1
1080301ea0f4Smrg		;;
1081301ea0f4Smrg	v810 | necv810)
1082301ea0f4Smrg		basic_machine=v810-nec
1083301ea0f4Smrg		os=-none
1084301ea0f4Smrg		;;
1085301ea0f4Smrg	vaxv)
1086301ea0f4Smrg		basic_machine=vax-dec
1087301ea0f4Smrg		os=-sysv
1088301ea0f4Smrg		;;
1089301ea0f4Smrg	vms)
1090301ea0f4Smrg		basic_machine=vax-dec
1091301ea0f4Smrg		os=-vms
1092301ea0f4Smrg		;;
1093301ea0f4Smrg	vpp*|vx|vx-*)
1094301ea0f4Smrg		basic_machine=f301-fujitsu
1095301ea0f4Smrg		;;
1096301ea0f4Smrg	vxworks960)
1097301ea0f4Smrg		basic_machine=i960-wrs
1098301ea0f4Smrg		os=-vxworks
1099301ea0f4Smrg		;;
1100301ea0f4Smrg	vxworks68)
1101301ea0f4Smrg		basic_machine=m68k-wrs
1102301ea0f4Smrg		os=-vxworks
1103301ea0f4Smrg		;;
1104301ea0f4Smrg	vxworks29k)
1105301ea0f4Smrg		basic_machine=a29k-wrs
1106301ea0f4Smrg		os=-vxworks
1107301ea0f4Smrg		;;
1108301ea0f4Smrg	w65*)
1109301ea0f4Smrg		basic_machine=w65-wdc
1110301ea0f4Smrg		os=-none
1111301ea0f4Smrg		;;
1112301ea0f4Smrg	w89k-*)
1113301ea0f4Smrg		basic_machine=hppa1.1-winbond
1114301ea0f4Smrg		os=-proelf
1115301ea0f4Smrg		;;
11160cc67336Smrg	xbox)
11170cc67336Smrg		basic_machine=i686-pc
11180cc67336Smrg		os=-mingw32
11190cc67336Smrg		;;
1120301ea0f4Smrg	xps | xps100)
1121301ea0f4Smrg		basic_machine=xps100-honeywell
1122301ea0f4Smrg		;;
1123301ea0f4Smrg	ymp)
1124301ea0f4Smrg		basic_machine=ymp-cray
1125301ea0f4Smrg		os=-unicos
1126301ea0f4Smrg		;;
1127301ea0f4Smrg	z8k-*-coff)
1128301ea0f4Smrg		basic_machine=z8k-unknown
1129301ea0f4Smrg		os=-sim
1130301ea0f4Smrg		;;
1131301ea0f4Smrg	none)
1132301ea0f4Smrg		basic_machine=none-none
1133301ea0f4Smrg		os=-none
1134301ea0f4Smrg		;;
1135301ea0f4Smrg
1136301ea0f4Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
1137301ea0f4Smrg# some cases the only manufacturer, in others, it is the most popular.
1138301ea0f4Smrg	w89k)
1139301ea0f4Smrg		basic_machine=hppa1.1-winbond
1140301ea0f4Smrg		;;
1141301ea0f4Smrg	op50n)
1142301ea0f4Smrg		basic_machine=hppa1.1-oki
1143301ea0f4Smrg		;;
1144301ea0f4Smrg	op60c)
1145301ea0f4Smrg		basic_machine=hppa1.1-oki
1146301ea0f4Smrg		;;
1147301ea0f4Smrg	romp)
1148301ea0f4Smrg		basic_machine=romp-ibm
1149301ea0f4Smrg		;;
11500cc67336Smrg	mmix)
11510cc67336Smrg		basic_machine=mmix-knuth
11520cc67336Smrg		;;
1153301ea0f4Smrg	rs6000)
1154301ea0f4Smrg		basic_machine=rs6000-ibm
1155301ea0f4Smrg		;;
1156301ea0f4Smrg	vax)
1157301ea0f4Smrg		basic_machine=vax-dec
1158301ea0f4Smrg		;;
1159301ea0f4Smrg	pdp10)
1160301ea0f4Smrg		# there are many clones, so DEC is not a safe bet
1161301ea0f4Smrg		basic_machine=pdp10-unknown
1162301ea0f4Smrg		;;
1163301ea0f4Smrg	pdp11)
1164301ea0f4Smrg		basic_machine=pdp11-dec
1165301ea0f4Smrg		;;
1166301ea0f4Smrg	we32k)
1167301ea0f4Smrg		basic_machine=we32k-att
1168301ea0f4Smrg		;;
11690cc67336Smrg	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1170301ea0f4Smrg		basic_machine=sh-unknown
1171301ea0f4Smrg		;;
11720cc67336Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1173301ea0f4Smrg		basic_machine=sparc-sun
1174301ea0f4Smrg		;;
1175301ea0f4Smrg	cydra)
1176301ea0f4Smrg		basic_machine=cydra-cydrome
1177301ea0f4Smrg		;;
1178301ea0f4Smrg	orion)
1179301ea0f4Smrg		basic_machine=orion-highlevel
1180301ea0f4Smrg		;;
1181301ea0f4Smrg	orion105)
1182301ea0f4Smrg		basic_machine=clipper-highlevel
1183301ea0f4Smrg		;;
1184301ea0f4Smrg	mac | mpw | mac-mpw)
1185301ea0f4Smrg		basic_machine=m68k-apple
1186301ea0f4Smrg		;;
1187301ea0f4Smrg	pmac | pmac-mpw)
1188301ea0f4Smrg		basic_machine=powerpc-apple
1189301ea0f4Smrg		;;
1190301ea0f4Smrg	*-unknown)
1191301ea0f4Smrg		# Make sure to match an already-canonicalized machine name.
1192301ea0f4Smrg		;;
1193301ea0f4Smrg	*)
1194301ea0f4Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1195301ea0f4Smrg		exit 1
1196301ea0f4Smrg		;;
1197301ea0f4Smrgesac
1198301ea0f4Smrg
1199301ea0f4Smrg# Here we canonicalize certain aliases for manufacturers.
1200301ea0f4Smrgcase $basic_machine in
1201301ea0f4Smrg	*-digital*)
1202301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1203301ea0f4Smrg		;;
1204301ea0f4Smrg	*-commodore*)
1205301ea0f4Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1206301ea0f4Smrg		;;
1207301ea0f4Smrg	*)
1208301ea0f4Smrg		;;
1209301ea0f4Smrgesac
1210301ea0f4Smrg
1211301ea0f4Smrg# Decode manufacturer-specific aliases for certain operating systems.
1212301ea0f4Smrg
1213301ea0f4Smrgif [ x"$os" != x"" ]
1214301ea0f4Smrgthen
1215301ea0f4Smrgcase $os in
1216301ea0f4Smrg        # First match some system type aliases
1217301ea0f4Smrg        # that might get confused with valid system types.
1218301ea0f4Smrg	# -solaris* is a basic system type, with this one exception.
1219301ea0f4Smrg	-solaris1 | -solaris1.*)
1220301ea0f4Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
1221301ea0f4Smrg		;;
1222301ea0f4Smrg	-solaris)
1223301ea0f4Smrg		os=-solaris2
1224301ea0f4Smrg		;;
1225301ea0f4Smrg	-svr4*)
1226301ea0f4Smrg		os=-sysv4
1227301ea0f4Smrg		;;
1228301ea0f4Smrg	-unixware*)
1229301ea0f4Smrg		os=-sysv4.2uw
1230301ea0f4Smrg		;;
1231301ea0f4Smrg	-gnu/linux*)
1232301ea0f4Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1233301ea0f4Smrg		;;
1234301ea0f4Smrg	# First accept the basic system types.
1235301ea0f4Smrg	# The portable systems comes first.
1236301ea0f4Smrg	# Each alternative MUST END IN A *, to match a version number.
1237301ea0f4Smrg	# -sysv* is not here because it comes later, after sysvr4.
1238301ea0f4Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1239301ea0f4Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1240301ea0f4Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1241301ea0f4Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242301ea0f4Smrg	      | -aos* \
1243301ea0f4Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244301ea0f4Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12450cc67336Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12460cc67336Smrg	      | -openbsd* | -solidbsd* \
12470cc67336Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12480cc67336Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1249301ea0f4Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250301ea0f4Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1251301ea0f4Smrg	      | -chorusos* | -chorusrdb* \
1252301ea0f4Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12530cc67336Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12540cc67336Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
1255301ea0f4Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1256301ea0f4Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1257301ea0f4Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1258301ea0f4Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1259301ea0f4Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
12600cc67336Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12610cc67336Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1262301ea0f4Smrg	# Remember, each alternative MUST END IN *, to match a version number.
1263301ea0f4Smrg		;;
1264301ea0f4Smrg	-qnx*)
1265301ea0f4Smrg		case $basic_machine in
1266301ea0f4Smrg		    x86-* | i*86-*)
1267301ea0f4Smrg			;;
1268301ea0f4Smrg		    *)
1269301ea0f4Smrg			os=-nto$os
1270301ea0f4Smrg			;;
1271301ea0f4Smrg		esac
1272301ea0f4Smrg		;;
1273301ea0f4Smrg	-nto-qnx*)
1274301ea0f4Smrg		;;
1275301ea0f4Smrg	-nto*)
1276301ea0f4Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
1277301ea0f4Smrg		;;
1278301ea0f4Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
12790cc67336Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1280301ea0f4Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1281301ea0f4Smrg		;;
1282301ea0f4Smrg	-mac*)
1283301ea0f4Smrg		os=`echo $os | sed -e 's|mac|macos|'`
1284301ea0f4Smrg		;;
12850cc67336Smrg	-linux-dietlibc)
12860cc67336Smrg		os=-linux-dietlibc
12870cc67336Smrg		;;
1288301ea0f4Smrg	-linux*)
1289301ea0f4Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
1290301ea0f4Smrg		;;
1291301ea0f4Smrg	-sunos5*)
1292301ea0f4Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
1293301ea0f4Smrg		;;
1294301ea0f4Smrg	-sunos6*)
1295301ea0f4Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
1296301ea0f4Smrg		;;
1297301ea0f4Smrg	-opened*)
1298301ea0f4Smrg		os=-openedition
1299301ea0f4Smrg		;;
13000cc67336Smrg        -os400*)
13010cc67336Smrg		os=-os400
13020cc67336Smrg		;;
1303301ea0f4Smrg	-wince*)
1304301ea0f4Smrg		os=-wince
1305301ea0f4Smrg		;;
1306301ea0f4Smrg	-osfrose*)
1307301ea0f4Smrg		os=-osfrose
1308301ea0f4Smrg		;;
1309301ea0f4Smrg	-osf*)
1310301ea0f4Smrg		os=-osf
1311301ea0f4Smrg		;;
1312301ea0f4Smrg	-utek*)
1313301ea0f4Smrg		os=-bsd
1314301ea0f4Smrg		;;
1315301ea0f4Smrg	-dynix*)
1316301ea0f4Smrg		os=-bsd
1317301ea0f4Smrg		;;
1318301ea0f4Smrg	-acis*)
1319301ea0f4Smrg		os=-aos
1320301ea0f4Smrg		;;
1321301ea0f4Smrg	-atheos*)
1322301ea0f4Smrg		os=-atheos
1323301ea0f4Smrg		;;
13240cc67336Smrg	-syllable*)
13250cc67336Smrg		os=-syllable
13260cc67336Smrg		;;
1327301ea0f4Smrg	-386bsd)
1328301ea0f4Smrg		os=-bsd
1329301ea0f4Smrg		;;
1330301ea0f4Smrg	-ctix* | -uts*)
1331301ea0f4Smrg		os=-sysv
1332301ea0f4Smrg		;;
1333301ea0f4Smrg	-nova*)
1334301ea0f4Smrg		os=-rtmk-nova
1335301ea0f4Smrg		;;
1336301ea0f4Smrg	-ns2 )
1337301ea0f4Smrg		os=-nextstep2
1338301ea0f4Smrg		;;
1339301ea0f4Smrg	-nsk*)
1340301ea0f4Smrg		os=-nsk
1341301ea0f4Smrg		;;
1342301ea0f4Smrg	# Preserve the version number of sinix5.
1343301ea0f4Smrg	-sinix5.*)
1344301ea0f4Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
1345301ea0f4Smrg		;;
1346301ea0f4Smrg	-sinix*)
1347301ea0f4Smrg		os=-sysv4
1348301ea0f4Smrg		;;
13490cc67336Smrg        -tpf*)
13500cc67336Smrg		os=-tpf
13510cc67336Smrg		;;
1352301ea0f4Smrg	-triton*)
1353301ea0f4Smrg		os=-sysv3
1354301ea0f4Smrg		;;
1355301ea0f4Smrg	-oss*)
1356301ea0f4Smrg		os=-sysv3
1357301ea0f4Smrg		;;
1358301ea0f4Smrg	-svr4)
1359301ea0f4Smrg		os=-sysv4
1360301ea0f4Smrg		;;
1361301ea0f4Smrg	-svr3)
1362301ea0f4Smrg		os=-sysv3
1363301ea0f4Smrg		;;
1364301ea0f4Smrg	-sysvr4)
1365301ea0f4Smrg		os=-sysv4
1366301ea0f4Smrg		;;
1367301ea0f4Smrg	# This must come after -sysvr4.
1368301ea0f4Smrg	-sysv*)
1369301ea0f4Smrg		;;
1370301ea0f4Smrg	-ose*)
1371301ea0f4Smrg		os=-ose
1372301ea0f4Smrg		;;
1373301ea0f4Smrg	-es1800*)
1374301ea0f4Smrg		os=-ose
1375301ea0f4Smrg		;;
1376301ea0f4Smrg	-xenix)
1377301ea0f4Smrg		os=-xenix
1378301ea0f4Smrg		;;
1379301ea0f4Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1380301ea0f4Smrg		os=-mint
1381301ea0f4Smrg		;;
1382301ea0f4Smrg	-aros*)
1383301ea0f4Smrg		os=-aros
1384301ea0f4Smrg		;;
1385301ea0f4Smrg	-kaos*)
1386301ea0f4Smrg		os=-kaos
1387301ea0f4Smrg		;;
13880cc67336Smrg	-zvmoe)
13890cc67336Smrg		os=-zvmoe
13900cc67336Smrg		;;
1391301ea0f4Smrg	-none)
1392301ea0f4Smrg		;;
1393301ea0f4Smrg	*)
1394301ea0f4Smrg		# Get rid of the `-' at the beginning of $os.
1395301ea0f4Smrg		os=`echo $os | sed 's/[^-]*-//'`
1396301ea0f4Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1397301ea0f4Smrg		exit 1
1398301ea0f4Smrg		;;
1399301ea0f4Smrgesac
1400301ea0f4Smrgelse
1401301ea0f4Smrg
1402301ea0f4Smrg# Here we handle the default operating systems that come with various machines.
1403301ea0f4Smrg# The value should be what the vendor currently ships out the door with their
1404301ea0f4Smrg# machine or put another way, the most popular os provided with the machine.
1405301ea0f4Smrg
1406301ea0f4Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
1407301ea0f4Smrg# "-sun"), then you have to tell the case statement up towards the top
1408301ea0f4Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
1409301ea0f4Smrg# will signal an error saying that MANUFACTURER isn't an operating
1410301ea0f4Smrg# system, and we'll never get to this point.
1411301ea0f4Smrg
1412301ea0f4Smrgcase $basic_machine in
14130cc67336Smrg        score-*)
14140cc67336Smrg		os=-elf
14150cc67336Smrg		;;
14160cc67336Smrg        spu-*)
14170cc67336Smrg		os=-elf
14180cc67336Smrg		;;
1419301ea0f4Smrg	*-acorn)
1420301ea0f4Smrg		os=-riscix1.2
1421301ea0f4Smrg		;;
1422301ea0f4Smrg	arm*-rebel)
1423301ea0f4Smrg		os=-linux
1424301ea0f4Smrg		;;
1425301ea0f4Smrg	arm*-semi)
1426301ea0f4Smrg		os=-aout
1427301ea0f4Smrg		;;
14280cc67336Smrg        c4x-* | tic4x-*)
14290cc67336Smrg        	os=-coff
1430301ea0f4Smrg		;;
1431301ea0f4Smrg	# This must come before the *-dec entry.
1432301ea0f4Smrg	pdp10-*)
1433301ea0f4Smrg		os=-tops20
1434301ea0f4Smrg		;;
1435301ea0f4Smrg	pdp11-*)
1436301ea0f4Smrg		os=-none
1437301ea0f4Smrg		;;
1438301ea0f4Smrg	*-dec | vax-*)
1439301ea0f4Smrg		os=-ultrix4.2
1440301ea0f4Smrg		;;
1441301ea0f4Smrg	m68*-apollo)
1442301ea0f4Smrg		os=-domain
1443301ea0f4Smrg		;;
1444301ea0f4Smrg	i386-sun)
1445301ea0f4Smrg		os=-sunos4.0.2
1446301ea0f4Smrg		;;
1447301ea0f4Smrg	m68000-sun)
1448301ea0f4Smrg		os=-sunos3
1449301ea0f4Smrg		# This also exists in the configure program, but was not the
1450301ea0f4Smrg		# default.
1451301ea0f4Smrg		# os=-sunos4
1452301ea0f4Smrg		;;
1453301ea0f4Smrg	m68*-cisco)
1454301ea0f4Smrg		os=-aout
1455301ea0f4Smrg		;;
14560cc67336Smrg        mep-*)
14570cc67336Smrg		os=-elf
14580cc67336Smrg		;;
1459301ea0f4Smrg	mips*-cisco)
1460301ea0f4Smrg		os=-elf
1461301ea0f4Smrg		;;
1462301ea0f4Smrg	mips*-*)
1463301ea0f4Smrg		os=-elf
1464301ea0f4Smrg		;;
1465301ea0f4Smrg	or32-*)
1466301ea0f4Smrg		os=-coff
1467301ea0f4Smrg		;;
1468301ea0f4Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
1469301ea0f4Smrg		os=-sysv3
1470301ea0f4Smrg		;;
1471301ea0f4Smrg	sparc-* | *-sun)
1472301ea0f4Smrg		os=-sunos4.1.1
1473301ea0f4Smrg		;;
1474301ea0f4Smrg	*-be)
1475301ea0f4Smrg		os=-beos
1476301ea0f4Smrg		;;
14770cc67336Smrg	*-haiku)
14780cc67336Smrg		os=-haiku
14790cc67336Smrg		;;
1480301ea0f4Smrg	*-ibm)
1481301ea0f4Smrg		os=-aix
1482301ea0f4Smrg		;;
14830cc67336Smrg    	*-knuth)
14840cc67336Smrg		os=-mmixware
14850cc67336Smrg		;;
1486301ea0f4Smrg	*-wec)
1487301ea0f4Smrg		os=-proelf
1488301ea0f4Smrg		;;
1489301ea0f4Smrg	*-winbond)
1490301ea0f4Smrg		os=-proelf
1491301ea0f4Smrg		;;
1492301ea0f4Smrg	*-oki)
1493301ea0f4Smrg		os=-proelf
1494301ea0f4Smrg		;;
1495301ea0f4Smrg	*-hp)
1496301ea0f4Smrg		os=-hpux
1497301ea0f4Smrg		;;
1498301ea0f4Smrg	*-hitachi)
1499301ea0f4Smrg		os=-hiux
1500301ea0f4Smrg		;;
1501301ea0f4Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1502301ea0f4Smrg		os=-sysv
1503301ea0f4Smrg		;;
1504301ea0f4Smrg	*-cbm)
1505301ea0f4Smrg		os=-amigaos
1506301ea0f4Smrg		;;
1507301ea0f4Smrg	*-dg)
1508301ea0f4Smrg		os=-dgux
1509301ea0f4Smrg		;;
1510301ea0f4Smrg	*-dolphin)
1511301ea0f4Smrg		os=-sysv3
1512301ea0f4Smrg		;;
1513301ea0f4Smrg	m68k-ccur)
1514301ea0f4Smrg		os=-rtu
1515301ea0f4Smrg		;;
1516301ea0f4Smrg	m88k-omron*)
1517301ea0f4Smrg		os=-luna
1518301ea0f4Smrg		;;
1519301ea0f4Smrg	*-next )
1520301ea0f4Smrg		os=-nextstep
1521301ea0f4Smrg		;;
1522301ea0f4Smrg	*-sequent)
1523301ea0f4Smrg		os=-ptx
1524301ea0f4Smrg		;;
1525301ea0f4Smrg	*-crds)
1526301ea0f4Smrg		os=-unos
1527301ea0f4Smrg		;;
1528301ea0f4Smrg	*-ns)
1529301ea0f4Smrg		os=-genix
1530301ea0f4Smrg		;;
1531301ea0f4Smrg	i370-*)
1532301ea0f4Smrg		os=-mvs
1533301ea0f4Smrg		;;
1534301ea0f4Smrg	*-next)
1535301ea0f4Smrg		os=-nextstep3
1536301ea0f4Smrg		;;
1537301ea0f4Smrg	*-gould)
1538301ea0f4Smrg		os=-sysv
1539301ea0f4Smrg		;;
1540301ea0f4Smrg	*-highlevel)
1541301ea0f4Smrg		os=-bsd
1542301ea0f4Smrg		;;
1543301ea0f4Smrg	*-encore)
1544301ea0f4Smrg		os=-bsd
1545301ea0f4Smrg		;;
1546301ea0f4Smrg	*-sgi)
1547301ea0f4Smrg		os=-irix
1548301ea0f4Smrg		;;
1549301ea0f4Smrg	*-siemens)
1550301ea0f4Smrg		os=-sysv4
1551301ea0f4Smrg		;;
1552301ea0f4Smrg	*-masscomp)
1553301ea0f4Smrg		os=-rtu
1554301ea0f4Smrg		;;
1555301ea0f4Smrg	f30[01]-fujitsu | f700-fujitsu)
1556301ea0f4Smrg		os=-uxpv
1557301ea0f4Smrg		;;
1558301ea0f4Smrg	*-rom68k)
1559301ea0f4Smrg		os=-coff
1560301ea0f4Smrg		;;
1561301ea0f4Smrg	*-*bug)
1562301ea0f4Smrg		os=-coff
1563301ea0f4Smrg		;;
1564301ea0f4Smrg	*-apple)
1565301ea0f4Smrg		os=-macos
1566301ea0f4Smrg		;;
1567301ea0f4Smrg	*-atari*)
1568301ea0f4Smrg		os=-mint
1569301ea0f4Smrg		;;
1570301ea0f4Smrg	*)
1571301ea0f4Smrg		os=-none
1572301ea0f4Smrg		;;
1573301ea0f4Smrgesac
1574301ea0f4Smrgfi
1575301ea0f4Smrg
1576301ea0f4Smrg# Here we handle the case where we know the os, and the CPU type, but not the
1577301ea0f4Smrg# manufacturer.  We pick the logical manufacturer.
1578301ea0f4Smrgvendor=unknown
1579301ea0f4Smrgcase $basic_machine in
1580301ea0f4Smrg	*-unknown)
1581301ea0f4Smrg		case $os in
1582301ea0f4Smrg			-riscix*)
1583301ea0f4Smrg				vendor=acorn
1584301ea0f4Smrg				;;
1585301ea0f4Smrg			-sunos*)
1586301ea0f4Smrg				vendor=sun
1587301ea0f4Smrg				;;
1588301ea0f4Smrg			-aix*)
1589301ea0f4Smrg				vendor=ibm
1590301ea0f4Smrg				;;
1591301ea0f4Smrg			-beos*)
1592301ea0f4Smrg				vendor=be
1593301ea0f4Smrg				;;
1594301ea0f4Smrg			-hpux*)
1595301ea0f4Smrg				vendor=hp
1596301ea0f4Smrg				;;
1597301ea0f4Smrg			-mpeix*)
1598301ea0f4Smrg				vendor=hp
1599301ea0f4Smrg				;;
1600301ea0f4Smrg			-hiux*)
1601301ea0f4Smrg				vendor=hitachi
1602301ea0f4Smrg				;;
1603301ea0f4Smrg			-unos*)
1604301ea0f4Smrg				vendor=crds
1605301ea0f4Smrg				;;
1606301ea0f4Smrg			-dgux*)
1607301ea0f4Smrg				vendor=dg
1608301ea0f4Smrg				;;
1609301ea0f4Smrg			-luna*)
1610301ea0f4Smrg				vendor=omron
1611301ea0f4Smrg				;;
1612301ea0f4Smrg			-genix*)
1613301ea0f4Smrg				vendor=ns
1614301ea0f4Smrg				;;
1615301ea0f4Smrg			-mvs* | -opened*)
1616301ea0f4Smrg				vendor=ibm
1617301ea0f4Smrg				;;
16180cc67336Smrg			-os400*)
16190cc67336Smrg				vendor=ibm
16200cc67336Smrg				;;
1621301ea0f4Smrg			-ptx*)
1622301ea0f4Smrg				vendor=sequent
1623301ea0f4Smrg				;;
16240cc67336Smrg			-tpf*)
16250cc67336Smrg				vendor=ibm
16260cc67336Smrg				;;
1627301ea0f4Smrg			-vxsim* | -vxworks* | -windiss*)
1628301ea0f4Smrg				vendor=wrs
1629301ea0f4Smrg				;;
1630301ea0f4Smrg			-aux*)
1631301ea0f4Smrg				vendor=apple
1632301ea0f4Smrg				;;
1633301ea0f4Smrg			-hms*)
1634301ea0f4Smrg				vendor=hitachi
1635301ea0f4Smrg				;;
1636301ea0f4Smrg			-mpw* | -macos*)
1637301ea0f4Smrg				vendor=apple
1638301ea0f4Smrg				;;
1639301ea0f4Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1640301ea0f4Smrg				vendor=atari
1641301ea0f4Smrg				;;
1642301ea0f4Smrg			-vos*)
1643301ea0f4Smrg				vendor=stratus
1644301ea0f4Smrg				;;
1645301ea0f4Smrg		esac
1646301ea0f4Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1647301ea0f4Smrg		;;
1648301ea0f4Smrgesac
1649301ea0f4Smrg
1650301ea0f4Smrgecho $basic_machine$os
16510cc67336Smrgexit
1652301ea0f4Smrg
1653301ea0f4Smrg# Local variables:
1654301ea0f4Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
1655301ea0f4Smrg# time-stamp-start: "timestamp='"
1656301ea0f4Smrg# time-stamp-format: "%:y-%02m-%02d"
1657301ea0f4Smrg# time-stamp-end: "'"
1658301ea0f4Smrg# End:
1659