config.sub   config.sub 
#! /bin/sh #! /bin/sh
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2022 Free Software Foundation, Inc. # Copyright 1992-2018 Free Software Foundation, Inc.
# shellcheck disable=SC2006,SC2268 # see below for rationale timestamp='2018-02-22'
timestamp='2022-01-03'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or # the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version. # (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, but # This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of # WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details. # General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, see <https://www.gnu.org/licenses/>. # along with this program; if not, see <https://www.gnu.org/licenses/>.
# #
skipping to change at line 37 skipping to change at line 35
# of the GNU General Public License, version 3 ("GPLv3"). # of the GNU General Public License, version 3 ("GPLv3").
# Please send patches to <config-patches@gnu.org>. # Please send patches to <config-patches@gnu.org>.
# #
# Configuration subroutine to validate and canonicalize a configuration typ e. # Configuration subroutine to validate and canonicalize a configuration typ e.
# Supply the specified configuration type as an argument. # Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1. # If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed. # Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from: # You can get the latest version of this script from:
# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub # https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.s ub
# This file is supposed to be the same for all GNU packages # This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases # and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software. # that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations # Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish # it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless # a failure to support a valid configuration from a meaningless
# configuration. # configuration.
# The goal of this file is to map all the various variations of a given # The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form: # machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form: # or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification. # It is wrong to echo any other type of specification.
# The "shellcheck disable" line above the timestamp inhibits complaints
# about features and limitations of the classic Bourne shell that were
# superseded or lifted in POSIX. However, this script identifies a wide
# variety of pre-POSIX systems that do not have POSIX shells at all, and
# even some reasonably current systems (Solaris 10 as case-in-point) still
# have a pre-POSIX /bin/sh.
me=`echo "$0" | sed -e 's,.*/,,'` me=`echo "$0" | sed -e 's,.*/,,'`
usage="\ usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
Canonicalize a configuration name. Canonicalize a configuration name.
Options: Options:
-h, --help print this help, then exit -h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit -t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit -v, --version print version number, then exit
Report bugs and patches to <config-patches@gnu.org>." Report bugs and patches to <config-patches@gnu.org>."
version="\ version="\
GNU config.sub ($timestamp) GNU config.sub ($timestamp)
Copyright 1992-2022 Free Software Foundation, Inc. Copyright 1992-2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. " warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. "
help=" help="
Try \`$me --help' for more information." Try \`$me --help' for more information."
# Parse command line # Parse command line
while test $# -gt 0 ; do while test $# -gt 0 ; do
case $1 in case $1 in
skipping to change at line 100 skipping to change at line 91
echo "$timestamp" ; exit ;; echo "$timestamp" ; exit ;;
--version | -v ) --version | -v )
echo "$version" ; exit ;; echo "$version" ; exit ;;
--help | --h* | -h ) --help | --h* | -h )
echo "$usage"; exit ;; echo "$usage"; exit ;;
-- ) # Stop option processing -- ) # Stop option processing
shift; break ;; shift; break ;;
- ) # Use stdin as input. - ) # Use stdin as input.
break ;; break ;;
-* ) -* )
echo "$me: invalid option $1$help" >&2 echo "$me: invalid option $1$help"
exit 1 ;; exit 1 ;;
*local*) *local*)
# First pass through any local machine types. # First pass through any local machine types.
echo "$1" echo "$1"
exit ;; exit ;;
* ) * )
break ;; break ;;
esac esac
done done
case $# in case $# in
0) echo "$me: missing argument$help" >&2 0) echo "$me: missing argument$help" >&2
exit 1;; exit 1;;
1) ;; 1) ;;
*) echo "$me: too many arguments$help" >&2 *) echo "$me: too many arguments$help" >&2
exit 1;; exit 1;;
esac esac
# Split fields of configuration type # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any)
# shellcheck disable=SC2162 .
saved_IFS=$IFS # Here we must recognize all the valid KERNEL-OS combinations.
IFS="-" read field1 field2 field3 field4 <<EOF maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
$1 case $maybe_os in
EOF nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* |
IFS=$saved_IFS \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-
# Separate into logical components for further validation gnu* | \
case $1 in knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
*-*-*-*-*) kopensolaris*-gnu* | cloudabi*-eabi* | \
echo Invalid configuration \`"$1"\': more than four componen storm-chaos* | os2-emx* | rtmk-nova*)
ts >&2 os=-$maybe_os
exit 1 basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknow
n
;;
*)
basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
if [ "$basic_machine" != "$1" ]
then os=`echo "$1" | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;; ;;
*-*-*-*) -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
basic_machine=$field1-$field2 -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
basic_os=$field3-$field4 -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti*
| \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp |
\
-apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
-bluegene*)
os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco6)
os=-sco5v6
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
;; ;;
*-*-*) -sco3.2v[4-9]*)
# Ambiguous whether COMPANY is present, or skipped and KERNE # Don't forget version if it is 3.2v4 or newer.
L-OS is two basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
# parts
maybe_os=$field2-$field3
case $maybe_os in
nto-qnx* | linux-* | uclinux-uclibc* \
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | ne
tbsd*-gnu* \
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eab
i* \
| storm-chaos* | os2-emx* | rtmk-nova*)
basic_machine=$field1
basic_os=$maybe_os
;;
android-linux)
basic_machine=$field1-unknown
basic_os=linux-android
;;
*)
basic_machine=$field1-$field2
basic_os=$field3
;;
esac
;; ;;
*-*) -sco5v6*)
# A lone config we happen to match not fitting any pattern # Don't forget version if it is 3.2v4 or newer.
case $field1-$field2 in basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
decstation-3100)
basic_machine=mips-dec
basic_os=
;;
*-*)
# Second component is usually, but not alway
s the OS
case $field2 in
# Prevent following clause from hand
ling this valid os
sun*os*)
basic_machine=$field1
basic_os=$field2
;;
zephyr*)
basic_machine=$field1-unknow
n
basic_os=$field2
;;
# Manufacturers
dec* | mips* | sequent* | encore* |
pc533* | sgi* | sony* \
| att* | 7300* | 3300* | delta* | mo
torola* | sun[234]* \
| unicom* | ibm* | next | hp | isi*
| apollo | altos* \
| convergent* | ncr* | news | 32* |
3600* | 3100* \
| hitachi* | c[123]* | convex* | sun
| crds | omron* | dg \
| ultra | tti* | harris | dolphin |
highlevel | gould \
| cbm | ns | masscomp | apple | axis
| knuth | cray \
| microblaze* | sim | cisco \
| oki | wec | wrs | winbond)
basic_machine=$field1-$field
2
basic_os=
;;
*)
basic_machine=$field1
basic_os=$field2
;;
esac
;;
esac
;; ;;
*) -sco*)
# Convert single-component short-hands not valid as part of os=-sco3.2v2
# multi-component configurations. basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
case $field1 in ;;
386bsd) -udk*)
basic_machine=i386-pc basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
basic_os=bsd ;;
;; -isc)
a29khif) os=-isc2.2
basic_machine=a29k-amd basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
basic_os=udi ;;
;; -clix*)
adobe68k) basic_machine=clipper-intergraph
basic_machine=m68010-adobe ;;
basic_os=scout -isc*)
;; basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
alliant) ;;
basic_machine=fx80-alliant -lynx*178)
basic_os= os=-lynxos178
;; ;;
altos | altos3068) -lynx*5)
basic_machine=m68k-altos os=-lynxos5
basic_os= ;;
;; -lynx*)
am29k) os=-lynxos
basic_machine=a29k-none ;;
basic_os=bsd -ptx*)
;; basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
amdahl) ;;
basic_machine=580-amdahl -psos*)
basic_os=sysv os=-psos
;; ;;
amiga) -mint | -mint[0-9]*)
basic_machine=m68k-unknown basic_machine=m68k-atari
basic_os= os=-mint
;;
amigaos | amigados)
basic_machine=m68k-unknown
basic_os=amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
basic_os=sysv4
;;
apollo68)
basic_machine=m68k-apollo
basic_os=sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
basic_os=bsd
;;
aros)
basic_machine=i386-pc
basic_os=aros
;;
aux)
basic_machine=m68k-apple
basic_os=aux
;;
balance)
basic_machine=ns32k-sequent
basic_os=dynix
;;
blackfin)
basic_machine=bfin-unknown
basic_os=linux
;;
cegcc)
basic_machine=arm-unknown
basic_os=cegcc
;;
convex-c1)
basic_machine=c1-convex
basic_os=bsd
;;
convex-c2)
basic_machine=c2-convex
basic_os=bsd
;;
convex-c32)
basic_machine=c32-convex
basic_os=bsd
;;
convex-c34)
basic_machine=c34-convex
basic_os=bsd
;;
convex-c38)
basic_machine=c38-convex
basic_os=bsd
;;
cray)
basic_machine=j90-cray
basic_os=unicos
;;
crds | unos)
basic_machine=m68k-crds
basic_os=
;;
da30)
basic_machine=m68k-da30
basic_os=
;;
decstation | pmax | pmin | dec3100 | decstatn)
basic_machine=mips-dec
basic_os=
;;
delta88)
basic_machine=m88k-motorola
basic_os=sysv3
;;
dicos)
basic_machine=i686-pc
basic_os=dicos
;;
djgpp)
basic_machine=i586-pc
basic_os=msdosdjgpp
;;
ebmon29k)
basic_machine=a29k-amd
basic_os=ebmon
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
basic_os=ose
;;
gmicro)
basic_machine=tron-gmicro
basic_os=sysv
;;
go32)
basic_machine=i386-pc
basic_os=go32
;;
h8300hms)
basic_machine=h8300-hitachi
basic_os=hms
;;
h8300xray)
basic_machine=h8300-hitachi
basic_os=xray
;;
h8500hms)
basic_machine=h8500-hitachi
basic_os=hms
;;
harris)
basic_machine=m88k-harris
basic_os=sysv3
;;
hp300 | hp300hpux)
basic_machine=m68k-hp
basic_os=hpux
;;
hp300bsd)
basic_machine=m68k-hp
basic_os=bsd
;;
hppaosf)
basic_machine=hppa1.1-hp
basic_os=osf
;;
hppro)
basic_machine=hppa1.1-hp
basic_os=proelf
;;
i386mach)
basic_machine=i386-mach
basic_os=mach
;;
isi68 | isi)
basic_machine=m68k-isi
basic_os=sysv
;;
m68knommu)
basic_machine=m68k-unknown
basic_os=linux
;;
magnum | m3230)
basic_machine=mips-mips
basic_os=sysv
;;
merlin)
basic_machine=ns32k-utek
basic_os=sysv
;;
mingw64)
basic_machine=x86_64-pc
basic_os=mingw64
;;
mingw32)
basic_machine=i686-pc
basic_os=mingw32
;;
mingw32ce)
basic_machine=arm-unknown
basic_os=mingw32ce
;;
monitor)
basic_machine=m68k-rom68k
basic_os=coff
;;
morphos)
basic_machine=powerpc-unknown
basic_os=morphos
;;
moxiebox)
basic_machine=moxie-unknown
basic_os=moxiebox
;;
msdos)
basic_machine=i386-pc
basic_os=msdos
;;
msys)
basic_machine=i686-pc
basic_os=msys
;;
mvs)
basic_machine=i370-ibm
basic_os=mvs
;;
nacl)
basic_machine=le32-unknown
basic_os=nacl
;;
ncr3000)
basic_machine=i486-ncr
basic_os=sysv4
;;
netbsd386)
basic_machine=i386-pc
basic_os=netbsd
;;
netwinder)
basic_machine=armv4l-rebel
basic_os=linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
basic_os=newsos
;;
news1000)
basic_machine=m68030-sony
basic_os=newsos
;;
necv70)
basic_machine=v70-nec
basic_os=sysv
;;
nh3000)
basic_machine=m68k-harris
basic_os=cxux
;;
nh[45]000)
basic_machine=m88k-harris
basic_os=cxux
;;
nindy960)
basic_machine=i960-intel
basic_os=nindy
;;
mon960)
basic_machine=i960-intel
basic_os=mon960
;;
nonstopux)
basic_machine=mips-compaq
basic_os=nonstopux
;;
os400)
basic_machine=powerpc-ibm
basic_os=os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
basic_os=ose
;;
os68k)
basic_machine=m68k-none
basic_os=os68k
;;
paragon)
basic_machine=i860-intel
basic_os=osf
;;
parisc)
basic_machine=hppa-unknown
basic_os=linux
;;
psp)
basic_machine=mipsallegrexel-sony
basic_os=psp
;;
pw32)
basic_machine=i586-unknown
basic_os=pw32
;;
rdos | rdos64)
basic_machine=x86_64-pc
basic_os=rdos
;;
rdos32)
basic_machine=i386-pc
basic_os=rdos
;;
rom68k)
basic_machine=m68k-rom68k
basic_os=coff
;;
sa29200)
basic_machine=a29k-amd
basic_os=udi
;;
sei)
basic_machine=mips-sei
basic_os=seiux
;;
sequent)
basic_machine=i386-sequent
basic_os=
;;
sps7)
basic_machine=m68k-bull
basic_os=sysv2
;;
st2000)
basic_machine=m68k-tandem
basic_os=
;;
stratus)
basic_machine=i860-stratus
basic_os=sysv4
;;
sun2)
basic_machine=m68000-sun
basic_os=
;;
sun2os3)
basic_machine=m68000-sun
basic_os=sunos3
;;
sun2os4)
basic_machine=m68000-sun
basic_os=sunos4
;;
sun3)
basic_machine=m68k-sun
basic_os=
;;
sun3os3)
basic_machine=m68k-sun
basic_os=sunos3
;;
sun3os4)
basic_machine=m68k-sun
basic_os=sunos4
;;
sun4)
basic_machine=sparc-sun
basic_os=
;;
sun4os3)
basic_machine=sparc-sun
basic_os=sunos3
;;
sun4os4)
basic_machine=sparc-sun
basic_os=sunos4
;;
sun4sol2)
basic_machine=sparc-sun
basic_os=solaris2
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
basic_os=
;;
sv1)
basic_machine=sv1-cray
basic_os=unicos
;;
symmetry)
basic_machine=i386-sequent
basic_os=dynix
;;
t3e)
basic_machine=alphaev5-cray
basic_os=unicos
;;
t90)
basic_machine=t90-cray
basic_os=unicos
;;
toad1)
basic_machine=pdp10-xkl
basic_os=tops20
;;
tpf)
basic_machine=s390x-ibm
basic_os=tpf
;;
udi29k)
basic_machine=a29k-amd
basic_os=udi
;;
ultra3)
basic_machine=a29k-nyu
basic_os=sym1
;;
v810 | necv810)
basic_machine=v810-nec
basic_os=none
;;
vaxv)
basic_machine=vax-dec
basic_os=sysv
;;
vms)
basic_machine=vax-dec
basic_os=vms
;;
vsta)
basic_machine=i386-pc
basic_os=vsta
;;
vxworks960)
basic_machine=i960-wrs
basic_os=vxworks
;;
vxworks68)
basic_machine=m68k-wrs
basic_os=vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
basic_os=vxworks
;;
xbox)
basic_machine=i686-pc
basic_os=mingw32
;;
ymp)
basic_machine=ymp-cray
basic_os=unicos
;;
*)
basic_machine=$1
basic_os=
;;
esac
;; ;;
esac esac
# Decode 1-component or ad-hoc basic machines # Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in case $basic_machine in
# Here we handle the default manufacturer of certain CPU types. It # Recognize the basic CPU types without company name.
is in # Some are omitted here because they have special meanings below.
# some cases the only manufacturer, in others, it is the most popula 1750a | 580 \
r. | a29k \
w89k) | aarch64 | aarch64_be \
cpu=hppa1.1 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
vendor=winbond | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64p
ca5[67] \
| am33_2.0 \
| arc | arceb \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm]
\
| avr | avr32 \
| ba \
| be32 | be64 \
| bfin \
| c4x | c8051 | clipper \
| d10v | d30v | dlx | dsp16xx \
| e2k | epiphany \
| fido | fr30 | frv | ft32 \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64
\
| hexagon \
| i370 | i860 | i960 | ia16 | ia64 \
| ip2k | iq2000 \
| k1om \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| 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 \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 | or1k | or1knd | or32 \
| pdp10 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pru \
| pyramid \
| riscv32 | riscv64 \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb |
shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | spar
clite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| visium \
| wasm32 \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;; ;;
op50n) c54x)
cpu=hppa1.1 basic_machine=tic54x-unknown
vendor=oki
;; ;;
op60c) c55x)
cpu=hppa1.1 basic_machine=tic55x-unknown
vendor=oki
;; ;;
ibm*) c6x)
cpu=i370 basic_machine=tic6x-unknown
vendor=ibm
;; ;;
orion105) leon|leon[3-9])
cpu=clipper basic_machine=sparc-$basic_machine
vendor=highlevel
;; ;;
mac | mpw | mac-mpw) m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
cpu=m68k basic_machine=$basic_machine-unknown
vendor=apple os=-none
;; ;;
pmac | pmac-mpw) m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
cpu=powerpc ;;
vendor=apple ms1)
basic_machine=mt-unknown
;;
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
xgate)
basic_machine=$basic_machine-unknown
os=-none
;;
xscaleeb)
basic_machine=armeb-unknown
;; ;;
xscaleel)
basic_machine=armel-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`"$1"\': machine \`"$basic_machi
ne"\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| ba-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| c8051-* | clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| e2k-* | elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
| ip2k-* | iq2000-* \
| k1om-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* | 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-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| or1k*-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pru-* \
| pyramid-* \
| riscv32-* | riscv64-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb
-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparc
let-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| visium-* \
| wasm32-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
;;
# Recognize the basic CPU types without company name, with glob matc
h.
xtensa*)
basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand # Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS. # for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-pc
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
cpu=m68000 basic_machine=m68000-att
vendor=att
;; ;;
3b*) 3b*)
cpu=we32k basic_machine=we32k-att
vendor=att ;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-
//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
amigaos | amigados)
basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aros)
basic_machine=i386-pc
os=-aros
;;
asmjs)
basic_machine=asmjs-unknown
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
blackfin)
basic_machine=bfin-unknown
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//
'`
os=-linux
;; ;;
bluegene*) bluegene*)
cpu=powerpc basic_machine=powerpc-ibm
vendor=ibm os=-cnk
basic_os=cnk ;;
c54x-*)
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-
//'`
;;
c55x-*)
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-
//'`
;;
c6x-*)
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-/
/'`
;;
c90)
basic_machine=c90-cray
os=-unicos
;;
cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | j90)
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decs
tatn)
basic_machine=mips-dec
;; ;;
decsystem10* | dec10*) decsystem10* | dec10*)
cpu=pdp10 basic_machine=pdp10-dec
vendor=dec os=-tops10
basic_os=tops10
;; ;;
decsystem20* | dec20*) decsystem20* | dec20*)
cpu=pdp10 basic_machine=pdp10-dec
vendor=dec os=-tops20
basic_os=tops20
;; ;;
delta | 3300 | motorola-3300 | motorola-delta \ delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola) | 3300-motorola | delta-motorola)
cpu=m68k basic_machine=m68k-motorola
vendor=motorola ;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dicos)
basic_machine=i686-pc
os=-dicos
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;; ;;
dpx2*) dpx2*)
cpu=m68k basic_machine=m68k-bull
vendor=bull os=-sysv3
basic_os=sysv3
;; ;;
encore | umax | mmax) e500v[12])
cpu=ns32k basic_machine=powerpc-unknown
vendor=encore os=$os"spe"
;;
e500v[12]-*)
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*
-//'`
os=$os"spe"
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;; ;;
elxsi) elxsi)
cpu=elxsi basic_machine=elxsi-elxsi
vendor=elxsi os=-bsd
basic_os=${basic_os:-bsd} ;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;; ;;
fx2800) fx2800)
cpu=i860 basic_machine=i860-alliant
vendor=alliant
;; ;;
genix) genix)
cpu=ns32k basic_machine=ns32k-ns
vendor=ns ;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
go32)
basic_machine=i386-pc
os=-go32
;; ;;
h3050r* | hiux*) h3050r* | hiux*)
cpu=hppa1.1 basic_machine=hppa1.1-hitachi
vendor=hitachi os=-hiuxwe2
basic_os=hiuxwe2 ;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;; ;;
hp3k9[0-9][0-9] | hp9[0-9][0-9]) hp3k9[0-9][0-9] | hp9[0-9][0-9])
cpu=hppa1.0 basic_machine=hppa1.0-hp
vendor=hp
;; ;;
hp9k2[0-9][0-9] | hp9k31[0-9]) hp9k2[0-9][0-9] | hp9k31[0-9])
cpu=m68000 basic_machine=m68000-hp
vendor=hp
;; ;;
hp9k3[2-9][0-9]) hp9k3[2-9][0-9])
cpu=m68k basic_machine=m68k-hp
vendor=hp
;; ;;
hp9k6[0-9][0-9] | hp6[0-9][0-9]) hp9k6[0-9][0-9] | hp6[0-9][0-9])
cpu=hppa1.0 basic_machine=hppa1.0-hp
vendor=hp
;; ;;
hp9k7[0-79][0-9] | hp7[0-79][0-9]) hp9k7[0-79][0-9] | hp7[0-79][0-9])
cpu=hppa1.1 basic_machine=hppa1.1-hp
vendor=hp
;; ;;
hp9k78[0-9] | hp78[0-9]) hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp # FIXME: really hppa2.0-hp
cpu=hppa1.1 basic_machine=hppa1.1-hp
vendor=hp
;; ;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78] 9 | hp9k893 | hp893) hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78] 9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp # FIXME: really hppa2.0-hp
cpu=hppa1.1 basic_machine=hppa1.1-hp
vendor=hp
;; ;;
hp9k8[0-9][13679] | hp8[0-9][13679]) hp9k8[0-9][13679] | hp8[0-9][13679])
cpu=hppa1.1 basic_machine=hppa1.1-hp
vendor=hp
;; ;;
hp9k8[0-9][0-9] | hp8[0-9][0-9]) hp9k8[0-9][0-9] | hp8[0-9][0-9])
cpu=hppa1.0 basic_machine=hppa1.0-hp
vendor=hp ;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;; ;;
i*86v32) i*86v32)
cpu=`echo "$1" | sed -e 's/86.*/86/'` basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
vendor=pc os=-sysv32
basic_os=sysv32
;; ;;
i*86v4*) i*86v4*)
cpu=`echo "$1" | sed -e 's/86.*/86/'` basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
vendor=pc os=-sysv4
basic_os=sysv4
;; ;;
i*86v) i*86v)
cpu=`echo "$1" | sed -e 's/86.*/86/'` basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
vendor=pc os=-sysv
basic_os=sysv
;; ;;
i*86sol2) i*86sol2)
cpu=`echo "$1" | sed -e 's/86.*/86/'` basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
vendor=pc os=-solaris2
basic_os=solaris2 ;;
;; i386mach)
j90 | j90-cray) basic_machine=i386-mach
cpu=j90 os=-mach
vendor=cray ;;
basic_os=${basic_os:-unicos} vsta)
basic_machine=i386-unknown
os=-vsta
;; ;;
iris | iris4d) iris | iris4d)
cpu=mips basic_machine=mips-sgi
vendor=sgi case $os in
case $basic_os in -irix*)
irix*)
;; ;;
*) *)
basic_os=irix4 os=-irix4
;; ;;
esac esac
;; ;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
leon-*|leon[3-9]-*)
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//
'`
os=-linux
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
microblaze*)
basic_machine=microblaze-xilinx
;;
mingw64)
basic_machine=x86_64-pc
os=-mingw64
;;
mingw32)
basic_machine=i686-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe) miniframe)
cpu=m68000 basic_machine=m68000-convergent
vendor=convergent ;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;; ;;
*mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) mips3*-*)
cpu=m68k basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips6
vendor=atari 4/'`
basic_os=mint ;;
mips3*)
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips6
4/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
moxiebox)
basic_machine=moxie-unknown
os=-moxiebox
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i686-pc
os=-msys
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
nacl)
basic_machine=le32-unknown
os=-nacl
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;; ;;
news-3600 | risc-news) news-3600 | risc-news)
cpu=mips basic_machine=mips-sony
vendor=sony os=-newsos
basic_os=newsos ;;
necv70)
basic_machine=v70-nec
os=-sysv
;; ;;
next | m*-next) next | m*-next)
cpu=m68k basic_machine=m68k-next
vendor=next case $os in
case $basic_os in -nextstep* )
openstep*)
;;
nextstep*)
;; ;;
ns2*) -ns2*)
basic_os=nextstep2 os=-nextstep2
;; ;;
*) *)
basic_os=nextstep3 os=-nextstep3
;; ;;
esac esac
;; ;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1) np1)
cpu=np1 basic_machine=np1-gould
vendor=gould ;;
neo-tandem)
basic_machine=neo-tandem
;;
nse-tandem)
basic_machine=nse-tandem
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
nsv-tandem)
basic_machine=nsv-tandem
;;
nsx-tandem)
basic_machine=nsx-tandem
;; ;;
op50n-* | op60c-*) op50n-* | op60c-*)
cpu=hppa1.1 basic_machine=hppa1.1-oki
vendor=oki os=-proelf
basic_os=proelf ;;
openrisc | openrisc-*)
basic_machine=or32-unknown
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;; ;;
pa-hitachi) pa-hitachi)
cpu=hppa1.1 basic_machine=hppa1.1-hitachi
vendor=hitachi os=-hiuxwe2
basic_os=hiuxwe2 ;;
paragon)
basic_machine=i860-intel
os=-osf
;;
parisc)
basic_machine=hppa-unknown
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//
'`
os=-linux
;; ;;
pbd) pbd)
cpu=sparc basic_machine=sparc-tti
vendor=tti
;; ;;
pbb) pbb)
cpu=m68k basic_machine=m68k-tti
vendor=tti
;; ;;
pc532) pc532 | pc532-*)
cpu=ns32k basic_machine=ns32k-pc532
vendor=pc532
;; ;;
pn) pc98)
cpu=pn basic_machine=i386-pc
vendor=gould
;; ;;
power) pc98-*)
cpu=power basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//
vendor=ibm '`
;; ;;
ps2) pentium | p5 | k5 | k6 | nexgen | viac3)
cpu=i386 basic_machine=i586-pc
vendor=ibm
;; ;;
rm[46]00) pentiumpro | p6 | 6x86 | athlon | athlon_*)
cpu=mips basic_machine=i686-pc
vendor=siemens
;; ;;
rtpc | rtpc-*) pentiumii | pentium2 | pentiumiii | pentium3)
cpu=romp basic_machine=i686-pc
vendor=ibm
;;
sde)
cpu=mipsisa32
vendor=sde
basic_os=${basic_os:-elf}
;; ;;
simso-wrs) pentium4)
cpu=sparclite basic_machine=i786-pc
vendor=wrs
basic_os=vxworks
;; ;;
tower | tower-32) pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
cpu=m68k basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//
vendor=ncr '`
;; ;;
vpp*|vx|vx-*) pentiumpro-* | p6-* | 6x86-* | athlon-*)
cpu=f301 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//
vendor=fujitsu '`
;; ;;
w65) pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
cpu=w65 basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//
vendor=wdc '`
;; ;;
w89k-*) pentium4-*)
cpu=hppa1.1 basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//
vendor=winbond '`
basic_os=proelf
;; ;;
none) pn)
cpu=none basic_machine=pn-gould
vendor=none
;; ;;
leon|leon[3-9]) power) basic_machine=power-ibm
cpu=sparc
vendor=$basic_machine
;; ;;
leon-*|leon[3-9]-*) ppc | ppcbe) basic_machine=powerpc-unknown
cpu=sparc
vendor=`echo "$basic_machine" | sed 's/-.*//'`
;; ;;
ppc-* | ppcbe-*)
*-*) basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*
# shellcheck disable=SC2162 -//'`
saved_IFS=$IFS
IFS="-" read cpu vendor <<EOF
$basic_machine
EOF
IFS=$saved_IFS
;; ;;
# We use `pc' rather than `unknown' ppcle | powerpclittle)
# because (1) that's what they normally are, and basic_machine=powerpcle-unknown
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
cpu=$basic_machine
vendor=pc
;; ;;
# These rules are duplicated from below for sake of the special case ppcle-* | powerpclittle-*)
above; basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-
# i.e. things that normalized to x86 arches should also default to " ]*-//'`
pc"
pc98)
cpu=i386
vendor=pc
;; ;;
x64 | amd64) ppc64) basic_machine=powerpc64-unknown
cpu=x86_64
vendor=pc
;; ;;
# Recognize the basic CPU types without company name. ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^
*) -]*-//'`
cpu=$basic_machine
vendor=unknown
;; ;;
esac ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
unset -v basic_machine
# Decode basic machines in the full and proper CPU-Company form.
case $cpu-$vendor in
# Here we handle the default manufacturer of certain CPU types in ca
nonical form. It is in
# some cases the only manufacturer, in others, it is the most popula
r.
craynv-unknown)
vendor=cray
basic_os=${basic_os:-unicosmp}
;; ;;
c90-unknown | c90-cray) ppc64le-* | powerpc64little-*)
vendor=cray basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[
basic_os=${Basic_os:-unicos} ^-]*-//'`
;; ;;
fx80-unknown) ps2)
vendor=alliant basic_machine=i386-ibm
;; ;;
romp-unknown) pw32)
vendor=ibm basic_machine=i586-unknown
os=-pw32
;;
rdos | rdos64)
basic_machine=x86_64-pc
os=-rdos
;;
rdos32)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;; ;;
mmix-unknown) rm[46]00)
vendor=knuth basic_machine=mips-siemens
;; ;;
microblaze-unknown | microblazeel-unknown) rtpc | rtpc-*)
vendor=xilinx basic_machine=romp-ibm
;; ;;
rs6000-unknown) s390 | s390-*)
vendor=ibm basic_machine=s390-ibm
;; ;;
vax-unknown) s390x | s390x-*)
vendor=dec basic_machine=s390x-ibm
;; ;;
pdp11-unknown) sa29200)
vendor=dec basic_machine=a29k-amd
os=-udi
;; ;;
we32k-unknown) sb1)
vendor=att basic_machine=mipsisa64sb1-unknown
;; ;;
cydra-unknown) sb1el)
vendor=cydrome basic_machine=mipsisa64sb1el-unknown
;; ;;
i370-ibm*) sde)
vendor=ibm basic_machine=mipsisa32-sde
os=-elf
;; ;;
orion-unknown) sei)
vendor=highlevel basic_machine=mips-sei
os=-seiux
;; ;;
xps-unknown | xps100-unknown) sequent)
cpu=xps100 basic_machine=i386-sequent
vendor=honeywell
;; ;;
sh5el)
# Here we normalize CPU types with a missing or matching vendor basic_machine=sh5le-unknown
armh-unknown | armh-alt)
cpu=armv7l
vendor=alt
basic_os=${basic_os:-linux-gnueabihf}
;; ;;
dpx20-unknown | dpx20-bull) simso-wrs)
cpu=rs6000 basic_machine=sparclite-wrs
vendor=bull os=-vxworks
basic_os=${basic_os:-bosx}
;; ;;
sps7)
# Here we normalize CPU types irrespective of the vendor basic_machine=m68k-bull
amd64-*) os=-sysv2
cpu=x86_64 ;;
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;; ;;
blackfin-*) strongarm-* | thumb-*)
cpu=bfin basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'
basic_os=linux `
;; ;;
c54x-*) sun2)
cpu=tic54x basic_machine=m68000-sun
;; ;;
c55x-*) sun2os3)
cpu=tic55x basic_machine=m68000-sun
os=-sunos3
;; ;;
c6x-*) sun2os4)
cpu=tic6x basic_machine=m68000-sun
os=-sunos4
;; ;;
e500v[12]-*) sun3os3)
cpu=powerpc basic_machine=m68k-sun
basic_os=${basic_os}"spe" os=-sunos3
;; ;;
mips3*-*) sun3os4)
cpu=mips64 basic_machine=m68k-sun
os=-sunos4
;; ;;
ms1-*) sun4os3)
cpu=mt basic_machine=sparc-sun
os=-sunos3
;; ;;
m68knommu-*) sun4os4)
cpu=m68k basic_machine=sparc-sun
basic_os=linux os=-sunos4
;; ;;
m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) sun4sol2)
cpu=s12z basic_machine=sparc-sun
os=-solaris2
;; ;;
openrisc-*) sun3 | sun3-*)
cpu=or32 basic_machine=m68k-sun
;; ;;
parisc-*) sun4)
cpu=hppa basic_machine=sparc-sun
basic_os=linux
;; ;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) sun386 | sun386i | roadrunner)
cpu=i586 basic_machine=i386-sun
;; ;;
pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) sv1)
cpu=i686 basic_machine=sv1-cray
os=-unicos
;; ;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) symmetry)
cpu=i686 basic_machine=i386-sequent
os=-dynix
;; ;;
pentium4-*) t3e)
cpu=i786 basic_machine=alphaev5-cray
os=-unicos
;; ;;
pc98-*) t90)
cpu=i386 basic_machine=t90-cray
os=-unicos
;; ;;
ppc-* | ppcbe-*) tile*)
cpu=powerpc basic_machine=$basic_machine-unknown
os=-linux-gnu
;; ;;
ppcle-* | powerpclittle-*) tx39)
cpu=powerpcle basic_machine=mipstx39-unknown
;; ;;
ppc64-*) tx39el)
cpu=powerpc64 basic_machine=mipstx39el-unknown
;; ;;
ppc64le-* | powerpc64little-*) toad1)
cpu=powerpc64le basic_machine=pdp10-xkl
os=-tops20
;; ;;
sb1-*) tower | tower-32)
cpu=mipsisa64sb1 basic_machine=m68k-ncr
;; ;;
sb1el-*) tpf)
cpu=mipsisa64sb1el basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;; ;;
sh5e[lb]-*) vpp*|vx|vx-*)
cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` basic_machine=f301-fujitsu
;; ;;
spur-*) vxworks960)
cpu=spur basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;; ;;
strongarm-* | thumb-*) w89k-*)
cpu=arm basic_machine=hppa1.1-winbond
os=-proelf
;; ;;
tx39-*) x64)
cpu=mipstx39 basic_machine=x86_64-pc
;; ;;
tx39el-*) xbox)
cpu=mipstx39el basic_machine=i686-pc
os=-mingw32
;; ;;
x64-*) xps | xps100)
cpu=x86_64 basic_machine=xps100-honeywell
;; ;;
xscale-* | xscalee[bl]-*) xscale-* | xscalee[bl]-*)
cpu=`echo "$cpu" | sed 's/^xscale/arm/'` basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;; ;;
arm64-* | aarch64le-*) none)
cpu=aarch64 basic_machine=none-none
os=-none
;; ;;
# Recognize the canonical CPU Types that limit and/or modify the # Here we handle the default manufacturer of certain CPU types. It is in
# company names they are paired with. # some cases the only manufacturer, in others, it is the most popular.
cr16-*) w89k)
basic_os=${basic_os:-elf} basic_machine=hppa1.1-winbond
;; ;;
crisv32-* | etraxfs*-*) op50n)
cpu=crisv32 basic_machine=hppa1.1-oki
vendor=axis
;; ;;
cris-* | etrax*-*) op60c)
cpu=cris basic_machine=hppa1.1-oki
vendor=axis
;; ;;
crx-*) romp)
basic_os=${basic_os:-elf} basic_machine=romp-ibm
;; ;;
neo-tandem) mmix)
cpu=neo basic_machine=mmix-knuth
vendor=tandem
;; ;;
nse-tandem) rs6000)
cpu=nse basic_machine=rs6000-ibm
vendor=tandem
;; ;;
nsr-tandem) vax)
cpu=nsr basic_machine=vax-dec
vendor=tandem
;; ;;
nsv-tandem) pdp11)
cpu=nsv basic_machine=pdp11-dec
vendor=tandem
;; ;;
nsx-tandem) we32k)
cpu=nsx basic_machine=we32k-att
vendor=tandem
;; ;;
mipsallegrexel-sony) sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
cpu=mipsallegrexel basic_machine=sh-unknown
vendor=sony
;; ;;
tile*-*) cydra)
basic_os=${basic_os:-linux-gnu} basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;; ;;
*) *)
# Recognize the canonical CPU types that are allowed with an echo Invalid configuration \`"$1"\': machine \`"$basic_machi
y ne"\' not recognized 1>&2
# company name. exit 1
case $cpu in
1750a | 580 \
| a29k \
| aarch64 | aarch64_be \
| abacus \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev
6[78] \
| alphapca5[67] | alpha64pca5[67] \
| am33_2.0 \
| amdgcn \
| arc | arceb | arc32 | arc64 \
| arm | arm[lb]e | arme[lb] | armv* \
| avr | avr32 \
| asmjs \
| ba \
| be32 | be64 \
| bfin | bpf | 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 \
| loongarch32 | loongarch64 | loongarchx32 \
| m32c | m32r | m32rle \
| m5200 | m68000 | m680[012346]0 | m68360 | m683?2 |
m68k \
| m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \
| m88110 | m88k | maxq | mb | mcore | mep | metag \
| microblaze | microblazeel \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64eb | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
| mips64r5900 | mips64r5900el \
| mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa32r3 | mipsisa32r3el \
| mipsisa32r5 | mipsisa32r5el \
| mipsisa32r6 | mipsisa32r6el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64r3 | mipsisa64r3el \
| mipsisa64r5 | mipsisa64r5el \
| 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 | nvptx \
| open8 \
| or1k* \
| or32 \
| orion \
| picochip \
| pdp10 | pdp11 | pj | pjl | pn | power \
| powerpc | powerpc64 | powerpc64le | powerpcle | po
werpcspe \
| pru \
| pyramid \
| riscv | riscv32 | riscv32be | riscv64 | riscv64be
\
| rl78 | romp | rs6000 | rx \
| s390 | s390x \
| score \
| sh | shl \
| 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 \
| thumbv7* \
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
| tron \
| ubicom32 \
| v70 | v850 | v850e | v850e1 | v850es | v850e2 | v8
50e2v3 \
| vax \
| visium \
| w65 \
| wasm32 | wasm64 \
| 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
;; ;;
esac esac
# Here we canonicalize certain aliases for manufacturers. # Here we canonicalize certain aliases for manufacturers.
case $vendor in case $basic_machine in
digital*) *-digital*)
vendor=dec basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/
'`
;; ;;
commodore*) *-commodore*)
vendor=cbm basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cb
m/'`
;; ;;
*) *)
;; ;;
esac esac
# Decode manufacturer-specific aliases for certain operating systems. # Decode manufacturer-specific aliases for certain operating systems.
if test x$basic_os != x if [ x"$os" != x"" ]
then then
# First recognize some ad-hoc cases, or perhaps split kernel-os, or else ju
st
# set os.
case $basic_os in
gnu/linux*)
kernel=linux
os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'`
;;
os2-emx)
kernel=os2
os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'`
;;
nto-qnx*)
kernel=nto
os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'`
;;
*-*)
# shellcheck disable=SC2162
saved_IFS=$IFS
IFS="-" read kernel os <<EOF
$basic_os
EOF
IFS=$saved_IFS
;;
# Default OS when just kernel was specified
nto*)
kernel=nto
os=`echo "$basic_os" | sed -e 's|nto|qnx|'`
;;
linux*)
kernel=linux
os=`echo "$basic_os" | sed -e 's|linux|gnu|'`
;;
*)
kernel=
os=$basic_os
;;
esac
# Now, normalize the OS (knowing we just have one component, it's not a ker
nel,
# etc.)
case $os in case $os in
# First match some system type aliases that might get confused # First match some system type aliases that might get confused
# with valid system types. # with valid system types.
# solaris* is a basic system type, with this one exception. # -solaris* is a basic system type, with this one exception.
auroraux) -auroraux)
os=auroraux os=-auroraux
;; ;;
bluegene*) -solaris1 | -solaris1.*)
os=cnk os=`echo $os | sed -e 's|solaris1|sunos4|'`
;; ;;
solaris1 | solaris1.*) -solaris)
os=`echo "$os" | sed -e 's|solaris1|sunos4|'` os=-solaris2
;; ;;
solaris) -unixware*)
os=solaris2 os=-sysv4.2uw
;; ;;
unixware*) -gnu/linux*)
os=sysv4.2uw os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;; ;;
# es1800 is here to avoid being matched by es* (a different OS) # es1800 is here to avoid being matched by es* (a different OS)
es1800*) -es1800*)
os=ose os=-ose
;;
# Some version numbers need modification
chorusos*)
os=chorusos
;; ;;
isc) # Now accept the basic system types.
os=isc2.2 # The portable systems comes first.
;; # Each alternative MUST end in a * to match a version number.
sco6) # -sysv* is not here because it comes later, after sysvr4.
os=sco5v6 -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
;; | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -
sco5) sunos[34]*\
os=sco3.2v5 | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -so
;; laris* \
sco4) | -sym* | -kopensolaris* | -plan9* \
os=sco3.2v4 | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -ao
;; f* \
sco3.2.[4-9]*) | -aos* | -aros* | -cloudabi* | -sortix* \
os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
;; | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
sco*v* | scout) | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
# Don't match below | -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* \
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rte
ms* \
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-and
roid* \
| -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*)
# Remember, each alternative MUST END IN *, to match a version numbe
r.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;; ;;
sco*) -nto-qnx*)
os=sco3.2v2
;; ;;
psos*) -nto*)
os=psos os=`echo $os | sed -e 's|nto|nto-qnx|'`
;; ;;
qnx*) -sim | -xray | -os68k* | -v88r* \
os=qnx | -windows* | -osx | -abug | -netware* | -os9* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;; ;;
hiux*) -mac*)
os=hiuxwe2 os=`echo "$os" | sed -e 's|mac|macos|'`
;; ;;
lynx*178) -linux-dietlibc)
os=lynxos178 os=-linux-dietlibc
;; ;;
lynx*5) -linux*)
os=lynxos5 os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
lynxos*) -sunos5*)
# don't get caught up in next wildcard os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
;; ;;
lynx*) -sunos6*)
os=lynxos os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
;; ;;
mac[0-9]*) -opened*)
os=`echo "$os" | sed -e 's|mac|macos|'` os=-openedition
;; ;;
opened*) -os400*)
os=openedition os=-os400
;; ;;
os400*) -wince*)
os=os400 os=-wince
;; ;;
sunos5*) -utek*)
os=`echo "$os" | sed -e 's|sunos5|solaris2|'` os=-bsd
;; ;;
sunos6*) -dynix*)
os=`echo "$os" | sed -e 's|sunos6|solaris3|'` os=-bsd
;; ;;
wince*) -acis*)
os=wince os=-aos
;; ;;
utek*) -atheos*)
os=bsd os=-atheos
;; ;;
dynix*) -syllable*)
os=bsd os=-syllable
;; ;;
acis*) -386bsd)
os=aos os=-bsd
;; ;;
atheos*) -ctix* | -uts*)
os=atheos os=-sysv
;; ;;
syllable*) -nova*)
os=syllable os=-rtmk-nova
;; ;;
386bsd) -ns2)
os=bsd os=-nextstep2
;; ;;
ctix* | uts*) -nsk*)
os=sysv os=-nsk
;; ;;
nova*) # Preserve the version number of sinix5.
os=rtmk-nova -sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;; ;;
ns2) -sinix*)
os=nextstep2 os=-sysv4
;; ;;
# Preserve the version number of sinix5. -tpf*)
sinix5.*) os=-tpf
os=`echo "$os" | sed -e 's|sinix|sysv|'`
;; ;;
sinix*) -triton*)
os=sysv4 os=-sysv3
;; ;;
tpf*) -oss*)
os=tpf os=-sysv3
;; ;;
triton*) -svr4*)
os=sysv3 os=-sysv4
;; ;;
oss*) -svr3)
os=sysv3 os=-sysv3
;; ;;
svr4*) -sysvr4)
os=sysv4 os=-sysv4
;; ;;
svr3) # This must come after -sysvr4.
os=sysv3 -sysv*)
;; ;;
sysvr4) -ose*)
os=sysv4 os=-ose
;; ;;
ose*) -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=ose os=-mint
;; ;;
*mint | mint[0-9]* | *MiNT | MiNT[0-9]*) -zvmoe)
os=mint os=-zvmoe
;; ;;
dicos*) -dicos*)
os=dicos os=-dicos
;; ;;
pikeos*) -pikeos*)
# Until real need of OS specific support for # Until real need of OS specific support for
# particular features comes up, bare metal # particular features comes up, bare metal
# configurations are quite functional. # configurations are quite functional.
case $cpu in case $basic_machine in
arm*) arm*)
os=eabi os=-eabi
;; ;;
*) *)
os=elf os=-elf
;; ;;
esac esac
;; ;;
-nacl*)
;;
-ios)
;;
-none)
;;
*) *)
# No normalization, but not necessarily accepted, that comes # Get rid of the `-' at the beginning of $os.
below. os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`"$1"\': system \`"$os"\' not re
cognized 1>&2
exit 1
;; ;;
esac esac
else else
# Here we handle the default operating systems that come with various machi nes. # Here we handle the default operating systems that come with various machi nes.
# The value should be what the vendor currently ships out the door with the ir # The value should be what the vendor currently ships out the door with the ir
# machine or put another way, the most popular os provided with the machine . # 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, # 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 # "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above # that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating # will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point. # system, and we'll never get to this point.
kernel= case $basic_machine in
case $cpu-$vendor in
score-*) score-*)
os=elf os=-elf
;; ;;
spu-*) spu-*)
os=elf os=-elf
;; ;;
*-acorn) *-acorn)
os=riscix1.2 os=-riscix1.2
;; ;;
arm*-rebel) arm*-rebel)
kernel=linux os=-linux
os=gnu
;; ;;
arm*-semi) arm*-semi)
os=aout os=-aout
;; ;;
c4x-* | tic4x-*) c4x-* | tic4x-*)
os=coff os=-coff
;; ;;
c8051-*) c8051-*)
os=elf os=-elf
;;
clipper-intergraph)
os=clix
;; ;;
hexagon-*) hexagon-*)
os=elf os=-elf
;; ;;
tic54x-*) tic54x-*)
os=coff os=-coff
;; ;;
tic55x-*) tic55x-*)
os=coff os=-coff
;; ;;
tic6x-*) tic6x-*)
os=coff os=-coff
;; ;;
# This must come before the *-dec entry. # This must come before the *-dec entry.
pdp10-*) pdp10-*)
os=tops20 os=-tops20
;; ;;
pdp11-*) pdp11-*)
os=none os=-none
;; ;;
*-dec | vax-*) *-dec | vax-*)
os=ultrix4.2 os=-ultrix4.2
;; ;;
m68*-apollo) m68*-apollo)
os=domain os=-domain
;; ;;
i386-sun) i386-sun)
os=sunos4.0.2 os=-sunos4.0.2
;; ;;
m68000-sun) m68000-sun)
os=sunos3 os=-sunos3
;; ;;
m68*-cisco) m68*-cisco)
os=aout os=-aout
;; ;;
mep-*) mep-*)
os=elf os=-elf
;; ;;
mips*-cisco) mips*-cisco)
os=elf os=-elf
;; ;;
mips*-*) mips*-*)
os=elf os=-elf
;; ;;
or32-*) or32-*)
os=coff os=-coff
;; ;;
*-tti) # must be before sparc entry or we get the wrong os. *-tti) # must be before sparc entry or we get the wrong os.
os=sysv3 os=-sysv3
;; ;;
sparc-* | *-sun) sparc-* | *-sun)
os=sunos4.1.1 os=-sunos4.1.1
;; ;;
pru-*) pru-*)
os=elf os=-elf
;; ;;
*-be) *-be)
os=beos os=-beos
;; ;;
*-ibm) *-ibm)
os=aix os=-aix
;; ;;
*-knuth) *-knuth)
os=mmixware os=-mmixware
;; ;;
*-wec) *-wec)
os=proelf os=-proelf
;; ;;
*-winbond) *-winbond)
os=proelf os=-proelf
;; ;;
*-oki) *-oki)
os=proelf os=-proelf
;; ;;
*-hp) *-hp)
os=hpux os=-hpux
;; ;;
*-hitachi) *-hitachi)
os=hiux os=-hiux
;; ;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=sysv os=-sysv
;; ;;
*-cbm) *-cbm)
os=amigaos os=-amigaos
;; ;;
*-dg) *-dg)
os=dgux os=-dgux
;; ;;
*-dolphin) *-dolphin)
os=sysv3 os=-sysv3
;; ;;
m68k-ccur) m68k-ccur)
os=rtu os=-rtu
;; ;;
m88k-omron*) m88k-omron*)
os=luna os=-luna
;; ;;
*-next) *-next)
os=nextstep os=-nextstep
;; ;;
*-sequent) *-sequent)
os=ptx os=-ptx
;; ;;
*-crds) *-crds)
os=unos os=-unos
;; ;;
*-ns) *-ns)
os=genix os=-genix
;; ;;
i370-*) i370-*)
os=mvs os=-mvs
;; ;;
*-gould) *-gould)
os=sysv os=-sysv
;; ;;
*-highlevel) *-highlevel)
os=bsd os=-bsd
;; ;;
*-encore) *-encore)
os=bsd os=-bsd
;; ;;
*-sgi) *-sgi)
os=irix os=-irix
;; ;;
*-siemens) *-siemens)
os=sysv4 os=-sysv4
;; ;;
*-masscomp) *-masscomp)
os=rtu os=-rtu
;; ;;
f30[01]-fujitsu | f700-fujitsu) f30[01]-fujitsu | f700-fujitsu)
os=uxpv os=-uxpv
;; ;;
*-rom68k) *-rom68k)
os=coff os=-coff
;; ;;
*-*bug) *-*bug)
os=coff os=-coff
;; ;;
*-apple) *-apple)
os=macos os=-macos
;; ;;
*-atari*) *-atari*)
os=mint os=-mint
;;
*-wrs)
os=vxworks
;; ;;
*) *)
os=none os=-none
;; ;;
esac esac
fi fi
# Now, validate our (potentially fixed-up) OS.
case $os in
# Sometimes we do "kernel-libc", so those need to count as OSes.
musl* | newlib* | relibc* | uclibc*)
;;
# Likewise for "kernel-abi"
eabi* | gnueabi*)
;;
# VxWorks passes extra cpu info in the 4th filed.
simlinux | simwindows | spe)
;;
# Now accept the basic system types.
# The portable systems comes first.
# Each alternative MUST end in a * to match a version number.
gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \
| *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \
| hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
| sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
| hiux* | abug | nacl* | netware* | windows* \
| os9* | macos* | osx* | ios* \
| mpw* | magic* | mmixware* | mon960* | lnews* \
| amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
| aos* | aros* | cloudabi* | sortix* | twizzler* \
| nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
| clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
| mirbsd* | netbsd* | dicos* | openedition* | ose* \
| bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os10
8* \
| ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
| bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
| ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
| udi* | lites* | ieee* | go32* | aux* | hcos* \
| chorusrdb* | cegcc* | glidix* | serenity* \
| cygwin* | msys* | pe* | moss* | proelf* | rtems* \
| midipix* | mingw32* | mingw64* | mint* \
| 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* \
| scout* | superux* | sysv* | rtmk* | tpf* | windiss* \
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
| midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
| nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*
\
| fiwix* )
;;
# This one is extra strict with allowed versions
sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
;;
none)
;;
*)
echo Invalid configuration \`"$1"\': OS \`"$os"\' not recogn
ized 1>&2
exit 1
;;
esac
# As a final step for OS-related things, validate the OS-kernel combination
# (given a valid OS), if there is a kernel.
case $kernel-$os in
linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \
| linux-musl* | linux-relibc* | linux-uclibc* )
;;
uclinux-uclibc* )
;;
-dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* )
# These are just libc implementations, not actual OSes, and
thus
# require a kernel.
echo "Invalid configuration \`$1': libc \`$os' needs explici
t kernel." 1>&2
exit 1
;;
kfreebsd*-gnu* | kopensolaris*-gnu*)
;;
vxworks-simlinux | vxworks-simwindows | vxworks-spe)
;;
nto-qnx*)
;;
os2-emx)
;;
*-eabi* | *-gnueabi*)
;;
-*)
# Blank kernel with real OS is always fine.
;;
*-*)
echo "Invalid configuration \`$1': Kernel \`$kernel' not kno
wn to work with OS \`$os'." 1>&2
exit 1
;;
esac
# Here we handle the case where we know the os, and the CPU type, but not t he # Here we handle the case where we know the os, and the CPU type, but not t he
# manufacturer. We pick the logical manufacturer. # manufacturer. We pick the logical manufacturer.
case $vendor in vendor=unknown
unknown) case $basic_machine in
case $cpu-$os in *-unknown)
*-riscix*) case $os in
-riscix*)
vendor=acorn vendor=acorn
;; ;;
*-sunos*) -sunos*)
vendor=sun vendor=sun
;; ;;
*-cnk* | *-aix*) -cnk*|-aix*)
vendor=ibm vendor=ibm
;; ;;
*-beos*) -beos*)
vendor=be vendor=be
;; ;;
*-hpux*) -hpux*)
vendor=hp vendor=hp
;; ;;
*-mpeix*) -mpeix*)
vendor=hp vendor=hp
;; ;;
*-hiux*) -hiux*)
vendor=hitachi vendor=hitachi
;; ;;
*-unos*) -unos*)
vendor=crds vendor=crds
;; ;;
*-dgux*) -dgux*)
vendor=dg vendor=dg
;; ;;
*-luna*) -luna*)
vendor=omron vendor=omron
;; ;;
*-genix*) -genix*)
vendor=ns vendor=ns
;; ;;
*-clix*) -mvs* | -opened*)
vendor=intergraph
;;
*-mvs* | *-opened*)
vendor=ibm
;;
*-os400*)
vendor=ibm vendor=ibm
;; ;;
s390-* | s390x-*) -os400*)
vendor=ibm vendor=ibm
;; ;;
*-ptx*) -ptx*)
vendor=sequent vendor=sequent
;; ;;
*-tpf*) -tpf*)
vendor=ibm vendor=ibm
;; ;;
*-vxsim* | *-vxworks* | *-windiss*) -vxsim* | -vxworks* | -windiss*)
vendor=wrs vendor=wrs
;; ;;
*-aux*) -aux*)
vendor=apple vendor=apple
;; ;;
*-hms*) -hms*)
vendor=hitachi vendor=hitachi
;; ;;
*-mpw* | *-macos*) -mpw* | -macos*)
vendor=apple vendor=apple
;; ;;
*-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari vendor=atari
;; ;;
*-vos*) -vos*)
vendor=stratus vendor=stratus
;; ;;
esac esac
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendo r/"`
;; ;;
esac esac
echo "$cpu-$vendor-${kernel:+$kernel-}$os" echo "$basic_machine$os"
exit exit
# Local variables: # Local variables:
# eval: (add-hook 'before-save-hook 'time-stamp) # eval: (add-hook 'write-file-functions 'time-stamp)
# time-stamp-start: "timestamp='" # time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d" # time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'" # time-stamp-end: "'"
# End: # End:
 End of changes. 276 change blocks. 
1395 lines changed or deleted 1311 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/