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
80 Free 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 \
291 | pdp10 | pdp11 | pj | pjl \
292 | powerpc | powerpc64 | powerpc64le | powerpcle \
296 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
298 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
299 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
301 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
305 | x86 | xc16x | xstormy16 | xtensa \
307 basic_machine
=$basic_machine-unknown
310 basic_machine
=tic54x-unknown
313 basic_machine
=tic55x-unknown
316 basic_machine
=tic6x-unknown
318 m6811 | m68hc11 | m6812 | m68hc12 | picochip
)
319 # Motorola 68HC11/12.
320 basic_machine
=$basic_machine-unknown
323 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
326 basic_machine
=mt-unknown
328 strongarm | thumb | xscale
)
329 basic_machine
=arm-unknown
332 basic_machine
=armeb-unknown
335 basic_machine
=armel-unknown
337 # We use `pc' rather than `unknown'
338 # because (1) that's what they normally are, and
339 # (2) the word "unknown" tends to confuse beginning users.
341 basic_machine
=$basic_machine-pc
343 # Object if more than one company name word.
345 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
348 # Recognize the basic CPU types with company name.
351 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
352 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
353 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
354 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
356 | bfin-
* | bs2000-
* \
357 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
358 | clipper-
* | craynv-
* | cydra-
* \
359 | d10v-
* | d30v-
* | dlx-
* \
361 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
362 | h8300-
* | h8500-
* \
363 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
364 | i
*86-* | i860-
* | i960-
* | ia64-
* \
365 | ip2k-
* | iq2000-
* \
367 | m32c-
* | m32r-
* | m32rle-
* \
368 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
369 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
370 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
372 | mips64-
* | mips64el-
* \
373 | mips64octeon-
* | mips64octeonel-
* \
374 | mips64orion-
* | mips64orionel-
* \
375 | mips64r5900-
* | mips64r5900el-
* \
376 | mips64vr-
* | mips64vrel-
* \
377 | mips64vr4100-
* | mips64vr4100el-
* \
378 | mips64vr4300-
* | mips64vr4300el-
* \
379 | mips64vr5000-
* | mips64vr5000el-
* \
380 | mips64vr5900-
* | mips64vr5900el-
* \
381 | mipsisa32-
* | mipsisa32el-
* \
382 | mipsisa32r2-
* | mipsisa32r2el-
* \
383 | mipsisa64-
* | mipsisa64el-
* \
384 | mipsisa64r2-
* | mipsisa64r2el-
* \
385 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
386 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
387 | mipstx39-
* | mipstx39el-
* \
391 | nds32-
* | nds32le-
* | nds32be-
* \
393 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
396 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
397 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
399 | romp-
* | rs6000-
* | rx-
* \
400 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
401 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
402 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
404 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
406 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
407 | tile-
* | tilegx-
* \
410 | v850-
* | v850e-
* | vax-
* \
412 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
413 | xstormy16-
* | xtensa
*-* \
417 # Recognize the basic CPU types without company name, with glob match.
419 basic_machine
=$basic_machine-unknown
421 # Recognize the various machine names and aliases which stand
422 # for a CPU type and a company and sometimes even an OS.
424 basic_machine
=i386-unknown
427 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
428 basic_machine
=m68000-att
431 basic_machine
=we32k-att
434 basic_machine
=a29k-amd
438 basic_machine
=abacus-unknown
441 basic_machine
=m68010-adobe
445 basic_machine
=fx80-alliant
448 basic_machine
=m68k-altos
451 basic_machine
=a29k-none
455 basic_machine
=x86_64-pc
458 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
461 basic_machine
=580-amdahl
465 basic_machine
=m68k-unknown
468 basic_machine
=m68k-unknown
472 basic_machine
=m68k-unknown
476 basic_machine
=m68k-apollo
480 basic_machine
=m68k-apollo
484 basic_machine
=i386-pc
488 basic_machine
=m68k-apple
492 basic_machine
=ns32k-sequent
496 basic_machine
=bfin-unknown
500 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
504 basic_machine
=powerpc-ibm
508 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
511 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
514 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
517 basic_machine
=c90-cray
521 basic_machine
=arm-unknown
525 basic_machine
=c1-convex
529 basic_machine
=c2-convex
533 basic_machine
=c32-convex
537 basic_machine
=c34-convex
541 basic_machine
=c38-convex
545 basic_machine
=j90-cray
549 basic_machine
=craynv-cray
553 basic_machine
=cr16-unknown
557 basic_machine
=m68k-crds
559 crisv32 | crisv32-
* | etraxfs
*)
560 basic_machine
=crisv32-axis
562 cris | cris-
* | etrax
*)
563 basic_machine
=cris-axis
566 basic_machine
=crx-unknown
570 basic_machine
=m68k-da30
572 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
573 basic_machine
=mips-dec
575 decsystem10
* | dec10
*)
576 basic_machine
=pdp10-dec
579 decsystem20
* | dec20
*)
580 basic_machine
=pdp10-dec
583 delta |
3300 | motorola-3300 | motorola-delta \
584 |
3300-motorola | delta-motorola
)
585 basic_machine
=m68k-motorola
588 basic_machine
=m88k-motorola
592 basic_machine
=i686-pc
596 basic_machine
=i586-pc
600 basic_machine
=rs6000-bull
604 basic_machine
=m68k-bull
608 basic_machine
=a29k-amd
612 basic_machine
=elxsi-elxsi
615 encore | umax | mmax
)
616 basic_machine
=ns32k-encore
618 es1800 | OSE68k | ose68k | ose | OSE
)
619 basic_machine
=m68k-ericsson
623 basic_machine
=i860-alliant
626 basic_machine
=ns32k-ns
629 basic_machine
=tron-gmicro
633 basic_machine
=i386-pc
637 basic_machine
=hppa1.1
-hitachi
641 basic_machine
=h8300-hitachi
645 basic_machine
=h8300-hitachi
649 basic_machine
=h8500-hitachi
653 basic_machine
=m88k-harris
657 basic_machine
=m68k-hp
660 basic_machine
=m68k-hp
664 basic_machine
=m68k-hp
667 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
668 basic_machine
=hppa1.0
-hp
670 hp9k2
[0-9][0-9] | hp9k31
[0-9])
671 basic_machine
=m68000-hp
674 basic_machine
=m68k-hp
676 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
677 basic_machine
=hppa1.0
-hp
679 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
680 basic_machine
=hppa1.1
-hp
682 hp9k78
[0-9] | hp78
[0-9])
683 # FIXME: really hppa2.0-hp
684 basic_machine
=hppa1.1
-hp
686 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
687 # FIXME: really hppa2.0-hp
688 basic_machine
=hppa1.1
-hp
690 hp9k8
[0-9][13679] | hp8
[0-9][13679])
691 basic_machine
=hppa1.1
-hp
693 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
694 basic_machine
=hppa1.0
-hp
700 basic_machine
=hppa1.1
-hp
704 basic_machine
=hppa1.1
-hp
708 basic_machine
=i370-ibm
710 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
712 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
716 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
720 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
724 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
728 basic_machine
=i386-mach
732 basic_machine
=i386-unknown
736 basic_machine
=mips-sgi
746 basic_machine
=m68k-isi
750 basic_machine
=m68k-unknown
754 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
758 basic_machine
=m88k-omron
761 basic_machine
=mips-mips
765 basic_machine
=ns32k-utek
769 basic_machine
=microblaze-xilinx
772 basic_machine
=i386-pc
776 basic_machine
=arm-unknown
780 basic_machine
=m68000-convergent
782 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
783 basic_machine
=m68k-atari
787 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
790 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
793 basic_machine
=m68k-rom68k
797 basic_machine
=powerpc-unknown
801 basic_machine
=i386-pc
805 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
808 basic_machine
=i370-ibm
812 basic_machine
=i486-ncr
816 basic_machine
=i386-unknown
820 basic_machine
=armv4l-rebel
823 news | news700 | news800 | news900
)
824 basic_machine
=m68k-sony
828 basic_machine
=m68030-sony
831 news-3600 | risc-news
)
832 basic_machine
=mips-sony
836 basic_machine
=v70-nec
840 basic_machine
=m68k-next
853 basic_machine
=m68k-harris
857 basic_machine
=m88k-harris
861 basic_machine
=i960-intel
865 basic_machine
=i960-intel
869 basic_machine
=mips-compaq
873 basic_machine
=np1-gould
876 basic_machine
=neo-tandem
879 basic_machine
=nse-tandem
882 basic_machine
=nsr-tandem
885 basic_machine
=hppa1.1
-oki
888 openrisc | openrisc-
*)
889 basic_machine
=or32-unknown
892 basic_machine
=powerpc-ibm
896 basic_machine
=m68000-ericsson
900 basic_machine
=m68k-none
904 basic_machine
=hppa1.1
-hitachi
908 basic_machine
=i860-intel
912 basic_machine
=hppa-unknown
916 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
920 basic_machine
=sparc-tti
923 basic_machine
=m68k-tti
926 basic_machine
=ns32k-pc532
929 basic_machine
=i386-pc
932 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
934 pentium | p5 | k5 | k6 | nexgen | viac3
)
935 basic_machine
=i586-pc
937 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
938 basic_machine
=i686-pc
940 pentiumii | pentium2 | pentiumiii | pentium3
)
941 basic_machine
=i686-pc
944 basic_machine
=i786-pc
946 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
947 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
949 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
950 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
952 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
953 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
956 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
959 basic_machine
=pn-gould
962 basic_machine
=power-ibm
965 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/^[^-]*-//'`
977 basic_machine
=powerpc64-unknown
980 basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
982 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
983 basic_machine
=powerpc64le-unknown
985 ppc64le-
* | powerpc64little-
*)
986 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
989 basic_machine
=i386-ibm
992 basic_machine
=i586-unknown
996 basic_machine
=i386-pc
1000 basic_machine
=m68k-rom68k
1004 basic_machine
=mips-siemens
1007 basic_machine
=romp-ibm
1010 basic_machine
=s390-ibm
1013 basic_machine
=s390x-ibm
1016 basic_machine
=a29k-amd
1020 basic_machine
=mipsisa64sb1-unknown
1023 basic_machine
=mipsisa64sb1el-unknown
1026 basic_machine
=mipsisa32-sde
1030 basic_machine
=mips-sei
1034 basic_machine
=i386-sequent
1037 basic_machine
=sh-hitachi
1041 basic_machine
=sh5le-unknown
1044 basic_machine
=sh64-unknown
1046 sparclite-wrs | simso-wrs
)
1047 basic_machine
=sparclite-wrs
1051 basic_machine
=m68k-bull
1055 basic_machine
=spur-unknown
1058 basic_machine
=m68k-tandem
1061 basic_machine
=i860-stratus
1064 strongarm-
* | thumb-
*)
1065 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1068 basic_machine
=m68000-sun
1071 basic_machine
=m68000-sun
1075 basic_machine
=m68000-sun
1079 basic_machine
=m68k-sun
1083 basic_machine
=m68k-sun
1087 basic_machine
=sparc-sun
1091 basic_machine
=sparc-sun
1095 basic_machine
=sparc-sun
1099 basic_machine
=m68k-sun
1102 basic_machine
=sparc-sun
1104 sun386 | sun386i | roadrunner
)
1105 basic_machine
=i386-sun
1108 basic_machine
=sv1-cray
1112 basic_machine
=i386-sequent
1116 basic_machine
=alphaev5-cray
1120 basic_machine
=t90-cray
1123 # This must be matched before tile*.
1125 basic_machine
=tilegx-unknown
1129 basic_machine
=tile-unknown
1133 basic_machine
=mipstx39-unknown
1136 basic_machine
=mipstx39el-unknown
1139 basic_machine
=pdp10-xkl
1143 basic_machine
=m68k-ncr
1146 basic_machine
=s390x-ibm
1150 basic_machine
=a29k-amd
1154 basic_machine
=a29k-nyu
1158 basic_machine
=v810-nec
1162 basic_machine
=vax-dec
1166 basic_machine
=vax-dec
1170 basic_machine
=f301-fujitsu
1173 basic_machine
=i960-wrs
1177 basic_machine
=m68k-wrs
1181 basic_machine
=a29k-wrs
1185 basic_machine
=w65-wdc
1189 basic_machine
=hppa1.1
-winbond
1193 basic_machine
=i686-pc
1197 basic_machine
=xps100-honeywell
1199 xscale-
* | xscalee
[bl
]-*)
1200 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1203 basic_machine
=ymp-cray
1207 basic_machine
=z8k-unknown
1211 basic_machine
=z80-unknown
1215 basic_machine
=none-none
1219 # Here we handle the default manufacturer of certain CPU types. It is in
1220 # some cases the only manufacturer, in others, it is the most popular.
1222 basic_machine
=hppa1.1
-winbond
1225 basic_machine
=hppa1.1
-oki
1228 basic_machine
=hppa1.1
-oki
1231 basic_machine
=romp-ibm
1234 basic_machine
=mmix-knuth
1237 basic_machine
=rs6000-ibm
1240 basic_machine
=vax-dec
1243 # there are many clones, so DEC is not a safe bet
1244 basic_machine
=pdp10-unknown
1247 basic_machine
=pdp11-dec
1250 basic_machine
=we32k-att
1252 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1253 basic_machine
=sh-unknown
1255 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1256 basic_machine
=sparc-sun
1259 basic_machine
=cydra-cydrome
1262 basic_machine
=orion-highlevel
1265 basic_machine
=clipper-highlevel
1267 mac | mpw | mac-mpw
)
1268 basic_machine
=m68k-apple
1271 basic_machine
=powerpc-apple
1274 # Make sure to match an already-canonicalized machine name.
1277 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1282 # Here we canonicalize certain aliases for manufacturers.
1283 case $basic_machine in
1285 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1288 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1294 # Decode manufacturer-specific aliases for certain operating systems.
1296 if [ x
"$os" != x
"" ]
1299 # First match some system type aliases
1300 # that might get confused with valid system types.
1301 # -solaris* is a basic system type, with this one exception.
1305 -solaris1 |
-solaris1.
*)
1306 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1318 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1320 # First accept the basic system types.
1321 # The portable systems comes first.
1322 # Each alternative MUST END IN A *, to match a version number.
1323 # -sysv* is not here because it comes later, after sysvr4.
1324 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1325 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1326 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1327 |
-sym* |
-kopensolaris* \
1328 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1330 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1331 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1332 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1333 |
-openbsd* |
-solidbsd* \
1334 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1335 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1336 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1337 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1338 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1339 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1340 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1341 |
-linux-newlib* |
-linux-uclibc* \
1342 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1343 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1344 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1345 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1346 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1347 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1348 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1349 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1350 # Remember, each alternative MUST END IN *, to match a version number.
1353 case $basic_machine in
1364 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1366 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1367 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1368 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1371 os
=`echo $os | sed -e 's|mac|macos|'`
1377 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1380 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1383 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1430 # Preserve the version number of sinix5.
1432 os
=`echo $os | sed -e 's|sinix|sysv|'`
1455 # This must come after -sysvr4.
1467 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1487 # Get rid of the `-' at the beginning of $os.
1488 os
=`echo $os | sed 's/[^-]*-//'`
1489 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1495 # Here we handle the default operating systems that come with various machines.
1496 # The value should be what the vendor currently ships out the door with their
1497 # machine or put another way, the most popular os provided with the machine.
1499 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1500 # "-sun"), then you have to tell the case statement up towards the top
1501 # that MANUFACTURER isn't an operating system. Otherwise, code above
1502 # will signal an error saying that MANUFACTURER isn't an operating
1503 # system, and we'll never get to this point.
1505 case $basic_machine in
1533 # This must come before the *-dec entry.
1551 # This also exists in the configure program, but was not the
1570 *-tti) # must be before sparc entry or we get the wrong os.
1603 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1657 f30
[01]-fujitsu | f700-fujitsu
)
1678 # Here we handle the case where we know the os, and the CPU type, but not the
1679 # manufacturer. We pick the logical manufacturer.
1681 case $basic_machine in
1729 -vxsim* |
-vxworks* |
-windiss*)
1741 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1748 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1752 echo $basic_machine$os
1756 # eval: (add-hook 'write-file-hooks 'time-stamp)
1757 # time-stamp-start: "timestamp='"
1758 # time-stamp-format: "%:y-%02m-%02d"
1759 # time-stamp-end: "'"