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 \
257 | d10v | d30v | dlx | dsp16xx \
259 | fido | fr30 | frv \
260 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
262 | i370 | i860 | i960 | ia64 \
267 | m32c | m32r | m32rle | m68000 | m68k | m88k \
268 | maxq | mb | microblaze | mcore | mep | metag \
269 | mips | mipsbe | mipseb | mipsel | mipsle \
271 | mips64 | mips64el \
272 | mips64octeon | mips64octeonel \
273 | mips64orion | mips64orionel \
274 | mips64r5900 | mips64r5900el \
275 | mips64vr | mips64vrel \
276 | mips64vr4100 | mips64vr4100el \
277 | mips64vr4300 | mips64vr4300el \
278 | mips64vr5000 | mips64vr5000el \
279 | mips64vr5900 | mips64vr5900el \
280 | mipsisa32 | mipsisa32el \
281 | mipsisa32r2 | mipsisa32r2el \
282 | mipsisa64 | mipsisa64el \
283 | mipsisa64r2 | mipsisa64r2el \
284 | mipsisa64sb1 | mipsisa64sb1el \
285 | mipsisa64sr71k | mipsisa64sr71kel \
286 | mipstx39 | mipstx39el \
287 | mn10200 | mn10300 \
291 | nds32 | nds32le | nds32be \
296 | pdp10 | pdp11 | pj | pjl \
297 | powerpc | powerpc64 | powerpc64le | powerpcle \
301 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
303 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
304 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
306 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
308 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
310 | x86 | xc16x | xstormy16 | xtensa \
312 basic_machine=$basic_machine-unknown
315 basic_machine=tic54x-unknown
318 basic_machine=tic55x-unknown
321 basic_machine=tic6x-unknown
323 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
324 # Motorola 68HC11/12.
325 basic_machine=$basic_machine-unknown
328 m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
331 basic_machine=mt-unknown
334 strongarm | thumb | xscale)
335 basic_machine=arm-unknown
339 basic_machine=armeb-unknown
343 basic_machine=armel-unknown
346 # We use `pc' rather than `unknown'
347 # because (1) that's what they normally are, and
348 # (2) the word "unknown" tends to confuse beginning users.
350 basic_machine=$basic_machine-pc
352 # Object if more than one company name word.
354 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
357 # Recognize the basic CPU types with company name.
360 | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
361 | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
362 | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
363 | 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-* \
373 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
375 | i*86-* | i860-* | i960-* | ia64-* \
376 | ip2k-* | iq2000-* \
380 | m32c-* | m32r-* | m32rle-* \
381 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
382 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
383 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
385 | mips64-* | mips64el-* \
386 | mips64octeon-* | mips64octeonel-* \
387 | mips64orion-* | mips64orionel-* \
388 | mips64r5900-* | mips64r5900el-* \
389 | mips64vr-* | mips64vrel-* \
390 | mips64vr4100-* | mips64vr4100el-* \
391 | mips64vr4300-* | mips64vr4300el-* \
392 | mips64vr5000-* | mips64vr5000el-* \
393 | mips64vr5900-* | mips64vr5900el-* \
394 | mipsisa32-* | mipsisa32el-* \
395 | mipsisa32r2-* | mipsisa32r2el-* \
396 | mipsisa64-* | mipsisa64el-* \
397 | mipsisa64r2-* | mipsisa64r2el-* \
398 | mipsisa64sb1-* | mipsisa64sb1el-* \
399 | mipsisa64sr71k-* | mipsisa64sr71kel-* \
400 | mipstx39-* | mipstx39el-* \
404 | nds32-* | nds32le-* | nds32be-* \
406 | none-* | np1-* | ns16k-* | ns32k-* \
409 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
410 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
412 | rl78-* | romp-* | rs6000-* | rx-* \
413 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
414 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
415 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
417 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
419 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
423 | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
426 | x86-* | x86_64-* | xc16x-* | xps100-* \
427 | xstormy16-* | xtensa*-* \
431 # Recognize the basic CPU types without company name, with glob match.
433 basic_machine=$basic_machine-unknown
435 # Recognize the various machine names and aliases which stand
436 # for a CPU type and a company and sometimes even an OS.
438 basic_machine=i386-unknown
441 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
442 basic_machine=m68000-att
445 basic_machine=we32k-att
448 basic_machine=a29k-amd
452 basic_machine=abacus-unknown
455 basic_machine=m68010-adobe
459 basic_machine=fx80-alliant
462 basic_machine=m68k-altos
465 basic_machine=a29k-none
469 basic_machine=x86_64-pc
472 basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
475 basic_machine=580-amdahl
479 basic_machine=m68k-unknown
482 basic_machine=m68k-unknown
486 basic_machine=m68k-unknown
490 basic_machine=m68k-apollo
494 basic_machine=m68k-apollo
498 basic_machine=i386-pc
502 basic_machine=m68k-apple
506 basic_machine=ns32k-sequent
510 basic_machine=bfin-unknown
514 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
518 basic_machine=powerpc-ibm
522 basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
525 basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
528 basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
531 basic_machine=c90-cray
535 basic_machine=arm-unknown
539 basic_machine=c1-convex
543 basic_machine=c2-convex
547 basic_machine=c32-convex
551 basic_machine=c34-convex
555 basic_machine=c38-convex
559 basic_machine=j90-cray
563 basic_machine=craynv-cray
567 basic_machine=cr16-unknown
571 basic_machine=m68k-crds
573 crisv32 | crisv32-* | etraxfs*)
574 basic_machine=crisv32-axis
576 cris | cris-* | etrax*)
577 basic_machine=cris-axis
580 basic_machine=crx-unknown
584 basic_machine=m68k-da30
586 decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
587 basic_machine=mips-dec
589 decsystem10* | dec10*)
590 basic_machine=pdp10-dec
593 decsystem20* | dec20*)
594 basic_machine=pdp10-dec
597 delta | 3300 | motorola-3300 | motorola-delta \
598 | 3300-motorola | delta-motorola)
599 basic_machine=m68k-motorola
602 basic_machine=m88k-motorola
606 basic_machine=i686-pc
610 basic_machine=i586-pc
614 basic_machine=rs6000-bull
618 basic_machine=m68k-bull
622 basic_machine=a29k-amd
626 basic_machine=elxsi-elxsi
629 encore | umax | mmax)
630 basic_machine=ns32k-encore
632 es1800 | OSE68k | ose68k | ose | OSE)
633 basic_machine=m68k-ericsson
637 basic_machine=i860-alliant
640 basic_machine=ns32k-ns
643 basic_machine=tron-gmicro
647 basic_machine=i386-pc
651 basic_machine=hppa1.1-hitachi
655 basic_machine=h8300-hitachi
659 basic_machine=h8300-hitachi
663 basic_machine=h8500-hitachi
667 basic_machine=m88k-harris
671 basic_machine=m68k-hp
674 basic_machine=m68k-hp
678 basic_machine=m68k-hp
681 hp3k9[0-9][0-9] | hp9[0-9][0-9])
682 basic_machine=hppa1.0-hp
684 hp9k2[0-9][0-9] | hp9k31[0-9])
685 basic_machine=m68000-hp
688 basic_machine=m68k-hp
690 hp9k6[0-9][0-9] | hp6[0-9][0-9])
691 basic_machine=hppa1.0-hp
693 hp9k7[0-79][0-9] | hp7[0-79][0-9])
694 basic_machine=hppa1.1-hp
696 hp9k78[0-9] | hp78[0-9])
697 # FIXME: really hppa2.0-hp
698 basic_machine=hppa1.1-hp
700 hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
701 # FIXME: really hppa2.0-hp
702 basic_machine=hppa1.1-hp
704 hp9k8[0-9][13679] | hp8[0-9][13679])
705 basic_machine=hppa1.1-hp
707 hp9k8[0-9][0-9] | hp8[0-9][0-9])
708 basic_machine=hppa1.0-hp
714 basic_machine=hppa1.1-hp
718 basic_machine=hppa1.1-hp
722 basic_machine=i370-ibm
724 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
726 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
730 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
734 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
738 basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
742 basic_machine=i386-mach
746 basic_machine=i386-unknown
750 basic_machine=mips-sgi
760 basic_machine=m68k-isi
764 basic_machine=m68k-unknown
768 basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
772 basic_machine=m88k-omron
775 basic_machine=mips-mips
779 basic_machine=ns32k-utek
783 basic_machine=microblaze-xilinx
786 basic_machine=i386-pc
790 basic_machine=arm-unknown
794 basic_machine=m68000-convergent
796 *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
797 basic_machine=m68k-atari
801 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
804 basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
807 basic_machine=m68k-rom68k
811 basic_machine=powerpc-unknown
815 basic_machine=i386-pc
819 basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
822 basic_machine=i386-pc
826 basic_machine=i370-ibm
830 basic_machine=le32-unknown
834 basic_machine=i486-ncr
838 basic_machine=i386-unknown
842 basic_machine=armv4l-rebel
845 news | news700 | news800 | news900)
846 basic_machine=m68k-sony
850 basic_machine=m68030-sony
853 news-3600 | risc-news)
854 basic_machine=mips-sony
858 basic_machine=v70-nec
862 basic_machine=m68k-next
875 basic_machine=m68k-harris
879 basic_machine=m88k-harris
883 basic_machine=i960-intel
887 basic_machine=i960-intel
891 basic_machine=mips-compaq
895 basic_machine=np1-gould
898 basic_machine=neo-tandem
901 basic_machine=nse-tandem
904 basic_machine=nsr-tandem
907 basic_machine=hppa1.1-oki
910 openrisc | openrisc-*)
911 basic_machine=or32-unknown
914 basic_machine=powerpc-ibm
918 basic_machine=m68000-ericsson
922 basic_machine=m68k-none
926 basic_machine=hppa1.1-hitachi
930 basic_machine=i860-intel
934 basic_machine=hppa-unknown
938 basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
942 basic_machine=sparc-tti
945 basic_machine=m68k-tti
948 basic_machine=ns32k-pc532
951 basic_machine=i386-pc
954 basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
956 pentium | p5 | k5 | k6 | nexgen | viac3)
957 basic_machine=i586-pc
959 pentiumpro | p6 | 6x86 | athlon | athlon_*)
960 basic_machine=i686-pc
962 pentiumii | pentium2 | pentiumiii | pentium3)
963 basic_machine=i686-pc
966 basic_machine=i786-pc
968 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
969 basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
971 pentiumpro-* | p6-* | 6x86-* | athlon-*)
972 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
974 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
975 basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
978 basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
981 basic_machine=pn-gould
983 power) basic_machine=power-ibm
985 ppc | ppcbe) basic_machine=powerpc-unknown
988 basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
990 ppcle | powerpclittle | ppc-le | powerpc-little)
991 basic_machine=powerpcle-unknown
993 ppcle-* | powerpclittle-*)
994 basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
996 ppc64) basic_machine=powerpc64-unknown
998 ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1000 ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1001 basic_machine=powerpc64le-unknown
1003 ppc64le-* | powerpc64little-*)
1004 basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1007 basic_machine=i386-ibm
1010 basic_machine=i586-unknown
1014 basic_machine=i386-pc
1018 basic_machine=m68k-rom68k
1022 basic_machine=mips-siemens
1025 basic_machine=romp-ibm
1028 basic_machine=s390-ibm
1031 basic_machine=s390x-ibm
1034 basic_machine=a29k-amd
1038 basic_machine=mipsisa64sb1-unknown
1041 basic_machine=mipsisa64sb1el-unknown
1044 basic_machine=mipsisa32-sde
1048 basic_machine=mips-sei
1052 basic_machine=i386-sequent
1055 basic_machine=sh-hitachi
1059 basic_machine=sh5le-unknown
1062 basic_machine=sh64-unknown
1064 sparclite-wrs | simso-wrs)
1065 basic_machine=sparclite-wrs
1069 basic_machine=m68k-bull
1073 basic_machine=spur-unknown
1076 basic_machine=m68k-tandem
1079 basic_machine=i860-stratus
1082 strongarm-* | thumb-*)
1083 basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1086 basic_machine=m68000-sun
1089 basic_machine=m68000-sun
1093 basic_machine=m68000-sun
1097 basic_machine=m68k-sun
1101 basic_machine=m68k-sun
1105 basic_machine=sparc-sun
1109 basic_machine=sparc-sun
1113 basic_machine=sparc-sun
1117 basic_machine=m68k-sun
1120 basic_machine=sparc-sun
1122 sun386 | sun386i | roadrunner)
1123 basic_machine=i386-sun
1126 basic_machine=sv1-cray
1130 basic_machine=i386-sequent
1134 basic_machine=alphaev5-cray
1138 basic_machine=t90-cray
1142 basic_machine=$basic_machine-unknown
1146 basic_machine=mipstx39-unknown
1149 basic_machine=mipstx39el-unknown
1152 basic_machine=pdp10-xkl
1156 basic_machine=m68k-ncr
1159 basic_machine=s390x-ibm
1163 basic_machine=a29k-amd
1167 basic_machine=a29k-nyu
1171 basic_machine=v810-nec
1175 basic_machine=vax-dec
1179 basic_machine=vax-dec
1183 basic_machine=f301-fujitsu
1186 basic_machine=i960-wrs
1190 basic_machine=m68k-wrs
1194 basic_machine=a29k-wrs
1198 basic_machine=w65-wdc
1202 basic_machine=hppa1.1-winbond
1206 basic_machine=i686-pc
1210 basic_machine=xps100-honeywell
1212 xscale-* | xscalee[bl]-*)
1213 basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1216 basic_machine=ymp-cray
1220 basic_machine=z8k-unknown
1224 basic_machine=z80-unknown
1228 basic_machine=none-none
1232 # Here we handle the default manufacturer of certain CPU types. It is in
1233 # some cases the only manufacturer, in others, it is the most popular.
1235 basic_machine=hppa1.1-winbond
1238 basic_machine=hppa1.1-oki
1241 basic_machine=hppa1.1-oki
1244 basic_machine=romp-ibm
1247 basic_machine=mmix-knuth
1250 basic_machine=rs6000-ibm
1253 basic_machine=vax-dec
1256 # there are many clones, so DEC is not a safe bet
1257 basic_machine=pdp10-unknown
1260 basic_machine=pdp11-dec
1263 basic_machine=we32k-att
1265 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1266 basic_machine=sh-unknown
1268 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1269 basic_machine=sparc-sun
1272 basic_machine=cydra-cydrome
1275 basic_machine=orion-highlevel
1278 basic_machine=clipper-highlevel
1280 mac | mpw | mac-mpw)
1281 basic_machine=m68k-apple
1284 basic_machine=powerpc-apple
1287 # Make sure to match an already-canonicalized machine name.
1290 echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1295 # Here we canonicalize certain aliases for manufacturers.
1296 case $basic_machine in
1298 basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1301 basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1307 # Decode manufacturer-specific aliases for certain operating systems.
1309 if [ x"$os" != x"" ]
1312 # First match some system type aliases
1313 # that might get confused with valid system types.
1314 # -solaris* is a basic system type, with this one exception.
1318 -solaris1 | -solaris1.*)
1319 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1331 os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1333 # First accept the basic system types.
1334 # The portable systems comes first.
1335 # Each alternative MUST END IN A *, to match a version number.
1336 # -sysv* is not here because it comes later, after sysvr4.
1337 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1338 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1339 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1340 | -sym* | -kopensolaris* \
1341 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1343 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1344 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1345 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1346 | -openbsd* | -solidbsd* \
1347 | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1348 | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1349 | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1350 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1351 | -chorusos* | -chorusrdb* | -cegcc* \
1352 | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1353 | -mingw32* | -linux-gnu* | -linux-android* \
1354 | -linux-newlib* | -linux-uclibc* \
1355 | -uxpv* | -beos* | -mpeix* | -udk* \
1356 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1357 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1358 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1359 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1360 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1361 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1362 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1363 # Remember, each alternative MUST END IN *, to match a version number.
1366 case $basic_machine in
1377 os=`echo $os | sed -e 's|nto|nto-qnx|'`
1379 -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1380 | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1381 | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1384 os=`echo $os | sed -e 's|mac|macos|'`
1390 os=`echo $os | sed -e 's|linux|linux-gnu|'`
1393 os=`echo $os | sed -e 's|sunos5|solaris2|'`
1396 os=`echo $os | sed -e 's|sunos6|solaris3|'`
1443 # Preserve the version number of sinix5.
1445 os=`echo $os | sed -e 's|sinix|sysv|'`
1468 # This must come after -sysvr4.
1480 -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1500 # Get rid of the `-' at the beginning of $os.
1501 os=`echo $os | sed 's/[^-]*-//'`
1502 echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1508 # Here we handle the default operating systems that come with various machines.
1509 # The value should be what the vendor currently ships out the door with their
1510 # machine or put another way, the most popular os provided with the machine.
1512 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1513 # "-sun"), then you have to tell the case statement up towards the top
1514 # that MANUFACTURER isn't an operating system. Otherwise, code above
1515 # will signal an error saying that MANUFACTURER isn't an operating
1516 # system, and we'll never get to this point.
1518 case $basic_machine in
1546 # This must come before the *-dec entry.
1564 # This also exists in the configure program, but was not the
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: "'"