Lines Matching +full:cpu +full:- +full:2

3 #   Copyright 1992-2025 Free Software Foundation, Inc.
7 timestamp='2025-07-10'
30 # Please send patches to <config-patches@gnu.org>.
41 # and recognize all the CPU types, system types and aliases
50 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
51 # or in some cases, the newer four-part form:
52 # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
58 # variety of pre-POSIX systems that do not have POSIX shells at all, and
59 # even some reasonably current systems (Solaris 10 as case-in-point) still
60 # have a pre-POSIX /bin/sh.
62 me=`echo "$0" | sed -e 's,.*/,,'`
65 Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
70 -h, --help print this help, then exit
71 -t, --time-stamp print date of last modification, then exit
72 -v, --version print version number, then exit
74 Report bugs and patches to <config-patches@gnu.org>."
79 Copyright 1992-2025 Free Software Foundation, Inc.
85 Try '$me --help' for more information."
88 while test $# -gt 0 ; do
90 --time-stamp | --time* | -t )
92 --version | -v )
94 --help | --h* | -h )
96 -- ) # Stop option processing
98 - ) # Use stdin as input.
100 -* )
101 echo "$me: invalid option $1$help" >&2
115 0) echo "$me: missing argument$help" >&2
118 *) echo "$me: too many arguments$help" >&2
124 IFS="-" read field1 field2 field3 field4 <<EOF
131 *-*-*-*-*)
132 echo "Invalid configuration '$1': more than four components" >&2
135 *-*-*-*)
136 basic_machine=$field1-$field2
137 basic_os=$field3-$field4
139 *-*-*)
140 # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
142 maybe_os=$field2-$field3
144 cloudabi*-eabi* \
145 | kfreebsd*-gnu* \
146 | knetbsd*-gnu* \
147 | kopensolaris*-gnu* \
148 | ironclad-* \
149 | linux-* \
150 | managarm-* \
151 | netbsd*-eabi* \
152 | netbsd*-gnu* \
153 | nto-qnx* \
154 | os2-emx* \
155 | rtmk-nova* \
156 | storm-chaos* \
157 | uclinux-gnu* \
158 | uclinux-uclibc* \
159 | windows-* )
163 android-linux)
164 basic_machine=$field1-unknown
165 basic_os=linux-android
168 basic_machine=$field1-$field2
173 *-*)
174 case $field1-$field2 in
176 convex-c[12] | convex-c3[248])
177 basic_machine=$field2-convex
180 decstation-3100)
181 basic_machine=mips-dec
184 *-*)
261 basic_machine=$field1-$field2
265 basic_machine=$field1-unknown
277 # Convert single-component short-hands not valid as part of
278 # multi-component configurations.
281 basic_machine=i386-pc
285 basic_machine=a29k-amd
289 basic_machine=m68010-adobe
293 basic_machine=fx80-alliant
297 basic_machine=m68k-altos
301 basic_machine=a29k-none
305 basic_machine=580-amdahl
309 basic_machine=m68k-unknown
313 basic_machine=m68k-unknown
317 basic_machine=m68k-unknown
321 basic_machine=m68k-apollo
325 basic_machine=m68k-apollo
329 basic_machine=i386-pc
333 basic_machine=m68k-apple
337 basic_machine=ns32k-sequent
341 basic_machine=bfin-unknown
345 basic_machine=arm-unknown
349 basic_machine=j90-cray
353 basic_machine=m68k-crds
357 basic_machine=m68k-da30
361 basic_machine=mips-dec
365 basic_machine=m88k-motorola
369 basic_machine=i686-pc
373 basic_machine=i586-pc
377 basic_machine=a29k-amd
381 basic_machine=m68k-ericsson
385 basic_machine=tron-gmicro
389 basic_machine=i386-pc
393 basic_machine=h8300-hitachi
397 basic_machine=h8300-hitachi
401 basic_machine=h8500-hitachi
405 basic_machine=m88k-harris
409 basic_machine=m68k-hp
413 basic_machine=m68k-hp
417 basic_machine=hppa1.1-hp
421 basic_machine=hppa1.1-hp
425 basic_machine=i386-mach
429 basic_machine=m68k-isi
433 basic_machine=m68k-unknown
437 basic_machine=mips-mips
441 basic_machine=ns32k-utek
445 basic_machine=x86_64-pc
449 basic_machine=i686-pc
453 basic_machine=arm-unknown
457 basic_machine=m68k-rom68k
461 basic_machine=powerpc-unknown
465 basic_machine=moxie-unknown
469 basic_machine=i386-pc
473 basic_machine=i686-pc
477 basic_machine=i370-ibm
481 basic_machine=le32-unknown
485 basic_machine=i486-ncr
489 basic_machine=i386-pc
493 basic_machine=armv4l-rebel
497 basic_machine=m68k-sony
501 basic_machine=m68030-sony
505 basic_machine=v70-nec
509 basic_machine=m68k-harris
513 basic_machine=m88k-harris
517 basic_machine=i960-intel
521 basic_machine=i960-intel
525 basic_machine=mips-compaq
529 basic_machine=powerpc-ibm
533 basic_machine=m68000-ericsson
537 basic_machine=m68k-none
541 basic_machine=i860-intel
545 basic_machine=hppa-unknown
549 basic_machine=mipsallegrexel-sony
553 basic_machine=i586-unknown
557 basic_machine=x86_64-pc
561 basic_machine=i386-pc
565 basic_machine=m68k-rom68k
569 basic_machine=a29k-amd
573 basic_machine=mips-sei
577 basic_machine=i386-sequent
581 basic_machine=m68k-bull
585 basic_machine=m68k-tandem
589 basic_machine=i860-stratus
593 basic_machine=m68000-sun
597 basic_machine=m68000-sun
601 basic_machine=m68000-sun
605 basic_machine=m68k-sun
609 basic_machine=m68k-sun
613 basic_machine=m68k-sun
617 basic_machine=sparc-sun
621 basic_machine=sparc-sun
625 basic_machine=sparc-sun
629 basic_machine=sparc-sun
633 basic_machine=i386-sun
637 basic_machine=sv1-cray
641 basic_machine=i386-sequent
645 basic_machine=alphaev5-cray
649 basic_machine=t90-cray
653 basic_machine=pdp10-xkl
657 basic_machine=s390x-ibm
661 basic_machine=a29k-amd
665 basic_machine=a29k-nyu
669 basic_machine=v810-nec
673 basic_machine=vax-dec
677 basic_machine=vax-dec
681 basic_machine=i386-pc
685 basic_machine=i960-wrs
689 basic_machine=m68k-wrs
693 basic_machine=a29k-wrs
697 basic_machine=i686-pc
701 basic_machine=ymp-cray
712 # Decode 1-component or ad-hoc basic machines
714 # Here we handle the default manufacturer of certain CPU types. It is in
717 cpu=hppa1.1
721 cpu=hppa1.1
725 cpu=hppa1.1
729 cpu=i370
733 cpu=clipper
736 mac | mpw | mac-mpw)
737 cpu=m68k
740 pmac | pmac-mpw)
741 cpu=powerpc
746 # for a CPU type and a company and sometimes even an OS.
747 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
748 cpu=m68000
752 cpu=we32k
756 cpu=powerpc
761 cpu=pdp10
766 cpu=pdp10
770 delta | 3300 | delta-motorola | 3300-motorola | motorola-delta | motorola-3300)
771 cpu=m68k
774 # This used to be dpx2*, but that gets the RS6000-based
775 # DPX/20 and the x86-based DPX/2-100 wrong. See
777 # https://www.feb-patrimoine.com/english/bull_dpx2.htm
778 # https://www.feb-patrimoine.com/english/unix_and_bull.htm
780 cpu=m68k
784 cpu=i386
788 cpu=rs6000
792 cpu=ns32k
796 cpu=elxsi
798 basic_os=${basic_os:-bsd}
801 cpu=i860
805 cpu=ns32k
809 cpu=hppa1.1
813 hp3k9[0-9][0-9] | hp9[0-9][0-9])
814 cpu=hppa1.0
817 hp9k2[0-9][0-9] | hp9k31[0-9])
818 cpu=m68000
821 hp9k3[2-9][0-9])
822 cpu=m68k
825 hp9k6[0-9][0-9] | hp6[0-9][0-9])
826 cpu=hppa1.0
829 hp9k7[0-79][0-9] | hp7[0-79][0-9])
830 cpu=hppa1.1
833 hp9k78[0-9] | hp78[0-9])
834 # FIXME: really hppa2.0-hp
835 cpu=hppa1.1
839 # FIXME: really hppa2.0-hp
840 cpu=hppa1.1
843 hp9k8[0-9][13679] | hp8[0-9][13679])
844 cpu=hppa1.1
847 hp9k8[0-9][0-9] | hp8[0-9][0-9])
848 cpu=hppa1.0
852 cpu=`echo "$1" | sed -e 's/86.*/86/'`
857 cpu=`echo "$1" | sed -e 's/86.*/86/'`
862 cpu=`echo "$1" | sed -e 's/86.*/86/'`
867 cpu=`echo "$1" | sed -e 's/86.*/86/'`
871 j90 | j90-cray)
872 cpu=j90
874 basic_os=${basic_os:-unicos}
877 cpu=mips
888 cpu=m68000
891 *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*)
892 cpu=m68k
896 news-3600 | risc-news)
897 cpu=mips
901 next | m*-next)
902 cpu=m68k
906 cpu=np1
909 op50n-* | op60c-*)
910 cpu=hppa1.1
914 pa-hitachi)
915 cpu=hppa1.1
920 cpu=sparc
924 cpu=m68k
928 cpu=ns32k
932 cpu=pn
936 cpu=power
940 cpu=i386
944 cpu=mips
947 rtpc | rtpc-*)
948 cpu=romp
952 cpu=mipsisa32
954 basic_os=${basic_os:-elf}
956 simso-wrs)
957 cpu=sparclite
961 tower | tower-32)
962 cpu=m68k
965 vpp*|vx|vx-*)
966 cpu=f301
970 cpu=w65
973 w89k-*)
974 cpu=hppa1.1
979 cpu=none
982 leon|leon[3-9])
983 cpu=sparc
986 leon-*|leon[3-9]-*)
987 cpu=sparc
988 vendor=`echo "$basic_machine" | sed 's/-.*//'`
991 *-*)
993 IFS="-" read cpu vendor <<EOF
1000 # (2) the word "unknown" tends to confuse beginning users.
1002 cpu=$basic_machine
1008 cpu=i386
1012 cpu=x86_64
1015 # Recognize the basic CPU types without company name.
1017 cpu=$basic_machine
1022 unset -v basic_machine
1024 # Decode basic machines in the full and proper CPU-Company form.
1025 case $cpu-$vendor in
1026 # Here we handle the default manufacturer of certain CPU types in canonical form.
1028 c[12]-convex | c[12]-unknown | c3[248]-convex | c3[248]-unknown)
1030 basic_os=${basic_os:-bsd}
1032 craynv-unknown)
1034 basic_os=${basic_os:-unicosmp}
1036 c90-unknown | c90-cray)
1038 basic_os=${basic_os:-unicos}
1040 fx80-unknown)
1043 romp-unknown)
1046 mmix-unknown)
1049 microblaze-unknown | microblazeel-unknown)
1052 rs6000-unknown)
1055 vax-unknown)
1058 pdp11-unknown)
1061 we32k-unknown)
1064 cydra-unknown)
1067 i370-ibm*)
1070 orion-unknown)
1073 xps-unknown | xps100-unknown)
1074 cpu=xps100
1078 # Here we normalize CPU types with a missing or matching vendor
1079 armh-unknown | armh-alt)
1080 cpu=armv7l
1082 basic_os=${basic_os:-linux-gnueabihf}
1085 # Normalized CPU+vendor pairs that imply an OS, if not otherwise specified
1086 m68k-isi)
1087 basic_os=${basic_os:-sysv}
1089 m68k-sony)
1090 basic_os=${basic_os:-newsos}
1092 m68k-tektronix)
1093 basic_os=${basic_os:-bsd}
1095 m88k-harris)
1096 basic_os=${basic_os:-sysv3}
1098 i386-bull | m68k-bull)
1099 basic_os=${basic_os:-sysv3}
1101 rs6000-bull)
1102 basic_os=${basic_os:-bosx}
1104 mips-sni)
1105 basic_os=${basic_os:-sysv4}
1108 # Here we normalize CPU types irrespective of the vendor
1109 amd64-*)
1110 cpu=x86_64
1112 blackfin-*)
1113 cpu=bfin
1114 basic_os=${basic_os:-linux}
1116 c54x-*)
1117 cpu=tic54x
1119 c55x-*)
1120 cpu=tic55x
1122 c6x-*)
1123 cpu=tic6x
1125 e500v[12]-*)
1126 cpu=powerpc
1129 mips3*-*)
1130 cpu=mips64
1132 ms1-*)
1133 cpu=mt
1135 m68knommu-*)
1136 cpu=m68k
1137 basic_os=${basic_os:-linux}
1139 m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
1140 cpu=s12z
1142 openrisc-*)
1143 cpu=or32
1145 parisc-*)
1146 cpu=hppa
1147 basic_os=${basic_os:-linux}
1149 pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
1150 cpu=i586
1152 pentiumpro-* | p6-* | 6x86-* | athlon-* | athlon_*-*)
1153 cpu=i686
1155 pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
1156 cpu=i686
1158 pentium4-*)
1159 cpu=i786
1161 ppc-* | ppcbe-*)
1162 cpu=powerpc
1164 ppcle-* | powerpclittle-*)
1165 cpu=powerpcle
1167 ppc64-*)
1168 cpu=powerpc64
1170 ppc64le-* | powerpc64little-*)
1171 cpu=powerpc64le
1173 sb1-*)
1174 cpu=mipsisa64sb1
1176 sb1el-*)
1177 cpu=mipsisa64sb1el
1179 sh5e[lb]-*)
1180 cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
1182 spur-*)
1183 cpu=spur
1185 strongarm-* | thumb-*)
1186 cpu=arm
1188 tx39-*)
1189 cpu=mipstx39
1191 tx39el-*)
1192 cpu=mipstx39el
1194 xscale-* | xscalee[bl]-*)
1195 cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
1197 arm64-* | aarch64le-* | arm64_32-*)
1198 cpu=aarch64
1201 # Recognize the canonical CPU Types that limit and/or modify the
1203 cr16-*)
1204 basic_os=${basic_os:-elf}
1206 crisv32-* | etraxfs*-*)
1207 cpu=crisv32
1210 cris-* | etrax*-*)
1211 cpu=cris
1214 crx-*)
1215 basic_os=${basic_os:-elf}
1217 neo-tandem)
1218 cpu=neo
1221 nse-tandem)
1222 cpu=nse
1225 nsr-tandem)
1226 cpu=nsr
1229 nsv-tandem)
1230 cpu=nsv
1233 nsx-tandem)
1234 cpu=nsx
1237 mipsallegrexel-sony)
1238 cpu=mipsallegrexel
1241 tile*-*)
1242 basic_os=${basic_os:-linux-gnu}
1246 # Recognize the canonical CPU types that are allowed with any
1248 case $cpu in
1261 | alpha64ev[4-8] \
1265 | alphaev[4-8] \
1344 | m683?2 \
1474 echo "Invalid configuration '$1': machine '$cpu-$vendor' not recognized" 1>&2
1493 # Decode manufacturer-specific aliases for certain operating systems.
1498 # First recognize some ad-hoc cases, or perhaps split kernel-os, or else just
1504 os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
1506 os2-emx)
1508 os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
1510 nto-qnx*)
1512 os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
1514 *-*)
1516 IFS="-" read kernel os <<EOF
1524 os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
1528 os=`echo "$basic_os" | sed -e 's|ironclad|mlibc|'`
1532 os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
1536 os=`echo "$basic_os" | sed -e 's|managarm|mlibc|'`
1557 os=`echo "$os" | sed -e 's|solaris1|sunos4|'`
1563 os=sysv4.2uw
1566 # NeXTSTEP, NeXTSTEP 2, OpenSTEP 3, OpenSTEP 4. 'openstep' is
1591 os=isc2.2
1597 os=sco3.2v5
1600 os=sco3.2v4
1602 sco3.2.[4-9]*)
1603 os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'`
1609 os=sco3.2v2
1632 mac[0-9]*)
1633 os=`echo "$os" | sed -e 's|mac|macos|'`
1642 os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
1645 os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
1652 vendor=`echo "$vendor" | sed -e 's|^unknown$|tektronix|'`
1671 vendor=`echo "$vendor" | sed -e 's|^unknown$|convergent|'`
1682 os=`echo "$os" | sed -e 's|sinix|sysv|'`
1683 vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
1687 vendor=`echo "$vendor" | sed -e 's|^unknown$|sni|'`
1710 *mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
1720 case $cpu in
1746 # Note that if you're going to try to match "-MANUFACTURER" here (say,
1747 # "-sun"), then you have to tell the case statement up towards the top
1754 case $cpu-$vendor in
1755 score-*)
1759 spu-*)
1763 *-acorn)
1764 os=riscix1.2
1766 arm*-rebel)
1770 arm*-semi)
1774 c4x-* | tic4x-*)
1778 c8051-*)
1782 clipper-intergraph)
1785 hexagon-*)
1789 tic54x-*)
1793 tic55x-*)
1797 tic6x-*)
1801 # This must come before the *-dec entry.
1802 pdp10-*)
1805 pdp11-*)
1808 *-dec | vax-*)
1809 os=ultrix4.2
1811 m68*-apollo)
1814 i386-sun)
1817 m68000-sun)
1820 m68*-cisco)
1824 mep-*)
1828 # The -sgi and -siemens entries must be before the mips- entry
1830 *-sgi)
1833 *-siemens)
1836 mips*-cisco)
1840 mips*-*|nanomips*-*)
1844 or32-*)
1848 # This must be before the sparc-* entry or we get the wrong os.
1849 *-tti)
1852 sparc-* | *-sun)
1855 pru-*)
1859 *-be)
1862 *-ibm)
1865 *-knuth)
1868 *-wec)
1871 *-winbond)
1874 *-oki)
1877 *-hp)
1880 *-hitachi)
1883 i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
1886 *-cbm)
1889 *-dg)
1892 *-dolphin)
1895 m68k-ccur)
1898 m88k-omron*)
1901 *-next)
1904 *-sequent)
1907 *-crds)
1910 *-ns)
1913 i370-*)
1916 *-gould)
1919 *-highlevel)
1922 *-encore)
1925 *-masscomp)
1928 f30[01]-fujitsu | f700-fujitsu)
1931 *-rom68k)
1935 *-*bug)
1939 *-apple)
1942 *-atari*)
1945 *-wrs)
1955 # Now, validate our (potentially fixed-up) individual pieces (OS, OBJ).
1958 # Sometimes we do "kernel-libc", so those need to count as OSes.
1961 # Likewise for "kernel-abi"
1964 # VxWorks passes extra cpu info in the 4th filed.
1967 # See `case $cpu-$os` validation below
2117 | storm-chaos* \
2161 sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
2167 # different file format than that of GNU-EFI
2168 # (x86_64-w64-mingw32).
2179 …cho "Invalid configuration '$1': Blank OS only allowed with explicit machine code file format" 1>&2
2183 echo "Invalid configuration '$1': OS '$os' not recognized" 1>&2
2195 echo "Invalid configuration '$1': Machine code format '$obj' not recognized" 1>&2
2200 # Here we handle the constraint that a (synthetic) cpu and os are
2202 case $cpu-$os in
2203 # The "javascript-unknown-ghcjs" triple is used by GHC; we
2206 javascript-ghcjs)
2208 javascript-* | *-ghcjs)
2209 echo "Invalid configuration '$1': cpu '$cpu' is not valid with os '$os$obj'" 1>&2
2214 # As a final step for OS-related things, validate the OS-kernel combination
2216 case $kernel-$os-$obj in
2217 linux-gnu*- | linux-android*- | linux-dietlibc*- | linux-llvm*- \
2218 | linux-mlibc*- | linux-musl*- | linux-newlib*- \
2219 | linux-relibc*- | linux-uclibc*- | linux-ohos*- )
2221 uclinux-uclibc*- | uclinux-gnu*- )
2223 ironclad-mlibc*-)
2225 managarm-mlibc*- | managarm-kernel*- )
2227 windows*-msvc*-)
2229 -dietlibc*- | -llvm*- | -mlibc*- | -musl*- | -newlib*- | -relibc*- \
2230 | -uclibc*- )
2233 echo "Invalid configuration '$1': libc '$os' needs explicit kernel." 1>&2
2236 -kernel*- )
2237 echo "Invalid configuration '$1': '$os' needs explicit kernel." 1>&2
2240 *-kernel*- )
2241 echo "Invalid configuration '$1': '$kernel' does not support '$os'." 1>&2
2244 *-msvc*- )
2245 echo "Invalid configuration '$1': '$os' needs 'windows'." 1>&2
2248 kfreebsd*-gnu*- | knetbsd*-gnu*- | netbsd*-gnu*- | kopensolaris*-gnu*-)
2250 vxworks-simlinux- | vxworks-simwindows- | vxworks-spe-)
2252 nto-qnx*-)
2254 os2-emx-)
2256 rtmk-nova-)
2258 *-eabi*- | *-gnueabi*-)
2260 ios*-simulator- | tvos*-simulator- | watchos*-simulator- )
2262 none--*)
2266 -*-)
2269 --*)
2272 *-*-*)
2273 echo "Invalid configuration '$1': Kernel '$kernel' not known to work with OS '$os'." 1>&2
2278 # Here we handle the case where we know the os, and the CPU type, but not the
2282 case $cpu-$os in
2283 *-riscix*)
2286 *-sunos* | *-solaris*)
2289 *-cnk* | *-aix*)
2292 *-beos*)
2295 *-hpux*)
2298 *-mpeix*)
2301 *-hiux*)
2304 *-unos*)
2307 *-dgux*)
2310 *-luna*)
2313 *-genix*)
2316 *-clix*)
2319 *-mvs* | *-opened*)
2322 *-os400*)
2325 s390-* | s390x-*)
2328 *-ptx*)
2331 *-tpf*)
2334 *-vxsim* | *-vxworks* | *-windiss*)
2337 *-aux*)
2340 *-hms*)
2343 *-mpw* | *-macos*)
2346 *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*)
2349 *-vos*)
2356 echo "$cpu-$vendor${kernel:+-$kernel}${os:+-$os}${obj:+-$obj}"
2360 # eval: (add-hook 'before-save-hook 'time-stamp nil t)
2361 # time-stamp-start: "timestamp='"
2362 # time-stamp-format: "%Y-%02m-%02d"
2363 # time-stamp-end: "'"