2
2
# Configuration validation subroutine script.
3
3
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
# 2000, 2001, 2002, 2003 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
# diff and a properly formatted ChangeLog entry.
35
# diff and a properly formatted GNU ChangeLog entry.
35
37
# Configuration subroutine to validate and canonicalize a configuration type.
36
38
# Supply the specified configuration type as an argument.
37
39
# If it is invalid, we print an error message on stderr and exit with code 1.
38
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
40
45
# This file is supposed to be the same for all GNU packages
41
46
# and recognize all the CPU types, system types and aliases
42
47
# that are meaningful with *any* GNU software.
71
76
GNU config.sub ($timestamp)
73
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
74
Free Software Foundation, Inc.
78
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
79
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
76
81
This is free software; see the source for copying conditions. There is NO
77
82
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
83
88
while test $# -gt 0 ; do
85
90
--time-stamp | --time* | -t )
86
echo "$timestamp" ; exit 0 ;;
91
echo "$timestamp" ; exit ;;
88
echo "$version" ; exit 0 ;;
93
echo "$version" ; exit ;;
89
94
--help | --h* | -h )
90
echo "$usage"; exit 0 ;;
95
echo "$usage"; exit ;;
91
96
-- ) # Stop option processing
93
98
- ) # Use stdin as input.
118
123
# Here we must recognize all the valid KERNEL-OS combinations.
119
124
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
120
125
case $maybe_os in
121
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
122
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
126
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
127
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
128
kopensolaris*-gnu* | \
129
storm-chaos* | os2-emx* | rtmk-nova*)
124
131
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
145
152
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
146
153
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
147
154
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
155
-apple | -axis | -knuth | -cray | -microblaze)
152
162
-sim | -cisco | -oki | -wec | -winbond)
186
200
# Don't forget version if it is 3.2v4 or newer.
187
201
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
204
# Don't forget version if it is 3.2v4 or newer.
205
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
191
209
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
230
248
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
231
249
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
233
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
251
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
234
253
| c4x | clipper \
235
254
| d10v | d30v | dlx | dsp16xx \
255
| fido | fr30 | frv \
237
256
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
238
257
| i370 | i860 | i960 | ia64 \
239
258
| ip2k | iq2000 \
240
| m32r | m68000 | m68k | m88k | mcore \
260
| m32c | m32r | m32rle | m68000 | m68k | m88k \
261
| maxq | mb | microblaze | mcore | mep | metag \
241
262
| mips | mipsbe | mipseb | mipsel | mipsle \
243
264
| mips64 | mips64el \
265
| mips64octeon | mips64octeonel \
266
| mips64orion | mips64orionel \
267
| mips64r5900 | mips64r5900el \
244
268
| mips64vr | mips64vrel \
245
| mips64orion | mips64orionel \
246
269
| mips64vr4100 | mips64vr4100el \
247
270
| mips64vr4300 | mips64vr4300el \
248
271
| mips64vr5000 | mips64vr5000el \
272
| mips64vr5900 | mips64vr5900el \
249
273
| mipsisa32 | mipsisa32el \
250
274
| mipsisa32r2 | mipsisa32r2el \
251
275
| mipsisa64 | mipsisa64el \
254
278
| mipsisa64sr71k | mipsisa64sr71kel \
255
279
| mipstx39 | mipstx39el \
256
280
| mn10200 | mn10300 \
258
285
| ns16k | ns32k \
260
287
| pdp10 | pdp11 | pj | pjl \
261
288
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
263
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
292
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
264
293
| sh64 | sh64le \
265
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
294
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
295
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
267
297
| tahoe | thumb | tic4x | tic80 | tron \
270
| x86 | xscale | xstormy16 | xtensa \
301
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
272
303
basic_machine=$basic_machine-unknown
274
m6811 | m68hc11 | m6812 | m68hc12)
305
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
275
306
# Motorola 68HC11/12.
276
307
basic_machine=$basic_machine-unknown
279
310
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
313
basic_machine=mt-unknown
282
316
# We use `pc' rather than `unknown'
283
317
# because (1) that's what they normally are, and
297
331
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
298
332
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
299
333
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
335
| bfin-* | bs2000-* \
302
336
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
303
| clipper-* | cydra-* \
337
| clipper-* | craynv-* | cydra-* \
304
338
| d10v-* | d30v-* | dlx-* \
306
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
340
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
307
341
| h8300-* | h8500-* \
308
342
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
309
343
| i*86-* | i860-* | i960-* | ia64-* \
310
344
| ip2k-* | iq2000-* \
346
| m32c-* | m32r-* | m32rle-* \
312
347
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
313
| m88110-* | m88k-* | mcore-* \
348
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
314
349
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
316
351
| mips64-* | mips64el-* \
352
| mips64octeon-* | mips64octeonel-* \
353
| mips64orion-* | mips64orionel-* \
354
| mips64r5900-* | mips64r5900el-* \
317
355
| mips64vr-* | mips64vrel-* \
318
| mips64orion-* | mips64orionel-* \
319
356
| mips64vr4100-* | mips64vr4100el-* \
320
357
| mips64vr4300-* | mips64vr4300el-* \
321
358
| mips64vr5000-* | mips64vr5000el-* \
359
| mips64vr5900-* | mips64vr5900el-* \
322
360
| mipsisa32-* | mipsisa32el-* \
323
361
| mipsisa32r2-* | mipsisa32r2el-* \
324
362
| mipsisa64-* | mipsisa64el-* \
326
364
| mipsisa64sb1-* | mipsisa64sb1el-* \
327
365
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
328
366
| mipstx39-* | mipstx39el-* \
330
| none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
371
| none-* | np1-* | ns16k-* | ns32k-* \
332
373
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
333
374
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
335
| romp-* | rs6000-* \
336
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
376
| romp-* | rs6000-* | rx-* \
377
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
337
378
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
338
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
339
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
379
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
381
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
340
382
| tahoe-* | thumb-* \
341
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
383
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
343
386
| v850-* | v850e-* | vax-* \
345
| x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
388
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
389
| xstormy16-* | xtensa*-* \
393
# Recognize the basic CPU types without company name, with glob match.
395
basic_machine=$basic_machine-unknown
350
397
# Recognize the various machine names and aliases which stand
351
398
# for a CPU type and a company and sometimes even an OS.
417
468
basic_machine=ns32k-sequent
472
basic_machine=bfin-unknown
476
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
480
basic_machine=powerpc-ibm
421
484
basic_machine=c90-cray
488
basic_machine=arm-unknown
425
492
basic_machine=c1-convex
445
512
basic_machine=j90-cray
449
basic_machine=cr16c-unknown
516
basic_machine=craynv-cray
520
basic_machine=cr16-unknown
453
524
basic_machine=m68k-crds
526
crisv32 | crisv32-* | etraxfs*)
527
basic_machine=crisv32-axis
455
529
cris | cris-* | etrax*)
456
530
basic_machine=cris-axis
1076
1207
basic_machine=we32k-att
1078
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
1209
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1079
1210
basic_machine=sh-unknown
1082
basic_machine=sh64-unknown
1084
sparc | sparcv9 | sparcv9b)
1212
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1085
1213
basic_machine=sparc-sun
1128
1256
# First match some system type aliases
1129
1257
# that might get confused with valid system types.
1130
1258
# -solaris* is a basic system type, with this one exception.
1131
1262
-solaris1 | -solaris1.*)
1132
1263
os=`echo $os | sed -e 's|solaris1|sunos4|'`
1148
1279
# Each alternative MUST END IN A *, to match a version number.
1149
1280
# -sysv* is not here because it comes later, after sysvr4.
1150
1281
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1151
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1152
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1282
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1283
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1284
| -sym* | -kopensolaris* \
1153
1285
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1155
1287
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1156
1288
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1157
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
1289
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1290
| -openbsd* | -solidbsd* \
1158
1291
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1159
1292
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1160
1293
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1161
1294
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1162
| -chorusos* | -chorusrdb* \
1295
| -chorusos* | -chorusrdb* | -cegcc* \
1163
1296
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1164
| -mingw32* | -linux* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
1297
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1298
| -uxpv* | -beos* | -mpeix* | -udk* \
1165
1299
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1166
1300
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1167
1301
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1168
1302
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1169
1303
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1170
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
1304
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1305
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1171
1306
# Remember, each alternative MUST END IN *, to match a version number.
1185
1320
os=`echo $os | sed -e 's|nto|nto-qnx|'`
1187
1322
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1188
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
1323
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1189
1324
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)