summaryrefslogtreecommitdiff
path: root/config.sub
diff options
context:
space:
mode:
Diffstat (limited to 'config.sub')
-rwxr-xr-xconfig.sub81
1 files changed, 61 insertions, 20 deletions
diff --git a/config.sub b/config.sub
index a649350a6..c2d125724 100755
--- a/config.sub
+++ b/config.sub
@@ -1,10 +1,10 @@
1#! /bin/sh 1#! /bin/sh
2# Configuration validation subroutine script. 2# Configuration validation subroutine script.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5# Free Software Foundation, Inc. 5# Free Software Foundation, Inc.
6 6
7timestamp='2008-06-16' 7timestamp='2010-01-22'
8 8
9# This file is (in principle) common to ALL GNU software. 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 10# The presence of a machine in this file suggests that SOME GNU software
@@ -32,13 +32,16 @@ timestamp='2008-06-16'
32 32
33 33
34# Please send patches to <config-patches@gnu.org>. Submit a context 34# Please send patches to <config-patches@gnu.org>. Submit a context
35# diff and a properly formatted ChangeLog entry. 35# diff and a properly formatted GNU ChangeLog entry.
36# 36#
37# Configuration subroutine to validate and canonicalize a configuration type. 37# Configuration subroutine to validate and canonicalize a configuration type.
38# Supply the specified configuration type as an argument. 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. 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. 40# Otherwise, we print the canonical config type on stdout and succeed.
41 41
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
44
42# This file is supposed to be the same for all GNU packages 45# This file is supposed to be the same for all GNU packages
43# and recognize all the CPU types, system types and aliases 46# and recognize all the CPU types, system types and aliases
44# that are meaningful with *any* GNU software. 47# that are meaningful with *any* GNU software.
@@ -72,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>."
72version="\ 75version="\
73GNU config.sub ($timestamp) 76GNU config.sub ($timestamp)
74 77
75Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 78Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
762002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 792001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80Software Foundation, Inc.
77 81
78This is free software; see the source for copying conditions. There is NO 82This is free software; see the source for copying conditions. There is NO
79warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 83warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -122,6 +126,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122case $maybe_os in 126case $maybe_os in
123 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ 127 nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ 128 uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
129 kopensolaris*-gnu* | \
125 storm-chaos* | os2-emx* | rtmk-nova*) 130 storm-chaos* | os2-emx* | rtmk-nova*)
126 os=-$maybe_os 131 os=-$maybe_os
127 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 132 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
@@ -148,10 +153,13 @@ case $os in
148 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 153 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 154 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 155 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151 -apple | -axis | -knuth | -cray) 156 -apple | -axis | -knuth | -cray | -microblaze)
152 os= 157 os=
153 basic_machine=$1 158 basic_machine=$1
154 ;; 159 ;;
160 -bluegene*)
161 os=-cnk
162 ;;
155 -sim | -cisco | -oki | -wec | -winbond) 163 -sim | -cisco | -oki | -wec | -winbond)
156 os= 164 os=
157 basic_machine=$1 165 basic_machine=$1
@@ -249,6 +257,7 @@ case $basic_machine in
249 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 257 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
250 | i370 | i860 | i960 | ia64 \ 258 | i370 | i860 | i960 | ia64 \
251 | ip2k | iq2000 \ 259 | ip2k | iq2000 \
260 | lm32 \
252 | m32c | m32r | m32rle | m68000 | m68k | m88k \ 261 | m32c | m32r | m32rle | m68000 | m68k | m88k \
253 | maxq | mb | microblaze | mcore | mep | metag \ 262 | maxq | mb | microblaze | mcore | mep | metag \
254 | mips | mipsbe | mipseb | mipsel | mipsle \ 263 | mips | mipsbe | mipseb | mipsel | mipsle \
@@ -270,6 +279,7 @@ case $basic_machine in
270 | mipsisa64sr71k | mipsisa64sr71kel \ 279 | mipsisa64sr71k | mipsisa64sr71kel \
271 | mipstx39 | mipstx39el \ 280 | mipstx39 | mipstx39el \
272 | mn10200 | mn10300 \ 281 | mn10200 | mn10300 \
282 | moxie \
273 | mt \ 283 | mt \
274 | msp430 \ 284 | msp430 \
275 | nios | nios2 \ 285 | nios | nios2 \
@@ -278,20 +288,22 @@ case $basic_machine in
278 | pdp10 | pdp11 | pj | pjl \ 288 | pdp10 | pdp11 | pj | pjl \
279 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 289 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
280 | pyramid \ 290 | pyramid \
291 | rx \
281 | score \ 292 | score \
282 | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 293 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
283 | sh64 | sh64le \ 294 | sh64 | sh64le \
284 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 295 | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
285 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 296 | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
286 | spu | strongarm \ 297 | spu | strongarm \
287 | tahoe | thumb | tic4x | tic80 | tron \ 298 | tahoe | thumb | tic4x | tic80 | tron \
299 | ubicom32 \
288 | v850 | v850e \ 300 | v850 | v850e \
289 | we32k \ 301 | we32k \
290 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 302 | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
291 | z8k) 303 | z8k | z80)
292 basic_machine=$basic_machine-unknown 304 basic_machine=$basic_machine-unknown
293 ;; 305 ;;
294 m6811 | m68hc11 | m6812 | m68hc12) 306 m6811 | m68hc11 | m6812 | m68hc12 | picochip)
295 # Motorola 68HC11/12. 307 # Motorola 68HC11/12.
296 basic_machine=$basic_machine-unknown 308 basic_machine=$basic_machine-unknown
297 os=-none 309 os=-none
@@ -331,9 +343,10 @@ case $basic_machine in
331 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 343 | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
332 | i*86-* | i860-* | i960-* | ia64-* \ 344 | i*86-* | i860-* | i960-* | ia64-* \
333 | ip2k-* | iq2000-* \ 345 | ip2k-* | iq2000-* \
346 | lm32-* \
334 | m32c-* | m32r-* | m32rle-* \ 347 | m32c-* | m32r-* | m32rle-* \
335 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 348 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
336 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 349 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
337 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 350 | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
338 | mips16-* \ 351 | mips16-* \
339 | mips64-* | mips64el-* \ 352 | mips64-* | mips64el-* \
@@ -361,21 +374,23 @@ case $basic_machine in
361 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 374 | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
362 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 375 | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
363 | pyramid-* \ 376 | pyramid-* \
364 | romp-* | rs6000-* \ 377 | romp-* | rs6000-* | rx-* \
365 | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 378 | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
366 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 379 | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
367 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 380 | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
368 | sparclite-* \ 381 | sparclite-* \
369 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 382 | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
370 | tahoe-* | thumb-* \ 383 | tahoe-* | thumb-* \
371 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ 384 | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
385 | tile-* | tilegx-* \
372 | tron-* \ 386 | tron-* \
387 | ubicom32-* \
373 | v850-* | v850e-* | vax-* \ 388 | v850-* | v850e-* | vax-* \
374 | we32k-* \ 389 | we32k-* \
375 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 390 | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
376 | xstormy16-* | xtensa*-* \ 391 | xstormy16-* | xtensa*-* \
377 | ymp-* \ 392 | ymp-* \
378 | z8k-*) 393 | z8k-* | z80-*)
379 ;; 394 ;;
380 # Recognize the basic CPU types without company name, with glob match. 395 # Recognize the basic CPU types without company name, with glob match.
381 xtensa*) 396 xtensa*)
@@ -443,6 +458,10 @@ case $basic_machine in
443 basic_machine=m68k-apollo 458 basic_machine=m68k-apollo
444 os=-bsd 459 os=-bsd
445 ;; 460 ;;
461 aros)
462 basic_machine=i386-pc
463 os=-aros
464 ;;
446 aux) 465 aux)
447 basic_machine=m68k-apple 466 basic_machine=m68k-apple
448 os=-aux 467 os=-aux
@@ -459,6 +478,10 @@ case $basic_machine in
459 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 478 basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
460 os=-linux 479 os=-linux
461 ;; 480 ;;
481 bluegene*)
482 basic_machine=powerpc-ibm
483 os=-cnk
484 ;;
462 c90) 485 c90)
463 basic_machine=c90-cray 486 basic_machine=c90-cray
464 os=-unicos 487 os=-unicos
@@ -711,6 +734,9 @@ case $basic_machine in
711 basic_machine=ns32k-utek 734 basic_machine=ns32k-utek
712 os=-sysv 735 os=-sysv
713 ;; 736 ;;
737 microblaze)
738 basic_machine=microblaze-xilinx
739 ;;
714 mingw32) 740 mingw32)
715 basic_machine=i386-pc 741 basic_machine=i386-pc
716 os=-mingw32 742 os=-mingw32
@@ -1061,6 +1087,11 @@ case $basic_machine in
1061 basic_machine=tic6x-unknown 1087 basic_machine=tic6x-unknown
1062 os=-coff 1088 os=-coff
1063 ;; 1089 ;;
1090 # This must be matched before tile*.
1091 tilegx*)
1092 basic_machine=tilegx-unknown
1093 os=-linux-gnu
1094 ;;
1064 tile*) 1095 tile*)
1065 basic_machine=tile-unknown 1096 basic_machine=tile-unknown
1066 os=-linux-gnu 1097 os=-linux-gnu
@@ -1140,6 +1171,10 @@ case $basic_machine in
1140 basic_machine=z8k-unknown 1171 basic_machine=z8k-unknown
1141 os=-sim 1172 os=-sim
1142 ;; 1173 ;;
1174 z80-*-coff)
1175 basic_machine=z80-unknown
1176 os=-sim
1177 ;;
1143 none) 1178 none)
1144 basic_machine=none-none 1179 basic_machine=none-none
1145 os=-none 1180 os=-none
@@ -1178,7 +1213,7 @@ case $basic_machine in
1178 we32k) 1213 we32k)
1179 basic_machine=we32k-att 1214 basic_machine=we32k-att
1180 ;; 1215 ;;
1181 sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) 1216 sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1182 basic_machine=sh-unknown 1217 basic_machine=sh-unknown
1183 ;; 1218 ;;
1184 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 1219 sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1228,6 +1263,9 @@ case $os in
1228 # First match some system type aliases 1263 # First match some system type aliases
1229 # that might get confused with valid system types. 1264 # that might get confused with valid system types.
1230 # -solaris* is a basic system type, with this one exception. 1265 # -solaris* is a basic system type, with this one exception.
1266 -auroraux)
1267 os=-auroraux
1268 ;;
1231 -solaris1 | -solaris1.*) 1269 -solaris1 | -solaris1.*)
1232 os=`echo $os | sed -e 's|solaris1|sunos4|'` 1270 os=`echo $os | sed -e 's|solaris1|sunos4|'`
1233 ;; 1271 ;;
@@ -1248,10 +1286,11 @@ case $os in
1248 # Each alternative MUST END IN A *, to match a version number. 1286 # Each alternative MUST END IN A *, to match a version number.
1249 # -sysv* is not here because it comes later, after sysvr4. 1287 # -sysv* is not here because it comes later, after sysvr4.
1250 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1288 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1251 | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ 1289 | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1252 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ 1290 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1291 | -sym* | -kopensolaris* \
1253 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1292 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1254 | -aos* \ 1293 | -aos* | -aros* \
1255 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 1294 | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1256 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 1295 | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1257 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1296 | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
@@ -1270,7 +1309,7 @@ case $os in
1270 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 1309 | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1271 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 1310 | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1272 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1311 | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1273 | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) 1312 | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1274 # Remember, each alternative MUST END IN *, to match a version number. 1313 # Remember, each alternative MUST END IN *, to match a version number.
1275 ;; 1314 ;;
1276 -qnx*) 1315 -qnx*)
@@ -1403,6 +1442,8 @@ case $os in
1403 -dicos*) 1442 -dicos*)
1404 os=-dicos 1443 os=-dicos
1405 ;; 1444 ;;
1445 -nacl*)
1446 ;;
1406 -none) 1447 -none)
1407 ;; 1448 ;;
1408 *) 1449 *)
@@ -1600,7 +1641,7 @@ case $basic_machine in
1600 -sunos*) 1641 -sunos*)
1601 vendor=sun 1642 vendor=sun
1602 ;; 1643 ;;
1603 -aix*) 1644 -cnk*|-aix*)
1604 vendor=ibm 1645 vendor=ibm
1605 ;; 1646 ;;
1606 -beos*) 1647 -beos*)