libmspack 0.10.1.2 → 0.11.0

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