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 # 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 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-dietlibc | linux-newlib* | linux-uclibc* | \
128 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
129 kopensolaris*-gnu* | \
130 storm-chaos* | os2-emx* | rtmk-nova*)
132 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
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/'`
229 basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
232 os=`echo $os | sed -e 's/windowsnt/winnt/'`
238 basic_machine=m68k-atari
243 # Decode aliases for certain CPU-COMPANY combinations.
244 case $basic_machine in
245 # Recognize the basic CPU types without company name.
246 # Some are omitted here because they have special meanings below.
249 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
250 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
255 | d10v | d30v | dlx | dsp16xx \
256 | fido | fr30 | frv \
257 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
258 | i370 | i860 | i960 | ia64 \
261 | m32c | m32r | m32rle | m68000 | m68k | m88k \
262 | maxq | mb | microblaze | mcore | mep | metag \
263 | mips | mipsbe | mipseb | mipsel | mipsle \
265 | mips64 | mips64el \
266 | mips64octeon | mips64octeonel \
267 | mips64orion | mips64orionel \
268 | mips64r5900 | mips64r5900el \
269 | mips64vr | mips64vrel \
270 | mips64vr4100 | mips64vr4100el \
271 | mips64vr4300 | mips64vr4300el \
272 | mips64vr5000 | mips64vr5000el \
273 | mips64vr5900 | mips64vr5900el \
274 | mipsisa32 | mipsisa32el \
275 | mipsisa32r2 | mipsisa32r2el \
276 | mipsisa64 | mipsisa64el \
277 | mipsisa64r2 | mipsisa64r2el \
278 | mipsisa64sb1 | mipsisa64sb1el \
279 | mipsisa64sr71k | mipsisa64sr71kel \
280 | mipstx39 | mipstx39el \
281 | mn10200 | mn10300 \
288 | pdp10 | pdp11 | pj | pjl \
289 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
293 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
295 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
296 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
298 | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
302 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
304 basic_machine=$basic_machine-unknown
307 basic_machine=tic54x-unknown
310 basic_machine=tic55x-unknown
313 basic_machine=tic6x-unknown
315 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
316 # Motorola 68HC11/12.
317 basic_machine=$basic_machine-unknown
320 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
323 basic_machine=mt-unknown
326 # We use `pc' rather than `unknown'
327 # because (1) that's what they normally are, and
328 # (2) the word "unknown" tends to confuse beginning users.
330 basic_machine=$basic_machine-pc
332 # Object if more than one company name word.
334 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
337 # Recognize the basic CPU types with company name.
340 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
341 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
342 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
343 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
345 | bfin-* | bs2000-* \
346 | c[123]* | c30-* | [cjt]90-* | c4x-* \
347 | clipper-* | craynv-* | cydra-* \
348 | d10v-* | d30v-* | dlx-* \
350 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
351 | h8300-* | h8500-* \
352 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
353 | i*86-* | i860-* | i960-* | ia64-* \
354 | ip2k-* | iq2000-* \
356 | m32c-* | m32r-* | m32rle-* \
357 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
358 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
359 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
361 | mips64-* | mips64el-* \
362 | mips64octeon-* | mips64octeonel-* \
363 | mips64orion-* | mips64orionel-* \
364 | mips64r5900-* | mips64r5900el-* \
365 | mips64vr-* | mips64vrel-* \
366 | mips64vr4100-* | mips64vr4100el-* \
367 | mips64vr4300-* | mips64vr4300el-* \
368 | mips64vr5000-* | mips64vr5000el-* \
369 | mips64vr5900-* | mips64vr5900el-* \
370 | mipsisa32-* | mipsisa32el-* \
371 | mipsisa32r2-* | mipsisa32r2el-* \
372 | mipsisa64-* | mipsisa64el-* \
373 | mipsisa64r2-* | mipsisa64r2el-* \
374 | mipsisa64sb1-* | mipsisa64sb1el-* \
375 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
376 | mipstx39-* | mipstx39el-* \
381 | none-* | np1-* | ns16k-* | ns32k-* \
383 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
384 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
386 | romp-* | rs6000-* | rx-* \
387 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
388 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
389 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
391 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
392 | tahoe-* | thumb-* \
393 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
394 | tile-* | tilegx-* \
397 | v850-* | v850e-* | vax-* \
399 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
400 | xstormy16-* | xtensa*-* \
404 # Recognize the basic CPU types without company name, with glob match.
406 basic_machine=$basic_machine-unknown
408 # Recognize the various machine names and aliases which stand
409 # for a CPU type and a company and sometimes even an OS.
411 basic_machine=i386-unknown
414 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
415 basic_machine=m68000-att
418 basic_machine=we32k-att
421 basic_machine=a29k-amd
425 basic_machine=abacus-unknown
428 basic_machine=m68010-adobe
432 basic_machine=fx80-alliant
435 basic_machine=m68k-altos
438 basic_machine=a29k-none
442 basic_machine=x86_64-pc
445 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
448 basic_machine=580-amdahl
452 basic_machine=m68k-unknown
455 basic_machine=m68k-unknown
459 basic_machine=m68k-unknown
463 basic_machine=m68k-apollo
467 basic_machine=m68k-apollo
471 basic_machine=i386-pc
475 basic_machine=m68k-apple
479 basic_machine=ns32k-sequent
483 basic_machine=bfin-unknown
487 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491 basic_machine=powerpc-ibm
495 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
498 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
501 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
504 basic_machine=c90-cray
508 basic_machine=arm-unknown
512 basic_machine=c1-convex
516 basic_machine=c2-convex
520 basic_machine=c32-convex
524 basic_machine=c34-convex
528 basic_machine=c38-convex
532 basic_machine=j90-cray
536 basic_machine=craynv-cray
540 basic_machine=cr16-unknown
544 basic_machine=m68k-crds
546 crisv32 | crisv32-* | etraxfs*)
547 basic_machine=crisv32-axis
549 cris | cris-* | etrax*)
550 basic_machine=cris-axis
553 basic_machine=crx-unknown
557 basic_machine=m68k-da30
559 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
560 basic_machine=mips-dec
562 decsystem10* | dec10*)
563 basic_machine=pdp10-dec
566 decsystem20* | dec20*)
567 basic_machine=pdp10-dec
570 delta | 3300 | motorola-3300 | motorola-delta \
571 | 3300-motorola | delta-motorola)
572 basic_machine=m68k-motorola
575 basic_machine=m88k-motorola
579 basic_machine=i686-pc
583 basic_machine=i586-pc
587 basic_machine=rs6000-bull
591 basic_machine=m68k-bull
595 basic_machine=a29k-amd
599 basic_machine=elxsi-elxsi
602 encore | umax | mmax)
603 basic_machine=ns32k-encore
605 es1800 | OSE68k | ose68k | ose | OSE)
606 basic_machine=m68k-ericsson
610 basic_machine=i860-alliant
613 basic_machine=ns32k-ns
616 basic_machine=tron-gmicro
620 basic_machine=i386-pc
624 basic_machine=hppa1.1-hitachi
628 basic_machine=h8300-hitachi
632 basic_machine=h8300-hitachi
636 basic_machine=h8500-hitachi
640 basic_machine=m88k-harris
644 basic_machine=m68k-hp
647 basic_machine=m68k-hp
651 basic_machine=m68k-hp
654 hp3k9[0-9][0-9] | hp9[0-9][0-9])
655 basic_machine=hppa1.0-hp
657 hp9k2[0-9][0-9] | hp9k31[0-9])
658 basic_machine=m68000-hp
661 basic_machine=m68k-hp
663 hp9k6[0-9][0-9] | hp6[0-9][0-9])
664 basic_machine=hppa1.0-hp
666 hp9k7[0-79][0-9] | hp7[0-79][0-9])
667 basic_machine=hppa1.1-hp
669 hp9k78[0-9] | hp78[0-9])
670 # FIXME: really hppa2.0-hp
671 basic_machine=hppa1.1-hp
673 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
674 # FIXME: really hppa2.0-hp
675 basic_machine=hppa1.1-hp
677 hp9k8[0-9][13679] | hp8[0-9][13679])
678 basic_machine=hppa1.1-hp
680 hp9k8[0-9][0-9] | hp8[0-9][0-9])
681 basic_machine=hppa1.0-hp
687 basic_machine=hppa1.1-hp
691 basic_machine=hppa1.1-hp
695 basic_machine=i370-ibm
697 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
699 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
703 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
707 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
711 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
715 basic_machine=i386-mach
719 basic_machine=i386-unknown
723 basic_machine=mips-sgi
733 basic_machine=m68k-isi
737 basic_machine=m68k-unknown
741 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745 basic_machine=m88k-omron
748 basic_machine=mips-mips
752 basic_machine=ns32k-utek
756 basic_machine=microblaze-xilinx
759 basic_machine=i386-pc
763 basic_machine=arm-unknown
767 basic_machine=m68000-convergent
769 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
770 basic_machine=m68k-atari
774 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
777 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
780 basic_machine=m68k-rom68k
784 basic_machine=powerpc-unknown
788 basic_machine=i386-pc
792 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
795 basic_machine=i370-ibm
799 basic_machine=i486-ncr
803 basic_machine=i386-unknown
807 basic_machine=armv4l-rebel
810 news | news700 | news800 | news900)
811 basic_machine=m68k-sony
815 basic_machine=m68030-sony
818 news-3600 | risc-news)
819 basic_machine=mips-sony
823 basic_machine=v70-nec
827 basic_machine=m68k-next
840 basic_machine=m68k-harris
844 basic_machine=m88k-harris
848 basic_machine=i960-intel
852 basic_machine=i960-intel
856 basic_machine=mips-compaq
860 basic_machine=np1-gould
863 basic_machine=nsr-tandem
866 basic_machine=hppa1.1-oki
869 openrisc | openrisc-*)
870 basic_machine=or32-unknown
873 basic_machine=powerpc-ibm
877 basic_machine=m68000-ericsson
881 basic_machine=m68k-none
885 basic_machine=hppa1.1-hitachi
889 basic_machine=i860-intel
893 basic_machine=hppa-unknown
897 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
901 basic_machine=sparc-tti
904 basic_machine=m68k-tti
907 basic_machine=ns32k-pc532
910 basic_machine=i386-pc
913 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
915 pentium | p5 | k5 | k6 | nexgen | viac3)
916 basic_machine=i586-pc
918 pentiumpro | p6 | 6x86 | athlon | athlon_*)
919 basic_machine=i686-pc
921 pentiumii | pentium2 | pentiumiii | pentium3)
922 basic_machine=i686-pc
925 basic_machine=i786-pc
927 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
928 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
930 pentiumpro-* | p6-* | 6x86-* | athlon-*)
931 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
933 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
934 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
937 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
940 basic_machine=pn-gould
942 power) basic_machine=power-ibm
944 ppc) basic_machine=powerpc-unknown
946 ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
948 ppcle | powerpclittle | ppc-le | powerpc-little)
949 basic_machine=powerpcle-unknown
951 ppcle-* | powerpclittle-*)
952 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
954 ppc64) basic_machine=powerpc64-unknown
956 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
958 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
959 basic_machine=powerpc64le-unknown
961 ppc64le-* | powerpc64little-*)
962 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
965 basic_machine=i386-ibm
968 basic_machine=i586-unknown
972 basic_machine=i386-pc
976 basic_machine=m68k-rom68k
980 basic_machine=mips-siemens
983 basic_machine=romp-ibm
986 basic_machine=s390-ibm
989 basic_machine=s390x-ibm
992 basic_machine=a29k-amd
996 basic_machine=mipsisa64sb1-unknown
999 basic_machine=mipsisa64sb1el-unknown
1002 basic_machine=mipsisa32-sde
1006 basic_machine=mips-sei
1010 basic_machine=i386-sequent
1013 basic_machine=sh-hitachi
1017 basic_machine=sh5le-unknown
1020 basic_machine=sh64-unknown
1022 sparclite-wrs | simso-wrs)
1023 basic_machine=sparclite-wrs
1027 basic_machine=m68k-bull
1031 basic_machine=spur-unknown
1034 basic_machine=m68k-tandem
1037 basic_machine=i860-stratus
1041 basic_machine=m68000-sun
1044 basic_machine=m68000-sun
1048 basic_machine=m68000-sun
1052 basic_machine=m68k-sun
1056 basic_machine=m68k-sun
1060 basic_machine=sparc-sun
1064 basic_machine=sparc-sun
1068 basic_machine=sparc-sun
1072 basic_machine=m68k-sun
1075 basic_machine=sparc-sun
1077 sun386 | sun386i | roadrunner)
1078 basic_machine=i386-sun
1081 basic_machine=sv1-cray
1085 basic_machine=i386-sequent
1089 basic_machine=alphaev5-cray
1093 basic_machine=t90-cray
1096 # This must be matched before tile*.
1098 basic_machine=tilegx-unknown
1102 basic_machine=tile-unknown
1106 basic_machine=mipstx39-unknown
1109 basic_machine=mipstx39el-unknown
1112 basic_machine=pdp10-xkl
1116 basic_machine=m68k-ncr
1119 basic_machine=s390x-ibm
1123 basic_machine=a29k-amd
1127 basic_machine=a29k-nyu
1131 basic_machine=v810-nec
1135 basic_machine=vax-dec
1139 basic_machine=vax-dec
1143 basic_machine=f301-fujitsu
1146 basic_machine=i960-wrs
1150 basic_machine=m68k-wrs
1154 basic_machine=a29k-wrs
1158 basic_machine=w65-wdc
1162 basic_machine=hppa1.1-winbond
1166 basic_machine=i686-pc
1170 basic_machine=xps100-honeywell
1173 basic_machine=ymp-cray
1177 basic_machine=z8k-unknown
1181 basic_machine=z80-unknown
1185 basic_machine=none-none
1189 # Here we handle the default manufacturer of certain CPU types. It is in
1190 # some cases the only manufacturer, in others, it is the most popular.
1192 basic_machine=hppa1.1-winbond
1195 basic_machine=hppa1.1-oki
1198 basic_machine=hppa1.1-oki
1201 basic_machine=romp-ibm
1204 basic_machine=mmix-knuth
1207 basic_machine=rs6000-ibm
1210 basic_machine=vax-dec
1213 # there are many clones, so DEC is not a safe bet
1214 basic_machine=pdp10-unknown
1217 basic_machine=pdp11-dec
1220 basic_machine=we32k-att
1222 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1223 basic_machine=sh-unknown
1225 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1226 basic_machine=sparc-sun
1229 basic_machine=cydra-cydrome
1232 basic_machine=orion-highlevel
1235 basic_machine=clipper-highlevel
1237 mac | mpw | mac-mpw)
1238 basic_machine=m68k-apple
1241 basic_machine=powerpc-apple
1244 # Make sure to match an already-canonicalized machine name.
1247 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1252 # Here we canonicalize certain aliases for manufacturers.
1253 case $basic_machine in
1255 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1258 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1264 # Decode manufacturer-specific aliases for certain operating systems.
1266 if [ x"$os" != x"" ]
1269 # First match some system type aliases
1270 # that might get confused with valid system types.
1271 # -solaris* is a basic system type, with this one exception.
1275 -solaris1 | -solaris1.*)
1276 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1288 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1290 # First accept the basic system types.
1291 # The portable systems comes first.
1292 # Each alternative MUST END IN A *, to match a version number.
1293 # -sysv* is not here because it comes later, after sysvr4.
1294 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1295 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1296 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1297 | -sym* | -kopensolaris* \
1298 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1300 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1301 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1302 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1303 | -openbsd* | -solidbsd* \
1304 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1305 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1306 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1307 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1308 | -chorusos* | -chorusrdb* | -cegcc* \
1309 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1310 | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1311 | -uxpv* | -beos* | -mpeix* | -udk* \
1312 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1313 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1314 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1315 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1316 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1317 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1318 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1319 # Remember, each alternative MUST END IN *, to match a version number.
1322 case $basic_machine in
1333 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1335 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1336 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1337 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1340 os=`echo $os | sed -e 's|mac|macos|'`
1346 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1349 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1352 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1399 # Preserve the version number of sinix5.
1401 os=`echo $os | sed -e 's|sinix|sysv|'`
1424 # This must come after -sysvr4.
1436 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1456 # Get rid of the `-' at the beginning of $os.
1457 os=`echo $os | sed 's/[^-]*-//'`
1458 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1464 # Here we handle the default operating systems that come with various machines.
1465 # The value should be what the vendor currently ships out the door with their
1466 # machine or put another way, the most popular os provided with the machine.
1468 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1469 # "-sun"), then you have to tell the case statement up towards the top
1470 # that MANUFACTURER isn't an operating system. Otherwise, code above
1471 # will signal an error saying that MANUFACTURER isn't an operating
1472 # system, and we'll never get to this point.
1474 case $basic_machine in
1502 # This must come before the *-dec entry.
1520 # This also exists in the configure program, but was not the
1539 *-tti) # must be before sparc entry or we get the wrong os.
1572 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1626 f30[01]-fujitsu | f700-fujitsu)
1647 # Here we handle the case where we know the os, and the CPU type, but not the
1648 # manufacturer. We pick the logical manufacturer.
1650 case $basic_machine in
1698 -vxsim* | -vxworks* | -windiss*)
1710 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1717 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1721 echo $basic_machine$os
1725 # eval: (add-hook 'write-file-hooks 'time-stamp)
1726 # time-stamp-start: "timestamp='"
1727 # time-stamp-format: "%:y-%02m-%02d"
1728 # time-stamp-end: "'"