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.
249 | 32e[bl] | 64e[bl] \
251 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
252 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
254 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
257 | d10v | d30v | dlx | dsp16xx \
258 | fido | fr30 | frv \
259 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
260 | i370 | i860 | i960 | ia64 \
263 | m32c | m32r | m32rle | m68000 | m68k | m88k \
264 | maxq | mb | microblaze | mcore | mep | metag \
265 | mips | mipsbe | mipseb | mipsel | mipsle \
267 | mips64 | mips64el \
268 | mips64octeon | mips64octeonel \
269 | mips64orion | mips64orionel \
270 | mips64r5900 | mips64r5900el \
271 | mips64vr | mips64vrel \
272 | mips64vr4100 | mips64vr4100el \
273 | mips64vr4300 | mips64vr4300el \
274 | mips64vr5000 | mips64vr5000el \
275 | mips64vr5900 | mips64vr5900el \
276 | mipsisa32 | mipsisa32el \
277 | mipsisa32r2 | mipsisa32r2el \
278 | mipsisa64 | mipsisa64el \
279 | mipsisa64r2 | mipsisa64r2el \
280 | mipsisa64sb1 | mipsisa64sb1el \
281 | mipsisa64sr71k | mipsisa64sr71kel \
282 | mipstx39 | mipstx39el \
283 | mn10200 | mn10300 \
287 | nds32 | nds32le | nds32be \
292 | pdp10 | pdp11 | pj | pjl \
293 | powerpc | powerpc64 | powerpc64le | powerpcle \
297 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
299 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
300 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
302 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
304 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
306 | x86 | xc16x | xstormy16 | xtensa \
308 basic_machine=$basic_machine-unknown
311 basic_machine=tic54x-unknown
314 basic_machine=tic55x-unknown
317 basic_machine=tic6x-unknown
319 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
320 # Motorola 68HC11/12.
321 basic_machine=$basic_machine-unknown
324 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
327 basic_machine=mt-unknown
330 strongarm | thumb | xscale)
331 basic_machine=arm-unknown
335 basic_machine=armeb-unknown
339 basic_machine=armel-unknown
342 # We use `pc' rather than `unknown'
343 # because (1) that's what they normally are, and
344 # (2) the word "unknown" tends to confuse beginning users.
346 basic_machine=$basic_machine-pc
348 # Object if more than one company name word.
350 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
353 # Recognize the basic CPU types with company name.
355 | 32e[bl]-* | 64e[bl]-* \
357 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
358 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
359 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
360 | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
362 | bfin-* | bs2000-* \
363 | c[123]* | c30-* | [cjt]90-* | c4x-* \
364 | clipper-* | craynv-* | cydra-* \
365 | d10v-* | d30v-* | dlx-* \
367 | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
368 | h8300-* | h8500-* \
369 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
370 | i*86-* | i860-* | i960-* | ia64-* \
371 | ip2k-* | iq2000-* \
373 | m32c-* | m32r-* | m32rle-* \
374 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
375 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
376 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
378 | mips64-* | mips64el-* \
379 | mips64octeon-* | mips64octeonel-* \
380 | mips64orion-* | mips64orionel-* \
381 | mips64r5900-* | mips64r5900el-* \
382 | mips64vr-* | mips64vrel-* \
383 | mips64vr4100-* | mips64vr4100el-* \
384 | mips64vr4300-* | mips64vr4300el-* \
385 | mips64vr5000-* | mips64vr5000el-* \
386 | mips64vr5900-* | mips64vr5900el-* \
387 | mipsisa32-* | mipsisa32el-* \
388 | mipsisa32r2-* | mipsisa32r2el-* \
389 | mipsisa64-* | mipsisa64el-* \
390 | mipsisa64r2-* | mipsisa64r2el-* \
391 | mipsisa64sb1-* | mipsisa64sb1el-* \
392 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
393 | mipstx39-* | mipstx39el-* \
397 | nds32-* | nds32le-* | nds32be-* \
399 | none-* | np1-* | ns16k-* | ns32k-* \
402 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
403 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
405 | romp-* | rs6000-* | rx-* \
406 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
407 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
408 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
410 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
412 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
416 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
419 | x86-* | x86_64-* | xc16x-* | xps100-* \
420 | xstormy16-* | xtensa*-* \
424 # Recognize the basic CPU types without company name, with glob match.
426 basic_machine=$basic_machine-unknown
428 # Recognize the various machine names and aliases which stand
429 # for a CPU type and a company and sometimes even an OS.
431 basic_machine=i386-unknown
434 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
435 basic_machine=m68000-att
438 basic_machine=we32k-att
441 basic_machine=a29k-amd
445 basic_machine=abacus-unknown
448 basic_machine=m68010-adobe
452 basic_machine=fx80-alliant
455 basic_machine=m68k-altos
458 basic_machine=a29k-none
462 basic_machine=x86_64-pc
465 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
468 basic_machine=580-amdahl
472 basic_machine=m68k-unknown
475 basic_machine=m68k-unknown
479 basic_machine=m68k-unknown
483 basic_machine=m68k-apollo
487 basic_machine=m68k-apollo
491 basic_machine=i386-pc
495 basic_machine=m68k-apple
499 basic_machine=ns32k-sequent
503 basic_machine=bfin-unknown
507 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
511 basic_machine=powerpc-ibm
515 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
518 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
521 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
524 basic_machine=c90-cray
528 basic_machine=arm-unknown
532 basic_machine=c1-convex
536 basic_machine=c2-convex
540 basic_machine=c32-convex
544 basic_machine=c34-convex
548 basic_machine=c38-convex
552 basic_machine=j90-cray
556 basic_machine=craynv-cray
560 basic_machine=cr16-unknown
564 basic_machine=m68k-crds
566 crisv32 | crisv32-* | etraxfs*)
567 basic_machine=crisv32-axis
569 cris | cris-* | etrax*)
570 basic_machine=cris-axis
573 basic_machine=crx-unknown
577 basic_machine=m68k-da30
579 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
580 basic_machine=mips-dec
582 decsystem10* | dec10*)
583 basic_machine=pdp10-dec
586 decsystem20* | dec20*)
587 basic_machine=pdp10-dec
590 delta | 3300 | motorola-3300 | motorola-delta \
591 | 3300-motorola | delta-motorola)
592 basic_machine=m68k-motorola
595 basic_machine=m88k-motorola
599 basic_machine=i686-pc
603 basic_machine=i586-pc
607 basic_machine=rs6000-bull
611 basic_machine=m68k-bull
615 basic_machine=a29k-amd
619 basic_machine=elxsi-elxsi
622 encore | umax | mmax)
623 basic_machine=ns32k-encore
625 es1800 | OSE68k | ose68k | ose | OSE)
626 basic_machine=m68k-ericsson
630 basic_machine=i860-alliant
633 basic_machine=ns32k-ns
636 basic_machine=tron-gmicro
640 basic_machine=i386-pc
644 basic_machine=hppa1.1-hitachi
648 basic_machine=h8300-hitachi
652 basic_machine=h8300-hitachi
656 basic_machine=h8500-hitachi
660 basic_machine=m88k-harris
664 basic_machine=m68k-hp
667 basic_machine=m68k-hp
671 basic_machine=m68k-hp
674 hp3k9[0-9][0-9] | hp9[0-9][0-9])
675 basic_machine=hppa1.0-hp
677 hp9k2[0-9][0-9] | hp9k31[0-9])
678 basic_machine=m68000-hp
681 basic_machine=m68k-hp
683 hp9k6[0-9][0-9] | hp6[0-9][0-9])
684 basic_machine=hppa1.0-hp
686 hp9k7[0-79][0-9] | hp7[0-79][0-9])
687 basic_machine=hppa1.1-hp
689 hp9k78[0-9] | hp78[0-9])
690 # FIXME: really hppa2.0-hp
691 basic_machine=hppa1.1-hp
693 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
694 # FIXME: really hppa2.0-hp
695 basic_machine=hppa1.1-hp
697 hp9k8[0-9][13679] | hp8[0-9][13679])
698 basic_machine=hppa1.1-hp
700 hp9k8[0-9][0-9] | hp8[0-9][0-9])
701 basic_machine=hppa1.0-hp
707 basic_machine=hppa1.1-hp
711 basic_machine=hppa1.1-hp
715 basic_machine=i370-ibm
717 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
719 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
723 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
727 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
731 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
735 basic_machine=i386-mach
739 basic_machine=i386-unknown
743 basic_machine=mips-sgi
753 basic_machine=m68k-isi
757 basic_machine=m68k-unknown
761 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
765 basic_machine=m88k-omron
768 basic_machine=mips-mips
772 basic_machine=ns32k-utek
776 basic_machine=microblaze-xilinx
779 basic_machine=i386-pc
783 basic_machine=arm-unknown
787 basic_machine=m68000-convergent
789 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
790 basic_machine=m68k-atari
794 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
797 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
800 basic_machine=m68k-rom68k
804 basic_machine=powerpc-unknown
808 basic_machine=i386-pc
812 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
815 basic_machine=i370-ibm
819 basic_machine=32el-unknown
823 basic_machine=i486-ncr
827 basic_machine=i386-unknown
831 basic_machine=armv4l-rebel
834 news | news700 | news800 | news900)
835 basic_machine=m68k-sony
839 basic_machine=m68030-sony
842 news-3600 | risc-news)
843 basic_machine=mips-sony
847 basic_machine=v70-nec
851 basic_machine=m68k-next
864 basic_machine=m68k-harris
868 basic_machine=m88k-harris
872 basic_machine=i960-intel
876 basic_machine=i960-intel
880 basic_machine=mips-compaq
884 basic_machine=np1-gould
887 basic_machine=neo-tandem
890 basic_machine=nse-tandem
893 basic_machine=nsr-tandem
896 basic_machine=hppa1.1-oki
899 openrisc | openrisc-*)
900 basic_machine=or32-unknown
903 basic_machine=powerpc-ibm
907 basic_machine=m68000-ericsson
911 basic_machine=m68k-none
915 basic_machine=hppa1.1-hitachi
919 basic_machine=i860-intel
923 basic_machine=hppa-unknown
927 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
931 basic_machine=sparc-tti
934 basic_machine=m68k-tti
937 basic_machine=ns32k-pc532
940 basic_machine=i386-pc
943 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
945 pentium | p5 | k5 | k6 | nexgen | viac3)
946 basic_machine=i586-pc
948 pentiumpro | p6 | 6x86 | athlon | athlon_*)
949 basic_machine=i686-pc
951 pentiumii | pentium2 | pentiumiii | pentium3)
952 basic_machine=i686-pc
955 basic_machine=i786-pc
957 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
958 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
960 pentiumpro-* | p6-* | 6x86-* | athlon-*)
961 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
963 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
964 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
967 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
970 basic_machine=pn-gould
972 power) basic_machine=power-ibm
974 ppc | ppcbe) basic_machine=powerpc-unknown
977 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
979 ppcle | powerpclittle | ppc-le | powerpc-little)
980 basic_machine=powerpcle-unknown
982 ppcle-* | powerpclittle-*)
983 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
985 ppc64) basic_machine=powerpc64-unknown
987 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
989 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
990 basic_machine=powerpc64le-unknown
992 ppc64le-* | powerpc64little-*)
993 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
996 basic_machine=i386-ibm
999 basic_machine=i586-unknown
1003 basic_machine=i386-pc
1007 basic_machine=m68k-rom68k
1011 basic_machine=mips-siemens
1014 basic_machine=romp-ibm
1017 basic_machine=s390-ibm
1020 basic_machine=s390x-ibm
1023 basic_machine=a29k-amd
1027 basic_machine=mipsisa64sb1-unknown
1030 basic_machine=mipsisa64sb1el-unknown
1033 basic_machine=mipsisa32-sde
1037 basic_machine=mips-sei
1041 basic_machine=i386-sequent
1044 basic_machine=sh-hitachi
1048 basic_machine=sh5le-unknown
1051 basic_machine=sh64-unknown
1053 sparclite-wrs | simso-wrs)
1054 basic_machine=sparclite-wrs
1058 basic_machine=m68k-bull
1062 basic_machine=spur-unknown
1065 basic_machine=m68k-tandem
1068 basic_machine=i860-stratus
1071 strongarm-* | thumb-*)
1072 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1075 basic_machine=m68000-sun
1078 basic_machine=m68000-sun
1082 basic_machine=m68000-sun
1086 basic_machine=m68k-sun
1090 basic_machine=m68k-sun
1094 basic_machine=sparc-sun
1098 basic_machine=sparc-sun
1102 basic_machine=sparc-sun
1106 basic_machine=m68k-sun
1109 basic_machine=sparc-sun
1111 sun386 | sun386i | roadrunner)
1112 basic_machine=i386-sun
1115 basic_machine=sv1-cray
1119 basic_machine=i386-sequent
1123 basic_machine=alphaev5-cray
1127 basic_machine=t90-cray
1131 basic_machine=$basic_machine-unknown
1135 basic_machine=mipstx39-unknown
1138 basic_machine=mipstx39el-unknown
1141 basic_machine=pdp10-xkl
1145 basic_machine=m68k-ncr
1148 basic_machine=s390x-ibm
1152 basic_machine=a29k-amd
1156 basic_machine=a29k-nyu
1160 basic_machine=v810-nec
1164 basic_machine=vax-dec
1168 basic_machine=vax-dec
1172 basic_machine=f301-fujitsu
1175 basic_machine=i960-wrs
1179 basic_machine=m68k-wrs
1183 basic_machine=a29k-wrs
1187 basic_machine=w65-wdc
1191 basic_machine=hppa1.1-winbond
1195 basic_machine=i686-pc
1199 basic_machine=xps100-honeywell
1201 xscale-* | xscalee[bl]-*)
1202 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1205 basic_machine=ymp-cray
1209 basic_machine=z8k-unknown
1213 basic_machine=z80-unknown
1217 basic_machine=none-none
1221 # Here we handle the default manufacturer of certain CPU types. It is in
1222 # some cases the only manufacturer, in others, it is the most popular.
1224 basic_machine=hppa1.1-winbond
1227 basic_machine=hppa1.1-oki
1230 basic_machine=hppa1.1-oki
1233 basic_machine=romp-ibm
1236 basic_machine=mmix-knuth
1239 basic_machine=rs6000-ibm
1242 basic_machine=vax-dec
1245 # there are many clones, so DEC is not a safe bet
1246 basic_machine=pdp10-unknown
1249 basic_machine=pdp11-dec
1252 basic_machine=we32k-att
1254 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1255 basic_machine=sh-unknown
1257 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1258 basic_machine=sparc-sun
1261 basic_machine=cydra-cydrome
1264 basic_machine=orion-highlevel
1267 basic_machine=clipper-highlevel
1269 mac | mpw | mac-mpw)
1270 basic_machine=m68k-apple
1273 basic_machine=powerpc-apple
1276 # Make sure to match an already-canonicalized machine name.
1279 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1284 # Here we canonicalize certain aliases for manufacturers.
1285 case $basic_machine in
1287 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1290 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1296 # Decode manufacturer-specific aliases for certain operating systems.
1298 if [ x"$os" != x"" ]
1301 # First match some system type aliases
1302 # that might get confused with valid system types.
1303 # -solaris* is a basic system type, with this one exception.
1307 -solaris1 | -solaris1.*)
1308 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1320 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1322 # First accept the basic system types.
1323 # The portable systems comes first.
1324 # Each alternative MUST END IN A *, to match a version number.
1325 # -sysv* is not here because it comes later, after sysvr4.
1326 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1327 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1328 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1329 | -sym* | -kopensolaris* \
1330 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1332 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1333 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1334 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1335 | -openbsd* | -solidbsd* \
1336 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1337 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1338 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1339 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1340 | -chorusos* | -chorusrdb* | -cegcc* \
1341 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1342 | -mingw32* | -linux-gnu* | -linux-android* \
1343 | -linux-newlib* | -linux-uclibc* \
1344 | -uxpv* | -beos* | -mpeix* | -udk* \
1345 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1346 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1347 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1348 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1349 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1350 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1351 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1352 # Remember, each alternative MUST END IN *, to match a version number.
1355 case $basic_machine in
1366 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1368 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1369 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1370 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1373 os=`echo $os | sed -e 's|mac|macos|'`
1379 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1382 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1385 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1432 # Preserve the version number of sinix5.
1434 os=`echo $os | sed -e 's|sinix|sysv|'`
1457 # This must come after -sysvr4.
1469 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1489 # Get rid of the `-' at the beginning of $os.
1490 os=`echo $os | sed 's/[^-]*-//'`
1491 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1497 # Here we handle the default operating systems that come with various machines.
1498 # The value should be what the vendor currently ships out the door with their
1499 # machine or put another way, the most popular os provided with the machine.
1501 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1502 # "-sun"), then you have to tell the case statement up towards the top
1503 # that MANUFACTURER isn't an operating system. Otherwise, code above
1504 # will signal an error saying that MANUFACTURER isn't an operating
1505 # system, and we'll never get to this point.
1507 case $basic_machine in
1535 # This must come before the *-dec entry.
1553 # This also exists in the configure program, but was not the
1572 *-tti) # must be before sparc entry or we get the wrong os.
1605 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1659 f30[01]-fujitsu | f700-fujitsu)
1680 # Here we handle the case where we know the os, and the CPU type, but not the
1681 # manufacturer. We pick the logical manufacturer.
1683 case $basic_machine in
1731 -vxsim* | -vxworks* | -windiss*)
1743 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1750 basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1754 echo $basic_machine$os
1758 # eval: (add-hook 'write-file-hooks 'time-stamp)
1759 # time-stamp-start: "timestamp='"
1760 # time-stamp-format: "%:y-%02m-%02d"
1761 # time-stamp-end: "'"