xref: /freebsd/contrib/jemalloc/build-aux/config.sub (revision c43cad87172039ccf38172129c79755ea79e6102)
1*c43cad87SWarner Losh<<<<<<< HEAD
2*c43cad87SWarner Losh#! /bin/sh
3*c43cad87SWarner Losh# Configuration validation subroutine script.
4*c43cad87SWarner Losh#   Copyright 1992-2021 Free Software Foundation, Inc.
5*c43cad87SWarner Losh
6*c43cad87SWarner Loshtimestamp='2021-01-07'
7*c43cad87SWarner Losh
8*c43cad87SWarner Losh# This file is free software; you can redistribute it and/or modify it
9*c43cad87SWarner Losh# under the terms of the GNU General Public License as published by
10*c43cad87SWarner Losh# the Free Software Foundation; either version 3 of the License, or
11*c43cad87SWarner Losh# (at your option) any later version.
12*c43cad87SWarner Losh#
13*c43cad87SWarner Losh# This program is distributed in the hope that it will be useful, but
14*c43cad87SWarner Losh# WITHOUT ANY WARRANTY; without even the implied warranty of
15*c43cad87SWarner Losh# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16*c43cad87SWarner Losh# General Public License for more details.
17*c43cad87SWarner Losh#
18*c43cad87SWarner Losh# You should have received a copy of the GNU General Public License
19*c43cad87SWarner Losh# along with this program; if not, see <https://www.gnu.org/licenses/>.
20*c43cad87SWarner Losh#
21*c43cad87SWarner Losh# As a special exception to the GNU General Public License, if you
22*c43cad87SWarner Losh# distribute this file as part of a program that contains a
23*c43cad87SWarner Losh# configuration script generated by Autoconf, you may include it under
24*c43cad87SWarner Losh# the same distribution terms that you use for the rest of that
25*c43cad87SWarner Losh# program.  This Exception is an additional permission under section 7
26*c43cad87SWarner Losh# of the GNU General Public License, version 3 ("GPLv3").
27*c43cad87SWarner Losh
28*c43cad87SWarner Losh
29*c43cad87SWarner Losh# Please send patches to <config-patches@gnu.org>.
30*c43cad87SWarner Losh#
31*c43cad87SWarner Losh# Configuration subroutine to validate and canonicalize a configuration type.
32*c43cad87SWarner Losh# Supply the specified configuration type as an argument.
33*c43cad87SWarner Losh# If it is invalid, we print an error message on stderr and exit with code 1.
34*c43cad87SWarner Losh# Otherwise, we print the canonical config type on stdout and succeed.
35*c43cad87SWarner Losh
36*c43cad87SWarner Losh# You can get the latest version of this script from:
37*c43cad87SWarner Losh# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
38*c43cad87SWarner Losh
39*c43cad87SWarner Losh# This file is supposed to be the same for all GNU packages
40*c43cad87SWarner Losh# and recognize all the CPU types, system types and aliases
41*c43cad87SWarner Losh# that are meaningful with *any* GNU software.
42*c43cad87SWarner Losh# Each package is responsible for reporting which valid configurations
43*c43cad87SWarner Losh# it does not support.  The user should be able to distinguish
44*c43cad87SWarner Losh# a failure to support a valid configuration from a meaningless
45*c43cad87SWarner Losh# configuration.
46*c43cad87SWarner Losh
47*c43cad87SWarner Losh# The goal of this file is to map all the various variations of a given
48*c43cad87SWarner Losh# machine specification into a single specification in the form:
49*c43cad87SWarner Losh#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
50*c43cad87SWarner Losh# or in some cases, the newer four-part form:
51*c43cad87SWarner Losh#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
52*c43cad87SWarner Losh# It is wrong to echo any other type of specification.
53*c43cad87SWarner Losh
54*c43cad87SWarner Loshme=$(echo "$0" | sed -e 's,.*/,,')
55*c43cad87SWarner Losh
56*c43cad87SWarner Loshusage="\
57*c43cad87SWarner LoshUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
58*c43cad87SWarner Losh
59*c43cad87SWarner LoshCanonicalize a configuration name.
60*c43cad87SWarner Losh
61*c43cad87SWarner LoshOptions:
62*c43cad87SWarner Losh  -h, --help         print this help, then exit
63*c43cad87SWarner Losh  -t, --time-stamp   print date of last modification, then exit
64*c43cad87SWarner Losh  -v, --version      print version number, then exit
65*c43cad87SWarner Losh
66*c43cad87SWarner LoshReport bugs and patches to <config-patches@gnu.org>."
67*c43cad87SWarner Losh
68*c43cad87SWarner Loshversion="\
69*c43cad87SWarner LoshGNU config.sub ($timestamp)
70*c43cad87SWarner Losh
71*c43cad87SWarner LoshCopyright 1992-2021 Free Software Foundation, Inc.
72*c43cad87SWarner Losh
73*c43cad87SWarner LoshThis is free software; see the source for copying conditions.  There is NO
74*c43cad87SWarner Loshwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
75*c43cad87SWarner Losh
76*c43cad87SWarner Loshhelp="
77*c43cad87SWarner LoshTry \`$me --help' for more information."
78*c43cad87SWarner Losh
79*c43cad87SWarner Losh# Parse command line
80*c43cad87SWarner Loshwhile test $# -gt 0 ; do
81*c43cad87SWarner Losh  case $1 in
82*c43cad87SWarner Losh    --time-stamp | --time* | -t )
83*c43cad87SWarner Losh       echo "$timestamp" ; exit ;;
84*c43cad87SWarner Losh    --version | -v )
85*c43cad87SWarner Losh       echo "$version" ; exit ;;
86*c43cad87SWarner Losh    --help | --h* | -h )
87*c43cad87SWarner Losh       echo "$usage"; exit ;;
88*c43cad87SWarner Losh    -- )     # Stop option processing
89*c43cad87SWarner Losh       shift; break ;;
90*c43cad87SWarner Losh    - )	# Use stdin as input.
91*c43cad87SWarner Losh       break ;;
92*c43cad87SWarner Losh    -* )
93*c43cad87SWarner Losh       echo "$me: invalid option $1$help" >&2
94*c43cad87SWarner Losh       exit 1 ;;
95*c43cad87SWarner Losh
96*c43cad87SWarner Losh    *local*)
97*c43cad87SWarner Losh       # First pass through any local machine types.
98*c43cad87SWarner Losh       echo "$1"
99*c43cad87SWarner Losh       exit ;;
100*c43cad87SWarner Losh
101*c43cad87SWarner Losh    * )
102*c43cad87SWarner Losh       break ;;
103*c43cad87SWarner Losh  esac
104*c43cad87SWarner Loshdone
105*c43cad87SWarner Losh
106*c43cad87SWarner Loshcase $# in
107*c43cad87SWarner Losh 0) echo "$me: missing argument$help" >&2
108*c43cad87SWarner Losh    exit 1;;
109*c43cad87SWarner Losh 1) ;;
110*c43cad87SWarner Losh *) echo "$me: too many arguments$help" >&2
111*c43cad87SWarner Losh    exit 1;;
112*c43cad87SWarner Loshesac
113*c43cad87SWarner Losh
114*c43cad87SWarner Losh# Split fields of configuration type
115*c43cad87SWarner Losh# shellcheck disable=SC2162
116*c43cad87SWarner LoshIFS="-" read field1 field2 field3 field4 <<EOF
117*c43cad87SWarner Losh$1
118*c43cad87SWarner LoshEOF
119*c43cad87SWarner Losh
120*c43cad87SWarner Losh# Separate into logical components for further validation
121*c43cad87SWarner Loshcase $1 in
122*c43cad87SWarner Losh	*-*-*-*-*)
123*c43cad87SWarner Losh		echo Invalid configuration \`"$1"\': more than four components >&2
124*c43cad87SWarner Losh		exit 1
125*c43cad87SWarner Losh		;;
126*c43cad87SWarner Losh	*-*-*-*)
127*c43cad87SWarner Losh		basic_machine=$field1-$field2
128*c43cad87SWarner Losh		basic_os=$field3-$field4
129*c43cad87SWarner Losh		;;
130*c43cad87SWarner Losh	*-*-*)
131*c43cad87SWarner Losh		# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
132*c43cad87SWarner Losh		# parts
133*c43cad87SWarner Losh		maybe_os=$field2-$field3
134*c43cad87SWarner Losh		case $maybe_os in
135*c43cad87SWarner Losh			nto-qnx* | linux-* | uclinux-uclibc* \
136*c43cad87SWarner Losh			| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
137*c43cad87SWarner Losh			| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
138*c43cad87SWarner Losh			| storm-chaos* | os2-emx* | rtmk-nova*)
139*c43cad87SWarner Losh				basic_machine=$field1
140*c43cad87SWarner Losh				basic_os=$maybe_os
141*c43cad87SWarner Losh				;;
142*c43cad87SWarner Losh			android-linux)
143*c43cad87SWarner Losh				basic_machine=$field1-unknown
144*c43cad87SWarner Losh				basic_os=linux-android
145*c43cad87SWarner Losh				;;
146*c43cad87SWarner Losh			*)
147*c43cad87SWarner Losh				basic_machine=$field1-$field2
148*c43cad87SWarner Losh				basic_os=$field3
149*c43cad87SWarner Losh				;;
150*c43cad87SWarner Losh		esac
151*c43cad87SWarner Losh		;;
152*c43cad87SWarner Losh	*-*)
153*c43cad87SWarner Losh		# A lone config we happen to match not fitting any pattern
154*c43cad87SWarner Losh		case $field1-$field2 in
155*c43cad87SWarner Losh			decstation-3100)
156*c43cad87SWarner Losh				basic_machine=mips-dec
157*c43cad87SWarner Losh				basic_os=
158*c43cad87SWarner Losh				;;
159*c43cad87SWarner Losh			*-*)
160*c43cad87SWarner Losh				# Second component is usually, but not always the OS
161*c43cad87SWarner Losh				case $field2 in
162*c43cad87SWarner Losh					# Prevent following clause from handling this valid os
163*c43cad87SWarner Losh					sun*os*)
164*c43cad87SWarner Losh						basic_machine=$field1
165*c43cad87SWarner Losh						basic_os=$field2
166*c43cad87SWarner Losh						;;
167*c43cad87SWarner Losh					# Manufacturers
168*c43cad87SWarner Losh					dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \
169*c43cad87SWarner Losh					| att* | 7300* | 3300* | delta* | motorola* | sun[234]* \
170*c43cad87SWarner Losh					| unicom* | ibm* | next | hp | isi* | apollo | altos* \
171*c43cad87SWarner Losh					| convergent* | ncr* | news | 32* | 3600* | 3100* \
172*c43cad87SWarner Losh					| hitachi* | c[123]* | convex* | sun | crds | omron* | dg \
173*c43cad87SWarner Losh					| ultra | tti* | harris | dolphin | highlevel | gould \
174*c43cad87SWarner Losh					| cbm | ns | masscomp | apple | axis | knuth | cray \
175*c43cad87SWarner Losh					| microblaze* | sim | cisco \
176*c43cad87SWarner Losh					| oki | wec | wrs | winbond)
177*c43cad87SWarner Losh						basic_machine=$field1-$field2
178*c43cad87SWarner Losh						basic_os=
179*c43cad87SWarner Losh						;;
180*c43cad87SWarner Losh					*)
181*c43cad87SWarner Losh						basic_machine=$field1
182*c43cad87SWarner Losh						basic_os=$field2
183*c43cad87SWarner Losh						;;
184*c43cad87SWarner Losh				esac
185*c43cad87SWarner Losh			;;
186*c43cad87SWarner Losh		esac
187*c43cad87SWarner Losh		;;
188*c43cad87SWarner Losh	*)
189*c43cad87SWarner Losh		# Convert single-component short-hands not valid as part of
190*c43cad87SWarner Losh		# multi-component configurations.
191*c43cad87SWarner Losh		case $field1 in
192*c43cad87SWarner Losh			386bsd)
193*c43cad87SWarner Losh				basic_machine=i386-pc
194*c43cad87SWarner Losh				basic_os=bsd
195*c43cad87SWarner Losh				;;
196*c43cad87SWarner Losh			a29khif)
197*c43cad87SWarner Losh				basic_machine=a29k-amd
198*c43cad87SWarner Losh				basic_os=udi
199*c43cad87SWarner Losh				;;
200*c43cad87SWarner Losh			adobe68k)
201*c43cad87SWarner Losh				basic_machine=m68010-adobe
202*c43cad87SWarner Losh				basic_os=scout
203*c43cad87SWarner Losh				;;
204*c43cad87SWarner Losh			alliant)
205*c43cad87SWarner Losh				basic_machine=fx80-alliant
206*c43cad87SWarner Losh				basic_os=
207*c43cad87SWarner Losh				;;
208*c43cad87SWarner Losh			altos | altos3068)
209*c43cad87SWarner Losh				basic_machine=m68k-altos
210*c43cad87SWarner Losh				basic_os=
211*c43cad87SWarner Losh				;;
212*c43cad87SWarner Losh			am29k)
213*c43cad87SWarner Losh				basic_machine=a29k-none
214*c43cad87SWarner Losh				basic_os=bsd
215*c43cad87SWarner Losh				;;
216*c43cad87SWarner Losh			amdahl)
217*c43cad87SWarner Losh				basic_machine=580-amdahl
218*c43cad87SWarner Losh				basic_os=sysv
219*c43cad87SWarner Losh				;;
220*c43cad87SWarner Losh			amiga)
221*c43cad87SWarner Losh				basic_machine=m68k-unknown
222*c43cad87SWarner Losh				basic_os=
223*c43cad87SWarner Losh				;;
224*c43cad87SWarner Losh			amigaos | amigados)
225*c43cad87SWarner Losh				basic_machine=m68k-unknown
226*c43cad87SWarner Losh				basic_os=amigaos
227*c43cad87SWarner Losh				;;
228*c43cad87SWarner Losh			amigaunix | amix)
229*c43cad87SWarner Losh				basic_machine=m68k-unknown
230*c43cad87SWarner Losh				basic_os=sysv4
231*c43cad87SWarner Losh				;;
232*c43cad87SWarner Losh			apollo68)
233*c43cad87SWarner Losh				basic_machine=m68k-apollo
234*c43cad87SWarner Losh				basic_os=sysv
235*c43cad87SWarner Losh				;;
236*c43cad87SWarner Losh			apollo68bsd)
237*c43cad87SWarner Losh				basic_machine=m68k-apollo
238*c43cad87SWarner Losh				basic_os=bsd
239*c43cad87SWarner Losh				;;
240*c43cad87SWarner Losh			aros)
241*c43cad87SWarner Losh				basic_machine=i386-pc
242*c43cad87SWarner Losh				basic_os=aros
243*c43cad87SWarner Losh				;;
244*c43cad87SWarner Losh			aux)
245*c43cad87SWarner Losh				basic_machine=m68k-apple
246*c43cad87SWarner Losh				basic_os=aux
247*c43cad87SWarner Losh				;;
248*c43cad87SWarner Losh			balance)
249*c43cad87SWarner Losh				basic_machine=ns32k-sequent
250*c43cad87SWarner Losh				basic_os=dynix
251*c43cad87SWarner Losh				;;
252*c43cad87SWarner Losh			blackfin)
253*c43cad87SWarner Losh				basic_machine=bfin-unknown
254*c43cad87SWarner Losh				basic_os=linux
255*c43cad87SWarner Losh				;;
256*c43cad87SWarner Losh			cegcc)
257*c43cad87SWarner Losh				basic_machine=arm-unknown
258*c43cad87SWarner Losh				basic_os=cegcc
259*c43cad87SWarner Losh				;;
260*c43cad87SWarner Losh			convex-c1)
261*c43cad87SWarner Losh				basic_machine=c1-convex
262*c43cad87SWarner Losh				basic_os=bsd
263*c43cad87SWarner Losh				;;
264*c43cad87SWarner Losh			convex-c2)
265*c43cad87SWarner Losh				basic_machine=c2-convex
266*c43cad87SWarner Losh				basic_os=bsd
267*c43cad87SWarner Losh				;;
268*c43cad87SWarner Losh			convex-c32)
269*c43cad87SWarner Losh				basic_machine=c32-convex
270*c43cad87SWarner Losh				basic_os=bsd
271*c43cad87SWarner Losh				;;
272*c43cad87SWarner Losh			convex-c34)
273*c43cad87SWarner Losh				basic_machine=c34-convex
274*c43cad87SWarner Losh				basic_os=bsd
275*c43cad87SWarner Losh				;;
276*c43cad87SWarner Losh			convex-c38)
277*c43cad87SWarner Losh				basic_machine=c38-convex
278*c43cad87SWarner Losh				basic_os=bsd
279*c43cad87SWarner Losh				;;
280*c43cad87SWarner Losh			cray)
281*c43cad87SWarner Losh				basic_machine=j90-cray
282*c43cad87SWarner Losh				basic_os=unicos
283*c43cad87SWarner Losh				;;
284*c43cad87SWarner Losh			crds | unos)
285*c43cad87SWarner Losh				basic_machine=m68k-crds
286*c43cad87SWarner Losh				basic_os=
287*c43cad87SWarner Losh				;;
288*c43cad87SWarner Losh			da30)
289*c43cad87SWarner Losh				basic_machine=m68k-da30
290*c43cad87SWarner Losh				basic_os=
291*c43cad87SWarner Losh				;;
292*c43cad87SWarner Losh			decstation | pmax | pmin | dec3100 | decstatn)
293*c43cad87SWarner Losh				basic_machine=mips-dec
294*c43cad87SWarner Losh				basic_os=
295*c43cad87SWarner Losh				;;
296*c43cad87SWarner Losh			delta88)
297*c43cad87SWarner Losh				basic_machine=m88k-motorola
298*c43cad87SWarner Losh				basic_os=sysv3
299*c43cad87SWarner Losh				;;
300*c43cad87SWarner Losh			dicos)
301*c43cad87SWarner Losh				basic_machine=i686-pc
302*c43cad87SWarner Losh				basic_os=dicos
303*c43cad87SWarner Losh				;;
304*c43cad87SWarner Losh			djgpp)
305*c43cad87SWarner Losh				basic_machine=i586-pc
306*c43cad87SWarner Losh				basic_os=msdosdjgpp
307*c43cad87SWarner Losh				;;
308*c43cad87SWarner Losh			ebmon29k)
309*c43cad87SWarner Losh				basic_machine=a29k-amd
310*c43cad87SWarner Losh				basic_os=ebmon
311*c43cad87SWarner Losh				;;
312*c43cad87SWarner Losh			es1800 | OSE68k | ose68k | ose | OSE)
313*c43cad87SWarner Losh				basic_machine=m68k-ericsson
314*c43cad87SWarner Losh				basic_os=ose
315*c43cad87SWarner Losh				;;
316*c43cad87SWarner Losh			gmicro)
317*c43cad87SWarner Losh				basic_machine=tron-gmicro
318*c43cad87SWarner Losh				basic_os=sysv
319*c43cad87SWarner Losh				;;
320*c43cad87SWarner Losh			go32)
321*c43cad87SWarner Losh				basic_machine=i386-pc
322*c43cad87SWarner Losh				basic_os=go32
323*c43cad87SWarner Losh				;;
324*c43cad87SWarner Losh			h8300hms)
325*c43cad87SWarner Losh				basic_machine=h8300-hitachi
326*c43cad87SWarner Losh				basic_os=hms
327*c43cad87SWarner Losh				;;
328*c43cad87SWarner Losh			h8300xray)
329*c43cad87SWarner Losh				basic_machine=h8300-hitachi
330*c43cad87SWarner Losh				basic_os=xray
331*c43cad87SWarner Losh				;;
332*c43cad87SWarner Losh			h8500hms)
333*c43cad87SWarner Losh				basic_machine=h8500-hitachi
334*c43cad87SWarner Losh				basic_os=hms
335*c43cad87SWarner Losh				;;
336*c43cad87SWarner Losh			harris)
337*c43cad87SWarner Losh				basic_machine=m88k-harris
338*c43cad87SWarner Losh				basic_os=sysv3
339*c43cad87SWarner Losh				;;
340*c43cad87SWarner Losh			hp300 | hp300hpux)
341*c43cad87SWarner Losh				basic_machine=m68k-hp
342*c43cad87SWarner Losh				basic_os=hpux
343*c43cad87SWarner Losh				;;
344*c43cad87SWarner Losh			hp300bsd)
345*c43cad87SWarner Losh				basic_machine=m68k-hp
346*c43cad87SWarner Losh				basic_os=bsd
347*c43cad87SWarner Losh				;;
348*c43cad87SWarner Losh			hppaosf)
349*c43cad87SWarner Losh				basic_machine=hppa1.1-hp
350*c43cad87SWarner Losh				basic_os=osf
351*c43cad87SWarner Losh				;;
352*c43cad87SWarner Losh			hppro)
353*c43cad87SWarner Losh				basic_machine=hppa1.1-hp
354*c43cad87SWarner Losh				basic_os=proelf
355*c43cad87SWarner Losh				;;
356*c43cad87SWarner Losh			i386mach)
357*c43cad87SWarner Losh				basic_machine=i386-mach
358*c43cad87SWarner Losh				basic_os=mach
359*c43cad87SWarner Losh				;;
360*c43cad87SWarner Losh			isi68 | isi)
361*c43cad87SWarner Losh				basic_machine=m68k-isi
362*c43cad87SWarner Losh				basic_os=sysv
363*c43cad87SWarner Losh				;;
364*c43cad87SWarner Losh			m68knommu)
365*c43cad87SWarner Losh				basic_machine=m68k-unknown
366*c43cad87SWarner Losh				basic_os=linux
367*c43cad87SWarner Losh				;;
368*c43cad87SWarner Losh			magnum | m3230)
369*c43cad87SWarner Losh				basic_machine=mips-mips
370*c43cad87SWarner Losh				basic_os=sysv
371*c43cad87SWarner Losh				;;
372*c43cad87SWarner Losh			merlin)
373*c43cad87SWarner Losh				basic_machine=ns32k-utek
374*c43cad87SWarner Losh				basic_os=sysv
375*c43cad87SWarner Losh				;;
376*c43cad87SWarner Losh			mingw64)
377*c43cad87SWarner Losh				basic_machine=x86_64-pc
378*c43cad87SWarner Losh				basic_os=mingw64
379*c43cad87SWarner Losh				;;
380*c43cad87SWarner Losh			mingw32)
381*c43cad87SWarner Losh				basic_machine=i686-pc
382*c43cad87SWarner Losh				basic_os=mingw32
383*c43cad87SWarner Losh				;;
384*c43cad87SWarner Losh			mingw32ce)
385*c43cad87SWarner Losh				basic_machine=arm-unknown
386*c43cad87SWarner Losh				basic_os=mingw32ce
387*c43cad87SWarner Losh				;;
388*c43cad87SWarner Losh			monitor)
389*c43cad87SWarner Losh				basic_machine=m68k-rom68k
390*c43cad87SWarner Losh				basic_os=coff
391*c43cad87SWarner Losh				;;
392*c43cad87SWarner Losh			morphos)
393*c43cad87SWarner Losh				basic_machine=powerpc-unknown
394*c43cad87SWarner Losh				basic_os=morphos
395*c43cad87SWarner Losh				;;
396*c43cad87SWarner Losh			moxiebox)
397*c43cad87SWarner Losh				basic_machine=moxie-unknown
398*c43cad87SWarner Losh				basic_os=moxiebox
399*c43cad87SWarner Losh				;;
400*c43cad87SWarner Losh			msdos)
401*c43cad87SWarner Losh				basic_machine=i386-pc
402*c43cad87SWarner Losh				basic_os=msdos
403*c43cad87SWarner Losh				;;
404*c43cad87SWarner Losh			msys)
405*c43cad87SWarner Losh				basic_machine=i686-pc
406*c43cad87SWarner Losh				basic_os=msys
407*c43cad87SWarner Losh				;;
408*c43cad87SWarner Losh			mvs)
409*c43cad87SWarner Losh				basic_machine=i370-ibm
410*c43cad87SWarner Losh				basic_os=mvs
411*c43cad87SWarner Losh				;;
412*c43cad87SWarner Losh			nacl)
413*c43cad87SWarner Losh				basic_machine=le32-unknown
414*c43cad87SWarner Losh				basic_os=nacl
415*c43cad87SWarner Losh				;;
416*c43cad87SWarner Losh			ncr3000)
417*c43cad87SWarner Losh				basic_machine=i486-ncr
418*c43cad87SWarner Losh				basic_os=sysv4
419*c43cad87SWarner Losh				;;
420*c43cad87SWarner Losh			netbsd386)
421*c43cad87SWarner Losh				basic_machine=i386-pc
422*c43cad87SWarner Losh				basic_os=netbsd
423*c43cad87SWarner Losh				;;
424*c43cad87SWarner Losh			netwinder)
425*c43cad87SWarner Losh				basic_machine=armv4l-rebel
426*c43cad87SWarner Losh				basic_os=linux
427*c43cad87SWarner Losh				;;
428*c43cad87SWarner Losh			news | news700 | news800 | news900)
429*c43cad87SWarner Losh				basic_machine=m68k-sony
430*c43cad87SWarner Losh				basic_os=newsos
431*c43cad87SWarner Losh				;;
432*c43cad87SWarner Losh			news1000)
433*c43cad87SWarner Losh				basic_machine=m68030-sony
434*c43cad87SWarner Losh				basic_os=newsos
435*c43cad87SWarner Losh				;;
436*c43cad87SWarner Losh			necv70)
437*c43cad87SWarner Losh				basic_machine=v70-nec
438*c43cad87SWarner Losh				basic_os=sysv
439*c43cad87SWarner Losh				;;
440*c43cad87SWarner Losh			nh3000)
441*c43cad87SWarner Losh				basic_machine=m68k-harris
442*c43cad87SWarner Losh				basic_os=cxux
443*c43cad87SWarner Losh				;;
444*c43cad87SWarner Losh			nh[45]000)
445*c43cad87SWarner Losh				basic_machine=m88k-harris
446*c43cad87SWarner Losh				basic_os=cxux
447*c43cad87SWarner Losh				;;
448*c43cad87SWarner Losh			nindy960)
449*c43cad87SWarner Losh				basic_machine=i960-intel
450*c43cad87SWarner Losh				basic_os=nindy
451*c43cad87SWarner Losh				;;
452*c43cad87SWarner Losh			mon960)
453*c43cad87SWarner Losh				basic_machine=i960-intel
454*c43cad87SWarner Losh				basic_os=mon960
455*c43cad87SWarner Losh				;;
456*c43cad87SWarner Losh			nonstopux)
457*c43cad87SWarner Losh				basic_machine=mips-compaq
458*c43cad87SWarner Losh				basic_os=nonstopux
459*c43cad87SWarner Losh				;;
460*c43cad87SWarner Losh			os400)
461*c43cad87SWarner Losh				basic_machine=powerpc-ibm
462*c43cad87SWarner Losh				basic_os=os400
463*c43cad87SWarner Losh				;;
464*c43cad87SWarner Losh			OSE68000 | ose68000)
465*c43cad87SWarner Losh				basic_machine=m68000-ericsson
466*c43cad87SWarner Losh				basic_os=ose
467*c43cad87SWarner Losh				;;
468*c43cad87SWarner Losh			os68k)
469*c43cad87SWarner Losh				basic_machine=m68k-none
470*c43cad87SWarner Losh				basic_os=os68k
471*c43cad87SWarner Losh				;;
472*c43cad87SWarner Losh			paragon)
473*c43cad87SWarner Losh				basic_machine=i860-intel
474*c43cad87SWarner Losh				basic_os=osf
475*c43cad87SWarner Losh				;;
476*c43cad87SWarner Losh			parisc)
477*c43cad87SWarner Losh				basic_machine=hppa-unknown
478*c43cad87SWarner Losh				basic_os=linux
479*c43cad87SWarner Losh				;;
480*c43cad87SWarner Losh			psp)
481*c43cad87SWarner Losh				basic_machine=mipsallegrexel-sony
482*c43cad87SWarner Losh				basic_os=psp
483*c43cad87SWarner Losh				;;
484*c43cad87SWarner Losh			pw32)
485*c43cad87SWarner Losh				basic_machine=i586-unknown
486*c43cad87SWarner Losh				basic_os=pw32
487*c43cad87SWarner Losh				;;
488*c43cad87SWarner Losh			rdos | rdos64)
489*c43cad87SWarner Losh				basic_machine=x86_64-pc
490*c43cad87SWarner Losh				basic_os=rdos
491*c43cad87SWarner Losh				;;
492*c43cad87SWarner Losh			rdos32)
493*c43cad87SWarner Losh				basic_machine=i386-pc
494*c43cad87SWarner Losh				basic_os=rdos
495*c43cad87SWarner Losh				;;
496*c43cad87SWarner Losh			rom68k)
497*c43cad87SWarner Losh				basic_machine=m68k-rom68k
498*c43cad87SWarner Losh				basic_os=coff
499*c43cad87SWarner Losh				;;
500*c43cad87SWarner Losh			sa29200)
501*c43cad87SWarner Losh				basic_machine=a29k-amd
502*c43cad87SWarner Losh				basic_os=udi
503*c43cad87SWarner Losh				;;
504*c43cad87SWarner Losh			sei)
505*c43cad87SWarner Losh				basic_machine=mips-sei
506*c43cad87SWarner Losh				basic_os=seiux
507*c43cad87SWarner Losh				;;
508*c43cad87SWarner Losh			sequent)
509*c43cad87SWarner Losh				basic_machine=i386-sequent
510*c43cad87SWarner Losh				basic_os=
511*c43cad87SWarner Losh				;;
512*c43cad87SWarner Losh			sps7)
513*c43cad87SWarner Losh				basic_machine=m68k-bull
514*c43cad87SWarner Losh				basic_os=sysv2
515*c43cad87SWarner Losh				;;
516*c43cad87SWarner Losh			st2000)
517*c43cad87SWarner Losh				basic_machine=m68k-tandem
518*c43cad87SWarner Losh				basic_os=
519*c43cad87SWarner Losh				;;
520*c43cad87SWarner Losh			stratus)
521*c43cad87SWarner Losh				basic_machine=i860-stratus
522*c43cad87SWarner Losh				basic_os=sysv4
523*c43cad87SWarner Losh				;;
524*c43cad87SWarner Losh			sun2)
525*c43cad87SWarner Losh				basic_machine=m68000-sun
526*c43cad87SWarner Losh				basic_os=
527*c43cad87SWarner Losh				;;
528*c43cad87SWarner Losh			sun2os3)
529*c43cad87SWarner Losh				basic_machine=m68000-sun
530*c43cad87SWarner Losh				basic_os=sunos3
531*c43cad87SWarner Losh				;;
532*c43cad87SWarner Losh			sun2os4)
533*c43cad87SWarner Losh				basic_machine=m68000-sun
534*c43cad87SWarner Losh				basic_os=sunos4
535*c43cad87SWarner Losh				;;
536*c43cad87SWarner Losh			sun3)
537*c43cad87SWarner Losh				basic_machine=m68k-sun
538*c43cad87SWarner Losh				basic_os=
539*c43cad87SWarner Losh				;;
540*c43cad87SWarner Losh			sun3os3)
541*c43cad87SWarner Losh				basic_machine=m68k-sun
542*c43cad87SWarner Losh				basic_os=sunos3
543*c43cad87SWarner Losh				;;
544*c43cad87SWarner Losh			sun3os4)
545*c43cad87SWarner Losh				basic_machine=m68k-sun
546*c43cad87SWarner Losh				basic_os=sunos4
547*c43cad87SWarner Losh				;;
548*c43cad87SWarner Losh			sun4)
549*c43cad87SWarner Losh				basic_machine=sparc-sun
550*c43cad87SWarner Losh				basic_os=
551*c43cad87SWarner Losh				;;
552*c43cad87SWarner Losh			sun4os3)
553*c43cad87SWarner Losh				basic_machine=sparc-sun
554*c43cad87SWarner Losh				basic_os=sunos3
555*c43cad87SWarner Losh				;;
556*c43cad87SWarner Losh			sun4os4)
557*c43cad87SWarner Losh				basic_machine=sparc-sun
558*c43cad87SWarner Losh				basic_os=sunos4
559*c43cad87SWarner Losh				;;
560*c43cad87SWarner Losh			sun4sol2)
561*c43cad87SWarner Losh				basic_machine=sparc-sun
562*c43cad87SWarner Losh				basic_os=solaris2
563*c43cad87SWarner Losh				;;
564*c43cad87SWarner Losh			sun386 | sun386i | roadrunner)
565*c43cad87SWarner Losh				basic_machine=i386-sun
566*c43cad87SWarner Losh				basic_os=
567*c43cad87SWarner Losh				;;
568*c43cad87SWarner Losh			sv1)
569*c43cad87SWarner Losh				basic_machine=sv1-cray
570*c43cad87SWarner Losh				basic_os=unicos
571*c43cad87SWarner Losh				;;
572*c43cad87SWarner Losh			symmetry)
573*c43cad87SWarner Losh				basic_machine=i386-sequent
574*c43cad87SWarner Losh				basic_os=dynix
575*c43cad87SWarner Losh				;;
576*c43cad87SWarner Losh			t3e)
577*c43cad87SWarner Losh				basic_machine=alphaev5-cray
578*c43cad87SWarner Losh				basic_os=unicos
579*c43cad87SWarner Losh				;;
580*c43cad87SWarner Losh			t90)
581*c43cad87SWarner Losh				basic_machine=t90-cray
582*c43cad87SWarner Losh				basic_os=unicos
583*c43cad87SWarner Losh				;;
584*c43cad87SWarner Losh			toad1)
585*c43cad87SWarner Losh				basic_machine=pdp10-xkl
586*c43cad87SWarner Losh				basic_os=tops20
587*c43cad87SWarner Losh				;;
588*c43cad87SWarner Losh			tpf)
589*c43cad87SWarner Losh				basic_machine=s390x-ibm
590*c43cad87SWarner Losh				basic_os=tpf
591*c43cad87SWarner Losh				;;
592*c43cad87SWarner Losh			udi29k)
593*c43cad87SWarner Losh				basic_machine=a29k-amd
594*c43cad87SWarner Losh				basic_os=udi
595*c43cad87SWarner Losh				;;
596*c43cad87SWarner Losh			ultra3)
597*c43cad87SWarner Losh				basic_machine=a29k-nyu
598*c43cad87SWarner Losh				basic_os=sym1
599*c43cad87SWarner Losh				;;
600*c43cad87SWarner Losh			v810 | necv810)
601*c43cad87SWarner Losh				basic_machine=v810-nec
602*c43cad87SWarner Losh				basic_os=none
603*c43cad87SWarner Losh				;;
604*c43cad87SWarner Losh			vaxv)
605*c43cad87SWarner Losh				basic_machine=vax-dec
606*c43cad87SWarner Losh				basic_os=sysv
607*c43cad87SWarner Losh				;;
608*c43cad87SWarner Losh			vms)
609*c43cad87SWarner Losh				basic_machine=vax-dec
610*c43cad87SWarner Losh				basic_os=vms
611*c43cad87SWarner Losh				;;
612*c43cad87SWarner Losh			vsta)
613*c43cad87SWarner Losh				basic_machine=i386-pc
614*c43cad87SWarner Losh				basic_os=vsta
615*c43cad87SWarner Losh				;;
616*c43cad87SWarner Losh			vxworks960)
617*c43cad87SWarner Losh				basic_machine=i960-wrs
618*c43cad87SWarner Losh				basic_os=vxworks
619*c43cad87SWarner Losh				;;
620*c43cad87SWarner Losh			vxworks68)
621*c43cad87SWarner Losh				basic_machine=m68k-wrs
622*c43cad87SWarner Losh				basic_os=vxworks
623*c43cad87SWarner Losh				;;
624*c43cad87SWarner Losh			vxworks29k)
625*c43cad87SWarner Losh				basic_machine=a29k-wrs
626*c43cad87SWarner Losh				basic_os=vxworks
627*c43cad87SWarner Losh				;;
628*c43cad87SWarner Losh			xbox)
629*c43cad87SWarner Losh				basic_machine=i686-pc
630*c43cad87SWarner Losh				basic_os=mingw32
631*c43cad87SWarner Losh				;;
632*c43cad87SWarner Losh			ymp)
633*c43cad87SWarner Losh				basic_machine=ymp-cray
634*c43cad87SWarner Losh				basic_os=unicos
635*c43cad87SWarner Losh				;;
636*c43cad87SWarner Losh			*)
637*c43cad87SWarner Losh				basic_machine=$1
638*c43cad87SWarner Losh				basic_os=
639*c43cad87SWarner Losh				;;
640*c43cad87SWarner Losh		esac
641*c43cad87SWarner Losh		;;
642*c43cad87SWarner Loshesac
643*c43cad87SWarner Losh
644*c43cad87SWarner Losh# Decode 1-component or ad-hoc basic machines
645*c43cad87SWarner Loshcase $basic_machine in
646*c43cad87SWarner Losh	# Here we handle the default manufacturer of certain CPU types.  It is in
647*c43cad87SWarner Losh	# some cases the only manufacturer, in others, it is the most popular.
648*c43cad87SWarner Losh	w89k)
649*c43cad87SWarner Losh		cpu=hppa1.1
650*c43cad87SWarner Losh		vendor=winbond
651*c43cad87SWarner Losh		;;
652*c43cad87SWarner Losh	op50n)
653*c43cad87SWarner Losh		cpu=hppa1.1
654*c43cad87SWarner Losh		vendor=oki
655*c43cad87SWarner Losh		;;
656*c43cad87SWarner Losh	op60c)
657*c43cad87SWarner Losh		cpu=hppa1.1
658*c43cad87SWarner Losh		vendor=oki
659*c43cad87SWarner Losh		;;
660*c43cad87SWarner Losh	ibm*)
661*c43cad87SWarner Losh		cpu=i370
662*c43cad87SWarner Losh		vendor=ibm
663*c43cad87SWarner Losh		;;
664*c43cad87SWarner Losh	orion105)
665*c43cad87SWarner Losh		cpu=clipper
666*c43cad87SWarner Losh		vendor=highlevel
667*c43cad87SWarner Losh		;;
668*c43cad87SWarner Losh	mac | mpw | mac-mpw)
669*c43cad87SWarner Losh		cpu=m68k
670*c43cad87SWarner Losh		vendor=apple
671*c43cad87SWarner Losh		;;
672*c43cad87SWarner Losh	pmac | pmac-mpw)
673*c43cad87SWarner Losh		cpu=powerpc
674*c43cad87SWarner Losh		vendor=apple
675*c43cad87SWarner Losh		;;
676*c43cad87SWarner Losh
677*c43cad87SWarner Losh	# Recognize the various machine names and aliases which stand
678*c43cad87SWarner Losh	# for a CPU type and a company and sometimes even an OS.
679*c43cad87SWarner Losh	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
680*c43cad87SWarner Losh		cpu=m68000
681*c43cad87SWarner Losh		vendor=att
682*c43cad87SWarner Losh		;;
683*c43cad87SWarner Losh	3b*)
684*c43cad87SWarner Losh		cpu=we32k
685*c43cad87SWarner Losh		vendor=att
686*c43cad87SWarner Losh		;;
687*c43cad87SWarner Losh	bluegene*)
688*c43cad87SWarner Losh		cpu=powerpc
689*c43cad87SWarner Losh		vendor=ibm
690*c43cad87SWarner Losh		basic_os=cnk
691*c43cad87SWarner Losh		;;
692*c43cad87SWarner Losh	decsystem10* | dec10*)
693*c43cad87SWarner Losh		cpu=pdp10
694*c43cad87SWarner Losh		vendor=dec
695*c43cad87SWarner Losh		basic_os=tops10
696*c43cad87SWarner Losh		;;
697*c43cad87SWarner Losh	decsystem20* | dec20*)
698*c43cad87SWarner Losh		cpu=pdp10
699*c43cad87SWarner Losh		vendor=dec
700*c43cad87SWarner Losh		basic_os=tops20
701*c43cad87SWarner Losh		;;
702*c43cad87SWarner Losh	delta | 3300 | motorola-3300 | motorola-delta \
703*c43cad87SWarner Losh	      | 3300-motorola | delta-motorola)
704*c43cad87SWarner Losh		cpu=m68k
705*c43cad87SWarner Losh		vendor=motorola
706*c43cad87SWarner Losh		;;
707*c43cad87SWarner Losh	dpx2*)
708*c43cad87SWarner Losh		cpu=m68k
709*c43cad87SWarner Losh		vendor=bull
710*c43cad87SWarner Losh		basic_os=sysv3
711*c43cad87SWarner Losh		;;
712*c43cad87SWarner Losh	encore | umax | mmax)
713*c43cad87SWarner Losh		cpu=ns32k
714*c43cad87SWarner Losh		vendor=encore
715*c43cad87SWarner Losh		;;
716*c43cad87SWarner Losh	elxsi)
717*c43cad87SWarner Losh		cpu=elxsi
718*c43cad87SWarner Losh		vendor=elxsi
719*c43cad87SWarner Losh		basic_os=${basic_os:-bsd}
720*c43cad87SWarner Losh		;;
721*c43cad87SWarner Losh	fx2800)
722*c43cad87SWarner Losh		cpu=i860
723*c43cad87SWarner Losh		vendor=alliant
724*c43cad87SWarner Losh		;;
725*c43cad87SWarner Losh	genix)
726*c43cad87SWarner Losh		cpu=ns32k
727*c43cad87SWarner Losh		vendor=ns
728*c43cad87SWarner Losh		;;
729*c43cad87SWarner Losh	h3050r* | hiux*)
730*c43cad87SWarner Losh		cpu=hppa1.1
731*c43cad87SWarner Losh		vendor=hitachi
732*c43cad87SWarner Losh		basic_os=hiuxwe2
733*c43cad87SWarner Losh		;;
734*c43cad87SWarner Losh	hp3k9[0-9][0-9] | hp9[0-9][0-9])
735*c43cad87SWarner Losh		cpu=hppa1.0
736*c43cad87SWarner Losh		vendor=hp
737*c43cad87SWarner Losh		;;
738*c43cad87SWarner Losh	hp9k2[0-9][0-9] | hp9k31[0-9])
739*c43cad87SWarner Losh		cpu=m68000
740*c43cad87SWarner Losh		vendor=hp
741*c43cad87SWarner Losh		;;
742*c43cad87SWarner Losh	hp9k3[2-9][0-9])
743*c43cad87SWarner Losh		cpu=m68k
744*c43cad87SWarner Losh		vendor=hp
745*c43cad87SWarner Losh		;;
746*c43cad87SWarner Losh	hp9k6[0-9][0-9] | hp6[0-9][0-9])
747*c43cad87SWarner Losh		cpu=hppa1.0
748*c43cad87SWarner Losh		vendor=hp
749*c43cad87SWarner Losh		;;
750*c43cad87SWarner Losh	hp9k7[0-79][0-9] | hp7[0-79][0-9])
751*c43cad87SWarner Losh		cpu=hppa1.1
752*c43cad87SWarner Losh		vendor=hp
753*c43cad87SWarner Losh		;;
754*c43cad87SWarner Losh	hp9k78[0-9] | hp78[0-9])
755*c43cad87SWarner Losh		# FIXME: really hppa2.0-hp
756*c43cad87SWarner Losh		cpu=hppa1.1
757*c43cad87SWarner Losh		vendor=hp
758*c43cad87SWarner Losh		;;
759*c43cad87SWarner Losh	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
760*c43cad87SWarner Losh		# FIXME: really hppa2.0-hp
761*c43cad87SWarner Losh		cpu=hppa1.1
762*c43cad87SWarner Losh		vendor=hp
763*c43cad87SWarner Losh		;;
764*c43cad87SWarner Losh	hp9k8[0-9][13679] | hp8[0-9][13679])
765*c43cad87SWarner Losh		cpu=hppa1.1
766*c43cad87SWarner Losh		vendor=hp
767*c43cad87SWarner Losh		;;
768*c43cad87SWarner Losh	hp9k8[0-9][0-9] | hp8[0-9][0-9])
769*c43cad87SWarner Losh		cpu=hppa1.0
770*c43cad87SWarner Losh		vendor=hp
771*c43cad87SWarner Losh		;;
772*c43cad87SWarner Losh	i*86v32)
773*c43cad87SWarner Losh		cpu=$(echo "$1" | sed -e 's/86.*/86/')
774*c43cad87SWarner Losh		vendor=pc
775*c43cad87SWarner Losh		basic_os=sysv32
776*c43cad87SWarner Losh		;;
777*c43cad87SWarner Losh	i*86v4*)
778*c43cad87SWarner Losh		cpu=$(echo "$1" | sed -e 's/86.*/86/')
779*c43cad87SWarner Losh		vendor=pc
780*c43cad87SWarner Losh		basic_os=sysv4
781*c43cad87SWarner Losh		;;
782*c43cad87SWarner Losh	i*86v)
783*c43cad87SWarner Losh		cpu=$(echo "$1" | sed -e 's/86.*/86/')
784*c43cad87SWarner Losh		vendor=pc
785*c43cad87SWarner Losh		basic_os=sysv
786*c43cad87SWarner Losh		;;
787*c43cad87SWarner Losh	i*86sol2)
788*c43cad87SWarner Losh		cpu=$(echo "$1" | sed -e 's/86.*/86/')
789*c43cad87SWarner Losh		vendor=pc
790*c43cad87SWarner Losh		basic_os=solaris2
791*c43cad87SWarner Losh		;;
792*c43cad87SWarner Losh	j90 | j90-cray)
793*c43cad87SWarner Losh		cpu=j90
794*c43cad87SWarner Losh		vendor=cray
795*c43cad87SWarner Losh		basic_os=${basic_os:-unicos}
796*c43cad87SWarner Losh		;;
797*c43cad87SWarner Losh	iris | iris4d)
798*c43cad87SWarner Losh		cpu=mips
799*c43cad87SWarner Losh		vendor=sgi
800*c43cad87SWarner Losh		case $basic_os in
801*c43cad87SWarner Losh		    irix*)
802*c43cad87SWarner Losh			;;
803*c43cad87SWarner Losh		    *)
804*c43cad87SWarner Losh			basic_os=irix4
805*c43cad87SWarner Losh			;;
806*c43cad87SWarner Losh		esac
807*c43cad87SWarner Losh		;;
808*c43cad87SWarner Losh	miniframe)
809*c43cad87SWarner Losh		cpu=m68000
810*c43cad87SWarner Losh		vendor=convergent
811*c43cad87SWarner Losh		;;
812*c43cad87SWarner Losh	*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
813*c43cad87SWarner Losh		cpu=m68k
814*c43cad87SWarner Losh		vendor=atari
815*c43cad87SWarner Losh		basic_os=mint
816*c43cad87SWarner Losh		;;
817*c43cad87SWarner Losh	news-3600 | risc-news)
818*c43cad87SWarner Losh		cpu=mips
819*c43cad87SWarner Losh		vendor=sony
820*c43cad87SWarner Losh		basic_os=newsos
821*c43cad87SWarner Losh		;;
822*c43cad87SWarner Losh	next | m*-next)
823*c43cad87SWarner Losh		cpu=m68k
824*c43cad87SWarner Losh		vendor=next
825*c43cad87SWarner Losh		case $basic_os in
826*c43cad87SWarner Losh		    openstep*)
827*c43cad87SWarner Losh		        ;;
828*c43cad87SWarner Losh		    nextstep*)
829*c43cad87SWarner Losh			;;
830*c43cad87SWarner Losh		    ns2*)
831*c43cad87SWarner Losh		      basic_os=nextstep2
832*c43cad87SWarner Losh			;;
833*c43cad87SWarner Losh		    *)
834*c43cad87SWarner Losh		      basic_os=nextstep3
835*c43cad87SWarner Losh			;;
836*c43cad87SWarner Losh		esac
837*c43cad87SWarner Losh		;;
838*c43cad87SWarner Losh	np1)
839*c43cad87SWarner Losh		cpu=np1
840*c43cad87SWarner Losh		vendor=gould
841*c43cad87SWarner Losh		;;
842*c43cad87SWarner Losh	op50n-* | op60c-*)
843*c43cad87SWarner Losh		cpu=hppa1.1
844*c43cad87SWarner Losh		vendor=oki
845*c43cad87SWarner Losh		basic_os=proelf
846*c43cad87SWarner Losh		;;
847*c43cad87SWarner Losh	pa-hitachi)
848*c43cad87SWarner Losh		cpu=hppa1.1
849*c43cad87SWarner Losh		vendor=hitachi
850*c43cad87SWarner Losh		basic_os=hiuxwe2
851*c43cad87SWarner Losh		;;
852*c43cad87SWarner Losh	pbd)
853*c43cad87SWarner Losh		cpu=sparc
854*c43cad87SWarner Losh		vendor=tti
855*c43cad87SWarner Losh		;;
856*c43cad87SWarner Losh	pbb)
857*c43cad87SWarner Losh		cpu=m68k
858*c43cad87SWarner Losh		vendor=tti
859*c43cad87SWarner Losh		;;
860*c43cad87SWarner Losh	pc532)
861*c43cad87SWarner Losh		cpu=ns32k
862*c43cad87SWarner Losh		vendor=pc532
863*c43cad87SWarner Losh		;;
864*c43cad87SWarner Losh	pn)
865*c43cad87SWarner Losh		cpu=pn
866*c43cad87SWarner Losh		vendor=gould
867*c43cad87SWarner Losh		;;
868*c43cad87SWarner Losh	power)
869*c43cad87SWarner Losh		cpu=power
870*c43cad87SWarner Losh		vendor=ibm
871*c43cad87SWarner Losh		;;
872*c43cad87SWarner Losh	ps2)
873*c43cad87SWarner Losh		cpu=i386
874*c43cad87SWarner Losh		vendor=ibm
875*c43cad87SWarner Losh		;;
876*c43cad87SWarner Losh	rm[46]00)
877*c43cad87SWarner Losh		cpu=mips
878*c43cad87SWarner Losh		vendor=siemens
879*c43cad87SWarner Losh		;;
880*c43cad87SWarner Losh	rtpc | rtpc-*)
881*c43cad87SWarner Losh		cpu=romp
882*c43cad87SWarner Losh		vendor=ibm
883*c43cad87SWarner Losh		;;
884*c43cad87SWarner Losh	sde)
885*c43cad87SWarner Losh		cpu=mipsisa32
886*c43cad87SWarner Losh		vendor=sde
887*c43cad87SWarner Losh		basic_os=${basic_os:-elf}
888*c43cad87SWarner Losh		;;
889*c43cad87SWarner Losh	simso-wrs)
890*c43cad87SWarner Losh		cpu=sparclite
891*c43cad87SWarner Losh		vendor=wrs
892*c43cad87SWarner Losh		basic_os=vxworks
893*c43cad87SWarner Losh		;;
894*c43cad87SWarner Losh	tower | tower-32)
895*c43cad87SWarner Losh		cpu=m68k
896*c43cad87SWarner Losh		vendor=ncr
897*c43cad87SWarner Losh		;;
898*c43cad87SWarner Losh	vpp*|vx|vx-*)
899*c43cad87SWarner Losh		cpu=f301
900*c43cad87SWarner Losh		vendor=fujitsu
901*c43cad87SWarner Losh		;;
902*c43cad87SWarner Losh	w65)
903*c43cad87SWarner Losh		cpu=w65
904*c43cad87SWarner Losh		vendor=wdc
905*c43cad87SWarner Losh		;;
906*c43cad87SWarner Losh	w89k-*)
907*c43cad87SWarner Losh		cpu=hppa1.1
908*c43cad87SWarner Losh		vendor=winbond
909*c43cad87SWarner Losh		basic_os=proelf
910*c43cad87SWarner Losh		;;
911*c43cad87SWarner Losh	none)
912*c43cad87SWarner Losh		cpu=none
913*c43cad87SWarner Losh		vendor=none
914*c43cad87SWarner Losh		;;
915*c43cad87SWarner Losh	leon|leon[3-9])
916*c43cad87SWarner Losh		cpu=sparc
917*c43cad87SWarner Losh		vendor=$basic_machine
918*c43cad87SWarner Losh		;;
919*c43cad87SWarner Losh	leon-*|leon[3-9]-*)
920*c43cad87SWarner Losh		cpu=sparc
921*c43cad87SWarner Losh		vendor=$(echo "$basic_machine" | sed 's/-.*//')
922*c43cad87SWarner Losh		;;
923*c43cad87SWarner Losh
924*c43cad87SWarner Losh	*-*)
925*c43cad87SWarner Losh		# shellcheck disable=SC2162
926*c43cad87SWarner Losh		IFS="-" read cpu vendor <<EOF
927*c43cad87SWarner Losh$basic_machine
928*c43cad87SWarner LoshEOF
929*c43cad87SWarner Losh		;;
930*c43cad87SWarner Losh	# We use `pc' rather than `unknown'
931*c43cad87SWarner Losh	# because (1) that's what they normally are, and
932*c43cad87SWarner Losh	# (2) the word "unknown" tends to confuse beginning users.
933*c43cad87SWarner Losh	i*86 | x86_64)
934*c43cad87SWarner Losh		cpu=$basic_machine
935*c43cad87SWarner Losh		vendor=pc
936*c43cad87SWarner Losh		;;
937*c43cad87SWarner Losh	# These rules are duplicated from below for sake of the special case above;
938*c43cad87SWarner Losh	# i.e. things that normalized to x86 arches should also default to "pc"
939*c43cad87SWarner Losh	pc98)
940*c43cad87SWarner Losh		cpu=i386
941*c43cad87SWarner Losh		vendor=pc
942*c43cad87SWarner Losh		;;
943*c43cad87SWarner Losh	x64 | amd64)
944*c43cad87SWarner Losh		cpu=x86_64
945*c43cad87SWarner Losh		vendor=pc
946*c43cad87SWarner Losh		;;
947*c43cad87SWarner Losh	# Recognize the basic CPU types without company name.
948*c43cad87SWarner Losh	*)
949*c43cad87SWarner Losh		cpu=$basic_machine
950*c43cad87SWarner Losh		vendor=unknown
951*c43cad87SWarner Losh		;;
952*c43cad87SWarner Loshesac
953*c43cad87SWarner Losh
954*c43cad87SWarner Loshunset -v basic_machine
955*c43cad87SWarner Losh
956*c43cad87SWarner Losh# Decode basic machines in the full and proper CPU-Company form.
957*c43cad87SWarner Loshcase $cpu-$vendor in
958*c43cad87SWarner Losh	# Here we handle the default manufacturer of certain CPU types in canonical form. It is in
959*c43cad87SWarner Losh	# some cases the only manufacturer, in others, it is the most popular.
960*c43cad87SWarner Losh	craynv-unknown)
961*c43cad87SWarner Losh		vendor=cray
962*c43cad87SWarner Losh		basic_os=${basic_os:-unicosmp}
963*c43cad87SWarner Losh		;;
964*c43cad87SWarner Losh	c90-unknown | c90-cray)
965*c43cad87SWarner Losh		vendor=cray
966*c43cad87SWarner Losh		basic_os=${Basic_os:-unicos}
967*c43cad87SWarner Losh		;;
968*c43cad87SWarner Losh	fx80-unknown)
969*c43cad87SWarner Losh		vendor=alliant
970*c43cad87SWarner Losh		;;
971*c43cad87SWarner Losh	romp-unknown)
972*c43cad87SWarner Losh		vendor=ibm
973*c43cad87SWarner Losh		;;
974*c43cad87SWarner Losh	mmix-unknown)
975*c43cad87SWarner Losh		vendor=knuth
976*c43cad87SWarner Losh		;;
977*c43cad87SWarner Losh	microblaze-unknown | microblazeel-unknown)
978*c43cad87SWarner Losh		vendor=xilinx
979*c43cad87SWarner Losh		;;
980*c43cad87SWarner Losh	rs6000-unknown)
981*c43cad87SWarner Losh		vendor=ibm
982*c43cad87SWarner Losh		;;
983*c43cad87SWarner Losh	vax-unknown)
984*c43cad87SWarner Losh		vendor=dec
985*c43cad87SWarner Losh		;;
986*c43cad87SWarner Losh	pdp11-unknown)
987*c43cad87SWarner Losh		vendor=dec
988*c43cad87SWarner Losh		;;
989*c43cad87SWarner Losh	we32k-unknown)
990*c43cad87SWarner Losh		vendor=att
991*c43cad87SWarner Losh		;;
992*c43cad87SWarner Losh	cydra-unknown)
993*c43cad87SWarner Losh		vendor=cydrome
994*c43cad87SWarner Losh		;;
995*c43cad87SWarner Losh	i370-ibm*)
996*c43cad87SWarner Losh		vendor=ibm
997*c43cad87SWarner Losh		;;
998*c43cad87SWarner Losh	orion-unknown)
999*c43cad87SWarner Losh		vendor=highlevel
1000*c43cad87SWarner Losh		;;
1001*c43cad87SWarner Losh	xps-unknown | xps100-unknown)
1002*c43cad87SWarner Losh		cpu=xps100
1003*c43cad87SWarner Losh		vendor=honeywell
1004*c43cad87SWarner Losh		;;
1005*c43cad87SWarner Losh
1006*c43cad87SWarner Losh	# Here we normalize CPU types with a missing or matching vendor
1007*c43cad87SWarner Losh	dpx20-unknown | dpx20-bull)
1008*c43cad87SWarner Losh		cpu=rs6000
1009*c43cad87SWarner Losh		vendor=bull
1010*c43cad87SWarner Losh		basic_os=${basic_os:-bosx}
1011*c43cad87SWarner Losh		;;
1012*c43cad87SWarner Losh
1013*c43cad87SWarner Losh	# Here we normalize CPU types irrespective of the vendor
1014*c43cad87SWarner Losh	amd64-*)
1015*c43cad87SWarner Losh		cpu=x86_64
1016*c43cad87SWarner Losh		;;
1017*c43cad87SWarner Losh	blackfin-*)
1018*c43cad87SWarner Losh		cpu=bfin
1019*c43cad87SWarner Losh		basic_os=linux
1020*c43cad87SWarner Losh		;;
1021*c43cad87SWarner Losh	c54x-*)
1022*c43cad87SWarner Losh		cpu=tic54x
1023*c43cad87SWarner Losh		;;
1024*c43cad87SWarner Losh	c55x-*)
1025*c43cad87SWarner Losh		cpu=tic55x
1026*c43cad87SWarner Losh		;;
1027*c43cad87SWarner Losh	c6x-*)
1028*c43cad87SWarner Losh		cpu=tic6x
1029*c43cad87SWarner Losh		;;
1030*c43cad87SWarner Losh	e500v[12]-*)
1031*c43cad87SWarner Losh		cpu=powerpc
1032*c43cad87SWarner Losh		basic_os=${basic_os}"spe"
1033*c43cad87SWarner Losh		;;
1034*c43cad87SWarner Losh	mips3*-*)
1035*c43cad87SWarner Losh		cpu=mips64
1036*c43cad87SWarner Losh		;;
1037*c43cad87SWarner Losh	ms1-*)
1038*c43cad87SWarner Losh		cpu=mt
1039*c43cad87SWarner Losh		;;
1040*c43cad87SWarner Losh	m68knommu-*)
1041*c43cad87SWarner Losh		cpu=m68k
1042*c43cad87SWarner Losh		basic_os=linux
1043*c43cad87SWarner Losh		;;
1044*c43cad87SWarner Losh	m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1045*c43cad87SWarner Losh		cpu=s12z
1046*c43cad87SWarner Losh		;;
1047*c43cad87SWarner Losh	openrisc-*)
1048*c43cad87SWarner Losh		cpu=or32
1049*c43cad87SWarner Losh		;;
1050*c43cad87SWarner Losh	parisc-*)
1051*c43cad87SWarner Losh		cpu=hppa
1052*c43cad87SWarner Losh		basic_os=linux
1053*c43cad87SWarner Losh		;;
1054*c43cad87SWarner Losh	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1055*c43cad87SWarner Losh		cpu=i586
1056*c43cad87SWarner Losh		;;
1057*c43cad87SWarner Losh	pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1058*c43cad87SWarner Losh		cpu=i686
1059*c43cad87SWarner Losh		;;
1060*c43cad87SWarner Losh	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1061*c43cad87SWarner Losh		cpu=i686
1062*c43cad87SWarner Losh		;;
1063*c43cad87SWarner Losh	pentium4-*)
1064*c43cad87SWarner Losh		cpu=i786
1065*c43cad87SWarner Losh		;;
1066*c43cad87SWarner Losh	pc98-*)
1067*c43cad87SWarner Losh		cpu=i386
1068*c43cad87SWarner Losh		;;
1069*c43cad87SWarner Losh	ppc-* | ppcbe-*)
1070*c43cad87SWarner Losh		cpu=powerpc
1071*c43cad87SWarner Losh		;;
1072*c43cad87SWarner Losh	ppcle-* | powerpclittle-*)
1073*c43cad87SWarner Losh		cpu=powerpcle
1074*c43cad87SWarner Losh		;;
1075*c43cad87SWarner Losh	ppc64-*)
1076*c43cad87SWarner Losh		cpu=powerpc64
1077*c43cad87SWarner Losh		;;
1078*c43cad87SWarner Losh	ppc64le-* | powerpc64little-*)
1079*c43cad87SWarner Losh		cpu=powerpc64le
1080*c43cad87SWarner Losh		;;
1081*c43cad87SWarner Losh	sb1-*)
1082*c43cad87SWarner Losh		cpu=mipsisa64sb1
1083*c43cad87SWarner Losh		;;
1084*c43cad87SWarner Losh	sb1el-*)
1085*c43cad87SWarner Losh		cpu=mipsisa64sb1el
1086*c43cad87SWarner Losh		;;
1087*c43cad87SWarner Losh	sh5e[lb]-*)
1088*c43cad87SWarner Losh		cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
1089*c43cad87SWarner Losh		;;
1090*c43cad87SWarner Losh	spur-*)
1091*c43cad87SWarner Losh		cpu=spur
1092*c43cad87SWarner Losh		;;
1093*c43cad87SWarner Losh	strongarm-* | thumb-*)
1094*c43cad87SWarner Losh		cpu=arm
1095*c43cad87SWarner Losh		;;
1096*c43cad87SWarner Losh	tx39-*)
1097*c43cad87SWarner Losh		cpu=mipstx39
1098*c43cad87SWarner Losh		;;
1099*c43cad87SWarner Losh	tx39el-*)
1100*c43cad87SWarner Losh		cpu=mipstx39el
1101*c43cad87SWarner Losh		;;
1102*c43cad87SWarner Losh	x64-*)
1103*c43cad87SWarner Losh		cpu=x86_64
1104*c43cad87SWarner Losh		;;
1105*c43cad87SWarner Losh	xscale-* | xscalee[bl]-*)
1106*c43cad87SWarner Losh		cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
1107*c43cad87SWarner Losh		;;
1108*c43cad87SWarner Losh	arm64-*)
1109*c43cad87SWarner Losh		cpu=aarch64
1110*c43cad87SWarner Losh		;;
1111*c43cad87SWarner Losh
1112*c43cad87SWarner Losh	# Recognize the canonical CPU Types that limit and/or modify the
1113*c43cad87SWarner Losh	# company names they are paired with.
1114*c43cad87SWarner Losh	cr16-*)
1115*c43cad87SWarner Losh		basic_os=${basic_os:-elf}
1116*c43cad87SWarner Losh		;;
1117*c43cad87SWarner Losh	crisv32-* | etraxfs*-*)
1118*c43cad87SWarner Losh		cpu=crisv32
1119*c43cad87SWarner Losh		vendor=axis
1120*c43cad87SWarner Losh		;;
1121*c43cad87SWarner Losh	cris-* | etrax*-*)
1122*c43cad87SWarner Losh		cpu=cris
1123*c43cad87SWarner Losh		vendor=axis
1124*c43cad87SWarner Losh		;;
1125*c43cad87SWarner Losh	crx-*)
1126*c43cad87SWarner Losh		basic_os=${basic_os:-elf}
1127*c43cad87SWarner Losh		;;
1128*c43cad87SWarner Losh	neo-tandem)
1129*c43cad87SWarner Losh		cpu=neo
1130*c43cad87SWarner Losh		vendor=tandem
1131*c43cad87SWarner Losh		;;
1132*c43cad87SWarner Losh	nse-tandem)
1133*c43cad87SWarner Losh		cpu=nse
1134*c43cad87SWarner Losh		vendor=tandem
1135*c43cad87SWarner Losh		;;
1136*c43cad87SWarner Losh	nsr-tandem)
1137*c43cad87SWarner Losh		cpu=nsr
1138*c43cad87SWarner Losh		vendor=tandem
1139*c43cad87SWarner Losh		;;
1140*c43cad87SWarner Losh	nsv-tandem)
1141*c43cad87SWarner Losh		cpu=nsv
1142*c43cad87SWarner Losh		vendor=tandem
1143*c43cad87SWarner Losh		;;
1144*c43cad87SWarner Losh	nsx-tandem)
1145*c43cad87SWarner Losh		cpu=nsx
1146*c43cad87SWarner Losh		vendor=tandem
1147*c43cad87SWarner Losh		;;
1148*c43cad87SWarner Losh	mipsallegrexel-sony)
1149*c43cad87SWarner Losh		cpu=mipsallegrexel
1150*c43cad87SWarner Losh		vendor=sony
1151*c43cad87SWarner Losh		;;
1152*c43cad87SWarner Losh	tile*-*)
1153*c43cad87SWarner Losh		basic_os=${basic_os:-linux-gnu}
1154*c43cad87SWarner Losh		;;
1155*c43cad87SWarner Losh
1156*c43cad87SWarner Losh	*)
1157*c43cad87SWarner Losh		# Recognize the canonical CPU types that are allowed with any
1158*c43cad87SWarner Losh		# company name.
1159*c43cad87SWarner Losh		case $cpu in
1160*c43cad87SWarner Losh			1750a | 580 \
1161*c43cad87SWarner Losh			| a29k \
1162*c43cad87SWarner Losh			| aarch64 | aarch64_be \
1163*c43cad87SWarner Losh			| abacus \
1164*c43cad87SWarner Losh			| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
1165*c43cad87SWarner Losh			| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
1166*c43cad87SWarner Losh			| alphapca5[67] | alpha64pca5[67] \
1167*c43cad87SWarner Losh			| am33_2.0 \
1168*c43cad87SWarner Losh			| amdgcn \
1169*c43cad87SWarner Losh			| arc | arceb \
1170*c43cad87SWarner Losh			| arm | arm[lb]e | arme[lb] | armv* \
1171*c43cad87SWarner Losh			| avr | avr32 \
1172*c43cad87SWarner Losh			| asmjs \
1173*c43cad87SWarner Losh			| ba \
1174*c43cad87SWarner Losh			| be32 | be64 \
1175*c43cad87SWarner Losh			| bfin | bpf | bs2000 \
1176*c43cad87SWarner Losh			| c[123]* | c30 | [cjt]90 | c4x \
1177*c43cad87SWarner Losh			| c8051 | clipper | craynv | csky | cydra \
1178*c43cad87SWarner Losh			| d10v | d30v | dlx | dsp16xx \
1179*c43cad87SWarner Losh			| e2k | elxsi | epiphany \
1180*c43cad87SWarner Losh			| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
1181*c43cad87SWarner Losh			| h8300 | h8500 \
1182*c43cad87SWarner Losh			| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
1183*c43cad87SWarner Losh			| hexagon \
1184*c43cad87SWarner Losh			| i370 | i*86 | i860 | i960 | ia16 | ia64 \
1185*c43cad87SWarner Losh			| ip2k | iq2000 \
1186*c43cad87SWarner Losh			| k1om \
1187*c43cad87SWarner Losh			| le32 | le64 \
1188*c43cad87SWarner Losh			| lm32 \
1189*c43cad87SWarner Losh			| loongarch32 | loongarch64 | loongarchx32 \
1190*c43cad87SWarner Losh			| m32c | m32r | m32rle \
1191*c43cad87SWarner Losh			| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \
1192*c43cad87SWarner Losh			| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
1193*c43cad87SWarner Losh			| m88110 | m88k | maxq | mb | mcore | mep | metag \
1194*c43cad87SWarner Losh			| microblaze | microblazeel \
1195*c43cad87SWarner Losh			| mips | mipsbe | mipseb | mipsel | mipsle \
1196*c43cad87SWarner Losh			| mips16 \
1197*c43cad87SWarner Losh			| mips64 | mips64eb | mips64el \
1198*c43cad87SWarner Losh			| mips64octeon | mips64octeonel \
1199*c43cad87SWarner Losh			| mips64orion | mips64orionel \
1200*c43cad87SWarner Losh			| mips64r5900 | mips64r5900el \
1201*c43cad87SWarner Losh			| mips64vr | mips64vrel \
1202*c43cad87SWarner Losh			| mips64vr4100 | mips64vr4100el \
1203*c43cad87SWarner Losh			| mips64vr4300 | mips64vr4300el \
1204*c43cad87SWarner Losh			| mips64vr5000 | mips64vr5000el \
1205*c43cad87SWarner Losh			| mips64vr5900 | mips64vr5900el \
1206*c43cad87SWarner Losh			| mipsisa32 | mipsisa32el \
1207*c43cad87SWarner Losh			| mipsisa32r2 | mipsisa32r2el \
1208*c43cad87SWarner Losh			| mipsisa32r6 | mipsisa32r6el \
1209*c43cad87SWarner Losh			| mipsisa64 | mipsisa64el \
1210*c43cad87SWarner Losh			| mipsisa64r2 | mipsisa64r2el \
1211*c43cad87SWarner Losh			| mipsisa64r6 | mipsisa64r6el \
1212*c43cad87SWarner Losh			| mipsisa64sb1 | mipsisa64sb1el \
1213*c43cad87SWarner Losh			| mipsisa64sr71k | mipsisa64sr71kel \
1214*c43cad87SWarner Losh			| mipsr5900 | mipsr5900el \
1215*c43cad87SWarner Losh			| mipstx39 | mipstx39el \
1216*c43cad87SWarner Losh			| mmix \
1217*c43cad87SWarner Losh			| mn10200 | mn10300 \
1218*c43cad87SWarner Losh			| moxie \
1219*c43cad87SWarner Losh			| mt \
1220*c43cad87SWarner Losh			| msp430 \
1221*c43cad87SWarner Losh			| nds32 | nds32le | nds32be \
1222*c43cad87SWarner Losh			| nfp \
1223*c43cad87SWarner Losh			| nios | nios2 | nios2eb | nios2el \
1224*c43cad87SWarner Losh			| none | np1 | ns16k | ns32k | nvptx \
1225*c43cad87SWarner Losh			| open8 \
1226*c43cad87SWarner Losh			| or1k* \
1227*c43cad87SWarner Losh			| or32 \
1228*c43cad87SWarner Losh			| orion \
1229*c43cad87SWarner Losh			| picochip \
1230*c43cad87SWarner Losh			| pdp10 | pdp11 | pj | pjl | pn | power \
1231*c43cad87SWarner Losh			| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1232*c43cad87SWarner Losh			| pru \
1233*c43cad87SWarner Losh			| pyramid \
1234*c43cad87SWarner Losh			| riscv | riscv32 | riscv32be | riscv64 | riscv64be \
1235*c43cad87SWarner Losh			| rl78 | romp | rs6000 | rx \
1236*c43cad87SWarner Losh			| s390 | s390x \
1237*c43cad87SWarner Losh			| score \
1238*c43cad87SWarner Losh			| sh | shl \
1239*c43cad87SWarner Losh			| sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1240*c43cad87SWarner Losh			| sh[1234]e[lb] |  sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1241*c43cad87SWarner Losh			| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1242*c43cad87SWarner Losh			| sparclite \
1243*c43cad87SWarner Losh			| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1244*c43cad87SWarner Losh			| spu \
1245*c43cad87SWarner Losh			| tahoe \
1246*c43cad87SWarner Losh			| thumbv7* \
1247*c43cad87SWarner Losh			| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1248*c43cad87SWarner Losh			| tron \
1249*c43cad87SWarner Losh			| ubicom32 \
1250*c43cad87SWarner Losh			| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1251*c43cad87SWarner Losh			| vax \
1252*c43cad87SWarner Losh			| visium \
1253*c43cad87SWarner Losh			| w65 \
1254*c43cad87SWarner Losh			| wasm32 | wasm64 \
1255*c43cad87SWarner Losh			| we32k \
1256*c43cad87SWarner Losh			| x86 | x86_64 | xc16x | xgate | xps100 \
1257*c43cad87SWarner Losh			| xstormy16 | xtensa* \
1258*c43cad87SWarner Losh			| ymp \
1259*c43cad87SWarner Losh			| z8k | z80)
1260*c43cad87SWarner Losh				;;
1261*c43cad87SWarner Losh
1262*c43cad87SWarner Losh			*)
1263*c43cad87SWarner Losh				echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1264*c43cad87SWarner Losh				exit 1
1265*c43cad87SWarner Losh				;;
1266*c43cad87SWarner Losh		esac
1267*c43cad87SWarner Losh		;;
1268*c43cad87SWarner Loshesac
1269*c43cad87SWarner Losh
1270*c43cad87SWarner Losh# Here we canonicalize certain aliases for manufacturers.
1271*c43cad87SWarner Loshcase $vendor in
1272*c43cad87SWarner Losh	digital*)
1273*c43cad87SWarner Losh		vendor=dec
1274*c43cad87SWarner Losh		;;
1275*c43cad87SWarner Losh	commodore*)
1276*c43cad87SWarner Losh		vendor=cbm
1277*c43cad87SWarner Losh		;;
1278*c43cad87SWarner Losh	*)
1279*c43cad87SWarner Losh		;;
1280*c43cad87SWarner Loshesac
1281*c43cad87SWarner Losh
1282*c43cad87SWarner Losh# Decode manufacturer-specific aliases for certain operating systems.
1283*c43cad87SWarner Losh
1284*c43cad87SWarner Loshif test x$basic_os != x
1285*c43cad87SWarner Loshthen
1286*c43cad87SWarner Losh
1287*c43cad87SWarner Losh# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
1288*c43cad87SWarner Losh# set os.
1289*c43cad87SWarner Loshcase $basic_os in
1290*c43cad87SWarner Losh	gnu/linux*)
1291*c43cad87SWarner Losh		kernel=linux
1292*c43cad87SWarner Losh		os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
1293*c43cad87SWarner Losh		;;
1294*c43cad87SWarner Losh	os2-emx)
1295*c43cad87SWarner Losh		kernel=os2
1296*c43cad87SWarner Losh		os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
1297*c43cad87SWarner Losh		;;
1298*c43cad87SWarner Losh	nto-qnx*)
1299*c43cad87SWarner Losh		kernel=nto
1300*c43cad87SWarner Losh		os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
1301*c43cad87SWarner Losh		;;
1302*c43cad87SWarner Losh	*-*)
1303*c43cad87SWarner Losh		# shellcheck disable=SC2162
1304*c43cad87SWarner Losh		IFS="-" read kernel os <<EOF
1305*c43cad87SWarner Losh$basic_os
1306*c43cad87SWarner LoshEOF
1307*c43cad87SWarner Losh		;;
1308*c43cad87SWarner Losh	# Default OS when just kernel was specified
1309*c43cad87SWarner Losh	nto*)
1310*c43cad87SWarner Losh		kernel=nto
1311*c43cad87SWarner Losh		os=$(echo $basic_os | sed -e 's|nto|qnx|')
1312*c43cad87SWarner Losh		;;
1313*c43cad87SWarner Losh	linux*)
1314*c43cad87SWarner Losh		kernel=linux
1315*c43cad87SWarner Losh		os=$(echo $basic_os | sed -e 's|linux|gnu|')
1316*c43cad87SWarner Losh		;;
1317*c43cad87SWarner Losh	*)
1318*c43cad87SWarner Losh		kernel=
1319*c43cad87SWarner Losh		os=$basic_os
1320*c43cad87SWarner Losh		;;
1321*c43cad87SWarner Loshesac
1322*c43cad87SWarner Losh
1323*c43cad87SWarner Losh# Now, normalize the OS (knowing we just have one component, it's not a kernel,
1324*c43cad87SWarner Losh# etc.)
1325*c43cad87SWarner Loshcase $os in
1326*c43cad87SWarner Losh	# First match some system type aliases that might get confused
1327*c43cad87SWarner Losh	# with valid system types.
1328*c43cad87SWarner Losh	# solaris* is a basic system type, with this one exception.
1329*c43cad87SWarner Losh	auroraux)
1330*c43cad87SWarner Losh		os=auroraux
1331*c43cad87SWarner Losh		;;
1332*c43cad87SWarner Losh	bluegene*)
1333*c43cad87SWarner Losh		os=cnk
1334*c43cad87SWarner Losh		;;
1335*c43cad87SWarner Losh	solaris1 | solaris1.*)
1336*c43cad87SWarner Losh		os=$(echo $os | sed -e 's|solaris1|sunos4|')
1337*c43cad87SWarner Losh		;;
1338*c43cad87SWarner Losh	solaris)
1339*c43cad87SWarner Losh		os=solaris2
1340*c43cad87SWarner Losh		;;
1341*c43cad87SWarner Losh	unixware*)
1342*c43cad87SWarner Losh		os=sysv4.2uw
1343*c43cad87SWarner Losh		;;
1344*c43cad87SWarner Losh	# es1800 is here to avoid being matched by es* (a different OS)
1345*c43cad87SWarner Losh	es1800*)
1346*c43cad87SWarner Losh		os=ose
1347*c43cad87SWarner Losh		;;
1348*c43cad87SWarner Losh	# Some version numbers need modification
1349*c43cad87SWarner Losh	chorusos*)
1350*c43cad87SWarner Losh		os=chorusos
1351*c43cad87SWarner Losh		;;
1352*c43cad87SWarner Losh	isc)
1353*c43cad87SWarner Losh		os=isc2.2
1354*c43cad87SWarner Losh		;;
1355*c43cad87SWarner Losh	sco6)
1356*c43cad87SWarner Losh		os=sco5v6
1357*c43cad87SWarner Losh		;;
1358*c43cad87SWarner Losh	sco5)
1359*c43cad87SWarner Losh		os=sco3.2v5
1360*c43cad87SWarner Losh		;;
1361*c43cad87SWarner Losh	sco4)
1362*c43cad87SWarner Losh		os=sco3.2v4
1363*c43cad87SWarner Losh		;;
1364*c43cad87SWarner Losh	sco3.2.[4-9]*)
1365*c43cad87SWarner Losh		os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
1366*c43cad87SWarner Losh		;;
1367*c43cad87SWarner Losh	sco*v* | scout)
1368*c43cad87SWarner Losh		# Don't match below
1369*c43cad87SWarner Losh		;;
1370*c43cad87SWarner Losh	sco*)
1371*c43cad87SWarner Losh		os=sco3.2v2
1372*c43cad87SWarner Losh		;;
1373*c43cad87SWarner Losh	psos*)
1374*c43cad87SWarner Losh		os=psos
1375*c43cad87SWarner Losh		;;
1376*c43cad87SWarner Losh	qnx*)
1377*c43cad87SWarner Losh		os=qnx
1378*c43cad87SWarner Losh		;;
1379*c43cad87SWarner Losh	hiux*)
1380*c43cad87SWarner Losh		os=hiuxwe2
1381*c43cad87SWarner Losh		;;
1382*c43cad87SWarner Losh	lynx*178)
1383*c43cad87SWarner Losh		os=lynxos178
1384*c43cad87SWarner Losh		;;
1385*c43cad87SWarner Losh	lynx*5)
1386*c43cad87SWarner Losh		os=lynxos5
1387*c43cad87SWarner Losh		;;
1388*c43cad87SWarner Losh	lynxos*)
1389*c43cad87SWarner Losh		# don't get caught up in next wildcard
1390*c43cad87SWarner Losh		;;
1391*c43cad87SWarner Losh	lynx*)
1392*c43cad87SWarner Losh		os=lynxos
1393*c43cad87SWarner Losh		;;
1394*c43cad87SWarner Losh	mac[0-9]*)
1395*c43cad87SWarner Losh		os=$(echo "$os" | sed -e 's|mac|macos|')
1396*c43cad87SWarner Losh		;;
1397*c43cad87SWarner Losh	opened*)
1398*c43cad87SWarner Losh		os=openedition
1399*c43cad87SWarner Losh		;;
1400*c43cad87SWarner Losh	os400*)
1401*c43cad87SWarner Losh		os=os400
1402*c43cad87SWarner Losh		;;
1403*c43cad87SWarner Losh	sunos5*)
1404*c43cad87SWarner Losh		os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
1405*c43cad87SWarner Losh		;;
1406*c43cad87SWarner Losh	sunos6*)
1407*c43cad87SWarner Losh		os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
1408*c43cad87SWarner Losh		;;
1409*c43cad87SWarner Losh	wince*)
1410*c43cad87SWarner Losh		os=wince
1411*c43cad87SWarner Losh		;;
1412*c43cad87SWarner Losh	utek*)
1413*c43cad87SWarner Losh		os=bsd
1414*c43cad87SWarner Losh		;;
1415*c43cad87SWarner Losh	dynix*)
1416*c43cad87SWarner Losh		os=bsd
1417*c43cad87SWarner Losh		;;
1418*c43cad87SWarner Losh	acis*)
1419*c43cad87SWarner Losh		os=aos
1420*c43cad87SWarner Losh		;;
1421*c43cad87SWarner Losh	atheos*)
1422*c43cad87SWarner Losh		os=atheos
1423*c43cad87SWarner Losh		;;
1424*c43cad87SWarner Losh	syllable*)
1425*c43cad87SWarner Losh		os=syllable
1426*c43cad87SWarner Losh		;;
1427*c43cad87SWarner Losh	386bsd)
1428*c43cad87SWarner Losh		os=bsd
1429*c43cad87SWarner Losh		;;
1430*c43cad87SWarner Losh	ctix* | uts*)
1431*c43cad87SWarner Losh		os=sysv
1432*c43cad87SWarner Losh		;;
1433*c43cad87SWarner Losh	nova*)
1434*c43cad87SWarner Losh		os=rtmk-nova
1435*c43cad87SWarner Losh		;;
1436*c43cad87SWarner Losh	ns2)
1437*c43cad87SWarner Losh		os=nextstep2
1438*c43cad87SWarner Losh		;;
1439*c43cad87SWarner Losh	# Preserve the version number of sinix5.
1440*c43cad87SWarner Losh	sinix5.*)
1441*c43cad87SWarner Losh		os=$(echo $os | sed -e 's|sinix|sysv|')
1442*c43cad87SWarner Losh		;;
1443*c43cad87SWarner Losh	sinix*)
1444*c43cad87SWarner Losh		os=sysv4
1445*c43cad87SWarner Losh		;;
1446*c43cad87SWarner Losh	tpf*)
1447*c43cad87SWarner Losh		os=tpf
1448*c43cad87SWarner Losh		;;
1449*c43cad87SWarner Losh	triton*)
1450*c43cad87SWarner Losh		os=sysv3
1451*c43cad87SWarner Losh		;;
1452*c43cad87SWarner Losh	oss*)
1453*c43cad87SWarner Losh		os=sysv3
1454*c43cad87SWarner Losh		;;
1455*c43cad87SWarner Losh	svr4*)
1456*c43cad87SWarner Losh		os=sysv4
1457*c43cad87SWarner Losh		;;
1458*c43cad87SWarner Losh	svr3)
1459*c43cad87SWarner Losh		os=sysv3
1460*c43cad87SWarner Losh		;;
1461*c43cad87SWarner Losh	sysvr4)
1462*c43cad87SWarner Losh		os=sysv4
1463*c43cad87SWarner Losh		;;
1464*c43cad87SWarner Losh	ose*)
1465*c43cad87SWarner Losh		os=ose
1466*c43cad87SWarner Losh		;;
1467*c43cad87SWarner Losh	*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1468*c43cad87SWarner Losh		os=mint
1469*c43cad87SWarner Losh		;;
1470*c43cad87SWarner Losh	dicos*)
1471*c43cad87SWarner Losh		os=dicos
1472*c43cad87SWarner Losh		;;
1473*c43cad87SWarner Losh	pikeos*)
1474*c43cad87SWarner Losh		# Until real need of OS specific support for
1475*c43cad87SWarner Losh		# particular features comes up, bare metal
1476*c43cad87SWarner Losh		# configurations are quite functional.
1477*c43cad87SWarner Losh		case $cpu in
1478*c43cad87SWarner Losh		    arm*)
1479*c43cad87SWarner Losh			os=eabi
1480*c43cad87SWarner Losh			;;
1481*c43cad87SWarner Losh		    *)
1482*c43cad87SWarner Losh			os=elf
1483*c43cad87SWarner Losh			;;
1484*c43cad87SWarner Losh		esac
1485*c43cad87SWarner Losh		;;
1486*c43cad87SWarner Losh	*)
1487*c43cad87SWarner Losh		# No normalization, but not necessarily accepted, that comes below.
1488*c43cad87SWarner Losh		;;
1489*c43cad87SWarner Loshesac
1490*c43cad87SWarner Losh
1491*c43cad87SWarner Loshelse
1492*c43cad87SWarner Losh
1493*c43cad87SWarner Losh# Here we handle the default operating systems that come with various machines.
1494*c43cad87SWarner Losh# The value should be what the vendor currently ships out the door with their
1495*c43cad87SWarner Losh# machine or put another way, the most popular os provided with the machine.
1496*c43cad87SWarner Losh
1497*c43cad87SWarner Losh# Note that if you're going to try to match "-MANUFACTURER" here (say,
1498*c43cad87SWarner Losh# "-sun"), then you have to tell the case statement up towards the top
1499*c43cad87SWarner Losh# that MANUFACTURER isn't an operating system.  Otherwise, code above
1500*c43cad87SWarner Losh# will signal an error saying that MANUFACTURER isn't an operating
1501*c43cad87SWarner Losh# system, and we'll never get to this point.
1502*c43cad87SWarner Losh
1503*c43cad87SWarner Loshkernel=
1504*c43cad87SWarner Loshcase $cpu-$vendor in
1505*c43cad87SWarner Losh	score-*)
1506*c43cad87SWarner Losh		os=elf
1507*c43cad87SWarner Losh		;;
1508*c43cad87SWarner Losh	spu-*)
1509*c43cad87SWarner Losh		os=elf
1510*c43cad87SWarner Losh		;;
1511*c43cad87SWarner Losh	*-acorn)
1512*c43cad87SWarner Losh		os=riscix1.2
1513*c43cad87SWarner Losh		;;
1514*c43cad87SWarner Losh	arm*-rebel)
1515*c43cad87SWarner Losh		kernel=linux
1516*c43cad87SWarner Losh		os=gnu
1517*c43cad87SWarner Losh		;;
1518*c43cad87SWarner Losh	arm*-semi)
1519*c43cad87SWarner Losh		os=aout
1520*c43cad87SWarner Losh		;;
1521*c43cad87SWarner Losh	c4x-* | tic4x-*)
1522*c43cad87SWarner Losh		os=coff
1523*c43cad87SWarner Losh		;;
1524*c43cad87SWarner Losh	c8051-*)
1525*c43cad87SWarner Losh		os=elf
1526*c43cad87SWarner Losh		;;
1527*c43cad87SWarner Losh	clipper-intergraph)
1528*c43cad87SWarner Losh		os=clix
1529*c43cad87SWarner Losh		;;
1530*c43cad87SWarner Losh	hexagon-*)
1531*c43cad87SWarner Losh		os=elf
1532*c43cad87SWarner Losh		;;
1533*c43cad87SWarner Losh	tic54x-*)
1534*c43cad87SWarner Losh		os=coff
1535*c43cad87SWarner Losh		;;
1536*c43cad87SWarner Losh	tic55x-*)
1537*c43cad87SWarner Losh		os=coff
1538*c43cad87SWarner Losh		;;
1539*c43cad87SWarner Losh	tic6x-*)
1540*c43cad87SWarner Losh		os=coff
1541*c43cad87SWarner Losh		;;
1542*c43cad87SWarner Losh	# This must come before the *-dec entry.
1543*c43cad87SWarner Losh	pdp10-*)
1544*c43cad87SWarner Losh		os=tops20
1545*c43cad87SWarner Losh		;;
1546*c43cad87SWarner Losh	pdp11-*)
1547*c43cad87SWarner Losh		os=none
1548*c43cad87SWarner Losh		;;
1549*c43cad87SWarner Losh	*-dec | vax-*)
1550*c43cad87SWarner Losh		os=ultrix4.2
1551*c43cad87SWarner Losh		;;
1552*c43cad87SWarner Losh	m68*-apollo)
1553*c43cad87SWarner Losh		os=domain
1554*c43cad87SWarner Losh		;;
1555*c43cad87SWarner Losh	i386-sun)
1556*c43cad87SWarner Losh		os=sunos4.0.2
1557*c43cad87SWarner Losh		;;
1558*c43cad87SWarner Losh	m68000-sun)
1559*c43cad87SWarner Losh		os=sunos3
1560*c43cad87SWarner Losh		;;
1561*c43cad87SWarner Losh	m68*-cisco)
1562*c43cad87SWarner Losh		os=aout
1563*c43cad87SWarner Losh		;;
1564*c43cad87SWarner Losh	mep-*)
1565*c43cad87SWarner Losh		os=elf
1566*c43cad87SWarner Losh		;;
1567*c43cad87SWarner Losh	mips*-cisco)
1568*c43cad87SWarner Losh		os=elf
1569*c43cad87SWarner Losh		;;
1570*c43cad87SWarner Losh	mips*-*)
1571*c43cad87SWarner Losh		os=elf
1572*c43cad87SWarner Losh		;;
1573*c43cad87SWarner Losh	or32-*)
1574*c43cad87SWarner Losh		os=coff
1575*c43cad87SWarner Losh		;;
1576*c43cad87SWarner Losh	*-tti)	# must be before sparc entry or we get the wrong os.
1577*c43cad87SWarner Losh		os=sysv3
1578*c43cad87SWarner Losh		;;
1579*c43cad87SWarner Losh	sparc-* | *-sun)
1580*c43cad87SWarner Losh		os=sunos4.1.1
1581*c43cad87SWarner Losh		;;
1582*c43cad87SWarner Losh	pru-*)
1583*c43cad87SWarner Losh		os=elf
1584*c43cad87SWarner Losh		;;
1585*c43cad87SWarner Losh	*-be)
1586*c43cad87SWarner Losh		os=beos
1587*c43cad87SWarner Losh		;;
1588*c43cad87SWarner Losh	*-ibm)
1589*c43cad87SWarner Losh		os=aix
1590*c43cad87SWarner Losh		;;
1591*c43cad87SWarner Losh	*-knuth)
1592*c43cad87SWarner Losh		os=mmixware
1593*c43cad87SWarner Losh		;;
1594*c43cad87SWarner Losh	*-wec)
1595*c43cad87SWarner Losh		os=proelf
1596*c43cad87SWarner Losh		;;
1597*c43cad87SWarner Losh	*-winbond)
1598*c43cad87SWarner Losh		os=proelf
1599*c43cad87SWarner Losh		;;
1600*c43cad87SWarner Losh	*-oki)
1601*c43cad87SWarner Losh		os=proelf
1602*c43cad87SWarner Losh		;;
1603*c43cad87SWarner Losh	*-hp)
1604*c43cad87SWarner Losh		os=hpux
1605*c43cad87SWarner Losh		;;
1606*c43cad87SWarner Losh	*-hitachi)
1607*c43cad87SWarner Losh		os=hiux
1608*c43cad87SWarner Losh		;;
1609*c43cad87SWarner Losh	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1610*c43cad87SWarner Losh		os=sysv
1611*c43cad87SWarner Losh		;;
1612*c43cad87SWarner Losh	*-cbm)
1613*c43cad87SWarner Losh		os=amigaos
1614*c43cad87SWarner Losh		;;
1615*c43cad87SWarner Losh	*-dg)
1616*c43cad87SWarner Losh		os=dgux
1617*c43cad87SWarner Losh		;;
1618*c43cad87SWarner Losh	*-dolphin)
1619*c43cad87SWarner Losh		os=sysv3
1620*c43cad87SWarner Losh		;;
1621*c43cad87SWarner Losh	m68k-ccur)
1622*c43cad87SWarner Losh		os=rtu
1623*c43cad87SWarner Losh		;;
1624*c43cad87SWarner Losh	m88k-omron*)
1625*c43cad87SWarner Losh		os=luna
1626*c43cad87SWarner Losh		;;
1627*c43cad87SWarner Losh	*-next)
1628*c43cad87SWarner Losh		os=nextstep
1629*c43cad87SWarner Losh		;;
1630*c43cad87SWarner Losh	*-sequent)
1631*c43cad87SWarner Losh		os=ptx
1632*c43cad87SWarner Losh		;;
1633*c43cad87SWarner Losh	*-crds)
1634*c43cad87SWarner Losh		os=unos
1635*c43cad87SWarner Losh		;;
1636*c43cad87SWarner Losh	*-ns)
1637*c43cad87SWarner Losh		os=genix
1638*c43cad87SWarner Losh		;;
1639*c43cad87SWarner Losh	i370-*)
1640*c43cad87SWarner Losh		os=mvs
1641*c43cad87SWarner Losh		;;
1642*c43cad87SWarner Losh	*-gould)
1643*c43cad87SWarner Losh		os=sysv
1644*c43cad87SWarner Losh		;;
1645*c43cad87SWarner Losh	*-highlevel)
1646*c43cad87SWarner Losh		os=bsd
1647*c43cad87SWarner Losh		;;
1648*c43cad87SWarner Losh	*-encore)
1649*c43cad87SWarner Losh		os=bsd
1650*c43cad87SWarner Losh		;;
1651*c43cad87SWarner Losh	*-sgi)
1652*c43cad87SWarner Losh		os=irix
1653*c43cad87SWarner Losh		;;
1654*c43cad87SWarner Losh	*-siemens)
1655*c43cad87SWarner Losh		os=sysv4
1656*c43cad87SWarner Losh		;;
1657*c43cad87SWarner Losh	*-masscomp)
1658*c43cad87SWarner Losh		os=rtu
1659*c43cad87SWarner Losh		;;
1660*c43cad87SWarner Losh	f30[01]-fujitsu | f700-fujitsu)
1661*c43cad87SWarner Losh		os=uxpv
1662*c43cad87SWarner Losh		;;
1663*c43cad87SWarner Losh	*-rom68k)
1664*c43cad87SWarner Losh		os=coff
1665*c43cad87SWarner Losh		;;
1666*c43cad87SWarner Losh	*-*bug)
1667*c43cad87SWarner Losh		os=coff
1668*c43cad87SWarner Losh		;;
1669*c43cad87SWarner Losh	*-apple)
1670*c43cad87SWarner Losh		os=macos
1671*c43cad87SWarner Losh		;;
1672*c43cad87SWarner Losh	*-atari*)
1673*c43cad87SWarner Losh		os=mint
1674*c43cad87SWarner Losh		;;
1675*c43cad87SWarner Losh	*-wrs)
1676*c43cad87SWarner Losh		os=vxworks
1677*c43cad87SWarner Losh		;;
1678*c43cad87SWarner Losh	*)
1679*c43cad87SWarner Losh		os=none
1680*c43cad87SWarner Losh		;;
1681*c43cad87SWarner Loshesac
1682*c43cad87SWarner Losh
1683*c43cad87SWarner Loshfi
1684*c43cad87SWarner Losh
1685*c43cad87SWarner Losh# Now, validate our (potentially fixed-up) OS.
1686*c43cad87SWarner Loshcase $os in
1687*c43cad87SWarner Losh	# Sometimes we do "kernel-abi", so those need to count as OSes.
1688*c43cad87SWarner Losh	musl* | newlib* | uclibc*)
1689*c43cad87SWarner Losh		;;
1690*c43cad87SWarner Losh	# Likewise for "kernel-libc"
1691*c43cad87SWarner Losh	eabi* | gnueabi*)
1692*c43cad87SWarner Losh		;;
1693*c43cad87SWarner Losh	# Now accept the basic system types.
1694*c43cad87SWarner Losh	# The portable systems comes first.
1695*c43cad87SWarner Losh	# Each alternative MUST end in a * to match a version number.
1696*c43cad87SWarner Losh	gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1697*c43cad87SWarner Losh	     | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
1698*c43cad87SWarner Losh	     | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1699*c43cad87SWarner Losh	     | sym* |  plan9* | psp* | sim* | xray* | os68k* | v88r* \
1700*c43cad87SWarner Losh	     | hiux* | abug | nacl* | netware* | windows* \
1701*c43cad87SWarner Losh	     | os9* | macos* | osx* | ios* \
1702*c43cad87SWarner Losh	     | mpw* | magic* | mmixware* | mon960* | lnews* \
1703*c43cad87SWarner Losh	     | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1704*c43cad87SWarner Losh	     | aos* | aros* | cloudabi* | sortix* | twizzler* \
1705*c43cad87SWarner Losh	     | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1706*c43cad87SWarner Losh	     | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1707*c43cad87SWarner Losh	     | mirbsd* | netbsd* | dicos* | openedition* | ose* \
1708*c43cad87SWarner Losh	     | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1709*c43cad87SWarner Losh	     | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
1710*c43cad87SWarner Losh	     | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1711*c43cad87SWarner Losh	     | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1712*c43cad87SWarner Losh	     | udi* | lites* | ieee* | go32* | aux* | hcos* \
1713*c43cad87SWarner Losh	     | chorusrdb* | cegcc* | glidix* \
1714*c43cad87SWarner Losh	     | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1715*c43cad87SWarner Losh	     | midipix* | mingw32* | mingw64* | mint* \
1716*c43cad87SWarner Losh	     | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1717*c43cad87SWarner Losh	     | interix* | uwin* | mks* | rhapsody* | darwin* \
1718*c43cad87SWarner Losh	     | openstep* | oskit* | conix* | pw32* | nonstopux* \
1719*c43cad87SWarner Losh	     | storm-chaos* | tops10* | tenex* | tops20* | its* \
1720*c43cad87SWarner Losh	     | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
1721*c43cad87SWarner Losh	     | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
1722*c43cad87SWarner Losh	     | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1723*c43cad87SWarner Losh	     | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1724*c43cad87SWarner Losh	     | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1725*c43cad87SWarner Losh	     | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1726*c43cad87SWarner Losh	     | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
1727*c43cad87SWarner Losh		;;
1728*c43cad87SWarner Losh	# This one is extra strict with allowed versions
1729*c43cad87SWarner Losh	sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
1730*c43cad87SWarner Losh		# Don't forget version if it is 3.2v4 or newer.
1731*c43cad87SWarner Losh		;;
1732*c43cad87SWarner Losh	none)
1733*c43cad87SWarner Losh		;;
1734*c43cad87SWarner Losh	*)
1735*c43cad87SWarner Losh		echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
1736*c43cad87SWarner Losh		exit 1
1737*c43cad87SWarner Losh		;;
1738*c43cad87SWarner Loshesac
1739*c43cad87SWarner Losh
1740*c43cad87SWarner Losh# As a final step for OS-related things, validate the OS-kernel combination
1741*c43cad87SWarner Losh# (given a valid OS), if there is a kernel.
1742*c43cad87SWarner Loshcase $kernel-$os in
1743*c43cad87SWarner Losh	linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
1744*c43cad87SWarner Losh		;;
1745*c43cad87SWarner Losh	uclinux-uclibc* )
1746*c43cad87SWarner Losh		;;
1747*c43cad87SWarner Losh	-dietlibc* | -newlib* | -musl* | -uclibc* )
1748*c43cad87SWarner Losh		# These are just libc implementations, not actual OSes, and thus
1749*c43cad87SWarner Losh		# require a kernel.
1750*c43cad87SWarner Losh		echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
1751*c43cad87SWarner Losh		exit 1
1752*c43cad87SWarner Losh		;;
1753*c43cad87SWarner Losh	kfreebsd*-gnu* | kopensolaris*-gnu*)
1754*c43cad87SWarner Losh		;;
1755*c43cad87SWarner Losh	nto-qnx*)
1756*c43cad87SWarner Losh		;;
1757*c43cad87SWarner Losh	os2-emx)
1758*c43cad87SWarner Losh		;;
1759*c43cad87SWarner Losh	*-eabi* | *-gnueabi*)
1760*c43cad87SWarner Losh		;;
1761*c43cad87SWarner Losh	-*)
1762*c43cad87SWarner Losh		# Blank kernel with real OS is always fine.
1763*c43cad87SWarner Losh		;;
1764*c43cad87SWarner Losh	*-*)
1765*c43cad87SWarner Losh		echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
1766*c43cad87SWarner Losh		exit 1
1767*c43cad87SWarner Losh		;;
1768*c43cad87SWarner Loshesac
1769*c43cad87SWarner Losh
1770*c43cad87SWarner Losh# Here we handle the case where we know the os, and the CPU type, but not the
1771*c43cad87SWarner Losh# manufacturer.  We pick the logical manufacturer.
1772*c43cad87SWarner Loshcase $vendor in
1773*c43cad87SWarner Losh	unknown)
1774*c43cad87SWarner Losh		case $cpu-$os in
1775*c43cad87SWarner Losh			*-riscix*)
1776*c43cad87SWarner Losh				vendor=acorn
1777*c43cad87SWarner Losh				;;
1778*c43cad87SWarner Losh			*-sunos*)
1779*c43cad87SWarner Losh				vendor=sun
1780*c43cad87SWarner Losh				;;
1781*c43cad87SWarner Losh			*-cnk* | *-aix*)
1782*c43cad87SWarner Losh				vendor=ibm
1783*c43cad87SWarner Losh				;;
1784*c43cad87SWarner Losh			*-beos*)
1785*c43cad87SWarner Losh				vendor=be
1786*c43cad87SWarner Losh				;;
1787*c43cad87SWarner Losh			*-hpux*)
1788*c43cad87SWarner Losh				vendor=hp
1789*c43cad87SWarner Losh				;;
1790*c43cad87SWarner Losh			*-mpeix*)
1791*c43cad87SWarner Losh				vendor=hp
1792*c43cad87SWarner Losh				;;
1793*c43cad87SWarner Losh			*-hiux*)
1794*c43cad87SWarner Losh				vendor=hitachi
1795*c43cad87SWarner Losh				;;
1796*c43cad87SWarner Losh			*-unos*)
1797*c43cad87SWarner Losh				vendor=crds
1798*c43cad87SWarner Losh				;;
1799*c43cad87SWarner Losh			*-dgux*)
1800*c43cad87SWarner Losh				vendor=dg
1801*c43cad87SWarner Losh				;;
1802*c43cad87SWarner Losh			*-luna*)
1803*c43cad87SWarner Losh				vendor=omron
1804*c43cad87SWarner Losh				;;
1805*c43cad87SWarner Losh			*-genix*)
1806*c43cad87SWarner Losh				vendor=ns
1807*c43cad87SWarner Losh				;;
1808*c43cad87SWarner Losh			*-clix*)
1809*c43cad87SWarner Losh				vendor=intergraph
1810*c43cad87SWarner Losh				;;
1811*c43cad87SWarner Losh			*-mvs* | *-opened*)
1812*c43cad87SWarner Losh				vendor=ibm
1813*c43cad87SWarner Losh				;;
1814*c43cad87SWarner Losh			*-os400*)
1815*c43cad87SWarner Losh				vendor=ibm
1816*c43cad87SWarner Losh				;;
1817*c43cad87SWarner Losh			s390-* | s390x-*)
1818*c43cad87SWarner Losh				vendor=ibm
1819*c43cad87SWarner Losh				;;
1820*c43cad87SWarner Losh			*-ptx*)
1821*c43cad87SWarner Losh				vendor=sequent
1822*c43cad87SWarner Losh				;;
1823*c43cad87SWarner Losh			*-tpf*)
1824*c43cad87SWarner Losh				vendor=ibm
1825*c43cad87SWarner Losh				;;
1826*c43cad87SWarner Losh			*-vxsim* | *-vxworks* | *-windiss*)
1827*c43cad87SWarner Losh				vendor=wrs
1828*c43cad87SWarner Losh				;;
1829*c43cad87SWarner Losh			*-aux*)
1830*c43cad87SWarner Losh				vendor=apple
1831*c43cad87SWarner Losh				;;
1832*c43cad87SWarner Losh			*-hms*)
1833*c43cad87SWarner Losh				vendor=hitachi
1834*c43cad87SWarner Losh				;;
1835*c43cad87SWarner Losh			*-mpw* | *-macos*)
1836*c43cad87SWarner Losh				vendor=apple
1837*c43cad87SWarner Losh				;;
1838*c43cad87SWarner Losh			*-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
1839*c43cad87SWarner Losh				vendor=atari
1840*c43cad87SWarner Losh				;;
1841*c43cad87SWarner Losh			*-vos*)
1842*c43cad87SWarner Losh				vendor=stratus
1843*c43cad87SWarner Losh				;;
1844*c43cad87SWarner Losh		esac
1845*c43cad87SWarner Losh		;;
1846*c43cad87SWarner Loshesac
1847*c43cad87SWarner Losh
1848*c43cad87SWarner Loshecho "$cpu-$vendor-${kernel:+$kernel-}$os"
1849*c43cad87SWarner Loshexit
1850*c43cad87SWarner Losh
1851*c43cad87SWarner Losh# Local variables:
1852*c43cad87SWarner Losh# eval: (add-hook 'before-save-hook 'time-stamp)
1853*c43cad87SWarner Losh# time-stamp-start: "timestamp='"
1854*c43cad87SWarner Losh# time-stamp-format: "%:y-%02m-%02d"
1855*c43cad87SWarner Losh# time-stamp-end: "'"
1856*c43cad87SWarner Losh# End:
1857*c43cad87SWarner Losh||||||| dec341af7695
1858*c43cad87SWarner Losh=======
1859bf6039f0SWarner Losh#! /bin/sh
1860bf6039f0SWarner Losh# Configuration validation subroutine script.
1861bf6039f0SWarner Losh#   Copyright 1992-2016 Free Software Foundation, Inc.
1862bf6039f0SWarner Losh
1863bf6039f0SWarner Loshtimestamp='2016-11-04'
1864bf6039f0SWarner Losh
1865bf6039f0SWarner Losh# This file is free software; you can redistribute it and/or modify it
1866bf6039f0SWarner Losh# under the terms of the GNU General Public License as published by
1867bf6039f0SWarner Losh# the Free Software Foundation; either version 3 of the License, or
1868bf6039f0SWarner Losh# (at your option) any later version.
1869bf6039f0SWarner Losh#
1870bf6039f0SWarner Losh# This program is distributed in the hope that it will be useful, but
1871bf6039f0SWarner Losh# WITHOUT ANY WARRANTY; without even the implied warranty of
1872bf6039f0SWarner Losh# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1873bf6039f0SWarner Losh# General Public License for more details.
1874bf6039f0SWarner Losh#
1875bf6039f0SWarner Losh# You should have received a copy of the GNU General Public License
1876bf6039f0SWarner Losh# along with this program; if not, see <http://www.gnu.org/licenses/>.
1877bf6039f0SWarner Losh#
1878bf6039f0SWarner Losh# As a special exception to the GNU General Public License, if you
1879bf6039f0SWarner Losh# distribute this file as part of a program that contains a
1880bf6039f0SWarner Losh# configuration script generated by Autoconf, you may include it under
1881bf6039f0SWarner Losh# the same distribution terms that you use for the rest of that
1882bf6039f0SWarner Losh# program.  This Exception is an additional permission under section 7
1883bf6039f0SWarner Losh# of the GNU General Public License, version 3 ("GPLv3").
1884bf6039f0SWarner Losh
1885bf6039f0SWarner Losh
1886bf6039f0SWarner Losh# Please send patches to <config-patches@gnu.org>.
1887bf6039f0SWarner Losh#
1888bf6039f0SWarner Losh# Configuration subroutine to validate and canonicalize a configuration type.
1889bf6039f0SWarner Losh# Supply the specified configuration type as an argument.
1890bf6039f0SWarner Losh# If it is invalid, we print an error message on stderr and exit with code 1.
1891bf6039f0SWarner Losh# Otherwise, we print the canonical config type on stdout and succeed.
1892bf6039f0SWarner Losh
1893bf6039f0SWarner Losh# You can get the latest version of this script from:
1894bf6039f0SWarner Losh# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
1895bf6039f0SWarner Losh
1896bf6039f0SWarner Losh# This file is supposed to be the same for all GNU packages
1897bf6039f0SWarner Losh# and recognize all the CPU types, system types and aliases
1898bf6039f0SWarner Losh# that are meaningful with *any* GNU software.
1899bf6039f0SWarner Losh# Each package is responsible for reporting which valid configurations
1900bf6039f0SWarner Losh# it does not support.  The user should be able to distinguish
1901bf6039f0SWarner Losh# a failure to support a valid configuration from a meaningless
1902bf6039f0SWarner Losh# configuration.
1903bf6039f0SWarner Losh
1904bf6039f0SWarner Losh# The goal of this file is to map all the various variations of a given
1905bf6039f0SWarner Losh# machine specification into a single specification in the form:
1906bf6039f0SWarner Losh#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
1907bf6039f0SWarner Losh# or in some cases, the newer four-part form:
1908bf6039f0SWarner Losh#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
1909bf6039f0SWarner Losh# It is wrong to echo any other type of specification.
1910bf6039f0SWarner Losh
1911bf6039f0SWarner Loshme=`echo "$0" | sed -e 's,.*/,,'`
1912bf6039f0SWarner Losh
1913bf6039f0SWarner Loshusage="\
1914bf6039f0SWarner LoshUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
1915bf6039f0SWarner Losh
1916bf6039f0SWarner LoshCanonicalize a configuration name.
1917bf6039f0SWarner Losh
1918bf6039f0SWarner LoshOperation modes:
1919bf6039f0SWarner Losh  -h, --help         print this help, then exit
1920bf6039f0SWarner Losh  -t, --time-stamp   print date of last modification, then exit
1921bf6039f0SWarner Losh  -v, --version      print version number, then exit
1922bf6039f0SWarner Losh
1923bf6039f0SWarner LoshReport bugs and patches to <config-patches@gnu.org>."
1924bf6039f0SWarner Losh
1925bf6039f0SWarner Loshversion="\
1926bf6039f0SWarner LoshGNU config.sub ($timestamp)
1927bf6039f0SWarner Losh
1928bf6039f0SWarner LoshCopyright 1992-2016 Free Software Foundation, Inc.
1929bf6039f0SWarner Losh
1930bf6039f0SWarner LoshThis is free software; see the source for copying conditions.  There is NO
1931bf6039f0SWarner Loshwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
1932bf6039f0SWarner Losh
1933bf6039f0SWarner Loshhelp="
1934bf6039f0SWarner LoshTry \`$me --help' for more information."
1935bf6039f0SWarner Losh
1936bf6039f0SWarner Losh# Parse command line
1937bf6039f0SWarner Loshwhile test $# -gt 0 ; do
1938bf6039f0SWarner Losh  case $1 in
1939bf6039f0SWarner Losh    --time-stamp | --time* | -t )
1940bf6039f0SWarner Losh       echo "$timestamp" ; exit ;;
1941bf6039f0SWarner Losh    --version | -v )
1942bf6039f0SWarner Losh       echo "$version" ; exit ;;
1943bf6039f0SWarner Losh    --help | --h* | -h )
1944bf6039f0SWarner Losh       echo "$usage"; exit ;;
1945bf6039f0SWarner Losh    -- )     # Stop option processing
1946bf6039f0SWarner Losh       shift; break ;;
1947bf6039f0SWarner Losh    - )	# Use stdin as input.
1948bf6039f0SWarner Losh       break ;;
1949bf6039f0SWarner Losh    -* )
1950bf6039f0SWarner Losh       echo "$me: invalid option $1$help"
1951bf6039f0SWarner Losh       exit 1 ;;
1952bf6039f0SWarner Losh
1953bf6039f0SWarner Losh    *local*)
1954bf6039f0SWarner Losh       # First pass through any local machine types.
1955bf6039f0SWarner Losh       echo $1
1956bf6039f0SWarner Losh       exit ;;
1957bf6039f0SWarner Losh
1958bf6039f0SWarner Losh    * )
1959bf6039f0SWarner Losh       break ;;
1960bf6039f0SWarner Losh  esac
1961bf6039f0SWarner Loshdone
1962bf6039f0SWarner Losh
1963bf6039f0SWarner Loshcase $# in
1964bf6039f0SWarner Losh 0) echo "$me: missing argument$help" >&2
1965bf6039f0SWarner Losh    exit 1;;
1966bf6039f0SWarner Losh 1) ;;
1967bf6039f0SWarner Losh *) echo "$me: too many arguments$help" >&2
1968bf6039f0SWarner Losh    exit 1;;
1969bf6039f0SWarner Loshesac
1970bf6039f0SWarner Losh
1971bf6039f0SWarner Losh# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1972bf6039f0SWarner Losh# Here we must recognize all the valid KERNEL-OS combinations.
1973bf6039f0SWarner Loshmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1974bf6039f0SWarner Loshcase $maybe_os in
1975bf6039f0SWarner Losh  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1976bf6039f0SWarner Losh  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1977bf6039f0SWarner Losh  knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
1978bf6039f0SWarner Losh  kopensolaris*-gnu* | cloudabi*-eabi* | \
1979bf6039f0SWarner Losh  storm-chaos* | os2-emx* | rtmk-nova*)
1980bf6039f0SWarner Losh    os=-$maybe_os
1981bf6039f0SWarner Losh    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1982bf6039f0SWarner Losh    ;;
1983bf6039f0SWarner Losh  android-linux)
1984bf6039f0SWarner Losh    os=-linux-android
1985bf6039f0SWarner Losh    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1986bf6039f0SWarner Losh    ;;
1987bf6039f0SWarner Losh  *)
1988bf6039f0SWarner Losh    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1989bf6039f0SWarner Losh    if [ $basic_machine != $1 ]
1990bf6039f0SWarner Losh    then os=`echo $1 | sed 's/.*-/-/'`
1991bf6039f0SWarner Losh    else os=; fi
1992bf6039f0SWarner Losh    ;;
1993bf6039f0SWarner Loshesac
1994bf6039f0SWarner Losh
1995bf6039f0SWarner Losh### Let's recognize common machines as not being operating systems so
1996bf6039f0SWarner Losh### that things like config.sub decstation-3100 work.  We also
1997bf6039f0SWarner Losh### recognize some manufacturers as not being operating systems, so we
1998bf6039f0SWarner Losh### can provide default operating systems below.
1999bf6039f0SWarner Loshcase $os in
2000bf6039f0SWarner Losh	-sun*os*)
2001bf6039f0SWarner Losh		# Prevent following clause from handling this invalid input.
2002bf6039f0SWarner Losh		;;
2003bf6039f0SWarner Losh	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
2004bf6039f0SWarner Losh	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
2005bf6039f0SWarner Losh	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
2006bf6039f0SWarner Losh	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
2007bf6039f0SWarner Losh	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
2008bf6039f0SWarner Losh	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
2009bf6039f0SWarner Losh	-apple | -axis | -knuth | -cray | -microblaze*)
2010bf6039f0SWarner Losh		os=
2011bf6039f0SWarner Losh		basic_machine=$1
2012bf6039f0SWarner Losh		;;
2013bf6039f0SWarner Losh	-bluegene*)
2014bf6039f0SWarner Losh		os=-cnk
2015bf6039f0SWarner Losh		;;
2016bf6039f0SWarner Losh	-sim | -cisco | -oki | -wec | -winbond)
2017bf6039f0SWarner Losh		os=
2018bf6039f0SWarner Losh		basic_machine=$1
2019bf6039f0SWarner Losh		;;
2020bf6039f0SWarner Losh	-scout)
2021bf6039f0SWarner Losh		;;
2022bf6039f0SWarner Losh	-wrs)
2023bf6039f0SWarner Losh		os=-vxworks
2024bf6039f0SWarner Losh		basic_machine=$1
2025bf6039f0SWarner Losh		;;
2026bf6039f0SWarner Losh	-chorusos*)
2027bf6039f0SWarner Losh		os=-chorusos
2028bf6039f0SWarner Losh		basic_machine=$1
2029bf6039f0SWarner Losh		;;
2030bf6039f0SWarner Losh	-chorusrdb)
2031bf6039f0SWarner Losh		os=-chorusrdb
2032bf6039f0SWarner Losh		basic_machine=$1
2033bf6039f0SWarner Losh		;;
2034bf6039f0SWarner Losh	-hiux*)
2035bf6039f0SWarner Losh		os=-hiuxwe2
2036bf6039f0SWarner Losh		;;
2037bf6039f0SWarner Losh	-sco6)
2038bf6039f0SWarner Losh		os=-sco5v6
2039bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2040bf6039f0SWarner Losh		;;
2041bf6039f0SWarner Losh	-sco5)
2042bf6039f0SWarner Losh		os=-sco3.2v5
2043bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2044bf6039f0SWarner Losh		;;
2045bf6039f0SWarner Losh	-sco4)
2046bf6039f0SWarner Losh		os=-sco3.2v4
2047bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2048bf6039f0SWarner Losh		;;
2049bf6039f0SWarner Losh	-sco3.2.[4-9]*)
2050bf6039f0SWarner Losh		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
2051bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2052bf6039f0SWarner Losh		;;
2053bf6039f0SWarner Losh	-sco3.2v[4-9]*)
2054bf6039f0SWarner Losh		# Don't forget version if it is 3.2v4 or newer.
2055bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2056bf6039f0SWarner Losh		;;
2057bf6039f0SWarner Losh	-sco5v6*)
2058bf6039f0SWarner Losh		# Don't forget version if it is 3.2v4 or newer.
2059bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2060bf6039f0SWarner Losh		;;
2061bf6039f0SWarner Losh	-sco*)
2062bf6039f0SWarner Losh		os=-sco3.2v2
2063bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2064bf6039f0SWarner Losh		;;
2065bf6039f0SWarner Losh	-udk*)
2066bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2067bf6039f0SWarner Losh		;;
2068bf6039f0SWarner Losh	-isc)
2069bf6039f0SWarner Losh		os=-isc2.2
2070bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2071bf6039f0SWarner Losh		;;
2072bf6039f0SWarner Losh	-clix*)
2073bf6039f0SWarner Losh		basic_machine=clipper-intergraph
2074bf6039f0SWarner Losh		;;
2075bf6039f0SWarner Losh	-isc*)
2076bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2077bf6039f0SWarner Losh		;;
2078bf6039f0SWarner Losh	-lynx*178)
2079bf6039f0SWarner Losh		os=-lynxos178
2080bf6039f0SWarner Losh		;;
2081bf6039f0SWarner Losh	-lynx*5)
2082bf6039f0SWarner Losh		os=-lynxos5
2083bf6039f0SWarner Losh		;;
2084bf6039f0SWarner Losh	-lynx*)
2085bf6039f0SWarner Losh		os=-lynxos
2086bf6039f0SWarner Losh		;;
2087bf6039f0SWarner Losh	-ptx*)
2088bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2089bf6039f0SWarner Losh		;;
2090bf6039f0SWarner Losh	-windowsnt*)
2091bf6039f0SWarner Losh		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2092bf6039f0SWarner Losh		;;
2093bf6039f0SWarner Losh	-psos*)
2094bf6039f0SWarner Losh		os=-psos
2095bf6039f0SWarner Losh		;;
2096bf6039f0SWarner Losh	-mint | -mint[0-9]*)
2097bf6039f0SWarner Losh		basic_machine=m68k-atari
2098bf6039f0SWarner Losh		os=-mint
2099bf6039f0SWarner Losh		;;
2100bf6039f0SWarner Loshesac
2101bf6039f0SWarner Losh
2102bf6039f0SWarner Losh# Decode aliases for certain CPU-COMPANY combinations.
2103bf6039f0SWarner Loshcase $basic_machine in
2104bf6039f0SWarner Losh	# Recognize the basic CPU types without company name.
2105bf6039f0SWarner Losh	# Some are omitted here because they have special meanings below.
2106bf6039f0SWarner Losh	1750a | 580 \
2107bf6039f0SWarner Losh	| a29k \
2108bf6039f0SWarner Losh	| aarch64 | aarch64_be \
2109bf6039f0SWarner Losh	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2110bf6039f0SWarner Losh	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2111bf6039f0SWarner Losh	| am33_2.0 \
2112bf6039f0SWarner Losh	| arc | arceb \
2113bf6039f0SWarner Losh	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2114bf6039f0SWarner Losh	| avr | avr32 \
2115bf6039f0SWarner Losh	| ba \
2116bf6039f0SWarner Losh	| be32 | be64 \
2117bf6039f0SWarner Losh	| bfin \
2118bf6039f0SWarner Losh	| c4x | c8051 | clipper \
2119bf6039f0SWarner Losh	| d10v | d30v | dlx | dsp16xx \
2120bf6039f0SWarner Losh	| e2k | epiphany \
2121bf6039f0SWarner Losh	| fido | fr30 | frv | ft32 \
2122bf6039f0SWarner Losh	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2123bf6039f0SWarner Losh	| hexagon \
2124bf6039f0SWarner Losh	| i370 | i860 | i960 | ia64 \
2125bf6039f0SWarner Losh	| ip2k | iq2000 \
2126bf6039f0SWarner Losh	| k1om \
2127bf6039f0SWarner Losh	| le32 | le64 \
2128bf6039f0SWarner Losh	| lm32 \
2129bf6039f0SWarner Losh	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2130bf6039f0SWarner Losh	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2131bf6039f0SWarner Losh	| mips | mipsbe | mipseb | mipsel | mipsle \
2132bf6039f0SWarner Losh	| mips16 \
2133bf6039f0SWarner Losh	| mips64 | mips64el \
2134bf6039f0SWarner Losh	| mips64octeon | mips64octeonel \
2135bf6039f0SWarner Losh	| mips64orion | mips64orionel \
2136bf6039f0SWarner Losh	| mips64r5900 | mips64r5900el \
2137bf6039f0SWarner Losh	| mips64vr | mips64vrel \
2138bf6039f0SWarner Losh	| mips64vr4100 | mips64vr4100el \
2139bf6039f0SWarner Losh	| mips64vr4300 | mips64vr4300el \
2140bf6039f0SWarner Losh	| mips64vr5000 | mips64vr5000el \
2141bf6039f0SWarner Losh	| mips64vr5900 | mips64vr5900el \
2142bf6039f0SWarner Losh	| mipsisa32 | mipsisa32el \
2143bf6039f0SWarner Losh	| mipsisa32r2 | mipsisa32r2el \
2144bf6039f0SWarner Losh	| mipsisa32r6 | mipsisa32r6el \
2145bf6039f0SWarner Losh	| mipsisa64 | mipsisa64el \
2146bf6039f0SWarner Losh	| mipsisa64r2 | mipsisa64r2el \
2147bf6039f0SWarner Losh	| mipsisa64r6 | mipsisa64r6el \
2148bf6039f0SWarner Losh	| mipsisa64sb1 | mipsisa64sb1el \
2149bf6039f0SWarner Losh	| mipsisa64sr71k | mipsisa64sr71kel \
2150bf6039f0SWarner Losh	| mipsr5900 | mipsr5900el \
2151bf6039f0SWarner Losh	| mipstx39 | mipstx39el \
2152bf6039f0SWarner Losh	| mn10200 | mn10300 \
2153bf6039f0SWarner Losh	| moxie \
2154bf6039f0SWarner Losh	| mt \
2155bf6039f0SWarner Losh	| msp430 \
2156bf6039f0SWarner Losh	| nds32 | nds32le | nds32be \
2157bf6039f0SWarner Losh	| nios | nios2 | nios2eb | nios2el \
2158bf6039f0SWarner Losh	| ns16k | ns32k \
2159bf6039f0SWarner Losh	| open8 | or1k | or1knd | or32 \
2160bf6039f0SWarner Losh	| pdp10 | pdp11 | pj | pjl \
2161bf6039f0SWarner Losh	| powerpc | powerpc64 | powerpc64le | powerpcle \
2162bf6039f0SWarner Losh	| pru \
2163bf6039f0SWarner Losh	| pyramid \
2164bf6039f0SWarner Losh	| riscv32 | riscv64 \
2165bf6039f0SWarner Losh	| rl78 | rx \
2166bf6039f0SWarner Losh	| score \
2167bf6039f0SWarner Losh	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2168bf6039f0SWarner Losh	| sh64 | sh64le \
2169bf6039f0SWarner Losh	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2170bf6039f0SWarner Losh	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2171bf6039f0SWarner Losh	| spu \
2172bf6039f0SWarner Losh	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
2173bf6039f0SWarner Losh	| ubicom32 \
2174bf6039f0SWarner Losh	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
2175bf6039f0SWarner Losh	| visium \
2176bf6039f0SWarner Losh	| we32k \
2177bf6039f0SWarner Losh	| x86 | xc16x | xstormy16 | xtensa \
2178bf6039f0SWarner Losh	| z8k | z80)
2179bf6039f0SWarner Losh		basic_machine=$basic_machine-unknown
2180bf6039f0SWarner Losh		;;
2181bf6039f0SWarner Losh	c54x)
2182bf6039f0SWarner Losh		basic_machine=tic54x-unknown
2183bf6039f0SWarner Losh		;;
2184bf6039f0SWarner Losh	c55x)
2185bf6039f0SWarner Losh		basic_machine=tic55x-unknown
2186bf6039f0SWarner Losh		;;
2187bf6039f0SWarner Losh	c6x)
2188bf6039f0SWarner Losh		basic_machine=tic6x-unknown
2189bf6039f0SWarner Losh		;;
2190bf6039f0SWarner Losh	leon|leon[3-9])
2191bf6039f0SWarner Losh		basic_machine=sparc-$basic_machine
2192bf6039f0SWarner Losh		;;
2193bf6039f0SWarner Losh	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
2194bf6039f0SWarner Losh		basic_machine=$basic_machine-unknown
2195bf6039f0SWarner Losh		os=-none
2196bf6039f0SWarner Losh		;;
2197bf6039f0SWarner Losh	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2198bf6039f0SWarner Losh		;;
2199bf6039f0SWarner Losh	ms1)
2200bf6039f0SWarner Losh		basic_machine=mt-unknown
2201bf6039f0SWarner Losh		;;
2202bf6039f0SWarner Losh
2203bf6039f0SWarner Losh	strongarm | thumb | xscale)
2204bf6039f0SWarner Losh		basic_machine=arm-unknown
2205bf6039f0SWarner Losh		;;
2206bf6039f0SWarner Losh	xgate)
2207bf6039f0SWarner Losh		basic_machine=$basic_machine-unknown
2208bf6039f0SWarner Losh		os=-none
2209bf6039f0SWarner Losh		;;
2210bf6039f0SWarner Losh	xscaleeb)
2211bf6039f0SWarner Losh		basic_machine=armeb-unknown
2212bf6039f0SWarner Losh		;;
2213bf6039f0SWarner Losh
2214bf6039f0SWarner Losh	xscaleel)
2215bf6039f0SWarner Losh		basic_machine=armel-unknown
2216bf6039f0SWarner Losh		;;
2217bf6039f0SWarner Losh
2218bf6039f0SWarner Losh	# We use `pc' rather than `unknown'
2219bf6039f0SWarner Losh	# because (1) that's what they normally are, and
2220bf6039f0SWarner Losh	# (2) the word "unknown" tends to confuse beginning users.
2221bf6039f0SWarner Losh	i*86 | x86_64)
2222bf6039f0SWarner Losh	  basic_machine=$basic_machine-pc
2223bf6039f0SWarner Losh	  ;;
2224bf6039f0SWarner Losh	# Object if more than one company name word.
2225bf6039f0SWarner Losh	*-*-*)
2226bf6039f0SWarner Losh		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
2227bf6039f0SWarner Losh		exit 1
2228bf6039f0SWarner Losh		;;
2229bf6039f0SWarner Losh	# Recognize the basic CPU types with company name.
2230bf6039f0SWarner Losh	580-* \
2231bf6039f0SWarner Losh	| a29k-* \
2232bf6039f0SWarner Losh	| aarch64-* | aarch64_be-* \
2233bf6039f0SWarner Losh	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
2234bf6039f0SWarner Losh	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
2235bf6039f0SWarner Losh	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
2236bf6039f0SWarner Losh	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
2237bf6039f0SWarner Losh	| avr-* | avr32-* \
2238bf6039f0SWarner Losh	| ba-* \
2239bf6039f0SWarner Losh	| be32-* | be64-* \
2240bf6039f0SWarner Losh	| bfin-* | bs2000-* \
2241bf6039f0SWarner Losh	| c[123]* | c30-* | [cjt]90-* | c4x-* \
2242bf6039f0SWarner Losh	| c8051-* | clipper-* | craynv-* | cydra-* \
2243bf6039f0SWarner Losh	| d10v-* | d30v-* | dlx-* \
2244bf6039f0SWarner Losh	| e2k-* | elxsi-* \
2245bf6039f0SWarner Losh	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
2246bf6039f0SWarner Losh	| h8300-* | h8500-* \
2247bf6039f0SWarner Losh	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
2248bf6039f0SWarner Losh	| hexagon-* \
2249bf6039f0SWarner Losh	| i*86-* | i860-* | i960-* | ia64-* \
2250bf6039f0SWarner Losh	| ip2k-* | iq2000-* \
2251bf6039f0SWarner Losh	| k1om-* \
2252bf6039f0SWarner Losh	| le32-* | le64-* \
2253bf6039f0SWarner Losh	| lm32-* \
2254bf6039f0SWarner Losh	| m32c-* | m32r-* | m32rle-* \
2255bf6039f0SWarner Losh	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
2256bf6039f0SWarner Losh	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
2257bf6039f0SWarner Losh	| microblaze-* | microblazeel-* \
2258bf6039f0SWarner Losh	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
2259bf6039f0SWarner Losh	| mips16-* \
2260bf6039f0SWarner Losh	| mips64-* | mips64el-* \
2261bf6039f0SWarner Losh	| mips64octeon-* | mips64octeonel-* \
2262bf6039f0SWarner Losh	| mips64orion-* | mips64orionel-* \
2263bf6039f0SWarner Losh	| mips64r5900-* | mips64r5900el-* \
2264bf6039f0SWarner Losh	| mips64vr-* | mips64vrel-* \
2265bf6039f0SWarner Losh	| mips64vr4100-* | mips64vr4100el-* \
2266bf6039f0SWarner Losh	| mips64vr4300-* | mips64vr4300el-* \
2267bf6039f0SWarner Losh	| mips64vr5000-* | mips64vr5000el-* \
2268bf6039f0SWarner Losh	| mips64vr5900-* | mips64vr5900el-* \
2269bf6039f0SWarner Losh	| mipsisa32-* | mipsisa32el-* \
2270bf6039f0SWarner Losh	| mipsisa32r2-* | mipsisa32r2el-* \
2271bf6039f0SWarner Losh	| mipsisa32r6-* | mipsisa32r6el-* \
2272bf6039f0SWarner Losh	| mipsisa64-* | mipsisa64el-* \
2273bf6039f0SWarner Losh	| mipsisa64r2-* | mipsisa64r2el-* \
2274bf6039f0SWarner Losh	| mipsisa64r6-* | mipsisa64r6el-* \
2275bf6039f0SWarner Losh	| mipsisa64sb1-* | mipsisa64sb1el-* \
2276bf6039f0SWarner Losh	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
2277bf6039f0SWarner Losh	| mipsr5900-* | mipsr5900el-* \
2278bf6039f0SWarner Losh	| mipstx39-* | mipstx39el-* \
2279bf6039f0SWarner Losh	| mmix-* \
2280bf6039f0SWarner Losh	| mt-* \
2281bf6039f0SWarner Losh	| msp430-* \
2282bf6039f0SWarner Losh	| nds32-* | nds32le-* | nds32be-* \
2283bf6039f0SWarner Losh	| nios-* | nios2-* | nios2eb-* | nios2el-* \
2284bf6039f0SWarner Losh	| none-* | np1-* | ns16k-* | ns32k-* \
2285bf6039f0SWarner Losh	| open8-* \
2286bf6039f0SWarner Losh	| or1k*-* \
2287bf6039f0SWarner Losh	| orion-* \
2288bf6039f0SWarner Losh	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
2289bf6039f0SWarner Losh	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
2290bf6039f0SWarner Losh	| pru-* \
2291bf6039f0SWarner Losh	| pyramid-* \
2292bf6039f0SWarner Losh	| riscv32-* | riscv64-* \
2293bf6039f0SWarner Losh	| rl78-* | romp-* | rs6000-* | rx-* \
2294bf6039f0SWarner Losh	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
2295bf6039f0SWarner Losh	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
2296bf6039f0SWarner Losh	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
2297bf6039f0SWarner Losh	| sparclite-* \
2298bf6039f0SWarner Losh	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
2299bf6039f0SWarner Losh	| tahoe-* \
2300bf6039f0SWarner Losh	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
2301bf6039f0SWarner Losh	| tile*-* \
2302bf6039f0SWarner Losh	| tron-* \
2303bf6039f0SWarner Losh	| ubicom32-* \
2304bf6039f0SWarner Losh	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
2305bf6039f0SWarner Losh	| vax-* \
2306bf6039f0SWarner Losh	| visium-* \
2307bf6039f0SWarner Losh	| we32k-* \
2308bf6039f0SWarner Losh	| x86-* | x86_64-* | xc16x-* | xps100-* \
2309bf6039f0SWarner Losh	| xstormy16-* | xtensa*-* \
2310bf6039f0SWarner Losh	| ymp-* \
2311bf6039f0SWarner Losh	| z8k-* | z80-*)
2312bf6039f0SWarner Losh		;;
2313bf6039f0SWarner Losh	# Recognize the basic CPU types without company name, with glob match.
2314bf6039f0SWarner Losh	xtensa*)
2315bf6039f0SWarner Losh		basic_machine=$basic_machine-unknown
2316bf6039f0SWarner Losh		;;
2317bf6039f0SWarner Losh	# Recognize the various machine names and aliases which stand
2318bf6039f0SWarner Losh	# for a CPU type and a company and sometimes even an OS.
2319bf6039f0SWarner Losh	386bsd)
2320bf6039f0SWarner Losh		basic_machine=i386-unknown
2321bf6039f0SWarner Losh		os=-bsd
2322bf6039f0SWarner Losh		;;
2323bf6039f0SWarner Losh	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
2324bf6039f0SWarner Losh		basic_machine=m68000-att
2325bf6039f0SWarner Losh		;;
2326bf6039f0SWarner Losh	3b*)
2327bf6039f0SWarner Losh		basic_machine=we32k-att
2328bf6039f0SWarner Losh		;;
2329bf6039f0SWarner Losh	a29khif)
2330bf6039f0SWarner Losh		basic_machine=a29k-amd
2331bf6039f0SWarner Losh		os=-udi
2332bf6039f0SWarner Losh		;;
2333bf6039f0SWarner Losh	abacus)
2334bf6039f0SWarner Losh		basic_machine=abacus-unknown
2335bf6039f0SWarner Losh		;;
2336bf6039f0SWarner Losh	adobe68k)
2337bf6039f0SWarner Losh		basic_machine=m68010-adobe
2338bf6039f0SWarner Losh		os=-scout
2339bf6039f0SWarner Losh		;;
2340bf6039f0SWarner Losh	alliant | fx80)
2341bf6039f0SWarner Losh		basic_machine=fx80-alliant
2342bf6039f0SWarner Losh		;;
2343bf6039f0SWarner Losh	altos | altos3068)
2344bf6039f0SWarner Losh		basic_machine=m68k-altos
2345bf6039f0SWarner Losh		;;
2346bf6039f0SWarner Losh	am29k)
2347bf6039f0SWarner Losh		basic_machine=a29k-none
2348bf6039f0SWarner Losh		os=-bsd
2349bf6039f0SWarner Losh		;;
2350bf6039f0SWarner Losh	amd64)
2351bf6039f0SWarner Losh		basic_machine=x86_64-pc
2352bf6039f0SWarner Losh		;;
2353bf6039f0SWarner Losh	amd64-*)
2354bf6039f0SWarner Losh		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
2355bf6039f0SWarner Losh		;;
2356bf6039f0SWarner Losh	amdahl)
2357bf6039f0SWarner Losh		basic_machine=580-amdahl
2358bf6039f0SWarner Losh		os=-sysv
2359bf6039f0SWarner Losh		;;
2360bf6039f0SWarner Losh	amiga | amiga-*)
2361bf6039f0SWarner Losh		basic_machine=m68k-unknown
2362bf6039f0SWarner Losh		;;
2363bf6039f0SWarner Losh	amigaos | amigados)
2364bf6039f0SWarner Losh		basic_machine=m68k-unknown
2365bf6039f0SWarner Losh		os=-amigaos
2366bf6039f0SWarner Losh		;;
2367bf6039f0SWarner Losh	amigaunix | amix)
2368bf6039f0SWarner Losh		basic_machine=m68k-unknown
2369bf6039f0SWarner Losh		os=-sysv4
2370bf6039f0SWarner Losh		;;
2371bf6039f0SWarner Losh	apollo68)
2372bf6039f0SWarner Losh		basic_machine=m68k-apollo
2373bf6039f0SWarner Losh		os=-sysv
2374bf6039f0SWarner Losh		;;
2375bf6039f0SWarner Losh	apollo68bsd)
2376bf6039f0SWarner Losh		basic_machine=m68k-apollo
2377bf6039f0SWarner Losh		os=-bsd
2378bf6039f0SWarner Losh		;;
2379bf6039f0SWarner Losh	aros)
2380bf6039f0SWarner Losh		basic_machine=i386-pc
2381bf6039f0SWarner Losh		os=-aros
2382bf6039f0SWarner Losh		;;
2383bf6039f0SWarner Losh	asmjs)
2384bf6039f0SWarner Losh		basic_machine=asmjs-unknown
2385bf6039f0SWarner Losh		;;
2386bf6039f0SWarner Losh	aux)
2387bf6039f0SWarner Losh		basic_machine=m68k-apple
2388bf6039f0SWarner Losh		os=-aux
2389bf6039f0SWarner Losh		;;
2390bf6039f0SWarner Losh	balance)
2391bf6039f0SWarner Losh		basic_machine=ns32k-sequent
2392bf6039f0SWarner Losh		os=-dynix
2393bf6039f0SWarner Losh		;;
2394bf6039f0SWarner Losh	blackfin)
2395bf6039f0SWarner Losh		basic_machine=bfin-unknown
2396bf6039f0SWarner Losh		os=-linux
2397bf6039f0SWarner Losh		;;
2398bf6039f0SWarner Losh	blackfin-*)
2399bf6039f0SWarner Losh		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
2400bf6039f0SWarner Losh		os=-linux
2401bf6039f0SWarner Losh		;;
2402bf6039f0SWarner Losh	bluegene*)
2403bf6039f0SWarner Losh		basic_machine=powerpc-ibm
2404bf6039f0SWarner Losh		os=-cnk
2405bf6039f0SWarner Losh		;;
2406bf6039f0SWarner Losh	c54x-*)
2407bf6039f0SWarner Losh		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
2408bf6039f0SWarner Losh		;;
2409bf6039f0SWarner Losh	c55x-*)
2410bf6039f0SWarner Losh		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
2411bf6039f0SWarner Losh		;;
2412bf6039f0SWarner Losh	c6x-*)
2413bf6039f0SWarner Losh		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
2414bf6039f0SWarner Losh		;;
2415bf6039f0SWarner Losh	c90)
2416bf6039f0SWarner Losh		basic_machine=c90-cray
2417bf6039f0SWarner Losh		os=-unicos
2418bf6039f0SWarner Losh		;;
2419bf6039f0SWarner Losh	cegcc)
2420bf6039f0SWarner Losh		basic_machine=arm-unknown
2421bf6039f0SWarner Losh		os=-cegcc
2422bf6039f0SWarner Losh		;;
2423bf6039f0SWarner Losh	convex-c1)
2424bf6039f0SWarner Losh		basic_machine=c1-convex
2425bf6039f0SWarner Losh		os=-bsd
2426bf6039f0SWarner Losh		;;
2427bf6039f0SWarner Losh	convex-c2)
2428bf6039f0SWarner Losh		basic_machine=c2-convex
2429bf6039f0SWarner Losh		os=-bsd
2430bf6039f0SWarner Losh		;;
2431bf6039f0SWarner Losh	convex-c32)
2432bf6039f0SWarner Losh		basic_machine=c32-convex
2433bf6039f0SWarner Losh		os=-bsd
2434bf6039f0SWarner Losh		;;
2435bf6039f0SWarner Losh	convex-c34)
2436bf6039f0SWarner Losh		basic_machine=c34-convex
2437bf6039f0SWarner Losh		os=-bsd
2438bf6039f0SWarner Losh		;;
2439bf6039f0SWarner Losh	convex-c38)
2440bf6039f0SWarner Losh		basic_machine=c38-convex
2441bf6039f0SWarner Losh		os=-bsd
2442bf6039f0SWarner Losh		;;
2443bf6039f0SWarner Losh	cray | j90)
2444bf6039f0SWarner Losh		basic_machine=j90-cray
2445bf6039f0SWarner Losh		os=-unicos
2446bf6039f0SWarner Losh		;;
2447bf6039f0SWarner Losh	craynv)
2448bf6039f0SWarner Losh		basic_machine=craynv-cray
2449bf6039f0SWarner Losh		os=-unicosmp
2450bf6039f0SWarner Losh		;;
2451bf6039f0SWarner Losh	cr16 | cr16-*)
2452bf6039f0SWarner Losh		basic_machine=cr16-unknown
2453bf6039f0SWarner Losh		os=-elf
2454bf6039f0SWarner Losh		;;
2455bf6039f0SWarner Losh	crds | unos)
2456bf6039f0SWarner Losh		basic_machine=m68k-crds
2457bf6039f0SWarner Losh		;;
2458bf6039f0SWarner Losh	crisv32 | crisv32-* | etraxfs*)
2459bf6039f0SWarner Losh		basic_machine=crisv32-axis
2460bf6039f0SWarner Losh		;;
2461bf6039f0SWarner Losh	cris | cris-* | etrax*)
2462bf6039f0SWarner Losh		basic_machine=cris-axis
2463bf6039f0SWarner Losh		;;
2464bf6039f0SWarner Losh	crx)
2465bf6039f0SWarner Losh		basic_machine=crx-unknown
2466bf6039f0SWarner Losh		os=-elf
2467bf6039f0SWarner Losh		;;
2468bf6039f0SWarner Losh	da30 | da30-*)
2469bf6039f0SWarner Losh		basic_machine=m68k-da30
2470bf6039f0SWarner Losh		;;
2471bf6039f0SWarner Losh	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
2472bf6039f0SWarner Losh		basic_machine=mips-dec
2473bf6039f0SWarner Losh		;;
2474bf6039f0SWarner Losh	decsystem10* | dec10*)
2475bf6039f0SWarner Losh		basic_machine=pdp10-dec
2476bf6039f0SWarner Losh		os=-tops10
2477bf6039f0SWarner Losh		;;
2478bf6039f0SWarner Losh	decsystem20* | dec20*)
2479bf6039f0SWarner Losh		basic_machine=pdp10-dec
2480bf6039f0SWarner Losh		os=-tops20
2481bf6039f0SWarner Losh		;;
2482bf6039f0SWarner Losh	delta | 3300 | motorola-3300 | motorola-delta \
2483bf6039f0SWarner Losh	      | 3300-motorola | delta-motorola)
2484bf6039f0SWarner Losh		basic_machine=m68k-motorola
2485bf6039f0SWarner Losh		;;
2486bf6039f0SWarner Losh	delta88)
2487bf6039f0SWarner Losh		basic_machine=m88k-motorola
2488bf6039f0SWarner Losh		os=-sysv3
2489bf6039f0SWarner Losh		;;
2490bf6039f0SWarner Losh	dicos)
2491bf6039f0SWarner Losh		basic_machine=i686-pc
2492bf6039f0SWarner Losh		os=-dicos
2493bf6039f0SWarner Losh		;;
2494bf6039f0SWarner Losh	djgpp)
2495bf6039f0SWarner Losh		basic_machine=i586-pc
2496bf6039f0SWarner Losh		os=-msdosdjgpp
2497bf6039f0SWarner Losh		;;
2498bf6039f0SWarner Losh	dpx20 | dpx20-*)
2499bf6039f0SWarner Losh		basic_machine=rs6000-bull
2500bf6039f0SWarner Losh		os=-bosx
2501bf6039f0SWarner Losh		;;
2502bf6039f0SWarner Losh	dpx2* | dpx2*-bull)
2503bf6039f0SWarner Losh		basic_machine=m68k-bull
2504bf6039f0SWarner Losh		os=-sysv3
2505bf6039f0SWarner Losh		;;
2506bf6039f0SWarner Losh	e500v[12])
2507bf6039f0SWarner Losh		basic_machine=powerpc-unknown
2508bf6039f0SWarner Losh		os=$os"spe"
2509bf6039f0SWarner Losh		;;
2510bf6039f0SWarner Losh	e500v[12]-*)
2511bf6039f0SWarner Losh		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
2512bf6039f0SWarner Losh		os=$os"spe"
2513bf6039f0SWarner Losh		;;
2514bf6039f0SWarner Losh	ebmon29k)
2515bf6039f0SWarner Losh		basic_machine=a29k-amd
2516bf6039f0SWarner Losh		os=-ebmon
2517bf6039f0SWarner Losh		;;
2518bf6039f0SWarner Losh	elxsi)
2519bf6039f0SWarner Losh		basic_machine=elxsi-elxsi
2520bf6039f0SWarner Losh		os=-bsd
2521bf6039f0SWarner Losh		;;
2522bf6039f0SWarner Losh	encore | umax | mmax)
2523bf6039f0SWarner Losh		basic_machine=ns32k-encore
2524bf6039f0SWarner Losh		;;
2525bf6039f0SWarner Losh	es1800 | OSE68k | ose68k | ose | OSE)
2526bf6039f0SWarner Losh		basic_machine=m68k-ericsson
2527bf6039f0SWarner Losh		os=-ose
2528bf6039f0SWarner Losh		;;
2529bf6039f0SWarner Losh	fx2800)
2530bf6039f0SWarner Losh		basic_machine=i860-alliant
2531bf6039f0SWarner Losh		;;
2532bf6039f0SWarner Losh	genix)
2533bf6039f0SWarner Losh		basic_machine=ns32k-ns
2534bf6039f0SWarner Losh		;;
2535bf6039f0SWarner Losh	gmicro)
2536bf6039f0SWarner Losh		basic_machine=tron-gmicro
2537bf6039f0SWarner Losh		os=-sysv
2538bf6039f0SWarner Losh		;;
2539bf6039f0SWarner Losh	go32)
2540bf6039f0SWarner Losh		basic_machine=i386-pc
2541bf6039f0SWarner Losh		os=-go32
2542bf6039f0SWarner Losh		;;
2543bf6039f0SWarner Losh	h3050r* | hiux*)
2544bf6039f0SWarner Losh		basic_machine=hppa1.1-hitachi
2545bf6039f0SWarner Losh		os=-hiuxwe2
2546bf6039f0SWarner Losh		;;
2547bf6039f0SWarner Losh	h8300hms)
2548bf6039f0SWarner Losh		basic_machine=h8300-hitachi
2549bf6039f0SWarner Losh		os=-hms
2550bf6039f0SWarner Losh		;;
2551bf6039f0SWarner Losh	h8300xray)
2552bf6039f0SWarner Losh		basic_machine=h8300-hitachi
2553bf6039f0SWarner Losh		os=-xray
2554bf6039f0SWarner Losh		;;
2555bf6039f0SWarner Losh	h8500hms)
2556bf6039f0SWarner Losh		basic_machine=h8500-hitachi
2557bf6039f0SWarner Losh		os=-hms
2558bf6039f0SWarner Losh		;;
2559bf6039f0SWarner Losh	harris)
2560bf6039f0SWarner Losh		basic_machine=m88k-harris
2561bf6039f0SWarner Losh		os=-sysv3
2562bf6039f0SWarner Losh		;;
2563bf6039f0SWarner Losh	hp300-*)
2564bf6039f0SWarner Losh		basic_machine=m68k-hp
2565bf6039f0SWarner Losh		;;
2566bf6039f0SWarner Losh	hp300bsd)
2567bf6039f0SWarner Losh		basic_machine=m68k-hp
2568bf6039f0SWarner Losh		os=-bsd
2569bf6039f0SWarner Losh		;;
2570bf6039f0SWarner Losh	hp300hpux)
2571bf6039f0SWarner Losh		basic_machine=m68k-hp
2572bf6039f0SWarner Losh		os=-hpux
2573bf6039f0SWarner Losh		;;
2574bf6039f0SWarner Losh	hp3k9[0-9][0-9] | hp9[0-9][0-9])
2575bf6039f0SWarner Losh		basic_machine=hppa1.0-hp
2576bf6039f0SWarner Losh		;;
2577bf6039f0SWarner Losh	hp9k2[0-9][0-9] | hp9k31[0-9])
2578bf6039f0SWarner Losh		basic_machine=m68000-hp
2579bf6039f0SWarner Losh		;;
2580bf6039f0SWarner Losh	hp9k3[2-9][0-9])
2581bf6039f0SWarner Losh		basic_machine=m68k-hp
2582bf6039f0SWarner Losh		;;
2583bf6039f0SWarner Losh	hp9k6[0-9][0-9] | hp6[0-9][0-9])
2584bf6039f0SWarner Losh		basic_machine=hppa1.0-hp
2585bf6039f0SWarner Losh		;;
2586bf6039f0SWarner Losh	hp9k7[0-79][0-9] | hp7[0-79][0-9])
2587bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2588bf6039f0SWarner Losh		;;
2589bf6039f0SWarner Losh	hp9k78[0-9] | hp78[0-9])
2590bf6039f0SWarner Losh		# FIXME: really hppa2.0-hp
2591bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2592bf6039f0SWarner Losh		;;
2593bf6039f0SWarner Losh	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
2594bf6039f0SWarner Losh		# FIXME: really hppa2.0-hp
2595bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2596bf6039f0SWarner Losh		;;
2597bf6039f0SWarner Losh	hp9k8[0-9][13679] | hp8[0-9][13679])
2598bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2599bf6039f0SWarner Losh		;;
2600bf6039f0SWarner Losh	hp9k8[0-9][0-9] | hp8[0-9][0-9])
2601bf6039f0SWarner Losh		basic_machine=hppa1.0-hp
2602bf6039f0SWarner Losh		;;
2603bf6039f0SWarner Losh	hppa-next)
2604bf6039f0SWarner Losh		os=-nextstep3
2605bf6039f0SWarner Losh		;;
2606bf6039f0SWarner Losh	hppaosf)
2607bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2608bf6039f0SWarner Losh		os=-osf
2609bf6039f0SWarner Losh		;;
2610bf6039f0SWarner Losh	hppro)
2611bf6039f0SWarner Losh		basic_machine=hppa1.1-hp
2612bf6039f0SWarner Losh		os=-proelf
2613bf6039f0SWarner Losh		;;
2614bf6039f0SWarner Losh	i370-ibm* | ibm*)
2615bf6039f0SWarner Losh		basic_machine=i370-ibm
2616bf6039f0SWarner Losh		;;
2617bf6039f0SWarner Losh	i*86v32)
2618bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2619bf6039f0SWarner Losh		os=-sysv32
2620bf6039f0SWarner Losh		;;
2621bf6039f0SWarner Losh	i*86v4*)
2622bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2623bf6039f0SWarner Losh		os=-sysv4
2624bf6039f0SWarner Losh		;;
2625bf6039f0SWarner Losh	i*86v)
2626bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2627bf6039f0SWarner Losh		os=-sysv
2628bf6039f0SWarner Losh		;;
2629bf6039f0SWarner Losh	i*86sol2)
2630bf6039f0SWarner Losh		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2631bf6039f0SWarner Losh		os=-solaris2
2632bf6039f0SWarner Losh		;;
2633bf6039f0SWarner Losh	i386mach)
2634bf6039f0SWarner Losh		basic_machine=i386-mach
2635bf6039f0SWarner Losh		os=-mach
2636bf6039f0SWarner Losh		;;
2637bf6039f0SWarner Losh	i386-vsta | vsta)
2638bf6039f0SWarner Losh		basic_machine=i386-unknown
2639bf6039f0SWarner Losh		os=-vsta
2640bf6039f0SWarner Losh		;;
2641bf6039f0SWarner Losh	iris | iris4d)
2642bf6039f0SWarner Losh		basic_machine=mips-sgi
2643bf6039f0SWarner Losh		case $os in
2644bf6039f0SWarner Losh		    -irix*)
2645bf6039f0SWarner Losh			;;
2646bf6039f0SWarner Losh		    *)
2647bf6039f0SWarner Losh			os=-irix4
2648bf6039f0SWarner Losh			;;
2649bf6039f0SWarner Losh		esac
2650bf6039f0SWarner Losh		;;
2651bf6039f0SWarner Losh	isi68 | isi)
2652bf6039f0SWarner Losh		basic_machine=m68k-isi
2653bf6039f0SWarner Losh		os=-sysv
2654bf6039f0SWarner Losh		;;
2655bf6039f0SWarner Losh	leon-*|leon[3-9]-*)
2656bf6039f0SWarner Losh		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
2657bf6039f0SWarner Losh		;;
2658bf6039f0SWarner Losh	m68knommu)
2659bf6039f0SWarner Losh		basic_machine=m68k-unknown
2660bf6039f0SWarner Losh		os=-linux
2661bf6039f0SWarner Losh		;;
2662bf6039f0SWarner Losh	m68knommu-*)
2663bf6039f0SWarner Losh		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
2664bf6039f0SWarner Losh		os=-linux
2665bf6039f0SWarner Losh		;;
2666bf6039f0SWarner Losh	m88k-omron*)
2667bf6039f0SWarner Losh		basic_machine=m88k-omron
2668bf6039f0SWarner Losh		;;
2669bf6039f0SWarner Losh	magnum | m3230)
2670bf6039f0SWarner Losh		basic_machine=mips-mips
2671bf6039f0SWarner Losh		os=-sysv
2672bf6039f0SWarner Losh		;;
2673bf6039f0SWarner Losh	merlin)
2674bf6039f0SWarner Losh		basic_machine=ns32k-utek
2675bf6039f0SWarner Losh		os=-sysv
2676bf6039f0SWarner Losh		;;
2677bf6039f0SWarner Losh	microblaze*)
2678bf6039f0SWarner Losh		basic_machine=microblaze-xilinx
2679bf6039f0SWarner Losh		;;
2680bf6039f0SWarner Losh	mingw64)
2681bf6039f0SWarner Losh		basic_machine=x86_64-pc
2682bf6039f0SWarner Losh		os=-mingw64
2683bf6039f0SWarner Losh		;;
2684bf6039f0SWarner Losh	mingw32)
2685bf6039f0SWarner Losh		basic_machine=i686-pc
2686bf6039f0SWarner Losh		os=-mingw32
2687bf6039f0SWarner Losh		;;
2688bf6039f0SWarner Losh	mingw32ce)
2689bf6039f0SWarner Losh		basic_machine=arm-unknown
2690bf6039f0SWarner Losh		os=-mingw32ce
2691bf6039f0SWarner Losh		;;
2692bf6039f0SWarner Losh	miniframe)
2693bf6039f0SWarner Losh		basic_machine=m68000-convergent
2694bf6039f0SWarner Losh		;;
2695bf6039f0SWarner Losh	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
2696bf6039f0SWarner Losh		basic_machine=m68k-atari
2697bf6039f0SWarner Losh		os=-mint
2698bf6039f0SWarner Losh		;;
2699bf6039f0SWarner Losh	mips3*-*)
2700bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
2701bf6039f0SWarner Losh		;;
2702bf6039f0SWarner Losh	mips3*)
2703bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
2704bf6039f0SWarner Losh		;;
2705bf6039f0SWarner Losh	monitor)
2706bf6039f0SWarner Losh		basic_machine=m68k-rom68k
2707bf6039f0SWarner Losh		os=-coff
2708bf6039f0SWarner Losh		;;
2709bf6039f0SWarner Losh	morphos)
2710bf6039f0SWarner Losh		basic_machine=powerpc-unknown
2711bf6039f0SWarner Losh		os=-morphos
2712bf6039f0SWarner Losh		;;
2713bf6039f0SWarner Losh	moxiebox)
2714bf6039f0SWarner Losh		basic_machine=moxie-unknown
2715bf6039f0SWarner Losh		os=-moxiebox
2716bf6039f0SWarner Losh		;;
2717bf6039f0SWarner Losh	msdos)
2718bf6039f0SWarner Losh		basic_machine=i386-pc
2719bf6039f0SWarner Losh		os=-msdos
2720bf6039f0SWarner Losh		;;
2721bf6039f0SWarner Losh	ms1-*)
2722bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
2723bf6039f0SWarner Losh		;;
2724bf6039f0SWarner Losh	msys)
2725bf6039f0SWarner Losh		basic_machine=i686-pc
2726bf6039f0SWarner Losh		os=-msys
2727bf6039f0SWarner Losh		;;
2728bf6039f0SWarner Losh	mvs)
2729bf6039f0SWarner Losh		basic_machine=i370-ibm
2730bf6039f0SWarner Losh		os=-mvs
2731bf6039f0SWarner Losh		;;
2732bf6039f0SWarner Losh	nacl)
2733bf6039f0SWarner Losh		basic_machine=le32-unknown
2734bf6039f0SWarner Losh		os=-nacl
2735bf6039f0SWarner Losh		;;
2736bf6039f0SWarner Losh	ncr3000)
2737bf6039f0SWarner Losh		basic_machine=i486-ncr
2738bf6039f0SWarner Losh		os=-sysv4
2739bf6039f0SWarner Losh		;;
2740bf6039f0SWarner Losh	netbsd386)
2741bf6039f0SWarner Losh		basic_machine=i386-unknown
2742bf6039f0SWarner Losh		os=-netbsd
2743bf6039f0SWarner Losh		;;
2744bf6039f0SWarner Losh	netwinder)
2745bf6039f0SWarner Losh		basic_machine=armv4l-rebel
2746bf6039f0SWarner Losh		os=-linux
2747bf6039f0SWarner Losh		;;
2748bf6039f0SWarner Losh	news | news700 | news800 | news900)
2749bf6039f0SWarner Losh		basic_machine=m68k-sony
2750bf6039f0SWarner Losh		os=-newsos
2751bf6039f0SWarner Losh		;;
2752bf6039f0SWarner Losh	news1000)
2753bf6039f0SWarner Losh		basic_machine=m68030-sony
2754bf6039f0SWarner Losh		os=-newsos
2755bf6039f0SWarner Losh		;;
2756bf6039f0SWarner Losh	news-3600 | risc-news)
2757bf6039f0SWarner Losh		basic_machine=mips-sony
2758bf6039f0SWarner Losh		os=-newsos
2759bf6039f0SWarner Losh		;;
2760bf6039f0SWarner Losh	necv70)
2761bf6039f0SWarner Losh		basic_machine=v70-nec
2762bf6039f0SWarner Losh		os=-sysv
2763bf6039f0SWarner Losh		;;
2764bf6039f0SWarner Losh	next | m*-next )
2765bf6039f0SWarner Losh		basic_machine=m68k-next
2766bf6039f0SWarner Losh		case $os in
2767bf6039f0SWarner Losh		    -nextstep* )
2768bf6039f0SWarner Losh			;;
2769bf6039f0SWarner Losh		    -ns2*)
2770bf6039f0SWarner Losh		      os=-nextstep2
2771bf6039f0SWarner Losh			;;
2772bf6039f0SWarner Losh		    *)
2773bf6039f0SWarner Losh		      os=-nextstep3
2774bf6039f0SWarner Losh			;;
2775bf6039f0SWarner Losh		esac
2776bf6039f0SWarner Losh		;;
2777bf6039f0SWarner Losh	nh3000)
2778bf6039f0SWarner Losh		basic_machine=m68k-harris
2779bf6039f0SWarner Losh		os=-cxux
2780bf6039f0SWarner Losh		;;
2781bf6039f0SWarner Losh	nh[45]000)
2782bf6039f0SWarner Losh		basic_machine=m88k-harris
2783bf6039f0SWarner Losh		os=-cxux
2784bf6039f0SWarner Losh		;;
2785bf6039f0SWarner Losh	nindy960)
2786bf6039f0SWarner Losh		basic_machine=i960-intel
2787bf6039f0SWarner Losh		os=-nindy
2788bf6039f0SWarner Losh		;;
2789bf6039f0SWarner Losh	mon960)
2790bf6039f0SWarner Losh		basic_machine=i960-intel
2791bf6039f0SWarner Losh		os=-mon960
2792bf6039f0SWarner Losh		;;
2793bf6039f0SWarner Losh	nonstopux)
2794bf6039f0SWarner Losh		basic_machine=mips-compaq
2795bf6039f0SWarner Losh		os=-nonstopux
2796bf6039f0SWarner Losh		;;
2797bf6039f0SWarner Losh	np1)
2798bf6039f0SWarner Losh		basic_machine=np1-gould
2799bf6039f0SWarner Losh		;;
2800bf6039f0SWarner Losh	neo-tandem)
2801bf6039f0SWarner Losh		basic_machine=neo-tandem
2802bf6039f0SWarner Losh		;;
2803bf6039f0SWarner Losh	nse-tandem)
2804bf6039f0SWarner Losh		basic_machine=nse-tandem
2805bf6039f0SWarner Losh		;;
2806bf6039f0SWarner Losh	nsr-tandem)
2807bf6039f0SWarner Losh		basic_machine=nsr-tandem
2808bf6039f0SWarner Losh		;;
2809bf6039f0SWarner Losh	op50n-* | op60c-*)
2810bf6039f0SWarner Losh		basic_machine=hppa1.1-oki
2811bf6039f0SWarner Losh		os=-proelf
2812bf6039f0SWarner Losh		;;
2813bf6039f0SWarner Losh	openrisc | openrisc-*)
2814bf6039f0SWarner Losh		basic_machine=or32-unknown
2815bf6039f0SWarner Losh		;;
2816bf6039f0SWarner Losh	os400)
2817bf6039f0SWarner Losh		basic_machine=powerpc-ibm
2818bf6039f0SWarner Losh		os=-os400
2819bf6039f0SWarner Losh		;;
2820bf6039f0SWarner Losh	OSE68000 | ose68000)
2821bf6039f0SWarner Losh		basic_machine=m68000-ericsson
2822bf6039f0SWarner Losh		os=-ose
2823bf6039f0SWarner Losh		;;
2824bf6039f0SWarner Losh	os68k)
2825bf6039f0SWarner Losh		basic_machine=m68k-none
2826bf6039f0SWarner Losh		os=-os68k
2827bf6039f0SWarner Losh		;;
2828bf6039f0SWarner Losh	pa-hitachi)
2829bf6039f0SWarner Losh		basic_machine=hppa1.1-hitachi
2830bf6039f0SWarner Losh		os=-hiuxwe2
2831bf6039f0SWarner Losh		;;
2832bf6039f0SWarner Losh	paragon)
2833bf6039f0SWarner Losh		basic_machine=i860-intel
2834bf6039f0SWarner Losh		os=-osf
2835bf6039f0SWarner Losh		;;
2836bf6039f0SWarner Losh	parisc)
2837bf6039f0SWarner Losh		basic_machine=hppa-unknown
2838bf6039f0SWarner Losh		os=-linux
2839bf6039f0SWarner Losh		;;
2840bf6039f0SWarner Losh	parisc-*)
2841bf6039f0SWarner Losh		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
2842bf6039f0SWarner Losh		os=-linux
2843bf6039f0SWarner Losh		;;
2844bf6039f0SWarner Losh	pbd)
2845bf6039f0SWarner Losh		basic_machine=sparc-tti
2846bf6039f0SWarner Losh		;;
2847bf6039f0SWarner Losh	pbb)
2848bf6039f0SWarner Losh		basic_machine=m68k-tti
2849bf6039f0SWarner Losh		;;
2850bf6039f0SWarner Losh	pc532 | pc532-*)
2851bf6039f0SWarner Losh		basic_machine=ns32k-pc532
2852bf6039f0SWarner Losh		;;
2853bf6039f0SWarner Losh	pc98)
2854bf6039f0SWarner Losh		basic_machine=i386-pc
2855bf6039f0SWarner Losh		;;
2856bf6039f0SWarner Losh	pc98-*)
2857bf6039f0SWarner Losh		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
2858bf6039f0SWarner Losh		;;
2859bf6039f0SWarner Losh	pentium | p5 | k5 | k6 | nexgen | viac3)
2860bf6039f0SWarner Losh		basic_machine=i586-pc
2861bf6039f0SWarner Losh		;;
2862bf6039f0SWarner Losh	pentiumpro | p6 | 6x86 | athlon | athlon_*)
2863bf6039f0SWarner Losh		basic_machine=i686-pc
2864bf6039f0SWarner Losh		;;
2865bf6039f0SWarner Losh	pentiumii | pentium2 | pentiumiii | pentium3)
2866bf6039f0SWarner Losh		basic_machine=i686-pc
2867bf6039f0SWarner Losh		;;
2868bf6039f0SWarner Losh	pentium4)
2869bf6039f0SWarner Losh		basic_machine=i786-pc
2870bf6039f0SWarner Losh		;;
2871bf6039f0SWarner Losh	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
2872bf6039f0SWarner Losh		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
2873bf6039f0SWarner Losh		;;
2874bf6039f0SWarner Losh	pentiumpro-* | p6-* | 6x86-* | athlon-*)
2875bf6039f0SWarner Losh		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
2876bf6039f0SWarner Losh		;;
2877bf6039f0SWarner Losh	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
2878bf6039f0SWarner Losh		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
2879bf6039f0SWarner Losh		;;
2880bf6039f0SWarner Losh	pentium4-*)
2881bf6039f0SWarner Losh		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
2882bf6039f0SWarner Losh		;;
2883bf6039f0SWarner Losh	pn)
2884bf6039f0SWarner Losh		basic_machine=pn-gould
2885bf6039f0SWarner Losh		;;
2886bf6039f0SWarner Losh	power)	basic_machine=power-ibm
2887bf6039f0SWarner Losh		;;
2888bf6039f0SWarner Losh	ppc | ppcbe)	basic_machine=powerpc-unknown
2889bf6039f0SWarner Losh		;;
2890bf6039f0SWarner Losh	ppc-* | ppcbe-*)
2891bf6039f0SWarner Losh		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
2892bf6039f0SWarner Losh		;;
2893bf6039f0SWarner Losh	ppcle | powerpclittle)
2894bf6039f0SWarner Losh		basic_machine=powerpcle-unknown
2895bf6039f0SWarner Losh		;;
2896bf6039f0SWarner Losh	ppcle-* | powerpclittle-*)
2897bf6039f0SWarner Losh		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
2898bf6039f0SWarner Losh		;;
2899bf6039f0SWarner Losh	ppc64)	basic_machine=powerpc64-unknown
2900bf6039f0SWarner Losh		;;
2901bf6039f0SWarner Losh	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
2902bf6039f0SWarner Losh		;;
2903bf6039f0SWarner Losh	ppc64le | powerpc64little)
2904bf6039f0SWarner Losh		basic_machine=powerpc64le-unknown
2905bf6039f0SWarner Losh		;;
2906bf6039f0SWarner Losh	ppc64le-* | powerpc64little-*)
2907bf6039f0SWarner Losh		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
2908bf6039f0SWarner Losh		;;
2909bf6039f0SWarner Losh	ps2)
2910bf6039f0SWarner Losh		basic_machine=i386-ibm
2911bf6039f0SWarner Losh		;;
2912bf6039f0SWarner Losh	pw32)
2913bf6039f0SWarner Losh		basic_machine=i586-unknown
2914bf6039f0SWarner Losh		os=-pw32
2915bf6039f0SWarner Losh		;;
2916bf6039f0SWarner Losh	rdos | rdos64)
2917bf6039f0SWarner Losh		basic_machine=x86_64-pc
2918bf6039f0SWarner Losh		os=-rdos
2919bf6039f0SWarner Losh		;;
2920bf6039f0SWarner Losh	rdos32)
2921bf6039f0SWarner Losh		basic_machine=i386-pc
2922bf6039f0SWarner Losh		os=-rdos
2923bf6039f0SWarner Losh		;;
2924bf6039f0SWarner Losh	rom68k)
2925bf6039f0SWarner Losh		basic_machine=m68k-rom68k
2926bf6039f0SWarner Losh		os=-coff
2927bf6039f0SWarner Losh		;;
2928bf6039f0SWarner Losh	rm[46]00)
2929bf6039f0SWarner Losh		basic_machine=mips-siemens
2930bf6039f0SWarner Losh		;;
2931bf6039f0SWarner Losh	rtpc | rtpc-*)
2932bf6039f0SWarner Losh		basic_machine=romp-ibm
2933bf6039f0SWarner Losh		;;
2934bf6039f0SWarner Losh	s390 | s390-*)
2935bf6039f0SWarner Losh		basic_machine=s390-ibm
2936bf6039f0SWarner Losh		;;
2937bf6039f0SWarner Losh	s390x | s390x-*)
2938bf6039f0SWarner Losh		basic_machine=s390x-ibm
2939bf6039f0SWarner Losh		;;
2940bf6039f0SWarner Losh	sa29200)
2941bf6039f0SWarner Losh		basic_machine=a29k-amd
2942bf6039f0SWarner Losh		os=-udi
2943bf6039f0SWarner Losh		;;
2944bf6039f0SWarner Losh	sb1)
2945bf6039f0SWarner Losh		basic_machine=mipsisa64sb1-unknown
2946bf6039f0SWarner Losh		;;
2947bf6039f0SWarner Losh	sb1el)
2948bf6039f0SWarner Losh		basic_machine=mipsisa64sb1el-unknown
2949bf6039f0SWarner Losh		;;
2950bf6039f0SWarner Losh	sde)
2951bf6039f0SWarner Losh		basic_machine=mipsisa32-sde
2952bf6039f0SWarner Losh		os=-elf
2953bf6039f0SWarner Losh		;;
2954bf6039f0SWarner Losh	sei)
2955bf6039f0SWarner Losh		basic_machine=mips-sei
2956bf6039f0SWarner Losh		os=-seiux
2957bf6039f0SWarner Losh		;;
2958bf6039f0SWarner Losh	sequent)
2959bf6039f0SWarner Losh		basic_machine=i386-sequent
2960bf6039f0SWarner Losh		;;
2961bf6039f0SWarner Losh	sh)
2962bf6039f0SWarner Losh		basic_machine=sh-hitachi
2963bf6039f0SWarner Losh		os=-hms
2964bf6039f0SWarner Losh		;;
2965bf6039f0SWarner Losh	sh5el)
2966bf6039f0SWarner Losh		basic_machine=sh5le-unknown
2967bf6039f0SWarner Losh		;;
2968bf6039f0SWarner Losh	sh64)
2969bf6039f0SWarner Losh		basic_machine=sh64-unknown
2970bf6039f0SWarner Losh		;;
2971bf6039f0SWarner Losh	sparclite-wrs | simso-wrs)
2972bf6039f0SWarner Losh		basic_machine=sparclite-wrs
2973bf6039f0SWarner Losh		os=-vxworks
2974bf6039f0SWarner Losh		;;
2975bf6039f0SWarner Losh	sps7)
2976bf6039f0SWarner Losh		basic_machine=m68k-bull
2977bf6039f0SWarner Losh		os=-sysv2
2978bf6039f0SWarner Losh		;;
2979bf6039f0SWarner Losh	spur)
2980bf6039f0SWarner Losh		basic_machine=spur-unknown
2981bf6039f0SWarner Losh		;;
2982bf6039f0SWarner Losh	st2000)
2983bf6039f0SWarner Losh		basic_machine=m68k-tandem
2984bf6039f0SWarner Losh		;;
2985bf6039f0SWarner Losh	stratus)
2986bf6039f0SWarner Losh		basic_machine=i860-stratus
2987bf6039f0SWarner Losh		os=-sysv4
2988bf6039f0SWarner Losh		;;
2989bf6039f0SWarner Losh	strongarm-* | thumb-*)
2990bf6039f0SWarner Losh		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
2991bf6039f0SWarner Losh		;;
2992bf6039f0SWarner Losh	sun2)
2993bf6039f0SWarner Losh		basic_machine=m68000-sun
2994bf6039f0SWarner Losh		;;
2995bf6039f0SWarner Losh	sun2os3)
2996bf6039f0SWarner Losh		basic_machine=m68000-sun
2997bf6039f0SWarner Losh		os=-sunos3
2998bf6039f0SWarner Losh		;;
2999bf6039f0SWarner Losh	sun2os4)
3000bf6039f0SWarner Losh		basic_machine=m68000-sun
3001bf6039f0SWarner Losh		os=-sunos4
3002bf6039f0SWarner Losh		;;
3003bf6039f0SWarner Losh	sun3os3)
3004bf6039f0SWarner Losh		basic_machine=m68k-sun
3005bf6039f0SWarner Losh		os=-sunos3
3006bf6039f0SWarner Losh		;;
3007bf6039f0SWarner Losh	sun3os4)
3008bf6039f0SWarner Losh		basic_machine=m68k-sun
3009bf6039f0SWarner Losh		os=-sunos4
3010bf6039f0SWarner Losh		;;
3011bf6039f0SWarner Losh	sun4os3)
3012bf6039f0SWarner Losh		basic_machine=sparc-sun
3013bf6039f0SWarner Losh		os=-sunos3
3014bf6039f0SWarner Losh		;;
3015bf6039f0SWarner Losh	sun4os4)
3016bf6039f0SWarner Losh		basic_machine=sparc-sun
3017bf6039f0SWarner Losh		os=-sunos4
3018bf6039f0SWarner Losh		;;
3019bf6039f0SWarner Losh	sun4sol2)
3020bf6039f0SWarner Losh		basic_machine=sparc-sun
3021bf6039f0SWarner Losh		os=-solaris2
3022bf6039f0SWarner Losh		;;
3023bf6039f0SWarner Losh	sun3 | sun3-*)
3024bf6039f0SWarner Losh		basic_machine=m68k-sun
3025bf6039f0SWarner Losh		;;
3026bf6039f0SWarner Losh	sun4)
3027bf6039f0SWarner Losh		basic_machine=sparc-sun
3028bf6039f0SWarner Losh		;;
3029bf6039f0SWarner Losh	sun386 | sun386i | roadrunner)
3030bf6039f0SWarner Losh		basic_machine=i386-sun
3031bf6039f0SWarner Losh		;;
3032bf6039f0SWarner Losh	sv1)
3033bf6039f0SWarner Losh		basic_machine=sv1-cray
3034bf6039f0SWarner Losh		os=-unicos
3035bf6039f0SWarner Losh		;;
3036bf6039f0SWarner Losh	symmetry)
3037bf6039f0SWarner Losh		basic_machine=i386-sequent
3038bf6039f0SWarner Losh		os=-dynix
3039bf6039f0SWarner Losh		;;
3040bf6039f0SWarner Losh	t3e)
3041bf6039f0SWarner Losh		basic_machine=alphaev5-cray
3042bf6039f0SWarner Losh		os=-unicos
3043bf6039f0SWarner Losh		;;
3044bf6039f0SWarner Losh	t90)
3045bf6039f0SWarner Losh		basic_machine=t90-cray
3046bf6039f0SWarner Losh		os=-unicos
3047bf6039f0SWarner Losh		;;
3048bf6039f0SWarner Losh	tile*)
3049bf6039f0SWarner Losh		basic_machine=$basic_machine-unknown
3050bf6039f0SWarner Losh		os=-linux-gnu
3051bf6039f0SWarner Losh		;;
3052bf6039f0SWarner Losh	tx39)
3053bf6039f0SWarner Losh		basic_machine=mipstx39-unknown
3054bf6039f0SWarner Losh		;;
3055bf6039f0SWarner Losh	tx39el)
3056bf6039f0SWarner Losh		basic_machine=mipstx39el-unknown
3057bf6039f0SWarner Losh		;;
3058bf6039f0SWarner Losh	toad1)
3059bf6039f0SWarner Losh		basic_machine=pdp10-xkl
3060bf6039f0SWarner Losh		os=-tops20
3061bf6039f0SWarner Losh		;;
3062bf6039f0SWarner Losh	tower | tower-32)
3063bf6039f0SWarner Losh		basic_machine=m68k-ncr
3064bf6039f0SWarner Losh		;;
3065bf6039f0SWarner Losh	tpf)
3066bf6039f0SWarner Losh		basic_machine=s390x-ibm
3067bf6039f0SWarner Losh		os=-tpf
3068bf6039f0SWarner Losh		;;
3069bf6039f0SWarner Losh	udi29k)
3070bf6039f0SWarner Losh		basic_machine=a29k-amd
3071bf6039f0SWarner Losh		os=-udi
3072bf6039f0SWarner Losh		;;
3073bf6039f0SWarner Losh	ultra3)
3074bf6039f0SWarner Losh		basic_machine=a29k-nyu
3075bf6039f0SWarner Losh		os=-sym1
3076bf6039f0SWarner Losh		;;
3077bf6039f0SWarner Losh	v810 | necv810)
3078bf6039f0SWarner Losh		basic_machine=v810-nec
3079bf6039f0SWarner Losh		os=-none
3080bf6039f0SWarner Losh		;;
3081bf6039f0SWarner Losh	vaxv)
3082bf6039f0SWarner Losh		basic_machine=vax-dec
3083bf6039f0SWarner Losh		os=-sysv
3084bf6039f0SWarner Losh		;;
3085bf6039f0SWarner Losh	vms)
3086bf6039f0SWarner Losh		basic_machine=vax-dec
3087bf6039f0SWarner Losh		os=-vms
3088bf6039f0SWarner Losh		;;
3089bf6039f0SWarner Losh	vpp*|vx|vx-*)
3090bf6039f0SWarner Losh		basic_machine=f301-fujitsu
3091bf6039f0SWarner Losh		;;
3092bf6039f0SWarner Losh	vxworks960)
3093bf6039f0SWarner Losh		basic_machine=i960-wrs
3094bf6039f0SWarner Losh		os=-vxworks
3095bf6039f0SWarner Losh		;;
3096bf6039f0SWarner Losh	vxworks68)
3097bf6039f0SWarner Losh		basic_machine=m68k-wrs
3098bf6039f0SWarner Losh		os=-vxworks
3099bf6039f0SWarner Losh		;;
3100bf6039f0SWarner Losh	vxworks29k)
3101bf6039f0SWarner Losh		basic_machine=a29k-wrs
3102bf6039f0SWarner Losh		os=-vxworks
3103bf6039f0SWarner Losh		;;
3104bf6039f0SWarner Losh	w65*)
3105bf6039f0SWarner Losh		basic_machine=w65-wdc
3106bf6039f0SWarner Losh		os=-none
3107bf6039f0SWarner Losh		;;
3108bf6039f0SWarner Losh	w89k-*)
3109bf6039f0SWarner Losh		basic_machine=hppa1.1-winbond
3110bf6039f0SWarner Losh		os=-proelf
3111bf6039f0SWarner Losh		;;
3112bf6039f0SWarner Losh	xbox)
3113bf6039f0SWarner Losh		basic_machine=i686-pc
3114bf6039f0SWarner Losh		os=-mingw32
3115bf6039f0SWarner Losh		;;
3116bf6039f0SWarner Losh	xps | xps100)
3117bf6039f0SWarner Losh		basic_machine=xps100-honeywell
3118bf6039f0SWarner Losh		;;
3119bf6039f0SWarner Losh	xscale-* | xscalee[bl]-*)
3120bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
3121bf6039f0SWarner Losh		;;
3122bf6039f0SWarner Losh	ymp)
3123bf6039f0SWarner Losh		basic_machine=ymp-cray
3124bf6039f0SWarner Losh		os=-unicos
3125bf6039f0SWarner Losh		;;
3126bf6039f0SWarner Losh	z8k-*-coff)
3127bf6039f0SWarner Losh		basic_machine=z8k-unknown
3128bf6039f0SWarner Losh		os=-sim
3129bf6039f0SWarner Losh		;;
3130bf6039f0SWarner Losh	z80-*-coff)
3131bf6039f0SWarner Losh		basic_machine=z80-unknown
3132bf6039f0SWarner Losh		os=-sim
3133bf6039f0SWarner Losh		;;
3134bf6039f0SWarner Losh	none)
3135bf6039f0SWarner Losh		basic_machine=none-none
3136bf6039f0SWarner Losh		os=-none
3137bf6039f0SWarner Losh		;;
3138bf6039f0SWarner Losh
3139bf6039f0SWarner Losh# Here we handle the default manufacturer of certain CPU types.  It is in
3140bf6039f0SWarner Losh# some cases the only manufacturer, in others, it is the most popular.
3141bf6039f0SWarner Losh	w89k)
3142bf6039f0SWarner Losh		basic_machine=hppa1.1-winbond
3143bf6039f0SWarner Losh		;;
3144bf6039f0SWarner Losh	op50n)
3145bf6039f0SWarner Losh		basic_machine=hppa1.1-oki
3146bf6039f0SWarner Losh		;;
3147bf6039f0SWarner Losh	op60c)
3148bf6039f0SWarner Losh		basic_machine=hppa1.1-oki
3149bf6039f0SWarner Losh		;;
3150bf6039f0SWarner Losh	romp)
3151bf6039f0SWarner Losh		basic_machine=romp-ibm
3152bf6039f0SWarner Losh		;;
3153bf6039f0SWarner Losh	mmix)
3154bf6039f0SWarner Losh		basic_machine=mmix-knuth
3155bf6039f0SWarner Losh		;;
3156bf6039f0SWarner Losh	rs6000)
3157bf6039f0SWarner Losh		basic_machine=rs6000-ibm
3158bf6039f0SWarner Losh		;;
3159bf6039f0SWarner Losh	vax)
3160bf6039f0SWarner Losh		basic_machine=vax-dec
3161bf6039f0SWarner Losh		;;
3162bf6039f0SWarner Losh	pdp10)
3163bf6039f0SWarner Losh		# there are many clones, so DEC is not a safe bet
3164bf6039f0SWarner Losh		basic_machine=pdp10-unknown
3165bf6039f0SWarner Losh		;;
3166bf6039f0SWarner Losh	pdp11)
3167bf6039f0SWarner Losh		basic_machine=pdp11-dec
3168bf6039f0SWarner Losh		;;
3169bf6039f0SWarner Losh	we32k)
3170bf6039f0SWarner Losh		basic_machine=we32k-att
3171bf6039f0SWarner Losh		;;
3172bf6039f0SWarner Losh	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
3173bf6039f0SWarner Losh		basic_machine=sh-unknown
3174bf6039f0SWarner Losh		;;
3175bf6039f0SWarner Losh	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
3176bf6039f0SWarner Losh		basic_machine=sparc-sun
3177bf6039f0SWarner Losh		;;
3178bf6039f0SWarner Losh	cydra)
3179bf6039f0SWarner Losh		basic_machine=cydra-cydrome
3180bf6039f0SWarner Losh		;;
3181bf6039f0SWarner Losh	orion)
3182bf6039f0SWarner Losh		basic_machine=orion-highlevel
3183bf6039f0SWarner Losh		;;
3184bf6039f0SWarner Losh	orion105)
3185bf6039f0SWarner Losh		basic_machine=clipper-highlevel
3186bf6039f0SWarner Losh		;;
3187bf6039f0SWarner Losh	mac | mpw | mac-mpw)
3188bf6039f0SWarner Losh		basic_machine=m68k-apple
3189bf6039f0SWarner Losh		;;
3190bf6039f0SWarner Losh	pmac | pmac-mpw)
3191bf6039f0SWarner Losh		basic_machine=powerpc-apple
3192bf6039f0SWarner Losh		;;
3193bf6039f0SWarner Losh	*-unknown)
3194bf6039f0SWarner Losh		# Make sure to match an already-canonicalized machine name.
3195bf6039f0SWarner Losh		;;
3196bf6039f0SWarner Losh	*)
3197bf6039f0SWarner Losh		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3198bf6039f0SWarner Losh		exit 1
3199bf6039f0SWarner Losh		;;
3200bf6039f0SWarner Loshesac
3201bf6039f0SWarner Losh
3202bf6039f0SWarner Losh# Here we canonicalize certain aliases for manufacturers.
3203bf6039f0SWarner Loshcase $basic_machine in
3204bf6039f0SWarner Losh	*-digital*)
3205bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
3206bf6039f0SWarner Losh		;;
3207bf6039f0SWarner Losh	*-commodore*)
3208bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
3209bf6039f0SWarner Losh		;;
3210bf6039f0SWarner Losh	*)
3211bf6039f0SWarner Losh		;;
3212bf6039f0SWarner Loshesac
3213bf6039f0SWarner Losh
3214bf6039f0SWarner Losh# Decode manufacturer-specific aliases for certain operating systems.
3215bf6039f0SWarner Losh
3216bf6039f0SWarner Loshif [ x"$os" != x"" ]
3217bf6039f0SWarner Loshthen
3218bf6039f0SWarner Loshcase $os in
3219bf6039f0SWarner Losh	# First match some system type aliases
3220bf6039f0SWarner Losh	# that might get confused with valid system types.
3221bf6039f0SWarner Losh	# -solaris* is a basic system type, with this one exception.
3222bf6039f0SWarner Losh	-auroraux)
3223bf6039f0SWarner Losh		os=-auroraux
3224bf6039f0SWarner Losh		;;
3225bf6039f0SWarner Losh	-solaris1 | -solaris1.*)
3226bf6039f0SWarner Losh		os=`echo $os | sed -e 's|solaris1|sunos4|'`
3227bf6039f0SWarner Losh		;;
3228bf6039f0SWarner Losh	-solaris)
3229bf6039f0SWarner Losh		os=-solaris2
3230bf6039f0SWarner Losh		;;
3231bf6039f0SWarner Losh	-svr4*)
3232bf6039f0SWarner Losh		os=-sysv4
3233bf6039f0SWarner Losh		;;
3234bf6039f0SWarner Losh	-unixware*)
3235bf6039f0SWarner Losh		os=-sysv4.2uw
3236bf6039f0SWarner Losh		;;
3237bf6039f0SWarner Losh	-gnu/linux*)
3238bf6039f0SWarner Losh		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
3239bf6039f0SWarner Losh		;;
3240bf6039f0SWarner Losh	# First accept the basic system types.
3241bf6039f0SWarner Losh	# The portable systems comes first.
3242bf6039f0SWarner Losh	# Each alternative MUST END IN A *, to match a version number.
3243bf6039f0SWarner Losh	# -sysv* is not here because it comes later, after sysvr4.
3244bf6039f0SWarner Losh	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
3245bf6039f0SWarner Losh	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
3246bf6039f0SWarner Losh	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
3247bf6039f0SWarner Losh	      | -sym* | -kopensolaris* | -plan9* \
3248bf6039f0SWarner Losh	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
3249bf6039f0SWarner Losh	      | -aos* | -aros* | -cloudabi* | -sortix* \
3250bf6039f0SWarner Losh	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
3251bf6039f0SWarner Losh	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
3252bf6039f0SWarner Losh	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
3253bf6039f0SWarner Losh	      | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
3254bf6039f0SWarner Losh	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
3255bf6039f0SWarner Losh	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
3256bf6039f0SWarner Losh	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
3257bf6039f0SWarner Losh	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
3258bf6039f0SWarner Losh	      | -chorusos* | -chorusrdb* | -cegcc* \
3259bf6039f0SWarner Losh	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
3260bf6039f0SWarner Losh	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
3261bf6039f0SWarner Losh	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
3262bf6039f0SWarner Losh	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
3263bf6039f0SWarner Losh	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
3264bf6039f0SWarner Losh	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
3265bf6039f0SWarner Losh	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
3266bf6039f0SWarner Losh	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
3267bf6039f0SWarner Losh	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
3268bf6039f0SWarner Losh	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
3269bf6039f0SWarner Losh	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
3270bf6039f0SWarner Losh	      | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
3271bf6039f0SWarner Losh	# Remember, each alternative MUST END IN *, to match a version number.
3272bf6039f0SWarner Losh		;;
3273bf6039f0SWarner Losh	-qnx*)
3274bf6039f0SWarner Losh		case $basic_machine in
3275bf6039f0SWarner Losh		    x86-* | i*86-*)
3276bf6039f0SWarner Losh			;;
3277bf6039f0SWarner Losh		    *)
3278bf6039f0SWarner Losh			os=-nto$os
3279bf6039f0SWarner Losh			;;
3280bf6039f0SWarner Losh		esac
3281bf6039f0SWarner Losh		;;
3282bf6039f0SWarner Losh	-nto-qnx*)
3283bf6039f0SWarner Losh		;;
3284bf6039f0SWarner Losh	-nto*)
3285bf6039f0SWarner Losh		os=`echo $os | sed -e 's|nto|nto-qnx|'`
3286bf6039f0SWarner Losh		;;
3287bf6039f0SWarner Losh	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
3288bf6039f0SWarner Losh	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
3289bf6039f0SWarner Losh	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
3290bf6039f0SWarner Losh		;;
3291bf6039f0SWarner Losh	-mac*)
3292bf6039f0SWarner Losh		os=`echo $os | sed -e 's|mac|macos|'`
3293bf6039f0SWarner Losh		;;
3294bf6039f0SWarner Losh	-linux-dietlibc)
3295bf6039f0SWarner Losh		os=-linux-dietlibc
3296bf6039f0SWarner Losh		;;
3297bf6039f0SWarner Losh	-linux*)
3298bf6039f0SWarner Losh		os=`echo $os | sed -e 's|linux|linux-gnu|'`
3299bf6039f0SWarner Losh		;;
3300bf6039f0SWarner Losh	-sunos5*)
3301bf6039f0SWarner Losh		os=`echo $os | sed -e 's|sunos5|solaris2|'`
3302bf6039f0SWarner Losh		;;
3303bf6039f0SWarner Losh	-sunos6*)
3304bf6039f0SWarner Losh		os=`echo $os | sed -e 's|sunos6|solaris3|'`
3305bf6039f0SWarner Losh		;;
3306bf6039f0SWarner Losh	-opened*)
3307bf6039f0SWarner Losh		os=-openedition
3308bf6039f0SWarner Losh		;;
3309bf6039f0SWarner Losh	-os400*)
3310bf6039f0SWarner Losh		os=-os400
3311bf6039f0SWarner Losh		;;
3312bf6039f0SWarner Losh	-wince*)
3313bf6039f0SWarner Losh		os=-wince
3314bf6039f0SWarner Losh		;;
3315bf6039f0SWarner Losh	-osfrose*)
3316bf6039f0SWarner Losh		os=-osfrose
3317bf6039f0SWarner Losh		;;
3318bf6039f0SWarner Losh	-osf*)
3319bf6039f0SWarner Losh		os=-osf
3320bf6039f0SWarner Losh		;;
3321bf6039f0SWarner Losh	-utek*)
3322bf6039f0SWarner Losh		os=-bsd
3323bf6039f0SWarner Losh		;;
3324bf6039f0SWarner Losh	-dynix*)
3325bf6039f0SWarner Losh		os=-bsd
3326bf6039f0SWarner Losh		;;
3327bf6039f0SWarner Losh	-acis*)
3328bf6039f0SWarner Losh		os=-aos
3329bf6039f0SWarner Losh		;;
3330bf6039f0SWarner Losh	-atheos*)
3331bf6039f0SWarner Losh		os=-atheos
3332bf6039f0SWarner Losh		;;
3333bf6039f0SWarner Losh	-syllable*)
3334bf6039f0SWarner Losh		os=-syllable
3335bf6039f0SWarner Losh		;;
3336bf6039f0SWarner Losh	-386bsd)
3337bf6039f0SWarner Losh		os=-bsd
3338bf6039f0SWarner Losh		;;
3339bf6039f0SWarner Losh	-ctix* | -uts*)
3340bf6039f0SWarner Losh		os=-sysv
3341bf6039f0SWarner Losh		;;
3342bf6039f0SWarner Losh	-nova*)
3343bf6039f0SWarner Losh		os=-rtmk-nova
3344bf6039f0SWarner Losh		;;
3345bf6039f0SWarner Losh	-ns2 )
3346bf6039f0SWarner Losh		os=-nextstep2
3347bf6039f0SWarner Losh		;;
3348bf6039f0SWarner Losh	-nsk*)
3349bf6039f0SWarner Losh		os=-nsk
3350bf6039f0SWarner Losh		;;
3351bf6039f0SWarner Losh	# Preserve the version number of sinix5.
3352bf6039f0SWarner Losh	-sinix5.*)
3353bf6039f0SWarner Losh		os=`echo $os | sed -e 's|sinix|sysv|'`
3354bf6039f0SWarner Losh		;;
3355bf6039f0SWarner Losh	-sinix*)
3356bf6039f0SWarner Losh		os=-sysv4
3357bf6039f0SWarner Losh		;;
3358bf6039f0SWarner Losh	-tpf*)
3359bf6039f0SWarner Losh		os=-tpf
3360bf6039f0SWarner Losh		;;
3361bf6039f0SWarner Losh	-triton*)
3362bf6039f0SWarner Losh		os=-sysv3
3363bf6039f0SWarner Losh		;;
3364bf6039f0SWarner Losh	-oss*)
3365bf6039f0SWarner Losh		os=-sysv3
3366bf6039f0SWarner Losh		;;
3367bf6039f0SWarner Losh	-svr4)
3368bf6039f0SWarner Losh		os=-sysv4
3369bf6039f0SWarner Losh		;;
3370bf6039f0SWarner Losh	-svr3)
3371bf6039f0SWarner Losh		os=-sysv3
3372bf6039f0SWarner Losh		;;
3373bf6039f0SWarner Losh	-sysvr4)
3374bf6039f0SWarner Losh		os=-sysv4
3375bf6039f0SWarner Losh		;;
3376bf6039f0SWarner Losh	# This must come after -sysvr4.
3377bf6039f0SWarner Losh	-sysv*)
3378bf6039f0SWarner Losh		;;
3379bf6039f0SWarner Losh	-ose*)
3380bf6039f0SWarner Losh		os=-ose
3381bf6039f0SWarner Losh		;;
3382bf6039f0SWarner Losh	-es1800*)
3383bf6039f0SWarner Losh		os=-ose
3384bf6039f0SWarner Losh		;;
3385bf6039f0SWarner Losh	-xenix)
3386bf6039f0SWarner Losh		os=-xenix
3387bf6039f0SWarner Losh		;;
3388bf6039f0SWarner Losh	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
3389bf6039f0SWarner Losh		os=-mint
3390bf6039f0SWarner Losh		;;
3391bf6039f0SWarner Losh	-aros*)
3392bf6039f0SWarner Losh		os=-aros
3393bf6039f0SWarner Losh		;;
3394bf6039f0SWarner Losh	-zvmoe)
3395bf6039f0SWarner Losh		os=-zvmoe
3396bf6039f0SWarner Losh		;;
3397bf6039f0SWarner Losh	-dicos*)
3398bf6039f0SWarner Losh		os=-dicos
3399bf6039f0SWarner Losh		;;
3400bf6039f0SWarner Losh	-nacl*)
3401bf6039f0SWarner Losh		;;
3402bf6039f0SWarner Losh	-ios)
3403bf6039f0SWarner Losh		;;
3404bf6039f0SWarner Losh	-none)
3405bf6039f0SWarner Losh		;;
3406bf6039f0SWarner Losh	*)
3407bf6039f0SWarner Losh		# Get rid of the `-' at the beginning of $os.
3408bf6039f0SWarner Losh		os=`echo $os | sed 's/[^-]*-//'`
3409bf6039f0SWarner Losh		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
3410bf6039f0SWarner Losh		exit 1
3411bf6039f0SWarner Losh		;;
3412bf6039f0SWarner Loshesac
3413bf6039f0SWarner Loshelse
3414bf6039f0SWarner Losh
3415bf6039f0SWarner Losh# Here we handle the default operating systems that come with various machines.
3416bf6039f0SWarner Losh# The value should be what the vendor currently ships out the door with their
3417bf6039f0SWarner Losh# machine or put another way, the most popular os provided with the machine.
3418bf6039f0SWarner Losh
3419bf6039f0SWarner Losh# Note that if you're going to try to match "-MANUFACTURER" here (say,
3420bf6039f0SWarner Losh# "-sun"), then you have to tell the case statement up towards the top
3421bf6039f0SWarner Losh# that MANUFACTURER isn't an operating system.  Otherwise, code above
3422bf6039f0SWarner Losh# will signal an error saying that MANUFACTURER isn't an operating
3423bf6039f0SWarner Losh# system, and we'll never get to this point.
3424bf6039f0SWarner Losh
3425bf6039f0SWarner Loshcase $basic_machine in
3426bf6039f0SWarner Losh	score-*)
3427bf6039f0SWarner Losh		os=-elf
3428bf6039f0SWarner Losh		;;
3429bf6039f0SWarner Losh	spu-*)
3430bf6039f0SWarner Losh		os=-elf
3431bf6039f0SWarner Losh		;;
3432bf6039f0SWarner Losh	*-acorn)
3433bf6039f0SWarner Losh		os=-riscix1.2
3434bf6039f0SWarner Losh		;;
3435bf6039f0SWarner Losh	arm*-rebel)
3436bf6039f0SWarner Losh		os=-linux
3437bf6039f0SWarner Losh		;;
3438bf6039f0SWarner Losh	arm*-semi)
3439bf6039f0SWarner Losh		os=-aout
3440bf6039f0SWarner Losh		;;
3441bf6039f0SWarner Losh	c4x-* | tic4x-*)
3442bf6039f0SWarner Losh		os=-coff
3443bf6039f0SWarner Losh		;;
3444bf6039f0SWarner Losh	c8051-*)
3445bf6039f0SWarner Losh		os=-elf
3446bf6039f0SWarner Losh		;;
3447bf6039f0SWarner Losh	hexagon-*)
3448bf6039f0SWarner Losh		os=-elf
3449bf6039f0SWarner Losh		;;
3450bf6039f0SWarner Losh	tic54x-*)
3451bf6039f0SWarner Losh		os=-coff
3452bf6039f0SWarner Losh		;;
3453bf6039f0SWarner Losh	tic55x-*)
3454bf6039f0SWarner Losh		os=-coff
3455bf6039f0SWarner Losh		;;
3456bf6039f0SWarner Losh	tic6x-*)
3457bf6039f0SWarner Losh		os=-coff
3458bf6039f0SWarner Losh		;;
3459bf6039f0SWarner Losh	# This must come before the *-dec entry.
3460bf6039f0SWarner Losh	pdp10-*)
3461bf6039f0SWarner Losh		os=-tops20
3462bf6039f0SWarner Losh		;;
3463bf6039f0SWarner Losh	pdp11-*)
3464bf6039f0SWarner Losh		os=-none
3465bf6039f0SWarner Losh		;;
3466bf6039f0SWarner Losh	*-dec | vax-*)
3467bf6039f0SWarner Losh		os=-ultrix4.2
3468bf6039f0SWarner Losh		;;
3469bf6039f0SWarner Losh	m68*-apollo)
3470bf6039f0SWarner Losh		os=-domain
3471bf6039f0SWarner Losh		;;
3472bf6039f0SWarner Losh	i386-sun)
3473bf6039f0SWarner Losh		os=-sunos4.0.2
3474bf6039f0SWarner Losh		;;
3475bf6039f0SWarner Losh	m68000-sun)
3476bf6039f0SWarner Losh		os=-sunos3
3477bf6039f0SWarner Losh		;;
3478bf6039f0SWarner Losh	m68*-cisco)
3479bf6039f0SWarner Losh		os=-aout
3480bf6039f0SWarner Losh		;;
3481bf6039f0SWarner Losh	mep-*)
3482bf6039f0SWarner Losh		os=-elf
3483bf6039f0SWarner Losh		;;
3484bf6039f0SWarner Losh	mips*-cisco)
3485bf6039f0SWarner Losh		os=-elf
3486bf6039f0SWarner Losh		;;
3487bf6039f0SWarner Losh	mips*-*)
3488bf6039f0SWarner Losh		os=-elf
3489bf6039f0SWarner Losh		;;
3490bf6039f0SWarner Losh	or32-*)
3491bf6039f0SWarner Losh		os=-coff
3492bf6039f0SWarner Losh		;;
3493bf6039f0SWarner Losh	*-tti)	# must be before sparc entry or we get the wrong os.
3494bf6039f0SWarner Losh		os=-sysv3
3495bf6039f0SWarner Losh		;;
3496bf6039f0SWarner Losh	sparc-* | *-sun)
3497bf6039f0SWarner Losh		os=-sunos4.1.1
3498bf6039f0SWarner Losh		;;
3499bf6039f0SWarner Losh	*-be)
3500bf6039f0SWarner Losh		os=-beos
3501bf6039f0SWarner Losh		;;
3502bf6039f0SWarner Losh	*-haiku)
3503bf6039f0SWarner Losh		os=-haiku
3504bf6039f0SWarner Losh		;;
3505bf6039f0SWarner Losh	*-ibm)
3506bf6039f0SWarner Losh		os=-aix
3507bf6039f0SWarner Losh		;;
3508bf6039f0SWarner Losh	*-knuth)
3509bf6039f0SWarner Losh		os=-mmixware
3510bf6039f0SWarner Losh		;;
3511bf6039f0SWarner Losh	*-wec)
3512bf6039f0SWarner Losh		os=-proelf
3513bf6039f0SWarner Losh		;;
3514bf6039f0SWarner Losh	*-winbond)
3515bf6039f0SWarner Losh		os=-proelf
3516bf6039f0SWarner Losh		;;
3517bf6039f0SWarner Losh	*-oki)
3518bf6039f0SWarner Losh		os=-proelf
3519bf6039f0SWarner Losh		;;
3520bf6039f0SWarner Losh	*-hp)
3521bf6039f0SWarner Losh		os=-hpux
3522bf6039f0SWarner Losh		;;
3523bf6039f0SWarner Losh	*-hitachi)
3524bf6039f0SWarner Losh		os=-hiux
3525bf6039f0SWarner Losh		;;
3526bf6039f0SWarner Losh	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
3527bf6039f0SWarner Losh		os=-sysv
3528bf6039f0SWarner Losh		;;
3529bf6039f0SWarner Losh	*-cbm)
3530bf6039f0SWarner Losh		os=-amigaos
3531bf6039f0SWarner Losh		;;
3532bf6039f0SWarner Losh	*-dg)
3533bf6039f0SWarner Losh		os=-dgux
3534bf6039f0SWarner Losh		;;
3535bf6039f0SWarner Losh	*-dolphin)
3536bf6039f0SWarner Losh		os=-sysv3
3537bf6039f0SWarner Losh		;;
3538bf6039f0SWarner Losh	m68k-ccur)
3539bf6039f0SWarner Losh		os=-rtu
3540bf6039f0SWarner Losh		;;
3541bf6039f0SWarner Losh	m88k-omron*)
3542bf6039f0SWarner Losh		os=-luna
3543bf6039f0SWarner Losh		;;
3544bf6039f0SWarner Losh	*-next )
3545bf6039f0SWarner Losh		os=-nextstep
3546bf6039f0SWarner Losh		;;
3547bf6039f0SWarner Losh	*-sequent)
3548bf6039f0SWarner Losh		os=-ptx
3549bf6039f0SWarner Losh		;;
3550bf6039f0SWarner Losh	*-crds)
3551bf6039f0SWarner Losh		os=-unos
3552bf6039f0SWarner Losh		;;
3553bf6039f0SWarner Losh	*-ns)
3554bf6039f0SWarner Losh		os=-genix
3555bf6039f0SWarner Losh		;;
3556bf6039f0SWarner Losh	i370-*)
3557bf6039f0SWarner Losh		os=-mvs
3558bf6039f0SWarner Losh		;;
3559bf6039f0SWarner Losh	*-next)
3560bf6039f0SWarner Losh		os=-nextstep3
3561bf6039f0SWarner Losh		;;
3562bf6039f0SWarner Losh	*-gould)
3563bf6039f0SWarner Losh		os=-sysv
3564bf6039f0SWarner Losh		;;
3565bf6039f0SWarner Losh	*-highlevel)
3566bf6039f0SWarner Losh		os=-bsd
3567bf6039f0SWarner Losh		;;
3568bf6039f0SWarner Losh	*-encore)
3569bf6039f0SWarner Losh		os=-bsd
3570bf6039f0SWarner Losh		;;
3571bf6039f0SWarner Losh	*-sgi)
3572bf6039f0SWarner Losh		os=-irix
3573bf6039f0SWarner Losh		;;
3574bf6039f0SWarner Losh	*-siemens)
3575bf6039f0SWarner Losh		os=-sysv4
3576bf6039f0SWarner Losh		;;
3577bf6039f0SWarner Losh	*-masscomp)
3578bf6039f0SWarner Losh		os=-rtu
3579bf6039f0SWarner Losh		;;
3580bf6039f0SWarner Losh	f30[01]-fujitsu | f700-fujitsu)
3581bf6039f0SWarner Losh		os=-uxpv
3582bf6039f0SWarner Losh		;;
3583bf6039f0SWarner Losh	*-rom68k)
3584bf6039f0SWarner Losh		os=-coff
3585bf6039f0SWarner Losh		;;
3586bf6039f0SWarner Losh	*-*bug)
3587bf6039f0SWarner Losh		os=-coff
3588bf6039f0SWarner Losh		;;
3589bf6039f0SWarner Losh	*-apple)
3590bf6039f0SWarner Losh		os=-macos
3591bf6039f0SWarner Losh		;;
3592bf6039f0SWarner Losh	*-atari*)
3593bf6039f0SWarner Losh		os=-mint
3594bf6039f0SWarner Losh		;;
3595bf6039f0SWarner Losh	*)
3596bf6039f0SWarner Losh		os=-none
3597bf6039f0SWarner Losh		;;
3598bf6039f0SWarner Loshesac
3599bf6039f0SWarner Loshfi
3600bf6039f0SWarner Losh
3601bf6039f0SWarner Losh# Here we handle the case where we know the os, and the CPU type, but not the
3602bf6039f0SWarner Losh# manufacturer.  We pick the logical manufacturer.
3603bf6039f0SWarner Loshvendor=unknown
3604bf6039f0SWarner Loshcase $basic_machine in
3605bf6039f0SWarner Losh	*-unknown)
3606bf6039f0SWarner Losh		case $os in
3607bf6039f0SWarner Losh			-riscix*)
3608bf6039f0SWarner Losh				vendor=acorn
3609bf6039f0SWarner Losh				;;
3610bf6039f0SWarner Losh			-sunos*)
3611bf6039f0SWarner Losh				vendor=sun
3612bf6039f0SWarner Losh				;;
3613bf6039f0SWarner Losh			-cnk*|-aix*)
3614bf6039f0SWarner Losh				vendor=ibm
3615bf6039f0SWarner Losh				;;
3616bf6039f0SWarner Losh			-beos*)
3617bf6039f0SWarner Losh				vendor=be
3618bf6039f0SWarner Losh				;;
3619bf6039f0SWarner Losh			-hpux*)
3620bf6039f0SWarner Losh				vendor=hp
3621bf6039f0SWarner Losh				;;
3622bf6039f0SWarner Losh			-mpeix*)
3623bf6039f0SWarner Losh				vendor=hp
3624bf6039f0SWarner Losh				;;
3625bf6039f0SWarner Losh			-hiux*)
3626bf6039f0SWarner Losh				vendor=hitachi
3627bf6039f0SWarner Losh				;;
3628bf6039f0SWarner Losh			-unos*)
3629bf6039f0SWarner Losh				vendor=crds
3630bf6039f0SWarner Losh				;;
3631bf6039f0SWarner Losh			-dgux*)
3632bf6039f0SWarner Losh				vendor=dg
3633bf6039f0SWarner Losh				;;
3634bf6039f0SWarner Losh			-luna*)
3635bf6039f0SWarner Losh				vendor=omron
3636bf6039f0SWarner Losh				;;
3637bf6039f0SWarner Losh			-genix*)
3638bf6039f0SWarner Losh				vendor=ns
3639bf6039f0SWarner Losh				;;
3640bf6039f0SWarner Losh			-mvs* | -opened*)
3641bf6039f0SWarner Losh				vendor=ibm
3642bf6039f0SWarner Losh				;;
3643bf6039f0SWarner Losh			-os400*)
3644bf6039f0SWarner Losh				vendor=ibm
3645bf6039f0SWarner Losh				;;
3646bf6039f0SWarner Losh			-ptx*)
3647bf6039f0SWarner Losh				vendor=sequent
3648bf6039f0SWarner Losh				;;
3649bf6039f0SWarner Losh			-tpf*)
3650bf6039f0SWarner Losh				vendor=ibm
3651bf6039f0SWarner Losh				;;
3652bf6039f0SWarner Losh			-vxsim* | -vxworks* | -windiss*)
3653bf6039f0SWarner Losh				vendor=wrs
3654bf6039f0SWarner Losh				;;
3655bf6039f0SWarner Losh			-aux*)
3656bf6039f0SWarner Losh				vendor=apple
3657bf6039f0SWarner Losh				;;
3658bf6039f0SWarner Losh			-hms*)
3659bf6039f0SWarner Losh				vendor=hitachi
3660bf6039f0SWarner Losh				;;
3661bf6039f0SWarner Losh			-mpw* | -macos*)
3662bf6039f0SWarner Losh				vendor=apple
3663bf6039f0SWarner Losh				;;
3664bf6039f0SWarner Losh			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
3665bf6039f0SWarner Losh				vendor=atari
3666bf6039f0SWarner Losh				;;
3667bf6039f0SWarner Losh			-vos*)
3668bf6039f0SWarner Losh				vendor=stratus
3669bf6039f0SWarner Losh				;;
3670bf6039f0SWarner Losh		esac
3671bf6039f0SWarner Losh		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
3672bf6039f0SWarner Losh		;;
3673bf6039f0SWarner Loshesac
3674bf6039f0SWarner Losh
3675bf6039f0SWarner Loshecho $basic_machine$os
3676bf6039f0SWarner Loshexit
3677bf6039f0SWarner Losh
3678bf6039f0SWarner Losh# Local variables:
3679bf6039f0SWarner Losh# eval: (add-hook 'write-file-hooks 'time-stamp)
3680bf6039f0SWarner Losh# time-stamp-start: "timestamp='"
3681bf6039f0SWarner Losh# time-stamp-format: "%:y-%02m-%02d"
3682bf6039f0SWarner Losh# time-stamp-end: "'"
3683bf6039f0SWarner Losh# End:
3684*c43cad87SWarner Losh>>>>>>> main
3685