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 # 2011, 2012 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, see <http://www.gnu.org/licenses/>.
26 # As a special exception to the GNU General Public License, if you
27 # distribute this file as part of a program that contains a
28 # configuration script generated by Autoconf, you may include it under
29 # the same distribution terms that you use for the rest of that program.
32 # Please send patches to <config-patches@gnu.org>. Submit a context
33 # diff and a properly formatted GNU ChangeLog entry.
35 # Configuration subroutine to validate and canonicalize a configuration type.
36 # Supply the specified configuration type as an argument.
37 # If it is invalid, we print an error message on stderr and exit with code 1.
38 # Otherwise, we print the canonical config type on stdout and succeed.
40 # You can get the latest version of this script from:
41 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
43 # This file is supposed to be the same for all GNU packages
44 # and recognize all the CPU types, system types and aliases
45 # that are meaningful with *any* GNU software.
46 # Each package is responsible for reporting which valid configurations
47 # it does not support. The user should be able to distinguish
48 # a failure to support a valid configuration from a meaningless
51 # The goal of this file is to map all the various variations of a given
52 # machine specification into a single specification in the form:
53 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
54 # or in some cases, the newer four-part form:
55 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
56 # It is wrong to echo any other type of specification.
58 me=`echo "$0" | sed -e 's,.*/,,'`
61 Usage: $0 [OPTION] CPU-MFR-OPSYS
64 Canonicalize a configuration name.
67 -h, --help print this help, then exit
68 -t, --time-stamp print date of last modification, then exit
69 -v, --version print version number, then exit
71 Report bugs and patches to <config-patches@gnu.org>."
74 GNU config.sub ($timestamp)
76 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78 Free Software Foundation, Inc.
80 This is free software; see the source for copying conditions. There is NO
81 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84 Try \`$me --help' for more information."
87 while test $# -gt 0 ; do
89 --time-stamp | --time* | -t )
90 echo "$timestamp" ; exit ;;
92 echo "$version" ; exit ;;
94 echo "$usage"; exit ;;
95 -- ) # Stop option processing
97 - ) # Use stdin as input.
100 echo "$me: invalid option $1$help"
104 # First pass through any local machine types.
114 0) echo "$me: missing argument$help" >&2
117 *) echo "$me: too many arguments$help" >&2
121 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
122 # Here we must recognize all the valid KERNEL-OS combinations.
123 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
125 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127 knetbsd*-gnu* | netbsd*-gnu* | \
128 kopensolaris*-gnu* | \
129 storm-chaos* | os2-emx* | rtmk-nova*)
131 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
135 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
138 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
139 if [ $basic_machine != $1 ]
140 then os=`echo $1 | sed 's/.*-/-/'`
145 ### Let's recognize common machines as not being operating systems so
146 ### that things like config.sub decstation-3100 work. We also
147 ### recognize some manufacturers as not being operating systems, so we
148 ### can provide default operating systems below.
151 # Prevent following clause from handling this invalid input.
153 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
154 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
155 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
156 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
157 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
158 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159 -apple | -axis | -knuth | -cray | -microblaze*)
166 -sim | -cisco | -oki | -wec | -winbond)
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
197 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
200 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
201 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204 # Don't forget version if it is 3.2v4 or newer.
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
208 # Don't forget version if it is 3.2v4 or newer.
209 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
220 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
223 basic_machine=clipper-intergraph
226 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
238 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
241 os=`echo $os | sed -e 's/windowsnt/winnt/'`
247 basic_machine=m68k-atari
252 # Decode aliases for certain CPU-COMPANY combinations.
253 case $basic_machine in
254 # Recognize the basic CPU types without company name.
255 # Some are omitted here because they have special meanings below.
258 | aarch64 | aarch64_be \
259 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
260 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
262 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
266 | d10v | d30v | dlx | dsp16xx | dvp \
268 | fido | fr30 | frv \
269 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
271 | i370 | i860 | i960 | ia64 \
275 | m32c | m32r | m32rle | m68000 | m68k | m88k \
276 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
277 | mips | mipsbe | mipseb | mipsel | mipsle \
279 | mips64 | mips64el \
280 | mips64octeon | mips64octeonel \
281 | mips64orion | mips64orionel \
282 | mips64r5900 | mips64r5900el \
283 | mips64vr | mips64vrel \
284 | mips64vr4100 | mips64vr4100el \
285 | mips64vr4300 | mips64vr4300el \
286 | mips64vr5000 | mips64vr5000el \
287 | mips64vr5900 | mips64vr5900el \
288 | mipsisa32 | mipsisa32el \
289 | mipsisa32r2 | mipsisa32r2el \
290 | mipsisa64 | mipsisa64el \
291 | mipsisa64r2 | mipsisa64r2el \
292 | mipsisa64sb1 | mipsisa64sb1el \
293 | mipsisa64sr71k | mipsisa64sr71kel \
294 | mipstx39 | mipstx39el \
295 | mn10200 | mn10300 \
299 | nds32 | nds32le | nds32be \
304 | pdp10 | pdp11 | pj | pjl \
305 | powerpc | powerpc64 | powerpc64le | powerpcle \
309 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
311 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
314 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
316 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
318 | x86 | xc16x | xstormy16 | xtensa \
320 basic_machine=$basic_machine-unknown
323 basic_machine=tic54x-unknown
326 basic_machine=tic55x-unknown
329 basic_machine=tic6x-unknown
331 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
332 basic_machine=$basic_machine-unknown
335 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
338 basic_machine=mt-unknown
341 strongarm | thumb | xscale)
342 basic_machine=arm-unknown
345 basic_machine=$basic_machine-unknown
349 basic_machine=armeb-unknown
353 basic_machine=armel-unknown
356 # We use `pc' rather than `unknown'
357 # because (1) that's what they normally are, and
358 # (2) the word "unknown" tends to confuse beginning users.
360 basic_machine=$basic_machine-pc
362 # Object if more than one company name word.
364 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
367 # Recognize the basic CPU types with company name.
370 | aarch64-* | aarch64_be-* \
371 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
372 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
373 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
374 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
377 | bfin-* | bs2000-* \
378 | c[123]* | c30-* | [cjt]90-* | c4x-* \
379 | clipper-* | craynv-* | cydra-* \
380 | d10v-* | d30v-* | dlx-* \
382 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
383 | h8300-* | h8500-* \
384 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
386 | i*86-* | i860-* | i960-* | ia64-* \
387 | ip2k-* | iq2000-* \
390 | m32c-* | m32r-* | m32rle-* \
391 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
393 | microblaze-* | microblazeel-* \
394 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
396 | mips64-* | mips64el-* \
397 | mips64octeon-* | mips64octeonel-* \
398 | mips64orion-* | mips64orionel-* \
399 | mips64r5900-* | mips64r5900el-* \
400 | mips64vr-* | mips64vrel-* \
401 | mips64vr4100-* | mips64vr4100el-* \
402 | mips64vr4300-* | mips64vr4300el-* \
403 | mips64vr5000-* | mips64vr5000el-* \
404 | mips64vr5900-* | mips64vr5900el-* \
405 | mipsisa32-* | mipsisa32el-* \
406 | mipsisa32r2-* | mipsisa32r2el-* \
407 | mipsisa64-* | mipsisa64el-* \
408 | mipsisa64r2-* | mipsisa64r2el-* \
409 | mipsisa64sb1-* | mipsisa64sb1el-* \
410 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
411 | mipstx39-* | mipstx39el-* \
415 | nds32-* | nds32le-* | nds32be-* \
417 | none-* | np1-* | ns16k-* | ns32k-* \
420 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
421 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
423 | rl78-* | romp-* | rs6000-* | rx-* \
424 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
425 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
426 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
428 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
430 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
434 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
437 | x86-* | x86_64-* | xc16x-* | xps100-* \
438 | xstormy16-* | xtensa*-* \
442 # Recognize the basic CPU types without company name, with glob match.
444 basic_machine=$basic_machine-unknown
446 # Recognize the various machine names and aliases which stand
447 # for a CPU type and a company and sometimes even an OS.
449 basic_machine=i386-unknown
452 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
453 basic_machine=m68000-att
456 basic_machine=we32k-att
459 basic_machine=a29k-amd
463 basic_machine=abacus-unknown
466 basic_machine=m68010-adobe
470 basic_machine=fx80-alliant
473 basic_machine=m68k-altos
476 basic_machine=a29k-none
480 basic_machine=x86_64-pc
483 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
486 basic_machine=580-amdahl
490 basic_machine=m68k-unknown
493 basic_machine=m68k-unknown
497 basic_machine=m68k-unknown
501 basic_machine=m68k-apollo
505 basic_machine=m68k-apollo
509 basic_machine=i386-pc
513 basic_machine=m68k-apple
517 basic_machine=ns32k-sequent
521 basic_machine=bfin-unknown
525 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
529 basic_machine=powerpc-ibm
533 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
536 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
539 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
542 basic_machine=c90-cray
546 basic_machine=arm-unknown
550 basic_machine=c1-convex
554 basic_machine=c2-convex
558 basic_machine=c32-convex
562 basic_machine=c34-convex
566 basic_machine=c38-convex
570 basic_machine=j90-cray
574 basic_machine=craynv-cray
578 basic_machine=cr16-unknown
582 basic_machine=m68k-crds
584 crisv32 | crisv32-* | etraxfs*)
585 basic_machine=crisv32-axis
587 cris | cris-* | etrax*)
588 basic_machine=cris-axis
591 basic_machine=crx-unknown
595 basic_machine=m68k-da30
597 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
598 basic_machine=mips-dec
600 decsystem10* | dec10*)
601 basic_machine=pdp10-dec
604 decsystem20* | dec20*)
605 basic_machine=pdp10-dec
608 delta | 3300 | motorola-3300 | motorola-delta \
609 | 3300-motorola | delta-motorola)
610 basic_machine=m68k-motorola
613 basic_machine=m88k-motorola
617 basic_machine=i686-pc
621 basic_machine=i586-pc
625 basic_machine=rs6000-bull
629 basic_machine=m68k-bull
633 basic_machine=a29k-amd
637 basic_machine=elxsi-elxsi
640 encore | umax | mmax)
641 basic_machine=ns32k-encore
643 es1800 | OSE68k | ose68k | ose | OSE)
644 basic_machine=m68k-ericsson
648 basic_machine=i860-alliant
651 basic_machine=ns32k-ns
654 basic_machine=tron-gmicro
658 basic_machine=i386-pc
662 basic_machine=hppa1.1-hitachi
666 basic_machine=h8300-hitachi
670 basic_machine=h8300-hitachi
674 basic_machine=h8500-hitachi
678 basic_machine=m88k-harris
682 basic_machine=m68k-hp
685 basic_machine=m68k-hp
689 basic_machine=m68k-hp
692 hp3k9[0-9][0-9] | hp9[0-9][0-9])
693 basic_machine=hppa1.0-hp
695 hp9k2[0-9][0-9] | hp9k31[0-9])
696 basic_machine=m68000-hp
699 basic_machine=m68k-hp
701 hp9k6[0-9][0-9] | hp6[0-9][0-9])
702 basic_machine=hppa1.0-hp
704 hp9k7[0-79][0-9] | hp7[0-79][0-9])
705 basic_machine=hppa1.1-hp
707 hp9k78[0-9] | hp78[0-9])
708 # FIXME: really hppa2.0-hp
709 basic_machine=hppa1.1-hp
711 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
712 # FIXME: really hppa2.0-hp
713 basic_machine=hppa1.1-hp
715 hp9k8[0-9][13679] | hp8[0-9][13679])
716 basic_machine=hppa1.1-hp
718 hp9k8[0-9][0-9] | hp8[0-9][0-9])
719 basic_machine=hppa1.0-hp
725 basic_machine=hppa1.1-hp
729 basic_machine=hppa1.1-hp
733 basic_machine=i370-ibm
736 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
740 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
744 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
748 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
752 basic_machine=i386-mach
756 basic_machine=i386-unknown
760 basic_machine=mips-sgi
770 basic_machine=m68k-isi
774 basic_machine=m68k-unknown
778 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
782 basic_machine=m88k-omron
785 basic_machine=mips-mips
789 basic_machine=ns32k-utek
793 basic_machine=microblaze-xilinx
796 basic_machine=x86_64-pc
800 basic_machine=i386-pc
804 basic_machine=arm-unknown
808 basic_machine=m68000-convergent
810 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
811 basic_machine=m68k-atari
815 basic_machine=mips64r5900el-scei
825 basic_machine=mipsel-scei
829 basic_machine=dvp-scei
833 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
836 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
839 basic_machine=m68k-rom68k
843 basic_machine=powerpc-unknown
847 basic_machine=i386-pc
851 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
854 basic_machine=i386-pc
858 basic_machine=i370-ibm
862 basic_machine=le32-unknown
866 basic_machine=i486-ncr
870 basic_machine=i386-unknown
874 basic_machine=armv4l-rebel
877 news | news700 | news800 | news900)
878 basic_machine=m68k-sony
882 basic_machine=m68030-sony
885 news-3600 | risc-news)
886 basic_machine=mips-sony
890 basic_machine=v70-nec
894 basic_machine=m68k-next
907 basic_machine=m68k-harris
911 basic_machine=m88k-harris
915 basic_machine=i960-intel
919 basic_machine=i960-intel
923 basic_machine=mips-compaq
927 basic_machine=np1-gould
930 basic_machine=neo-tandem
933 basic_machine=nse-tandem
936 basic_machine=nsr-tandem
939 basic_machine=hppa1.1-oki
942 openrisc | openrisc-*)
943 basic_machine=or32-unknown
946 basic_machine=powerpc-ibm
950 basic_machine=m68000-ericsson
954 basic_machine=m68k-none
958 basic_machine=hppa1.1-hitachi
962 basic_machine=i860-intel
966 basic_machine=hppa-unknown
970 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
974 basic_machine=sparc-tti
977 basic_machine=m68k-tti
980 basic_machine=ns32k-pc532
983 basic_machine=i386-pc
986 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
988 pentium | p5 | k5 | k6 | nexgen | viac3)
989 basic_machine=i586-pc
991 pentiumpro | p6 | 6x86 | athlon | athlon_*)
992 basic_machine=i686-pc
994 pentiumii | pentium2 | pentiumiii | pentium3)
995 basic_machine=i686-pc
998 basic_machine=i786-pc
1000 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1001 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1003 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1004 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1006 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1007 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1010 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1013 basic_machine=pn-gould
1015 power) basic_machine=power-ibm
1017 ppc | ppcbe) basic_machine=powerpc-unknown
1020 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1022 ppcle | powerpclittle | ppc-le | powerpc-little)
1023 basic_machine=powerpcle-unknown
1025 ppcle-* | powerpclittle-*)
1026 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1028 ppc64) basic_machine=powerpc64-unknown
1030 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1032 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1033 basic_machine=powerpc64le-unknown
1035 ppc64le-* | powerpc64little-*)
1036 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1039 basic_machine=i386-ibm
1042 basic_machine=i586-unknown
1046 basic_machine=i386-pc
1050 basic_machine=m68k-rom68k
1054 basic_machine=mips-siemens
1057 basic_machine=romp-ibm
1060 basic_machine=s390-ibm
1063 basic_machine=s390x-ibm
1066 basic_machine=a29k-amd
1070 basic_machine=mipsisa64sb1-unknown
1073 basic_machine=mipsisa64sb1el-unknown
1076 basic_machine=mipsisa32-sde
1080 basic_machine=mips-sei
1084 basic_machine=i386-sequent
1087 basic_machine=sh-hitachi
1091 basic_machine=sh5le-unknown
1094 basic_machine=sh64-unknown
1096 sparclite-wrs | simso-wrs)
1097 basic_machine=sparclite-wrs
1101 basic_machine=m68k-bull
1105 basic_machine=spur-unknown
1108 basic_machine=m68k-tandem
1111 basic_machine=i860-stratus
1114 strongarm-* | thumb-*)
1115 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1118 basic_machine=m68000-sun
1121 basic_machine=m68000-sun
1125 basic_machine=m68000-sun
1129 basic_machine=m68k-sun
1133 basic_machine=m68k-sun
1137 basic_machine=sparc-sun
1141 basic_machine=sparc-sun
1145 basic_machine=sparc-sun
1149 basic_machine=m68k-sun
1152 basic_machine=sparc-sun
1154 sun386 | sun386i | roadrunner)
1155 basic_machine=i386-sun
1158 basic_machine=sv1-cray
1162 basic_machine=i386-sequent
1166 basic_machine=alphaev5-cray
1170 basic_machine=t90-cray
1174 basic_machine=$basic_machine-unknown
1178 basic_machine=mipstx39-unknown
1181 basic_machine=mipstx39el-unknown
1184 basic_machine=pdp10-xkl
1188 basic_machine=m68k-ncr
1191 basic_machine=s390x-ibm
1195 basic_machine=a29k-amd
1199 basic_machine=a29k-nyu
1203 basic_machine=v810-nec
1207 basic_machine=vax-dec
1211 basic_machine=vax-dec
1215 basic_machine=f301-fujitsu
1218 basic_machine=i960-wrs
1222 basic_machine=m68k-wrs
1226 basic_machine=a29k-wrs
1230 basic_machine=w65-wdc
1234 basic_machine=hppa1.1-winbond
1238 basic_machine=i686-pc
1242 basic_machine=xps100-honeywell
1244 xscale-* | xscalee[bl]-*)
1245 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1248 basic_machine=ymp-cray
1252 basic_machine=z8k-unknown
1256 basic_machine=z80-unknown
1260 basic_machine=none-none
1264 # Here we handle the default manufacturer of certain CPU types. It is in
1265 # some cases the only manufacturer, in others, it is the most popular.
1267 basic_machine=hppa1.1-winbond
1270 basic_machine=hppa1.1-oki
1273 basic_machine=hppa1.1-oki
1276 basic_machine=romp-ibm
1279 basic_machine=mmix-knuth
1282 basic_machine=rs6000-ibm
1285 basic_machine=vax-dec
1288 # there are many clones, so DEC is not a safe bet
1289 basic_machine=pdp10-unknown
1292 basic_machine=pdp11-dec
1295 basic_machine=we32k-att
1297 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1298 basic_machine=sh-unknown
1300 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1301 basic_machine=sparc-sun
1304 basic_machine=cydra-cydrome
1307 basic_machine=orion-highlevel
1310 basic_machine=clipper-highlevel
1312 mac | mpw | mac-mpw)
1313 basic_machine=m68k-apple
1316 basic_machine=powerpc-apple
1319 # Make sure to match an already-canonicalized machine name.
1322 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1327 # Here we canonicalize certain aliases for manufacturers.
1328 case $basic_machine in
1330 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1333 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1339 # Decode manufacturer-specific aliases for certain operating systems.
1341 if [ x"$os" != x"" ]
1344 # First match some system type aliases
1345 # that might get confused with valid system types.
1346 # -solaris* is a basic system type, with this one exception.
1350 -solaris1 | -solaris1.*)
1351 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1363 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1365 # First accept the basic system types.
1366 # The portable systems comes first.
1367 # Each alternative MUST END IN A *, to match a version number.
1368 # -sysv* is not here because it comes later, after sysvr4.
1369 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1370 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1371 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1372 | -sym* | -kopensolaris* \
1373 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1375 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1376 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1377 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1378 | -bitrig* | -openbsd* | -solidbsd* \
1379 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1380 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1381 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1382 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1383 | -chorusos* | -chorusrdb* | -cegcc* \
1384 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1385 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1386 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1387 | -uxpv* | -beos* | -mpeix* | -udk* \
1388 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1389 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1390 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
1391 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1392 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1393 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1394 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1395 # Remember, each alternative MUST END IN *, to match a version number.
1398 case $basic_machine in
1409 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1411 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1412 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1413 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1416 os=`echo $os | sed -e 's|mac|macos|'`
1422 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1425 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1428 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1475 # Preserve the version number of sinix5.
1477 os=`echo $os | sed -e 's|sinix|sysv|'`
1500 # This must come after -sysvr4.
1512 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1532 # Get rid of the `-' at the beginning of $os.
1533 os=`echo $os | sed 's/[^-]*-//'`
1534 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1540 # Here we handle the default operating systems that come with various machines.
1541 # The value should be what the vendor currently ships out the door with their
1542 # machine or put another way, the most popular os provided with the machine.
1544 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1545 # "-sun"), then you have to tell the case statement up towards the top
1546 # that MANUFACTURER isn't an operating system. Otherwise, code above
1547 # will signal an error saying that MANUFACTURER isn't an operating
1548 # system, and we'll never get to this point.
1550 case $basic_machine in
1581 # This must come before the *-dec entry.
1615 *-tti) # must be before sparc entry or we get the wrong os.
1648 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1702 f30[01]-fujitsu | f700-fujitsu)
1723 # Here we handle the case where we know the os, and the CPU type, but not the
1724 # manufacturer. We pick the logical manufacturer.
1726 case $basic_machine in
1774 -vxsim* | -vxworks* | -windiss*)
1786 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1793 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1797 echo $basic_machine$os
1801 # eval: (add-hook 'write-file-hooks 'time-stamp)
1802 # time-stamp-start: "timestamp='"
1803 # time-stamp-format: "%:y-%02m-%02d"
1804 # time-stamp-end: "'"