ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/config.sub
Revision: 8978
Committed: Sat May 18 21:08:19 2019 UTC (7 years, 2 months ago) by michael
File size: 31611 byte(s)
Log Message:
- autoreconf

File Contents

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

Properties

Name Value
svn:eol-style native
svn:executable *