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 \
260 | i370 | i860 | i960 | ia64 \
264 | m32c | m32r | m32rle | m68000 | m68k | m88k \
265 | maxq | mb | microblaze | mcore | mep | metag \
266 | mips | mipsbe | mipseb | mipsel | mipsle \
268 | mips64 | mips64el \
269 | mips64octeon | mips64octeonel \
270 | mips64orion | mips64orionel \
271 | mips64r5900 | mips64r5900el \
272 | mips64vr | mips64vrel \
273 | mips64vr4100 | mips64vr4100el \
274 | mips64vr4300 | mips64vr4300el \
275 | mips64vr5000 | mips64vr5000el \
276 | mips64vr5900 | mips64vr5900el \
277 | mipsisa32 | mipsisa32el \
278 | mipsisa32r2 | mipsisa32r2el \
279 | mipsisa64 | mipsisa64el \
280 | mipsisa64r2 | mipsisa64r2el \
281 | mipsisa64sb1 | mipsisa64sb1el \
282 | mipsisa64sr71k | mipsisa64sr71kel \
283 | mipstx39 | mipstx39el \
284 | mn10200 | mn10300 \
288 | nds32 | nds32le | nds32be \
293 | pdp10 | pdp11 | pj | pjl \
294 | powerpc | powerpc64 | powerpc64le | powerpcle \
298 | sh | sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[23]e | sh
[34]eb | sheb | shbe | shle | sh
[1234]le | sh3ele \
300 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
301 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
303 | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
305 | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
307 | x86 | xc16x | xstormy16 | xtensa \
309 basic_machine
=$basic_machine-unknown
312 basic_machine
=tic54x-unknown
315 basic_machine
=tic55x-unknown
318 basic_machine
=tic6x-unknown
320 m6811 | m68hc11 | m6812 | m68hc12 | picochip
)
321 # Motorola 68HC11/12.
322 basic_machine
=$basic_machine-unknown
325 m88110 | m680
[12346]0 | m683?
2 | m68360 | m5200 | v70 | w65 | z8k
)
328 basic_machine
=mt-unknown
331 strongarm | thumb | xscale
)
332 basic_machine
=arm-unknown
336 basic_machine
=armeb-unknown
340 basic_machine
=armel-unknown
343 # We use `pc' rather than `unknown'
344 # because (1) that's what they normally are, and
345 # (2) the word "unknown" tends to confuse beginning users.
347 basic_machine
=$basic_machine-pc
349 # Object if more than one company name word.
351 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
354 # Recognize the basic CPU types with company name.
357 | alpha-
* | alphaev
[4-8]-* | alphaev56-
* | alphaev6
[78]-* \
358 | alpha64-
* | alpha64ev
[4-8]-* | alpha64ev56-
* | alpha64ev6
[78]-* \
359 | alphapca5
[67]-* | alpha64pca5
[67]-* | arc-
* \
360 | arm-
* | armbe-
* | armle-
* | armeb-
* | armv
*-* \
363 | bfin-
* | bs2000-
* \
364 | c
[123]* | c30-
* |
[cjt
]90-* | c4x-
* \
365 | clipper-
* | craynv-
* | cydra-
* \
366 | d10v-
* | d30v-
* | dlx-
* \
368 | f30
[01]-* | f700-
* | fido-
* | fr30-
* | frv-
* | fx80-
* \
369 | h8300-
* | h8500-
* \
370 | hppa-
* | hppa1.
[01]-* | hppa2.0
-* | hppa2.0
[nw
]-* | hppa64-
* \
371 | i
*86-* | i860-
* | i960-
* | ia64-
* \
372 | ip2k-
* | iq2000-
* \
375 | m32c-
* | m32r-
* | m32rle-
* \
376 | m68000-
* | m680
[012346]0-* | m68360-
* | m683?
2-* | m68k-
* \
377 | m88110-
* | m88k-
* | maxq-
* | mcore-
* | metag-
* | microblaze-
* \
378 | mips-
* | mipsbe-
* | mipseb-
* | mipsel-
* | mipsle-
* \
380 | mips64-
* | mips64el-
* \
381 | mips64octeon-
* | mips64octeonel-
* \
382 | mips64orion-
* | mips64orionel-
* \
383 | mips64r5900-
* | mips64r5900el-
* \
384 | mips64vr-
* | mips64vrel-
* \
385 | mips64vr4100-
* | mips64vr4100el-
* \
386 | mips64vr4300-
* | mips64vr4300el-
* \
387 | mips64vr5000-
* | mips64vr5000el-
* \
388 | mips64vr5900-
* | mips64vr5900el-
* \
389 | mipsisa32-
* | mipsisa32el-
* \
390 | mipsisa32r2-
* | mipsisa32r2el-
* \
391 | mipsisa64-
* | mipsisa64el-
* \
392 | mipsisa64r2-
* | mipsisa64r2el-
* \
393 | mipsisa64sb1-
* | mipsisa64sb1el-
* \
394 | mipsisa64sr71k-
* | mipsisa64sr71kel-
* \
395 | mipstx39-
* | mipstx39el-
* \
399 | nds32-
* | nds32le-
* | nds32be-
* \
401 | none-
* | np1-
* | ns16k-
* | ns32k-
* \
404 | pdp10-
* | pdp11-
* | pj-
* | pjl-
* | pn-
* | power-
* \
405 | powerpc-
* | powerpc64-
* | powerpc64le-
* | powerpcle-
* \
407 | romp-
* | rs6000-
* | rx-
* \
408 | sh-
* | sh
[1234]-* | sh
[24]a-
* | sh
[24]aeb-
* | sh
[23]e-
* | sh
[34]eb-
* | sheb-
* | shbe-
* \
409 | shle-
* | sh
[1234]le-
* | sh3ele-
* | sh64-
* | sh64le-
* \
410 | sparc-
* | sparc64-
* | sparc64b-
* | sparc64v-
* | sparc86x-
* | sparclet-
* \
412 | sparcv8-
* | sparcv9-
* | sparcv9b-
* | sparcv9v-
* | sv1-
* | sx?
-* \
414 | tic30-
* | tic4x-
* | tic54x-
* | tic55x-
* | tic6x-
* | tic80-
* \
418 | v850-
* | v850e-
* | v850e1-
* | v850es-
* | v850e2-
* | v850e2v3-
* \
421 | x86-
* | x86_64-
* | xc16x-
* | xps100-
* \
422 | xstormy16-
* | xtensa
*-* \
426 # Recognize the basic CPU types without company name, with glob match.
428 basic_machine
=$basic_machine-unknown
430 # Recognize the various machine names and aliases which stand
431 # for a CPU type and a company and sometimes even an OS.
433 basic_machine
=i386-unknown
436 3b1 |
7300 |
7300-att | att-7300 | pc7300 | safari | unixpc
)
437 basic_machine
=m68000-att
440 basic_machine
=we32k-att
443 basic_machine
=a29k-amd
447 basic_machine
=abacus-unknown
450 basic_machine
=m68010-adobe
454 basic_machine
=fx80-alliant
457 basic_machine
=m68k-altos
460 basic_machine
=a29k-none
464 basic_machine
=x86_64-pc
467 basic_machine
=x86_64-
`echo $basic_machine | sed 's/^[^-]*-//'`
470 basic_machine
=580-amdahl
474 basic_machine
=m68k-unknown
477 basic_machine
=m68k-unknown
481 basic_machine
=m68k-unknown
485 basic_machine
=m68k-apollo
489 basic_machine
=m68k-apollo
493 basic_machine
=i386-pc
497 basic_machine
=m68k-apple
501 basic_machine
=ns32k-sequent
505 basic_machine
=bfin-unknown
509 basic_machine
=bfin-
`echo $basic_machine | sed 's/^[^-]*-//'`
513 basic_machine
=powerpc-ibm
517 basic_machine
=tic54x-
`echo $basic_machine | sed 's/^[^-]*-//'`
520 basic_machine
=tic55x-
`echo $basic_machine | sed 's/^[^-]*-//'`
523 basic_machine
=tic6x-
`echo $basic_machine | sed 's/^[^-]*-//'`
526 basic_machine
=c90-cray
530 basic_machine
=arm-unknown
534 basic_machine
=c1-convex
538 basic_machine
=c2-convex
542 basic_machine
=c32-convex
546 basic_machine
=c34-convex
550 basic_machine
=c38-convex
554 basic_machine
=j90-cray
558 basic_machine
=craynv-cray
562 basic_machine
=cr16-unknown
566 basic_machine
=m68k-crds
568 crisv32 | crisv32-
* | etraxfs
*)
569 basic_machine
=crisv32-axis
571 cris | cris-
* | etrax
*)
572 basic_machine
=cris-axis
575 basic_machine
=crx-unknown
579 basic_machine
=m68k-da30
581 decstation | decstation-3100 | pmax | pmax-
* | pmin | dec3100 | decstatn
)
582 basic_machine
=mips-dec
584 decsystem10
* | dec10
*)
585 basic_machine
=pdp10-dec
588 decsystem20
* | dec20
*)
589 basic_machine
=pdp10-dec
592 delta |
3300 | motorola-3300 | motorola-delta \
593 |
3300-motorola | delta-motorola
)
594 basic_machine
=m68k-motorola
597 basic_machine
=m88k-motorola
601 basic_machine
=i686-pc
605 basic_machine
=i586-pc
609 basic_machine
=rs6000-bull
613 basic_machine
=m68k-bull
617 basic_machine
=a29k-amd
621 basic_machine
=elxsi-elxsi
624 encore | umax | mmax
)
625 basic_machine
=ns32k-encore
627 es1800 | OSE68k | ose68k | ose | OSE
)
628 basic_machine
=m68k-ericsson
632 basic_machine
=i860-alliant
635 basic_machine
=ns32k-ns
638 basic_machine
=tron-gmicro
642 basic_machine
=i386-pc
646 basic_machine
=hppa1.1
-hitachi
650 basic_machine
=h8300-hitachi
654 basic_machine
=h8300-hitachi
658 basic_machine
=h8500-hitachi
662 basic_machine
=m88k-harris
666 basic_machine
=m68k-hp
669 basic_machine
=m68k-hp
673 basic_machine
=m68k-hp
676 hp3k9
[0-9][0-9] | hp9
[0-9][0-9])
677 basic_machine
=hppa1.0
-hp
679 hp9k2
[0-9][0-9] | hp9k31
[0-9])
680 basic_machine
=m68000-hp
683 basic_machine
=m68k-hp
685 hp9k6
[0-9][0-9] | hp6
[0-9][0-9])
686 basic_machine
=hppa1.0
-hp
688 hp9k7
[0-79][0-9] | hp7
[0-79][0-9])
689 basic_machine
=hppa1.1
-hp
691 hp9k78
[0-9] | hp78
[0-9])
692 # FIXME: really hppa2.0-hp
693 basic_machine
=hppa1.1
-hp
695 hp9k8
[67]1 | hp8
[67]1 | hp9k80
[24] | hp80
[24] | hp9k8
[78]9 | hp8
[78]9 | hp9k893 | hp893
)
696 # FIXME: really hppa2.0-hp
697 basic_machine
=hppa1.1
-hp
699 hp9k8
[0-9][13679] | hp8
[0-9][13679])
700 basic_machine
=hppa1.1
-hp
702 hp9k8
[0-9][0-9] | hp8
[0-9][0-9])
703 basic_machine
=hppa1.0
-hp
709 basic_machine
=hppa1.1
-hp
713 basic_machine
=hppa1.1
-hp
717 basic_machine
=i370-ibm
719 # I'm not sure what "Sysv32" means. Should this be sysv3.2?
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
=`echo $1 | sed -e 's/86.*/86-pc/'`
737 basic_machine
=i386-mach
741 basic_machine
=i386-unknown
745 basic_machine
=mips-sgi
755 basic_machine
=m68k-isi
759 basic_machine
=m68k-unknown
763 basic_machine
=m68k-
`echo $basic_machine | sed 's/^[^-]*-//'`
767 basic_machine
=m88k-omron
770 basic_machine
=mips-mips
774 basic_machine
=ns32k-utek
778 basic_machine
=microblaze-xilinx
781 basic_machine
=i386-pc
785 basic_machine
=arm-unknown
789 basic_machine
=m68000-convergent
791 *mint |
-mint[0-9]* |
*MiNT |
*MiNT
[0-9]*)
792 basic_machine
=m68k-atari
796 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`
799 basic_machine
=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
802 basic_machine
=m68k-rom68k
806 basic_machine
=powerpc-unknown
810 basic_machine
=i386-pc
814 basic_machine
=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
817 basic_machine
=i370-ibm
821 basic_machine
=le32-unknown
825 basic_machine
=i486-ncr
829 basic_machine
=i386-unknown
833 basic_machine
=armv4l-rebel
836 news | news700 | news800 | news900
)
837 basic_machine
=m68k-sony
841 basic_machine
=m68030-sony
844 news-3600 | risc-news
)
845 basic_machine
=mips-sony
849 basic_machine
=v70-nec
853 basic_machine
=m68k-next
866 basic_machine
=m68k-harris
870 basic_machine
=m88k-harris
874 basic_machine
=i960-intel
878 basic_machine
=i960-intel
882 basic_machine
=mips-compaq
886 basic_machine
=np1-gould
889 basic_machine
=neo-tandem
892 basic_machine
=nse-tandem
895 basic_machine
=nsr-tandem
898 basic_machine
=hppa1.1
-oki
901 openrisc | openrisc-
*)
902 basic_machine
=or32-unknown
905 basic_machine
=powerpc-ibm
909 basic_machine
=m68000-ericsson
913 basic_machine
=m68k-none
917 basic_machine
=hppa1.1
-hitachi
921 basic_machine
=i860-intel
925 basic_machine
=hppa-unknown
929 basic_machine
=hppa-
`echo $basic_machine | sed 's/^[^-]*-//'`
933 basic_machine
=sparc-tti
936 basic_machine
=m68k-tti
939 basic_machine
=ns32k-pc532
942 basic_machine
=i386-pc
945 basic_machine
=i386-
`echo $basic_machine | sed 's/^[^-]*-//'`
947 pentium | p5 | k5 | k6 | nexgen | viac3
)
948 basic_machine
=i586-pc
950 pentiumpro | p6 |
6x86 | athlon | athlon_
*)
951 basic_machine
=i686-pc
953 pentiumii | pentium2 | pentiumiii | pentium3
)
954 basic_machine
=i686-pc
957 basic_machine
=i786-pc
959 pentium-
* | p5-
* | k5-
* | k6-
* | nexgen-
* | viac3-
*)
960 basic_machine
=i586-
`echo $basic_machine | sed 's/^[^-]*-//'`
962 pentiumpro-
* | p6-
* |
6x86-
* | athlon-
*)
963 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
965 pentiumii-
* | pentium2-
* | pentiumiii-
* | pentium3-
*)
966 basic_machine
=i686-
`echo $basic_machine | sed 's/^[^-]*-//'`
969 basic_machine
=i786-
`echo $basic_machine | sed 's/^[^-]*-//'`
972 basic_machine
=pn-gould
974 power
) basic_machine
=power-ibm
976 ppc | ppcbe
) basic_machine
=powerpc-unknown
979 basic_machine
=powerpc-
`echo $basic_machine | sed 's/^[^-]*-//'`
981 ppcle | powerpclittle | ppc-le | powerpc-little
)
982 basic_machine
=powerpcle-unknown
984 ppcle-
* | powerpclittle-
*)
985 basic_machine
=powerpcle-
`echo $basic_machine | sed 's/^[^-]*-//'`
987 ppc64
) basic_machine
=powerpc64-unknown
989 ppc64-
*) basic_machine
=powerpc64-
`echo $basic_machine | sed 's/^[^-]*-//'`
991 ppc64le | powerpc64little | ppc64-le | powerpc64-little
)
992 basic_machine
=powerpc64le-unknown
994 ppc64le-
* | powerpc64little-
*)
995 basic_machine
=powerpc64le-
`echo $basic_machine | sed 's/^[^-]*-//'`
998 basic_machine
=i386-ibm
1001 basic_machine
=i586-unknown
1005 basic_machine
=i386-pc
1009 basic_machine
=m68k-rom68k
1013 basic_machine
=mips-siemens
1016 basic_machine
=romp-ibm
1019 basic_machine
=s390-ibm
1022 basic_machine
=s390x-ibm
1025 basic_machine
=a29k-amd
1029 basic_machine
=mipsisa64sb1-unknown
1032 basic_machine
=mipsisa64sb1el-unknown
1035 basic_machine
=mipsisa32-sde
1039 basic_machine
=mips-sei
1043 basic_machine
=i386-sequent
1046 basic_machine
=sh-hitachi
1050 basic_machine
=sh5le-unknown
1053 basic_machine
=sh64-unknown
1055 sparclite-wrs | simso-wrs
)
1056 basic_machine
=sparclite-wrs
1060 basic_machine
=m68k-bull
1064 basic_machine
=spur-unknown
1067 basic_machine
=m68k-tandem
1070 basic_machine
=i860-stratus
1073 strongarm-
* | thumb-
*)
1074 basic_machine
=arm-
`echo $basic_machine | sed 's/^[^-]*-//'`
1077 basic_machine
=m68000-sun
1080 basic_machine
=m68000-sun
1084 basic_machine
=m68000-sun
1088 basic_machine
=m68k-sun
1092 basic_machine
=m68k-sun
1096 basic_machine
=sparc-sun
1100 basic_machine
=sparc-sun
1104 basic_machine
=sparc-sun
1108 basic_machine
=m68k-sun
1111 basic_machine
=sparc-sun
1113 sun386 | sun386i | roadrunner
)
1114 basic_machine
=i386-sun
1117 basic_machine
=sv1-cray
1121 basic_machine
=i386-sequent
1125 basic_machine
=alphaev5-cray
1129 basic_machine
=t90-cray
1133 basic_machine
=$basic_machine-unknown
1137 basic_machine
=mipstx39-unknown
1140 basic_machine
=mipstx39el-unknown
1143 basic_machine
=pdp10-xkl
1147 basic_machine
=m68k-ncr
1150 basic_machine
=s390x-ibm
1154 basic_machine
=a29k-amd
1158 basic_machine
=a29k-nyu
1162 basic_machine
=v810-nec
1166 basic_machine
=vax-dec
1170 basic_machine
=vax-dec
1174 basic_machine
=f301-fujitsu
1177 basic_machine
=i960-wrs
1181 basic_machine
=m68k-wrs
1185 basic_machine
=a29k-wrs
1189 basic_machine
=w65-wdc
1193 basic_machine
=hppa1.1
-winbond
1197 basic_machine
=i686-pc
1201 basic_machine
=xps100-honeywell
1203 xscale-
* | xscalee
[bl
]-*)
1204 basic_machine
=`echo $basic_machine | sed 's/^xscale/arm/'`
1207 basic_machine
=ymp-cray
1211 basic_machine
=z8k-unknown
1215 basic_machine
=z80-unknown
1219 basic_machine
=none-none
1223 # Here we handle the default manufacturer of certain CPU types. It is in
1224 # some cases the only manufacturer, in others, it is the most popular.
1226 basic_machine
=hppa1.1
-winbond
1229 basic_machine
=hppa1.1
-oki
1232 basic_machine
=hppa1.1
-oki
1235 basic_machine
=romp-ibm
1238 basic_machine
=mmix-knuth
1241 basic_machine
=rs6000-ibm
1244 basic_machine
=vax-dec
1247 # there are many clones, so DEC is not a safe bet
1248 basic_machine
=pdp10-unknown
1251 basic_machine
=pdp11-dec
1254 basic_machine
=we32k-att
1256 sh
[1234] | sh
[24]a | sh
[24]aeb | sh
[34]eb | sh
[1234]le | sh
[23]ele
)
1257 basic_machine
=sh-unknown
1259 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v
)
1260 basic_machine
=sparc-sun
1263 basic_machine
=cydra-cydrome
1266 basic_machine
=orion-highlevel
1269 basic_machine
=clipper-highlevel
1271 mac | mpw | mac-mpw
)
1272 basic_machine
=m68k-apple
1275 basic_machine
=powerpc-apple
1278 # Make sure to match an already-canonicalized machine name.
1281 echo Invalid configuration \
`$1\': machine \`$basic_machine\' not recognized
1>&2
1286 # Here we canonicalize certain aliases for manufacturers.
1287 case $basic_machine in
1289 basic_machine
=`echo $basic_machine | sed 's/digital.*/dec/'`
1292 basic_machine
=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1298 # Decode manufacturer-specific aliases for certain operating systems.
1300 if [ x
"$os" != x
"" ]
1303 # First match some system type aliases
1304 # that might get confused with valid system types.
1305 # -solaris* is a basic system type, with this one exception.
1309 -solaris1 |
-solaris1.
*)
1310 os
=`echo $os | sed -e 's|solaris1|sunos4|'`
1322 os
=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1324 # First accept the basic system types.
1325 # The portable systems comes first.
1326 # Each alternative MUST END IN A *, to match a version number.
1327 # -sysv* is not here because it comes later, after sysvr4.
1328 -gnu* |
-bsd* |
-mach* |
-minix* |
-genix* |
-ultrix* |
-irix* \
1329 |
-*vms
* |
-sco* |
-esix* |
-isc* |
-aix* |
-cnk* |
-sunos |
-sunos[34]*\
1330 |
-hpux* |
-unos* |
-osf* |
-luna* |
-dgux* |
-auroraux* |
-solaris* \
1331 |
-sym* |
-kopensolaris* \
1332 |
-amigaos* |
-amigados* |
-msdos* |
-newsos* |
-unicos* |
-aof* \
1334 |
-nindy* |
-vxsim* |
-vxworks* |
-ebmon* |
-hms* |
-mvs* \
1335 |
-clix* |
-riscos* |
-uniplus* |
-iris* |
-rtu* |
-xenix* \
1336 |
-hiux* |
-386bsd* |
-knetbsd* |
-mirbsd* |
-netbsd* \
1337 |
-openbsd* |
-solidbsd* \
1338 |
-ekkobsd* |
-kfreebsd* |
-freebsd* |
-riscix* |
-lynxos* \
1339 |
-bosx* |
-nextstep* |
-cxux* |
-aout* |
-elf* |
-oabi* \
1340 |
-ptx* |
-coff* |
-ecoff* |
-winnt* |
-domain* |
-vsta* \
1341 |
-udi* |
-eabi* |
-lites* |
-ieee* |
-go32* |
-aux* \
1342 |
-chorusos* |
-chorusrdb* |
-cegcc* \
1343 |
-cygwin* |
-pe* |
-psos* |
-moss* |
-proelf* |
-rtems* \
1344 |
-mingw32* |
-linux-gnu* |
-linux-android* \
1345 |
-linux-newlib* |
-linux-uclibc* \
1346 |
-uxpv* |
-beos* |
-mpeix* |
-udk* \
1347 |
-interix* |
-uwin* |
-mks* |
-rhapsody* |
-darwin* |
-opened* \
1348 |
-openstep* |
-oskit* |
-conix* |
-pw32* |
-nonstopux* \
1349 |
-storm-chaos* |
-tops10* |
-tenex* |
-tops20* |
-its* \
1350 |
-os2* |
-vos* |
-palmos* |
-uclinux* |
-nucleus* \
1351 |
-morphos* |
-superux* |
-rtmk* |
-rtmk-nova* |
-windiss* \
1352 |
-powermax* |
-dnix* |
-nx6 |
-nx7 |
-sei* |
-dragonfly* \
1353 |
-skyos* |
-haiku* |
-rdos* |
-toppers* |
-drops* |
-es*)
1354 # Remember, each alternative MUST END IN *, to match a version number.
1357 case $basic_machine in
1368 os
=`echo $os | sed -e 's|nto|nto-qnx|'`
1370 -sim |
-es1800* |
-hms* |
-xray |
-os68k* |
-none* |
-v88r* \
1371 |
-windows* |
-osx |
-abug |
-netware* |
-os9* |
-beos* |
-haiku* \
1372 |
-macos* |
-mpw* |
-magic* |
-mmixware* |
-mon960* |
-lnews*)
1375 os
=`echo $os | sed -e 's|mac|macos|'`
1381 os
=`echo $os | sed -e 's|linux|linux-gnu|'`
1384 os
=`echo $os | sed -e 's|sunos5|solaris2|'`
1387 os
=`echo $os | sed -e 's|sunos6|solaris3|'`
1434 # Preserve the version number of sinix5.
1436 os
=`echo $os | sed -e 's|sinix|sysv|'`
1459 # This must come after -sysvr4.
1471 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1491 # Get rid of the `-' at the beginning of $os.
1492 os
=`echo $os | sed 's/[^-]*-//'`
1493 echo Invalid configuration \
`$1\': system \`$os\' not recognized
1>&2
1499 # Here we handle the default operating systems that come with various machines.
1500 # The value should be what the vendor currently ships out the door with their
1501 # machine or put another way, the most popular os provided with the machine.
1503 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1504 # "-sun"), then you have to tell the case statement up towards the top
1505 # that MANUFACTURER isn't an operating system. Otherwise, code above
1506 # will signal an error saying that MANUFACTURER isn't an operating
1507 # system, and we'll never get to this point.
1509 case $basic_machine in
1537 # This must come before the *-dec entry.
1555 # This also exists in the configure program, but was not the
1574 *-tti) # must be before sparc entry or we get the wrong os.
1607 i860-
* |
*-att |
*-ncr |
*-altos |
*-motorola |
*-convergent)
1661 f30
[01]-fujitsu | f700-fujitsu
)
1682 # Here we handle the case where we know the os, and the CPU type, but not the
1683 # manufacturer. We pick the logical manufacturer.
1685 case $basic_machine in
1733 -vxsim* |
-vxworks* |
-windiss*)
1745 -*mint |
-mint[0-9]* |
-*MiNT |
-MiNT[0-9]*)
1752 basic_machine
=`echo $basic_machine | sed "s/unknown/$vendor/"`
1756 echo $basic_machine$os
1760 # eval: (add-hook 'write-file-hooks 'time-stamp)
1761 # time-stamp-start: "timestamp='"
1762 # time-stamp-format: "%:y-%02m-%02d"
1763 # time-stamp-end: "'"