2 # Configuration validation subroutine script.
3 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4 # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5 # 2011, 2012, 2013 Free Software Foundation, Inc.
9 # This file is free software; you can redistribute it and/or modify it
10 # under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 3 of the License, or
12 # (at your option) any later version.
14 # This program is distributed in the hope that it will be useful, but
15 # WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 # General Public License for more details.
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, see <http://www.gnu.org/licenses/>.
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that
26 # program. This Exception is an additional permission under section 7
27 # of the GNU General Public License, version 3 ("GPLv3").
30 # Please send patches with a ChangeLog entry to config-patches@gnu.org.
32 # Configuration subroutine to validate and canonicalize a configuration type.
33 # Supply the specified configuration type as an argument.
34 # If it is invalid, we print an error message on stderr and exit with code 1.
35 # Otherwise, we print the canonical config type on stdout and succeed.
37 # You can get the latest version of this script from:
38 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
40 # This file is supposed to be the same for all GNU packages
41 # and recognize all the CPU types, system types and aliases
42 # that are meaningful with *any* GNU software.
43 # Each package is responsible for reporting which valid configurations
44 # it does not support. The user should be able to distinguish
45 # a failure to support a valid configuration from a meaningless
48 # The goal of this file is to map all the various variations of a given
49 # machine specification into a single specification in the form:
50 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51 # or in some cases, the newer four-part form:
52 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53 # It is wrong to echo any other type of specification.
55 me
=`echo "$0" | sed -e 's,.*/,,'`
58 Usage: $0 [OPTION] CPU-MFR-OPSYS
61 Canonicalize a configuration name.
64 -h, --help print this help, then exit
65 -t, --time-stamp print date of last modification, then exit
66 -v, --version print version number, then exit
68 Report bugs and patches to <config-patches@gnu.org>."
71 GNU config.sub ($timestamp)
73 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
74 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
75 2012, 2013 Free Software Foundation, Inc.
77 This is free software; see the source for copying conditions. There is NO
78 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
81 Try \`$me --help' for more information."
84 while test $# -gt 0 ; do
86 --time-stamp |
--time* |
-t )
87 echo "$timestamp" ; exit ;;
89 echo "$version" ; exit ;;
91 echo "$usage"; exit ;;
92 -- ) # Stop option processing
94 - ) # Use stdin as input.
97 echo "$me: invalid option $1$help"
101 # First pass through any local machine types.
111 0) echo "$me: missing argument$help" >&2
114 *) echo "$me: too many arguments$help" >&2
118 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119 # Here we must recognize all the valid KERNEL-OS combinations.
120 maybe_os
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122 nto-qnx
* | linux-gnu
* | linux-android
* | linux-dietlibc | linux-newlib
* | \
123 linux-musl
* | linux-uclibc
* | uclinux-uclibc
* | uclinux-gnu
* | kfreebsd
*-gnu* | \
124 knetbsd
*-gnu* | netbsd
*-gnu* | \
125 kopensolaris
*-gnu* | \
126 storm-chaos
* | os2-emx
* | rtmk-nova
*)
128 basic_machine
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132 basic_machine
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
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/'`
235 basic_machine
=`echo $1 | sed -e 's/86-.*/86-sequent/'`
238 os
=`echo $os | sed -e 's/windowsnt/winnt/'`
244 basic_machine
=m68k-atari
249 # Decode aliases for certain CPU-COMPANY combinations.
250 case $basic_machine in
251 # Recognize the basic CPU types without company name.
252 # Some are omitted here because they have special meanings below.
255 | aarch64 | aarch64_be \
256 | alpha | alphaev
[4-8] | alphaev56 | alphaev6
[78] | alphapca5
[67] \
257 | alpha64 | alpha64ev
[4-8] | alpha64ev56 | alpha64ev6
[78] | alpha64pca5
[67] \
260 | arm | arm
[bl
]e | arme
[lb
] | armv
[2-8] | armv
[3-8][lb
] | armv7
[arm
] \
265 | d10v | d30v | dlx | dsp16xx \
267 | fido | fr30 | frv \
268 | h8300 | h8500 | hppa | hppa1.
[01] | hppa2.0 | hppa2.0
[nw
] | hppa64 \
270 | i370 | i860 | i960 | ia64 \
274 | m32c | m32r | m32rle | m68000 | m68k | m88k \
275 | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
276 | mips | mipsbe | mipseb | mipsel | mipsle \
278 | mips64 | mips64el \
279 | mips64octeon | mips64octeonel \
280 | mips64orion | mips64orionel \
281 | mips64r5900 | mips64r5900el \
282 | mips64vr | mips64vrel \
283 | mips64vr4100 | mips64vr4100el \
284 | mips64vr4300 | mips64vr4300el \
285 | mips64vr5000 | mips64vr5000el \
286 | mips64vr5900 | mips64vr5900el \
287 | mipsisa32 | mipsisa32el \
288 | mipsisa32r2 | mipsisa32r2el \
289 | mipsisa64 | mipsisa64el \
290 | mipsisa64r2 | mipsisa64r2el \
291 | mipsisa64sb1 | mipsisa64sb1el \
292 | mipsisa64sr71k | mipsisa64sr71kel \
293 | mipstx39 | mipstx39el \
294 | mn10200 | mn10300 \
298 | nds32 | nds32le | nds32be \
303 | pdp10 | pdp11 | pj | pjl \
304 | powerpc | powerpc64 | powerpc64le | powerpcle \
308 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
310 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317 | x86 | xc16x | xstormy16 | xtensa \
319 basic_machine
=$basic_machine-unknown
322 basic_machine
=tic54x-unknown
325 basic_machine
=tic55x-unknown
328 basic_machine
=tic6x-unknown
330 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip
)
331 basic_machine
=$basic_machine-unknown
334 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
337 basic_machine
=mt-unknown
340 strongarm | thumb | xscale
)
341 basic_machine
=arm-unknown
344 basic_machine
=$basic_machine-unknown
348 basic_machine
=armeb-unknown
352 basic_machine
=armel-unknown
355 # We use `pc' rather than `unknown'
356 # because (1) that's what they normally are, and
357 # (2) the word "unknown" tends to confuse beginning users.
359 basic_machine
=$basic_machine-pc
361 # Object if more than one company name word.
363 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
366 # Recognize the basic CPU types with company name.
369 | aarch64-
* | aarch64_be-
* \
370 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
371 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
372 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
373 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
376 | bfin-
* | bs2000-
* \
377 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
378 | clipper-
* | craynv-
* | cydra-
* \
379 | d10v-
* | d30v-
* | dlx-
* \
381 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
382 | h8300-
* | h8500-
* \
383 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
385 | i
*86-* | i860-
* | i960-
* | ia64-
* \
386 | ip2k-
* | iq2000-
* \
389 | m32c-
* | m32r-
* | m32rle-
* \
390 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
391 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* \
392 | microblaze-
* | microblazeel-
* \
393 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
395 | mips64-
* | mips64el-
* \
396 | mips64octeon-
* | mips64octeonel-
* \
397 | mips64orion-
* | mips64orionel-
* \
398 | mips64r5900-
* | mips64r5900el-
* \
399 | mips64vr-
* | mips64vrel-
* \
400 | mips64vr4100-
* | mips64vr4100el-
* \
401 | mips64vr4300-
* | mips64vr4300el-
* \
402 | mips64vr5000-
* | mips64vr5000el-
* \
403 | mips64vr5900-
* | mips64vr5900el-
* \
404 | mipsisa32-
* | mipsisa32el-
* \
405 | mipsisa32r2-
* | mipsisa32r2el-
* \
406 | mipsisa64-
* | mipsisa64el-
* \
407 | mipsisa64r2-
* | mipsisa64r2el-
* \
408 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
409 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
410 | mipstx39-
* | mipstx39el-
* \
414 | nds32-
* | nds32le-
* | nds32be-
* \
416 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
419 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
420 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
422 | rl78-
* | romp-
* | rs6000-
* | rx-
* \
423 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
424 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
425 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
427 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
429 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
433 | v850-
* | v850e-
* | v850e1-
* | v850es-
* | v850e2-
* | v850e2v3-
* \
436 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
437 | xstormy16-
* | xtensa
*-* \
441 # Recognize the basic CPU types without company name, with glob match.
443 basic_machine
=$basic_machine-unknown
445 # Recognize the various machine names and aliases which stand
446 # for a CPU type and a company and sometimes even an OS.
448 basic_machine
=i386-unknown
451 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
452 basic_machine
=m68000-att
455 basic_machine
=we32k-att
458 basic_machine
=a29k-amd
462 basic_machine
=abacus-unknown
465 basic_machine
=m68010-adobe
469 basic_machine
=fx80-alliant
472 basic_machine
=m68k-altos
475 basic_machine
=a29k-none
479 basic_machine
=x86_64-pc
482 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
485 basic_machine
=580-amdahl
489 basic_machine
=m68k-unknown
492 basic_machine
=m68k-unknown
496 basic_machine
=m68k-unknown
500 basic_machine
=m68k-apollo
504 basic_machine
=m68k-apollo
508 basic_machine
=i386-pc
512 basic_machine
=m68k-apple
516 basic_machine
=ns32k-sequent
520 basic_machine
=bfin-unknown
524 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
528 basic_machine
=powerpc-ibm
532 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
535 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
538 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
541 basic_machine
=c90-cray
545 basic_machine
=arm-unknown
549 basic_machine
=c1-convex
553 basic_machine
=c2-convex
557 basic_machine
=c32-convex
561 basic_machine
=c34-convex
565 basic_machine
=c38-convex
569 basic_machine
=j90-cray
573 basic_machine
=craynv-cray
577 basic_machine
=cr16-unknown
581 basic_machine
=m68k-crds
583 crisv32 | crisv32-
* | etraxfs
*)
584 basic_machine
=crisv32-axis
586 cris | cris-
* | etrax
*)
587 basic_machine
=cris-axis
590 basic_machine
=crx-unknown
594 basic_machine
=m68k-da30
596 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
597 basic_machine
=mips-dec
599 decsystem10
* | dec10
*)
600 basic_machine
=pdp10-dec
603 decsystem20
* | dec20
*)
604 basic_machine
=pdp10-dec
607 delta |
3300 | motorola-3300 | motorola-delta \
608 |
3300-motorola | delta-motorola
)
609 basic_machine
=m68k-motorola
612 basic_machine
=m88k-motorola
616 basic_machine
=i686-pc
620 basic_machine
=i586-pc
624 basic_machine
=rs6000-bull
628 basic_machine
=m68k-bull
632 basic_machine
=a29k-amd
636 basic_machine
=elxsi-elxsi
639 encore | umax | mmax
)
640 basic_machine
=ns32k-encore
642 es1800 | OSE68k | ose68k | ose | OSE
)
643 basic_machine
=m68k-ericsson
647 basic_machine
=i860-alliant
650 basic_machine
=ns32k-ns
653 basic_machine
=tron-gmicro
657 basic_machine
=i386-pc
661 basic_machine
=hppa1.1
-hitachi
665 basic_machine
=h8300-hitachi
669 basic_machine
=h8300-hitachi
673 basic_machine
=h8500-hitachi
677 basic_machine
=m88k-harris
681 basic_machine
=m68k-hp
684 basic_machine
=m68k-hp
688 basic_machine
=m68k-hp
691 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
692 basic_machine
=hppa1.0
-hp
694 hp9k2
[0-9][0-9] | hp9k31
[0-9])
695 basic_machine
=m68000-hp
698 basic_machine
=m68k-hp
700 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
701 basic_machine
=hppa1.0
-hp
703 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
704 basic_machine
=hppa1.1
-hp
706 hp9k78
[0-9] | hp78
[0-9])
707 # FIXME: really hppa2.0-hp
708 basic_machine
=hppa1.1
-hp
710 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
711 # FIXME: really hppa2.0-hp
712 basic_machine
=hppa1.1
-hp
714 hp9k8
[0-9][13679] | hp8
[0-9][13679])
715 basic_machine
=hppa1.1
-hp
717 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
718 basic_machine
=hppa1.0
-hp
724 basic_machine
=hppa1.1
-hp
728 basic_machine
=hppa1.1
-hp
732 basic_machine
=i370-ibm
735 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
739 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
743 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
747 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
751 basic_machine
=i386-mach
755 basic_machine
=i386-unknown
759 basic_machine
=mips-sgi
769 basic_machine
=m68k-isi
773 basic_machine
=m68k-unknown
777 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
781 basic_machine
=m88k-omron
784 basic_machine
=mips-mips
788 basic_machine
=ns32k-utek
792 basic_machine
=microblaze-xilinx
795 basic_machine
=x86_64-pc
799 basic_machine
=i386-pc
803 basic_machine
=arm-unknown
807 basic_machine
=m68000-convergent
809 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
810 basic_machine
=m68k-atari
814 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
817 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
820 basic_machine
=m68k-rom68k
824 basic_machine
=powerpc-unknown
828 basic_machine
=i386-pc
832 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
835 basic_machine
=i386-pc
839 basic_machine
=i370-ibm
843 basic_machine
=le32-unknown
847 basic_machine
=i486-ncr
851 basic_machine
=i386-unknown
855 basic_machine
=armv4l-rebel
858 news | news700 | news800 | news900
)
859 basic_machine
=m68k-sony
863 basic_machine
=m68030-sony
866 news-3600 | risc-news
)
867 basic_machine
=mips-sony
871 basic_machine
=v70-nec
875 basic_machine
=m68k-next
888 basic_machine
=m68k-harris
892 basic_machine
=m88k-harris
896 basic_machine
=i960-intel
900 basic_machine
=i960-intel
904 basic_machine
=mips-compaq
908 basic_machine
=np1-gould
911 basic_machine
=neo-tandem
914 basic_machine
=nse-tandem
917 basic_machine
=nsr-tandem
920 basic_machine
=hppa1.1
-oki
923 openrisc | openrisc-
*)
924 basic_machine
=or32-unknown
927 basic_machine
=powerpc-ibm
931 basic_machine
=m68000-ericsson
935 basic_machine
=m68k-none
939 basic_machine
=hppa1.1
-hitachi
943 basic_machine
=i860-intel
947 basic_machine
=hppa-unknown
951 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
955 basic_machine
=sparc-tti
958 basic_machine
=m68k-tti
961 basic_machine
=ns32k-pc532
964 basic_machine
=i386-pc
967 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
969 pentium | p5 | k5 | k6 | nexgen | viac3
)
970 basic_machine
=i586-pc
972 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
973 basic_machine
=i686-pc
975 pentiumii | pentium2 | pentiumiii | pentium3
)
976 basic_machine
=i686-pc
979 basic_machine
=i786-pc
981 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
982 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
984 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
985 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
987 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
988 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
991 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
994 basic_machine
=pn-gould
996 power
) basic_machine
=power-ibm
998 ppc | ppcbe
) basic_machine
=powerpc-unknown
1001 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
1003 ppcle | powerpclittle | ppc-le | powerpc-little
)
1004 basic_machine
=powerpcle-unknown
1006 ppcle-
* | powerpclittle-
*)
1007 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
1009 ppc64
) basic_machine
=powerpc64-unknown
1011 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
1013 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
1014 basic_machine
=powerpc64le-unknown
1016 ppc64le-
* | powerpc64little-
*)
1017 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
1020 basic_machine
=i386-ibm
1023 basic_machine
=i586-unknown
1027 basic_machine
=x86_64-pc
1031 basic_machine
=i386-pc
1035 basic_machine
=m68k-rom68k
1039 basic_machine
=mips-siemens
1042 basic_machine
=romp-ibm
1045 basic_machine
=s390-ibm
1048 basic_machine
=s390x-ibm
1051 basic_machine
=a29k-amd
1055 basic_machine
=mipsisa64sb1-unknown
1058 basic_machine
=mipsisa64sb1el-unknown
1061 basic_machine
=mipsisa32-sde
1065 basic_machine
=mips-sei
1069 basic_machine
=i386-sequent
1072 basic_machine
=sh-hitachi
1076 basic_machine
=sh5le-unknown
1079 basic_machine
=sh64-unknown
1081 sparclite-wrs | simso-wrs
)
1082 basic_machine
=sparclite-wrs
1086 basic_machine
=m68k-bull
1090 basic_machine
=spur-unknown
1093 basic_machine
=m68k-tandem
1096 basic_machine
=i860-stratus
1099 strongarm-
* | thumb-
*)
1100 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1103 basic_machine
=m68000-sun
1106 basic_machine
=m68000-sun
1110 basic_machine
=m68000-sun
1114 basic_machine
=m68k-sun
1118 basic_machine
=m68k-sun
1122 basic_machine
=sparc-sun
1126 basic_machine
=sparc-sun
1130 basic_machine
=sparc-sun
1134 basic_machine
=m68k-sun
1137 basic_machine
=sparc-sun
1139 sun386 | sun386i | roadrunner
)
1140 basic_machine
=i386-sun
1143 basic_machine
=sv1-cray
1147 basic_machine
=i386-sequent
1151 basic_machine
=alphaev5-cray
1155 basic_machine
=t90-cray
1159 basic_machine
=$basic_machine-unknown
1163 basic_machine
=mipstx39-unknown
1166 basic_machine
=mipstx39el-unknown
1169 basic_machine
=pdp10-xkl
1173 basic_machine
=m68k-ncr
1176 basic_machine
=s390x-ibm
1180 basic_machine
=a29k-amd
1184 basic_machine
=a29k-nyu
1188 basic_machine
=v810-nec
1192 basic_machine
=vax-dec
1196 basic_machine
=vax-dec
1200 basic_machine
=f301-fujitsu
1203 basic_machine
=i960-wrs
1207 basic_machine
=m68k-wrs
1211 basic_machine
=a29k-wrs
1215 basic_machine
=w65-wdc
1219 basic_machine
=hppa1.1
-winbond
1223 basic_machine
=i686-pc
1227 basic_machine
=xps100-honeywell
1229 xscale-
* | xscalee
[bl
]-*)
1230 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1233 basic_machine
=ymp-cray
1237 basic_machine
=z8k-unknown
1241 basic_machine
=z80-unknown
1245 basic_machine
=none-none
1249 # Here we handle the default manufacturer of certain CPU types. It is in
1250 # some cases the only manufacturer, in others, it is the most popular.
1252 basic_machine
=hppa1.1
-winbond
1255 basic_machine
=hppa1.1
-oki
1258 basic_machine
=hppa1.1
-oki
1261 basic_machine
=romp-ibm
1264 basic_machine
=mmix-knuth
1267 basic_machine
=rs6000-ibm
1270 basic_machine
=vax-dec
1273 # there are many clones, so DEC is not a safe bet
1274 basic_machine
=pdp10-unknown
1277 basic_machine
=pdp11-dec
1280 basic_machine
=we32k-att
1282 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1283 basic_machine
=sh-unknown
1285 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1286 basic_machine
=sparc-sun
1289 basic_machine
=cydra-cydrome
1292 basic_machine
=orion-highlevel
1295 basic_machine
=clipper-highlevel
1297 mac | mpw | mac-mpw
)
1298 basic_machine
=m68k-apple
1301 basic_machine
=powerpc-apple
1304 # Make sure to match an already-canonicalized machine name.
1307 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1312 # Here we canonicalize certain aliases for manufacturers.
1313 case $basic_machine in
1315 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1318 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1324 # Decode manufacturer-specific aliases for certain operating systems.
1326 if [ x
"$os" != x
"" ]
1329 # First match some system type aliases
1330 # that might get confused with valid system types.
1331 # -solaris* is a basic system type, with this one exception.
1335 -solaris1 |
-solaris1.
*)
1336 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1348 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1350 # First accept the basic system types.
1351 # The portable systems comes first.
1352 # Each alternative MUST END IN A *, to match a version number.
1353 # -sysv* is not here because it comes later, after sysvr4.
1354 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1355 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1356 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1357 |
-sym* |
-kopensolaris* \
1358 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1360 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1361 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1362 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1363 |
-bitrig* |
-openbsd* |
-solidbsd* \
1364 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1365 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1366 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1367 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1368 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1369 |
-cygwin* |
-msys* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1370 |
-mingw32* |
-mingw64* |
-linux-gnu* |
-linux-android* \
1371 |
-linux-newlib* |
-linux-musl* |
-linux-uclibc* \
1372 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1373 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1374 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1375 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1376 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1377 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1378 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1379 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1380 # Remember, each alternative MUST END IN *, to match a version number.
1383 case $basic_machine in
1394 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1396 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1397 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1398 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1401 os
=`echo $os | sed -e 's|mac|macos|'`
1407 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1410 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1413 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1460 # Preserve the version number of sinix5.
1462 os
=`echo $os | sed -e 's|sinix|sysv|'`
1485 # This must come after -sysvr4.
1497 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1517 # Get rid of the `-' at the beginning of $os.
1518 os
=`echo $os | sed 's/[^-]*-//'`
1519 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1525 # Here we handle the default operating systems that come with various machines.
1526 # The value should be what the vendor currently ships out the door with their
1527 # machine or put another way, the most popular os provided with the machine.
1529 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1530 # "-sun"), then you have to tell the case statement up towards the top
1531 # that MANUFACTURER isn't an operating system. Otherwise, code above
1532 # will signal an error saying that MANUFACTURER isn't an operating
1533 # system, and we'll never get to this point.
1535 case $basic_machine in
1566 # This must come before the *-dec entry.
1600 *-tti) # must be before sparc entry or we get the wrong os.
1633 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1687 f30
[01]-fujitsu | f700-fujitsu
)
1708 # Here we handle the case where we know the os, and the CPU type, but not the
1709 # manufacturer. We pick the logical manufacturer.
1711 case $basic_machine in
1759 -vxsim* |
-vxworks* |
-windiss*)
1771 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1778 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1782 echo $basic_machine$os
1786 # eval: (add-hook 'write-file-hooks 'time-stamp)
1787 # time-stamp-start: "timestamp='"
1788 # time-stamp-format: "%:y-%02m-%02d"
1789 # time-stamp-end: "'"