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 \
258 | fido | fr30 | frv \
259 | h8300 | h8500 | hppa | hppa1.
[01] | hppa2.0 | hppa2.0
[nw
] | hppa64 \
261 | i370 | i860 | i960 | ia64 \
265 | m32c | m32r | m32rle | m68000 | m68k | m88k \
266 | maxq | mb | microblaze | mcore | mep | metag \
267 | mips | mipsbe | mipseb | mipsel | mipsle \
269 | mips64 | mips64el \
270 | mips64octeon | mips64octeonel \
271 | mips64orion | mips64orionel \
272 | mips64r5900 | mips64r5900el \
273 | mips64vr | mips64vrel \
274 | mips64vr4100 | mips64vr4100el \
275 | mips64vr4300 | mips64vr4300el \
276 | mips64vr5000 | mips64vr5000el \
277 | mips64vr5900 | mips64vr5900el \
278 | mipsisa32 | mipsisa32el \
279 | mipsisa32r2 | mipsisa32r2el \
280 | mipsisa64 | mipsisa64el \
281 | mipsisa64r2 | mipsisa64r2el \
282 | mipsisa64sb1 | mipsisa64sb1el \
283 | mipsisa64sr71k | mipsisa64sr71kel \
284 | mipstx39 | mipstx39el \
285 | mn10200 | mn10300 \
289 | nds32 | nds32le | nds32be \
294 | pdp10 | pdp11 | pj | pjl \
295 | powerpc | powerpc64 | powerpc64le | powerpcle \
299 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
301 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
302 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
304 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
308 | x86 | xc16x | xstormy16 | xtensa \
310 basic_machine
=$basic_machine-unknown
313 basic_machine
=tic54x-unknown
316 basic_machine
=tic55x-unknown
319 basic_machine
=tic6x-unknown
321 m6811 | m68hc11 | m6812 | m68hc12 | picochip
)
322 # Motorola 68HC11/12.
323 basic_machine
=$basic_machine-unknown
326 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
329 basic_machine
=mt-unknown
332 strongarm | thumb | xscale
)
333 basic_machine
=arm-unknown
337 basic_machine
=armeb-unknown
341 basic_machine
=armel-unknown
344 # We use `pc' rather than `unknown'
345 # because (1) that's what they normally are, and
346 # (2) the word "unknown" tends to confuse beginning users.
348 basic_machine
=$basic_machine-pc
350 # Object if more than one company name word.
352 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
355 # Recognize the basic CPU types with company name.
358 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
359 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
360 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
361 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
364 | bfin-
* | bs2000-
* \
365 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
366 | clipper-
* | craynv-
* | cydra-
* \
367 | d10v-
* | d30v-
* | dlx-
* \
369 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
370 | h8300-
* | h8500-
* \
371 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
373 | i
*86-* | i860-
* | i960-
* | ia64-
* \
374 | ip2k-
* | iq2000-
* \
377 | m32c-
* | m32r-
* | m32rle-
* \
378 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
379 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
380 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
382 | mips64-
* | mips64el-
* \
383 | mips64octeon-
* | mips64octeonel-
* \
384 | mips64orion-
* | mips64orionel-
* \
385 | mips64r5900-
* | mips64r5900el-
* \
386 | mips64vr-
* | mips64vrel-
* \
387 | mips64vr4100-
* | mips64vr4100el-
* \
388 | mips64vr4300-
* | mips64vr4300el-
* \
389 | mips64vr5000-
* | mips64vr5000el-
* \
390 | mips64vr5900-
* | mips64vr5900el-
* \
391 | mipsisa32-
* | mipsisa32el-
* \
392 | mipsisa32r2-
* | mipsisa32r2el-
* \
393 | mipsisa64-
* | mipsisa64el-
* \
394 | mipsisa64r2-
* | mipsisa64r2el-
* \
395 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
396 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
397 | mipstx39-
* | mipstx39el-
* \
401 | nds32-
* | nds32le-
* | nds32be-
* \
403 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
406 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
407 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
409 | romp-
* | rs6000-
* | rx-
* \
410 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
411 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
412 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
414 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
416 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
420 | v850-
* | v850e-
* | v850e1-
* | v850es-
* | v850e2-
* | v850e2v3-
* \
423 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
424 | xstormy16-
* | xtensa
*-* \
428 # Recognize the basic CPU types without company name, with glob match.
430 basic_machine
=$basic_machine-unknown
432 # Recognize the various machine names and aliases which stand
433 # for a CPU type and a company and sometimes even an OS.
435 basic_machine
=i386-unknown
438 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
439 basic_machine
=m68000-att
442 basic_machine
=we32k-att
445 basic_machine
=a29k-amd
449 basic_machine
=abacus-unknown
452 basic_machine
=m68010-adobe
456 basic_machine
=fx80-alliant
459 basic_machine
=m68k-altos
462 basic_machine
=a29k-none
466 basic_machine
=x86_64-pc
469 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
472 basic_machine
=580-amdahl
476 basic_machine
=m68k-unknown
479 basic_machine
=m68k-unknown
483 basic_machine
=m68k-unknown
487 basic_machine
=m68k-apollo
491 basic_machine
=m68k-apollo
495 basic_machine
=i386-pc
499 basic_machine
=m68k-apple
503 basic_machine
=ns32k-sequent
507 basic_machine
=bfin-unknown
511 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
515 basic_machine
=powerpc-ibm
519 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
522 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
525 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
528 basic_machine
=c90-cray
532 basic_machine
=arm-unknown
536 basic_machine
=c1-convex
540 basic_machine
=c2-convex
544 basic_machine
=c32-convex
548 basic_machine
=c34-convex
552 basic_machine
=c38-convex
556 basic_machine
=j90-cray
560 basic_machine
=craynv-cray
564 basic_machine
=cr16-unknown
568 basic_machine
=m68k-crds
570 crisv32 | crisv32-
* | etraxfs
*)
571 basic_machine
=crisv32-axis
573 cris | cris-
* | etrax
*)
574 basic_machine
=cris-axis
577 basic_machine
=crx-unknown
581 basic_machine
=m68k-da30
583 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
584 basic_machine
=mips-dec
586 decsystem10
* | dec10
*)
587 basic_machine
=pdp10-dec
590 decsystem20
* | dec20
*)
591 basic_machine
=pdp10-dec
594 delta |
3300 | motorola-3300 | motorola-delta \
595 |
3300-motorola | delta-motorola
)
596 basic_machine
=m68k-motorola
599 basic_machine
=m88k-motorola
603 basic_machine
=i686-pc
607 basic_machine
=i586-pc
611 basic_machine
=rs6000-bull
615 basic_machine
=m68k-bull
619 basic_machine
=a29k-amd
623 basic_machine
=elxsi-elxsi
626 encore | umax | mmax
)
627 basic_machine
=ns32k-encore
629 es1800 | OSE68k | ose68k | ose | OSE
)
630 basic_machine
=m68k-ericsson
634 basic_machine
=i860-alliant
637 basic_machine
=ns32k-ns
640 basic_machine
=tron-gmicro
644 basic_machine
=i386-pc
648 basic_machine
=hppa1.1
-hitachi
652 basic_machine
=h8300-hitachi
656 basic_machine
=h8300-hitachi
660 basic_machine
=h8500-hitachi
664 basic_machine
=m88k-harris
668 basic_machine
=m68k-hp
671 basic_machine
=m68k-hp
675 basic_machine
=m68k-hp
678 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
679 basic_machine
=hppa1.0
-hp
681 hp9k2
[0-9][0-9] | hp9k31
[0-9])
682 basic_machine
=m68000-hp
685 basic_machine
=m68k-hp
687 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
688 basic_machine
=hppa1.0
-hp
690 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
691 basic_machine
=hppa1.1
-hp
693 hp9k78
[0-9] | hp78
[0-9])
694 # FIXME: really hppa2.0-hp
695 basic_machine
=hppa1.1
-hp
697 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
698 # FIXME: really hppa2.0-hp
699 basic_machine
=hppa1.1
-hp
701 hp9k8
[0-9][13679] | hp8
[0-9][13679])
702 basic_machine
=hppa1.1
-hp
704 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
705 basic_machine
=hppa1.0
-hp
711 basic_machine
=hppa1.1
-hp
715 basic_machine
=hppa1.1
-hp
719 basic_machine
=i370-ibm
721 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
723 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
727 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
731 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
735 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
739 basic_machine
=i386-mach
743 basic_machine
=i386-unknown
747 basic_machine
=mips-sgi
757 basic_machine
=m68k-isi
761 basic_machine
=m68k-unknown
765 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
769 basic_machine
=m88k-omron
772 basic_machine
=mips-mips
776 basic_machine
=ns32k-utek
780 basic_machine
=microblaze-xilinx
783 basic_machine
=i386-pc
787 basic_machine
=arm-unknown
791 basic_machine
=m68000-convergent
793 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
794 basic_machine
=m68k-atari
798 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
801 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
804 basic_machine
=m68k-rom68k
808 basic_machine
=powerpc-unknown
812 basic_machine
=i386-pc
816 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
819 basic_machine
=i370-ibm
823 basic_machine
=le32-unknown
827 basic_machine
=i486-ncr
831 basic_machine
=i386-unknown
835 basic_machine
=armv4l-rebel
838 news | news700 | news800 | news900
)
839 basic_machine
=m68k-sony
843 basic_machine
=m68030-sony
846 news-3600 | risc-news
)
847 basic_machine
=mips-sony
851 basic_machine
=v70-nec
855 basic_machine
=m68k-next
868 basic_machine
=m68k-harris
872 basic_machine
=m88k-harris
876 basic_machine
=i960-intel
880 basic_machine
=i960-intel
884 basic_machine
=mips-compaq
888 basic_machine
=np1-gould
891 basic_machine
=neo-tandem
894 basic_machine
=nse-tandem
897 basic_machine
=nsr-tandem
900 basic_machine
=hppa1.1
-oki
903 openrisc | openrisc-
*)
904 basic_machine
=or32-unknown
907 basic_machine
=powerpc-ibm
911 basic_machine
=m68000-ericsson
915 basic_machine
=m68k-none
919 basic_machine
=hppa1.1
-hitachi
923 basic_machine
=i860-intel
927 basic_machine
=hppa-unknown
931 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
935 basic_machine
=sparc-tti
938 basic_machine
=m68k-tti
941 basic_machine
=ns32k-pc532
944 basic_machine
=i386-pc
947 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
949 pentium | p5 | k5 | k6 | nexgen | viac3
)
950 basic_machine
=i586-pc
952 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
953 basic_machine
=i686-pc
955 pentiumii | pentium2 | pentiumiii | pentium3
)
956 basic_machine
=i686-pc
959 basic_machine
=i786-pc
961 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
962 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
964 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
965 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
967 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
968 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
971 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
974 basic_machine
=pn-gould
976 power
) basic_machine
=power-ibm
978 ppc | ppcbe
) basic_machine
=powerpc-unknown
981 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
983 ppcle | powerpclittle | ppc-le | powerpc-little
)
984 basic_machine
=powerpcle-unknown
986 ppcle-
* | powerpclittle-
*)
987 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
989 ppc64
) basic_machine
=powerpc64-unknown
991 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
993 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
994 basic_machine
=powerpc64le-unknown
996 ppc64le-
* | powerpc64little-
*)
997 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
1000 basic_machine
=i386-ibm
1003 basic_machine
=i586-unknown
1007 basic_machine
=i386-pc
1011 basic_machine
=m68k-rom68k
1015 basic_machine
=mips-siemens
1018 basic_machine
=romp-ibm
1021 basic_machine
=s390-ibm
1024 basic_machine
=s390x-ibm
1027 basic_machine
=a29k-amd
1031 basic_machine
=mipsisa64sb1-unknown
1034 basic_machine
=mipsisa64sb1el-unknown
1037 basic_machine
=mipsisa32-sde
1041 basic_machine
=mips-sei
1045 basic_machine
=i386-sequent
1048 basic_machine
=sh-hitachi
1052 basic_machine
=sh5le-unknown
1055 basic_machine
=sh64-unknown
1057 sparclite-wrs | simso-wrs
)
1058 basic_machine
=sparclite-wrs
1062 basic_machine
=m68k-bull
1066 basic_machine
=spur-unknown
1069 basic_machine
=m68k-tandem
1072 basic_machine
=i860-stratus
1075 strongarm-
* | thumb-
*)
1076 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1079 basic_machine
=m68000-sun
1082 basic_machine
=m68000-sun
1086 basic_machine
=m68000-sun
1090 basic_machine
=m68k-sun
1094 basic_machine
=m68k-sun
1098 basic_machine
=sparc-sun
1102 basic_machine
=sparc-sun
1106 basic_machine
=sparc-sun
1110 basic_machine
=m68k-sun
1113 basic_machine
=sparc-sun
1115 sun386 | sun386i | roadrunner
)
1116 basic_machine
=i386-sun
1119 basic_machine
=sv1-cray
1123 basic_machine
=i386-sequent
1127 basic_machine
=alphaev5-cray
1131 basic_machine
=t90-cray
1135 basic_machine
=$basic_machine-unknown
1139 basic_machine
=mipstx39-unknown
1142 basic_machine
=mipstx39el-unknown
1145 basic_machine
=pdp10-xkl
1149 basic_machine
=m68k-ncr
1152 basic_machine
=s390x-ibm
1156 basic_machine
=a29k-amd
1160 basic_machine
=a29k-nyu
1164 basic_machine
=v810-nec
1168 basic_machine
=vax-dec
1172 basic_machine
=vax-dec
1176 basic_machine
=f301-fujitsu
1179 basic_machine
=i960-wrs
1183 basic_machine
=m68k-wrs
1187 basic_machine
=a29k-wrs
1191 basic_machine
=w65-wdc
1195 basic_machine
=hppa1.1
-winbond
1199 basic_machine
=i686-pc
1203 basic_machine
=xps100-honeywell
1205 xscale-
* | xscalee
[bl
]-*)
1206 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1209 basic_machine
=ymp-cray
1213 basic_machine
=z8k-unknown
1217 basic_machine
=z80-unknown
1221 basic_machine
=none-none
1225 # Here we handle the default manufacturer of certain CPU types. It is in
1226 # some cases the only manufacturer, in others, it is the most popular.
1228 basic_machine
=hppa1.1
-winbond
1231 basic_machine
=hppa1.1
-oki
1234 basic_machine
=hppa1.1
-oki
1237 basic_machine
=romp-ibm
1240 basic_machine
=mmix-knuth
1243 basic_machine
=rs6000-ibm
1246 basic_machine
=vax-dec
1249 # there are many clones, so DEC is not a safe bet
1250 basic_machine
=pdp10-unknown
1253 basic_machine
=pdp11-dec
1256 basic_machine
=we32k-att
1258 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1259 basic_machine
=sh-unknown
1261 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1262 basic_machine
=sparc-sun
1265 basic_machine
=cydra-cydrome
1268 basic_machine
=orion-highlevel
1271 basic_machine
=clipper-highlevel
1273 mac | mpw | mac-mpw
)
1274 basic_machine
=m68k-apple
1277 basic_machine
=powerpc-apple
1280 # Make sure to match an already-canonicalized machine name.
1283 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1288 # Here we canonicalize certain aliases for manufacturers.
1289 case $basic_machine in
1291 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1294 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1300 # Decode manufacturer-specific aliases for certain operating systems.
1302 if [ x
"$os" != x
"" ]
1305 # First match some system type aliases
1306 # that might get confused with valid system types.
1307 # -solaris* is a basic system type, with this one exception.
1311 -solaris1 |
-solaris1.
*)
1312 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1324 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1326 # First accept the basic system types.
1327 # The portable systems comes first.
1328 # Each alternative MUST END IN A *, to match a version number.
1329 # -sysv* is not here because it comes later, after sysvr4.
1330 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1331 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1332 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1333 |
-sym* |
-kopensolaris* \
1334 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1336 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1337 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1338 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1339 |
-openbsd* |
-solidbsd* \
1340 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1341 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1342 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1343 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1344 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1345 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1346 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1347 |
-linux-newlib* |
-linux-uclibc* \
1348 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1349 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1350 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1351 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1352 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1353 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1354 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1355 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1356 # Remember, each alternative MUST END IN *, to match a version number.
1359 case $basic_machine in
1370 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1372 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1373 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1374 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1377 os
=`echo $os | sed -e 's|mac|macos|'`
1383 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1386 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1389 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1436 # Preserve the version number of sinix5.
1438 os
=`echo $os | sed -e 's|sinix|sysv|'`
1461 # This must come after -sysvr4.
1473 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1493 # Get rid of the `-' at the beginning of $os.
1494 os
=`echo $os | sed 's/[^-]*-//'`
1495 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1501 # Here we handle the default operating systems that come with various machines.
1502 # The value should be what the vendor currently ships out the door with their
1503 # machine or put another way, the most popular os provided with the machine.
1505 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1506 # "-sun"), then you have to tell the case statement up towards the top
1507 # that MANUFACTURER isn't an operating system. Otherwise, code above
1508 # will signal an error saying that MANUFACTURER isn't an operating
1509 # system, and we'll never get to this point.
1511 case $basic_machine in
1539 # This must come before the *-dec entry.
1557 # This also exists in the configure program, but was not the
1576 *-tti) # must be before sparc entry or we get the wrong os.
1609 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1663 f30
[01]-fujitsu | f700-fujitsu
)
1684 # Here we handle the case where we know the os, and the CPU type, but not the
1685 # manufacturer. We pick the logical manufacturer.
1687 case $basic_machine in
1735 -vxsim* |
-vxworks* |
-windiss*)
1747 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1754 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1758 echo $basic_machine$os
1762 # eval: (add-hook 'write-file-hooks 'time-stamp)
1763 # time-stamp-start: "timestamp='"
1764 # time-stamp-format: "%:y-%02m-%02d"
1765 # time-stamp-end: "'"