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