2
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
3
# Copyright 1992-2014 Free Software Foundation, Inc.
7
# This file is free software; you can redistribute it and/or modify it
8
# under the terms of the GNU General Public License as published by
9
# the Free Software Foundation; either version 3 of the License, or
16
10
# (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.
12
# This program is distributed in the hope that it will be useful, but
13
# WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
# General Public License for more details.
23
17
# 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
18
# along with this program; if not, see <http://www.gnu.org/licenses/>.
28
20
# As a special exception to the GNU General Public License, if you
29
21
# distribute this file as part of a program that contains a
30
22
# 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.
23
# the same distribution terms that you use for the rest of that
24
# program. This Exception is an additional permission under section 7
25
# of the GNU General Public License, version 3 ("GPLv3").
28
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
37
30
# Configuration subroutine to validate and canonicalize a configuration type.
38
31
# Supply the specified configuration type as an argument.
76
69
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.
71
Copyright 1992-2014 Free Software Foundation, Inc.
82
73
This is free software; see the source for copying conditions. There is NO
83
74
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
125
116
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
126
117
case $maybe_os in
127
118
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129
120
knetbsd*-gnu* | netbsd*-gnu* | \
130
121
kopensolaris*-gnu* | \
131
122
storm-chaos* | os2-emx* | rtmk-nova*)
133
124
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136
131
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
137
132
if [ $basic_machine != $1 ]
247
248
# Some are omitted here because they have special meanings below.
251
| aarch64 | aarch64_be \
250
252
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
251
253
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
253
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
256
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
260
| c4x | c8051 | clipper \
256
261
| d10v | d30v | dlx | dsp16xx \
257
263
| fido | fr30 | frv \
258
264
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
259
266
| i370 | i860 | i960 | ia64 \
260
267
| ip2k | iq2000 \
262
271
| m32c | m32r | m32rle | m68000 | m68k | m88k \
263
| maxq | mb | microblaze | mcore | mep | metag \
272
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
264
273
| mips | mipsbe | mipseb | mipsel | mipsle \
266
275
| mips64 | mips64el \
274
283
| mips64vr5900 | mips64vr5900el \
275
284
| mipsisa32 | mipsisa32el \
276
285
| mipsisa32r2 | mipsisa32r2el \
286
| mipsisa32r6 | mipsisa32r6el \
277
287
| mipsisa64 | mipsisa64el \
278
288
| mipsisa64r2 | mipsisa64r2el \
289
| mipsisa64r6 | mipsisa64r6el \
279
290
| mipsisa64sb1 | mipsisa64sb1el \
280
291
| mipsisa64sr71k | mipsisa64sr71kel \
292
| mipsr5900 | mipsr5900el \
281
293
| mipstx39 | mipstx39el \
282
294
| mn10200 | mn10300 \
286
298
| nds32 | nds32le | nds32be \
299
| nios | nios2 | nios2eb | nios2el \
288
300
| ns16k | ns32k \
301
| open8 | or1k | or1knd | or32 \
291
302
| pdp10 | pdp11 | pj | pjl \
292
303
| powerpc | powerpc64 | powerpc64le | powerpcle \
305
| riscv32 | riscv64 \
296
308
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
297
309
| sh64 | sh64le \
352
366
# Recognize the basic CPU types with company name.
369
| aarch64-* | aarch64_be-* \
355
370
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
356
371
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
357
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
372
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
358
373
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
359
374
| avr-* | avr32-* \
360
376
| bfin-* | bs2000-* \
361
377
| c[123]* | c30-* | [cjt]90-* | c4x-* \
362
| clipper-* | craynv-* | cydra-* \
378
| c8051-* | clipper-* | craynv-* | cydra-* \
363
379
| d10v-* | d30v-* | dlx-* \
365
381
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
366
382
| h8300-* | h8500-* \
367
383
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
368
385
| i*86-* | i860-* | i960-* | ia64-* \
369
386
| ip2k-* | iq2000-* \
371
390
| m32c-* | m32r-* | m32rle-* \
372
391
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
373
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
392
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
393
| microblaze-* | microblazeel-* \
374
394
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
376
396
| mips64-* | mips64el-* \
384
404
| mips64vr5900-* | mips64vr5900el-* \
385
405
| mipsisa32-* | mipsisa32el-* \
386
406
| mipsisa32r2-* | mipsisa32r2el-* \
407
| mipsisa32r6-* | mipsisa32r6el-* \
387
408
| mipsisa64-* | mipsisa64el-* \
388
409
| mipsisa64r2-* | mipsisa64r2el-* \
410
| mipsisa64r6-* | mipsisa64r6el-* \
389
411
| mipsisa64sb1-* | mipsisa64sb1el-* \
390
412
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
413
| mipsr5900-* | mipsr5900el-* \
391
414
| mipstx39-* | mipstx39el-* \
395
418
| nds32-* | nds32le-* | nds32be-* \
419
| nios-* | nios2-* | nios2eb-* | nios2el-* \
397
420
| none-* | np1-* | ns16k-* | ns32k-* \
400
424
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
401
425
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
403
| romp-* | rs6000-* | rx-* \
427
| rl78-* | romp-* | rs6000-* | rx-* \
404
428
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
405
429
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
406
430
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
1324
1363
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1325
1364
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1326
1365
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1327
| -sym* | -kopensolaris* \
1366
| -sym* | -kopensolaris* | -plan9* \
1328
1367
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1329
1368
| -aos* | -aros* \
1330
1369
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1331
1370
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1332
1371
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1333
| -openbsd* | -solidbsd* \
1372
| -bitrig* | -openbsd* | -solidbsd* \
1334
1373
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1335
1374
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1336
1375
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1337
1376
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1338
1377
| -chorusos* | -chorusrdb* | -cegcc* \
1339
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1340
| -mingw32* | -linux-gnu* | -linux-android* \
1341
| -linux-newlib* | -linux-uclibc* \
1342
| -uxpv* | -beos* | -mpeix* | -udk* \
1378
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1379
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1380
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
1381
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1343
1382
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1344
1383
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1345
1384
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1346
1385
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1347
1386
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1348
1387
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1349
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1388
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
1350
1389
# Remember, each alternative MUST END IN *, to match a version number.