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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: