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 \
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 | 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
363 basic_machine=x86_64-pc
367 basic_machine=i686-pc
371 # le32-unknown-pnacl comes from http://www.chromium.org/nativeclient/pnacl/stability-of-the-pnacl-bitcode-abi
372 basic_machine=le32-unknown
375 # Object if more than one company name word.
377 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
380 # Recognize the basic CPU types with company name.
383 | aarch64-* | aarch64_be-* \
384 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
385 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
386 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
387 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
390 | bfin-* | bs2000-* \
391 | c[123]* | c30-* | [cjt]90-* | c4x-* \
392 | clipper-* | craynv-* | cydra-* \
393 | d10v-* | d30v-* | dlx-* \
395 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
396 | h8300-* | h8500-* \
397 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
399 | i*86-* | i860-* | i960-* | ia64-* \
400 | ip2k-* | iq2000-* \
403 | m32c-* | m32r-* | m32rle-* \
404 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
405 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
406 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
408 | mips64-* | mips64el-* \
409 | mips64octeon-* | mips64octeonel-* \
410 | mips64orion-* | mips64orionel-* \
411 | mips64r5900-* | mips64r5900el-* \
412 | mips64vr-* | mips64vrel-* \
413 | mips64vr4100-* | mips64vr4100el-* \
414 | mips64vr4300-* | mips64vr4300el-* \
415 | mips64vr5000-* | mips64vr5000el-* \
416 | mips64vr5900-* | mips64vr5900el-* \
417 | mipsisa32-* | mipsisa32el-* \
418 | mipsisa32r2-* | mipsisa32r2el-* \
419 | mipsisa64-* | mipsisa64el-* \
420 | mipsisa64r2-* | mipsisa64r2el-* \
421 | mipsisa64sb1-* | mipsisa64sb1el-* \
422 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
423 | mipstx39-* | mipstx39el-* \
427 | nds32-* | nds32le-* | nds32be-* \
429 | none-* | np1-* | ns16k-* | ns32k-* \
432 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
433 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
435 | rl78-* | romp-* | rs6000-* | rx-* \
436 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
437 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
438 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
440 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
442 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
446 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
449 | x86-* | x86_64-* | xc16x-* | xps100-* \
450 | xstormy16-* | xtensa*-* \
454 # Recognize the basic CPU types without company name, with glob match.
456 basic_machine=$basic_machine-unknown
458 # Recognize the various machine names and aliases which stand
459 # for a CPU type and a company and sometimes even an OS.
461 basic_machine=i386-unknown
464 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
465 basic_machine=m68000-att
468 basic_machine=we32k-att
471 basic_machine=a29k-amd
475 basic_machine=abacus-unknown
478 basic_machine=m68010-adobe
482 basic_machine=fx80-alliant
485 basic_machine=m68k-altos
488 basic_machine=a29k-none
492 basic_machine=x86_64-pc
495 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
498 basic_machine=580-amdahl
502 basic_machine=m68k-unknown
505 basic_machine=m68k-unknown
509 basic_machine=m68k-unknown
513 basic_machine=m68k-apollo
517 basic_machine=m68k-apollo
521 basic_machine=i386-pc
525 basic_machine=m68k-apple
529 basic_machine=ns32k-sequent
533 basic_machine=bfin-unknown
537 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
541 basic_machine=powerpc-ibm
545 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
548 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
551 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
554 basic_machine=c90-cray
558 basic_machine=arm-unknown
562 basic_machine=c1-convex
566 basic_machine=c2-convex
570 basic_machine=c32-convex
574 basic_machine=c34-convex
578 basic_machine=c38-convex
582 basic_machine=j90-cray
586 basic_machine=craynv-cray
590 basic_machine=cr16-unknown
594 basic_machine=m68k-crds
596 crisv32 | crisv32-* | etraxfs*)
597 basic_machine=crisv32-axis
599 cris | cris-* | etrax*)
600 basic_machine=cris-axis
603 basic_machine=crx-unknown
607 basic_machine=m68k-da30
609 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
610 basic_machine=mips-dec
612 decsystem10* | dec10*)
613 basic_machine=pdp10-dec
616 decsystem20* | dec20*)
617 basic_machine=pdp10-dec
620 delta | 3300 | motorola-3300 | motorola-delta \
621 | 3300-motorola | delta-motorola)
622 basic_machine=m68k-motorola
625 basic_machine=m88k-motorola
629 basic_machine=i686-pc
633 basic_machine=i586-pc
637 basic_machine=rs6000-bull
641 basic_machine=m68k-bull
645 basic_machine=a29k-amd
649 basic_machine=elxsi-elxsi
652 encore | umax | mmax)
653 basic_machine=ns32k-encore
655 es1800 | OSE68k | ose68k | ose | OSE)
656 basic_machine=m68k-ericsson
660 basic_machine=i860-alliant
663 basic_machine=ns32k-ns
666 basic_machine=tron-gmicro
670 basic_machine=i386-pc
674 basic_machine=hppa1.1-hitachi
678 basic_machine=h8300-hitachi
682 basic_machine=h8300-hitachi
686 basic_machine=h8500-hitachi
690 basic_machine=m88k-harris
694 basic_machine=m68k-hp
697 basic_machine=m68k-hp
701 basic_machine=m68k-hp
704 hp3k9[0-9][0-9] | hp9[0-9][0-9])
705 basic_machine=hppa1.0-hp
707 hp9k2[0-9][0-9] | hp9k31[0-9])
708 basic_machine=m68000-hp
711 basic_machine=m68k-hp
713 hp9k6[0-9][0-9] | hp6[0-9][0-9])
714 basic_machine=hppa1.0-hp
716 hp9k7[0-79][0-9] | hp7[0-79][0-9])
717 basic_machine=hppa1.1-hp
719 hp9k78[0-9] | hp78[0-9])
720 # FIXME: really hppa2.0-hp
721 basic_machine=hppa1.1-hp
723 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
724 # FIXME: really hppa2.0-hp
725 basic_machine=hppa1.1-hp
727 hp9k8[0-9][13679] | hp8[0-9][13679])
728 basic_machine=hppa1.1-hp
730 hp9k8[0-9][0-9] | hp8[0-9][0-9])
731 basic_machine=hppa1.0-hp
737 basic_machine=hppa1.1-hp
741 basic_machine=hppa1.1-hp
745 basic_machine=i370-ibm
748 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
752 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
756 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
760 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
764 basic_machine=i386-mach
768 basic_machine=i386-unknown
772 basic_machine=mips-sgi
782 basic_machine=m68k-isi
786 basic_machine=m68k-unknown
790 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
794 basic_machine=m88k-omron
797 basic_machine=mips-mips
801 basic_machine=ns32k-utek
805 basic_machine=microblaze-xilinx
808 basic_machine=x86_64-pc
812 basic_machine=i386-pc
816 basic_machine=arm-unknown
820 basic_machine=m68000-convergent
822 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
823 basic_machine=m68k-atari
827 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
830 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
833 basic_machine=m68k-rom68k
837 basic_machine=powerpc-unknown
841 basic_machine=i386-pc
845 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
848 basic_machine=i386-pc
852 basic_machine=i370-ibm
856 basic_machine=le32-unknown
860 basic_machine=le32-unknown
864 basic_machine=i486-ncr
868 basic_machine=i386-unknown
872 basic_machine=armv4l-rebel
875 news | news700 | news800 | news900)
876 basic_machine=m68k-sony
880 basic_machine=m68030-sony
883 news-3600 | risc-news)
884 basic_machine=mips-sony
888 basic_machine=v70-nec
892 basic_machine=m68k-next
905 basic_machine=m68k-harris
909 basic_machine=m88k-harris
913 basic_machine=i960-intel
917 basic_machine=i960-intel
921 basic_machine=mips-compaq
925 basic_machine=np1-gould
928 basic_machine=neo-tandem
931 basic_machine=nse-tandem
934 basic_machine=nsr-tandem
937 basic_machine=hppa1.1-oki
940 openrisc | openrisc-*)
941 basic_machine=or32-unknown
944 basic_machine=powerpc-ibm
948 basic_machine=m68000-ericsson
952 basic_machine=m68k-none
956 basic_machine=hppa1.1-hitachi
960 basic_machine=i860-intel
964 basic_machine=hppa-unknown
968 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
972 basic_machine=sparc-tti
975 basic_machine=m68k-tti
978 basic_machine=ns32k-pc532
981 basic_machine=i386-pc
984 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
986 pentium | p5 | k5 | k6 | nexgen | viac3)
987 basic_machine=i586-pc
989 pentiumpro | p6 | 6x86 | athlon | athlon_*)
990 basic_machine=i686-pc
992 pentiumii | pentium2 | pentiumiii | pentium3)
993 basic_machine=i686-pc
996 basic_machine=i786-pc
998 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
999 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1001 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1002 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1004 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1005 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1008 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1011 basic_machine=pn-gould
1013 power) basic_machine=power-ibm
1015 ppc | ppcbe) basic_machine=powerpc-unknown
1018 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1020 ppcle | powerpclittle | ppc-le | powerpc-little)
1021 basic_machine=powerpcle-unknown
1023 ppcle-* | powerpclittle-*)
1024 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1026 ppc64) basic_machine=powerpc64-unknown
1028 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1030 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1031 basic_machine=powerpc64le-unknown
1033 ppc64le-* | powerpc64little-*)
1034 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1037 basic_machine=i386-ibm
1040 basic_machine=i586-unknown
1044 basic_machine=i386-pc
1048 basic_machine=m68k-rom68k
1052 basic_machine=mips-siemens
1055 basic_machine=romp-ibm
1058 basic_machine=s390-ibm
1061 basic_machine=s390x-ibm
1064 basic_machine=a29k-amd
1068 basic_machine=mipsisa64sb1-unknown
1071 basic_machine=mipsisa64sb1el-unknown
1074 basic_machine=mipsisa32-sde
1078 basic_machine=mips-sei
1082 basic_machine=i386-sequent
1085 basic_machine=sh-hitachi
1089 basic_machine=sh5le-unknown
1092 basic_machine=sh64-unknown
1094 sparclite-wrs | simso-wrs)
1095 basic_machine=sparclite-wrs
1099 basic_machine=m68k-bull
1103 basic_machine=spur-unknown
1106 basic_machine=m68k-tandem
1109 basic_machine=i860-stratus
1112 strongarm-* | thumb-*)
1113 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1116 basic_machine=m68000-sun
1119 basic_machine=m68000-sun
1123 basic_machine=m68000-sun
1127 basic_machine=m68k-sun
1131 basic_machine=m68k-sun
1135 basic_machine=sparc-sun
1139 basic_machine=sparc-sun
1143 basic_machine=sparc-sun
1147 basic_machine=m68k-sun
1150 basic_machine=sparc-sun
1152 sun386 | sun386i | roadrunner)
1153 basic_machine=i386-sun
1156 basic_machine=sv1-cray
1160 basic_machine=i386-sequent
1164 basic_machine=alphaev5-cray
1168 basic_machine=t90-cray
1172 basic_machine=$basic_machine-unknown
1176 basic_machine=mipstx39-unknown
1179 basic_machine=mipstx39el-unknown
1182 basic_machine=pdp10-xkl
1186 basic_machine=m68k-ncr
1189 basic_machine=s390x-ibm
1193 basic_machine=a29k-amd
1197 basic_machine=a29k-nyu
1201 basic_machine=v810-nec
1205 basic_machine=vax-dec
1209 basic_machine=vax-dec
1213 basic_machine=f301-fujitsu
1216 basic_machine=i960-wrs
1220 basic_machine=m68k-wrs
1224 basic_machine=a29k-wrs
1228 basic_machine=w65-wdc
1232 basic_machine=hppa1.1-winbond
1236 basic_machine=i686-pc
1240 basic_machine=xps100-honeywell
1242 xscale-* | xscalee[bl]-*)
1243 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1246 basic_machine=ymp-cray
1250 basic_machine=z8k-unknown
1254 basic_machine=z80-unknown
1258 basic_machine=none-none
1262 # Here we handle the default manufacturer of certain CPU types. It is in
1263 # some cases the only manufacturer, in others, it is the most popular.
1265 basic_machine=hppa1.1-winbond
1268 basic_machine=hppa1.1-oki
1271 basic_machine=hppa1.1-oki
1274 basic_machine=romp-ibm
1277 basic_machine=mmix-knuth
1280 basic_machine=rs6000-ibm
1283 basic_machine=vax-dec
1286 # there are many clones, so DEC is not a safe bet
1287 basic_machine=pdp10-unknown
1290 basic_machine=pdp11-dec
1293 basic_machine=we32k-att
1295 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1296 basic_machine=sh-unknown
1298 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1299 basic_machine=sparc-sun
1302 basic_machine=cydra-cydrome
1305 basic_machine=orion-highlevel
1308 basic_machine=clipper-highlevel
1310 mac | mpw | mac-mpw)
1311 basic_machine=m68k-apple
1314 basic_machine=powerpc-apple
1317 # Make sure to match an already-canonicalized machine name.
1320 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1325 # Here we canonicalize certain aliases for manufacturers.
1326 case $basic_machine in
1328 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1331 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1337 # Decode manufacturer-specific aliases for certain operating systems.
1339 if [ x"$os" != x"" ]
1342 # First match some system type aliases
1343 # that might get confused with valid system types.
1344 # -solaris* is a basic system type, with this one exception.
1348 -solaris1 | -solaris1.*)
1349 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1361 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1363 # First accept the basic system types.
1364 # The portable systems comes first.
1365 # Each alternative MUST END IN A *, to match a version number.
1366 # -sysv* is not here because it comes later, after sysvr4.
1367 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1368 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1369 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1370 | -sym* | -kopensolaris* \
1371 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1373 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1374 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1375 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1376 | -bitrig* | -openbsd* | -solidbsd* \
1377 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1378 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1379 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1380 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1381 | -chorusos* | -chorusrdb* | -cegcc* \
1382 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1383 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1384 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1385 | -uxpv* | -beos* | -mpeix* | -udk* \
1386 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1387 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1388 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1389 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1390 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1391 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1392 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1393 # Remember, each alternative MUST END IN *, to match a version number.
1396 case $basic_machine in
1413 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1415 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1416 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1417 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1420 os=`echo $os | sed -e 's|mac|macos|'`
1426 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1429 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1432 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1479 # Preserve the version number of sinix5.
1481 os=`echo $os | sed -e 's|sinix|sysv|'`
1504 # This must come after -sysvr4.
1516 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1542 # Get rid of the `-' at the beginning of $os.
1543 os=`echo $os | sed 's/[^-]*-//'`
1544 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1550 # Here we handle the default operating systems that come with various machines.
1551 # The value should be what the vendor currently ships out the door with their
1552 # machine or put another way, the most popular os provided with the machine.
1554 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1555 # "-sun"), then you have to tell the case statement up towards the top
1556 # that MANUFACTURER isn't an operating system. Otherwise, code above
1557 # will signal an error saying that MANUFACTURER isn't an operating
1558 # system, and we'll never get to this point.
1560 case $basic_machine in
1591 # This must come before the *-dec entry.
1625 *-tti) # must be before sparc entry or we get the wrong os.
1658 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1712 f30[01]-fujitsu | f700-fujitsu)
1733 # Here we handle the case where we know the os, and the CPU type, but not the
1734 # manufacturer. We pick the logical manufacturer.
1736 case $basic_machine in
1784 -vxsim* | -vxworks* | -windiss*)
1796 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1803 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1807 echo $basic_machine$os
1811 # eval: (add-hook 'write-file-hooks 'time-stamp)
1812 # time-stamp-start: "timestamp='"
1813 # time-stamp-format: "%:y-%02m-%02d"
1814 # time-stamp-end: "'"