2
2
# Configuration validation subroutine script.
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4
5
# Free Software Foundation, Inc.
8
9
# This file is (in principle) common to ALL GNU software.
9
10
# The presence of a machine in this file suggests that SOME GNU software
22
23
# You should have received a copy of the GNU General Public License
23
24
# along with this program; if not, write to the Free Software
24
# Foundation, Inc., 59 Temple Place - Suite 330,
25
# Boston, MA 02111-1307, USA.
25
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
27
28
# As a special exception to the GNU General Public License, if you
28
29
# distribute this file as part of a program that contains a
29
30
# configuration script generated by Autoconf, you may include it under
30
31
# the same distribution terms that you use for the rest of that program.
32
# Please send patches to <config-patches@gnu.org>.
34
# Please send patches to <config-patches@gnu.org>. Submit a context
35
# diff and a properly formatted GNU ChangeLog entry.
34
37
# Configuration subroutine to validate and canonicalize a configuration type.
35
38
# Supply the specified configuration type as an argument.
36
39
# If it is invalid, we print an error message on stderr and exit with code 1.
37
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
39
45
# This file is supposed to be the same for all GNU packages
40
46
# and recognize all the CPU types, system types and aliases
41
47
# that are meaningful with *any* GNU software.
70
76
GNU config.sub ($timestamp)
72
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
73
Free Software Foundation, Inc.
78
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80
Software Foundation, Inc.
75
82
This is free software; see the source for copying conditions. There is NO
76
83
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
215
244
case $basic_machine in
216
245
# Recognize the basic CPU types without company name.
217
246
# Some are omitted here because they have special meanings below.
218
tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \
219
| arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \
220
| pyramid | mn10200 | mn10300 | tron | a29k \
221
| 580 | i960 | h8300 \
222
| x86 | ppcbe | mipsbe | mipsle | shbe | shle \
223
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
225
| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
227
| we32k | ns16k | clipper | i370 | sh | sh[34] \
228
| powerpc | powerpcle \
229
| 1750a | dsp16xx | pdp10 | pdp11 \
230
| mips16 | mips64 | mipsel | mips64el \
231
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
232
| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
233
| mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \
234
| sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \
236
| thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \
249
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
250
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
252
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
255
| d10v | d30v | dlx | dsp16xx \
256
| fido | fr30 | frv \
257
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
258
| i370 | i860 | i960 | ia64 \
261
| m32c | m32r | m32rle | m68000 | m68k | m88k \
262
| maxq | mb | microblaze | mcore | mep | metag \
263
| mips | mipsbe | mipseb | mipsel | mipsle \
265
| mips64 | mips64el \
266
| mips64octeon | mips64octeonel \
267
| mips64orion | mips64orionel \
268
| mips64r5900 | mips64r5900el \
269
| mips64vr | mips64vrel \
270
| mips64vr4100 | mips64vr4100el \
271
| mips64vr4300 | mips64vr4300el \
272
| mips64vr5000 | mips64vr5000el \
273
| mips64vr5900 | mips64vr5900el \
274
| mipsisa32 | mipsisa32el \
275
| mipsisa32r2 | mipsisa32r2el \
276
| mipsisa64 | mipsisa64el \
277
| mipsisa64r2 | mipsisa64r2el \
278
| mipsisa64sb1 | mipsisa64sb1el \
279
| mipsisa64sr71k | mipsisa64sr71kel \
280
| mipstx39 | mipstx39el \
281
| mn10200 | mn10300 \
288
| pdp10 | pdp11 | pj | pjl \
289
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
293
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
295
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
296
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
298
| tahoe | thumb | tic4x | tic80 | tron \
302
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
238
304
basic_machine=$basic_machine-unknown
240
m6811 | m68hc11 | m6812 | m68hc12)
306
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
241
307
# Motorola 68HC11/12.
242
308
basic_machine=$basic_machine-unknown
245
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65)
311
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
314
basic_machine=mt-unknown
248
317
# We use `pc' rather than `unknown'
259
328
# Recognize the basic CPU types with company name.
260
# FIXME: clean up the formatting here.
261
vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \
262
| m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \
263
| arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \
264
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
265
| power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \
267
| x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \
268
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \
269
| hppa2.0n-* | hppa64-* \
270
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
272
| we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
273
| clipper-* | orion-* \
274
| sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
275
| sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \
276
| mips16-* | mips64-* | mipsel-* \
277
| mips64el-* | mips64orion-* | mips64orionel-* \
278
| mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
279
| mipstx39-* | mipstx39el-* | mcore-* \
280
| f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \
282
| m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \
283
| thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \
284
| bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*)
331
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
332
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
333
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
334
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
336
| bfin-* | bs2000-* \
337
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
338
| clipper-* | craynv-* | cydra-* \
339
| d10v-* | d30v-* | dlx-* \
341
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
342
| h8300-* | h8500-* \
343
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
344
| i*86-* | i860-* | i960-* | ia64-* \
345
| ip2k-* | iq2000-* \
347
| m32c-* | m32r-* | m32rle-* \
348
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
349
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
350
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
352
| mips64-* | mips64el-* \
353
| mips64octeon-* | mips64octeonel-* \
354
| mips64orion-* | mips64orionel-* \
355
| mips64r5900-* | mips64r5900el-* \
356
| mips64vr-* | mips64vrel-* \
357
| mips64vr4100-* | mips64vr4100el-* \
358
| mips64vr4300-* | mips64vr4300el-* \
359
| mips64vr5000-* | mips64vr5000el-* \
360
| mips64vr5900-* | mips64vr5900el-* \
361
| mipsisa32-* | mipsisa32el-* \
362
| mipsisa32r2-* | mipsisa32r2el-* \
363
| mipsisa64-* | mipsisa64el-* \
364
| mipsisa64r2-* | mipsisa64r2el-* \
365
| mipsisa64sb1-* | mipsisa64sb1el-* \
366
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
367
| mipstx39-* | mipstx39el-* \
372
| none-* | np1-* | ns16k-* | ns32k-* \
374
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
375
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
377
| romp-* | rs6000-* | rx-* \
378
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
379
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
380
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
382
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
383
| tahoe-* | thumb-* \
384
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
385
| tile-* | tilegx-* \
388
| v850-* | v850e-* | vax-* \
390
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
391
| xstormy16-* | xtensa*-* \
395
# Recognize the basic CPU types without company name, with glob match.
397
basic_machine=$basic_machine-unknown
286
399
# Recognize the various machine names and aliases which stand
287
400
# for a CPU type and a company and sometimes even an OS.
685
871
basic_machine=i860-intel
875
basic_machine=hppa-unknown
879
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
689
883
basic_machine=sparc-tti
692
886
basic_machine=m68k-tti
695
889
basic_machine=ns32k-pc532
697
pentium | p5 | k5 | k6 | nexgen)
892
basic_machine=i386-pc
895
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
897
pentium | p5 | k5 | k6 | nexgen | viac3)
698
898
basic_machine=i586-pc
700
pentiumpro | p6 | 6x86 | athlon)
701
basic_machine=i686-pc
703
pentiumii | pentium2)
704
basic_machine=i686-pc
706
pentium-* | p5-* | k5-* | k6-* | nexgen-*)
900
pentiumpro | p6 | 6x86 | athlon | athlon_*)
901
basic_machine=i686-pc
903
pentiumii | pentium2 | pentiumiii | pentium3)
904
basic_machine=i686-pc
907
basic_machine=i786-pc
909
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
707
910
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
709
912
pentiumpro-* | p6-* | 6x86-* | athlon-*)
710
913
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
712
pentiumii-* | pentium2-*)
915
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
713
916
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
919
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
716
922
basic_machine=pn-gould
718
924
power) basic_machine=power-ibm
720
926
ppc) basic_machine=powerpc-unknown
722
928
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
724
930
ppcle | powerpclittle | ppc-le | powerpc-little)
725
931
basic_machine=powerpcle-unknown
727
933
ppcle-* | powerpclittle-*)
728
934
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
936
ppc64) basic_machine=powerpc64-unknown
938
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
940
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
941
basic_machine=powerpc64le-unknown
943
ppc64le-* | powerpc64little-*)
944
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
731
947
basic_machine=i386-ibm
1008
1286
# Each alternative MUST END IN A *, to match a version number.
1009
1287
# -sysv* is not here because it comes later, after sysvr4.
1010
1288
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1011
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1012
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1289
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1290
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1291
| -sym* | -kopensolaris* \
1013
1292
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1015
1294
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1016
1295
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1017
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1018
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1296
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1297
| -openbsd* | -solidbsd* \
1298
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1299
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1019
1300
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1020
1301
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1302
| -chorusos* | -chorusrdb* | -cegcc* \
1021
1303
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1022
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1023
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
1304
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1305
| -uxpv* | -beos* | -mpeix* | -udk* \
1306
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1024
1307
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1025
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*)
1308
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1309
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1310
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1311
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1312
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1026
1313
# Remember, each alternative MUST END IN *, to match a version number.