ffi-libarchive-binary 0.2.6-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1860 @@
1
+ #! /bin/sh
2
+ # Configuration validation subroutine script.
3
+ # Copyright 1992-2021 Free Software Foundation, Inc.
4
+
5
+ timestamp='2021-03-10'
6
+
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
+ # the Free Software Foundation; either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # 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
+ #
17
+ # You should have received a copy of the GNU General Public License
18
+ # along with this program; if not, see <https://www.gnu.org/licenses/>.
19
+ #
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
+ # 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
+
27
+
28
+ # Please send patches to <config-patches@gnu.org>.
29
+ #
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
+ # You can get the latest version of this script from:
36
+ # https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
37
+
38
+ # 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
+ me=$(echo "$0" | sed -e 's,.*/,,')
54
+
55
+ usage="\
56
+ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
57
+
58
+ Canonicalize a configuration name.
59
+
60
+ Options:
61
+ -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
+ Copyright 1992-2021 Free Software Foundation, Inc.
71
+
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
+ echo "$me: invalid option $1$help" >&2
93
+ exit 1 ;;
94
+
95
+ *local*)
96
+ # First pass through any local machine types.
97
+ echo "$1"
98
+ 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
+ # 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
+ ;;
125
+ *-*-*-*)
126
+ basic_machine=$field1-$field2
127
+ basic_os=$field3-$field4
128
+ ;;
129
+ *-*-*)
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
+ ;;
151
+ *-*)
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
+ ;;
187
+ *)
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
+ ;;
641
+ 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
+ ;;
651
+ op50n)
652
+ cpu=hppa1.1
653
+ vendor=oki
654
+ ;;
655
+ op60c)
656
+ cpu=hppa1.1
657
+ vendor=oki
658
+ ;;
659
+ ibm*)
660
+ cpu=i370
661
+ vendor=ibm
662
+ ;;
663
+ orion105)
664
+ cpu=clipper
665
+ vendor=highlevel
666
+ ;;
667
+ mac | mpw | mac-mpw)
668
+ cpu=m68k
669
+ vendor=apple
670
+ ;;
671
+ pmac | pmac-mpw)
672
+ cpu=powerpc
673
+ vendor=apple
674
+ ;;
675
+
676
+ # 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
+ cpu=m68000
680
+ vendor=att
681
+ ;;
682
+ 3b*)
683
+ cpu=we32k
684
+ vendor=att
685
+ ;;
686
+ bluegene*)
687
+ cpu=powerpc
688
+ vendor=ibm
689
+ basic_os=cnk
690
+ ;;
691
+ decsystem10* | dec10*)
692
+ cpu=pdp10
693
+ vendor=dec
694
+ basic_os=tops10
695
+ ;;
696
+ decsystem20* | dec20*)
697
+ cpu=pdp10
698
+ vendor=dec
699
+ basic_os=tops20
700
+ ;;
701
+ delta | 3300 | motorola-3300 | motorola-delta \
702
+ | 3300-motorola | delta-motorola)
703
+ cpu=m68k
704
+ vendor=motorola
705
+ ;;
706
+ dpx2*)
707
+ cpu=m68k
708
+ vendor=bull
709
+ basic_os=sysv3
710
+ ;;
711
+ encore | umax | mmax)
712
+ cpu=ns32k
713
+ vendor=encore
714
+ ;;
715
+ elxsi)
716
+ cpu=elxsi
717
+ vendor=elxsi
718
+ basic_os=${basic_os:-bsd}
719
+ ;;
720
+ fx2800)
721
+ cpu=i860
722
+ vendor=alliant
723
+ ;;
724
+ genix)
725
+ cpu=ns32k
726
+ vendor=ns
727
+ ;;
728
+ h3050r* | hiux*)
729
+ cpu=hppa1.1
730
+ vendor=hitachi
731
+ basic_os=hiuxwe2
732
+ ;;
733
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
734
+ cpu=hppa1.0
735
+ vendor=hp
736
+ ;;
737
+ hp9k2[0-9][0-9] | hp9k31[0-9])
738
+ cpu=m68000
739
+ vendor=hp
740
+ ;;
741
+ hp9k3[2-9][0-9])
742
+ cpu=m68k
743
+ vendor=hp
744
+ ;;
745
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
746
+ cpu=hppa1.0
747
+ vendor=hp
748
+ ;;
749
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
750
+ cpu=hppa1.1
751
+ vendor=hp
752
+ ;;
753
+ hp9k78[0-9] | hp78[0-9])
754
+ # FIXME: really hppa2.0-hp
755
+ cpu=hppa1.1
756
+ vendor=hp
757
+ ;;
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
+ cpu=hppa1.1
761
+ vendor=hp
762
+ ;;
763
+ hp9k8[0-9][13679] | hp8[0-9][13679])
764
+ cpu=hppa1.1
765
+ vendor=hp
766
+ ;;
767
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
768
+ cpu=hppa1.0
769
+ vendor=hp
770
+ ;;
771
+ i*86v32)
772
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
773
+ vendor=pc
774
+ basic_os=sysv32
775
+ ;;
776
+ i*86v4*)
777
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
778
+ vendor=pc
779
+ basic_os=sysv4
780
+ ;;
781
+ i*86v)
782
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
783
+ vendor=pc
784
+ basic_os=sysv
785
+ ;;
786
+ i*86sol2)
787
+ 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
+ ;;
796
+ iris | iris4d)
797
+ cpu=mips
798
+ vendor=sgi
799
+ case $basic_os in
800
+ irix*)
801
+ ;;
802
+ *)
803
+ basic_os=irix4
804
+ ;;
805
+ esac
806
+ ;;
807
+ miniframe)
808
+ cpu=m68000
809
+ vendor=convergent
810
+ ;;
811
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
812
+ cpu=m68k
813
+ vendor=atari
814
+ basic_os=mint
815
+ ;;
816
+ news-3600 | risc-news)
817
+ 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
+ ;;
829
+ ns2*)
830
+ basic_os=nextstep2
831
+ ;;
832
+ *)
833
+ basic_os=nextstep3
834
+ ;;
835
+ esac
836
+ ;;
837
+ np1)
838
+ cpu=np1
839
+ vendor=gould
840
+ ;;
841
+ op50n-* | op60c-*)
842
+ cpu=hppa1.1
843
+ vendor=oki
844
+ basic_os=proelf
845
+ ;;
846
+ pa-hitachi)
847
+ cpu=hppa1.1
848
+ vendor=hitachi
849
+ basic_os=hiuxwe2
850
+ ;;
851
+ pbd)
852
+ cpu=sparc
853
+ vendor=tti
854
+ ;;
855
+ pbb)
856
+ cpu=m68k
857
+ vendor=tti
858
+ ;;
859
+ pc532)
860
+ cpu=ns32k
861
+ vendor=pc532
862
+ ;;
863
+ pn)
864
+ cpu=pn
865
+ vendor=gould
866
+ ;;
867
+ power)
868
+ cpu=power
869
+ vendor=ibm
870
+ ;;
871
+ ps2)
872
+ cpu=i386
873
+ vendor=ibm
874
+ ;;
875
+ rm[46]00)
876
+ cpu=mips
877
+ vendor=siemens
878
+ ;;
879
+ rtpc | rtpc-*)
880
+ cpu=romp
881
+ vendor=ibm
882
+ ;;
883
+ 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
+ ;;
893
+ tower | tower-32)
894
+ cpu=m68k
895
+ vendor=ncr
896
+ ;;
897
+ vpp*|vx|vx-*)
898
+ cpu=f301
899
+ vendor=fujitsu
900
+ ;;
901
+ w65)
902
+ cpu=w65
903
+ vendor=wdc
904
+ ;;
905
+ w89k-*)
906
+ cpu=hppa1.1
907
+ vendor=winbond
908
+ basic_os=proelf
909
+ ;;
910
+ none)
911
+ cpu=none
912
+ vendor=none
913
+ ;;
914
+ 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
+ ;;
929
+ # 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
+ ;;
936
+ # 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
+ ;;
942
+ x64 | amd64)
943
+ cpu=x86_64
944
+ vendor=pc
945
+ ;;
946
+ # Recognize the basic CPU types without company name.
947
+ *)
948
+ cpu=$basic_machine
949
+ vendor=unknown
950
+ ;;
951
+ 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
+ ;;
963
+ c90-unknown | c90-cray)
964
+ vendor=cray
965
+ basic_os=${Basic_os:-unicos}
966
+ ;;
967
+ fx80-unknown)
968
+ vendor=alliant
969
+ ;;
970
+ romp-unknown)
971
+ vendor=ibm
972
+ ;;
973
+ mmix-unknown)
974
+ vendor=knuth
975
+ ;;
976
+ microblaze-unknown | microblazeel-unknown)
977
+ vendor=xilinx
978
+ ;;
979
+ rs6000-unknown)
980
+ vendor=ibm
981
+ ;;
982
+ vax-unknown)
983
+ vendor=dec
984
+ ;;
985
+ pdp11-unknown)
986
+ vendor=dec
987
+ ;;
988
+ we32k-unknown)
989
+ vendor=att
990
+ ;;
991
+ cydra-unknown)
992
+ vendor=cydrome
993
+ ;;
994
+ i370-ibm*)
995
+ vendor=ibm
996
+ ;;
997
+ orion-unknown)
998
+ vendor=highlevel
999
+ ;;
1000
+ xps-unknown | xps100-unknown)
1001
+ cpu=xps100
1002
+ vendor=honeywell
1003
+ ;;
1004
+
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
+ ;;
1011
+
1012
+ # Here we normalize CPU types irrespective of the vendor
1013
+ amd64-*)
1014
+ cpu=x86_64
1015
+ ;;
1016
+ blackfin-*)
1017
+ cpu=bfin
1018
+ basic_os=linux
1019
+ ;;
1020
+ c54x-*)
1021
+ cpu=tic54x
1022
+ ;;
1023
+ c55x-*)
1024
+ cpu=tic55x
1025
+ ;;
1026
+ c6x-*)
1027
+ cpu=tic6x
1028
+ ;;
1029
+ e500v[12]-*)
1030
+ cpu=powerpc
1031
+ basic_os=${basic_os}"spe"
1032
+ ;;
1033
+ mips3*-*)
1034
+ cpu=mips64
1035
+ ;;
1036
+ ms1-*)
1037
+ cpu=mt
1038
+ ;;
1039
+ m68knommu-*)
1040
+ cpu=m68k
1041
+ basic_os=linux
1042
+ ;;
1043
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1044
+ cpu=s12z
1045
+ ;;
1046
+ openrisc-*)
1047
+ cpu=or32
1048
+ ;;
1049
+ parisc-*)
1050
+ cpu=hppa
1051
+ basic_os=linux
1052
+ ;;
1053
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1054
+ cpu=i586
1055
+ ;;
1056
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
1057
+ cpu=i686
1058
+ ;;
1059
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1060
+ cpu=i686
1061
+ ;;
1062
+ pentium4-*)
1063
+ cpu=i786
1064
+ ;;
1065
+ pc98-*)
1066
+ cpu=i386
1067
+ ;;
1068
+ ppc-* | ppcbe-*)
1069
+ cpu=powerpc
1070
+ ;;
1071
+ ppcle-* | powerpclittle-*)
1072
+ cpu=powerpcle
1073
+ ;;
1074
+ ppc64-*)
1075
+ cpu=powerpc64
1076
+ ;;
1077
+ ppc64le-* | powerpc64little-*)
1078
+ cpu=powerpc64le
1079
+ ;;
1080
+ sb1-*)
1081
+ cpu=mipsisa64sb1
1082
+ ;;
1083
+ sb1el-*)
1084
+ cpu=mipsisa64sb1el
1085
+ ;;
1086
+ sh5e[lb]-*)
1087
+ cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
1088
+ ;;
1089
+ spur-*)
1090
+ cpu=spur
1091
+ ;;
1092
+ strongarm-* | thumb-*)
1093
+ cpu=arm
1094
+ ;;
1095
+ tx39-*)
1096
+ cpu=mipstx39
1097
+ ;;
1098
+ tx39el-*)
1099
+ cpu=mipstx39el
1100
+ ;;
1101
+ x64-*)
1102
+ cpu=x86_64
1103
+ ;;
1104
+ xscale-* | xscalee[bl]-*)
1105
+ cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
1106
+ ;;
1107
+ arm64-*)
1108
+ cpu=aarch64
1109
+ ;;
1110
+
1111
+ # 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
+ ;;
1116
+ crisv32-* | etraxfs*-*)
1117
+ cpu=crisv32
1118
+ vendor=axis
1119
+ ;;
1120
+ cris-* | etrax*-*)
1121
+ cpu=cris
1122
+ vendor=axis
1123
+ ;;
1124
+ crx-*)
1125
+ basic_os=${basic_os:-elf}
1126
+ ;;
1127
+ neo-tandem)
1128
+ cpu=neo
1129
+ vendor=tandem
1130
+ ;;
1131
+ nse-tandem)
1132
+ cpu=nse
1133
+ vendor=tandem
1134
+ ;;
1135
+ nsr-tandem)
1136
+ cpu=nsr
1137
+ vendor=tandem
1138
+ ;;
1139
+ 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
+ ;;
1151
+ tile*-*)
1152
+ basic_os=${basic_os:-linux-gnu}
1153
+ ;;
1154
+
1155
+ *)
1156
+ # 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 \
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
+ | mipsisa32r6 | mipsisa32r6el \
1208
+ | mipsisa64 | mipsisa64el \
1209
+ | mipsisa64r2 | mipsisa64r2el \
1210
+ | mipsisa64r6 | mipsisa64r6el \
1211
+ | mipsisa64sb1 | mipsisa64sb1el \
1212
+ | mipsisa64sr71k | mipsisa64sr71kel \
1213
+ | mipsr5900 | mipsr5900el \
1214
+ | mipstx39 | mipstx39el \
1215
+ | mmix \
1216
+ | mn10200 | mn10300 \
1217
+ | moxie \
1218
+ | mt \
1219
+ | msp430 \
1220
+ | nds32 | nds32le | nds32be \
1221
+ | nfp \
1222
+ | nios | nios2 | nios2eb | nios2el \
1223
+ | none | np1 | ns16k | ns32k | nvptx \
1224
+ | open8 \
1225
+ | or1k* \
1226
+ | or32 \
1227
+ | orion \
1228
+ | picochip \
1229
+ | pdp10 | pdp11 | pj | pjl | pn | power \
1230
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
1231
+ | pru \
1232
+ | pyramid \
1233
+ | riscv | riscv32 | riscv32be | riscv64 | riscv64be \
1234
+ | rl78 | romp | rs6000 | rx \
1235
+ | s390 | s390x \
1236
+ | score \
1237
+ | sh | shl \
1238
+ | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
1239
+ | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
1240
+ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
1241
+ | sparclite \
1242
+ | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
1243
+ | spu \
1244
+ | tahoe \
1245
+ | thumbv7* \
1246
+ | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
1247
+ | tron \
1248
+ | ubicom32 \
1249
+ | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
1250
+ | vax \
1251
+ | visium \
1252
+ | w65 \
1253
+ | wasm32 | wasm64 \
1254
+ | we32k \
1255
+ | x86 | x86_64 | xc16x | xgate | xps100 \
1256
+ | xstormy16 | xtensa* \
1257
+ | ymp \
1258
+ | z8k | z80)
1259
+ ;;
1260
+
1261
+ *)
1262
+ echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
1263
+ exit 1
1264
+ ;;
1265
+ esac
1266
+ ;;
1267
+ esac
1268
+
1269
+ # Here we canonicalize certain aliases for manufacturers.
1270
+ case $vendor in
1271
+ digital*)
1272
+ vendor=dec
1273
+ ;;
1274
+ commodore*)
1275
+ vendor=cbm
1276
+ ;;
1277
+ *)
1278
+ ;;
1279
+ esac
1280
+
1281
+ # Decode manufacturer-specific aliases for certain operating systems.
1282
+
1283
+ if test x$basic_os != x
1284
+ then
1285
+
1286
+ # First recognize some ad-hoc caes, or perhaps split kernel-os, or else just
1287
+ # set os.
1288
+ case $basic_os in
1289
+ gnu/linux*)
1290
+ kernel=linux
1291
+ os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
1292
+ ;;
1293
+ os2-emx)
1294
+ kernel=os2
1295
+ os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
1296
+ ;;
1297
+ nto-qnx*)
1298
+ kernel=nto
1299
+ os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
1300
+ ;;
1301
+ *-*)
1302
+ # shellcheck disable=SC2162
1303
+ IFS="-" read kernel os <<EOF
1304
+ $basic_os
1305
+ EOF
1306
+ ;;
1307
+ # Default OS when just kernel was specified
1308
+ nto*)
1309
+ kernel=nto
1310
+ os=$(echo $basic_os | sed -e 's|nto|qnx|')
1311
+ ;;
1312
+ linux*)
1313
+ kernel=linux
1314
+ os=$(echo $basic_os | sed -e 's|linux|gnu|')
1315
+ ;;
1316
+ *)
1317
+ kernel=
1318
+ os=$basic_os
1319
+ ;;
1320
+ esac
1321
+
1322
+ # Now, normalize the OS (knowing we just have one component, it's not a kernel,
1323
+ # etc.)
1324
+ case $os in
1325
+ # First match some system type aliases that might get confused
1326
+ # with valid system types.
1327
+ # solaris* is a basic system type, with this one exception.
1328
+ auroraux)
1329
+ os=auroraux
1330
+ ;;
1331
+ bluegene*)
1332
+ os=cnk
1333
+ ;;
1334
+ solaris1 | solaris1.*)
1335
+ os=$(echo $os | sed -e 's|solaris1|sunos4|')
1336
+ ;;
1337
+ solaris)
1338
+ os=solaris2
1339
+ ;;
1340
+ unixware*)
1341
+ os=sysv4.2uw
1342
+ ;;
1343
+ # es1800 is here to avoid being matched by es* (a different OS)
1344
+ es1800*)
1345
+ os=ose
1346
+ ;;
1347
+ # Some version numbers need modification
1348
+ chorusos*)
1349
+ os=chorusos
1350
+ ;;
1351
+ isc)
1352
+ os=isc2.2
1353
+ ;;
1354
+ sco6)
1355
+ os=sco5v6
1356
+ ;;
1357
+ sco5)
1358
+ os=sco3.2v5
1359
+ ;;
1360
+ sco4)
1361
+ os=sco3.2v4
1362
+ ;;
1363
+ sco3.2.[4-9]*)
1364
+ os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
1365
+ ;;
1366
+ sco*v* | scout)
1367
+ # Don't match below
1368
+ ;;
1369
+ sco*)
1370
+ os=sco3.2v2
1371
+ ;;
1372
+ psos*)
1373
+ os=psos
1374
+ ;;
1375
+ qnx*)
1376
+ os=qnx
1377
+ ;;
1378
+ hiux*)
1379
+ os=hiuxwe2
1380
+ ;;
1381
+ lynx*178)
1382
+ os=lynxos178
1383
+ ;;
1384
+ lynx*5)
1385
+ os=lynxos5
1386
+ ;;
1387
+ lynxos*)
1388
+ # don't get caught up in next wildcard
1389
+ ;;
1390
+ lynx*)
1391
+ os=lynxos
1392
+ ;;
1393
+ mac[0-9]*)
1394
+ os=$(echo "$os" | sed -e 's|mac|macos|')
1395
+ ;;
1396
+ opened*)
1397
+ os=openedition
1398
+ ;;
1399
+ os400*)
1400
+ os=os400
1401
+ ;;
1402
+ sunos5*)
1403
+ os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
1404
+ ;;
1405
+ sunos6*)
1406
+ os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
1407
+ ;;
1408
+ wince*)
1409
+ os=wince
1410
+ ;;
1411
+ utek*)
1412
+ os=bsd
1413
+ ;;
1414
+ dynix*)
1415
+ os=bsd
1416
+ ;;
1417
+ acis*)
1418
+ os=aos
1419
+ ;;
1420
+ atheos*)
1421
+ os=atheos
1422
+ ;;
1423
+ syllable*)
1424
+ os=syllable
1425
+ ;;
1426
+ 386bsd)
1427
+ os=bsd
1428
+ ;;
1429
+ ctix* | uts*)
1430
+ os=sysv
1431
+ ;;
1432
+ nova*)
1433
+ os=rtmk-nova
1434
+ ;;
1435
+ ns2)
1436
+ os=nextstep2
1437
+ ;;
1438
+ # Preserve the version number of sinix5.
1439
+ sinix5.*)
1440
+ os=$(echo $os | sed -e 's|sinix|sysv|')
1441
+ ;;
1442
+ sinix*)
1443
+ os=sysv4
1444
+ ;;
1445
+ tpf*)
1446
+ os=tpf
1447
+ ;;
1448
+ triton*)
1449
+ os=sysv3
1450
+ ;;
1451
+ oss*)
1452
+ os=sysv3
1453
+ ;;
1454
+ svr4*)
1455
+ os=sysv4
1456
+ ;;
1457
+ svr3)
1458
+ os=sysv3
1459
+ ;;
1460
+ sysvr4)
1461
+ os=sysv4
1462
+ ;;
1463
+ ose*)
1464
+ os=ose
1465
+ ;;
1466
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1467
+ os=mint
1468
+ ;;
1469
+ dicos*)
1470
+ os=dicos
1471
+ ;;
1472
+ pikeos*)
1473
+ # Until real need of OS specific support for
1474
+ # particular features comes up, bare metal
1475
+ # configurations are quite functional.
1476
+ case $cpu in
1477
+ arm*)
1478
+ os=eabi
1479
+ ;;
1480
+ *)
1481
+ os=elf
1482
+ ;;
1483
+ esac
1484
+ ;;
1485
+ *)
1486
+ # No normalization, but not necessarily accepted, that comes below.
1487
+ ;;
1488
+ esac
1489
+
1490
+ else
1491
+
1492
+ # Here we handle the default operating systems that come with various machines.
1493
+ # The value should be what the vendor currently ships out the door with their
1494
+ # machine or put another way, the most popular os provided with the machine.
1495
+
1496
+ # Note that if you're going to try to match "-MANUFACTURER" here (say,
1497
+ # "-sun"), then you have to tell the case statement up towards the top
1498
+ # that MANUFACTURER isn't an operating system. Otherwise, code above
1499
+ # will signal an error saying that MANUFACTURER isn't an operating
1500
+ # system, and we'll never get to this point.
1501
+
1502
+ kernel=
1503
+ case $cpu-$vendor in
1504
+ score-*)
1505
+ os=elf
1506
+ ;;
1507
+ spu-*)
1508
+ os=elf
1509
+ ;;
1510
+ *-acorn)
1511
+ os=riscix1.2
1512
+ ;;
1513
+ arm*-rebel)
1514
+ kernel=linux
1515
+ os=gnu
1516
+ ;;
1517
+ arm*-semi)
1518
+ os=aout
1519
+ ;;
1520
+ c4x-* | tic4x-*)
1521
+ os=coff
1522
+ ;;
1523
+ c8051-*)
1524
+ os=elf
1525
+ ;;
1526
+ clipper-intergraph)
1527
+ os=clix
1528
+ ;;
1529
+ hexagon-*)
1530
+ os=elf
1531
+ ;;
1532
+ tic54x-*)
1533
+ os=coff
1534
+ ;;
1535
+ tic55x-*)
1536
+ os=coff
1537
+ ;;
1538
+ tic6x-*)
1539
+ os=coff
1540
+ ;;
1541
+ # This must come before the *-dec entry.
1542
+ pdp10-*)
1543
+ os=tops20
1544
+ ;;
1545
+ pdp11-*)
1546
+ os=none
1547
+ ;;
1548
+ *-dec | vax-*)
1549
+ os=ultrix4.2
1550
+ ;;
1551
+ m68*-apollo)
1552
+ os=domain
1553
+ ;;
1554
+ i386-sun)
1555
+ os=sunos4.0.2
1556
+ ;;
1557
+ m68000-sun)
1558
+ os=sunos3
1559
+ ;;
1560
+ m68*-cisco)
1561
+ os=aout
1562
+ ;;
1563
+ mep-*)
1564
+ os=elf
1565
+ ;;
1566
+ mips*-cisco)
1567
+ os=elf
1568
+ ;;
1569
+ mips*-*)
1570
+ os=elf
1571
+ ;;
1572
+ or32-*)
1573
+ os=coff
1574
+ ;;
1575
+ *-tti) # must be before sparc entry or we get the wrong os.
1576
+ os=sysv3
1577
+ ;;
1578
+ sparc-* | *-sun)
1579
+ os=sunos4.1.1
1580
+ ;;
1581
+ pru-*)
1582
+ os=elf
1583
+ ;;
1584
+ *-be)
1585
+ os=beos
1586
+ ;;
1587
+ *-ibm)
1588
+ os=aix
1589
+ ;;
1590
+ *-knuth)
1591
+ os=mmixware
1592
+ ;;
1593
+ *-wec)
1594
+ os=proelf
1595
+ ;;
1596
+ *-winbond)
1597
+ os=proelf
1598
+ ;;
1599
+ *-oki)
1600
+ os=proelf
1601
+ ;;
1602
+ *-hp)
1603
+ os=hpux
1604
+ ;;
1605
+ *-hitachi)
1606
+ os=hiux
1607
+ ;;
1608
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1609
+ os=sysv
1610
+ ;;
1611
+ *-cbm)
1612
+ os=amigaos
1613
+ ;;
1614
+ *-dg)
1615
+ os=dgux
1616
+ ;;
1617
+ *-dolphin)
1618
+ os=sysv3
1619
+ ;;
1620
+ m68k-ccur)
1621
+ os=rtu
1622
+ ;;
1623
+ m88k-omron*)
1624
+ os=luna
1625
+ ;;
1626
+ *-next)
1627
+ os=nextstep
1628
+ ;;
1629
+ *-sequent)
1630
+ os=ptx
1631
+ ;;
1632
+ *-crds)
1633
+ os=unos
1634
+ ;;
1635
+ *-ns)
1636
+ os=genix
1637
+ ;;
1638
+ i370-*)
1639
+ os=mvs
1640
+ ;;
1641
+ *-gould)
1642
+ os=sysv
1643
+ ;;
1644
+ *-highlevel)
1645
+ os=bsd
1646
+ ;;
1647
+ *-encore)
1648
+ os=bsd
1649
+ ;;
1650
+ *-sgi)
1651
+ os=irix
1652
+ ;;
1653
+ *-siemens)
1654
+ os=sysv4
1655
+ ;;
1656
+ *-masscomp)
1657
+ os=rtu
1658
+ ;;
1659
+ f30[01]-fujitsu | f700-fujitsu)
1660
+ os=uxpv
1661
+ ;;
1662
+ *-rom68k)
1663
+ os=coff
1664
+ ;;
1665
+ *-*bug)
1666
+ os=coff
1667
+ ;;
1668
+ *-apple)
1669
+ os=macos
1670
+ ;;
1671
+ *-atari*)
1672
+ os=mint
1673
+ ;;
1674
+ *-wrs)
1675
+ os=vxworks
1676
+ ;;
1677
+ *)
1678
+ os=none
1679
+ ;;
1680
+ esac
1681
+
1682
+ fi
1683
+
1684
+ # Now, validate our (potentially fixed-up) OS.
1685
+ case $os in
1686
+ # Sometimes we do "kernel-libc", so those need to count as OSes.
1687
+ musl* | newlib* | uclibc*)
1688
+ ;;
1689
+ # Likewise for "kernel-abi"
1690
+ eabi* | gnueabi*)
1691
+ ;;
1692
+ # VxWorks passes extra cpu info in the 4th filed.
1693
+ simlinux | simwindows | spe)
1694
+ ;;
1695
+ # Now accept the basic system types.
1696
+ # The portable systems comes first.
1697
+ # Each alternative MUST end in a * to match a version number.
1698
+ gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
1699
+ | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
1700
+ | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
1701
+ | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
1702
+ | hiux* | abug | nacl* | netware* | windows* \
1703
+ | os9* | macos* | osx* | ios* \
1704
+ | mpw* | magic* | mmixware* | mon960* | lnews* \
1705
+ | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
1706
+ | aos* | aros* | cloudabi* | sortix* | twizzler* \
1707
+ | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
1708
+ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
1709
+ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
1710
+ | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
1711
+ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
1712
+ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
1713
+ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
1714
+ | udi* | lites* | ieee* | go32* | aux* | hcos* \
1715
+ | chorusrdb* | cegcc* | glidix* | serenity* \
1716
+ | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
1717
+ | midipix* | mingw32* | mingw64* | mint* \
1718
+ | uxpv* | beos* | mpeix* | udk* | moxiebox* \
1719
+ | interix* | uwin* | mks* | rhapsody* | darwin* \
1720
+ | openstep* | oskit* | conix* | pw32* | nonstopux* \
1721
+ | storm-chaos* | tops10* | tenex* | tops20* | its* \
1722
+ | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \
1723
+ | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
1724
+ | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
1725
+ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
1726
+ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
1727
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
1728
+ | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx*)
1729
+ ;;
1730
+ # This one is extra strict with allowed versions
1731
+ sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
1732
+ # Don't forget version if it is 3.2v4 or newer.
1733
+ ;;
1734
+ none)
1735
+ ;;
1736
+ *)
1737
+ echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2
1738
+ exit 1
1739
+ ;;
1740
+ esac
1741
+
1742
+ # As a final step for OS-related things, validate the OS-kernel combination
1743
+ # (given a valid OS), if there is a kernel.
1744
+ case $kernel-$os in
1745
+ linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* | linux-musl* | linux-uclibc* )
1746
+ ;;
1747
+ uclinux-uclibc* )
1748
+ ;;
1749
+ -dietlibc* | -newlib* | -musl* | -uclibc* )
1750
+ # These are just libc implementations, not actual OSes, and thus
1751
+ # require a kernel.
1752
+ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2
1753
+ exit 1
1754
+ ;;
1755
+ kfreebsd*-gnu* | kopensolaris*-gnu*)
1756
+ ;;
1757
+ vxworks-simlinux | vxworks-simwindows | vxworks-spe)
1758
+ ;;
1759
+ nto-qnx*)
1760
+ ;;
1761
+ os2-emx)
1762
+ ;;
1763
+ *-eabi* | *-gnueabi*)
1764
+ ;;
1765
+ -*)
1766
+ # Blank kernel with real OS is always fine.
1767
+ ;;
1768
+ *-*)
1769
+ echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2
1770
+ exit 1
1771
+ ;;
1772
+ esac
1773
+
1774
+ # Here we handle the case where we know the os, and the CPU type, but not the
1775
+ # manufacturer. We pick the logical manufacturer.
1776
+ case $vendor in
1777
+ unknown)
1778
+ case $cpu-$os in
1779
+ *-riscix*)
1780
+ vendor=acorn
1781
+ ;;
1782
+ *-sunos*)
1783
+ vendor=sun
1784
+ ;;
1785
+ *-cnk* | *-aix*)
1786
+ vendor=ibm
1787
+ ;;
1788
+ *-beos*)
1789
+ vendor=be
1790
+ ;;
1791
+ *-hpux*)
1792
+ vendor=hp
1793
+ ;;
1794
+ *-mpeix*)
1795
+ vendor=hp
1796
+ ;;
1797
+ *-hiux*)
1798
+ vendor=hitachi
1799
+ ;;
1800
+ *-unos*)
1801
+ vendor=crds
1802
+ ;;
1803
+ *-dgux*)
1804
+ vendor=dg
1805
+ ;;
1806
+ *-luna*)
1807
+ vendor=omron
1808
+ ;;
1809
+ *-genix*)
1810
+ vendor=ns
1811
+ ;;
1812
+ *-clix*)
1813
+ vendor=intergraph
1814
+ ;;
1815
+ *-mvs* | *-opened*)
1816
+ vendor=ibm
1817
+ ;;
1818
+ *-os400*)
1819
+ vendor=ibm
1820
+ ;;
1821
+ s390-* | s390x-*)
1822
+ vendor=ibm
1823
+ ;;
1824
+ *-ptx*)
1825
+ vendor=sequent
1826
+ ;;
1827
+ *-tpf*)
1828
+ vendor=ibm
1829
+ ;;
1830
+ *-vxsim* | *-vxworks* | *-windiss*)
1831
+ vendor=wrs
1832
+ ;;
1833
+ *-aux*)
1834
+ vendor=apple
1835
+ ;;
1836
+ *-hms*)
1837
+ vendor=hitachi
1838
+ ;;
1839
+ *-mpw* | *-macos*)
1840
+ vendor=apple
1841
+ ;;
1842
+ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
1843
+ vendor=atari
1844
+ ;;
1845
+ *-vos*)
1846
+ vendor=stratus
1847
+ ;;
1848
+ esac
1849
+ ;;
1850
+ esac
1851
+
1852
+ echo "$cpu-$vendor-${kernel:+$kernel-}$os"
1853
+ exit
1854
+
1855
+ # Local variables:
1856
+ # eval: (add-hook 'before-save-hook 'time-stamp)
1857
+ # time-stamp-start: "timestamp='"
1858
+ # time-stamp-format: "%:y-%02m-%02d"
1859
+ # time-stamp-end: "'"
1860
+ # End: