libmspack 0.10.1.2 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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: "'"