2 # Configuration validation subroutine script.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5 # Free Software Foundation, Inc.
9 # This file is (in principle) common to ALL GNU software.
10 # The presence of a machine in this file suggests that SOME GNU software
11 # can handle that machine. It does not imply ALL GNU software can.
13 # This file is free software; you can redistribute it and/or modify
14 # it under the terms of the GNU General Public License as published by
15 # the Free Software Foundation; either version 2 of the License, or
16 # (at your option) any later version.
18 # This program is distributed in the hope that it will be useful,
19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 # GNU General Public License for more details.
23 # You should have received a copy of the GNU General Public License
24 # along with this program; if not, write to the Free Software
25 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
28 # As a special exception to the GNU General Public License, if you
29 # distribute this file as part of a program that contains a
30 # configuration script generated by Autoconf, you may include it under
31 # the same distribution terms that you use for the rest of that program.
34 # Please send patches to <config-patches@gnu.org>. Submit a context
35 # diff and a properly formatted GNU ChangeLog entry.
37 # Configuration subroutine to validate and canonicalize a configuration type.
38 # Supply the specified configuration type as an argument.
39 # If it is invalid, we print an error message on stderr and exit with code 1.
40 # Otherwise, we print the canonical config type on stdout and succeed.
42 # You can get the latest version of this script from:
43 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
45 # This file is supposed to be the same for all GNU packages
46 # and recognize all the CPU types, system types and aliases
47 # that are meaningful with *any* GNU software.
48 # Each package is responsible for reporting which valid configurations
49 # it does not support. The user should be able to distinguish
50 # a failure to support a valid configuration from a meaningless
53 # The goal of this file is to map all the various variations of a given
54 # machine specification into a single specification in the form:
55 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56 # or in some cases, the newer four-part form:
57 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58 # It is wrong to echo any other type of specification.
60 me=`echo "$0" | sed -e 's,.*/,,'`
63 Usage: $0 [OPTION] CPU-MFR-OPSYS
66 Canonicalize a configuration name.
69 -h, --help print this help, then exit
70 -t, --time-stamp print date of last modification, then exit
71 -v, --version print version number, then exit
73 Report bugs and patches to <config-patches@gnu.org>."
76 GNU config.sub ($timestamp)
78 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80 Software Foundation, Inc.
82 This is free software; see the source for copying conditions. There is NO
83 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
86 Try \`$me --help' for more information."
89 while test $# -gt 0 ; do
91 --time-stamp | --time* | -t )
92 echo "$timestamp" ; exit ;;
94 echo "$version" ; exit ;;
96 echo "$usage"; exit ;;
97 -- ) # Stop option processing
99 - ) # Use stdin as input.
102 echo "$me: invalid option $1$help"
106 # First pass through any local machine types.
116 0) echo "$me: missing argument$help" >&2
119 *) echo "$me: too many arguments$help" >&2
123 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124 # Here we must recognize all the valid KERNEL-OS combinations.
125 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
127 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129 knetbsd*-gnu* | netbsd*-gnu* | \
130 kopensolaris*-gnu* | \
131 storm-chaos* | os2-emx* | rtmk-nova* | \
134 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
137 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
138 if [ $basic_machine != $1 ]
139 then os=`echo $1 | sed 's/.*-/-/'`
144 ### Let's recognize common machines as not being operating systems so
145 ### that things like config.sub decstation-3100 work. We also
146 ### recognize some manufacturers as not being operating systems, so we
147 ### can provide default operating systems below.
150 # Prevent following clause from handling this invalid input.
152 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
153 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
154 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
155 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
156 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
157 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
158 -apple | -axis | -knuth | -cray | -microblaze)
165 -sim | -cisco | -oki | -wec | -winbond)
188 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
192 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
196 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
200 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
203 # Don't forget version if it is 3.2v4 or newer.
204 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
207 # Don't forget version if it is 3.2v4 or newer.
208 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
212 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
215 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
219 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
222 basic_machine=clipper-intergraph
225 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
231 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
234 os=`echo $os | sed -e 's/windowsnt/winnt/'`
240 basic_machine=m68k-atari
245 # Decode aliases for certain CPU-COMPANY combinations.
246 case $basic_machine in
247 # Recognize the basic CPU types without company name.
248 # Some are omitted here because they have special meanings below.
251 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
254 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
257 | d10v | d30v | dlx | dsp16xx \
258 | fido | fr30 | frv \
259 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
260 | i370 | i860 | i960 | ia64 \
263 | m32c | m32r | m32rle | m68000 | m68k | m88k \
264 | maxq | mb | microblaze | mcore | mep | metag \
265 | mips | mipsbe | mipseb | mipsel | mipsle \
267 | mips64 | mips64el \
268 | mips64octeon | mips64octeonel \
269 | mips64orion | mips64orionel \
270 | mips64r5900 | mips64r5900el \
271 | mips64vr | mips64vrel \
272 | mips64vr4100 | mips64vr4100el \
273 | mips64vr4300 | mips64vr4300el \
274 | mips64vr5000 | mips64vr5000el \
275 | mips64vr5900 | mips64vr5900el \
276 | mipsisa32 | mipsisa32el \
277 | mipsisa32r2 | mipsisa32r2el \
278 | mipsisa64 | mipsisa64el \
279 | mipsisa64r2 | mipsisa64r2el \
280 | mipsisa64sb1 | mipsisa64sb1el \
281 | mipsisa64sr71k | mipsisa64sr71kel \
282 | mipstx39 | mipstx39el \
283 | mn10200 | mn10300 \
290 | pdp10 | pdp11 | pj | pjl \
291 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
295 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
297 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
300 | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
304 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
306 basic_machine=$basic_machine-unknown
309 basic_machine=tic54x-unknown
312 basic_machine=tic55x-unknown
315 basic_machine=tic6x-unknown
317 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
318 # Motorola 68HC11/12.
319 basic_machine=$basic_machine-unknown
322 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
325 basic_machine=mt-unknown
328 # We use `pc' rather than `unknown'
329 # because (1) that's what they normally are, and
330 # (2) the word "unknown" tends to confuse beginning users.
332 basic_machine=$basic_machine-pc
334 # Object if more than one company name word.
336 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
339 # Recognize the basic CPU types with company name.
342 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
343 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
344 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
345 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
347 | bfin-* | bs2000-* \
348 | c[123]* | c30-* | [cjt]90-* | c4x-* \
349 | clipper-* | craynv-* | cydra-* \
350 | d10v-* | d30v-* | dlx-* \
352 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
353 | h8300-* | h8500-* \
354 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
355 | i*86-* | i860-* | i960-* | ia64-* \
356 | ip2k-* | iq2000-* \
358 | m32c-* | m32r-* | m32rle-* \
359 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
361 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
363 | mips64-* | mips64el-* \
364 | mips64octeon-* | mips64octeonel-* \
365 | mips64orion-* | mips64orionel-* \
366 | mips64r5900-* | mips64r5900el-* \
367 | mips64vr-* | mips64vrel-* \
368 | mips64vr4100-* | mips64vr4100el-* \
369 | mips64vr4300-* | mips64vr4300el-* \
370 | mips64vr5000-* | mips64vr5000el-* \
371 | mips64vr5900-* | mips64vr5900el-* \
372 | mipsisa32-* | mipsisa32el-* \
373 | mipsisa32r2-* | mipsisa32r2el-* \
374 | mipsisa64-* | mipsisa64el-* \
375 | mipsisa64r2-* | mipsisa64r2el-* \
376 | mipsisa64sb1-* | mipsisa64sb1el-* \
377 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
378 | mipstx39-* | mipstx39el-* \
383 | none-* | np1-* | ns16k-* | ns32k-* \
385 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
386 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
388 | romp-* | rs6000-* | rx-* \
389 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
390 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
391 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
393 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
394 | tahoe-* | thumb-* \
395 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
396 | tile-* | tilegx-* \
399 | v850-* | v850e-* | vax-* \
401 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
402 | xstormy16-* | xtensa*-* \
406 # Recognize the basic CPU types without company name, with glob match.
408 basic_machine=$basic_machine-unknown
410 # Recognize the various machine names and aliases which stand
411 # for a CPU type and a company and sometimes even an OS.
413 basic_machine=i386-unknown
416 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
417 basic_machine=m68000-att
420 basic_machine=we32k-att
423 basic_machine=a29k-amd
427 basic_machine=abacus-unknown
430 basic_machine=m68010-adobe
434 basic_machine=fx80-alliant
437 basic_machine=m68k-altos
440 basic_machine=a29k-none
444 basic_machine=x86_64-pc
447 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
450 basic_machine=580-amdahl
454 basic_machine=m68k-unknown
457 basic_machine=m68k-unknown
461 basic_machine=m68k-unknown
465 basic_machine=m68k-apollo
469 basic_machine=m68k-apollo
473 basic_machine=i386-pc
477 basic_machine=m68k-apple
481 basic_machine=ns32k-sequent
485 basic_machine=bfin-unknown
489 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
493 basic_machine=powerpc-ibm
497 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
500 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
503 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
506 basic_machine=c90-cray
510 basic_machine=arm-unknown
514 basic_machine=c1-convex
518 basic_machine=c2-convex
522 basic_machine=c32-convex
526 basic_machine=c34-convex
530 basic_machine=c38-convex
534 basic_machine=j90-cray
538 basic_machine=craynv-cray
542 basic_machine=cr16-unknown
546 basic_machine=m68k-crds
548 crisv32 | crisv32-* | etraxfs*)
549 basic_machine=crisv32-axis
551 cris | cris-* | etrax*)
552 basic_machine=cris-axis
555 basic_machine=crx-unknown
559 basic_machine=m68k-da30
561 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
562 basic_machine=mips-dec
564 decsystem10* | dec10*)
565 basic_machine=pdp10-dec
568 decsystem20* | dec20*)
569 basic_machine=pdp10-dec
572 delta | 3300 | motorola-3300 | motorola-delta \
573 | 3300-motorola | delta-motorola)
574 basic_machine=m68k-motorola
577 basic_machine=m88k-motorola
581 basic_machine=i686-pc
585 basic_machine=i586-pc
589 basic_machine=rs6000-bull
593 basic_machine=m68k-bull
597 basic_machine=a29k-amd
601 basic_machine=elxsi-elxsi
604 encore | umax | mmax)
605 basic_machine=ns32k-encore
607 es1800 | OSE68k | ose68k | ose | OSE)
608 basic_machine=m68k-ericsson
612 basic_machine=i860-alliant
615 basic_machine=ns32k-ns
618 basic_machine=tron-gmicro
622 basic_machine=i386-pc
626 basic_machine=hppa1.1-hitachi
630 basic_machine=h8300-hitachi
634 basic_machine=h8300-hitachi
638 basic_machine=h8500-hitachi
642 basic_machine=m88k-harris
646 basic_machine=m68k-hp
649 basic_machine=m68k-hp
653 basic_machine=m68k-hp
656 hp3k9[0-9][0-9] | hp9[0-9][0-9])
657 basic_machine=hppa1.0-hp
659 hp9k2[0-9][0-9] | hp9k31[0-9])
660 basic_machine=m68000-hp
663 basic_machine=m68k-hp
665 hp9k6[0-9][0-9] | hp6[0-9][0-9])
666 basic_machine=hppa1.0-hp
668 hp9k7[0-79][0-9] | hp7[0-79][0-9])
669 basic_machine=hppa1.1-hp
671 hp9k78[0-9] | hp78[0-9])
672 # FIXME: really hppa2.0-hp
673 basic_machine=hppa1.1-hp
675 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
676 # FIXME: really hppa2.0-hp
677 basic_machine=hppa1.1-hp
679 hp9k8[0-9][13679] | hp8[0-9][13679])
680 basic_machine=hppa1.1-hp
682 hp9k8[0-9][0-9] | hp8[0-9][0-9])
683 basic_machine=hppa1.0-hp
689 basic_machine=hppa1.1-hp
693 basic_machine=hppa1.1-hp
697 basic_machine=i370-ibm
699 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
701 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
705 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
709 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
713 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
717 basic_machine=i386-mach
721 basic_machine=i386-unknown
725 basic_machine=mips-sgi
735 basic_machine=m68k-isi
739 basic_machine=m68k-unknown
743 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
747 basic_machine=m88k-omron
750 basic_machine=mips-mips
754 basic_machine=ns32k-utek
758 basic_machine=microblaze-xilinx
761 basic_machine=i386-pc
765 basic_machine=arm-unknown
769 basic_machine=m68000-convergent
771 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
772 basic_machine=m68k-atari
776 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
779 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
782 basic_machine=m68k-rom68k
786 basic_machine=powerpc-unknown
790 basic_machine=i386-pc
794 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
797 basic_machine=i370-ibm
801 basic_machine=i486-ncr
805 basic_machine=i386-unknown
809 basic_machine=armv4l-rebel
812 news | news700 | news800 | news900)
813 basic_machine=m68k-sony
817 basic_machine=m68030-sony
820 news-3600 | risc-news)
821 basic_machine=mips-sony
825 basic_machine=v70-nec
829 basic_machine=m68k-next
842 basic_machine=m68k-harris
846 basic_machine=m88k-harris
850 basic_machine=i960-intel
854 basic_machine=i960-intel
858 basic_machine=mips-compaq
862 basic_machine=np1-gould
865 basic_machine=nsr-tandem
868 basic_machine=hppa1.1-oki
871 openrisc | openrisc-*)
872 basic_machine=or32-unknown
875 basic_machine=powerpc-ibm
879 basic_machine=m68000-ericsson
883 basic_machine=m68k-none
887 basic_machine=hppa1.1-hitachi
891 basic_machine=i860-intel
895 basic_machine=hppa-unknown
899 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
903 basic_machine=sparc-tti
906 basic_machine=m68k-tti
909 basic_machine=ns32k-pc532
912 basic_machine=i386-pc
915 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
917 pentium | p5 | k5 | k6 | nexgen | viac3)
918 basic_machine=i586-pc
920 pentiumpro | p6 | 6x86 | athlon | athlon_*)
921 basic_machine=i686-pc
923 pentiumii | pentium2 | pentiumiii | pentium3)
924 basic_machine=i686-pc
927 basic_machine=i786-pc
929 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
930 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
932 pentiumpro-* | p6-* | 6x86-* | athlon-*)
933 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
935 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
936 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
939 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
942 basic_machine=pn-gould
944 power) basic_machine=power-ibm
946 ppc) basic_machine=powerpc-unknown
948 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
950 ppcle | powerpclittle | ppc-le | powerpc-little)
951 basic_machine=powerpcle-unknown
953 ppcle-* | powerpclittle-*)
954 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
956 ppc64) basic_machine=powerpc64-unknown
958 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
960 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
961 basic_machine=powerpc64le-unknown
963 ppc64le-* | powerpc64little-*)
964 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
967 basic_machine=i386-ibm
970 basic_machine=i586-unknown
974 basic_machine=i386-pc
978 basic_machine=m68k-rom68k
982 basic_machine=mips-siemens
985 basic_machine=romp-ibm
988 basic_machine=s390-ibm
991 basic_machine=s390x-ibm
994 basic_machine=a29k-amd
998 basic_machine=mipsisa64sb1-unknown
1001 basic_machine=mipsisa64sb1el-unknown
1004 basic_machine=mipsisa32-sde
1008 basic_machine=mips-sei
1012 basic_machine=i386-sequent
1015 basic_machine=sh-hitachi
1019 basic_machine=sh5le-unknown
1022 basic_machine=sh64-unknown
1024 sparclite-wrs | simso-wrs)
1025 basic_machine=sparclite-wrs
1029 basic_machine=m68k-bull
1033 basic_machine=spur-unknown
1036 basic_machine=m68k-tandem
1039 basic_machine=i860-stratus
1043 basic_machine=m68000-sun
1046 basic_machine=m68000-sun
1050 basic_machine=m68000-sun
1054 basic_machine=m68k-sun
1058 basic_machine=m68k-sun
1062 basic_machine=sparc-sun
1066 basic_machine=sparc-sun
1070 basic_machine=sparc-sun
1074 basic_machine=m68k-sun
1077 basic_machine=sparc-sun
1079 sun386 | sun386i | roadrunner)
1080 basic_machine=i386-sun
1083 basic_machine=sv1-cray
1087 basic_machine=i386-sequent
1091 basic_machine=alphaev5-cray
1095 basic_machine=t90-cray
1098 # This must be matched before tile*.
1100 basic_machine=tilegx-unknown
1104 basic_machine=tile-unknown
1108 basic_machine=mipstx39-unknown
1111 basic_machine=mipstx39el-unknown
1114 basic_machine=pdp10-xkl
1118 basic_machine=m68k-ncr
1121 basic_machine=s390x-ibm
1125 basic_machine=a29k-amd
1129 basic_machine=a29k-nyu
1133 basic_machine=v810-nec
1137 basic_machine=vax-dec
1141 basic_machine=vax-dec
1145 basic_machine=f301-fujitsu
1148 basic_machine=i960-wrs
1152 basic_machine=m68k-wrs
1156 basic_machine=a29k-wrs
1160 basic_machine=w65-wdc
1164 basic_machine=hppa1.1-winbond
1168 basic_machine=i686-pc
1172 basic_machine=xps100-honeywell
1175 basic_machine=ymp-cray
1179 basic_machine=z8k-unknown
1183 basic_machine=z80-unknown
1187 basic_machine=none-none
1191 # Here we handle the default manufacturer of certain CPU types. It is in
1192 # some cases the only manufacturer, in others, it is the most popular.
1194 basic_machine=hppa1.1-winbond
1197 basic_machine=hppa1.1-oki
1200 basic_machine=hppa1.1-oki
1203 basic_machine=romp-ibm
1206 basic_machine=mmix-knuth
1209 basic_machine=rs6000-ibm
1212 basic_machine=vax-dec
1215 # there are many clones, so DEC is not a safe bet
1216 basic_machine=pdp10-unknown
1219 basic_machine=pdp11-dec
1222 basic_machine=we32k-att
1224 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1225 basic_machine=sh-unknown
1227 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1228 basic_machine=sparc-sun
1231 basic_machine=cydra-cydrome
1234 basic_machine=orion-highlevel
1237 basic_machine=clipper-highlevel
1239 mac | mpw | mac-mpw)
1240 basic_machine=m68k-apple
1243 basic_machine=powerpc-apple
1246 # Make sure to match an already-canonicalized machine name.
1249 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1254 # Here we canonicalize certain aliases for manufacturers.
1255 case $basic_machine in
1257 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1260 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1266 # Decode manufacturer-specific aliases for certain operating systems.
1268 if [ x"$os" != x"" ]
1271 # First match some system type aliases
1272 # that might get confused with valid system types.
1273 # -solaris* is a basic system type, with this one exception.
1277 -solaris1 | -solaris1.*)
1278 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1290 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1292 # First accept the basic system types.
1293 # The portable systems comes first.
1294 # Each alternative MUST END IN A *, to match a version number.
1295 # -sysv* is not here because it comes later, after sysvr4.
1296 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1297 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1298 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1299 | -sym* | -kopensolaris* \
1300 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1302 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1303 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1304 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1305 | -openbsd* | -solidbsd* \
1306 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1307 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1308 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1309 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1310 | -chorusos* | -chorusrdb* | -cegcc* \
1311 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1312 | -mingw32* | -linux-gnu* | -linux-android* \
1313 | -linux-newlib* | -linux-uclibc* | -linux-musl* \
1314 | -uxpv* | -beos* | -mpeix* | -udk* \
1315 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1316 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1317 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1318 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1319 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1320 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1321 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1322 # Remember, each alternative MUST END IN *, to match a version number.
1325 case $basic_machine in
1336 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1338 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1339 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1340 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1343 os=`echo $os | sed -e 's|mac|macos|'`
1349 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1352 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1355 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1402 # Preserve the version number of sinix5.
1404 os=`echo $os | sed -e 's|sinix|sysv|'`
1427 # This must come after -sysvr4.
1439 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1459 # Get rid of the `-' at the beginning of $os.
1460 os=`echo $os | sed 's/[^-]*-//'`
1461 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1467 # Here we handle the default operating systems that come with various machines.
1468 # The value should be what the vendor currently ships out the door with their
1469 # machine or put another way, the most popular os provided with the machine.
1471 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1472 # "-sun"), then you have to tell the case statement up towards the top
1473 # that MANUFACTURER isn't an operating system. Otherwise, code above
1474 # will signal an error saying that MANUFACTURER isn't an operating
1475 # system, and we'll never get to this point.
1477 case $basic_machine in
1505 # This must come before the *-dec entry.
1523 # This also exists in the configure program, but was not the
1542 *-tti) # must be before sparc entry or we get the wrong os.
1575 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1629 f30[01]-fujitsu | f700-fujitsu)
1650 # Here we handle the case where we know the os, and the CPU type, but not the
1651 # manufacturer. We pick the logical manufacturer.
1653 case $basic_machine in
1701 -vxsim* | -vxworks* | -windiss*)
1713 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1720 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1724 echo $basic_machine$os
1728 # eval: (add-hook 'write-file-hooks 'time-stamp)
1729 # time-stamp-start: "timestamp='"
1730 # time-stamp-format: "%:y-%02m-%02d"
1731 # time-stamp-end: "'"