Created
December 10, 2020 20:22
-
-
Save osheroff/50e3dc1f2caefd9b9e664de4685c89ce to your computer and use it in GitHub Desktop.
update config.sub
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/config.sub b/config.sub | |
index 463186d..19c9553 100755 | |
--- a/config.sub | |
+++ b/config.sub | |
@@ -1,42 +1,40 @@ | |
#! /bin/sh | |
# Configuration validation subroutine script. | |
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | |
-# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. | |
+# Copyright 1992-2020 Free Software Foundation, Inc. | |
-timestamp='2004-01-05' | |
+timestamp='2020-12-02' | |
-# This file is (in principle) common to ALL GNU software. | |
-# The presence of a machine in this file suggests that SOME GNU software | |
-# can handle that machine. It does not imply ALL GNU software can. | |
-# | |
-# 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 | |
-# the Free Software Foundation; either version 2 of the License, or | |
+# 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 | |
+# the Free Software Foundation; either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
-# This program is distributed in the hope that it will be useful, | |
-# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
-# GNU General Public License for more details. | |
+# This program is distributed in the hope that it will be useful, but | |
+# WITHOUT ANY WARRANTY; without even the implied warranty of | |
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
+# General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
-# along with this program; if not, write to the Free Software | |
-# Foundation, Inc., 59 Temple Place - Suite 330, | |
-# Boston, MA 02111-1307, USA. | |
- | |
+# along with this program; if not, see <https://www.gnu.org/licenses/>. | |
+# | |
# As a special exception to the GNU General Public License, if you | |
# distribute this file as part of a program that contains a | |
# configuration script generated by Autoconf, you may include it under | |
-# the same distribution terms that you use for the rest of that program. | |
+# the same distribution terms that you use for the rest of that | |
+# program. This Exception is an additional permission under section 7 | |
+# of the GNU General Public License, version 3 ("GPLv3"). | |
-# Please send patches to <[email protected]>. Submit a context | |
-# diff and a properly formatted ChangeLog entry. | |
+ | |
+# Please send patches to <[email protected]>. | |
# | |
# Configuration subroutine to validate and canonicalize a configuration type. | |
# Supply the specified configuration type as an argument. | |
# 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. | |
+# You can get the latest version of this script from: | |
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub | |
+ | |
# This file is supposed to be the same for all GNU packages | |
# and recognize all the CPU types, system types and aliases | |
# that are meaningful with *any* GNU software. | |
@@ -52,15 +50,14 @@ timestamp='2004-01-05' | |
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM | |
# It is wrong to echo any other type of specification. | |
-me=`echo "$0" | sed -e 's,.*/,,'` | |
+me=$(echo "$0" | sed -e 's,.*/,,') | |
usage="\ | |
-Usage: $0 [OPTION] CPU-MFR-OPSYS | |
- $0 [OPTION] ALIAS | |
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS | |
Canonicalize a configuration name. | |
-Operation modes: | |
+Options: | |
-h, --help print this help, then exit | |
-t, --time-stamp print date of last modification, then exit | |
-v, --version print version number, then exit | |
@@ -70,8 +67,7 @@ Report bugs and patches to <[email protected]>." | |
version="\ | |
GNU config.sub ($timestamp) | |
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 | |
-Free Software Foundation, Inc. | |
+Copyright 1992-2020 Free Software Foundation, Inc. | |
This is free software; see the source for copying conditions. There is NO | |
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." | |
@@ -83,23 +79,23 @@ Try \`$me --help' for more information." | |
while test $# -gt 0 ; do | |
case $1 in | |
--time-stamp | --time* | -t ) | |
- echo "$timestamp" ; exit 0 ;; | |
+ echo "$timestamp" ; exit ;; | |
--version | -v ) | |
- echo "$version" ; exit 0 ;; | |
+ echo "$version" ; exit ;; | |
--help | --h* | -h ) | |
- echo "$usage"; exit 0 ;; | |
+ echo "$usage"; exit ;; | |
-- ) # Stop option processing | |
shift; break ;; | |
- ) # Use stdin as input. | |
break ;; | |
-* ) | |
- echo "$me: invalid option $1$help" | |
+ echo "$me: invalid option $1$help" >&2 | |
exit 1 ;; | |
*local*) | |
# First pass through any local machine types. | |
- echo $1 | |
- exit 0;; | |
+ echo "$1" | |
+ exit ;; | |
* ) | |
break ;; | |
@@ -114,996 +110,1168 @@ case $# in | |
exit 1;; | |
esac | |
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). | |
-# Here we must recognize all the valid KERNEL-OS combinations. | |
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` | |
-case $maybe_os in | |
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ | |
- kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) | |
- os=-$maybe_os | |
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` | |
- ;; | |
- *) | |
- basic_machine=`echo $1 | sed 's/-[^-]*$//'` | |
- if [ $basic_machine != $1 ] | |
- then os=`echo $1 | sed 's/.*-/-/'` | |
- else os=; fi | |
- ;; | |
-esac | |
+# Split fields of configuration type | |
+# shellcheck disable=SC2162 | |
+IFS="-" read field1 field2 field3 field4 <<EOF | |
+$1 | |
+EOF | |
-### 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* | \ | |
- -att* | -7300* | -3300* | -delta* | -motorola* | -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) | |
- os= | |
- basic_machine=$1 | |
- ;; | |
- -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 | |
- ;; | |
- -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]*) | |
- # Don't forget version if it is 3.2v4 or newer. | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+# Separate into logical components for further validation | |
+case $1 in | |
+ *-*-*-*-*) | |
+ echo Invalid configuration \`"$1"\': more than four components >&2 | |
+ exit 1 | |
;; | |
- -sco*) | |
- os=-sco3.2v2 | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ *-*-*-*) | |
+ basic_machine=$field1-$field2 | |
+ basic_os=$field3-$field4 | |
;; | |
- -udk*) | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ *-*-*) | |
+ # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two | |
+ # parts | |
+ maybe_os=$field2-$field3 | |
+ case $maybe_os in | |
+ nto-qnx* | linux-* | uclinux-uclibc* \ | |
+ | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ | |
+ | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ | |
+ | 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 | |
;; | |
- -isc) | |
- os=-isc2.2 | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+ *-*) | |
+ # A lone config we happen to match not fitting any pattern | |
+ case $field1-$field2 in | |
+ decstation-3100) | |
+ basic_machine=mips-dec | |
+ basic_os= | |
+ ;; | |
+ *-*) | |
+ # Second component is usually, but not always the OS | |
+ case $field2 in | |
+ # Prevent following clause from handling this valid os | |
+ sun*os*) | |
+ basic_machine=$field1 | |
+ basic_os=$field2 | |
+ ;; | |
+ # Manufacturers | |
+ dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ | |
+ | att* | 7300* | 3300* | delta* | motorola* | 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-$field2 | |
+ basic_os= | |
+ ;; | |
+ *) | |
+ basic_machine=$field1 | |
+ basic_os=$field2 | |
+ ;; | |
+ esac | |
+ ;; | |
+ esac | |
;; | |
- -clix*) | |
- basic_machine=clipper-intergraph | |
+ *) | |
+ # Convert single-component short-hands not valid as part of | |
+ # multi-component configurations. | |
+ case $field1 in | |
+ 386bsd) | |
+ basic_machine=i386-pc | |
+ basic_os=bsd | |
+ ;; | |
+ a29khif) | |
+ basic_machine=a29k-amd | |
+ basic_os=udi | |
+ ;; | |
+ adobe68k) | |
+ basic_machine=m68010-adobe | |
+ basic_os=scout | |
+ ;; | |
+ alliant) | |
+ basic_machine=fx80-alliant | |
+ basic_os= | |
+ ;; | |
+ altos | altos3068) | |
+ basic_machine=m68k-altos | |
+ basic_os= | |
+ ;; | |
+ am29k) | |
+ basic_machine=a29k-none | |
+ basic_os=bsd | |
+ ;; | |
+ amdahl) | |
+ basic_machine=580-amdahl | |
+ basic_os=sysv | |
+ ;; | |
+ amiga) | |
+ basic_machine=m68k-unknown | |
+ basic_os= | |
+ ;; | |
+ 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 | |
;; | |
- -isc*) | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` | |
+esac | |
+ | |
+# Decode 1-component or ad-hoc basic machines | |
+case $basic_machine in | |
+ # Here we handle the default manufacturer of certain CPU types. It is in | |
+ # some cases the only manufacturer, in others, it is the most popular. | |
+ w89k) | |
+ cpu=hppa1.1 | |
+ vendor=winbond | |
;; | |
- -lynx*) | |
- os=-lynxos | |
+ op50n) | |
+ cpu=hppa1.1 | |
+ vendor=oki | |
;; | |
- -ptx*) | |
- basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` | |
+ op60c) | |
+ cpu=hppa1.1 | |
+ vendor=oki | |
;; | |
- -windowsnt*) | |
- os=`echo $os | sed -e 's/windowsnt/winnt/'` | |
+ ibm*) | |
+ cpu=i370 | |
+ vendor=ibm | |
;; | |
- -psos*) | |
- os=-psos | |
+ orion105) | |
+ cpu=clipper | |
+ vendor=highlevel | |
;; | |
- -mint | -mint[0-9]*) | |
- basic_machine=m68k-atari | |
- os=-mint | |
+ mac | mpw | mac-mpw) | |
+ cpu=m68k | |
+ vendor=apple | |
;; | |
-esac | |
- | |
-# Decode aliases for certain CPU-COMPANY combinations. | |
-case $basic_machine in | |
- # Recognize the basic CPU types without company name. | |
- # Some are omitted here because they have special meanings below. | |
- 1750a | 580 \ | |
- | a29k \ | |
- | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | |
- | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | |
- | am33_2.0 \ | |
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | |
- | c4x | clipper \ | |
- | d10v | d30v | dlx | dsp16xx \ | |
- | fr30 | frv \ | |
- | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | |
- | i370 | i860 | i960 | ia64 \ | |
- | ip2k | iq2000 \ | |
- | m32r | m68000 | m68k | m88k | mcore \ | |
- | mips | mipsbe | mipseb | mipsel | mipsle \ | |
- | mips16 \ | |
- | mips64 | mips64el \ | |
- | mips64vr | mips64vrel \ | |
- | mips64orion | mips64orionel \ | |
- | mips64vr4100 | mips64vr4100el \ | |
- | mips64vr4300 | mips64vr4300el \ | |
- | mips64vr5000 | mips64vr5000el \ | |
- | mipsisa32 | mipsisa32el \ | |
- | mipsisa32r2 | mipsisa32r2el \ | |
- | mipsisa64 | mipsisa64el \ | |
- | mipsisa64r2 | mipsisa64r2el \ | |
- | mipsisa64sb1 | mipsisa64sb1el \ | |
- | mipsisa64sr71k | mipsisa64sr71kel \ | |
- | mipstx39 | mipstx39el \ | |
- | mn10200 | mn10300 \ | |
- | msp430 \ | |
- | ns16k | ns32k \ | |
- | openrisc | or32 \ | |
- | pdp10 | pdp11 | pj | pjl \ | |
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | |
- | pyramid \ | |
- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | |
- | sh64 | sh64le \ | |
- | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | |
- | strongarm \ | |
- | tahoe | thumb | tic4x | tic80 | tron \ | |
- | v850 | v850e \ | |
- | we32k \ | |
- | x86 | xscale | xstormy16 | xtensa \ | |
- | z8k) | |
- basic_machine=$basic_machine-unknown | |
- ;; | |
- m6811 | m68hc11 | m6812 | m68hc12) | |
- # Motorola 68HC11/12. | |
- basic_machine=$basic_machine-unknown | |
- os=-none | |
- ;; | |
- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) | |
+ pmac | pmac-mpw) | |
+ cpu=powerpc | |
+ vendor=apple | |
;; | |
- # 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_machine\' not recognized 1>&2 | |
- exit 1 | |
- ;; | |
- # Recognize the basic CPU types with company name. | |
- 580-* \ | |
- | a29k-* \ | |
- | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | |
- | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | |
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | |
- | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | |
- | avr-* \ | |
- | bs2000-* \ | |
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | |
- | clipper-* | cydra-* \ | |
- | d10v-* | d30v-* | dlx-* \ | |
- | elxsi-* \ | |
- | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | |
- | h8300-* | h8500-* \ | |
- | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | |
- | i*86-* | i860-* | i960-* | ia64-* \ | |
- | ip2k-* | iq2000-* \ | |
- | m32r-* \ | |
- | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | |
- | m88110-* | m88k-* | mcore-* \ | |
- | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | |
- | mips16-* \ | |
- | mips64-* | mips64el-* \ | |
- | mips64vr-* | mips64vrel-* \ | |
- | mips64orion-* | mips64orionel-* \ | |
- | mips64vr4100-* | mips64vr4100el-* \ | |
- | mips64vr4300-* | mips64vr4300el-* \ | |
- | mips64vr5000-* | mips64vr5000el-* \ | |
- | mipsisa32-* | mipsisa32el-* \ | |
- | mipsisa32r2-* | mipsisa32r2el-* \ | |
- | mipsisa64-* | mipsisa64el-* \ | |
- | mipsisa64r2-* | mipsisa64r2el-* \ | |
- | mipsisa64sb1-* | mipsisa64sb1el-* \ | |
- | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | |
- | mipstx39-* | mipstx39el-* \ | |
- | msp430-* \ | |
- | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \ | |
- | orion-* \ | |
- | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | |
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | |
- | pyramid-* \ | |
- | romp-* | rs6000-* \ | |
- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | |
- | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | |
- | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | |
- | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | |
- | tahoe-* | thumb-* \ | |
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | |
- | tron-* \ | |
- | v850-* | v850e-* | vax-* \ | |
- | we32k-* \ | |
- | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ | |
- | xtensa-* \ | |
- | ymp-* \ | |
- | z8k-*) | |
- ;; | |
# Recognize the various machine names and aliases which stand | |
# for a CPU type and a company and sometimes even an OS. | |
- 386bsd) | |
- basic_machine=i386-unknown | |
- os=-bsd | |
- ;; | |
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) | |
- basic_machine=m68000-att | |
+ cpu=m68000 | |
+ vendor=att | |
;; | |
3b*) | |
- basic_machine=we32k-att | |
- ;; | |
- a29khif) | |
- basic_machine=a29k-amd | |
- os=-udi | |
- ;; | |
- 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 | |
+ cpu=we32k | |
+ vendor=att | |
;; | |
- 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 | |
- ;; | |
- aux) | |
- basic_machine=m68k-apple | |
- os=-aux | |
- ;; | |
- balance) | |
- basic_machine=ns32k-sequent | |
- os=-dynix | |
- ;; | |
- c90) | |
- basic_machine=c90-cray | |
- os=-unicos | |
- ;; | |
- 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 | |
- ;; | |
- crds | unos) | |
- basic_machine=m68k-crds | |
- ;; | |
- cris | cris-* | etrax*) | |
- basic_machine=cris-axis | |
- ;; | |
- da30 | da30-*) | |
- basic_machine=m68k-da30 | |
- ;; | |
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) | |
- basic_machine=mips-dec | |
+ bluegene*) | |
+ cpu=powerpc | |
+ vendor=ibm | |
+ basic_os=cnk | |
;; | |
decsystem10* | dec10*) | |
- basic_machine=pdp10-dec | |
- os=-tops10 | |
+ cpu=pdp10 | |
+ vendor=dec | |
+ basic_os=tops10 | |
;; | |
decsystem20* | dec20*) | |
- basic_machine=pdp10-dec | |
- os=-tops20 | |
+ cpu=pdp10 | |
+ vendor=dec | |
+ basic_os=tops20 | |
;; | |
delta | 3300 | motorola-3300 | motorola-delta \ | |
| 3300-motorola | delta-motorola) | |
- basic_machine=m68k-motorola | |
- ;; | |
- delta88) | |
- basic_machine=m88k-motorola | |
- os=-sysv3 | |
+ cpu=m68k | |
+ vendor=motorola | |
;; | |
- dpx20 | dpx20-*) | |
- basic_machine=rs6000-bull | |
- os=-bosx | |
- ;; | |
- dpx2* | dpx2*-bull) | |
- basic_machine=m68k-bull | |
- os=-sysv3 | |
- ;; | |
- ebmon29k) | |
- basic_machine=a29k-amd | |
- os=-ebmon | |
- ;; | |
- elxsi) | |
- basic_machine=elxsi-elxsi | |
- os=-bsd | |
+ dpx2*) | |
+ cpu=m68k | |
+ vendor=bull | |
+ basic_os=sysv3 | |
;; | |
encore | umax | mmax) | |
- basic_machine=ns32k-encore | |
+ cpu=ns32k | |
+ vendor=encore | |
;; | |
- es1800 | OSE68k | ose68k | ose | OSE) | |
- basic_machine=m68k-ericsson | |
- os=-ose | |
+ elxsi) | |
+ cpu=elxsi | |
+ vendor=elxsi | |
+ basic_os=${basic_os:-bsd} | |
;; | |
fx2800) | |
- basic_machine=i860-alliant | |
+ cpu=i860 | |
+ vendor=alliant | |
;; | |
genix) | |
- basic_machine=ns32k-ns | |
- ;; | |
- gmicro) | |
- basic_machine=tron-gmicro | |
- os=-sysv | |
- ;; | |
- go32) | |
- basic_machine=i386-pc | |
- os=-go32 | |
+ cpu=ns32k | |
+ vendor=ns | |
;; | |
h3050r* | hiux*) | |
- basic_machine=hppa1.1-hitachi | |
- 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 | |
+ cpu=hppa1.1 | |
+ vendor=hitachi | |
+ basic_os=hiuxwe2 | |
;; | |
hp3k9[0-9][0-9] | hp9[0-9][0-9]) | |
- basic_machine=hppa1.0-hp | |
+ cpu=hppa1.0 | |
+ vendor=hp | |
;; | |
hp9k2[0-9][0-9] | hp9k31[0-9]) | |
- basic_machine=m68000-hp | |
+ cpu=m68000 | |
+ vendor=hp | |
;; | |
hp9k3[2-9][0-9]) | |
- basic_machine=m68k-hp | |
+ cpu=m68k | |
+ vendor=hp | |
;; | |
hp9k6[0-9][0-9] | hp6[0-9][0-9]) | |
- basic_machine=hppa1.0-hp | |
+ cpu=hppa1.0 | |
+ vendor=hp | |
;; | |
hp9k7[0-79][0-9] | hp7[0-79][0-9]) | |
- basic_machine=hppa1.1-hp | |
+ cpu=hppa1.1 | |
+ vendor=hp | |
;; | |
hp9k78[0-9] | hp78[0-9]) | |
# FIXME: really hppa2.0-hp | |
- basic_machine=hppa1.1-hp | |
+ cpu=hppa1.1 | |
+ vendor=hp | |
;; | |
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) | |
# FIXME: really hppa2.0-hp | |
- basic_machine=hppa1.1-hp | |
+ cpu=hppa1.1 | |
+ vendor=hp | |
;; | |
hp9k8[0-9][13679] | hp8[0-9][13679]) | |
- basic_machine=hppa1.1-hp | |
+ cpu=hppa1.1 | |
+ vendor=hp | |
;; | |
hp9k8[0-9][0-9] | hp8[0-9][0-9]) | |
- basic_machine=hppa1.0-hp | |
- ;; | |
- hppa-next) | |
- os=-nextstep3 | |
- ;; | |
- hppaosf) | |
- basic_machine=hppa1.1-hp | |
- os=-osf | |
- ;; | |
- hppro) | |
- basic_machine=hppa1.1-hp | |
- os=-proelf | |
+ cpu=hppa1.0 | |
+ vendor=hp | |
;; | |
- i370-ibm* | ibm*) | |
- basic_machine=i370-ibm | |
- ;; | |
-# I'm not sure what "Sysv32" means. Should this be sysv3.2? | |
i*86v32) | |
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
- os=-sysv32 | |
+ cpu=$(echo "$1" | sed -e 's/86.*/86/') | |
+ vendor=pc | |
+ basic_os=sysv32 | |
;; | |
i*86v4*) | |
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
- os=-sysv4 | |
+ cpu=$(echo "$1" | sed -e 's/86.*/86/') | |
+ vendor=pc | |
+ basic_os=sysv4 | |
;; | |
i*86v) | |
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
- os=-sysv | |
+ cpu=$(echo "$1" | sed -e 's/86.*/86/') | |
+ vendor=pc | |
+ basic_os=sysv | |
;; | |
i*86sol2) | |
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` | |
- os=-solaris2 | |
- ;; | |
- i386mach) | |
- basic_machine=i386-mach | |
- os=-mach | |
+ cpu=$(echo "$1" | sed -e 's/86.*/86/') | |
+ vendor=pc | |
+ basic_os=solaris2 | |
;; | |
- i386-vsta | vsta) | |
- basic_machine=i386-unknown | |
- os=-vsta | |
+ j90 | j90-cray) | |
+ cpu=j90 | |
+ vendor=cray | |
+ basic_os=${basic_os:-unicos} | |
;; | |
iris | iris4d) | |
- basic_machine=mips-sgi | |
- case $os in | |
- -irix*) | |
+ cpu=mips | |
+ vendor=sgi | |
+ case $basic_os in | |
+ irix*) | |
;; | |
*) | |
- os=-irix4 | |
+ basic_os=irix4 | |
;; | |
esac | |
;; | |
- isi68 | isi) | |
- basic_machine=m68k-isi | |
- os=-sysv | |
- ;; | |
- m88k-omron*) | |
- basic_machine=m88k-omron | |
- ;; | |
- magnum | m3230) | |
- basic_machine=mips-mips | |
- os=-sysv | |
- ;; | |
- merlin) | |
- basic_machine=ns32k-utek | |
- os=-sysv | |
- ;; | |
- mingw32) | |
- basic_machine=i386-pc | |
- os=-mingw32 | |
- ;; | |
miniframe) | |
- basic_machine=m68000-convergent | |
- ;; | |
- *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) | |
- basic_machine=m68k-atari | |
- os=-mint | |
- ;; | |
- mips3*-*) | |
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` | |
- ;; | |
- mips3*) | |
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown | |
+ cpu=m68000 | |
+ vendor=convergent | |
;; | |
- mmix*) | |
- basic_machine=mmix-knuth | |
- os=-mmixware | |
- ;; | |
- monitor) | |
- basic_machine=m68k-rom68k | |
- os=-coff | |
- ;; | |
- morphos) | |
- basic_machine=powerpc-unknown | |
- os=-morphos | |
- ;; | |
- msdos) | |
- basic_machine=i386-pc | |
- os=-msdos | |
- ;; | |
- mvs) | |
- basic_machine=i370-ibm | |
- os=-mvs | |
- ;; | |
- 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 | |
+ *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) | |
+ cpu=m68k | |
+ vendor=atari | |
+ basic_os=mint | |
;; | |
news-3600 | risc-news) | |
- basic_machine=mips-sony | |
- os=-newsos | |
- ;; | |
- necv70) | |
- basic_machine=v70-nec | |
- os=-sysv | |
- ;; | |
- next | m*-next ) | |
- basic_machine=m68k-next | |
- case $os in | |
- -nextstep* ) | |
+ cpu=mips | |
+ vendor=sony | |
+ basic_os=newsos | |
+ ;; | |
+ next | m*-next) | |
+ cpu=m68k | |
+ vendor=next | |
+ case $basic_os in | |
+ openstep*) | |
+ ;; | |
+ nextstep*) | |
;; | |
- -ns2*) | |
- os=-nextstep2 | |
+ ns2*) | |
+ basic_os=nextstep2 | |
;; | |
*) | |
- os=-nextstep3 | |
+ basic_os=nextstep3 | |
;; | |
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) | |
- basic_machine=np1-gould | |
- ;; | |
- nv1) | |
- basic_machine=nv1-cray | |
- os=-unicosmp | |
- ;; | |
- nsr-tandem) | |
- basic_machine=nsr-tandem | |
+ cpu=np1 | |
+ vendor=gould | |
;; | |
op50n-* | op60c-*) | |
- basic_machine=hppa1.1-oki | |
- os=-proelf | |
- ;; | |
- or32 | or32-*) | |
- basic_machine=or32-unknown | |
- os=-coff | |
- ;; | |
- os400) | |
- basic_machine=powerpc-ibm | |
- os=-os400 | |
- ;; | |
- OSE68000 | ose68000) | |
- basic_machine=m68000-ericsson | |
- os=-ose | |
- ;; | |
- os68k) | |
- basic_machine=m68k-none | |
- os=-os68k | |
+ cpu=hppa1.1 | |
+ vendor=oki | |
+ basic_os=proelf | |
;; | |
pa-hitachi) | |
- basic_machine=hppa1.1-hitachi | |
- os=-hiuxwe2 | |
- ;; | |
- paragon) | |
- basic_machine=i860-intel | |
- os=-osf | |
+ cpu=hppa1.1 | |
+ vendor=hitachi | |
+ basic_os=hiuxwe2 | |
;; | |
pbd) | |
- basic_machine=sparc-tti | |
+ cpu=sparc | |
+ vendor=tti | |
;; | |
pbb) | |
- basic_machine=m68k-tti | |
- ;; | |
- pc532 | pc532-*) | |
- basic_machine=ns32k-pc532 | |
- ;; | |
- pentium | p5 | k5 | k6 | nexgen | viac3) | |
- basic_machine=i586-pc | |
- ;; | |
- pentiumpro | p6 | 6x86 | athlon | athlon_*) | |
- basic_machine=i686-pc | |
- ;; | |
- pentiumii | pentium2 | pentiumiii | pentium3) | |
- basic_machine=i686-pc | |
- ;; | |
- pentium4) | |
- basic_machine=i786-pc | |
+ cpu=m68k | |
+ vendor=tti | |
;; | |
- pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | |
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- pentiumpro-* | p6-* | 6x86-* | athlon-*) | |
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | |
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- pentium4-*) | |
- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ pc532) | |
+ cpu=ns32k | |
+ vendor=pc532 | |
;; | |
pn) | |
- basic_machine=pn-gould | |
+ cpu=pn | |
+ vendor=gould | |
;; | |
- power) basic_machine=power-ibm | |
- ;; | |
- ppc) basic_machine=powerpc-unknown | |
- ;; | |
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- ppcle | powerpclittle | ppc-le | powerpc-little) | |
- basic_machine=powerpcle-unknown | |
- ;; | |
- ppcle-* | powerpclittle-*) | |
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- ppc64) basic_machine=powerpc64-unknown | |
- ;; | |
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` | |
- ;; | |
- ppc64le | powerpc64little | ppc64-le | powerpc64-little) | |
- basic_machine=powerpc64le-unknown | |
- ;; | |
- ppc64le-* | powerpc64little-*) | |
- basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` | |
+ power) | |
+ cpu=power | |
+ vendor=ibm | |
;; | |
ps2) | |
- basic_machine=i386-ibm | |
- ;; | |
- pw32) | |
- basic_machine=i586-unknown | |
- os=-pw32 | |
- ;; | |
- rom68k) | |
- basic_machine=m68k-rom68k | |
- os=-coff | |
+ cpu=i386 | |
+ vendor=ibm | |
;; | |
rm[46]00) | |
- basic_machine=mips-siemens | |
+ cpu=mips | |
+ vendor=siemens | |
;; | |
rtpc | rtpc-*) | |
- basic_machine=romp-ibm | |
+ cpu=romp | |
+ vendor=ibm | |
;; | |
- s390 | s390-*) | |
- basic_machine=s390-ibm | |
+ sde) | |
+ cpu=mipsisa32 | |
+ vendor=sde | |
+ basic_os=${basic_os:-elf} | |
;; | |
- s390x | s390x-*) | |
- basic_machine=s390x-ibm | |
+ simso-wrs) | |
+ cpu=sparclite | |
+ vendor=wrs | |
+ basic_os=vxworks | |
;; | |
- sa29200) | |
- basic_machine=a29k-amd | |
- os=-udi | |
+ tower | tower-32) | |
+ cpu=m68k | |
+ vendor=ncr | |
;; | |
- sb1) | |
- basic_machine=mipsisa64sb1-unknown | |
+ vpp*|vx|vx-*) | |
+ cpu=f301 | |
+ vendor=fujitsu | |
;; | |
- sb1el) | |
- basic_machine=mipsisa64sb1el-unknown | |
+ w65) | |
+ cpu=w65 | |
+ vendor=wdc | |
;; | |
- sei) | |
- basic_machine=mips-sei | |
- os=-seiux | |
+ w89k-*) | |
+ cpu=hppa1.1 | |
+ vendor=winbond | |
+ basic_os=proelf | |
;; | |
- sequent) | |
- basic_machine=i386-sequent | |
+ none) | |
+ cpu=none | |
+ vendor=none | |
;; | |
- sh) | |
- basic_machine=sh-hitachi | |
- os=-hms | |
+ leon|leon[3-9]) | |
+ cpu=sparc | |
+ vendor=$basic_machine | |
;; | |
- sh64) | |
- basic_machine=sh64-unknown | |
+ leon-*|leon[3-9]-*) | |
+ cpu=sparc | |
+ vendor=$(echo "$basic_machine" | sed 's/-.*//') | |
;; | |
- sparclite-wrs | simso-wrs) | |
- basic_machine=sparclite-wrs | |
- os=-vxworks | |
+ | |
+ *-*) | |
+ # shellcheck disable=SC2162 | |
+ IFS="-" read cpu vendor <<EOF | |
+$basic_machine | |
+EOF | |
;; | |
- sps7) | |
- basic_machine=m68k-bull | |
- os=-sysv2 | |
+ # 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) | |
+ cpu=$basic_machine | |
+ vendor=pc | |
;; | |
- spur) | |
- basic_machine=spur-unknown | |
+ # These rules are duplicated from below for sake of the special case above; | |
+ # i.e. things that normalized to x86 arches should also default to "pc" | |
+ pc98) | |
+ cpu=i386 | |
+ vendor=pc | |
;; | |
- st2000) | |
- basic_machine=m68k-tandem | |
+ x64 | amd64) | |
+ cpu=x86_64 | |
+ vendor=pc | |
;; | |
- stratus) | |
- basic_machine=i860-stratus | |
- os=-sysv4 | |
+ # Recognize the basic CPU types without company name. | |
+ *) | |
+ cpu=$basic_machine | |
+ vendor=unknown | |
;; | |
- sun2) | |
- basic_machine=m68000-sun | |
+esac | |
+ | |
+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 canonical form. It is in | |
+ # some cases the only manufacturer, in others, it is the most popular. | |
+ craynv-unknown) | |
+ vendor=cray | |
+ basic_os=${basic_os:-unicosmp} | |
;; | |
- sun2os3) | |
- basic_machine=m68000-sun | |
- os=-sunos3 | |
+ c90-unknown | c90-cray) | |
+ vendor=cray | |
+ basic_os=${Basic_os:-unicos} | |
;; | |
- sun2os4) | |
- basic_machine=m68000-sun | |
- os=-sunos4 | |
+ fx80-unknown) | |
+ vendor=alliant | |
;; | |
- sun3os3) | |
- basic_machine=m68k-sun | |
- os=-sunos3 | |
+ romp-unknown) | |
+ vendor=ibm | |
;; | |
- sun3os4) | |
- basic_machine=m68k-sun | |
- os=-sunos4 | |
+ mmix-unknown) | |
+ vendor=knuth | |
;; | |
- sun4os3) | |
- basic_machine=sparc-sun | |
- os=-sunos3 | |
+ microblaze-unknown | microblazeel-unknown) | |
+ vendor=xilinx | |
;; | |
- sun4os4) | |
- basic_machine=sparc-sun | |
- os=-sunos4 | |
+ rs6000-unknown) | |
+ vendor=ibm | |
;; | |
- sun4sol2) | |
- basic_machine=sparc-sun | |
- os=-solaris2 | |
+ vax-unknown) | |
+ vendor=dec | |
;; | |
- sun3 | sun3-*) | |
- basic_machine=m68k-sun | |
+ pdp11-unknown) | |
+ vendor=dec | |
;; | |
- sun4) | |
- basic_machine=sparc-sun | |
+ we32k-unknown) | |
+ vendor=att | |
;; | |
- sun386 | sun386i | roadrunner) | |
- basic_machine=i386-sun | |
+ cydra-unknown) | |
+ vendor=cydrome | |
;; | |
- sv1) | |
- basic_machine=sv1-cray | |
- os=-unicos | |
+ i370-ibm*) | |
+ vendor=ibm | |
;; | |
- symmetry) | |
- basic_machine=i386-sequent | |
- os=-dynix | |
+ orion-unknown) | |
+ vendor=highlevel | |
;; | |
- t3e) | |
- basic_machine=alphaev5-cray | |
- os=-unicos | |
+ xps-unknown | xps100-unknown) | |
+ cpu=xps100 | |
+ vendor=honeywell | |
;; | |
- t90) | |
- basic_machine=t90-cray | |
- os=-unicos | |
+ | |
+ # Here we normalize CPU types with a missing or matching vendor | |
+ dpx20-unknown | dpx20-bull) | |
+ cpu=rs6000 | |
+ vendor=bull | |
+ basic_os=${basic_os:-bosx} | |
;; | |
- tic54x | c54x*) | |
- basic_machine=tic54x-unknown | |
- os=-coff | |
+ | |
+ # Here we normalize CPU types irrespective of the vendor | |
+ amd64-*) | |
+ cpu=x86_64 | |
;; | |
- tic55x | c55x*) | |
- basic_machine=tic55x-unknown | |
- os=-coff | |
+ blackfin-*) | |
+ cpu=bfin | |
+ basic_os=linux | |
;; | |
- tic6x | c6x*) | |
- basic_machine=tic6x-unknown | |
- os=-coff | |
+ c54x-*) | |
+ cpu=tic54x | |
;; | |
- tx39) | |
- basic_machine=mipstx39-unknown | |
+ c55x-*) | |
+ cpu=tic55x | |
;; | |
- tx39el) | |
- basic_machine=mipstx39el-unknown | |
+ c6x-*) | |
+ cpu=tic6x | |
;; | |
- toad1) | |
- basic_machine=pdp10-xkl | |
- os=-tops20 | |
+ e500v[12]-*) | |
+ cpu=powerpc | |
+ basic_os=${basic_os}"spe" | |
;; | |
- tower | tower-32) | |
- basic_machine=m68k-ncr | |
+ mips3*-*) | |
+ cpu=mips64 | |
;; | |
- tpf) | |
- basic_machine=s390x-ibm | |
- os=-tpf | |
+ ms1-*) | |
+ cpu=mt | |
;; | |
- udi29k) | |
- basic_machine=a29k-amd | |
- os=-udi | |
+ m68knommu-*) | |
+ cpu=m68k | |
+ basic_os=linux | |
;; | |
- ultra3) | |
- basic_machine=a29k-nyu | |
- os=-sym1 | |
+ m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) | |
+ cpu=s12z | |
;; | |
- v810 | necv810) | |
- basic_machine=v810-nec | |
- os=-none | |
+ openrisc-*) | |
+ cpu=or32 | |
;; | |
- vaxv) | |
- basic_machine=vax-dec | |
- os=-sysv | |
+ parisc-*) | |
+ cpu=hppa | |
+ basic_os=linux | |
;; | |
- vms) | |
- basic_machine=vax-dec | |
- os=-vms | |
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) | |
+ cpu=i586 | |
;; | |
- vpp*|vx|vx-*) | |
- basic_machine=f301-fujitsu | |
+ pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) | |
+ cpu=i686 | |
+ ;; | |
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) | |
+ cpu=i686 | |
;; | |
- vxworks960) | |
- basic_machine=i960-wrs | |
- os=-vxworks | |
+ pentium4-*) | |
+ cpu=i786 | |
;; | |
- vxworks68) | |
- basic_machine=m68k-wrs | |
- os=-vxworks | |
+ pc98-*) | |
+ cpu=i386 | |
;; | |
- vxworks29k) | |
- basic_machine=a29k-wrs | |
- os=-vxworks | |
+ ppc-* | ppcbe-*) | |
+ cpu=powerpc | |
;; | |
- w65*) | |
- basic_machine=w65-wdc | |
- os=-none | |
+ ppcle-* | powerpclittle-*) | |
+ cpu=powerpcle | |
;; | |
- w89k-*) | |
- basic_machine=hppa1.1-winbond | |
- os=-proelf | |
+ ppc64-*) | |
+ cpu=powerpc64 | |
;; | |
- xps | xps100) | |
- basic_machine=xps100-honeywell | |
+ ppc64le-* | powerpc64little-*) | |
+ cpu=powerpc64le | |
;; | |
- ymp) | |
- basic_machine=ymp-cray | |
- os=-unicos | |
+ sb1-*) | |
+ cpu=mipsisa64sb1 | |
;; | |
- z8k-*-coff) | |
- basic_machine=z8k-unknown | |
- os=-sim | |
+ sb1el-*) | |
+ cpu=mipsisa64sb1el | |
;; | |
- none) | |
- basic_machine=none-none | |
- os=-none | |
+ sh5e[lb]-*) | |
+ cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/') | |
;; | |
- | |
-# Here we handle the default manufacturer of certain CPU types. It is in | |
-# some cases the only manufacturer, in others, it is the most popular. | |
- w89k) | |
- basic_machine=hppa1.1-winbond | |
+ spur-*) | |
+ cpu=spur | |
;; | |
- op50n) | |
- basic_machine=hppa1.1-oki | |
+ strongarm-* | thumb-*) | |
+ cpu=arm | |
;; | |
- op60c) | |
- basic_machine=hppa1.1-oki | |
+ tx39-*) | |
+ cpu=mipstx39 | |
;; | |
- romp) | |
- basic_machine=romp-ibm | |
+ tx39el-*) | |
+ cpu=mipstx39el | |
;; | |
- rs6000) | |
- basic_machine=rs6000-ibm | |
+ x64-*) | |
+ cpu=x86_64 | |
;; | |
- vax) | |
- basic_machine=vax-dec | |
+ xscale-* | xscalee[bl]-*) | |
+ cpu=$(echo "$cpu" | sed 's/^xscale/arm/') | |
;; | |
- pdp10) | |
- # there are many clones, so DEC is not a safe bet | |
- basic_machine=pdp10-unknown | |
+ arm64-*) | |
+ cpu=aarch64 | |
;; | |
- pdp11) | |
- basic_machine=pdp11-dec | |
+ | |
+ # Recognize the canonical CPU Types that limit and/or modify the | |
+ # company names they are paired with. | |
+ cr16-*) | |
+ basic_os=${basic_os:-elf} | |
;; | |
- we32k) | |
- basic_machine=we32k-att | |
+ crisv32-* | etraxfs*-*) | |
+ cpu=crisv32 | |
+ vendor=axis | |
;; | |
- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) | |
- basic_machine=sh-unknown | |
+ cris-* | etrax*-*) | |
+ cpu=cris | |
+ vendor=axis | |
;; | |
- sh64) | |
- basic_machine=sh64-unknown | |
+ crx-*) | |
+ basic_os=${basic_os:-elf} | |
;; | |
- sparc | sparcv9 | sparcv9b) | |
- basic_machine=sparc-sun | |
+ neo-tandem) | |
+ cpu=neo | |
+ vendor=tandem | |
;; | |
- cydra) | |
- basic_machine=cydra-cydrome | |
+ nse-tandem) | |
+ cpu=nse | |
+ vendor=tandem | |
;; | |
- orion) | |
- basic_machine=orion-highlevel | |
+ nsr-tandem) | |
+ cpu=nsr | |
+ vendor=tandem | |
;; | |
- orion105) | |
- basic_machine=clipper-highlevel | |
+ nsv-tandem) | |
+ cpu=nsv | |
+ vendor=tandem | |
;; | |
- mac | mpw | mac-mpw) | |
- basic_machine=m68k-apple | |
+ nsx-tandem) | |
+ cpu=nsx | |
+ vendor=tandem | |
;; | |
- pmac | pmac-mpw) | |
- basic_machine=powerpc-apple | |
+ mipsallegrexel-sony) | |
+ cpu=mipsallegrexel | |
+ vendor=sony | |
;; | |
- *-unknown) | |
- # Make sure to match an already-canonicalized machine name. | |
+ tile*-*) | |
+ basic_os=${basic_os:-linux-gnu} | |
;; | |
+ | |
*) | |
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 | |
- exit 1 | |
+ # Recognize the canonical CPU types that are allowed with any | |
+ # company name. | |
+ case $cpu in | |
+ 1750a | 580 \ | |
+ | a29k \ | |
+ | aarch64 | aarch64_be \ | |
+ | abacus \ | |
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ | |
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ | |
+ | alphapca5[67] | alpha64pca5[67] \ | |
+ | am33_2.0 \ | |
+ | amdgcn \ | |
+ | arc | arceb \ | |
+ | arm | arm[lb]e | arme[lb] | armv* \ | |
+ | avr | avr32 \ | |
+ | asmjs \ | |
+ | ba \ | |
+ | be32 | be64 \ | |
+ | bfin | 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 \ | |
+ | 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 \ | |
+ | mipsisa32r6 | mipsisa32r6el \ | |
+ | mipsisa64 | mipsisa64el \ | |
+ | mipsisa64r2 | mipsisa64r2el \ | |
+ | mipsisa64r6 | mipsisa64r6el \ | |
+ | mipsisa64sb1 | mipsisa64sb1el \ | |
+ | mipsisa64sr71k | mipsisa64sr71kel \ | |
+ | mipsr5900 | mipsr5900el \ | |
+ | mipstx39 | mipstx39el \ | |
+ | mmix \ | |
+ | mn10200 | mn10300 \ | |
+ | moxie \ | |
+ | mt \ | |
+ | msp430 \ | |
+ | nds32 | nds32le | nds32be \ | |
+ | nfp \ | |
+ | nios | nios2 | nios2eb | nios2el \ | |
+ | none | np1 | ns16k | ns32k | nvptx \ | |
+ | open8 \ | |
+ | or1k* \ | |
+ | or32 \ | |
+ | orion \ | |
+ | picochip \ | |
+ | pdp10 | pdp11 | pj | pjl | pn | power \ | |
+ | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ | |
+ | pru \ | |
+ | pyramid \ | |
+ | riscv | riscv32 | riscv64 \ | |
+ | 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 | v850e2v3 \ | |
+ | 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 | |
# Here we canonicalize certain aliases for manufacturers. | |
-case $basic_machine in | |
- *-digital*) | |
- basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` | |
+case $vendor in | |
+ digital*) | |
+ vendor=dec | |
;; | |
- *-commodore*) | |
- basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` | |
+ commodore*) | |
+ vendor=cbm | |
;; | |
*) | |
;; | |
@@ -1111,186 +1279,213 @@ esac | |
# Decode manufacturer-specific aliases for certain operating systems. | |
-if [ x"$os" != x"" ] | |
+if test x$basic_os != x | |
then | |
+ | |
+# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just | |
+# 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 | |
+ IFS="-" read kernel os <<EOF | |
+$basic_os | |
+EOF | |
+ ;; | |
+ # 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 kernel, | |
+# etc.) | |
case $os in | |
- # First match some system type aliases | |
- # that might get confused with valid system types. | |
- # -solaris* is a basic system type, with this one exception. | |
- -solaris1 | -solaris1.*) | |
- os=`echo $os | sed -e 's|solaris1|sunos4|'` | |
+ # First match some system type aliases that might get confused | |
+ # with valid system types. | |
+ # solaris* is a basic system type, with this one exception. | |
+ auroraux) | |
+ os=auroraux | |
;; | |
- -solaris) | |
- os=-solaris2 | |
+ bluegene*) | |
+ os=cnk | |
;; | |
- -svr4*) | |
- os=-sysv4 | |
+ solaris1 | solaris1.*) | |
+ os=$(echo $os | sed -e 's|solaris1|sunos4|') | |
;; | |
- -unixware*) | |
- os=-sysv4.2uw | |
+ solaris) | |
+ os=solaris2 | |
;; | |
- -gnu/linux*) | |
- os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` | |
+ unixware*) | |
+ os=sysv4.2uw | |
;; | |
- # First accept the basic system types. | |
- # The portable systems comes first. | |
- # Each alternative MUST END IN A *, to match a version number. | |
- # -sysv* is not here because it comes later, after sysvr4. | |
- -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | |
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | |
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | |
- | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | |
- | -aos* \ | |
- | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | |
- | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | |
- | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | |
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | |
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | |
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | |
- | -chorusos* | -chorusrdb* \ | |
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | |
- | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | |
- | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | |
- | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | |
- | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | |
- | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | |
- | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | |
- | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) | |
- # Remember, each alternative MUST END IN *, to match a version number. | |
- ;; | |
- -qnx*) | |
- case $basic_machine in | |
- x86-* | i*86-*) | |
- ;; | |
- *) | |
- os=-nto$os | |
- ;; | |
- esac | |
+ # es1800 is here to avoid being matched by es* (a different OS) | |
+ es1800*) | |
+ os=ose | |
;; | |
- -nto-qnx*) | |
+ # Some version numbers need modification | |
+ chorusos*) | |
+ os=chorusos | |
;; | |
- -nto*) | |
- os=`echo $os | sed -e 's|nto|nto-qnx|'` | |
+ isc) | |
+ os=isc2.2 | |
;; | |
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | |
- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ | |
- | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) | |
+ sco6) | |
+ os=sco5v6 | |
;; | |
- -mac*) | |
- os=`echo $os | sed -e 's|mac|macos|'` | |
+ sco5) | |
+ os=sco3.2v5 | |
;; | |
- -linux-dietlibc) | |
- os=-linux-dietlibc | |
+ sco4) | |
+ os=sco3.2v4 | |
;; | |
- -linux*) | |
- os=`echo $os | sed -e 's|linux|linux-gnu|'` | |
+ sco3.2.[4-9]*) | |
+ os=$(echo $os | sed -e 's/sco3.2./sco3.2v/') | |
;; | |
- -sunos5*) | |
- os=`echo $os | sed -e 's|sunos5|solaris2|'` | |
+ sco*v* | scout) | |
+ # Don't match below | |
;; | |
- -sunos6*) | |
- os=`echo $os | sed -e 's|sunos6|solaris3|'` | |
+ sco*) | |
+ os=sco3.2v2 | |
;; | |
- -opened*) | |
- os=-openedition | |
+ psos*) | |
+ os=psos | |
;; | |
- -os400*) | |
- os=-os400 | |
+ qnx*) | |
+ os=qnx | |
;; | |
- -wince*) | |
- os=-wince | |
+ hiux*) | |
+ os=hiuxwe2 | |
;; | |
- -osfrose*) | |
- os=-osfrose | |
+ lynx*178) | |
+ os=lynxos178 | |
;; | |
- -osf*) | |
- os=-osf | |
+ lynx*5) | |
+ os=lynxos5 | |
;; | |
- -utek*) | |
- os=-bsd | |
+ lynxos*) | |
+ # don't get caught up in next wildcard | |
;; | |
- -dynix*) | |
- os=-bsd | |
+ lynx*) | |
+ os=lynxos | |
;; | |
- -acis*) | |
- os=-aos | |
+ mac[0-9]*) | |
+ os=$(echo "$os" | sed -e 's|mac|macos|') | |
;; | |
- -atheos*) | |
- os=-atheos | |
+ opened*) | |
+ os=openedition | |
;; | |
- -syllable*) | |
- os=-syllable | |
+ os400*) | |
+ os=os400 | |
;; | |
- -386bsd) | |
- os=-bsd | |
+ sunos5*) | |
+ os=$(echo "$os" | sed -e 's|sunos5|solaris2|') | |
;; | |
- -ctix* | -uts*) | |
- os=-sysv | |
+ sunos6*) | |
+ os=$(echo "$os" | sed -e 's|sunos6|solaris3|') | |
;; | |
- -nova*) | |
- os=-rtmk-nova | |
+ wince*) | |
+ os=wince | |
;; | |
- -ns2 ) | |
- os=-nextstep2 | |
+ utek*) | |
+ os=bsd | |
;; | |
- -nsk*) | |
- os=-nsk | |
+ dynix*) | |
+ os=bsd | |
;; | |
- # Preserve the version number of sinix5. | |
- -sinix5.*) | |
- os=`echo $os | sed -e 's|sinix|sysv|'` | |
+ acis*) | |
+ os=aos | |
;; | |
- -sinix*) | |
- os=-sysv4 | |
+ atheos*) | |
+ os=atheos | |
;; | |
- -tpf*) | |
- os=-tpf | |
+ syllable*) | |
+ os=syllable | |
;; | |
- -triton*) | |
- os=-sysv3 | |
+ 386bsd) | |
+ os=bsd | |
;; | |
- -oss*) | |
- os=-sysv3 | |
+ ctix* | uts*) | |
+ os=sysv | |
;; | |
- -svr4) | |
- os=-sysv4 | |
+ nova*) | |
+ os=rtmk-nova | |
;; | |
- -svr3) | |
- os=-sysv3 | |
+ ns2) | |
+ os=nextstep2 | |
;; | |
- -sysvr4) | |
- os=-sysv4 | |
+ # Preserve the version number of sinix5. | |
+ sinix5.*) | |
+ os=$(echo $os | sed -e 's|sinix|sysv|') | |
;; | |
- # This must come after -sysvr4. | |
- -sysv*) | |
+ sinix*) | |
+ os=sysv4 | |
;; | |
- -ose*) | |
- os=-ose | |
+ tpf*) | |
+ os=tpf | |
;; | |
- -es1800*) | |
- os=-ose | |
+ triton*) | |
+ os=sysv3 | |
;; | |
- -xenix) | |
- os=-xenix | |
+ oss*) | |
+ os=sysv3 | |
;; | |
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
- os=-mint | |
+ svr4*) | |
+ os=sysv4 | |
;; | |
- -aros*) | |
- os=-aros | |
+ svr3) | |
+ os=sysv3 | |
;; | |
- -kaos*) | |
- os=-kaos | |
+ sysvr4) | |
+ os=sysv4 | |
;; | |
- -none) | |
+ ose*) | |
+ os=ose | |
+ ;; | |
+ *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) | |
+ os=mint | |
+ ;; | |
+ dicos*) | |
+ os=dicos | |
+ ;; | |
+ pikeos*) | |
+ # Until real need of OS specific support for | |
+ # particular features comes up, bare metal | |
+ # configurations are quite functional. | |
+ case $cpu in | |
+ arm*) | |
+ os=eabi | |
+ ;; | |
+ *) | |
+ os=elf | |
+ ;; | |
+ esac | |
;; | |
*) | |
- # Get rid of the `-' at the beginning of $os. | |
- os=`echo $os | sed 's/[^-]*-//'` | |
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 | |
- exit 1 | |
+ # No normalization, but not necessarily accepted, that comes below. | |
;; | |
esac | |
+ | |
else | |
# Here we handle the default operating systems that come with various machines. | |
@@ -1303,234 +1498,356 @@ else | |
# will signal an error saying that MANUFACTURER isn't an operating | |
# system, and we'll never get to this point. | |
-case $basic_machine in | |
+kernel= | |
+case $cpu-$vendor in | |
+ score-*) | |
+ os=elf | |
+ ;; | |
+ spu-*) | |
+ os=elf | |
+ ;; | |
*-acorn) | |
- os=-riscix1.2 | |
+ os=riscix1.2 | |
;; | |
arm*-rebel) | |
- os=-linux | |
+ kernel=linux | |
+ os=gnu | |
;; | |
arm*-semi) | |
- os=-aout | |
+ os=aout | |
+ ;; | |
+ c4x-* | tic4x-*) | |
+ os=coff | |
+ ;; | |
+ c8051-*) | |
+ os=elf | |
+ ;; | |
+ clipper-intergraph) | |
+ os=clix | |
+ ;; | |
+ hexagon-*) | |
+ os=elf | |
+ ;; | |
+ tic54x-*) | |
+ os=coff | |
+ ;; | |
+ tic55x-*) | |
+ os=coff | |
+ ;; | |
+ tic6x-*) | |
+ os=coff | |
;; | |
- c4x-* | tic4x-*) | |
- os=-coff | |
- ;; | |
# This must come before the *-dec entry. | |
pdp10-*) | |
- os=-tops20 | |
+ os=tops20 | |
;; | |
pdp11-*) | |
- os=-none | |
+ os=none | |
;; | |
*-dec | vax-*) | |
- os=-ultrix4.2 | |
+ os=ultrix4.2 | |
;; | |
m68*-apollo) | |
- os=-domain | |
+ os=domain | |
;; | |
i386-sun) | |
- os=-sunos4.0.2 | |
+ os=sunos4.0.2 | |
;; | |
m68000-sun) | |
- os=-sunos3 | |
- # This also exists in the configure program, but was not the | |
- # default. | |
- # os=-sunos4 | |
+ os=sunos3 | |
;; | |
m68*-cisco) | |
- os=-aout | |
+ os=aout | |
+ ;; | |
+ mep-*) | |
+ os=elf | |
;; | |
mips*-cisco) | |
- os=-elf | |
+ os=elf | |
;; | |
mips*-*) | |
- os=-elf | |
+ os=elf | |
;; | |
or32-*) | |
- os=-coff | |
+ os=coff | |
;; | |
*-tti) # must be before sparc entry or we get the wrong os. | |
- os=-sysv3 | |
+ os=sysv3 | |
;; | |
sparc-* | *-sun) | |
- os=-sunos4.1.1 | |
+ os=sunos4.1.1 | |
+ ;; | |
+ pru-*) | |
+ os=elf | |
;; | |
*-be) | |
- os=-beos | |
+ os=beos | |
;; | |
*-ibm) | |
- os=-aix | |
+ os=aix | |
+ ;; | |
+ *-knuth) | |
+ os=mmixware | |
;; | |
*-wec) | |
- os=-proelf | |
+ os=proelf | |
;; | |
*-winbond) | |
- os=-proelf | |
+ os=proelf | |
;; | |
*-oki) | |
- os=-proelf | |
+ os=proelf | |
;; | |
*-hp) | |
- os=-hpux | |
+ os=hpux | |
;; | |
*-hitachi) | |
- os=-hiux | |
+ os=hiux | |
;; | |
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) | |
- os=-sysv | |
+ os=sysv | |
;; | |
*-cbm) | |
- os=-amigaos | |
+ os=amigaos | |
;; | |
*-dg) | |
- os=-dgux | |
+ os=dgux | |
;; | |
*-dolphin) | |
- os=-sysv3 | |
+ os=sysv3 | |
;; | |
m68k-ccur) | |
- os=-rtu | |
+ os=rtu | |
;; | |
m88k-omron*) | |
- os=-luna | |
+ os=luna | |
;; | |
- *-next ) | |
- os=-nextstep | |
+ *-next) | |
+ os=nextstep | |
;; | |
*-sequent) | |
- os=-ptx | |
+ os=ptx | |
;; | |
*-crds) | |
- os=-unos | |
+ os=unos | |
;; | |
*-ns) | |
- os=-genix | |
+ os=genix | |
;; | |
i370-*) | |
- os=-mvs | |
- ;; | |
- *-next) | |
- os=-nextstep3 | |
+ os=mvs | |
;; | |
*-gould) | |
- os=-sysv | |
+ os=sysv | |
;; | |
*-highlevel) | |
- os=-bsd | |
+ os=bsd | |
;; | |
*-encore) | |
- os=-bsd | |
+ os=bsd | |
;; | |
*-sgi) | |
- os=-irix | |
+ os=irix | |
;; | |
*-siemens) | |
- os=-sysv4 | |
+ os=sysv4 | |
;; | |
*-masscomp) | |
- os=-rtu | |
+ os=rtu | |
;; | |
f30[01]-fujitsu | f700-fujitsu) | |
- os=-uxpv | |
+ os=uxpv | |
;; | |
*-rom68k) | |
- os=-coff | |
+ os=coff | |
;; | |
*-*bug) | |
- os=-coff | |
+ os=coff | |
;; | |
*-apple) | |
- os=-macos | |
+ os=macos | |
;; | |
*-atari*) | |
- os=-mint | |
+ os=mint | |
+ ;; | |
+ *-wrs) | |
+ os=vxworks | |
;; | |
*) | |
- os=-none | |
+ os=none | |
;; | |
esac | |
+ | |
fi | |
+# Now, validate our (potentially fixed-up) OS. | |
+case $os in | |
+ # Sometimes we do "kernel-abi", so those need to count as OSes. | |
+ musl* | newlib* | uclibc*) | |
+ ;; | |
+ # Likewise for "kernel-libc" | |
+ eabi | eabihf | gnueabi | gnueabihf) | |
+ ;; | |
+ # 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* | solidbsd* | libertybsd* | os108* \ | |
+ | 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* \ | |
+ | 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*) | |
+ ;; | |
+ # 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 recognized 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-uclibc* ) | |
+ ;; | |
+ uclinux-uclibc* ) | |
+ ;; | |
+ -dietlibc* | -newlib* | -musl* | -uclibc* ) | |
+ # These are just libc implementations, not actual OSes, and thus | |
+ # require a kernel. | |
+ echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 | |
+ exit 1 | |
+ ;; | |
+ kfreebsd*-gnu* | kopensolaris*-gnu*) | |
+ ;; | |
+ nto-qnx*) | |
+ ;; | |
+ os2-emx) | |
+ ;; | |
+ *-eabi* | *-gnueabi*) | |
+ ;; | |
+ -*) | |
+ # Blank kernel with real OS is always fine. | |
+ ;; | |
+ *-*) | |
+ echo "Invalid configuration \`$1': Kernel \`$kernel' not known 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 the | |
# manufacturer. We pick the logical manufacturer. | |
-vendor=unknown | |
-case $basic_machine in | |
- *-unknown) | |
- case $os in | |
- -riscix*) | |
+case $vendor in | |
+ unknown) | |
+ case $cpu-$os in | |
+ *-riscix*) | |
vendor=acorn | |
;; | |
- -sunos*) | |
+ *-sunos*) | |
vendor=sun | |
;; | |
- -aix*) | |
+ *-cnk* | *-aix*) | |
vendor=ibm | |
;; | |
- -beos*) | |
+ *-beos*) | |
vendor=be | |
;; | |
- -hpux*) | |
+ *-hpux*) | |
vendor=hp | |
;; | |
- -mpeix*) | |
+ *-mpeix*) | |
vendor=hp | |
;; | |
- -hiux*) | |
+ *-hiux*) | |
vendor=hitachi | |
;; | |
- -unos*) | |
+ *-unos*) | |
vendor=crds | |
;; | |
- -dgux*) | |
+ *-dgux*) | |
vendor=dg | |
;; | |
- -luna*) | |
+ *-luna*) | |
vendor=omron | |
;; | |
- -genix*) | |
+ *-genix*) | |
vendor=ns | |
;; | |
- -mvs* | -opened*) | |
+ *-clix*) | |
+ vendor=intergraph | |
+ ;; | |
+ *-mvs* | *-opened*) | |
+ vendor=ibm | |
+ ;; | |
+ *-os400*) | |
vendor=ibm | |
;; | |
- -os400*) | |
+ s390-* | s390x-*) | |
vendor=ibm | |
;; | |
- -ptx*) | |
+ *-ptx*) | |
vendor=sequent | |
;; | |
- -tpf*) | |
+ *-tpf*) | |
vendor=ibm | |
;; | |
- -vxsim* | -vxworks* | -windiss*) | |
+ *-vxsim* | *-vxworks* | *-windiss*) | |
vendor=wrs | |
;; | |
- -aux*) | |
+ *-aux*) | |
vendor=apple | |
;; | |
- -hms*) | |
+ *-hms*) | |
vendor=hitachi | |
;; | |
- -mpw* | -macos*) | |
+ *-mpw* | *-macos*) | |
vendor=apple | |
;; | |
- -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) | |
+ *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) | |
vendor=atari | |
;; | |
- -vos*) | |
+ *-vos*) | |
vendor=stratus | |
;; | |
esac | |
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` | |
;; | |
esac | |
-echo $basic_machine$os | |
-exit 0 | |
+echo "$cpu-$vendor-${kernel:+$kernel-}$os" | |
+exit | |
# Local variables: | |
-# eval: (add-hook 'write-file-hooks 'time-stamp) | |
+# eval: (add-hook 'before-save-hook 'time-stamp) | |
# time-stamp-start: "timestamp='" | |
# time-stamp-format: "%:y-%02m-%02d" | |
# time-stamp-end: "'" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment