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 \
266 | m32c | m32r | m32rle | m68000 | m68k | m88k \
267 | maxq | mb | microblaze | mcore | mep | metag \
268 | mips | mipsbe | mipseb | mipsel | mipsle \
270 | mips64 | mips64el \
271 | mips64octeon | mips64octeonel \
272 | mips64orion | mips64orionel \
273 | mips64r5900 | mips64r5900el \
274 | mips64vr | mips64vrel \
275 | mips64vr4100 | mips64vr4100el \
276 | mips64vr4300 | mips64vr4300el \
277 | mips64vr5000 | mips64vr5000el \
278 | mips64vr5900 | mips64vr5900el \
279 | mipsisa32 | mipsisa32el \
280 | mipsisa32r2 | mipsisa32r2el \
281 | mipsisa64 | mipsisa64el \
282 | mipsisa64r2 | mipsisa64r2el \
283 | mipsisa64sb1 | mipsisa64sb1el \
284 | mipsisa64sr71k | mipsisa64sr71kel \
285 | mipstx39 | mipstx39el \
286 | mn10200 | mn10300 \
290 | nds32 | nds32le | nds32be \
295 | pdp10 | pdp11 | pj | pjl \
296 | powerpc | powerpc64 | powerpc64le | powerpcle \
300 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
302 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
305 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
307 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
309 | x86 | xc16x | xstormy16 | xtensa \
311 basic_machine
=$basic_machine-unknown
314 basic_machine
=tic54x-unknown
317 basic_machine
=tic55x-unknown
320 basic_machine
=tic6x-unknown
322 m6811 | m68hc11 | m6812 | m68hc12 | picochip
)
323 # Motorola 68HC11/12.
324 basic_machine
=$basic_machine-unknown
327 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
330 basic_machine
=mt-unknown
333 strongarm | thumb | xscale
)
334 basic_machine
=arm-unknown
338 basic_machine
=armeb-unknown
342 basic_machine
=armel-unknown
345 # We use `pc' rather than `unknown'
346 # because (1) that's what they normally are, and
347 # (2) the word "unknown" tends to confuse beginning users.
349 basic_machine
=$basic_machine-pc
351 # Object if more than one company name word.
353 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
356 # Recognize the basic CPU types with company name.
359 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
360 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
361 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
362 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
365 | bfin-
* | bs2000-
* \
366 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
367 | clipper-
* | craynv-
* | cydra-
* \
368 | d10v-
* | d30v-
* | dlx-
* \
370 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
371 | h8300-
* | h8500-
* \
372 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
374 | i
*86-* | i860-
* | i960-
* | ia64-
* \
375 | ip2k-
* | iq2000-
* \
378 | m32c-
* | m32r-
* | m32rle-
* \
379 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
380 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
381 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
383 | mips64-
* | mips64el-
* \
384 | mips64octeon-
* | mips64octeonel-
* \
385 | mips64orion-
* | mips64orionel-
* \
386 | mips64r5900-
* | mips64r5900el-
* \
387 | mips64vr-
* | mips64vrel-
* \
388 | mips64vr4100-
* | mips64vr4100el-
* \
389 | mips64vr4300-
* | mips64vr4300el-
* \
390 | mips64vr5000-
* | mips64vr5000el-
* \
391 | mips64vr5900-
* | mips64vr5900el-
* \
392 | mipsisa32-
* | mipsisa32el-
* \
393 | mipsisa32r2-
* | mipsisa32r2el-
* \
394 | mipsisa64-
* | mipsisa64el-
* \
395 | mipsisa64r2-
* | mipsisa64r2el-
* \
396 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
397 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
398 | mipstx39-
* | mipstx39el-
* \
402 | nds32-
* | nds32le-
* | nds32be-
* \
404 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
407 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
408 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
410 | rl78-
* | romp-
* | rs6000-
* | rx-
* \
411 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
412 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
413 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
415 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
417 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
421 | v850-
* | v850e-
* | v850e1-
* | v850es-
* | v850e2-
* | v850e2v3-
* \
424 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
425 | xstormy16-
* | xtensa
*-* \
429 # Recognize the basic CPU types without company name, with glob match.
431 basic_machine
=$basic_machine-unknown
433 # Recognize the various machine names and aliases which stand
434 # for a CPU type and a company and sometimes even an OS.
436 basic_machine
=i386-unknown
439 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
440 basic_machine
=m68000-att
443 basic_machine
=we32k-att
446 basic_machine
=a29k-amd
450 basic_machine
=abacus-unknown
453 basic_machine
=m68010-adobe
457 basic_machine
=fx80-alliant
460 basic_machine
=m68k-altos
463 basic_machine
=a29k-none
467 basic_machine
=x86_64-pc
470 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
473 basic_machine
=580-amdahl
477 basic_machine
=m68k-unknown
480 basic_machine
=m68k-unknown
484 basic_machine
=m68k-unknown
488 basic_machine
=m68k-apollo
492 basic_machine
=m68k-apollo
496 basic_machine
=i386-pc
500 basic_machine
=m68k-apple
504 basic_machine
=ns32k-sequent
508 basic_machine
=bfin-unknown
512 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
516 basic_machine
=powerpc-ibm
520 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
523 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
526 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
529 basic_machine
=c90-cray
533 basic_machine
=arm-unknown
537 basic_machine
=c1-convex
541 basic_machine
=c2-convex
545 basic_machine
=c32-convex
549 basic_machine
=c34-convex
553 basic_machine
=c38-convex
557 basic_machine
=j90-cray
561 basic_machine
=craynv-cray
565 basic_machine
=cr16-unknown
569 basic_machine
=m68k-crds
571 crisv32 | crisv32-
* | etraxfs
*)
572 basic_machine
=crisv32-axis
574 cris | cris-
* | etrax
*)
575 basic_machine
=cris-axis
578 basic_machine
=crx-unknown
582 basic_machine
=m68k-da30
584 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
585 basic_machine
=mips-dec
587 decsystem10
* | dec10
*)
588 basic_machine
=pdp10-dec
591 decsystem20
* | dec20
*)
592 basic_machine
=pdp10-dec
595 delta |
3300 | motorola-3300 | motorola-delta \
596 |
3300-motorola | delta-motorola
)
597 basic_machine
=m68k-motorola
600 basic_machine
=m88k-motorola
604 basic_machine
=i686-pc
608 basic_machine
=i586-pc
612 basic_machine
=rs6000-bull
616 basic_machine
=m68k-bull
620 basic_machine
=a29k-amd
624 basic_machine
=elxsi-elxsi
627 encore | umax | mmax
)
628 basic_machine
=ns32k-encore
630 es1800 | OSE68k | ose68k | ose | OSE
)
631 basic_machine
=m68k-ericsson
635 basic_machine
=i860-alliant
638 basic_machine
=ns32k-ns
641 basic_machine
=tron-gmicro
645 basic_machine
=i386-pc
649 basic_machine
=hppa1.1
-hitachi
653 basic_machine
=h8300-hitachi
657 basic_machine
=h8300-hitachi
661 basic_machine
=h8500-hitachi
665 basic_machine
=m88k-harris
669 basic_machine
=m68k-hp
672 basic_machine
=m68k-hp
676 basic_machine
=m68k-hp
679 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
680 basic_machine
=hppa1.0
-hp
682 hp9k2
[0-9][0-9] | hp9k31
[0-9])
683 basic_machine
=m68000-hp
686 basic_machine
=m68k-hp
688 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
689 basic_machine
=hppa1.0
-hp
691 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
692 basic_machine
=hppa1.1
-hp
694 hp9k78
[0-9] | hp78
[0-9])
695 # FIXME: really hppa2.0-hp
696 basic_machine
=hppa1.1
-hp
698 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
699 # FIXME: really hppa2.0-hp
700 basic_machine
=hppa1.1
-hp
702 hp9k8
[0-9][13679] | hp8
[0-9][13679])
703 basic_machine
=hppa1.1
-hp
705 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
706 basic_machine
=hppa1.0
-hp
712 basic_machine
=hppa1.1
-hp
716 basic_machine
=hppa1.1
-hp
720 basic_machine
=i370-ibm
722 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
724 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
728 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
732 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
736 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
740 basic_machine
=i386-mach
744 basic_machine
=i386-unknown
748 basic_machine
=mips-sgi
758 basic_machine
=m68k-isi
762 basic_machine
=m68k-unknown
766 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
770 basic_machine
=m88k-omron
773 basic_machine
=mips-mips
777 basic_machine
=ns32k-utek
781 basic_machine
=microblaze-xilinx
784 basic_machine
=i386-pc
788 basic_machine
=arm-unknown
792 basic_machine
=m68000-convergent
794 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
795 basic_machine
=m68k-atari
799 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
802 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
805 basic_machine
=m68k-rom68k
809 basic_machine
=powerpc-unknown
813 basic_machine
=i386-pc
817 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
820 basic_machine
=i370-ibm
824 basic_machine
=le32-unknown
828 basic_machine
=i486-ncr
832 basic_machine
=i386-unknown
836 basic_machine
=armv4l-rebel
839 news | news700 | news800 | news900
)
840 basic_machine
=m68k-sony
844 basic_machine
=m68030-sony
847 news-3600 | risc-news
)
848 basic_machine
=mips-sony
852 basic_machine
=v70-nec
856 basic_machine
=m68k-next
869 basic_machine
=m68k-harris
873 basic_machine
=m88k-harris
877 basic_machine
=i960-intel
881 basic_machine
=i960-intel
885 basic_machine
=mips-compaq
889 basic_machine
=np1-gould
892 basic_machine
=neo-tandem
895 basic_machine
=nse-tandem
898 basic_machine
=nsr-tandem
901 basic_machine
=hppa1.1
-oki
904 openrisc | openrisc-
*)
905 basic_machine
=or32-unknown
908 basic_machine
=powerpc-ibm
912 basic_machine
=m68000-ericsson
916 basic_machine
=m68k-none
920 basic_machine
=hppa1.1
-hitachi
924 basic_machine
=i860-intel
928 basic_machine
=hppa-unknown
932 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
936 basic_machine
=sparc-tti
939 basic_machine
=m68k-tti
942 basic_machine
=ns32k-pc532
945 basic_machine
=i386-pc
948 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
950 pentium | p5 | k5 | k6 | nexgen | viac3
)
951 basic_machine
=i586-pc
953 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
954 basic_machine
=i686-pc
956 pentiumii | pentium2 | pentiumiii | pentium3
)
957 basic_machine
=i686-pc
960 basic_machine
=i786-pc
962 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
963 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
965 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
966 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
968 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
969 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
972 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
975 basic_machine
=pn-gould
977 power
) basic_machine
=power-ibm
979 ppc | ppcbe
) basic_machine
=powerpc-unknown
982 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
984 ppcle | powerpclittle | ppc-le | powerpc-little
)
985 basic_machine
=powerpcle-unknown
987 ppcle-
* | powerpclittle-
*)
988 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
990 ppc64
) basic_machine
=powerpc64-unknown
992 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
994 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
995 basic_machine
=powerpc64le-unknown
997 ppc64le-
* | powerpc64little-
*)
998 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
1001 basic_machine
=i386-ibm
1004 basic_machine
=i586-unknown
1008 basic_machine
=i386-pc
1012 basic_machine
=m68k-rom68k
1016 basic_machine
=mips-siemens
1019 basic_machine
=romp-ibm
1022 basic_machine
=s390-ibm
1025 basic_machine
=s390x-ibm
1028 basic_machine
=a29k-amd
1032 basic_machine
=mipsisa64sb1-unknown
1035 basic_machine
=mipsisa64sb1el-unknown
1038 basic_machine
=mipsisa32-sde
1042 basic_machine
=mips-sei
1046 basic_machine
=i386-sequent
1049 basic_machine
=sh-hitachi
1053 basic_machine
=sh5le-unknown
1056 basic_machine
=sh64-unknown
1058 sparclite-wrs | simso-wrs
)
1059 basic_machine
=sparclite-wrs
1063 basic_machine
=m68k-bull
1067 basic_machine
=spur-unknown
1070 basic_machine
=m68k-tandem
1073 basic_machine
=i860-stratus
1076 strongarm-
* | thumb-
*)
1077 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1080 basic_machine
=m68000-sun
1083 basic_machine
=m68000-sun
1087 basic_machine
=m68000-sun
1091 basic_machine
=m68k-sun
1095 basic_machine
=m68k-sun
1099 basic_machine
=sparc-sun
1103 basic_machine
=sparc-sun
1107 basic_machine
=sparc-sun
1111 basic_machine
=m68k-sun
1114 basic_machine
=sparc-sun
1116 sun386 | sun386i | roadrunner
)
1117 basic_machine
=i386-sun
1120 basic_machine
=sv1-cray
1124 basic_machine
=i386-sequent
1128 basic_machine
=alphaev5-cray
1132 basic_machine
=t90-cray
1136 basic_machine
=$basic_machine-unknown
1140 basic_machine
=mipstx39-unknown
1143 basic_machine
=mipstx39el-unknown
1146 basic_machine
=pdp10-xkl
1150 basic_machine
=m68k-ncr
1153 basic_machine
=s390x-ibm
1157 basic_machine
=a29k-amd
1161 basic_machine
=a29k-nyu
1165 basic_machine
=v810-nec
1169 basic_machine
=vax-dec
1173 basic_machine
=vax-dec
1177 basic_machine
=f301-fujitsu
1180 basic_machine
=i960-wrs
1184 basic_machine
=m68k-wrs
1188 basic_machine
=a29k-wrs
1192 basic_machine
=w65-wdc
1196 basic_machine
=hppa1.1
-winbond
1200 basic_machine
=i686-pc
1204 basic_machine
=xps100-honeywell
1206 xscale-
* | xscalee
[bl
]-*)
1207 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1210 basic_machine
=ymp-cray
1214 basic_machine
=z8k-unknown
1218 basic_machine
=z80-unknown
1222 basic_machine
=none-none
1226 # Here we handle the default manufacturer of certain CPU types. It is in
1227 # some cases the only manufacturer, in others, it is the most popular.
1229 basic_machine
=hppa1.1
-winbond
1232 basic_machine
=hppa1.1
-oki
1235 basic_machine
=hppa1.1
-oki
1238 basic_machine
=romp-ibm
1241 basic_machine
=mmix-knuth
1244 basic_machine
=rs6000-ibm
1247 basic_machine
=vax-dec
1250 # there are many clones, so DEC is not a safe bet
1251 basic_machine
=pdp10-unknown
1254 basic_machine
=pdp11-dec
1257 basic_machine
=we32k-att
1259 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1260 basic_machine
=sh-unknown
1262 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1263 basic_machine
=sparc-sun
1266 basic_machine
=cydra-cydrome
1269 basic_machine
=orion-highlevel
1272 basic_machine
=clipper-highlevel
1274 mac | mpw | mac-mpw
)
1275 basic_machine
=m68k-apple
1278 basic_machine
=powerpc-apple
1281 # Make sure to match an already-canonicalized machine name.
1284 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1289 # Here we canonicalize certain aliases for manufacturers.
1290 case $basic_machine in
1292 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1295 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1301 # Decode manufacturer-specific aliases for certain operating systems.
1303 if [ x
"$os" != x
"" ]
1306 # First match some system type aliases
1307 # that might get confused with valid system types.
1308 # -solaris* is a basic system type, with this one exception.
1312 -solaris1 |
-solaris1.
*)
1313 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1325 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1327 # First accept the basic system types.
1328 # The portable systems comes first.
1329 # Each alternative MUST END IN A *, to match a version number.
1330 # -sysv* is not here because it comes later, after sysvr4.
1331 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1332 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1333 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1334 |
-sym* |
-kopensolaris* \
1335 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1337 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1338 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1339 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1340 |
-openbsd* |
-solidbsd* \
1341 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1342 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1343 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1344 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1345 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1346 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1347 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1348 |
-linux-newlib* |
-linux-uclibc* \
1349 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1350 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1351 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1352 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1353 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1354 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1355 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1356 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1357 # Remember, each alternative MUST END IN *, to match a version number.
1360 case $basic_machine in
1371 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1373 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1374 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1375 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1378 os
=`echo $os | sed -e 's|mac|macos|'`
1384 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1387 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1390 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1437 # Preserve the version number of sinix5.
1439 os
=`echo $os | sed -e 's|sinix|sysv|'`
1462 # This must come after -sysvr4.
1474 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1494 # Get rid of the `-' at the beginning of $os.
1495 os
=`echo $os | sed 's/[^-]*-//'`
1496 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1502 # Here we handle the default operating systems that come with various machines.
1503 # The value should be what the vendor currently ships out the door with their
1504 # machine or put another way, the most popular os provided with the machine.
1506 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1507 # "-sun"), then you have to tell the case statement up towards the top
1508 # that MANUFACTURER isn't an operating system. Otherwise, code above
1509 # will signal an error saying that MANUFACTURER isn't an operating
1510 # system, and we'll never get to this point.
1512 case $basic_machine in
1540 # This must come before the *-dec entry.
1558 # This also exists in the configure program, but was not the
1577 *-tti) # must be before sparc entry or we get the wrong os.
1610 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1664 f30
[01]-fujitsu | f700-fujitsu
)
1685 # Here we handle the case where we know the os, and the CPU type, but not the
1686 # manufacturer. We pick the logical manufacturer.
1688 case $basic_machine in
1736 -vxsim* |
-vxworks* |
-windiss*)
1748 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1755 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1759 echo $basic_machine$os
1763 # eval: (add-hook 'write-file-hooks 'time-stamp)
1764 # time-stamp-start: "timestamp='"
1765 # time-stamp-format: "%:y-%02m-%02d"
1766 # time-stamp-end: "'"