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 free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 3 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, see <http://www.gnu.org/licenses/>.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that
26 # program. This Exception is an additional permission under section 7
27 # of the GNU General Public License, version 3 ("GPLv3").
30 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
32 # Configuration subroutine to validate and canonicalize a configuration type.
33 # Supply the specified configuration type as an argument.
34 # If it is invalid, we print an error message on stderr and exit with code 1.
35 # Otherwise, we print the canonical config type on stdout and succeed.
37 # You can get the latest version of this script from:
38 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
40 # This file is supposed to be the same for all GNU packages
41 # and recognize all the CPU types, system types and aliases
42 # that are meaningful with *any* GNU software.
43 # Each package is responsible for reporting which valid configurations
44 # it does not support. The user should be able to distinguish
45 # a failure to support a valid configuration from a meaningless
48 # The goal of this file is to map all the various variations of a given
49 # machine specification into a single specification in the form:
50 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51 # or in some cases, the newer four-part form:
52 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53 # It is wrong to echo any other type of specification.
55 me=`echo "$0" | sed -e 's,.*/,,'`
58 Usage: $0 [OPTION] CPU-MFR-OPSYS
61 Canonicalize a configuration name.
64 -h, --help print this help, then exit
65 -t, --time-stamp print date of last modification, then exit
66 -v, --version print version number, then exit
68 Report bugs and patches to <config-patches@gnu.org>."
71 GNU config.sub ($timestamp)
73 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
74 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
75 2012, 2013 Free Software Foundation, Inc.
77 This is free software; see the source for copying conditions. There is NO
78 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
81 Try \`$me --help' for more information."
84 while test $# -gt 0 ; do
86 --time-stamp | --time* | -t )
87 echo "$timestamp" ; exit ;;
89 echo "$version" ; exit ;;
91 echo "$usage"; exit ;;
92 -- ) # Stop option processing
94 - ) # Use stdin as input.
97 echo "$me: invalid option $1$help"
101 # First pass through any local machine types.
111 0) echo "$me: missing argument$help" >&2
114 *) echo "$me: too many arguments$help" >&2
118 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119 # Here we must recognize all the valid KERNEL-OS combinations.
120 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
123 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
124 knetbsd*-gnu* | netbsd*-gnu* | \
125 kopensolaris*-gnu* | \
126 storm-chaos* | os2-emx* | rtmk-nova*)
128 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
135 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136 if [ $basic_machine != $1 ]
137 then os=`echo $1 | sed 's/.*-/-/'`
142 ### Let's recognize common machines as not being operating systems so
143 ### that things like config.sub decstation-3100 work. We also
144 ### recognize some manufacturers as not being operating systems, so we
145 ### can provide default operating systems below.
148 # Prevent following clause from handling this invalid input.
150 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
156 -apple | -axis | -knuth | -cray | -microblaze*)
163 -sim | -cisco | -oki | -wec | -winbond)
186 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
197 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
201 # Don't forget version if it is 3.2v4 or newer.
202 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
205 # Don't forget version if it is 3.2v4 or newer.
206 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
220 basic_machine=clipper-intergraph
223 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
235 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
238 os=`echo $os | sed -e 's/windowsnt/winnt/'`
244 basic_machine=m68k-atari
249 # Decode aliases for certain CPU-COMPANY combinations.
250 case $basic_machine in
251 # Recognize the basic CPU types without company name.
252 # Some are omitted here because they have special meanings below.
255 | aarch64 | aarch64_be \
256 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
257 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
260 | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
265 | d10v | d30v | dlx | dsp16xx | dvp \
267 | fido | fr30 | frv \
268 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270 | i370 | i860 | i960 | ia64 \
274 | m32c | m32r | m32rle | m68000 | m68k | m88k \
275 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
276 | mips | mipsbe | mipseb | mipsel | mipsle \
278 | mips64 | mips64el \
279 | mips64octeon | mips64octeonel \
280 | mips64orion | mips64orionel \
281 | mips64r5900 | mips64r5900el \
282 | mips64vr | mips64vrel \
283 | mips64vr4100 | mips64vr4100el \
284 | mips64vr4300 | mips64vr4300el \
285 | mips64vr5000 | mips64vr5000el \
286 | mips64vr5900 | mips64vr5900el \
287 | mipsisa32 | mipsisa32el \
288 | mipsisa32r2 | mipsisa32r2el \
289 | mipsisa64 | mipsisa64el \
290 | mipsisa64r2 | mipsisa64r2el \
291 | mipsisa64sb1 | mipsisa64sb1el \
292 | mipsisa64sr71k | mipsisa64sr71kel \
293 | mipsr5900 | mipsr5900el \
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 | mipsr5900-* | mipsr5900el-* \
412 | mipstx39-* | mipstx39el-* \
416 | nds32-* | nds32le-* | nds32be-* \
418 | none-* | np1-* | ns16k-* | ns32k-* \
421 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
422 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
424 | rl78-* | romp-* | rs6000-* | rx-* \
425 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
426 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
427 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
429 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
431 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
435 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
438 | x86-* | x86_64-* | xc16x-* | xps100-* \
439 | xstormy16-* | xtensa*-* \
443 # Recognize the basic CPU types without company name, with glob match.
445 basic_machine=$basic_machine-unknown
447 # Recognize the various machine names and aliases which stand
448 # for a CPU type and a company and sometimes even an OS.
450 basic_machine=i386-unknown
453 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
454 basic_machine=m68000-att
457 basic_machine=we32k-att
460 basic_machine=a29k-amd
464 basic_machine=abacus-unknown
467 basic_machine=m68010-adobe
471 basic_machine=fx80-alliant
474 basic_machine=m68k-altos
477 basic_machine=a29k-none
481 basic_machine=x86_64-pc
484 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
487 basic_machine=580-amdahl
491 basic_machine=m68k-unknown
494 basic_machine=m68k-unknown
498 basic_machine=m68k-unknown
502 basic_machine=m68k-apollo
506 basic_machine=m68k-apollo
510 basic_machine=i386-pc
514 basic_machine=m68k-apple
518 basic_machine=ns32k-sequent
522 basic_machine=bfin-unknown
526 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
530 basic_machine=powerpc-ibm
534 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
537 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
540 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
543 basic_machine=c90-cray
547 basic_machine=arm-unknown
551 basic_machine=c1-convex
555 basic_machine=c2-convex
559 basic_machine=c32-convex
563 basic_machine=c34-convex
567 basic_machine=c38-convex
571 basic_machine=j90-cray
575 basic_machine=craynv-cray
579 basic_machine=cr16-unknown
583 basic_machine=m68k-crds
585 crisv32 | crisv32-* | etraxfs*)
586 basic_machine=crisv32-axis
588 cris | cris-* | etrax*)
589 basic_machine=cris-axis
592 basic_machine=crx-unknown
596 basic_machine=m68k-da30
598 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
599 basic_machine=mips-dec
601 decsystem10* | dec10*)
602 basic_machine=pdp10-dec
605 decsystem20* | dec20*)
606 basic_machine=pdp10-dec
609 delta | 3300 | motorola-3300 | motorola-delta \
610 | 3300-motorola | delta-motorola)
611 basic_machine=m68k-motorola
614 basic_machine=m88k-motorola
618 basic_machine=i686-pc
622 basic_machine=i586-pc
626 basic_machine=rs6000-bull
630 basic_machine=m68k-bull
634 basic_machine=a29k-amd
638 basic_machine=elxsi-elxsi
641 encore | umax | mmax)
642 basic_machine=ns32k-encore
644 es1800 | OSE68k | ose68k | ose | OSE)
645 basic_machine=m68k-ericsson
649 basic_machine=i860-alliant
652 basic_machine=ns32k-ns
655 basic_machine=tron-gmicro
659 basic_machine=i386-pc
663 basic_machine=hppa1.1-hitachi
667 basic_machine=h8300-hitachi
671 basic_machine=h8300-hitachi
675 basic_machine=h8500-hitachi
679 basic_machine=m88k-harris
683 basic_machine=m68k-hp
686 basic_machine=m68k-hp
690 basic_machine=m68k-hp
693 hp3k9[0-9][0-9] | hp9[0-9][0-9])
694 basic_machine=hppa1.0-hp
696 hp9k2[0-9][0-9] | hp9k31[0-9])
697 basic_machine=m68000-hp
700 basic_machine=m68k-hp
702 hp9k6[0-9][0-9] | hp6[0-9][0-9])
703 basic_machine=hppa1.0-hp
705 hp9k7[0-79][0-9] | hp7[0-79][0-9])
706 basic_machine=hppa1.1-hp
708 hp9k78[0-9] | hp78[0-9])
709 # FIXME: really hppa2.0-hp
710 basic_machine=hppa1.1-hp
712 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
713 # FIXME: really hppa2.0-hp
714 basic_machine=hppa1.1-hp
716 hp9k8[0-9][13679] | hp8[0-9][13679])
717 basic_machine=hppa1.1-hp
719 hp9k8[0-9][0-9] | hp8[0-9][0-9])
720 basic_machine=hppa1.0-hp
726 basic_machine=hppa1.1-hp
730 basic_machine=hppa1.1-hp
734 basic_machine=i370-ibm
737 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
741 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
745 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
749 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
753 basic_machine=i386-mach
757 basic_machine=i386-unknown
761 basic_machine=mips-sgi
771 basic_machine=m68k-isi
775 basic_machine=m68k-unknown
779 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
783 basic_machine=m88k-omron
786 basic_machine=mips-mips
790 basic_machine=ns32k-utek
794 basic_machine=microblaze-xilinx
797 basic_machine=x86_64-pc
801 basic_machine=i386-pc
805 basic_machine=arm-unknown
809 basic_machine=m68000-convergent
811 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
812 basic_machine=m68k-atari
816 basic_machine=mips64r5900el-scei
826 basic_machine=mipsel-scei
830 basic_machine=dvp-scei
834 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
837 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
840 basic_machine=m68k-rom68k
844 basic_machine=powerpc-unknown
848 basic_machine=i386-pc
852 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
855 basic_machine=i386-pc
859 basic_machine=i370-ibm
863 basic_machine=le32-unknown
867 basic_machine=i486-ncr
871 basic_machine=i386-unknown
875 basic_machine=armv4l-rebel
878 news | news700 | news800 | news900)
879 basic_machine=m68k-sony
883 basic_machine=m68030-sony
886 news-3600 | risc-news)
887 basic_machine=mips-sony
891 basic_machine=v70-nec
895 basic_machine=m68k-next
908 basic_machine=m68k-harris
912 basic_machine=m88k-harris
916 basic_machine=i960-intel
920 basic_machine=i960-intel
924 basic_machine=mips-compaq
928 basic_machine=np1-gould
931 basic_machine=neo-tandem
934 basic_machine=nse-tandem
937 basic_machine=nsr-tandem
940 basic_machine=hppa1.1-oki
943 openrisc | openrisc-*)
944 basic_machine=or32-unknown
947 basic_machine=powerpc-ibm
951 basic_machine=m68000-ericsson
955 basic_machine=m68k-none
959 basic_machine=hppa1.1-hitachi
963 basic_machine=i860-intel
967 basic_machine=hppa-unknown
971 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
975 basic_machine=sparc-tti
978 basic_machine=m68k-tti
981 basic_machine=ns32k-pc532
984 basic_machine=i386-pc
987 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
989 pentium | p5 | k5 | k6 | nexgen | viac3)
990 basic_machine=i586-pc
992 pentiumpro | p6 | 6x86 | athlon | athlon_*)
993 basic_machine=i686-pc
995 pentiumii | pentium2 | pentiumiii | pentium3)
996 basic_machine=i686-pc
999 basic_machine=i786-pc
1001 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1002 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
1004 pentiumpro-* | p6-* | 6x86-* | athlon-*)
1005 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1007 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1008 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
1011 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
1014 basic_machine=pn-gould
1016 power) basic_machine=power-ibm
1018 ppc | ppcbe) basic_machine=powerpc-unknown
1021 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1023 ppcle | powerpclittle | ppc-le | powerpc-little)
1024 basic_machine=powerpcle-unknown
1026 ppcle-* | powerpclittle-*)
1027 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1029 ppc64) basic_machine=powerpc64-unknown
1031 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1033 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1034 basic_machine=powerpc64le-unknown
1036 ppc64le-* | powerpc64little-*)
1037 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1040 basic_machine=i386-ibm
1043 basic_machine=i586-unknown
1047 basic_machine=x86_64-pc
1051 basic_machine=i386-pc
1055 basic_machine=m68k-rom68k
1059 basic_machine=mips-siemens
1062 basic_machine=romp-ibm
1065 basic_machine=s390-ibm
1068 basic_machine=s390x-ibm
1071 basic_machine=a29k-amd
1075 basic_machine=mipsisa64sb1-unknown
1078 basic_machine=mipsisa64sb1el-unknown
1081 basic_machine=mipsisa32-sde
1085 basic_machine=mips-sei
1089 basic_machine=i386-sequent
1092 basic_machine=sh-hitachi
1096 basic_machine=sh5le-unknown
1099 basic_machine=sh64-unknown
1101 sparclite-wrs | simso-wrs)
1102 basic_machine=sparclite-wrs
1106 basic_machine=m68k-bull
1110 basic_machine=spur-unknown
1113 basic_machine=m68k-tandem
1116 basic_machine=i860-stratus
1119 strongarm-* | thumb-*)
1120 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1123 basic_machine=m68000-sun
1126 basic_machine=m68000-sun
1130 basic_machine=m68000-sun
1134 basic_machine=m68k-sun
1138 basic_machine=m68k-sun
1142 basic_machine=sparc-sun
1146 basic_machine=sparc-sun
1150 basic_machine=sparc-sun
1154 basic_machine=m68k-sun
1157 basic_machine=sparc-sun
1159 sun386 | sun386i | roadrunner)
1160 basic_machine=i386-sun
1163 basic_machine=sv1-cray
1167 basic_machine=i386-sequent
1171 basic_machine=alphaev5-cray
1175 basic_machine=t90-cray
1179 basic_machine=$basic_machine-unknown
1183 basic_machine=mipstx39-unknown
1186 basic_machine=mipstx39el-unknown
1189 basic_machine=pdp10-xkl
1193 basic_machine=m68k-ncr
1196 basic_machine=s390x-ibm
1200 basic_machine=a29k-amd
1204 basic_machine=a29k-nyu
1208 basic_machine=v810-nec
1212 basic_machine=vax-dec
1216 basic_machine=vax-dec
1220 basic_machine=f301-fujitsu
1223 basic_machine=i960-wrs
1227 basic_machine=m68k-wrs
1231 basic_machine=a29k-wrs
1235 basic_machine=w65-wdc
1239 basic_machine=hppa1.1-winbond
1243 basic_machine=i686-pc
1247 basic_machine=xps100-honeywell
1249 xscale-* | xscalee[bl]-*)
1250 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1253 basic_machine=ymp-cray
1257 basic_machine=z8k-unknown
1261 basic_machine=z80-unknown
1265 basic_machine=none-none
1269 # Here we handle the default manufacturer of certain CPU types. It is in
1270 # some cases the only manufacturer, in others, it is the most popular.
1272 basic_machine=hppa1.1-winbond
1275 basic_machine=hppa1.1-oki
1278 basic_machine=hppa1.1-oki
1281 basic_machine=romp-ibm
1284 basic_machine=mmix-knuth
1287 basic_machine=rs6000-ibm
1290 basic_machine=vax-dec
1293 # there are many clones, so DEC is not a safe bet
1294 basic_machine=pdp10-unknown
1297 basic_machine=pdp11-dec
1300 basic_machine=we32k-att
1302 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1303 basic_machine=sh-unknown
1305 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1306 basic_machine=sparc-sun
1309 basic_machine=cydra-cydrome
1312 basic_machine=orion-highlevel
1315 basic_machine=clipper-highlevel
1317 mac | mpw | mac-mpw)
1318 basic_machine=m68k-apple
1321 basic_machine=powerpc-apple
1324 # Make sure to match an already-canonicalized machine name.
1327 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1332 # Here we canonicalize certain aliases for manufacturers.
1333 case $basic_machine in
1335 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1338 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1344 # Decode manufacturer-specific aliases for certain operating systems.
1346 if [ x"$os" != x"" ]
1349 # First match some system type aliases
1350 # that might get confused with valid system types.
1351 # -solaris* is a basic system type, with this one exception.
1355 -solaris1 | -solaris1.*)
1356 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1368 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1370 # First accept the basic system types.
1371 # The portable systems comes first.
1372 # Each alternative MUST END IN A *, to match a version number.
1373 # -sysv* is not here because it comes later, after sysvr4.
1374 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1375 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1376 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1377 | -sym* | -kopensolaris* | -plan9* \
1378 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1380 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1381 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1382 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1383 | -bitrig* | -openbsd* | -solidbsd* \
1384 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1385 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1386 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1387 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1388 | -chorusos* | -chorusrdb* | -cegcc* \
1389 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1390 | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1391 | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1392 | -uxpv* | -beos* | -mpeix* | -udk* \
1393 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1394 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1395 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
1396 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1397 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1398 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1399 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1400 # Remember, each alternative MUST END IN *, to match a version number.
1403 case $basic_machine in
1414 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1416 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1417 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1418 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1421 os=`echo $os | sed -e 's|mac|macos|'`
1427 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1430 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1433 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1480 # Preserve the version number of sinix5.
1482 os=`echo $os | sed -e 's|sinix|sysv|'`
1505 # This must come after -sysvr4.
1517 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1534 # Get rid of the `-' at the beginning of $os.
1535 os=`echo $os | sed 's/[^-]*-//'`
1536 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1542 # Here we handle the default operating systems that come with various machines.
1543 # The value should be what the vendor currently ships out the door with their
1544 # machine or put another way, the most popular os provided with the machine.
1546 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1547 # "-sun"), then you have to tell the case statement up towards the top
1548 # that MANUFACTURER isn't an operating system. Otherwise, code above
1549 # will signal an error saying that MANUFACTURER isn't an operating
1550 # system, and we'll never get to this point.
1552 case $basic_machine in
1583 # This must come before the *-dec entry.
1617 *-tti) # must be before sparc entry or we get the wrong os.
1650 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1704 f30[01]-fujitsu | f700-fujitsu)
1725 # Here we handle the case where we know the os, and the CPU type, but not the
1726 # manufacturer. We pick the logical manufacturer.
1728 case $basic_machine in
1776 -vxsim* | -vxworks* | -windiss*)
1788 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1795 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1799 echo $basic_machine$os
1803 # eval: (add-hook 'write-file-hooks 'time-stamp)
1804 # time-stamp-start: "timestamp='"
1805 # time-stamp-format: "%:y-%02m-%02d"
1806 # time-stamp-end: "'"