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