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