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, 2012, 2013 Free Software Foundation, Inc.
9
# This file is free software; you can redistribute it and/or modify it
10
# under the terms of the GNU General Public License as published by
11
# the Free Software Foundation; either version 3 of the License, or
12
# (at your option) any later version.
14
# This program is distributed in the hope that it will be useful, but
15
# WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
# General Public License for more details.
19
# You should have received a copy of the GNU General Public License
20
# along with this program; if not, see <http://www.gnu.org/licenses/>.
22
# As a special exception to the GNU General Public License, if you
23
# distribute this file as part of a program that contains a
24
# configuration script generated by Autoconf, you may include it under
25
# the same distribution terms that you use for the rest of that
26
# program. This Exception is an additional permission under section 7
27
# of the GNU General Public License, version 3 ("GPLv3").
30
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
32
# Configuration subroutine to validate and canonicalize a configuration type.
33
# Supply the specified configuration type as an argument.
34
# If it is invalid, we print an error message on stderr and exit with code 1.
35
# Otherwise, we print the canonical config type on stdout and succeed.
37
# You can get the latest version of this script from:
38
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
40
# This file is supposed to be the same for all GNU packages
41
# and recognize all the CPU types, system types and aliases
42
# that are meaningful with *any* GNU software.
43
# Each package is responsible for reporting which valid configurations
44
# it does not support. The user should be able to distinguish
45
# a failure to support a valid configuration from a meaningless
48
# The goal of this file is to map all the various variations of a given
49
# machine specification into a single specification in the form:
50
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51
# or in some cases, the newer four-part form:
52
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
53
# It is wrong to echo any other type of specification.
55
me=`echo "$0" | sed -e 's,.*/,,'`
58
Usage: $0 [OPTION] CPU-MFR-OPSYS
61
Canonicalize a configuration name.
64
-h, --help print this help, then exit
65
-t, --time-stamp print date of last modification, then exit
66
-v, --version print version number, then exit
68
Report bugs and patches to <config-patches@gnu.org>."
71
GNU config.sub ($timestamp)
73
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
74
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
75
2012, 2013 Free Software Foundation, Inc.
77
This is free software; see the source for copying conditions. There is NO
78
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
81
Try \`$me --help' for more information."
84
while test $# -gt 0 ; do
86
--time-stamp | --time* | -t )
87
echo "$timestamp" ; exit ;;
89
echo "$version" ; exit ;;
91
echo "$usage"; exit ;;
92
-- ) # Stop option processing
94
- ) # Use stdin as input.
97
echo "$me: invalid option $1$help"
101
# First pass through any local machine types.
111
0) echo "$me: missing argument$help" >&2
114
*) echo "$me: too many arguments$help" >&2
118
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
119
# Here we must recognize all the valid KERNEL-OS combinations.
120
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
123
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
124
knetbsd*-gnu* | netbsd*-gnu* | \
125
kopensolaris*-gnu* | \
126
storm-chaos* | os2-emx* | rtmk-nova*)
128
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
135
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
136
if [ $basic_machine != $1 ]
137
then os=`echo $1 | sed 's/.*-/-/'`
142
### Let's recognize common machines as not being operating systems so
143
### that things like config.sub decstation-3100 work. We also
144
### recognize some manufacturers as not being operating systems, so we
145
### can provide default operating systems below.
148
# Prevent following clause from handling this invalid input.
150
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
151
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
152
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
153
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
154
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
155
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
156
-apple | -axis | -knuth | -cray | -microblaze*)
163
-sim | -cisco | -oki | -wec | -winbond)
186
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
194
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
197
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
198
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
201
# Don't forget version if it is 3.2v4 or newer.
202
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
205
# Don't forget version if it is 3.2v4 or newer.
206
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
213
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
217
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
220
basic_machine=clipper-intergraph
223
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
235
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
238
os=`echo $os | sed -e 's/windowsnt/winnt/'`
244
basic_machine=m68k-atari
249
# Decode aliases for certain CPU-COMPANY combinations.
250
case $basic_machine in
251
# Recognize the basic CPU types without company name.
252
# Some are omitted here because they have special meanings below.
255
| aarch64 | aarch64_be \
256
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
257
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
260
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
265
| d10v | d30v | dlx | dsp16xx \
267
| fido | fr30 | frv \
268
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270
| i370 | i860 | i960 | ia64 \
274
| m32c | m32r | m32rle | m68000 | m68k | m88k \
275
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
276
| mips | mipsbe | mipseb | mipsel | mipsle \
278
| mips64 | mips64el \
279
| mips64octeon | mips64octeonel \
280
| mips64orion | mips64orionel \
281
| mips64r5900 | mips64r5900el \
282
| mips64vr | mips64vrel \
283
| mips64vr4100 | mips64vr4100el \
284
| mips64vr4300 | mips64vr4300el \
285
| mips64vr5000 | mips64vr5000el \
286
| mips64vr5900 | mips64vr5900el \
287
| mipsisa32 | mipsisa32el \
288
| mipsisa32r2 | mipsisa32r2el \
289
| mipsisa64 | mipsisa64el \
290
| mipsisa64r2 | mipsisa64r2el \
291
| mipsisa64sb1 | mipsisa64sb1el \
292
| mipsisa64sr71k | mipsisa64sr71kel \
293
| mipstx39 | mipstx39el \
294
| mn10200 | mn10300 \
298
| nds32 | nds32le | nds32be \
303
| pdp10 | pdp11 | pj | pjl \
304
| powerpc | powerpc64 | powerpc64le | powerpcle \
308
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
310
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317
| x86 | xc16x | xstormy16 | xtensa \
319
basic_machine=$basic_machine-unknown
322
basic_machine=tic54x-unknown
325
basic_machine=tic55x-unknown
328
basic_machine=tic6x-unknown
330
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
331
basic_machine=$basic_machine-unknown
334
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
337
basic_machine=mt-unknown
340
strongarm | thumb | xscale)
341
basic_machine=arm-unknown
344
basic_machine=$basic_machine-unknown
348
basic_machine=armeb-unknown
352
basic_machine=armel-unknown
355
# We use `pc' rather than `unknown'
356
# because (1) that's what they normally are, and
357
# (2) the word "unknown" tends to confuse beginning users.
359
basic_machine=$basic_machine-pc
361
# Object if more than one company name word.
363
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
366
# Recognize the basic CPU types with company name.
369
| aarch64-* | aarch64_be-* \
370
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
371
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
372
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
373
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
376
| bfin-* | bs2000-* \
377
| c[123]* | c30-* | [cjt]90-* | c4x-* \
378
| clipper-* | craynv-* | cydra-* \
379
| d10v-* | d30v-* | dlx-* \
381
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
382
| h8300-* | h8500-* \
383
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385
| i*86-* | i860-* | i960-* | ia64-* \
386
| ip2k-* | iq2000-* \
389
| m32c-* | m32r-* | m32rle-* \
390
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
391
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
392
| microblaze-* | microblazeel-* \
393
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
395
| mips64-* | mips64el-* \
396
| mips64octeon-* | mips64octeonel-* \
397
| mips64orion-* | mips64orionel-* \
398
| mips64r5900-* | mips64r5900el-* \
399
| mips64vr-* | mips64vrel-* \
400
| mips64vr4100-* | mips64vr4100el-* \
401
| mips64vr4300-* | mips64vr4300el-* \
402
| mips64vr5000-* | mips64vr5000el-* \
403
| mips64vr5900-* | mips64vr5900el-* \
404
| mipsisa32-* | mipsisa32el-* \
405
| mipsisa32r2-* | mipsisa32r2el-* \
406
| mipsisa64-* | mipsisa64el-* \
407
| mipsisa64r2-* | mipsisa64r2el-* \
408
| mipsisa64sb1-* | mipsisa64sb1el-* \
409
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
410
| mipstx39-* | mipstx39el-* \
414
| nds32-* | nds32le-* | nds32be-* \
416
| none-* | np1-* | ns16k-* | ns32k-* \
419
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
422
| rl78-* | romp-* | rs6000-* | rx-* \
423
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
424
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
425
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
427
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
429
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
433
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
436
| x86-* | x86_64-* | xc16x-* | xps100-* \
437
| xstormy16-* | xtensa*-* \
441
# Recognize the basic CPU types without company name, with glob match.
443
basic_machine=$basic_machine-unknown
445
# Recognize the various machine names and aliases which stand
446
# for a CPU type and a company and sometimes even an OS.
448
basic_machine=i386-unknown
451
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
452
basic_machine=m68000-att
455
basic_machine=we32k-att
458
basic_machine=a29k-amd
462
basic_machine=abacus-unknown
465
basic_machine=m68010-adobe
469
basic_machine=fx80-alliant
472
basic_machine=m68k-altos
475
basic_machine=a29k-none
479
basic_machine=x86_64-pc
482
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
485
basic_machine=580-amdahl
489
basic_machine=m68k-unknown
492
basic_machine=m68k-unknown
496
basic_machine=m68k-unknown
500
basic_machine=m68k-apollo
504
basic_machine=m68k-apollo
508
basic_machine=i386-pc
512
basic_machine=m68k-apple
516
basic_machine=ns32k-sequent
520
basic_machine=bfin-unknown
524
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
528
basic_machine=powerpc-ibm
532
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
535
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
538
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
541
basic_machine=c90-cray
545
basic_machine=arm-unknown
549
basic_machine=c1-convex
553
basic_machine=c2-convex
557
basic_machine=c32-convex
561
basic_machine=c34-convex
565
basic_machine=c38-convex
569
basic_machine=j90-cray
573
basic_machine=craynv-cray
577
basic_machine=cr16-unknown
581
basic_machine=m68k-crds
583
crisv32 | crisv32-* | etraxfs*)
584
basic_machine=crisv32-axis
586
cris | cris-* | etrax*)
587
basic_machine=cris-axis
590
basic_machine=crx-unknown
594
basic_machine=m68k-da30
596
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
597
basic_machine=mips-dec
599
decsystem10* | dec10*)
600
basic_machine=pdp10-dec
603
decsystem20* | dec20*)
604
basic_machine=pdp10-dec
607
delta | 3300 | motorola-3300 | motorola-delta \
608
| 3300-motorola | delta-motorola)
609
basic_machine=m68k-motorola
612
basic_machine=m88k-motorola
616
basic_machine=i686-pc
620
basic_machine=i586-pc
624
basic_machine=rs6000-bull
628
basic_machine=m68k-bull
632
basic_machine=a29k-amd
636
basic_machine=elxsi-elxsi
639
encore | umax | mmax)
640
basic_machine=ns32k-encore
642
es1800 | OSE68k | ose68k | ose | OSE)
643
basic_machine=m68k-ericsson
647
basic_machine=i860-alliant
650
basic_machine=ns32k-ns
653
basic_machine=tron-gmicro
657
basic_machine=i386-pc
661
basic_machine=hppa1.1-hitachi
665
basic_machine=h8300-hitachi
669
basic_machine=h8300-hitachi
673
basic_machine=h8500-hitachi
677
basic_machine=m88k-harris
681
basic_machine=m68k-hp
684
basic_machine=m68k-hp
688
basic_machine=m68k-hp
691
hp3k9[0-9][0-9] | hp9[0-9][0-9])
692
basic_machine=hppa1.0-hp
694
hp9k2[0-9][0-9] | hp9k31[0-9])
695
basic_machine=m68000-hp
698
basic_machine=m68k-hp
700
hp9k6[0-9][0-9] | hp6[0-9][0-9])
701
basic_machine=hppa1.0-hp
703
hp9k7[0-79][0-9] | hp7[0-79][0-9])
704
basic_machine=hppa1.1-hp
706
hp9k78[0-9] | hp78[0-9])
707
# FIXME: really hppa2.0-hp
708
basic_machine=hppa1.1-hp
710
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
711
# FIXME: really hppa2.0-hp
712
basic_machine=hppa1.1-hp
714
hp9k8[0-9][13679] | hp8[0-9][13679])
715
basic_machine=hppa1.1-hp
717
hp9k8[0-9][0-9] | hp8[0-9][0-9])
718
basic_machine=hppa1.0-hp
724
basic_machine=hppa1.1-hp
728
basic_machine=hppa1.1-hp
732
basic_machine=i370-ibm
735
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
739
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
743
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
747
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
751
basic_machine=i386-mach
755
basic_machine=i386-unknown
759
basic_machine=mips-sgi
769
basic_machine=m68k-isi
773
basic_machine=m68k-unknown
777
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
781
basic_machine=m88k-omron
784
basic_machine=mips-mips
788
basic_machine=ns32k-utek
792
basic_machine=microblaze-xilinx
795
basic_machine=x86_64-pc
799
basic_machine=i386-pc
803
basic_machine=arm-unknown
807
basic_machine=m68000-convergent
809
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
810
basic_machine=m68k-atari
814
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
817
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
820
basic_machine=m68k-rom68k
824
basic_machine=powerpc-unknown
828
basic_machine=i386-pc
832
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
835
basic_machine=i386-pc
839
basic_machine=i370-ibm
843
basic_machine=le32-unknown
847
basic_machine=i486-ncr
851
basic_machine=i386-unknown
855
basic_machine=armv4l-rebel
858
news | news700 | news800 | news900)
859
basic_machine=m68k-sony
863
basic_machine=m68030-sony
866
news-3600 | risc-news)
867
basic_machine=mips-sony
871
basic_machine=v70-nec
875
basic_machine=m68k-next
888
basic_machine=m68k-harris
892
basic_machine=m88k-harris
896
basic_machine=i960-intel
900
basic_machine=i960-intel
904
basic_machine=mips-compaq
908
basic_machine=np1-gould
911
basic_machine=neo-tandem
914
basic_machine=nse-tandem
917
basic_machine=nsr-tandem
920
basic_machine=hppa1.1-oki
923
openrisc | openrisc-*)
924
basic_machine=or32-unknown
927
basic_machine=powerpc-ibm
931
basic_machine=m68000-ericsson
935
basic_machine=m68k-none
939
basic_machine=hppa1.1-hitachi
943
basic_machine=i860-intel
947
basic_machine=hppa-unknown
951
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
955
basic_machine=sparc-tti
958
basic_machine=m68k-tti
961
basic_machine=ns32k-pc532
964
basic_machine=i386-pc
967
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
969
pentium | p5 | k5 | k6 | nexgen | viac3)
970
basic_machine=i586-pc
972
pentiumpro | p6 | 6x86 | athlon | athlon_*)
973
basic_machine=i686-pc
975
pentiumii | pentium2 | pentiumiii | pentium3)
976
basic_machine=i686-pc
979
basic_machine=i786-pc
981
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
982
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
984
pentiumpro-* | p6-* | 6x86-* | athlon-*)
985
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
987
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
988
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
991
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
994
basic_machine=pn-gould
996
power) basic_machine=power-ibm
998
ppc | ppcbe) basic_machine=powerpc-unknown
1001
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1003
ppcle | powerpclittle | ppc-le | powerpc-little)
1004
basic_machine=powerpcle-unknown
1006
ppcle-* | powerpclittle-*)
1007
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
1009
ppc64) basic_machine=powerpc64-unknown
1011
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
1013
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1014
basic_machine=powerpc64le-unknown
1016
ppc64le-* | powerpc64little-*)
1017
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
1020
basic_machine=i386-ibm
1023
basic_machine=i586-unknown
1027
basic_machine=x86_64-pc
1031
basic_machine=i386-pc
1035
basic_machine=m68k-rom68k
1039
basic_machine=mips-siemens
1042
basic_machine=romp-ibm
1045
basic_machine=s390-ibm
1048
basic_machine=s390x-ibm
1051
basic_machine=a29k-amd
1055
basic_machine=mipsisa64sb1-unknown
1058
basic_machine=mipsisa64sb1el-unknown
1061
basic_machine=mipsisa32-sde
1065
basic_machine=mips-sei
1069
basic_machine=i386-sequent
1072
basic_machine=sh-hitachi
1076
basic_machine=sh5le-unknown
1079
basic_machine=sh64-unknown
1081
sparclite-wrs | simso-wrs)
1082
basic_machine=sparclite-wrs
1086
basic_machine=m68k-bull
1090
basic_machine=spur-unknown
1093
basic_machine=m68k-tandem
1096
basic_machine=i860-stratus
1099
strongarm-* | thumb-*)
1100
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1103
basic_machine=m68000-sun
1106
basic_machine=m68000-sun
1110
basic_machine=m68000-sun
1114
basic_machine=m68k-sun
1118
basic_machine=m68k-sun
1122
basic_machine=sparc-sun
1126
basic_machine=sparc-sun
1130
basic_machine=sparc-sun
1134
basic_machine=m68k-sun
1137
basic_machine=sparc-sun
1139
sun386 | sun386i | roadrunner)
1140
basic_machine=i386-sun
1143
basic_machine=sv1-cray
1147
basic_machine=i386-sequent
1151
basic_machine=alphaev5-cray
1155
basic_machine=t90-cray
1159
basic_machine=$basic_machine-unknown
1163
basic_machine=mipstx39-unknown
1166
basic_machine=mipstx39el-unknown
1169
basic_machine=pdp10-xkl
1173
basic_machine=m68k-ncr
1176
basic_machine=s390x-ibm
1180
basic_machine=a29k-amd
1184
basic_machine=a29k-nyu
1188
basic_machine=v810-nec
1192
basic_machine=vax-dec
1196
basic_machine=vax-dec
1200
basic_machine=f301-fujitsu
1203
basic_machine=i960-wrs
1207
basic_machine=m68k-wrs
1211
basic_machine=a29k-wrs
1215
basic_machine=w65-wdc
1219
basic_machine=hppa1.1-winbond
1223
basic_machine=i686-pc
1227
basic_machine=xps100-honeywell
1229
xscale-* | xscalee[bl]-*)
1230
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1233
basic_machine=ymp-cray
1237
basic_machine=z8k-unknown
1241
basic_machine=z80-unknown
1245
basic_machine=none-none
1249
# Here we handle the default manufacturer of certain CPU types. It is in
1250
# some cases the only manufacturer, in others, it is the most popular.
1252
basic_machine=hppa1.1-winbond
1255
basic_machine=hppa1.1-oki
1258
basic_machine=hppa1.1-oki
1261
basic_machine=romp-ibm
1264
basic_machine=mmix-knuth
1267
basic_machine=rs6000-ibm
1270
basic_machine=vax-dec
1273
# there are many clones, so DEC is not a safe bet
1274
basic_machine=pdp10-unknown
1277
basic_machine=pdp11-dec
1280
basic_machine=we32k-att
1282
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1283
basic_machine=sh-unknown
1285
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
1286
basic_machine=sparc-sun
1289
basic_machine=cydra-cydrome
1292
basic_machine=orion-highlevel
1295
basic_machine=clipper-highlevel
1297
mac | mpw | mac-mpw)
1298
basic_machine=m68k-apple
1301
basic_machine=powerpc-apple
1304
# Make sure to match an already-canonicalized machine name.
1307
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
1312
# Here we canonicalize certain aliases for manufacturers.
1313
case $basic_machine in
1315
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
1318
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
1324
# Decode manufacturer-specific aliases for certain operating systems.
1326
if [ x"$os" != x"" ]
1329
# First match some system type aliases
1330
# that might get confused with valid system types.
1331
# -solaris* is a basic system type, with this one exception.
1335
-solaris1 | -solaris1.*)
1336
os=`echo $os | sed -e 's|solaris1|sunos4|'`
1348
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
1350
# First accept the basic system types.
1351
# The portable systems comes first.
1352
# Each alternative MUST END IN A *, to match a version number.
1353
# -sysv* is not here because it comes later, after sysvr4.
1354
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1355
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1356
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1357
| -sym* | -kopensolaris* \
1358
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1360
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1361
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1362
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1363
| -bitrig* | -openbsd* | -solidbsd* \
1364
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1365
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1366
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1367
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1368
| -chorusos* | -chorusrdb* | -cegcc* \
1369
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1370
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1371
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
1372
| -uxpv* | -beos* | -mpeix* | -udk* \
1373
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1374
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1375
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1376
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1377
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1378
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1379
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1380
# Remember, each alternative MUST END IN *, to match a version number.
1383
case $basic_machine in
1394
os=`echo $os | sed -e 's|nto|nto-qnx|'`
1396
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1397
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
1398
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
1401
os=`echo $os | sed -e 's|mac|macos|'`
1407
os=`echo $os | sed -e 's|linux|linux-gnu|'`
1410
os=`echo $os | sed -e 's|sunos5|solaris2|'`
1413
os=`echo $os | sed -e 's|sunos6|solaris3|'`
1460
# Preserve the version number of sinix5.
1462
os=`echo $os | sed -e 's|sinix|sysv|'`
1485
# This must come after -sysvr4.
1497
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1517
# Get rid of the `-' at the beginning of $os.
1518
os=`echo $os | sed 's/[^-]*-//'`
1519
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
1525
# Here we handle the default operating systems that come with various machines.
1526
# The value should be what the vendor currently ships out the door with their
1527
# machine or put another way, the most popular os provided with the machine.
1529
# Note that if you're going to try to match "-MANUFACTURER" here (say,
1530
# "-sun"), then you have to tell the case statement up towards the top
1531
# that MANUFACTURER isn't an operating system. Otherwise, code above
1532
# will signal an error saying that MANUFACTURER isn't an operating
1533
# system, and we'll never get to this point.
1535
case $basic_machine in
1566
# This must come before the *-dec entry.
1600
*-tti) # must be before sparc entry or we get the wrong os.
1633
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1687
f30[01]-fujitsu | f700-fujitsu)
1708
# Here we handle the case where we know the os, and the CPU type, but not the
1709
# manufacturer. We pick the logical manufacturer.
1711
case $basic_machine in
1759
-vxsim* | -vxworks* | -windiss*)
1771
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
1778
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
1782
echo $basic_machine$os
1786
# eval: (add-hook 'write-file-hooks 'time-stamp)
1787
# time-stamp-start: "timestamp='"
1788
# time-stamp-format: "%:y-%02m-%02d"
1789
# time-stamp-end: "'"