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