Newer
Older
# Here we normalize CPU types with a missing or matching vendor
dpx20-unknown | dpx20-bull)
cpu=rs6000
vendor=bull
os=${os:-bosx}
Kevin P. Fleming
committed
;;
# Here we normalize CPU types irrespective of the vendor
amd64-*)
cpu=x86_64
Kevin P. Fleming
committed
;;
blackfin-*)
cpu=bfin
os=linux
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
e500v[12]-*)
cpu=powerpc
os=$os"spe"
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
m68knommu-*)
cpu=m68k
os=linux
Kevin P. Fleming
committed
;;
m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*)
cpu=s12z
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
parisc-*)
cpu=hppa
os=linux
Kevin P. Fleming
committed
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=i586
Kevin P. Fleming
committed
;;
pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*)
cpu=i686
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
cpu=i686
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
ppc-* | ppcbe-*)
cpu=powerpc
Kevin P. Fleming
committed
;;
ppcle-* | powerpclittle-*)
cpu=powerpcle
Kevin P. Fleming
committed
;;
ppc64le-* | powerpc64little-*)
cpu=powerpc64le
Kevin P. Fleming
committed
;;
sb1el-*)
cpu=mipsisa64sb1el
Kevin P. Fleming
committed
;;
sh5e[lb]-*)
cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
strongarm-* | thumb-*)
cpu=arm
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
xscale-* | xscalee[bl]-*)
cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
Kevin P. Fleming
committed
;;
# Recognize the canonical CPU Types that limit and/or modify the
# company names they are paired with.
cr16-*)
os=${os:-elf}
Kevin P. Fleming
committed
;;
crisv32-* | etraxfs*-*)
cpu=crisv32
vendor=axis
Kevin P. Fleming
committed
;;
cris-* | etrax*-*)
cpu=cris
vendor=axis
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
neo-tandem)
cpu=neo
vendor=tandem
Kevin P. Fleming
committed
;;
nse-tandem)
cpu=nse
vendor=tandem
Kevin P. Fleming
committed
;;
nsr-tandem)
cpu=nsr
vendor=tandem
Kevin P. Fleming
committed
;;
nsv-tandem)
cpu=nsv
vendor=tandem
Kevin P. Fleming
committed
;;
nsx-tandem)
cpu=nsx
vendor=tandem
Kevin P. Fleming
committed
;;
s390-*)
cpu=s390
vendor=ibm
;;
s390x-*)
cpu=s390x
vendor=ibm
Kevin P. Fleming
committed
;;
tile*-*)
os=${os:-linux-gnu}
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
*)
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
# Recognize the canonical CPU types that are allowed with any
# company name.
case $cpu in
1750a | 580 \
| a29k \
| aarch64 | aarch64_be \
| abacus \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \
| alphapca5[67] | alpha64pca5[67] \
| am33_2.0 \
| amdgcn \
| arc | arceb \
| arm | arm[lb]e | arme[lb] | armv* \
| avr | avr32 \
| asmjs \
| ba \
| be32 | be64 \
| bfin | bs2000 \
| c[123]* | c30 | [cjt]90 | c4x \
| c8051 | clipper | craynv | csky | cydra \
| d10v | d30v | dlx | dsp16xx \
| e2k | elxsi | epiphany \
| f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \
| h8300 | h8500 \
| hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i*86 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \
| m88110 | m88k | maxq | mb | mcore | mep | metag \
| microblaze | microblazeel \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
| mips64r5900 | mips64r5900el \
| mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64r6 | mipsisa64r6el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mmix \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
| nfp \
| nios | nios2 | nios2eb | nios2el \
| none | np1 | ns16k | ns32k \
| open8 \
| or1k* \
| or32 \
| orion \
| pdp10 | pdp11 | pj | pjl | pn | power \
| powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \
| pru \
| pyramid \
| riscv | riscv32 | riscv64 \
| rl78 | romp | rs6000 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \
| sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \
| sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
| spu \
| tahoe \
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
| tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \
| vax \
| visium \
| wasm32 \
| we32k \
| x86 | x86_64 | xc16x | xgate | xps100 \
| xstormy16 | xtensa* \
| ymp \
| z8k | z80)
;;
*)
echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2
exit 1
;;
esac
Kevin P. Fleming
committed
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $vendor in
digital*)
vendor=dec
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
Kevin P. Fleming
committed
then
case $os in
# First match some system type aliases that might get confused
# with valid system types.
# solaris* is a basic system type, with this one exception.
auroraux)
os=auroraux
Kevin P. Fleming
committed
;;
solaris1 | solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
# es1800 is here to avoid being matched by es* (a different OS)
es1800*)
os=ose
;;
# Some version numbers need modification
chorusos*)
os=chorusos
;;
isc)
os=isc2.2
;;
sco6)
os=sco5v6
;;
sco5)
os=sco3.2v5
;;
sco4)
os=sco3.2v4
;;
sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
;;
sco3.2v[4-9]* | sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
;;
scout)
# Don't match below
;;
sco*)
os=sco3.2v2
;;
psos*)
os=psos
;;
# Now accept the basic system types.
Kevin P. Fleming
committed
# The portable systems comes first.
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
# Each alternative MUST end in a * to match a version number.
# sysv* is not here because it comes later, after sysvr4.
gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
| *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | kopensolaris* | plan9* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
| knetbsd* | mirbsd* | netbsd* \
| bitrig* | openbsd* | solidbsd* | libertybsd* \
| ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
| udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* \
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \
| linux-newlib* | linux-musl* | linux-uclibc* \
| uxpv* | beos* | mpeix* | udk* | moxiebox* \
| interix* | uwin* | mks* | rhapsody* | darwin* \
| openstep* | oskit* | conix* | pw32* | nonstopux* \
| storm-chaos* | tops10* | tenex* | tops20* | its* \
| os2* | vos* | palmos* | uclinux* | nucleus* \
| morphos* | superux* | rtmk* | windiss* \
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed*)
Kevin P. Fleming
committed
# Remember, each alternative MUST END IN *, to match a version number.
;;
qnx*)
case $cpu in
x86 | i*86)
Kevin P. Fleming
committed
;;
*)
Kevin P. Fleming
committed
;;
esac
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
Kevin P. Fleming
committed
;;
sim | xray | os68k* | v88r* \
| windows* | osx | abug | netware* | os9* \
| macos* | mpw* | magic* | mmixware* | mon960* | lnews*)
Kevin P. Fleming
committed
;;
linux-dietlibc)
os=linux-dietlibc
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
mac*)
os=`echo "$os" | sed -e 's|mac|macos|'`
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
sunos5*)
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
Kevin P. Fleming
committed
;;
sunos6*)
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
syllable*)
os=syllable
;;
386bsd)
os=bsd
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
ns2)
os=nextstep2
;;
nsk*)
os=nsk
Kevin P. Fleming
committed
;;
# Preserve the version number of sinix5.
Kevin P. Fleming
committed
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
# This must come after sysvr4.
sysv*)
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
os=mint
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
pikeos*)
# Until real need of OS specific support for
# particular features comes up, bare metal
# configurations are quite functional.
case $cpu in
arm*)
os=eabi
;;
*)
os=elf
;;
esac
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
*)
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
Kevin P. Fleming
committed
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
Kevin P. Fleming
committed
*-acorn)
Kevin P. Fleming
committed
;;
arm*-rebel)
Kevin P. Fleming
committed
;;
arm*-semi)
Kevin P. Fleming
committed
;;
os=elf
;;
clipper-intergraph)
os=clix
Kevin P. Fleming
committed
# This must come before the *-dec entry.
pdp10-*)
Kevin P. Fleming
committed
;;
pdp11-*)
Kevin P. Fleming
committed
;;
*-dec | vax-*)
Kevin P. Fleming
committed
;;
m68*-apollo)
Kevin P. Fleming
committed
;;
i386-sun)
Kevin P. Fleming
committed
;;
m68000-sun)
Kevin P. Fleming
committed
;;
m68*-cisco)
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
mips*-cisco)
Kevin P. Fleming
committed
;;
mips*-*)
Kevin P. Fleming
committed
;;
or32-*)
Kevin P. Fleming
committed
;;
*-tti) # must be before sparc entry or we get the wrong os.
Kevin P. Fleming
committed
;;
sparc-* | *-sun)
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
*-be)
Kevin P. Fleming
committed
;;
*-ibm)
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
*-wec)
Kevin P. Fleming
committed
;;
*-winbond)
Kevin P. Fleming
committed
;;
*-oki)
Kevin P. Fleming
committed
;;
*-hp)
Kevin P. Fleming
committed
;;
*-hitachi)
Kevin P. Fleming
committed
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
Kevin P. Fleming
committed
;;
*-cbm)
Kevin P. Fleming
committed
;;
*-dg)
Kevin P. Fleming
committed
;;
*-dolphin)
Kevin P. Fleming
committed
;;
m68k-ccur)
Kevin P. Fleming
committed
;;
m88k-omron*)
Kevin P. Fleming
committed
;;
Kevin P. Fleming
committed
;;
*-sequent)
Kevin P. Fleming
committed
;;
*-crds)
Kevin P. Fleming
committed
;;
*-ns)
Kevin P. Fleming
committed
;;
i370-*)
Kevin P. Fleming
committed
;;
*-gould)
Kevin P. Fleming
committed
;;
*-highlevel)
Kevin P. Fleming
committed
;;
*-encore)
Kevin P. Fleming
committed
;;
*-sgi)
Kevin P. Fleming
committed
;;
*-siemens)
Kevin P. Fleming
committed
;;
*-masscomp)
Kevin P. Fleming
committed
;;
f30[01]-fujitsu | f700-fujitsu)
Kevin P. Fleming
committed
;;
*-rom68k)
Kevin P. Fleming
committed
;;
*-*bug)
Kevin P. Fleming
committed
;;
*-apple)
Kevin P. Fleming
committed
;;
*-atari*)
os=mint
;;
*-wrs)
os=vxworks
Kevin P. Fleming
committed
;;
*)
Kevin P. Fleming
committed
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
Kevin P. Fleming
committed
case $os in
Kevin P. Fleming
committed
vendor=acorn
;;
Kevin P. Fleming
committed
vendor=sun
;;
Kevin P. Fleming
committed
vendor=ibm
;;
Kevin P. Fleming
committed
vendor=be
;;
Kevin P. Fleming
committed
vendor=hp
;;
Kevin P. Fleming
committed
vendor=hp
;;
Kevin P. Fleming
committed
vendor=hitachi
;;
Kevin P. Fleming
committed
vendor=crds
;;
Kevin P. Fleming
committed
vendor=dg
;;
Kevin P. Fleming
committed
vendor=omron
;;
Kevin P. Fleming
committed
vendor=ns
;;
clix*)
vendor=intergraph
;;
mvs* | opened*)
Kevin P. Fleming
committed
vendor=ibm
;;
Kevin P. Fleming
committed
vendor=ibm
;;
Kevin P. Fleming
committed
vendor=sequent
;;
Kevin P. Fleming
committed
vendor=ibm
;;
Kevin P. Fleming
committed
vendor=wrs
;;
Kevin P. Fleming
committed
vendor=apple
;;
Kevin P. Fleming
committed
vendor=hitachi
;;
Kevin P. Fleming
committed
vendor=apple
;;
*mint | mint[0-9]* | *MiNT | MiNT[0-9]*)
Kevin P. Fleming
committed
vendor=atari
;;
Kevin P. Fleming
committed
vendor=stratus
;;
esac
;;
esac
Kevin P. Fleming
committed
exit
# Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp)
Kevin P. Fleming
committed
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End: