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* | linux-musl*)
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 | aarch64 | aarch64_be \
253 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
254 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
256 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
260 | d10v | d30v | dlx | dsp16xx \
262 | fido | fr30 | frv \
263 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265 | i370 | i860 | i960 | ia64 \
269 | m32c | m32r | m32rle | m68000 | m68k | m88k \
270 | maxq | mb | microblaze | mcore | mep | metag \
271 | mips | mipsbe | mipseb | mipsel | mipsle \
273 | mips64 | mips64el \
274 | mips64octeon | mips64octeonel \
275 | mips64orion | mips64orionel \
276 | mips64r5900 | mips64r5900el \
277 | mips64vr | mips64vrel \
278 | mips64vr4100 | mips64vr4100el \
279 | mips64vr4300 | mips64vr4300el \
280 | mips64vr5000 | mips64vr5000el \
281 | mips64vr5900 | mips64vr5900el \
282 | mipsisa32 | mipsisa32el \
283 | mipsisa32r2 | mipsisa32r2el \
284 | mipsisa64 | mipsisa64el \
285 | mipsisa64r2 | mipsisa64r2el \
286 | mipsisa64sb1 | mipsisa64sb1el \
287 | mipsisa64sr71k | mipsisa64sr71kel \
288 | mipstx39 | mipstx39el \
289 | mn10200 | mn10300 \
293 | nds32 | nds32le | nds32be \
298 | pdp10 | pdp11 | pj | pjl \
299 | powerpc | powerpc64 | powerpc64le | powerpcle \
303 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
305 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
306 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
308 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
310 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
312 | x86 | xc16x | xstormy16 | xtensa \
314 basic_machine=$basic_machine-unknown
317 basic_machine=tic54x-unknown
320 basic_machine=tic55x-unknown
323 basic_machine=tic6x-unknown
325 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
326 basic_machine=$basic_machine-unknown
329 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
332 basic_machine=mt-unknown
335 strongarm | thumb | xscale)
336 basic_machine=arm-unknown
339 basic_machine=$basic_machine-unknown
343 basic_machine=armeb-unknown
347 basic_machine=armel-unknown
350 # We use `pc' rather than `unknown'
351 # because (1) that's what they normally are, and
352 # (2) the word "unknown" tends to confuse beginning users.
354 basic_machine=$basic_machine-pc
356 # Object if more than one company name word.
358 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
361 # Recognize the basic CPU types with company name.
364 | aarch64-* | aarch64_be-* \
365 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
366 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
367 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
368 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
371 | bfin-* | bs2000-* \
372 | c[123]* | c30-* | [cjt]90-* | c4x-* \
373 | clipper-* | craynv-* | cydra-* \
374 | d10v-* | d30v-* | dlx-* \
376 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
377 | h8300-* | h8500-* \
378 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
380 | i*86-* | i860-* | i960-* | ia64-* \
381 | ip2k-* | iq2000-* \
384 | m32c-* | m32r-* | m32rle-* \
385 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
386 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
387 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
389 | mips64-* | mips64el-* \
390 | mips64octeon-* | mips64octeonel-* \
391 | mips64orion-* | mips64orionel-* \
392 | mips64r5900-* | mips64r5900el-* \
393 | mips64vr-* | mips64vrel-* \
394 | mips64vr4100-* | mips64vr4100el-* \
395 | mips64vr4300-* | mips64vr4300el-* \
396 | mips64vr5000-* | mips64vr5000el-* \
397 | mips64vr5900-* | mips64vr5900el-* \
398 | mipsisa32-* | mipsisa32el-* \
399 | mipsisa32r2-* | mipsisa32r2el-* \
400 | mipsisa64-* | mipsisa64el-* \
401 | mipsisa64r2-* | mipsisa64r2el-* \
402 | mipsisa64sb1-* | mipsisa64sb1el-* \
403 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
404 | mipstx39-* | mipstx39el-* \
408 | nds32-* | nds32le-* | nds32be-* \
410 | none-* | np1-* | ns16k-* | ns32k-* \
413 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
414 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
416 | rl78-* | romp-* | rs6000-* | rx-* \
417 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
418 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
419 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
421 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
423 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
427 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
430 | x86-* | x86_64-* | xc16x-* | xps100-* \
431 | xstormy16-* | xtensa*-* \
435 # Recognize the basic CPU types without company name, with glob match.
437 basic_machine=$basic_machine-unknown
439 # Recognize the various machine names and aliases which stand
440 # for a CPU type and a company and sometimes even an OS.
442 basic_machine=i386-unknown
445 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
446 basic_machine=m68000-att
449 basic_machine=we32k-att
452 basic_machine=a29k-amd
456 basic_machine=abacus-unknown
459 basic_machine=m68010-adobe
463 basic_machine=fx80-alliant
466 basic_machine=m68k-altos
469 basic_machine=a29k-none
473 basic_machine=x86_64-pc
476 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
479 basic_machine=580-amdahl
483 basic_machine=m68k-unknown
486 basic_machine=m68k-unknown
490 basic_machine=m68k-unknown
494 basic_machine=m68k-apollo
498 basic_machine=m68k-apollo
502 basic_machine=i386-pc
506 basic_machine=m68k-apple
510 basic_machine=ns32k-sequent
514 basic_machine=bfin-unknown
518 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
522 basic_machine=powerpc-ibm
526 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
529 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
532 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
535 basic_machine=c90-cray
539 basic_machine=arm-unknown
543 basic_machine=c1-convex
547 basic_machine=c2-convex
551 basic_machine=c32-convex
555 basic_machine=c34-convex
559 basic_machine=c38-convex
563 basic_machine=j90-cray
567 basic_machine=craynv-cray
571 basic_machine=cr16-unknown
575 basic_machine=m68k-crds
577 crisv32 | crisv32-* | etraxfs*)
578 basic_machine=crisv32-axis
580 cris | cris-* | etrax*)
581 basic_machine=cris-axis
584 basic_machine=crx-unknown
588 basic_machine=m68k-da30
590 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
591 basic_machine=mips-dec
593 decsystem10* | dec10*)
594 basic_machine=pdp10-dec
597 decsystem20* | dec20*)
598 basic_machine=pdp10-dec
601 delta | 3300 | motorola-3300 | motorola-delta \
602 | 3300-motorola | delta-motorola)
603 basic_machine=m68k-motorola
606 basic_machine=m88k-motorola
610 basic_machine=i686-pc
614 basic_machine=i586-pc
618 basic_machine=rs6000-bull
622 basic_machine=m68k-bull
626 basic_machine=a29k-amd
630 basic_machine=elxsi-elxsi
633 encore | umax | mmax)
634 basic_machine=ns32k-encore
636 es1800 | OSE68k | ose68k | ose | OSE)
637 basic_machine=m68k-ericsson
641 basic_machine=i860-alliant
644 basic_machine=ns32k-ns
647 basic_machine=tron-gmicro
651 basic_machine=i386-pc
655 basic_machine=hppa1.1-hitachi
659 basic_machine=h8300-hitachi
663 basic_machine=h8300-hitachi
667 basic_machine=h8500-hitachi
671 basic_machine=m88k-harris
675 basic_machine=m68k-hp
678 basic_machine=m68k-hp
682 basic_machine=m68k-hp
685 hp3k9[0-9][0-9] | hp9[0-9][0-9])
686 basic_machine=hppa1.0-hp
688 hp9k2[0-9][0-9] | hp9k31[0-9])
689 basic_machine=m68000-hp
692 basic_machine=m68k-hp
694 hp9k6[0-9][0-9] | hp6[0-9][0-9])
695 basic_machine=hppa1.0-hp
697 hp9k7[0-79][0-9] | hp7[0-79][0-9])
698 basic_machine=hppa1.1-hp
700 hp9k78[0-9] | hp78[0-9])
701 # FIXME: really hppa2.0-hp
702 basic_machine=hppa1.1-hp
704 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
705 # FIXME: really hppa2.0-hp
706 basic_machine=hppa1.1-hp
708 hp9k8[0-9][13679] | hp8[0-9][13679])
709 basic_machine=hppa1.1-hp
711 hp9k8[0-9][0-9] | hp8[0-9][0-9])
712 basic_machine=hppa1.0-hp
718 basic_machine=hppa1.1-hp
722 basic_machine=hppa1.1-hp
726 basic_machine=i370-ibm
729 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
733 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
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=i386-mach
749 basic_machine=i386-unknown
753 basic_machine=mips-sgi
763 basic_machine=m68k-isi
767 basic_machine=m68k-unknown
771 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
775 basic_machine=m88k-omron
778 basic_machine=mips-mips
782 basic_machine=ns32k-utek
786 basic_machine=microblaze-xilinx
789 basic_machine=i386-pc
793 basic_machine=arm-unknown
797 basic_machine=m68000-convergent
799 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
800 basic_machine=m68k-atari
804 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
807 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
810 basic_machine=m68k-rom68k
814 basic_machine=powerpc-unknown
818 basic_machine=i386-pc
822 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
825 basic_machine=i386-pc
829 basic_machine=i370-ibm
833 basic_machine=le32-unknown
837 basic_machine=i486-ncr
841 basic_machine=i386-unknown
845 basic_machine=armv4l-rebel
848 news | news700 | news800 | news900)
849 basic_machine=m68k-sony
853 basic_machine=m68030-sony
856 news-3600 | risc-news)
857 basic_machine=mips-sony
861 basic_machine=v70-nec
865 basic_machine=m68k-next
878 basic_machine=m68k-harris
882 basic_machine=m88k-harris
886 basic_machine=i960-intel
890 basic_machine=i960-intel
894 basic_machine=mips-compaq
898 basic_machine=np1-gould
901 basic_machine=neo-tandem
904 basic_machine=nse-tandem
907 basic_machine=nsr-tandem
910 basic_machine=hppa1.1-oki
913 openrisc | openrisc-*)
914 basic_machine=or32-unknown
917 basic_machine=powerpc-ibm
921 basic_machine=m68000-ericsson
925 basic_machine=m68k-none
929 basic_machine=hppa1.1-hitachi
933 basic_machine=i860-intel
937 basic_machine=hppa-unknown
941 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
945 basic_machine=sparc-tti
948 basic_machine=m68k-tti
951 basic_machine=ns32k-pc532
954 basic_machine=i386-pc
957 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
959 pentium | p5 | k5 | k6 | nexgen | viac3)
960 basic_machine=i586-pc
962 pentiumpro | p6 | 6x86 | athlon | athlon_*)
963 basic_machine=i686-pc
965 pentiumii | pentium2 | pentiumiii | pentium3)
966 basic_machine=i686-pc
969 basic_machine=i786-pc
971 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
972 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
974 pentiumpro-* | p6-* | 6x86-* | athlon-*)
975 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
977 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
978 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
981 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
984 basic_machine=pn-gould
986 power) basic_machine=power-ibm
988 ppc | ppcbe) basic_machine=powerpc-unknown
991 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
993 ppcle | powerpclittle | ppc-le | powerpc-little)
994 basic_machine=powerpcle-unknown
996 ppcle-* | powerpclittle-*)
997 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
999 ppc64) basic_machine=powerpc64-unknown
1001 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1003 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1004 basic_machine=powerpc64le-unknown
1006 ppc64le-* | powerpc64little-*)
1007 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1010 basic_machine=i386-ibm
1013 basic_machine=i586-unknown
1017 basic_machine=i386-pc
1021 basic_machine=m68k-rom68k
1025 basic_machine=mips-siemens
1028 basic_machine=romp-ibm
1031 basic_machine=s390-ibm
1034 basic_machine=s390x-ibm
1037 basic_machine=a29k-amd
1041 basic_machine=mipsisa64sb1-unknown
1044 basic_machine=mipsisa64sb1el-unknown
1047 basic_machine=mipsisa32-sde
1051 basic_machine=mips-sei
1055 basic_machine=i386-sequent
1058 basic_machine=sh-hitachi
1062 basic_machine=sh5le-unknown
1065 basic_machine=sh64-unknown
1067 sparclite-wrs | simso-wrs)
1068 basic_machine=sparclite-wrs
1072 basic_machine=m68k-bull
1076 basic_machine=spur-unknown
1079 basic_machine=m68k-tandem
1082 basic_machine=i860-stratus
1085 strongarm-* | thumb-*)
1086 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1089 basic_machine=m68000-sun
1092 basic_machine=m68000-sun
1096 basic_machine=m68000-sun
1100 basic_machine=m68k-sun
1104 basic_machine=m68k-sun
1108 basic_machine=sparc-sun
1112 basic_machine=sparc-sun
1116 basic_machine=sparc-sun
1120 basic_machine=m68k-sun
1123 basic_machine=sparc-sun
1125 sun386 | sun386i | roadrunner)
1126 basic_machine=i386-sun
1129 basic_machine=sv1-cray
1133 basic_machine=i386-sequent
1137 basic_machine=alphaev5-cray
1141 basic_machine=t90-cray
1145 basic_machine=$basic_machine-unknown
1149 basic_machine=mipstx39-unknown
1152 basic_machine=mipstx39el-unknown
1155 basic_machine=pdp10-xkl
1159 basic_machine=m68k-ncr
1162 basic_machine=s390x-ibm
1166 basic_machine=a29k-amd
1170 basic_machine=a29k-nyu
1174 basic_machine=v810-nec
1178 basic_machine=vax-dec
1182 basic_machine=vax-dec
1186 basic_machine=f301-fujitsu
1189 basic_machine=i960-wrs
1193 basic_machine=m68k-wrs
1197 basic_machine=a29k-wrs
1201 basic_machine=w65-wdc
1205 basic_machine=hppa1.1-winbond
1209 basic_machine=i686-pc
1213 basic_machine=xps100-honeywell
1215 xscale-* | xscalee[bl]-*)
1216 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1219 basic_machine=ymp-cray
1223 basic_machine=z8k-unknown
1227 basic_machine=z80-unknown
1231 basic_machine=none-none
1235 # Here we handle the default manufacturer of certain CPU types. It is in
1236 # some cases the only manufacturer, in others, it is the most popular.
1238 basic_machine=hppa1.1-winbond
1241 basic_machine=hppa1.1-oki
1244 basic_machine=hppa1.1-oki
1247 basic_machine=romp-ibm
1250 basic_machine=mmix-knuth
1253 basic_machine=rs6000-ibm
1256 basic_machine=vax-dec
1259 # there are many clones, so DEC is not a safe bet
1260 basic_machine=pdp10-unknown
1263 basic_machine=pdp11-dec
1266 basic_machine=we32k-att
1268 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1269 basic_machine=sh-unknown
1271 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1272 basic_machine=sparc-sun
1275 basic_machine=cydra-cydrome
1278 basic_machine=orion-highlevel
1281 basic_machine=clipper-highlevel
1283 mac | mpw | mac-mpw)
1284 basic_machine=m68k-apple
1287 basic_machine=powerpc-apple
1290 # Make sure to match an already-canonicalized machine name.
1293 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1298 # Here we canonicalize certain aliases for manufacturers.
1299 case $basic_machine in
1301 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1304 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1310 # Decode manufacturer-specific aliases for certain operating systems.
1312 if [ x"$os" != x"" ]
1315 # First match some system type aliases
1316 # that might get confused with valid system types.
1317 # -solaris* is a basic system type, with this one exception.
1321 -solaris1 | -solaris1.*)
1322 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1334 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1336 # First accept the basic system types.
1337 # The portable systems comes first.
1338 # Each alternative MUST END IN A *, to match a version number.
1339 # -sysv* is not here because it comes later, after sysvr4.
1340 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1341 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1342 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1343 | -sym* | -kopensolaris* \
1344 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1346 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1347 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1348 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1349 | -openbsd* | -solidbsd* \
1350 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1351 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1352 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1353 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1354 | -chorusos* | -chorusrdb* | -cegcc* \
1355 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1356 | -mingw32* | -linux-gnu* | -linux-android* \
1357 | -linux-newlib* | -linux-uclibc* | -linux-musl* \
1358 | -uxpv* | -beos* | -mpeix* | -udk* \
1359 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1360 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1361 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1362 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1363 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1364 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1365 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1366 # Remember, each alternative MUST END IN *, to match a version number.
1369 case $basic_machine in
1380 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1382 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1383 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1384 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1387 os=`echo $os | sed -e 's|mac|macos|'`
1393 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1396 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1399 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1446 # Preserve the version number of sinix5.
1448 os=`echo $os | sed -e 's|sinix|sysv|'`
1471 # This must come after -sysvr4.
1483 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1503 # Get rid of the `-' at the beginning of $os.
1504 os=`echo $os | sed 's/[^-]*-//'`
1505 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1511 # Here we handle the default operating systems that come with various machines.
1512 # The value should be what the vendor currently ships out the door with their
1513 # machine or put another way, the most popular os provided with the machine.
1515 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1516 # "-sun"), then you have to tell the case statement up towards the top
1517 # that MANUFACTURER isn't an operating system. Otherwise, code above
1518 # will signal an error saying that MANUFACTURER isn't an operating
1519 # system, and we'll never get to this point.
1521 case $basic_machine in
1549 # This must come before the *-dec entry.
1583 *-tti) # must be before sparc entry or we get the wrong os.
1616 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1670 f30[01]-fujitsu | f700-fujitsu)
1691 # Here we handle the case where we know the os, and the CPU type, but not the
1692 # manufacturer. We pick the logical manufacturer.
1694 case $basic_machine in
1742 -vxsim* | -vxworks* | -windiss*)
1754 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1761 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1765 echo $basic_machine$os
1769 # eval: (add-hook 'write-file-hooks 'time-stamp)
1770 # time-stamp-start: "timestamp='"
1771 # time-stamp-format: "%:y-%02m-%02d"
1772 # time-stamp-end: "'"