2
2
# Configuration validation subroutine script.
3
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002 Free Software Foundation, Inc.
4
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
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
34
# Please send patches to <config-patches@gnu.org>. Submit a context
33
35
# diff and a properly formatted ChangeLog entry.
71
73
GNU config.sub ($timestamp)
73
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
74
Free Software Foundation, Inc.
75
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
76
78
This is free software; see the source for copying conditions. There is NO
77
79
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
118
120
# Here we must recognize all the valid KERNEL-OS combinations.
119
121
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
120
122
case $maybe_os in
121
nto-qnx* | linux-gnu* | freebsd*-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
123
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125
kopensolaris*-gnu* | \
126
storm-chaos* | os2-emx* | rtmk-nova*)
123
128
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
229
245
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
230
246
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
231
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
248
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
232
250
| c4x | clipper \
233
251
| d10v | d30v | dlx | dsp16xx \
252
| fido | fr30 | frv \
235
253
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
236
254
| i370 | i860 | i960 | ia64 \
238
| m32r | m68000 | m68k | m88k | mcore \
257
| m32c | m32r | m32rle | m68000 | m68k | m88k \
258
| maxq | mb | microblaze | mcore | mep | metag \
239
259
| mips | mipsbe | mipseb | mipsel | mipsle \
241
261
| mips64 | mips64el \
262
| mips64octeon | mips64octeonel \
242
263
| mips64orion | mips64orionel \
264
| mips64r5900 | mips64r5900el \
265
| mips64vr | mips64vrel \
243
266
| mips64vr4100 | mips64vr4100el \
244
267
| mips64vr4300 | mips64vr4300el \
245
268
| mips64vr5000 | mips64vr5000el \
269
| mips64vr5900 | mips64vr5900el \
246
270
| mipsisa32 | mipsisa32el \
271
| mipsisa32r2 | mipsisa32r2el \
247
272
| mipsisa64 | mipsisa64el \
273
| mipsisa64r2 | mipsisa64r2el \
248
274
| mipsisa64sb1 | mipsisa64sb1el \
275
| mipsisa64sr71k | mipsisa64sr71kel \
249
276
| mipstx39 | mipstx39el \
250
277
| mn10200 | mn10300 \
251
282
| ns16k | ns32k \
253
284
| pdp10 | pdp11 | pj | pjl \
254
285
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
256
| sh | sh[1234] | sh3e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
288
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
257
289
| sh64 | sh64le \
258
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
260
| tahoe | thumb | tic80 | tron \
290
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
291
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
293
| tahoe | thumb | tic4x | tic80 | tron \
263
| x86 | xscale | xstormy16 | xtensa \
296
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
265
298
basic_machine=$basic_machine-unknown
267
300
m6811 | m68hc11 | m6812 | m68hc12)
290
326
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
291
327
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
292
328
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
295
| c[123]* | c30-* | [cjt]90-* | c54x-* \
296
| clipper-* | cydra-* \
330
| bfin-* | bs2000-* \
331
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
332
| clipper-* | craynv-* | cydra-* \
297
333
| d10v-* | d30v-* | dlx-* \
299
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
335
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
300
336
| h8300-* | h8500-* \
301
337
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
302
338
| i*86-* | i860-* | i960-* | ia64-* \
339
| ip2k-* | iq2000-* \
341
| m32c-* | m32r-* | m32rle-* \
305
342
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
306
| m88110-* | m88k-* | mcore-* \
343
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
307
344
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
309
346
| mips64-* | mips64el-* \
347
| mips64octeon-* | mips64octeonel-* \
310
348
| mips64orion-* | mips64orionel-* \
349
| mips64r5900-* | mips64r5900el-* \
350
| mips64vr-* | mips64vrel-* \
311
351
| mips64vr4100-* | mips64vr4100el-* \
312
352
| mips64vr4300-* | mips64vr4300el-* \
313
353
| mips64vr5000-* | mips64vr5000el-* \
354
| mips64vr5900-* | mips64vr5900el-* \
314
355
| mipsisa32-* | mipsisa32el-* \
356
| mipsisa32r2-* | mipsisa32r2el-* \
315
357
| mipsisa64-* | mipsisa64el-* \
358
| mipsisa64r2-* | mipsisa64r2el-* \
316
359
| mipsisa64sb1-* | mipsisa64sb1el-* \
317
| mipstx39 | mipstx39el \
360
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
361
| mipstx39-* | mipstx39el-* \
318
366
| none-* | np1-* | ns16k-* | ns32k-* \
320
368
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
321
369
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
323
371
| romp-* | rs6000-* \
324
| sh-* | sh[1234]-* | sh3e-* | sh[34]eb-* | shbe-* \
372
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
325
373
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
326
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
327
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
328
| tahoe-* | thumb-* | tic30-* | tic54x-* | tic80-* | tron-* \
374
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
376
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
377
| tahoe-* | thumb-* \
378
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
329
380
| v850-* | v850e-* | vax-* \
331
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
382
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
383
| xstormy16-* | xtensa*-* \
387
# Recognize the basic CPU types without company name, with glob match.
389
basic_machine=$basic_machine-unknown
336
391
# Recognize the various machine names and aliases which stand
337
392
# for a CPU type and a company and sometimes even an OS.
739
860
basic_machine=i860-intel
864
basic_machine=hppa-unknown
868
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
743
872
basic_machine=sparc-tti
746
875
basic_machine=m68k-tti
749
878
basic_machine=ns32k-pc532
881
basic_machine=i386-pc
884
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
751
886
pentium | p5 | k5 | k6 | nexgen | viac3)
752
887
basic_machine=i586-pc
754
pentiumpro | p6 | 6x86 | athlon)
755
basic_machine=i686-pc
757
pentiumii | pentium2)
758
basic_machine=i686-pc
889
pentiumpro | p6 | 6x86 | athlon | athlon_*)
890
basic_machine=i686-pc
892
pentiumii | pentium2 | pentiumiii | pentium3)
893
basic_machine=i686-pc
896
basic_machine=i786-pc
760
898
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
761
899
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
763
901
pentiumpro-* | p6-* | 6x86-* | athlon-*)
764
902
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
766
pentiumii-* | pentium2-*)
904
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
767
905
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
908
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
770
911
basic_machine=pn-gould
772
913
power) basic_machine=power-ibm
774
915
ppc) basic_machine=powerpc-unknown
776
917
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
778
919
ppcle | powerpclittle | ppc-le | powerpc-little)
779
920
basic_machine=powerpcle-unknown
781
922
ppcle-* | powerpclittle-*)
782
923
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
784
925
ppc64) basic_machine=powerpc64-unknown
786
927
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
788
929
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
789
930
basic_machine=powerpc64le-unknown
791
932
ppc64le-* | powerpc64little-*)
792
933
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1090
1267
# Each alternative MUST END IN A *, to match a version number.
1091
1268
# -sysv* is not here because it comes later, after sysvr4.
1092
1269
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1093
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1270
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1094
1271
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1095
1273
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1097
1275
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1098
1276
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1099
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
1100
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1277
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1278
| -openbsd* | -solidbsd* \
1279
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1280
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1101
1281
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1102
1282
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1103
| -chorusos* | -chorusrdb* \
1283
| -chorusos* | -chorusrdb* | -cegcc* \
1104
1284
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1105
| -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
1106
| -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \
1285
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1286
| -uxpv* | -beos* | -mpeix* | -udk* \
1287
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1107
1288
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1108
1289
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1109
1290
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1110
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* | -powermax*)
1291
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1292
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1293
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1111
1294
# Remember, each alternative MUST END IN *, to match a version number.