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/ |