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-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/'`
232 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
235 os=`echo $os | sed -e 's/windowsnt/winnt/'`
241 basic_machine=m68k-atari
246 # Decode aliases for certain CPU-COMPANY combinations.
247 case $basic_machine in
248 # Recognize the basic CPU types without company name.
249 # Some are omitted here because they have special meanings below.
252 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
253 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
255 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
259 | d10v | d30v | dlx | dsp16xx \
261 | fido | fr30 | frv \
262 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
264 | i370 | i860 | i960 | ia64 \
268 | m32c | m32r | m32rle | m68000 | m68k | m88k \
269 | maxq | mb | microblaze | mcore | mep | metag \
270 | mips | mipsbe | mipseb | mipsel | mipsle \
272 | mips64 | mips64el \
273 | mips64octeon | mips64octeonel \
274 | mips64orion | mips64orionel \
275 | mips64r5900 | mips64r5900el \
276 | mips64vr | mips64vrel \
277 | mips64vr4100 | mips64vr4100el \
278 | mips64vr4300 | mips64vr4300el \
279 | mips64vr5000 | mips64vr5000el \
280 | mips64vr5900 | mips64vr5900el \
281 | mipsisa32 | mipsisa32el \
282 | mipsisa32r2 | mipsisa32r2el \
283 | mipsisa64 | mipsisa64el \
284 | mipsisa64r2 | mipsisa64r2el \
285 | mipsisa64sb1 | mipsisa64sb1el \
286 | mipsisa64sr71k | mipsisa64sr71kel \
287 | mipstx39 | mipstx39el \
288 | mn10200 | mn10300 \
292 | nds32 | nds32le | nds32be \
297 | pdp10 | pdp11 | pj | pjl \
298 | powerpc | powerpc64 | powerpc64le | powerpcle \
302 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
304 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
305 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
307 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
309 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
311 | x86 | xc16x | xstormy16 | xtensa \
313 basic_machine=$basic_machine-unknown
316 basic_machine=tic54x-unknown
319 basic_machine=tic55x-unknown
322 basic_machine=tic6x-unknown
324 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
325 basic_machine=$basic_machine-unknown
328 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
331 basic_machine=mt-unknown
334 strongarm | thumb | xscale)
335 basic_machine=arm-unknown
338 basic_machine=$basic_machine-unknown
342 basic_machine=armeb-unknown
346 basic_machine=armel-unknown
349 # We use `pc' rather than `unknown'
350 # because (1) that's what they normally are, and
351 # (2) the word "unknown" tends to confuse beginning users.
353 basic_machine=$basic_machine-pc
355 # Object if more than one company name word.
357 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
360 # Recognize the basic CPU types with company name.
363 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
364 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
365 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
366 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
369 | bfin-* | bs2000-* \
370 | c[123]* | c30-* | [cjt]90-* | c4x-* \
371 | clipper-* | craynv-* | cydra-* \
372 | d10v-* | d30v-* | dlx-* \
374 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
375 | h8300-* | h8500-* \
376 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
378 | i*86-* | i860-* | i960-* | ia64-* \
379 | ip2k-* | iq2000-* \
382 | m32c-* | m32r-* | m32rle-* \
383 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
384 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
385 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
387 | mips64-* | mips64el-* \
388 | mips64octeon-* | mips64octeonel-* \
389 | mips64orion-* | mips64orionel-* \
390 | mips64r5900-* | mips64r5900el-* \
391 | mips64vr-* | mips64vrel-* \
392 | mips64vr4100-* | mips64vr4100el-* \
393 | mips64vr4300-* | mips64vr4300el-* \
394 | mips64vr5000-* | mips64vr5000el-* \
395 | mips64vr5900-* | mips64vr5900el-* \
396 | mipsisa32-* | mipsisa32el-* \
397 | mipsisa32r2-* | mipsisa32r2el-* \
398 | mipsisa64-* | mipsisa64el-* \
399 | mipsisa64r2-* | mipsisa64r2el-* \
400 | mipsisa64sb1-* | mipsisa64sb1el-* \
401 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
402 | mipstx39-* | mipstx39el-* \
406 | nds32-* | nds32le-* | nds32be-* \
408 | none-* | np1-* | ns16k-* | ns32k-* \
411 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
412 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
414 | rl78-* | romp-* | rs6000-* | rx-* \
415 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
416 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
417 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
419 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
421 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
425 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
428 | x86-* | x86_64-* | xc16x-* | xps100-* \
429 | xstormy16-* | xtensa*-* \
433 # Recognize the basic CPU types without company name, with glob match.
435 basic_machine=$basic_machine-unknown
437 # Recognize the various machine names and aliases which stand
438 # for a CPU type and a company and sometimes even an OS.
440 basic_machine=i386-unknown
443 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
444 basic_machine=m68000-att
447 basic_machine=we32k-att
450 basic_machine=a29k-amd
454 basic_machine=abacus-unknown
457 basic_machine=m68010-adobe
461 basic_machine=fx80-alliant
464 basic_machine=m68k-altos
467 basic_machine=a29k-none
471 basic_machine=x86_64-pc
474 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
477 basic_machine=580-amdahl
481 basic_machine=m68k-unknown
484 basic_machine=m68k-unknown
488 basic_machine=m68k-unknown
492 basic_machine=m68k-apollo
496 basic_machine=m68k-apollo
500 basic_machine=i386-pc
504 basic_machine=m68k-apple
508 basic_machine=ns32k-sequent
512 basic_machine=bfin-unknown
516 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
520 basic_machine=powerpc-ibm
524 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
527 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
530 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
533 basic_machine=c90-cray
537 basic_machine=arm-unknown
541 basic_machine=c1-convex
545 basic_machine=c2-convex
549 basic_machine=c32-convex
553 basic_machine=c34-convex
557 basic_machine=c38-convex
561 basic_machine=j90-cray
565 basic_machine=craynv-cray
569 basic_machine=cr16-unknown
573 basic_machine=m68k-crds
575 crisv32 | crisv32-* | etraxfs*)
576 basic_machine=crisv32-axis
578 cris | cris-* | etrax*)
579 basic_machine=cris-axis
582 basic_machine=crx-unknown
586 basic_machine=m68k-da30
588 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
589 basic_machine=mips-dec
591 decsystem10* | dec10*)
592 basic_machine=pdp10-dec
595 decsystem20* | dec20*)
596 basic_machine=pdp10-dec
599 delta | 3300 | motorola-3300 | motorola-delta \
600 | 3300-motorola | delta-motorola)
601 basic_machine=m68k-motorola
604 basic_machine=m88k-motorola
608 basic_machine=i686-pc
612 basic_machine=i586-pc
616 basic_machine=rs6000-bull
620 basic_machine=m68k-bull
624 basic_machine=a29k-amd
628 basic_machine=elxsi-elxsi
631 encore | umax | mmax)
632 basic_machine=ns32k-encore
634 es1800 | OSE68k | ose68k | ose | OSE)
635 basic_machine=m68k-ericsson
639 basic_machine=i860-alliant
642 basic_machine=ns32k-ns
645 basic_machine=tron-gmicro
649 basic_machine=i386-pc
653 basic_machine=hppa1.1-hitachi
657 basic_machine=h8300-hitachi
661 basic_machine=h8300-hitachi
665 basic_machine=h8500-hitachi
669 basic_machine=m88k-harris
673 basic_machine=m68k-hp
676 basic_machine=m68k-hp
680 basic_machine=m68k-hp
683 hp3k9[0-9][0-9] | hp9[0-9][0-9])
684 basic_machine=hppa1.0-hp
686 hp9k2[0-9][0-9] | hp9k31[0-9])
687 basic_machine=m68000-hp
690 basic_machine=m68k-hp
692 hp9k6[0-9][0-9] | hp6[0-9][0-9])
693 basic_machine=hppa1.0-hp
695 hp9k7[0-79][0-9] | hp7[0-79][0-9])
696 basic_machine=hppa1.1-hp
698 hp9k78[0-9] | hp78[0-9])
699 # FIXME: really hppa2.0-hp
700 basic_machine=hppa1.1-hp
702 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
703 # FIXME: really hppa2.0-hp
704 basic_machine=hppa1.1-hp
706 hp9k8[0-9][13679] | hp8[0-9][13679])
707 basic_machine=hppa1.1-hp
709 hp9k8[0-9][0-9] | hp8[0-9][0-9])
710 basic_machine=hppa1.0-hp
716 basic_machine=hppa1.1-hp
720 basic_machine=hppa1.1-hp
724 basic_machine=i370-ibm
727 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
739 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
743 basic_machine=i386-mach
747 basic_machine=i386-unknown
751 basic_machine=mips-sgi
761 basic_machine=m68k-isi
765 basic_machine=m68k-unknown
769 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
773 basic_machine=m88k-omron
776 basic_machine=mips-mips
780 basic_machine=ns32k-utek
784 basic_machine=microblaze-xilinx
787 basic_machine=i386-pc
791 basic_machine=arm-unknown
795 basic_machine=m68000-convergent
797 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
798 basic_machine=m68k-atari
802 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
805 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
808 basic_machine=m68k-rom68k
812 basic_machine=powerpc-unknown
816 basic_machine=i386-pc
820 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
823 basic_machine=i386-pc
827 basic_machine=i370-ibm
831 basic_machine=le32-unknown
835 basic_machine=i486-ncr
839 basic_machine=i386-unknown
843 basic_machine=armv4l-rebel
846 news | news700 | news800 | news900)
847 basic_machine=m68k-sony
851 basic_machine=m68030-sony
854 news-3600 | risc-news)
855 basic_machine=mips-sony
859 basic_machine=v70-nec
863 basic_machine=m68k-next
876 basic_machine=m68k-harris
880 basic_machine=m88k-harris
884 basic_machine=i960-intel
888 basic_machine=i960-intel
892 basic_machine=mips-compaq
896 basic_machine=np1-gould
899 basic_machine=neo-tandem
902 basic_machine=nse-tandem
905 basic_machine=nsr-tandem
908 basic_machine=hppa1.1-oki
911 openrisc | openrisc-*)
912 basic_machine=or32-unknown
915 basic_machine=powerpc-ibm
919 basic_machine=m68000-ericsson
923 basic_machine=m68k-none
927 basic_machine=hppa1.1-hitachi
931 basic_machine=i860-intel
935 basic_machine=hppa-unknown
939 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
943 basic_machine=sparc-tti
946 basic_machine=m68k-tti
949 basic_machine=ns32k-pc532
952 basic_machine=i386-pc
955 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
957 pentium | p5 | k5 | k6 | nexgen | viac3)
958 basic_machine=i586-pc
960 pentiumpro | p6 | 6x86 | athlon | athlon_*)
961 basic_machine=i686-pc
963 pentiumii | pentium2 | pentiumiii | pentium3)
964 basic_machine=i686-pc
967 basic_machine=i786-pc
969 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
970 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
972 pentiumpro-* | p6-* | 6x86-* | athlon-*)
973 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
975 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
976 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
979 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
982 basic_machine=pn-gould
984 power) basic_machine=power-ibm
986 ppc | ppcbe) basic_machine=powerpc-unknown
989 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
991 ppcle | powerpclittle | ppc-le | powerpc-little)
992 basic_machine=powerpcle-unknown
994 ppcle-* | powerpclittle-*)
995 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
997 ppc64) basic_machine=powerpc64-unknown
999 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1001 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1002 basic_machine=powerpc64le-unknown
1004 ppc64le-* | powerpc64little-*)
1005 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1008 basic_machine=i386-ibm
1011 basic_machine=i586-unknown
1015 basic_machine=i386-pc
1019 basic_machine=m68k-rom68k
1023 basic_machine=mips-siemens
1026 basic_machine=romp-ibm
1029 basic_machine=s390-ibm
1032 basic_machine=s390x-ibm
1035 basic_machine=a29k-amd
1039 basic_machine=mipsisa64sb1-unknown
1042 basic_machine=mipsisa64sb1el-unknown
1045 basic_machine=mipsisa32-sde
1049 basic_machine=mips-sei
1053 basic_machine=i386-sequent
1056 basic_machine=sh-hitachi
1060 basic_machine=sh5le-unknown
1063 basic_machine=sh64-unknown
1065 sparclite-wrs | simso-wrs)
1066 basic_machine=sparclite-wrs
1070 basic_machine=m68k-bull
1074 basic_machine=spur-unknown
1077 basic_machine=m68k-tandem
1080 basic_machine=i860-stratus
1083 strongarm-* | thumb-*)
1084 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1087 basic_machine=m68000-sun
1090 basic_machine=m68000-sun
1094 basic_machine=m68000-sun
1098 basic_machine=m68k-sun
1102 basic_machine=m68k-sun
1106 basic_machine=sparc-sun
1110 basic_machine=sparc-sun
1114 basic_machine=sparc-sun
1118 basic_machine=m68k-sun
1121 basic_machine=sparc-sun
1123 sun386 | sun386i | roadrunner)
1124 basic_machine=i386-sun
1127 basic_machine=sv1-cray
1131 basic_machine=i386-sequent
1135 basic_machine=alphaev5-cray
1139 basic_machine=t90-cray
1143 basic_machine=$basic_machine-unknown
1147 basic_machine=mipstx39-unknown
1150 basic_machine=mipstx39el-unknown
1153 basic_machine=pdp10-xkl
1157 basic_machine=m68k-ncr
1160 basic_machine=s390x-ibm
1164 basic_machine=a29k-amd
1168 basic_machine=a29k-nyu
1172 basic_machine=v810-nec
1176 basic_machine=vax-dec
1180 basic_machine=vax-dec
1184 basic_machine=f301-fujitsu
1187 basic_machine=i960-wrs
1191 basic_machine=m68k-wrs
1195 basic_machine=a29k-wrs
1199 basic_machine=w65-wdc
1203 basic_machine=hppa1.1-winbond
1207 basic_machine=i686-pc
1211 basic_machine=xps100-honeywell
1213 xscale-* | xscalee[bl]-*)
1214 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1217 basic_machine=ymp-cray
1221 basic_machine=z8k-unknown
1225 basic_machine=z80-unknown
1229 basic_machine=none-none
1233 # Here we handle the default manufacturer of certain CPU types. It is in
1234 # some cases the only manufacturer, in others, it is the most popular.
1236 basic_machine=hppa1.1-winbond
1239 basic_machine=hppa1.1-oki
1242 basic_machine=hppa1.1-oki
1245 basic_machine=romp-ibm
1248 basic_machine=mmix-knuth
1251 basic_machine=rs6000-ibm
1254 basic_machine=vax-dec
1257 # there are many clones, so DEC is not a safe bet
1258 basic_machine=pdp10-unknown
1261 basic_machine=pdp11-dec
1264 basic_machine=we32k-att
1266 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1267 basic_machine=sh-unknown
1269 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1270 basic_machine=sparc-sun
1273 basic_machine=cydra-cydrome
1276 basic_machine=orion-highlevel
1279 basic_machine=clipper-highlevel
1281 mac | mpw | mac-mpw)
1282 basic_machine=m68k-apple
1285 basic_machine=powerpc-apple
1288 # Make sure to match an already-canonicalized machine name.
1291 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1296 # Here we canonicalize certain aliases for manufacturers.
1297 case $basic_machine in
1299 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1302 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1308 # Decode manufacturer-specific aliases for certain operating systems.
1310 if [ x"$os" != x"" ]
1313 # First match some system type aliases
1314 # that might get confused with valid system types.
1315 # -solaris* is a basic system type, with this one exception.
1319 -solaris1 | -solaris1.*)
1320 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1332 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1334 # First accept the basic system types.
1335 # The portable systems comes first.
1336 # Each alternative MUST END IN A *, to match a version number.
1337 # -sysv* is not here because it comes later, after sysvr4.
1338 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1339 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1340 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1341 | -sym* | -kopensolaris* \
1342 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1344 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1345 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1346 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1347 | -openbsd* | -solidbsd* \
1348 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1349 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1350 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1351 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1352 | -chorusos* | -chorusrdb* | -cegcc* \
1353 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1354 | -mingw32* | -linux-gnu* | -linux-android* \
1355 | -linux-newlib* | -linux-uclibc* \
1356 | -uxpv* | -beos* | -mpeix* | -udk* \
1357 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1358 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1359 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1360 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1361 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1362 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1363 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1364 # Remember, each alternative MUST END IN *, to match a version number.
1367 case $basic_machine in
1378 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1380 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1381 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1382 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1385 os=`echo $os | sed -e 's|mac|macos|'`
1391 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1394 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1397 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1444 # Preserve the version number of sinix5.
1446 os=`echo $os | sed -e 's|sinix|sysv|'`
1469 # This must come after -sysvr4.
1481 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1501 # Get rid of the `-' at the beginning of $os.
1502 os=`echo $os | sed 's/[^-]*-//'`
1503 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1509 # Here we handle the default operating systems that come with various machines.
1510 # The value should be what the vendor currently ships out the door with their
1511 # machine or put another way, the most popular os provided with the machine.
1513 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1514 # "-sun"), then you have to tell the case statement up towards the top
1515 # that MANUFACTURER isn't an operating system. Otherwise, code above
1516 # will signal an error saying that MANUFACTURER isn't an operating
1517 # system, and we'll never get to this point.
1519 case $basic_machine in
1547 # This must come before the *-dec entry.
1581 *-tti) # must be before sparc entry or we get the wrong os.
1614 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1668 f30[01]-fujitsu | f700-fujitsu)
1689 # Here we handle the case where we know the os, and the CPU type, but not the
1690 # manufacturer. We pick the logical manufacturer.
1692 case $basic_machine in
1740 -vxsim* | -vxworks* | -windiss*)
1752 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1759 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1763 echo $basic_machine$os
1767 # eval: (add-hook 'write-file-hooks 'time-stamp)
1768 # time-stamp-start: "timestamp='"
1769 # time-stamp-format: "%:y-%02m-%02d"
1770 # time-stamp-end: "'"