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