Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/cuda/config/config.sub
ViewVC logotype

Annotation of /branches/cuda/config/config.sub

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5597 - (view) (download)

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

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0