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 \
256 | d10v | d30v | dlx | dsp16xx \
257 | fido | fr30 | frv \
258 | h8300 | h8500 | hppa | hppa1.
[01] | hppa2.0 | hppa2.0
[nw
] | hppa64 \
259 | i370 | i860 | i960 | ia64 \
262 | m32c | m32r | m32rle | m68000 | m68k | m88k \
263 | maxq | mb | microblaze | mcore | mep | metag \
264 | mips | mipsbe | mipseb | mipsel | mipsle \
266 | mips64 | mips64el \
267 | mips64octeon | mips64octeonel \
268 | mips64orion | mips64orionel \
269 | mips64r5900 | mips64r5900el \
270 | mips64vr | mips64vrel \
271 | mips64vr4100 | mips64vr4100el \
272 | mips64vr4300 | mips64vr4300el \
273 | mips64vr5000 | mips64vr5000el \
274 | mips64vr5900 | mips64vr5900el \
275 | mipsisa32 | mipsisa32el \
276 | mipsisa32r2 | mipsisa32r2el \
277 | mipsisa64 | mipsisa64el \
278 | mipsisa64r2 | mipsisa64r2el \
279 | mipsisa64sb1 | mipsisa64sb1el \
280 | mipsisa64sr71k | mipsisa64sr71kel \
281 | mipstx39 | mipstx39el \
282 | mn10200 | mn10300 \
286 | nds32 | nds32le | nds32be \
290 | pdp10 | pdp11 | pj | pjl \
291 | powerpc | powerpc64 | powerpc64le | powerpcle \
295 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
297 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
300 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
304 | x86 | xc16x | xstormy16 | xtensa \
306 basic_machine
=$basic_machine-unknown
309 basic_machine
=tic54x-unknown
312 basic_machine
=tic55x-unknown
315 basic_machine
=tic6x-unknown
317 m6811 | m68hc11 | m6812 | m68hc12 | picochip
)
318 # Motorola 68HC11/12.
319 basic_machine
=$basic_machine-unknown
322 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
325 basic_machine
=mt-unknown
328 strongarm | thumb | xscale
)
329 basic_machine
=arm-unknown
333 basic_machine
=armeb-unknown
337 basic_machine
=armel-unknown
340 # We use `pc' rather than `unknown'
341 # because (1) that's what they normally are, and
342 # (2) the word "unknown" tends to confuse beginning users.
344 basic_machine
=$basic_machine-pc
346 # Object if more than one company name word.
348 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
351 # Recognize the basic CPU types with company name.
354 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
355 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
356 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
357 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
359 | bfin-
* | bs2000-
* \
360 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
361 | clipper-
* | craynv-
* | cydra-
* \
362 | d10v-
* | d30v-
* | dlx-
* \
364 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
365 | h8300-
* | h8500-
* \
366 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
367 | i
*86-* | i860-
* | i960-
* | ia64-
* \
368 | ip2k-
* | iq2000-
* \
370 | m32c-
* | m32r-
* | m32rle-
* \
371 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
372 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
373 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
375 | mips64-
* | mips64el-
* \
376 | mips64octeon-
* | mips64octeonel-
* \
377 | mips64orion-
* | mips64orionel-
* \
378 | mips64r5900-
* | mips64r5900el-
* \
379 | mips64vr-
* | mips64vrel-
* \
380 | mips64vr4100-
* | mips64vr4100el-
* \
381 | mips64vr4300-
* | mips64vr4300el-
* \
382 | mips64vr5000-
* | mips64vr5000el-
* \
383 | mips64vr5900-
* | mips64vr5900el-
* \
384 | mipsisa32-
* | mipsisa32el-
* \
385 | mipsisa32r2-
* | mipsisa32r2el-
* \
386 | mipsisa64-
* | mipsisa64el-
* \
387 | mipsisa64r2-
* | mipsisa64r2el-
* \
388 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
389 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
390 | mipstx39-
* | mipstx39el-
* \
394 | nds32-
* | nds32le-
* | nds32be-
* \
396 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
398 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
399 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
401 | romp-
* | rs6000-
* | rx-
* \
402 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
403 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
404 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
406 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
408 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
409 | tile-
* | tilegx-
* \
412 | v850-
* | v850e-
* | vax-
* \
414 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
415 | xstormy16-
* | xtensa
*-* \
419 # Recognize the basic CPU types without company name, with glob match.
421 basic_machine
=$basic_machine-unknown
423 # Recognize the various machine names and aliases which stand
424 # for a CPU type and a company and sometimes even an OS.
426 basic_machine
=i386-unknown
429 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
430 basic_machine
=m68000-att
433 basic_machine
=we32k-att
436 basic_machine
=a29k-amd
440 basic_machine
=abacus-unknown
443 basic_machine
=m68010-adobe
447 basic_machine
=fx80-alliant
450 basic_machine
=m68k-altos
453 basic_machine
=a29k-none
457 basic_machine
=x86_64-pc
460 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
463 basic_machine
=580-amdahl
467 basic_machine
=m68k-unknown
470 basic_machine
=m68k-unknown
474 basic_machine
=m68k-unknown
478 basic_machine
=m68k-apollo
482 basic_machine
=m68k-apollo
486 basic_machine
=i386-pc
490 basic_machine
=m68k-apple
494 basic_machine
=ns32k-sequent
498 basic_machine
=bfin-unknown
502 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
506 basic_machine
=powerpc-ibm
510 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
513 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
516 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
519 basic_machine
=c90-cray
523 basic_machine
=arm-unknown
527 basic_machine
=c1-convex
531 basic_machine
=c2-convex
535 basic_machine
=c32-convex
539 basic_machine
=c34-convex
543 basic_machine
=c38-convex
547 basic_machine
=j90-cray
551 basic_machine
=craynv-cray
555 basic_machine
=cr16-unknown
559 basic_machine
=m68k-crds
561 crisv32 | crisv32-
* | etraxfs
*)
562 basic_machine
=crisv32-axis
564 cris | cris-
* | etrax
*)
565 basic_machine
=cris-axis
568 basic_machine
=crx-unknown
572 basic_machine
=m68k-da30
574 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
575 basic_machine
=mips-dec
577 decsystem10
* | dec10
*)
578 basic_machine
=pdp10-dec
581 decsystem20
* | dec20
*)
582 basic_machine
=pdp10-dec
585 delta |
3300 | motorola-3300 | motorola-delta \
586 |
3300-motorola | delta-motorola
)
587 basic_machine
=m68k-motorola
590 basic_machine
=m88k-motorola
594 basic_machine
=i686-pc
598 basic_machine
=i586-pc
602 basic_machine
=rs6000-bull
606 basic_machine
=m68k-bull
610 basic_machine
=a29k-amd
614 basic_machine
=elxsi-elxsi
617 encore | umax | mmax
)
618 basic_machine
=ns32k-encore
620 es1800 | OSE68k | ose68k | ose | OSE
)
621 basic_machine
=m68k-ericsson
625 basic_machine
=i860-alliant
628 basic_machine
=ns32k-ns
631 basic_machine
=tron-gmicro
635 basic_machine
=i386-pc
639 basic_machine
=hppa1.1
-hitachi
643 basic_machine
=h8300-hitachi
647 basic_machine
=h8300-hitachi
651 basic_machine
=h8500-hitachi
655 basic_machine
=m88k-harris
659 basic_machine
=m68k-hp
662 basic_machine
=m68k-hp
666 basic_machine
=m68k-hp
669 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
670 basic_machine
=hppa1.0
-hp
672 hp9k2
[0-9][0-9] | hp9k31
[0-9])
673 basic_machine
=m68000-hp
676 basic_machine
=m68k-hp
678 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
679 basic_machine
=hppa1.0
-hp
681 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
682 basic_machine
=hppa1.1
-hp
684 hp9k78
[0-9] | hp78
[0-9])
685 # FIXME: really hppa2.0-hp
686 basic_machine
=hppa1.1
-hp
688 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
689 # FIXME: really hppa2.0-hp
690 basic_machine
=hppa1.1
-hp
692 hp9k8
[0-9][13679] | hp8
[0-9][13679])
693 basic_machine
=hppa1.1
-hp
695 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
696 basic_machine
=hppa1.0
-hp
702 basic_machine
=hppa1.1
-hp
706 basic_machine
=hppa1.1
-hp
710 basic_machine
=i370-ibm
712 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
714 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
718 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
722 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
726 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
730 basic_machine
=i386-mach
734 basic_machine
=i386-unknown
738 basic_machine
=mips-sgi
748 basic_machine
=m68k-isi
752 basic_machine
=m68k-unknown
756 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
760 basic_machine
=m88k-omron
763 basic_machine
=mips-mips
767 basic_machine
=ns32k-utek
771 basic_machine
=microblaze-xilinx
774 basic_machine
=i386-pc
778 basic_machine
=arm-unknown
782 basic_machine
=m68000-convergent
784 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
785 basic_machine
=m68k-atari
789 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
792 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
795 basic_machine
=m68k-rom68k
799 basic_machine
=powerpc-unknown
803 basic_machine
=i386-pc
807 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
810 basic_machine
=i370-ibm
814 basic_machine
=i486-ncr
818 basic_machine
=i386-unknown
822 basic_machine
=armv4l-rebel
825 news | news700 | news800 | news900
)
826 basic_machine
=m68k-sony
830 basic_machine
=m68030-sony
833 news-3600 | risc-news
)
834 basic_machine
=mips-sony
838 basic_machine
=v70-nec
842 basic_machine
=m68k-next
855 basic_machine
=m68k-harris
859 basic_machine
=m88k-harris
863 basic_machine
=i960-intel
867 basic_machine
=i960-intel
871 basic_machine
=mips-compaq
875 basic_machine
=np1-gould
878 basic_machine
=neo-tandem
881 basic_machine
=nse-tandem
884 basic_machine
=nsr-tandem
887 basic_machine
=hppa1.1
-oki
890 openrisc | openrisc-
*)
891 basic_machine
=or32-unknown
894 basic_machine
=powerpc-ibm
898 basic_machine
=m68000-ericsson
902 basic_machine
=m68k-none
906 basic_machine
=hppa1.1
-hitachi
910 basic_machine
=i860-intel
914 basic_machine
=hppa-unknown
918 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
922 basic_machine
=sparc-tti
925 basic_machine
=m68k-tti
928 basic_machine
=ns32k-pc532
931 basic_machine
=i386-pc
934 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
936 pentium | p5 | k5 | k6 | nexgen | viac3
)
937 basic_machine
=i586-pc
939 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
940 basic_machine
=i686-pc
942 pentiumii | pentium2 | pentiumiii | pentium3
)
943 basic_machine
=i686-pc
946 basic_machine
=i786-pc
948 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
949 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
951 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
952 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
954 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
955 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
958 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
961 basic_machine
=pn-gould
963 power
) basic_machine
=power-ibm
965 ppc | ppcbe
) basic_machine
=powerpc-unknown
968 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
970 ppcle | powerpclittle | ppc-le | powerpc-little
)
971 basic_machine
=powerpcle-unknown
973 ppcle-
* | powerpclittle-
*)
974 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
976 ppc64
) basic_machine
=powerpc64-unknown
978 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
980 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
981 basic_machine
=powerpc64le-unknown
983 ppc64le-
* | powerpc64little-
*)
984 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
987 basic_machine
=i386-ibm
990 basic_machine
=i586-unknown
994 basic_machine
=i386-pc
998 basic_machine
=m68k-rom68k
1002 basic_machine
=mips-siemens
1005 basic_machine
=romp-ibm
1008 basic_machine
=s390-ibm
1011 basic_machine
=s390x-ibm
1014 basic_machine
=a29k-amd
1018 basic_machine
=mipsisa64sb1-unknown
1021 basic_machine
=mipsisa64sb1el-unknown
1024 basic_machine
=mipsisa32-sde
1028 basic_machine
=mips-sei
1032 basic_machine
=i386-sequent
1035 basic_machine
=sh-hitachi
1039 basic_machine
=sh5le-unknown
1042 basic_machine
=sh64-unknown
1044 sparclite-wrs | simso-wrs
)
1045 basic_machine
=sparclite-wrs
1049 basic_machine
=m68k-bull
1053 basic_machine
=spur-unknown
1056 basic_machine
=m68k-tandem
1059 basic_machine
=i860-stratus
1062 strongarm-
* | thumb-
*)
1063 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1066 basic_machine
=m68000-sun
1069 basic_machine
=m68000-sun
1073 basic_machine
=m68000-sun
1077 basic_machine
=m68k-sun
1081 basic_machine
=m68k-sun
1085 basic_machine
=sparc-sun
1089 basic_machine
=sparc-sun
1093 basic_machine
=sparc-sun
1097 basic_machine
=m68k-sun
1100 basic_machine
=sparc-sun
1102 sun386 | sun386i | roadrunner
)
1103 basic_machine
=i386-sun
1106 basic_machine
=sv1-cray
1110 basic_machine
=i386-sequent
1114 basic_machine
=alphaev5-cray
1118 basic_machine
=t90-cray
1121 # This must be matched before tile*.
1123 basic_machine
=tilegx-unknown
1127 basic_machine
=tile-unknown
1131 basic_machine
=mipstx39-unknown
1134 basic_machine
=mipstx39el-unknown
1137 basic_machine
=pdp10-xkl
1141 basic_machine
=m68k-ncr
1144 basic_machine
=s390x-ibm
1148 basic_machine
=a29k-amd
1152 basic_machine
=a29k-nyu
1156 basic_machine
=v810-nec
1160 basic_machine
=vax-dec
1164 basic_machine
=vax-dec
1168 basic_machine
=f301-fujitsu
1171 basic_machine
=i960-wrs
1175 basic_machine
=m68k-wrs
1179 basic_machine
=a29k-wrs
1183 basic_machine
=w65-wdc
1187 basic_machine
=hppa1.1
-winbond
1191 basic_machine
=i686-pc
1195 basic_machine
=xps100-honeywell
1197 xscale-
* | xscalee
[bl
]-*)
1198 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1201 basic_machine
=ymp-cray
1205 basic_machine
=z8k-unknown
1209 basic_machine
=z80-unknown
1213 basic_machine
=none-none
1217 # Here we handle the default manufacturer of certain CPU types. It is in
1218 # some cases the only manufacturer, in others, it is the most popular.
1220 basic_machine
=hppa1.1
-winbond
1223 basic_machine
=hppa1.1
-oki
1226 basic_machine
=hppa1.1
-oki
1229 basic_machine
=romp-ibm
1232 basic_machine
=mmix-knuth
1235 basic_machine
=rs6000-ibm
1238 basic_machine
=vax-dec
1241 # there are many clones, so DEC is not a safe bet
1242 basic_machine
=pdp10-unknown
1245 basic_machine
=pdp11-dec
1248 basic_machine
=we32k-att
1250 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1251 basic_machine
=sh-unknown
1253 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1254 basic_machine
=sparc-sun
1257 basic_machine
=cydra-cydrome
1260 basic_machine
=orion-highlevel
1263 basic_machine
=clipper-highlevel
1265 mac | mpw | mac-mpw
)
1266 basic_machine
=m68k-apple
1269 basic_machine
=powerpc-apple
1272 # Make sure to match an already-canonicalized machine name.
1275 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1280 # Here we canonicalize certain aliases for manufacturers.
1281 case $basic_machine in
1283 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1286 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1292 # Decode manufacturer-specific aliases for certain operating systems.
1294 if [ x
"$os" != x
"" ]
1297 # First match some system type aliases
1298 # that might get confused with valid system types.
1299 # -solaris* is a basic system type, with this one exception.
1303 -solaris1 |
-solaris1.
*)
1304 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1316 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1318 # First accept the basic system types.
1319 # The portable systems comes first.
1320 # Each alternative MUST END IN A *, to match a version number.
1321 # -sysv* is not here because it comes later, after sysvr4.
1322 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1323 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1324 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1325 |
-sym* |
-kopensolaris* \
1326 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1328 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1329 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1330 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1331 |
-openbsd* |
-solidbsd* \
1332 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1333 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1334 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1335 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1336 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1337 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1338 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1339 |
-linux-newlib* |
-linux-uclibc* \
1340 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1341 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1342 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1343 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1344 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1345 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1346 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1347 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1348 # Remember, each alternative MUST END IN *, to match a version number.
1351 case $basic_machine in
1362 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1364 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1365 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1366 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1369 os
=`echo $os | sed -e 's|mac|macos|'`
1375 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1378 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1381 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1428 # Preserve the version number of sinix5.
1430 os
=`echo $os | sed -e 's|sinix|sysv|'`
1453 # This must come after -sysvr4.
1465 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1485 # Get rid of the `-' at the beginning of $os.
1486 os
=`echo $os | sed 's/[^-]*-//'`
1487 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1493 # Here we handle the default operating systems that come with various machines.
1494 # The value should be what the vendor currently ships out the door with their
1495 # machine or put another way, the most popular os provided with the machine.
1497 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1498 # "-sun"), then you have to tell the case statement up towards the top
1499 # that MANUFACTURER isn't an operating system. Otherwise, code above
1500 # will signal an error saying that MANUFACTURER isn't an operating
1501 # system, and we'll never get to this point.
1503 case $basic_machine in
1531 # This must come before the *-dec entry.
1549 # This also exists in the configure program, but was not the
1568 *-tti) # must be before sparc entry or we get the wrong os.
1601 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1655 f30
[01]-fujitsu | f700-fujitsu
)
1676 # Here we handle the case where we know the os, and the CPU type, but not the
1677 # manufacturer. We pick the logical manufacturer.
1679 case $basic_machine in
1727 -vxsim* |
-vxworks* |
-windiss*)
1739 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1746 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1750 echo $basic_machine$os
1754 # eval: (add-hook 'write-file-hooks 'time-stamp)
1755 # time-stamp-start: "timestamp='"
1756 # time-stamp-format: "%:y-%02m-%02d"
1757 # time-stamp-end: "'"