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