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 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, write to the Free Software
25 # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
28 # As a special exception to the GNU General Public License, if you
29 # distribute this file as part of a program that contains a
30 # configuration script generated by Autoconf, you may include it under
31 # the same distribution terms that you use for the rest of that program.
34 # Please send patches to <config-patches@gnu.org>. Submit a context
35 # diff and a properly formatted GNU ChangeLog entry.
37 # Configuration subroutine to validate and canonicalize a configuration type.
38 # Supply the specified configuration type as an argument.
39 # If it is invalid, we print an error message on stderr and exit with code 1.
40 # Otherwise, we print the canonical config type on stdout and succeed.
42 # You can get the latest version of this script from:
43 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
45 # This file is supposed to be the same for all GNU packages
46 # and recognize all the CPU types, system types and aliases
47 # that are meaningful with *any* GNU software.
48 # Each package is responsible for reporting which valid configurations
49 # it does not support. The user should be able to distinguish
50 # a failure to support a valid configuration from a meaningless
53 # The goal of this file is to map all the various variations of a given
54 # machine specification into a single specification in the form:
55 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
56 # or in some cases, the newer four-part form:
57 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58 # It is wrong to echo any other type of specification.
60 me=`echo "$0" | sed -e 's,.*/,,'`
63 Usage: $0 [OPTION] CPU-MFR-OPSYS
66 Canonicalize a configuration name.
69 -h, --help print this help, then exit
70 -t, --time-stamp print date of last modification, then exit
71 -v, --version print version number, then exit
73 Report bugs and patches to <config-patches@gnu.org>."
76 GNU config.sub ($timestamp)
78 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
80 Software Foundation, Inc.
82 This is free software; see the source for copying conditions. There is NO
83 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
86 Try \`$me --help' for more information."
89 while test $# -gt 0 ; do
91 --time-stamp | --time* | -t )
92 echo "$timestamp" ; exit ;;
94 echo "$version" ; exit ;;
96 echo "$usage"; exit ;;
97 -- ) # Stop option processing
99 - ) # Use stdin as input.
102 echo "$me: invalid option $1$help"
106 # First pass through any local machine types.
116 0) echo "$me: missing argument$help" >&2
119 *) echo "$me: too many arguments$help" >&2
123 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
124 # Here we must recognize all the valid KERNEL-OS combinations.
125 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
127 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129 knetbsd*-gnu* | netbsd*-gnu* | \
130 kopensolaris*-gnu* | \
131 storm-chaos* | os2-emx* | rtmk-nova*)
133 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
136 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137 if [ $basic_machine != $1 ]
138 then os=`echo $1 | sed 's/.*-/-/'`
143 ### Let's recognize common machines as not being operating systems so
144 ### that things like config.sub decstation-3100 work. We also
145 ### recognize some manufacturers as not being operating systems, so we
146 ### can provide default operating systems below.
149 # Prevent following clause from handling this invalid input.
151 -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
152 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
153 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
154 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
155 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
156 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157 -apple | -axis | -knuth | -cray | -microblaze)
164 -sim | -cisco | -oki | -wec | -winbond)
187 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
195 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
198 os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
199 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
202 # Don't forget version if it is 3.2v4 or newer.
203 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 # Don't forget version if it is 3.2v4 or newer.
207 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
211 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
214 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
218 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
221 basic_machine=clipper-intergraph
224 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
230 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
233 os=`echo $os | sed -e 's/windowsnt/winnt/'`
239 basic_machine=m68k-atari
244 # Decode aliases for certain CPU-COMPANY combinations.
245 case $basic_machine in
246 # Recognize the basic CPU types without company name.
247 # Some are omitted here because they have special meanings below.
250 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
258 | d10v | d30v | dlx | dsp16xx \
259 | fido | fr30 | frv \
261 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
262 | i370 | i860 | i960 | ia64 \
266 | m32c | m32r | m32rle | m68000 | m68k | m88k \
267 | maxq | mb | microblaze | mcore | mep | metag \
268 | mips | mipsbe | mipseb | mipsel | mipsle \
270 | mips64 | mips64el \
271 | mips64octeon | mips64octeonel \
272 | mips64orion | mips64orionel \
273 | mips64r5900 | mips64r5900el \
274 | mips64vr | mips64vrel \
275 | mips64vr4100 | mips64vr4100el \
276 | mips64vr4300 | mips64vr4300el \
277 | mips64vr5000 | mips64vr5000el \
278 | mips64vr5900 | mips64vr5900el \
279 | mipsisa32 | mipsisa32el \
280 | mipsisa32r2 | mipsisa32r2el \
281 | mipsisa64 | mipsisa64el \
282 | mipsisa64r2 | mipsisa64r2el \
283 | mipsisa64sb1 | mipsisa64sb1el \
284 | mipsisa64sr71k | mipsisa64sr71kel \
285 | mipstx39 | mipstx39el \
286 | mn10200 | mn10300 \
290 | nds32 | nds32le | nds32be \
295 | pdp10 | pdp11 | pj | pjl \
296 | powerpc | powerpc64 | powerpc64le | powerpcle \
300 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
302 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
305 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
307 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
309 | x86 | xc16x | xstormy16 | xtensa \
311 basic_machine=$basic_machine-unknown
314 basic_machine=tic54x-unknown
317 basic_machine=tic55x-unknown
320 basic_machine=tic6x-unknown
322 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
323 # Motorola 68HC11/12.
324 basic_machine=$basic_machine-unknown
327 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
330 basic_machine=mt-unknown
333 strongarm | thumb | xscale)
334 basic_machine=arm-unknown
338 basic_machine=armeb-unknown
342 basic_machine=armel-unknown
345 # We use `pc' rather than `unknown'
346 # because (1) that's what they normally are, and
347 # (2) the word "unknown" tends to confuse beginning users.
349 basic_machine=$basic_machine-pc
351 # Object if more than one company name word.
353 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
356 # Recognize the basic CPU types with company name.
359 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
360 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
361 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
362 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
366 | bfin-* | bs2000-* \
367 | c[123]* | c30-* | [cjt]90-* | c4x-* \
368 | clipper-* | craynv-* | cydra-* \
369 | d10v-* | d30v-* | dlx-* \
371 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
372 | h8300-* | h8500-* \
374 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
375 | i*86-* | i860-* | i960-* | ia64-* \
376 | ip2k-* | iq2000-* \
379 | m32c-* | m32r-* | m32rle-* \
380 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
381 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
382 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
384 | mips64-* | mips64el-* \
385 | mips64octeon-* | mips64octeonel-* \
386 | mips64orion-* | mips64orionel-* \
387 | mips64r5900-* | mips64r5900el-* \
388 | mips64vr-* | mips64vrel-* \
389 | mips64vr4100-* | mips64vr4100el-* \
390 | mips64vr4300-* | mips64vr4300el-* \
391 | mips64vr5000-* | mips64vr5000el-* \
392 | mips64vr5900-* | mips64vr5900el-* \
393 | mipsisa32-* | mipsisa32el-* \
394 | mipsisa32r2-* | mipsisa32r2el-* \
395 | mipsisa64-* | mipsisa64el-* \
396 | mipsisa64r2-* | mipsisa64r2el-* \
397 | mipsisa64sb1-* | mipsisa64sb1el-* \
398 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
399 | mipstx39-* | mipstx39el-* \
403 | nds32-* | nds32le-* | nds32be-* \
405 | none-* | np1-* | ns16k-* | ns32k-* \
408 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
409 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
411 | romp-* | rs6000-* | rx-* \
412 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
413 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
414 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
416 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
418 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
422 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
425 | x86-* | x86_64-* | xc16x-* | xps100-* \
426 | xstormy16-* | xtensa*-* \
430 # Recognize the basic CPU types without company name, with glob match.
432 basic_machine=$basic_machine-unknown
434 # Recognize the various machine names and aliases which stand
435 # for a CPU type and a company and sometimes even an OS.
437 basic_machine=i386-unknown
440 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
441 basic_machine=m68000-att
444 basic_machine=we32k-att
447 basic_machine=a29k-amd
451 basic_machine=abacus-unknown
454 basic_machine=m68010-adobe
458 basic_machine=fx80-alliant
461 basic_machine=m68k-altos
464 basic_machine=a29k-none
468 basic_machine=x86_64-pc
471 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
474 basic_machine=580-amdahl
478 basic_machine=m68k-unknown
481 basic_machine=m68k-unknown
485 basic_machine=m68k-unknown
489 basic_machine=m68k-apollo
493 basic_machine=m68k-apollo
497 basic_machine=i386-pc
501 basic_machine=m68k-apple
505 basic_machine=ns32k-sequent
509 basic_machine=bfin-unknown
513 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
517 basic_machine=powerpc-ibm
521 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
524 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
527 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
530 basic_machine=c90-cray
534 basic_machine=arm-unknown
538 basic_machine=c1-convex
542 basic_machine=c2-convex
546 basic_machine=c32-convex
550 basic_machine=c34-convex
554 basic_machine=c38-convex
558 basic_machine=j90-cray
562 basic_machine=craynv-cray
566 basic_machine=cr16-unknown
570 basic_machine=m68k-crds
572 crisv32 | crisv32-* | etraxfs*)
573 basic_machine=crisv32-axis
575 cris | cris-* | etrax*)
576 basic_machine=cris-axis
579 basic_machine=crx-unknown
583 basic_machine=m68k-da30
585 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
586 basic_machine=mips-dec
588 decsystem10* | dec10*)
589 basic_machine=pdp10-dec
592 decsystem20* | dec20*)
593 basic_machine=pdp10-dec
596 delta | 3300 | motorola-3300 | motorola-delta \
597 | 3300-motorola | delta-motorola)
598 basic_machine=m68k-motorola
601 basic_machine=m88k-motorola
605 basic_machine=i686-pc
609 basic_machine=i586-pc
613 basic_machine=rs6000-bull
617 basic_machine=m68k-bull
621 basic_machine=a29k-amd
625 basic_machine=elxsi-elxsi
628 encore | umax | mmax)
629 basic_machine=ns32k-encore
631 es1800 | OSE68k | ose68k | ose | OSE)
632 basic_machine=m68k-ericsson
636 basic_machine=i860-alliant
639 basic_machine=ns32k-ns
642 basic_machine=tron-gmicro
646 basic_machine=i386-pc
650 basic_machine=hppa1.1-hitachi
654 basic_machine=h8300-hitachi
658 basic_machine=h8300-hitachi
662 basic_machine=h8500-hitachi
666 basic_machine=m88k-harris
670 basic_machine=m68k-hp
673 basic_machine=m68k-hp
677 basic_machine=m68k-hp
680 hp3k9[0-9][0-9] | hp9[0-9][0-9])
681 basic_machine=hppa1.0-hp
683 hp9k2[0-9][0-9] | hp9k31[0-9])
684 basic_machine=m68000-hp
687 basic_machine=m68k-hp
689 hp9k6[0-9][0-9] | hp6[0-9][0-9])
690 basic_machine=hppa1.0-hp
692 hp9k7[0-79][0-9] | hp7[0-79][0-9])
693 basic_machine=hppa1.1-hp
695 hp9k78[0-9] | hp78[0-9])
696 # FIXME: really hppa2.0-hp
697 basic_machine=hppa1.1-hp
699 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
700 # FIXME: really hppa2.0-hp
701 basic_machine=hppa1.1-hp
703 hp9k8[0-9][13679] | hp8[0-9][13679])
704 basic_machine=hppa1.1-hp
706 hp9k8[0-9][0-9] | hp8[0-9][0-9])
707 basic_machine=hppa1.0-hp
713 basic_machine=hppa1.1-hp
717 basic_machine=hppa1.1-hp
721 basic_machine=i370-ibm
723 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
725 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
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=i386-mach
745 basic_machine=i386-unknown
749 basic_machine=mips-sgi
759 basic_machine=m68k-isi
763 basic_machine=m68k-unknown
767 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
771 basic_machine=m88k-omron
774 basic_machine=mips-mips
778 basic_machine=ns32k-utek
782 basic_machine=microblaze-xilinx
785 basic_machine=i386-pc
789 basic_machine=arm-unknown
793 basic_machine=m68000-convergent
795 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
796 basic_machine=m68k-atari
800 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
803 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
806 basic_machine=m68k-rom68k
810 basic_machine=powerpc-unknown
814 basic_machine=i386-pc
818 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
821 basic_machine=i370-ibm
825 basic_machine=le32-unknown
829 basic_machine=i486-ncr
833 basic_machine=i386-unknown
837 basic_machine=armv4l-rebel
840 news | news700 | news800 | news900)
841 basic_machine=m68k-sony
845 basic_machine=m68030-sony
848 news-3600 | risc-news)
849 basic_machine=mips-sony
853 basic_machine=v70-nec
857 basic_machine=m68k-next
870 basic_machine=m68k-harris
874 basic_machine=m88k-harris
878 basic_machine=i960-intel
882 basic_machine=i960-intel
886 basic_machine=mips-compaq
890 basic_machine=np1-gould
893 basic_machine=neo-tandem
896 basic_machine=nse-tandem
899 basic_machine=nsr-tandem
902 basic_machine=hppa1.1-oki
905 openrisc | openrisc-*)
906 basic_machine=or32-unknown
909 basic_machine=powerpc-ibm
913 basic_machine=m68000-ericsson
917 basic_machine=m68k-none
921 basic_machine=hppa1.1-hitachi
925 basic_machine=i860-intel
929 basic_machine=hppa-unknown
933 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937 basic_machine=sparc-tti
940 basic_machine=m68k-tti
943 basic_machine=ns32k-pc532
946 basic_machine=i386-pc
949 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
951 pentium | p5 | k5 | k6 | nexgen | viac3)
952 basic_machine=i586-pc
954 pentiumpro | p6 | 6x86 | athlon | athlon_*)
955 basic_machine=i686-pc
957 pentiumii | pentium2 | pentiumiii | pentium3)
958 basic_machine=i686-pc
961 basic_machine=i786-pc
963 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
964 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
966 pentiumpro-* | p6-* | 6x86-* | athlon-*)
967 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
969 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
970 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
973 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
976 basic_machine=pn-gould
978 power) basic_machine=power-ibm
980 ppc | ppcbe) basic_machine=powerpc-unknown
983 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
985 ppcle | powerpclittle | ppc-le | powerpc-little)
986 basic_machine=powerpcle-unknown
988 ppcle-* | powerpclittle-*)
989 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
991 ppc64) basic_machine=powerpc64-unknown
993 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
995 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
996 basic_machine=powerpc64le-unknown
998 ppc64le-* | powerpc64little-*)
999 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1002 basic_machine=i386-ibm
1005 basic_machine=i586-unknown
1009 basic_machine=i386-pc
1013 basic_machine=m68k-rom68k
1017 basic_machine=mips-siemens
1020 basic_machine=romp-ibm
1023 basic_machine=s390-ibm
1026 basic_machine=s390x-ibm
1029 basic_machine=a29k-amd
1033 basic_machine=mipsisa64sb1-unknown
1036 basic_machine=mipsisa64sb1el-unknown
1039 basic_machine=mipsisa32-sde
1043 basic_machine=mips-sei
1047 basic_machine=i386-sequent
1050 basic_machine=sh-hitachi
1054 basic_machine=sh5le-unknown
1057 basic_machine=sh64-unknown
1059 sparclite-wrs | simso-wrs)
1060 basic_machine=sparclite-wrs
1064 basic_machine=m68k-bull
1068 basic_machine=spur-unknown
1071 basic_machine=m68k-tandem
1074 basic_machine=i860-stratus
1077 strongarm-* | thumb-*)
1078 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1081 basic_machine=m68000-sun
1084 basic_machine=m68000-sun
1088 basic_machine=m68000-sun
1092 basic_machine=m68k-sun
1096 basic_machine=m68k-sun
1100 basic_machine=sparc-sun
1104 basic_machine=sparc-sun
1108 basic_machine=sparc-sun
1112 basic_machine=m68k-sun
1115 basic_machine=sparc-sun
1117 sun386 | sun386i | roadrunner)
1118 basic_machine=i386-sun
1121 basic_machine=sv1-cray
1125 basic_machine=i386-sequent
1129 basic_machine=alphaev5-cray
1133 basic_machine=t90-cray
1137 basic_machine=$basic_machine-unknown
1141 basic_machine=mipstx39-unknown
1144 basic_machine=mipstx39el-unknown
1147 basic_machine=pdp10-xkl
1151 basic_machine=m68k-ncr
1154 basic_machine=s390x-ibm
1158 basic_machine=a29k-amd
1162 basic_machine=a29k-nyu
1166 basic_machine=v810-nec
1170 basic_machine=vax-dec
1174 basic_machine=vax-dec
1178 basic_machine=f301-fujitsu
1181 basic_machine=i960-wrs
1185 basic_machine=m68k-wrs
1189 basic_machine=a29k-wrs
1193 basic_machine=w65-wdc
1197 basic_machine=hppa1.1-winbond
1201 basic_machine=i686-pc
1205 basic_machine=xps100-honeywell
1207 xscale-* | xscalee[bl]-*)
1208 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1211 basic_machine=ymp-cray
1215 basic_machine=z8k-unknown
1219 basic_machine=z80-unknown
1223 basic_machine=none-none
1227 # Here we handle the default manufacturer of certain CPU types. It is in
1228 # some cases the only manufacturer, in others, it is the most popular.
1230 basic_machine=hppa1.1-winbond
1233 basic_machine=hppa1.1-oki
1236 basic_machine=hppa1.1-oki
1239 basic_machine=romp-ibm
1242 basic_machine=mmix-knuth
1245 basic_machine=rs6000-ibm
1248 basic_machine=vax-dec
1251 # there are many clones, so DEC is not a safe bet
1252 basic_machine=pdp10-unknown
1255 basic_machine=pdp11-dec
1258 basic_machine=we32k-att
1260 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1261 basic_machine=sh-unknown
1263 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1264 basic_machine=sparc-sun
1267 basic_machine=cydra-cydrome
1270 basic_machine=orion-highlevel
1273 basic_machine=clipper-highlevel
1275 mac | mpw | mac-mpw)
1276 basic_machine=m68k-apple
1279 basic_machine=powerpc-apple
1282 # Make sure to match an already-canonicalized machine name.
1285 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1290 # Here we canonicalize certain aliases for manufacturers.
1291 case $basic_machine in
1293 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1296 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1302 # Decode manufacturer-specific aliases for certain operating systems.
1304 if [ x"$os" != x"" ]
1307 # First match some system type aliases
1308 # that might get confused with valid system types.
1309 # -solaris* is a basic system type, with this one exception.
1313 -solaris1 | -solaris1.*)
1314 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1326 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1328 # First accept the basic system types.
1329 # The portable systems comes first.
1330 # Each alternative MUST END IN A *, to match a version number.
1331 # -sysv* is not here because it comes later, after sysvr4.
1332 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1333 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1334 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1335 | -sym* | -kopensolaris* \
1336 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1338 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1339 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1340 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1341 | -openbsd* | -solidbsd* \
1342 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1343 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1344 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1345 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1346 | -chorusos* | -chorusrdb* | -cegcc* \
1347 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1348 | -mingw32* | -linux-gnu* | -linux-android* \
1349 | -linux-newlib* | -linux-uclibc* \
1350 | -uxpv* | -beos* | -mpeix* | -udk* \
1351 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1352 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1353 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1354 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1355 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1356 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1357 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1358 # Remember, each alternative MUST END IN *, to match a version number.
1361 case $basic_machine in
1372 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1374 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1375 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1376 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1379 os=`echo $os | sed -e 's|mac|macos|'`
1385 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1388 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1391 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1438 # Preserve the version number of sinix5.
1440 os=`echo $os | sed -e 's|sinix|sysv|'`
1463 # This must come after -sysvr4.
1475 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1495 # Get rid of the `-' at the beginning of $os.
1496 os=`echo $os | sed 's/[^-]*-//'`
1497 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1503 # Here we handle the default operating systems that come with various machines.
1504 # The value should be what the vendor currently ships out the door with their
1505 # machine or put another way, the most popular os provided with the machine.
1507 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1508 # "-sun"), then you have to tell the case statement up towards the top
1509 # that MANUFACTURER isn't an operating system. Otherwise, code above
1510 # will signal an error saying that MANUFACTURER isn't an operating
1511 # system, and we'll never get to this point.
1513 case $basic_machine in
1541 # This must come before the *-dec entry.
1559 # This also exists in the configure program, but was not the
1578 *-tti) # must be before sparc entry or we get the wrong os.
1611 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1665 f30[01]-fujitsu | f700-fujitsu)
1686 # Here we handle the case where we know the os, and the CPU type, but not the
1687 # manufacturer. We pick the logical manufacturer.
1689 case $basic_machine in
1737 -vxsim* | -vxworks* | -windiss*)
1749 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1756 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1760 echo $basic_machine$os
1764 # eval: (add-hook 'write-file-hooks 'time-stamp)
1765 # time-stamp-start: "timestamp='"
1766 # time-stamp-format: "%:y-%02m-%02d"
1767 # time-stamp-end: "'"