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, 2013 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,
78 2012, 2013 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] \
263 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
268 | d10v | d30v | dlx | dsp16xx \
270 | fido | fr30 | frv \
271 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
273 | i370 | i860 | i960 | ia64 \
277 | m32c | m32r | m32rle | m68000 | m68k | m88k \
278 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
279 | mips | mipsbe | mipseb | mipsel | mipsle \
281 | mips64 | mips64el \
282 | mips64octeon | mips64octeonel \
283 | mips64orion | mips64orionel \
284 | mips64r5900 | mips64r5900el \
285 | mips64vr | mips64vrel \
286 | mips64vr4100 | mips64vr4100el \
287 | mips64vr4300 | mips64vr4300el \
288 | mips64vr5000 | mips64vr5000el \
289 | mips64vr5900 | mips64vr5900el \
290 | mipsisa32 | mipsisa32el \
291 | mipsisa32r2 | mipsisa32r2el \
292 | mipsisa64 | mipsisa64el \
293 | mipsisa64r2 | mipsisa64r2el \
294 | mipsisa64sb1 | mipsisa64sb1el \
295 | mipsisa64sr71k | mipsisa64sr71kel \
296 | mipstx39 | mipstx39el \
297 | mn10200 | mn10300 \
301 | nds32 | nds32le | nds32be \
306 | pdp10 | pdp11 | pj | pjl \
307 | powerpc | powerpc64 | powerpc64le | powerpcle \
311 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
313 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
314 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
316 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
318 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
320 | x86 | xc16x | xstormy16 | xtensa \
322 basic_machine=$basic_machine-unknown
325 basic_machine=tic54x-unknown
328 basic_machine=tic55x-unknown
331 basic_machine=tic6x-unknown
333 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
334 basic_machine=$basic_machine-unknown
337 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
340 basic_machine=mt-unknown
343 strongarm | thumb | xscale)
344 basic_machine=arm-unknown
347 basic_machine=$basic_machine-unknown
351 basic_machine=armeb-unknown
355 basic_machine=armel-unknown
358 # We use `pc' rather than `unknown'
359 # because (1) that's what they normally are, and
360 # (2) the word "unknown" tends to confuse beginning users.
362 basic_machine=$basic_machine-pc
364 # Object if more than one company name word.
366 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
369 # Recognize the basic CPU types with company name.
372 | aarch64-* | aarch64_be-* \
373 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
374 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
375 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
376 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
379 | bfin-* | bs2000-* \
380 | c[123]* | c30-* | [cjt]90-* | c4x-* \
381 | clipper-* | craynv-* | cydra-* \
382 | d10v-* | d30v-* | dlx-* \
384 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
385 | h8300-* | h8500-* \
386 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
388 | i*86-* | i860-* | i960-* | ia64-* \
389 | ip2k-* | iq2000-* \
392 | m32c-* | m32r-* | m32rle-* \
393 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
394 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
395 | microblaze-* | microblazeel-* \
396 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
398 | mips64-* | mips64el-* \
399 | mips64octeon-* | mips64octeonel-* \
400 | mips64orion-* | mips64orionel-* \
401 | mips64r5900-* | mips64r5900el-* \
402 | mips64vr-* | mips64vrel-* \
403 | mips64vr4100-* | mips64vr4100el-* \
404 | mips64vr4300-* | mips64vr4300el-* \
405 | mips64vr5000-* | mips64vr5000el-* \
406 | mips64vr5900-* | mips64vr5900el-* \
407 | mipsisa32-* | mipsisa32el-* \
408 | mipsisa32r2-* | mipsisa32r2el-* \
409 | mipsisa64-* | mipsisa64el-* \
410 | mipsisa64r2-* | mipsisa64r2el-* \
411 | mipsisa64sb1-* | mipsisa64sb1el-* \
412 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
413 | mipstx39-* | mipstx39el-* \
417 | nds32-* | nds32le-* | nds32be-* \
419 | none-* | np1-* | ns16k-* | ns32k-* \
422 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
423 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
425 | rl78-* | romp-* | rs6000-* | rx-* \
426 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
427 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
428 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
430 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
432 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
436 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
439 | x86-* | x86_64-* | xc16x-* | xps100-* \
440 | xstormy16-* | xtensa*-* \
444 # Recognize the basic CPU types without company name, with glob match.
446 basic_machine=$basic_machine-unknown
448 # Recognize the various machine names and aliases which stand
449 # for a CPU type and a company and sometimes even an OS.
451 basic_machine=i386-unknown
454 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
455 basic_machine=m68000-att
458 basic_machine=we32k-att
461 basic_machine=a29k-amd
465 basic_machine=abacus-unknown
468 basic_machine=m68010-adobe
472 basic_machine=fx80-alliant
475 basic_machine=m68k-altos
478 basic_machine=a29k-none
482 basic_machine=x86_64-pc
485 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
488 basic_machine=580-amdahl
492 basic_machine=m68k-unknown
495 basic_machine=m68k-unknown
499 basic_machine=m68k-unknown
503 basic_machine=m68k-apollo
507 basic_machine=m68k-apollo
511 basic_machine=i386-pc
515 basic_machine=m68k-apple
519 basic_machine=ns32k-sequent
523 basic_machine=bfin-unknown
527 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
531 basic_machine=powerpc-ibm
535 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
538 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
541 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
544 basic_machine=c90-cray
548 basic_machine=arm-unknown
552 basic_machine=c1-convex
556 basic_machine=c2-convex
560 basic_machine=c32-convex
564 basic_machine=c34-convex
568 basic_machine=c38-convex
572 basic_machine=j90-cray
576 basic_machine=craynv-cray
580 basic_machine=cr16-unknown
584 basic_machine=m68k-crds
586 crisv32 | crisv32-* | etraxfs*)
587 basic_machine=crisv32-axis
589 cris | cris-* | etrax*)
590 basic_machine=cris-axis
593 basic_machine=crx-unknown
597 basic_machine=m68k-da30
599 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
600 basic_machine=mips-dec
602 decsystem10* | dec10*)
603 basic_machine=pdp10-dec
606 decsystem20* | dec20*)
607 basic_machine=pdp10-dec
610 delta | 3300 | motorola-3300 | motorola-delta \
611 | 3300-motorola | delta-motorola)
612 basic_machine=m68k-motorola
615 basic_machine=m88k-motorola
619 basic_machine=i686-pc
623 basic_machine=i586-pc
627 basic_machine=rs6000-bull
631 basic_machine=m68k-bull
635 basic_machine=a29k-amd
639 basic_machine=elxsi-elxsi
642 encore | umax | mmax)
643 basic_machine=ns32k-encore
645 es1800 | OSE68k | ose68k | ose | OSE)
646 basic_machine=m68k-ericsson
650 basic_machine=i860-alliant
653 basic_machine=ns32k-ns
656 basic_machine=tron-gmicro
660 basic_machine=i386-pc
664 basic_machine=hppa1.1-hitachi
668 basic_machine=h8300-hitachi
672 basic_machine=h8300-hitachi
676 basic_machine=h8500-hitachi
680 basic_machine=m88k-harris
684 basic_machine=m68k-hp
687 basic_machine=m68k-hp
691 basic_machine=m68k-hp
694 hp3k9[0-9][0-9] | hp9[0-9][0-9])
695 basic_machine=hppa1.0-hp
697 hp9k2[0-9][0-9] | hp9k31[0-9])
698 basic_machine=m68000-hp
701 basic_machine=m68k-hp
703 hp9k6[0-9][0-9] | hp6[0-9][0-9])
704 basic_machine=hppa1.0-hp
706 hp9k7[0-79][0-9] | hp7[0-79][0-9])
707 basic_machine=hppa1.1-hp
709 hp9k78[0-9] | hp78[0-9])
710 # FIXME: really hppa2.0-hp
711 basic_machine=hppa1.1-hp
713 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
714 # FIXME: really hppa2.0-hp
715 basic_machine=hppa1.1-hp
717 hp9k8[0-9][13679] | hp8[0-9][13679])
718 basic_machine=hppa1.1-hp
720 hp9k8[0-9][0-9] | hp8[0-9][0-9])
721 basic_machine=hppa1.0-hp
727 basic_machine=hppa1.1-hp
731 basic_machine=hppa1.1-hp
735 basic_machine=i370-ibm
738 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
742 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
746 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
750 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
754 basic_machine=i386-mach
758 basic_machine=i386-unknown
762 basic_machine=mips-sgi
772 basic_machine=m68k-isi
776 basic_machine=m68k-unknown
780 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
784 basic_machine=m88k-omron
787 basic_machine=mips-mips
791 basic_machine=ns32k-utek
795 basic_machine=microblaze-xilinx
798 basic_machine=x86_64-pc
802 basic_machine=i386-pc
806 basic_machine=arm-unknown
810 basic_machine=m68000-convergent
812 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
813 basic_machine=m68k-atari
817 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
820 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
823 basic_machine=m68k-rom68k
827 basic_machine=powerpc-unknown
831 basic_machine=i386-pc
835 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
838 basic_machine=i386-pc
842 basic_machine=i370-ibm
846 basic_machine=le32-unknown
850 basic_machine=i486-ncr
854 basic_machine=i386-unknown
858 basic_machine=armv4l-rebel
861 news | news700 | news800 | news900)
862 basic_machine=m68k-sony
866 basic_machine=m68030-sony
869 news-3600 | risc-news)
870 basic_machine=mips-sony
874 basic_machine=v70-nec
878 basic_machine=m68k-next
891 basic_machine=m68k-harris
895 basic_machine=m88k-harris
899 basic_machine=i960-intel
903 basic_machine=i960-intel
907 basic_machine=mips-compaq
911 basic_machine=np1-gould
914 basic_machine=neo-tandem
917 basic_machine=nse-tandem
920 basic_machine=nsr-tandem
923 basic_machine=hppa1.1-oki
926 openrisc | openrisc-*)
927 basic_machine=or32-unknown
930 basic_machine=powerpc-ibm
934 basic_machine=m68000-ericsson
938 basic_machine=m68k-none
942 basic_machine=hppa1.1-hitachi
946 basic_machine=i860-intel
950 basic_machine=hppa-unknown
954 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
958 basic_machine=sparc-tti
961 basic_machine=m68k-tti
964 basic_machine=ns32k-pc532
967 basic_machine=i386-pc
970 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
972 pentium | p5 | k5 | k6 | nexgen | viac3)
973 basic_machine=i586-pc
975 pentiumpro | p6 | 6x86 | athlon | athlon_*)
976 basic_machine=i686-pc
978 pentiumii | pentium2 | pentiumiii | pentium3)
979 basic_machine=i686-pc
982 basic_machine=i786-pc
984 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
985 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
987 pentiumpro-* | p6-* | 6x86-* | athlon-*)
988 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
990 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
991 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
994 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
997 basic_machine=pn-gould
999 power) basic_machine=power-ibm
1001 ppc | ppcbe) basic_machine=powerpc-unknown
1004 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1006 ppcle | powerpclittle | ppc-le | powerpc-little)
1007 basic_machine=powerpcle-unknown
1009 ppcle-* | powerpclittle-*)
1010 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1012 ppc64) basic_machine=powerpc64-unknown
1014 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1016 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1017 basic_machine=powerpc64le-unknown
1019 ppc64le-* | powerpc64little-*)
1020 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1023 basic_machine=i386-ibm
1026 basic_machine=i586-unknown
1030 basic_machine=x86_64-pc
1034 basic_machine=i386-pc
1038 basic_machine=m68k-rom68k
1042 basic_machine=mips-siemens
1045 basic_machine=romp-ibm
1048 basic_machine=s390-ibm
1051 basic_machine=s390x-ibm
1054 basic_machine=a29k-amd
1058 basic_machine=mipsisa64sb1-unknown
1061 basic_machine=mipsisa64sb1el-unknown
1064 basic_machine=mipsisa32-sde
1068 basic_machine=mips-sei
1072 basic_machine=i386-sequent
1075 basic_machine=sh-hitachi
1079 basic_machine=sh5le-unknown
1082 basic_machine=sh64-unknown
1084 sparclite-wrs | simso-wrs)
1085 basic_machine=sparclite-wrs
1089 basic_machine=m68k-bull
1093 basic_machine=spur-unknown
1096 basic_machine=m68k-tandem
1099 basic_machine=i860-stratus
1102 strongarm-* | thumb-*)
1103 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1106 basic_machine=m68000-sun
1109 basic_machine=m68000-sun
1113 basic_machine=m68000-sun
1117 basic_machine=m68k-sun
1121 basic_machine=m68k-sun
1125 basic_machine=sparc-sun
1129 basic_machine=sparc-sun
1133 basic_machine=sparc-sun
1137 basic_machine=m68k-sun
1140 basic_machine=sparc-sun
1142 sun386 | sun386i | roadrunner)
1143 basic_machine=i386-sun
1146 basic_machine=sv1-cray
1150 basic_machine=i386-sequent
1154 basic_machine=alphaev5-cray
1158 basic_machine=t90-cray
1162 basic_machine=$basic_machine-unknown
1166 basic_machine=mipstx39-unknown
1169 basic_machine=mipstx39el-unknown
1172 basic_machine=pdp10-xkl
1176 basic_machine=m68k-ncr
1179 basic_machine=s390x-ibm
1183 basic_machine=a29k-amd
1187 basic_machine=a29k-nyu
1191 basic_machine=v810-nec
1195 basic_machine=vax-dec
1199 basic_machine=vax-dec
1203 basic_machine=f301-fujitsu
1206 basic_machine=i960-wrs
1210 basic_machine=m68k-wrs
1214 basic_machine=a29k-wrs
1218 basic_machine=w65-wdc
1222 basic_machine=hppa1.1-winbond
1226 basic_machine=i686-pc
1230 basic_machine=xps100-honeywell
1232 xscale-* | xscalee[bl]-*)
1233 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1236 basic_machine=ymp-cray
1240 basic_machine=z8k-unknown
1244 basic_machine=z80-unknown
1248 basic_machine=none-none
1252 # Here we handle the default manufacturer of certain CPU types. It is in
1253 # some cases the only manufacturer, in others, it is the most popular.
1255 basic_machine=hppa1.1-winbond
1258 basic_machine=hppa1.1-oki
1261 basic_machine=hppa1.1-oki
1264 basic_machine=romp-ibm
1267 basic_machine=mmix-knuth
1270 basic_machine=rs6000-ibm
1273 basic_machine=vax-dec
1276 # there are many clones, so DEC is not a safe bet
1277 basic_machine=pdp10-unknown
1280 basic_machine=pdp11-dec
1283 basic_machine=we32k-att
1285 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1286 basic_machine=sh-unknown
1288 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1289 basic_machine=sparc-sun
1292 basic_machine=cydra-cydrome
1295 basic_machine=orion-highlevel
1298 basic_machine=clipper-highlevel
1300 mac | mpw | mac-mpw)
1301 basic_machine=m68k-apple
1304 basic_machine=powerpc-apple
1307 # Make sure to match an already-canonicalized machine name.
1310 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1315 # Here we canonicalize certain aliases for manufacturers.
1316 case $basic_machine in
1318 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1321 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1327 # Decode manufacturer-specific aliases for certain operating systems.
1329 if [ x"$os" != x"" ]
1332 # First match some system type aliases
1333 # that might get confused with valid system types.
1334 # -solaris* is a basic system type, with this one exception.
1338 -solaris1 | -solaris1.*)
1339 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1351 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1353 # First accept the basic system types.
1354 # The portable systems comes first.
1355 # Each alternative MUST END IN A *, to match a version number.
1356 # -sysv* is not here because it comes later, after sysvr4.
1357 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1358 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1359 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1360 | -sym* | -kopensolaris* \
1361 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1363 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1364 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1365 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1366 | -bitrig* | -openbsd* | -solidbsd* \
1367 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1368 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1369 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1370 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1371 | -chorusos* | -chorusrdb* | -cegcc* \
1372 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1373 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1374 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1375 | -uxpv* | -beos* | -mpeix* | -udk* \
1376 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1377 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1378 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1379 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1380 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1381 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1382 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1383 # Remember, each alternative MUST END IN *, to match a version number.
1386 case $basic_machine in
1397 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1399 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1400 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1401 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1404 os=`echo $os | sed -e 's|mac|macos|'`
1410 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1413 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1416 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1463 # Preserve the version number of sinix5.
1465 os=`echo $os | sed -e 's|sinix|sysv|'`
1488 # This must come after -sysvr4.
1500 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1520 # Get rid of the `-' at the beginning of $os.
1521 os=`echo $os | sed 's/[^-]*-//'`
1522 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1528 # Here we handle the default operating systems that come with various machines.
1529 # The value should be what the vendor currently ships out the door with their
1530 # machine or put another way, the most popular os provided with the machine.
1532 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1533 # "-sun"), then you have to tell the case statement up towards the top
1534 # that MANUFACTURER isn't an operating system. Otherwise, code above
1535 # will signal an error saying that MANUFACTURER isn't an operating
1536 # system, and we'll never get to this point.
1538 case $basic_machine in
1569 # This must come before the *-dec entry.
1603 *-tti) # must be before sparc entry or we get the wrong os.
1636 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1690 f30[01]-fujitsu | f700-fujitsu)
1711 # Here we handle the case where we know the os, and the CPU type, but not the
1712 # manufacturer. We pick the logical manufacturer.
1714 case $basic_machine in
1762 -vxsim* | -vxworks* | -windiss*)
1774 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1781 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1785 echo $basic_machine$os
1789 # eval: (add-hook 'write-file-hooks 'time-stamp)
1790 # time-stamp-start: "timestamp='"
1791 # time-stamp-format: "%:y-%02m-%02d"
1792 # time-stamp-end: "'"