vinted-memcached 1.8.5 → 1.8.6

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