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 \
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 \
303 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
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
329 strongarm | thumb | xscale
)
330 basic_machine
=arm-unknown
334 basic_machine
=armeb-unknown
338 basic_machine
=armel-unknown
341 # We use `pc' rather than `unknown'
342 # because (1) that's what they normally are, and
343 # (2) the word "unknown" tends to confuse beginning users.
345 basic_machine
=$basic_machine-pc
347 # Object if more than one company name word.
349 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
352 # Recognize the basic CPU types with company name.
355 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
356 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
357 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
358 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
360 | bfin-
* | bs2000-
* \
361 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
362 | clipper-
* | craynv-
* | cydra-
* \
363 | d10v-
* | d30v-
* | dlx-
* \
365 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
366 | h8300-
* | h8500-
* \
367 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
368 | i
*86-* | i860-
* | i960-
* | ia64-
* \
369 | ip2k-
* | iq2000-
* \
371 | m32c-
* | m32r-
* | m32rle-
* \
372 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
373 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
374 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
376 | mips64-
* | mips64el-
* \
377 | mips64octeon-
* | mips64octeonel-
* \
378 | mips64orion-
* | mips64orionel-
* \
379 | mips64r5900-
* | mips64r5900el-
* \
380 | mips64vr-
* | mips64vrel-
* \
381 | mips64vr4100-
* | mips64vr4100el-
* \
382 | mips64vr4300-
* | mips64vr4300el-
* \
383 | mips64vr5000-
* | mips64vr5000el-
* \
384 | mips64vr5900-
* | mips64vr5900el-
* \
385 | mipsisa32-
* | mipsisa32el-
* \
386 | mipsisa32r2-
* | mipsisa32r2el-
* \
387 | mipsisa64-
* | mipsisa64el-
* \
388 | mipsisa64r2-
* | mipsisa64r2el-
* \
389 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
390 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
391 | mipstx39-
* | mipstx39el-
* \
395 | nds32-
* | nds32le-
* | nds32be-
* \
397 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
400 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
401 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
403 | romp-
* | rs6000-
* | rx-
* \
404 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
405 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
406 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
408 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
410 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
414 | v850-
* | v850e-
* | v850e1-
* | v850es-
* | v850e2-
* | v850e2v3-
* \
417 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
418 | xstormy16-
* | xtensa
*-* \
422 # Recognize the basic CPU types without company name, with glob match.
424 basic_machine
=$basic_machine-unknown
426 # Recognize the various machine names and aliases which stand
427 # for a CPU type and a company and sometimes even an OS.
429 basic_machine
=i386-unknown
432 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
433 basic_machine
=m68000-att
436 basic_machine
=we32k-att
439 basic_machine
=a29k-amd
443 basic_machine
=abacus-unknown
446 basic_machine
=m68010-adobe
450 basic_machine
=fx80-alliant
453 basic_machine
=m68k-altos
456 basic_machine
=a29k-none
460 basic_machine
=x86_64-pc
463 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
466 basic_machine
=580-amdahl
470 basic_machine
=m68k-unknown
473 basic_machine
=m68k-unknown
477 basic_machine
=m68k-unknown
481 basic_machine
=m68k-apollo
485 basic_machine
=m68k-apollo
489 basic_machine
=i386-pc
493 basic_machine
=m68k-apple
497 basic_machine
=ns32k-sequent
501 basic_machine
=bfin-unknown
505 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
509 basic_machine
=powerpc-ibm
513 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
516 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
519 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
522 basic_machine
=c90-cray
526 basic_machine
=arm-unknown
530 basic_machine
=c1-convex
534 basic_machine
=c2-convex
538 basic_machine
=c32-convex
542 basic_machine
=c34-convex
546 basic_machine
=c38-convex
550 basic_machine
=j90-cray
554 basic_machine
=craynv-cray
558 basic_machine
=cr16-unknown
562 basic_machine
=m68k-crds
564 crisv32 | crisv32-
* | etraxfs
*)
565 basic_machine
=crisv32-axis
567 cris | cris-
* | etrax
*)
568 basic_machine
=cris-axis
571 basic_machine
=crx-unknown
575 basic_machine
=m68k-da30
577 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
578 basic_machine
=mips-dec
580 decsystem10
* | dec10
*)
581 basic_machine
=pdp10-dec
584 decsystem20
* | dec20
*)
585 basic_machine
=pdp10-dec
588 delta |
3300 | motorola-3300 | motorola-delta \
589 |
3300-motorola | delta-motorola
)
590 basic_machine
=m68k-motorola
593 basic_machine
=m88k-motorola
597 basic_machine
=i686-pc
601 basic_machine
=i586-pc
605 basic_machine
=rs6000-bull
609 basic_machine
=m68k-bull
613 basic_machine
=a29k-amd
617 basic_machine
=elxsi-elxsi
620 encore | umax | mmax
)
621 basic_machine
=ns32k-encore
623 es1800 | OSE68k | ose68k | ose | OSE
)
624 basic_machine
=m68k-ericsson
628 basic_machine
=i860-alliant
631 basic_machine
=ns32k-ns
634 basic_machine
=tron-gmicro
638 basic_machine
=i386-pc
642 basic_machine
=hppa1.1
-hitachi
646 basic_machine
=h8300-hitachi
650 basic_machine
=h8300-hitachi
654 basic_machine
=h8500-hitachi
658 basic_machine
=m88k-harris
662 basic_machine
=m68k-hp
665 basic_machine
=m68k-hp
669 basic_machine
=m68k-hp
672 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
673 basic_machine
=hppa1.0
-hp
675 hp9k2
[0-9][0-9] | hp9k31
[0-9])
676 basic_machine
=m68000-hp
679 basic_machine
=m68k-hp
681 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
682 basic_machine
=hppa1.0
-hp
684 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
685 basic_machine
=hppa1.1
-hp
687 hp9k78
[0-9] | hp78
[0-9])
688 # FIXME: really hppa2.0-hp
689 basic_machine
=hppa1.1
-hp
691 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
692 # FIXME: really hppa2.0-hp
693 basic_machine
=hppa1.1
-hp
695 hp9k8
[0-9][13679] | hp8
[0-9][13679])
696 basic_machine
=hppa1.1
-hp
698 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
699 basic_machine
=hppa1.0
-hp
705 basic_machine
=hppa1.1
-hp
709 basic_machine
=hppa1.1
-hp
713 basic_machine
=i370-ibm
715 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
717 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
721 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
725 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
729 basic_machine
=`echo $1 | sed -e 's/86.*/86-pc/'`
733 basic_machine
=i386-mach
737 basic_machine
=i386-unknown
741 basic_machine
=mips-sgi
751 basic_machine
=m68k-isi
755 basic_machine
=m68k-unknown
759 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
763 basic_machine
=m88k-omron
766 basic_machine
=mips-mips
770 basic_machine
=ns32k-utek
774 basic_machine
=microblaze-xilinx
777 basic_machine
=i386-pc
781 basic_machine
=arm-unknown
785 basic_machine
=m68000-convergent
787 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
788 basic_machine
=m68k-atari
792 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
795 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
798 basic_machine
=m68k-rom68k
802 basic_machine
=powerpc-unknown
806 basic_machine
=i386-pc
810 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
813 basic_machine
=i370-ibm
817 basic_machine
=i486-ncr
821 basic_machine
=i386-unknown
825 basic_machine
=armv4l-rebel
828 news | news700 | news800 | news900
)
829 basic_machine
=m68k-sony
833 basic_machine
=m68030-sony
836 news-3600 | risc-news
)
837 basic_machine
=mips-sony
841 basic_machine
=v70-nec
845 basic_machine
=m68k-next
858 basic_machine
=m68k-harris
862 basic_machine
=m88k-harris
866 basic_machine
=i960-intel
870 basic_machine
=i960-intel
874 basic_machine
=mips-compaq
878 basic_machine
=np1-gould
881 basic_machine
=neo-tandem
884 basic_machine
=nse-tandem
887 basic_machine
=nsr-tandem
890 basic_machine
=hppa1.1
-oki
893 openrisc | openrisc-
*)
894 basic_machine
=or32-unknown
897 basic_machine
=powerpc-ibm
901 basic_machine
=m68000-ericsson
905 basic_machine
=m68k-none
909 basic_machine
=hppa1.1
-hitachi
913 basic_machine
=i860-intel
917 basic_machine
=hppa-unknown
921 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
925 basic_machine
=sparc-tti
928 basic_machine
=m68k-tti
931 basic_machine
=ns32k-pc532
934 basic_machine
=i386-pc
937 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
939 pentium | p5 | k5 | k6 | nexgen | viac3
)
940 basic_machine
=i586-pc
942 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
943 basic_machine
=i686-pc
945 pentiumii | pentium2 | pentiumiii | pentium3
)
946 basic_machine
=i686-pc
949 basic_machine
=i786-pc
951 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
952 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
954 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
955 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
957 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
958 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
961 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
964 basic_machine
=pn-gould
966 power
) basic_machine
=power-ibm
968 ppc | ppcbe
) basic_machine
=powerpc-unknown
971 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
973 ppcle | powerpclittle | ppc-le | powerpc-little
)
974 basic_machine
=powerpcle-unknown
976 ppcle-
* | powerpclittle-
*)
977 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
979 ppc64
) basic_machine
=powerpc64-unknown
981 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
983 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
984 basic_machine
=powerpc64le-unknown
986 ppc64le-
* | powerpc64little-
*)
987 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
990 basic_machine
=i386-ibm
993 basic_machine
=i586-unknown
997 basic_machine
=i386-pc
1001 basic_machine
=m68k-rom68k
1005 basic_machine
=mips-siemens
1008 basic_machine
=romp-ibm
1011 basic_machine
=s390-ibm
1014 basic_machine
=s390x-ibm
1017 basic_machine
=a29k-amd
1021 basic_machine
=mipsisa64sb1-unknown
1024 basic_machine
=mipsisa64sb1el-unknown
1027 basic_machine
=mipsisa32-sde
1031 basic_machine
=mips-sei
1035 basic_machine
=i386-sequent
1038 basic_machine
=sh-hitachi
1042 basic_machine
=sh5le-unknown
1045 basic_machine
=sh64-unknown
1047 sparclite-wrs | simso-wrs
)
1048 basic_machine
=sparclite-wrs
1052 basic_machine
=m68k-bull
1056 basic_machine
=spur-unknown
1059 basic_machine
=m68k-tandem
1062 basic_machine
=i860-stratus
1065 strongarm-
* | thumb-
*)
1066 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1069 basic_machine
=m68000-sun
1072 basic_machine
=m68000-sun
1076 basic_machine
=m68000-sun
1080 basic_machine
=m68k-sun
1084 basic_machine
=m68k-sun
1088 basic_machine
=sparc-sun
1092 basic_machine
=sparc-sun
1096 basic_machine
=sparc-sun
1100 basic_machine
=m68k-sun
1103 basic_machine
=sparc-sun
1105 sun386 | sun386i | roadrunner
)
1106 basic_machine
=i386-sun
1109 basic_machine
=sv1-cray
1113 basic_machine
=i386-sequent
1117 basic_machine
=alphaev5-cray
1121 basic_machine
=t90-cray
1125 basic_machine
=$basic_machine-unknown
1129 basic_machine
=mipstx39-unknown
1132 basic_machine
=mipstx39el-unknown
1135 basic_machine
=pdp10-xkl
1139 basic_machine
=m68k-ncr
1142 basic_machine
=s390x-ibm
1146 basic_machine
=a29k-amd
1150 basic_machine
=a29k-nyu
1154 basic_machine
=v810-nec
1158 basic_machine
=vax-dec
1162 basic_machine
=vax-dec
1166 basic_machine
=f301-fujitsu
1169 basic_machine
=i960-wrs
1173 basic_machine
=m68k-wrs
1177 basic_machine
=a29k-wrs
1181 basic_machine
=w65-wdc
1185 basic_machine
=hppa1.1
-winbond
1189 basic_machine
=i686-pc
1193 basic_machine
=xps100-honeywell
1195 xscale-
* | xscalee
[bl
]-*)
1196 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1199 basic_machine
=ymp-cray
1203 basic_machine
=z8k-unknown
1207 basic_machine
=z80-unknown
1211 basic_machine
=none-none
1215 # Here we handle the default manufacturer of certain CPU types. It is in
1216 # some cases the only manufacturer, in others, it is the most popular.
1218 basic_machine
=hppa1.1
-winbond
1221 basic_machine
=hppa1.1
-oki
1224 basic_machine
=hppa1.1
-oki
1227 basic_machine
=romp-ibm
1230 basic_machine
=mmix-knuth
1233 basic_machine
=rs6000-ibm
1236 basic_machine
=vax-dec
1239 # there are many clones, so DEC is not a safe bet
1240 basic_machine
=pdp10-unknown
1243 basic_machine
=pdp11-dec
1246 basic_machine
=we32k-att
1248 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1249 basic_machine
=sh-unknown
1251 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1252 basic_machine
=sparc-sun
1255 basic_machine
=cydra-cydrome
1258 basic_machine
=orion-highlevel
1261 basic_machine
=clipper-highlevel
1263 mac | mpw | mac-mpw
)
1264 basic_machine
=m68k-apple
1267 basic_machine
=powerpc-apple
1270 # Make sure to match an already-canonicalized machine name.
1273 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1278 # Here we canonicalize certain aliases for manufacturers.
1279 case $basic_machine in
1281 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1284 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1290 # Decode manufacturer-specific aliases for certain operating systems.
1292 if [ x
"$os" != x
"" ]
1295 # First match some system type aliases
1296 # that might get confused with valid system types.
1297 # -solaris* is a basic system type, with this one exception.
1301 -solaris1 |
-solaris1.
*)
1302 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1314 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1316 # First accept the basic system types.
1317 # The portable systems comes first.
1318 # Each alternative MUST END IN A *, to match a version number.
1319 # -sysv* is not here because it comes later, after sysvr4.
1320 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1321 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1322 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1323 |
-sym* |
-kopensolaris* \
1324 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1326 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1327 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1328 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1329 |
-openbsd* |
-solidbsd* \
1330 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1331 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1332 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1333 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1334 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1335 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1336 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1337 |
-linux-newlib* |
-linux-uclibc* \
1338 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1339 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1340 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1341 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1342 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1343 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1344 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1345 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1346 # Remember, each alternative MUST END IN *, to match a version number.
1349 case $basic_machine in
1360 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1362 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1363 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1364 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1367 os
=`echo $os | sed -e 's|mac|macos|'`
1373 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1376 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1379 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1426 # Preserve the version number of sinix5.
1428 os
=`echo $os | sed -e 's|sinix|sysv|'`
1451 # This must come after -sysvr4.
1463 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1483 # Get rid of the `-' at the beginning of $os.
1484 os
=`echo $os | sed 's/[^-]*-//'`
1485 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1491 # Here we handle the default operating systems that come with various machines.
1492 # The value should be what the vendor currently ships out the door with their
1493 # machine or put another way, the most popular os provided with the machine.
1495 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1496 # "-sun"), then you have to tell the case statement up towards the top
1497 # that MANUFACTURER isn't an operating system. Otherwise, code above
1498 # will signal an error saying that MANUFACTURER isn't an operating
1499 # system, and we'll never get to this point.
1501 case $basic_machine in
1529 # This must come before the *-dec entry.
1547 # This also exists in the configure program, but was not the
1566 *-tti) # must be before sparc entry or we get the wrong os.
1599 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1653 f30
[01]-fujitsu | f700-fujitsu
)
1674 # Here we handle the case where we know the os, and the CPU type, but not the
1675 # manufacturer. We pick the logical manufacturer.
1677 case $basic_machine in
1725 -vxsim* |
-vxworks* |
-windiss*)
1737 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1744 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1748 echo $basic_machine$os
1752 # eval: (add-hook 'write-file-hooks 'time-stamp)
1753 # time-stamp-start: "timestamp='"
1754 # time-stamp-format: "%:y-%02m-%02d"
1755 # time-stamp-end: "'"