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 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, see <http://www.gnu.org/licenses/>.
26 # As a special exception to the GNU General Public License, if you
27 # distribute this file as part of a program that contains a
28 # configuration script generated by Autoconf, you may include it under
29 # the same distribution terms that you use for the rest of that program.
32 # Please send patches to <config-patches@gnu.org>. Submit a context
33 # diff and a properly formatted GNU ChangeLog entry.
35 # Configuration subroutine to validate and canonicalize a configuration type.
36 # Supply the specified configuration type as an argument.
37 # If it is invalid, we print an error message on stderr and exit with code 1.
38 # Otherwise, we print the canonical config type on stdout and succeed.
40 # You can get the latest version of this script from:
41 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
43 # This file is supposed to be the same for all GNU packages
44 # and recognize all the CPU types, system types and aliases
45 # that are meaningful with *any* GNU software.
46 # Each package is responsible for reporting which valid configurations
47 # it does not support. The user should be able to distinguish
48 # a failure to support a valid configuration from a meaningless
51 # The goal of this file is to map all the various variations of a given
52 # machine specification into a single specification in the form:
53 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
54 # or in some cases, the newer four-part form:
55 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
56 # It is wrong to echo any other type of specification.
58 me
=`echo "$0" | sed -e 's,.*/,,'`
61 Usage: $0 [OPTION] CPU-MFR-OPSYS
64 Canonicalize a configuration name.
67 -h, --help print this help, then exit
68 -t, --time-stamp print date of last modification, then exit
69 -v, --version print version number, then exit
71 Report bugs and patches to <config-patches@gnu.org>."
74 GNU config.sub ($timestamp)
76 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78 Free Software Foundation, Inc.
80 This is free software; see the source for copying conditions. There is NO
81 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
84 Try \`$me --help' for more information."
87 while test $# -gt 0 ; do
89 --time-stamp |
--time* |
-t )
90 echo "$timestamp" ; exit ;;
92 echo "$version" ; exit ;;
94 echo "$usage"; exit ;;
95 -- ) # Stop option processing
97 - ) # Use stdin as input.
100 echo "$me: invalid option $1$help"
104 # First pass through any local machine types.
114 0) echo "$me: missing argument$help" >&2
117 *) echo "$me: too many arguments$help" >&2
121 # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
122 # Here we must recognize all the valid KERNEL-OS combinations.
123 maybe_os
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
125 nto-qnx
* | linux-gnu
* | linux-android
* | linux-dietlibc | linux-newlib
* | \
126 linux-musl
* | linux-uclibc
* | uclinux-uclibc
* | uclinux-gnu
* | kfreebsd
*-gnu* | \
127 knetbsd
*-gnu* | netbsd
*-gnu* | \
128 kopensolaris
*-gnu* | \
129 storm-chaos
* | os2-emx
* | rtmk-nova
*)
131 basic_machine
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
135 basic_machine
=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
138 basic_machine
=`echo $1 | sed 's/-[^-]*$//'`
139 if [ $basic_machine != $1 ]
140 then os
=`echo $1 | sed 's/.*-/-/'`
145 ### Let's recognize common machines as not being operating systems so
146 ### that things like config.sub decstation-3100 work. We also
147 ### recognize some manufacturers as not being operating systems, so we
148 ### can provide default operating systems below.
151 # Prevent following clause from handling this invalid input.
153 -dec* |
-mips* |
-sequent* |
-encore* |
-pc532* |
-sgi* |
-sony* | \
154 -att* |
-7300* |
-3300* |
-delta* |
-motorola* |
-sun[234]* | \
155 -unicom* |
-ibm* |
-next |
-hp |
-isi* |
-apollo |
-altos* | \
156 -convergent* |
-ncr* |
-news |
-32* |
-3600* |
-3100* |
-hitachi* |\
157 -c[123]* |
-convex* |
-sun |
-crds |
-omron* |
-dg |
-ultra |
-tti* | \
158 -harris |
-dolphin |
-highlevel |
-gould |
-cbm |
-ns |
-masscomp | \
159 -apple |
-axis |
-knuth |
-cray |
-microblaze)
166 -sim |
-cisco |
-oki |
-wec |
-winbond)
189 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
193 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
197 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
200 os
=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
201 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
204 # Don't forget version if it is 3.2v4 or newer.
205 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
208 # Don't forget version if it is 3.2v4 or newer.
209 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
213 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
216 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
220 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
223 basic_machine
=clipper-intergraph
226 basic_machine
=`echo $1 | sed -e 's/86-.*/86-pc/'`
238 basic_machine
=`echo $1 | sed -e 's/86-.*/86-sequent/'`
241 os
=`echo $os | sed -e 's/windowsnt/winnt/'`
247 basic_machine
=m68k-atari
252 # Decode aliases for certain CPU-COMPANY combinations.
253 case $basic_machine in
254 # Recognize the basic CPU types without company name.
255 # Some are omitted here because they have special meanings below.
258 | aarch64 | aarch64_be \
259 | alpha | alphaev
[4-8] | alphaev56 | alphaev6
[78] | alphapca5
[67] \
260 | alpha64 | alpha64ev
[4-8] | alpha64ev56 | alpha64ev6
[78] | alpha64pca5
[67] \
262 | arc | arm | arm
[bl
]e | arme
[lb
] | armv
[2345] | armv
[345][lb
] | avr | avr32 \
266 | d10v | d30v | dlx | dsp16xx | dvp \
268 | fido | fr30 | frv \
269 | h8300 | h8500 | hppa | hppa1.
[01] | hppa2.0 | hppa2.0
[nw
] | hppa64 \
271 | i370 | i860 | i960 | ia64 \
275 | m32c | m32r | m32rle | m68000 | m68k | m88k \
276 | maxq | mb | microblaze | mcore | mep | metag \
277 | mips | mipsbe | mipseb | mipsel | mipsle \
279 | mips64 | mips64el \
280 | mips64octeon | mips64octeonel \
281 | mips64orion | mips64orionel \
282 | mips64r5900 | mips64r5900el \
283 | mips64vr | mips64vrel \
284 | mips64vr4100 | mips64vr4100el \
285 | mips64vr4300 | mips64vr4300el \
286 | mips64vr5000 | mips64vr5000el \
287 | mips64vr5900 | mips64vr5900el \
288 | mipsisa32 | mipsisa32el \
289 | mipsisa32r2 | mipsisa32r2el \
290 | mipsisa64 | mipsisa64el \
291 | mipsisa64r2 | mipsisa64r2el \
292 | mipsisa64sb1 | mipsisa64sb1el \
293 | mipsisa64sr71k | mipsisa64sr71kel \
294 | mipstx39 | mipstx39el \
295 | mn10200 | mn10300 \
299 | nds32 | nds32le | nds32be \
304 | pdp10 | pdp11 | pj | pjl \
305 | powerpc | powerpc64 | powerpc64le | powerpcle \
309 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
311 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
312 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
314 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
316 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
318 | x86 | xc16x | xstormy16 | xtensa \
320 basic_machine
=$basic_machine-unknown
323 basic_machine
=tic54x-unknown
326 basic_machine
=tic55x-unknown
329 basic_machine
=tic6x-unknown
331 m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip
)
332 basic_machine
=$basic_machine-unknown
335 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
338 basic_machine
=mt-unknown
341 strongarm | thumb | xscale
)
342 basic_machine
=arm-unknown
345 basic_machine
=$basic_machine-unknown
349 basic_machine
=armeb-unknown
353 basic_machine
=armel-unknown
356 # We use `pc' rather than `unknown'
357 # because (1) that's what they normally are, and
358 # (2) the word "unknown" tends to confuse beginning users.
360 basic_machine
=$basic_machine-pc
362 # Object if more than one company name word.
364 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
367 # Recognize the basic CPU types with company name.
370 | aarch64-
* | aarch64_be-
* \
371 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
372 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
373 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
374 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
377 | bfin-
* | bs2000-
* \
378 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
379 | clipper-
* | craynv-
* | cydra-
* \
380 | d10v-
* | d30v-
* | dlx-
* \
382 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
383 | h8300-
* | h8500-
* \
384 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
386 | i
*86-* | i860-
* | i960-
* | ia64-
* \
387 | ip2k-
* | iq2000-
* \
390 | m32c-
* | m32r-
* | m32rle-
* \
391 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
392 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
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
=mips64r5900el-scei
824 basic_machine
=mipsel-scei
828 basic_machine
=dvp-scei
832 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
835 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
838 basic_machine
=m68k-rom68k
842 basic_machine
=powerpc-unknown
846 basic_machine
=i386-pc
850 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
853 basic_machine
=i386-pc
857 basic_machine
=i370-ibm
861 basic_machine
=le32-unknown
865 basic_machine
=i486-ncr
869 basic_machine
=i386-unknown
873 basic_machine
=armv4l-rebel
876 news | news700 | news800 | news900
)
877 basic_machine
=m68k-sony
881 basic_machine
=m68030-sony
884 news-3600 | risc-news
)
885 basic_machine
=mips-sony
889 basic_machine
=v70-nec
893 basic_machine
=m68k-next
906 basic_machine
=m68k-harris
910 basic_machine
=m88k-harris
914 basic_machine
=i960-intel
918 basic_machine
=i960-intel
922 basic_machine
=mips-compaq
926 basic_machine
=np1-gould
929 basic_machine
=neo-tandem
932 basic_machine
=nse-tandem
935 basic_machine
=nsr-tandem
938 basic_machine
=hppa1.1
-oki
941 openrisc | openrisc-
*)
942 basic_machine
=or32-unknown
945 basic_machine
=powerpc-ibm
949 basic_machine
=m68000-ericsson
953 basic_machine
=m68k-none
957 basic_machine
=hppa1.1
-hitachi
961 basic_machine
=i860-intel
965 basic_machine
=hppa-unknown
969 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
973 basic_machine
=sparc-tti
976 basic_machine
=m68k-tti
979 basic_machine
=ns32k-pc532
982 basic_machine
=i386-pc
985 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
987 pentium | p5 | k5 | k6 | nexgen | viac3
)
988 basic_machine
=i586-pc
990 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
991 basic_machine
=i686-pc
993 pentiumii | pentium2 | pentiumiii | pentium3
)
994 basic_machine
=i686-pc
997 basic_machine
=i786-pc
999 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
1000 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
1002 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
1003 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
1005 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
1006 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
1009 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
1012 basic_machine
=pn-gould
1014 power
) basic_machine
=power-ibm
1016 ppc | ppcbe
) basic_machine
=powerpc-unknown
1019 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
1021 ppcle | powerpclittle | ppc-le | powerpc-little
)
1022 basic_machine
=powerpcle-unknown
1024 ppcle-
* | powerpclittle-
*)
1025 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
1027 ppc64
) basic_machine
=powerpc64-unknown
1029 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
1031 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
1032 basic_machine
=powerpc64le-unknown
1034 ppc64le-
* | powerpc64little-
*)
1035 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
1038 basic_machine
=i386-ibm
1041 basic_machine
=i586-unknown
1045 basic_machine
=i386-pc
1049 basic_machine
=m68k-rom68k
1053 basic_machine
=mips-siemens
1056 basic_machine
=romp-ibm
1059 basic_machine
=s390-ibm
1062 basic_machine
=s390x-ibm
1065 basic_machine
=a29k-amd
1069 basic_machine
=mipsisa64sb1-unknown
1072 basic_machine
=mipsisa64sb1el-unknown
1075 basic_machine
=mipsisa32-sde
1079 basic_machine
=mips-sei
1083 basic_machine
=i386-sequent
1086 basic_machine
=sh-hitachi
1090 basic_machine
=sh5le-unknown
1093 basic_machine
=sh64-unknown
1095 sparclite-wrs | simso-wrs
)
1096 basic_machine
=sparclite-wrs
1100 basic_machine
=m68k-bull
1104 basic_machine
=spur-unknown
1107 basic_machine
=m68k-tandem
1110 basic_machine
=i860-stratus
1113 strongarm-
* | thumb-
*)
1114 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1117 basic_machine
=m68000-sun
1120 basic_machine
=m68000-sun
1124 basic_machine
=m68000-sun
1128 basic_machine
=m68k-sun
1132 basic_machine
=m68k-sun
1136 basic_machine
=sparc-sun
1140 basic_machine
=sparc-sun
1144 basic_machine
=sparc-sun
1148 basic_machine
=m68k-sun
1151 basic_machine
=sparc-sun
1153 sun386 | sun386i | roadrunner
)
1154 basic_machine
=i386-sun
1157 basic_machine
=sv1-cray
1161 basic_machine
=i386-sequent
1165 basic_machine
=alphaev5-cray
1169 basic_machine
=t90-cray
1173 basic_machine
=$basic_machine-unknown
1177 basic_machine
=mipstx39-unknown
1180 basic_machine
=mipstx39el-unknown
1183 basic_machine
=pdp10-xkl
1187 basic_machine
=m68k-ncr
1190 basic_machine
=s390x-ibm
1194 basic_machine
=a29k-amd
1198 basic_machine
=a29k-nyu
1202 basic_machine
=v810-nec
1206 basic_machine
=vax-dec
1210 basic_machine
=vax-dec
1214 basic_machine
=f301-fujitsu
1217 basic_machine
=i960-wrs
1221 basic_machine
=m68k-wrs
1225 basic_machine
=a29k-wrs
1229 basic_machine
=w65-wdc
1233 basic_machine
=hppa1.1
-winbond
1237 basic_machine
=i686-pc
1241 basic_machine
=xps100-honeywell
1243 xscale-
* | xscalee
[bl
]-*)
1244 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1247 basic_machine
=ymp-cray
1251 basic_machine
=z8k-unknown
1255 basic_machine
=z80-unknown
1259 basic_machine
=none-none
1263 # Here we handle the default manufacturer of certain CPU types. It is in
1264 # some cases the only manufacturer, in others, it is the most popular.
1266 basic_machine
=hppa1.1
-winbond
1269 basic_machine
=hppa1.1
-oki
1272 basic_machine
=hppa1.1
-oki
1275 basic_machine
=romp-ibm
1278 basic_machine
=mmix-knuth
1281 basic_machine
=rs6000-ibm
1284 basic_machine
=vax-dec
1287 # there are many clones, so DEC is not a safe bet
1288 basic_machine
=pdp10-unknown
1291 basic_machine
=pdp11-dec
1294 basic_machine
=we32k-att
1296 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1297 basic_machine
=sh-unknown
1299 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1300 basic_machine
=sparc-sun
1303 basic_machine
=cydra-cydrome
1306 basic_machine
=orion-highlevel
1309 basic_machine
=clipper-highlevel
1311 mac | mpw | mac-mpw
)
1312 basic_machine
=m68k-apple
1315 basic_machine
=powerpc-apple
1318 # Make sure to match an already-canonicalized machine name.
1321 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1326 # Here we canonicalize certain aliases for manufacturers.
1327 case $basic_machine in
1329 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1332 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1338 # Decode manufacturer-specific aliases for certain operating systems.
1340 if [ x
"$os" != x
"" ]
1343 # First match some system type aliases
1344 # that might get confused with valid system types.
1345 # -solaris* is a basic system type, with this one exception.
1349 -solaris1 |
-solaris1.
*)
1350 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1362 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1364 # First accept the basic system types.
1365 # The portable systems comes first.
1366 # Each alternative MUST END IN A *, to match a version number.
1367 # -sysv* is not here because it comes later, after sysvr4.
1368 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1369 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1370 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1371 |
-sym* |
-kopensolaris* \
1372 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1374 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1375 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1376 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1377 |
-bitrig* |
-openbsd* |
-solidbsd* \
1378 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1379 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1380 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1381 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1382 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1383 |
-cygwin* |
-msys* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1384 |
-mingw32* |
-mingw64* |
-linux-gnu* |
-linux-android* \
1385 |
-linux-newlib* |
-linux-musl* |
-linux-uclibc* \
1386 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1387 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1388 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1389 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* |
-irx* \
1390 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1391 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1392 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1393 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1394 # Remember, each alternative MUST END IN *, to match a version number.
1397 case $basic_machine in
1408 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1410 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1411 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1412 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1415 os
=`echo $os | sed -e 's|mac|macos|'`
1421 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1424 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1427 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1474 # Preserve the version number of sinix5.
1476 os
=`echo $os | sed -e 's|sinix|sysv|'`
1499 # This must come after -sysvr4.
1511 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1531 # Get rid of the `-' at the beginning of $os.
1532 os
=`echo $os | sed 's/[^-]*-//'`
1533 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1539 # Here we handle the default operating systems that come with various machines.
1540 # The value should be what the vendor currently ships out the door with their
1541 # machine or put another way, the most popular os provided with the machine.
1543 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1544 # "-sun"), then you have to tell the case statement up towards the top
1545 # that MANUFACTURER isn't an operating system. Otherwise, code above
1546 # will signal an error saying that MANUFACTURER isn't an operating
1547 # system, and we'll never get to this point.
1549 case $basic_machine in
1580 # This must come before the *-dec entry.
1614 *-tti) # must be before sparc entry or we get the wrong os.
1647 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1701 f30
[01]-fujitsu | f700-fujitsu
)
1722 # Here we handle the case where we know the os, and the CPU type, but not the
1723 # manufacturer. We pick the logical manufacturer.
1725 case $basic_machine in
1773 -vxsim* |
-vxworks* |
-windiss*)
1785 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1792 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1796 echo $basic_machine$os
1800 # eval: (add-hook 'write-file-hooks 'time-stamp)
1801 # time-stamp-start: "timestamp='"
1802 # time-stamp-format: "%:y-%02m-%02d"
1803 # time-stamp-end: "'"