17db96d56Sopenharmony_ci#! /bin/sh 27db96d56Sopenharmony_ci# Configuration validation subroutine script. 37db96d56Sopenharmony_ci# Copyright 1992-2021 Free Software Foundation, Inc. 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ci# shellcheck disable=SC2006,SC2268 # see below for rationale 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_citimestamp='2021-08-14' 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ci# This file is free software; you can redistribute it and/or modify it 107db96d56Sopenharmony_ci# under the terms of the GNU General Public License as published by 117db96d56Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or 127db96d56Sopenharmony_ci# (at your option) any later version. 137db96d56Sopenharmony_ci# 147db96d56Sopenharmony_ci# This program is distributed in the hope that it will be useful, but 157db96d56Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of 167db96d56Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 177db96d56Sopenharmony_ci# General Public License for more details. 187db96d56Sopenharmony_ci# 197db96d56Sopenharmony_ci# You should have received a copy of the GNU General Public License 207db96d56Sopenharmony_ci# along with this program; if not, see <https://www.gnu.org/licenses/>. 217db96d56Sopenharmony_ci# 227db96d56Sopenharmony_ci# As a special exception to the GNU General Public License, if you 237db96d56Sopenharmony_ci# distribute this file as part of a program that contains a 247db96d56Sopenharmony_ci# configuration script generated by Autoconf, you may include it under 257db96d56Sopenharmony_ci# the same distribution terms that you use for the rest of that 267db96d56Sopenharmony_ci# program. This Exception is an additional permission under section 7 277db96d56Sopenharmony_ci# of the GNU General Public License, version 3 ("GPLv3"). 287db96d56Sopenharmony_ci 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci# Please send patches to <config-patches@gnu.org>. 317db96d56Sopenharmony_ci# 327db96d56Sopenharmony_ci# Configuration subroutine to validate and canonicalize a configuration type. 337db96d56Sopenharmony_ci# Supply the specified configuration type as an argument. 347db96d56Sopenharmony_ci# If it is invalid, we print an error message on stderr and exit with code 1. 357db96d56Sopenharmony_ci# Otherwise, we print the canonical config type on stdout and succeed. 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci# You can get the latest version of this script from: 387db96d56Sopenharmony_ci# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci# This file is supposed to be the same for all GNU packages 417db96d56Sopenharmony_ci# and recognize all the CPU types, system types and aliases 427db96d56Sopenharmony_ci# that are meaningful with *any* GNU software. 437db96d56Sopenharmony_ci# Each package is responsible for reporting which valid configurations 447db96d56Sopenharmony_ci# it does not support. The user should be able to distinguish 457db96d56Sopenharmony_ci# a failure to support a valid configuration from a meaningless 467db96d56Sopenharmony_ci# configuration. 477db96d56Sopenharmony_ci 487db96d56Sopenharmony_ci# The goal of this file is to map all the various variations of a given 497db96d56Sopenharmony_ci# machine specification into a single specification in the form: 507db96d56Sopenharmony_ci# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 517db96d56Sopenharmony_ci# or in some cases, the newer four-part form: 527db96d56Sopenharmony_ci# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 537db96d56Sopenharmony_ci# It is wrong to echo any other type of specification. 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ci# The "shellcheck disable" line above the timestamp inhibits complaints 567db96d56Sopenharmony_ci# about features and limitations of the classic Bourne shell that were 577db96d56Sopenharmony_ci# superseded or lifted in POSIX. However, this script identifies a wide 587db96d56Sopenharmony_ci# variety of pre-POSIX systems that do not have POSIX shells at all, and 597db96d56Sopenharmony_ci# even some reasonably current systems (Solaris 10 as case-in-point) still 607db96d56Sopenharmony_ci# have a pre-POSIX /bin/sh. 617db96d56Sopenharmony_ci 627db96d56Sopenharmony_cime=`echo "$0" | sed -e 's,.*/,,'` 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ciusage="\ 657db96d56Sopenharmony_ciUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ciCanonicalize a configuration name. 687db96d56Sopenharmony_ci 697db96d56Sopenharmony_ciOptions: 707db96d56Sopenharmony_ci -h, --help print this help, then exit 717db96d56Sopenharmony_ci -t, --time-stamp print date of last modification, then exit 727db96d56Sopenharmony_ci -v, --version print version number, then exit 737db96d56Sopenharmony_ci 747db96d56Sopenharmony_ciReport bugs and patches to <config-patches@gnu.org>." 757db96d56Sopenharmony_ci 767db96d56Sopenharmony_civersion="\ 777db96d56Sopenharmony_ciGNU config.sub ($timestamp) 787db96d56Sopenharmony_ci 797db96d56Sopenharmony_ciCopyright 1992-2021 Free Software Foundation, Inc. 807db96d56Sopenharmony_ci 817db96d56Sopenharmony_ciThis is free software; see the source for copying conditions. There is NO 827db96d56Sopenharmony_ciwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 837db96d56Sopenharmony_ci 847db96d56Sopenharmony_cihelp=" 857db96d56Sopenharmony_ciTry \`$me --help' for more information." 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ci# Parse command line 887db96d56Sopenharmony_ciwhile test $# -gt 0 ; do 897db96d56Sopenharmony_ci case $1 in 907db96d56Sopenharmony_ci --time-stamp | --time* | -t ) 917db96d56Sopenharmony_ci echo "$timestamp" ; exit ;; 927db96d56Sopenharmony_ci --version | -v ) 937db96d56Sopenharmony_ci echo "$version" ; exit ;; 947db96d56Sopenharmony_ci --help | --h* | -h ) 957db96d56Sopenharmony_ci echo "$usage"; exit ;; 967db96d56Sopenharmony_ci -- ) # Stop option processing 977db96d56Sopenharmony_ci shift; break ;; 987db96d56Sopenharmony_ci - ) # Use stdin as input. 997db96d56Sopenharmony_ci break ;; 1007db96d56Sopenharmony_ci -* ) 1017db96d56Sopenharmony_ci echo "$me: invalid option $1$help" >&2 1027db96d56Sopenharmony_ci exit 1 ;; 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ci *local*) 1057db96d56Sopenharmony_ci # First pass through any local machine types. 1067db96d56Sopenharmony_ci echo "$1" 1077db96d56Sopenharmony_ci exit ;; 1087db96d56Sopenharmony_ci 1097db96d56Sopenharmony_ci * ) 1107db96d56Sopenharmony_ci break ;; 1117db96d56Sopenharmony_ci esac 1127db96d56Sopenharmony_cidone 1137db96d56Sopenharmony_ci 1147db96d56Sopenharmony_cicase $# in 1157db96d56Sopenharmony_ci 0) echo "$me: missing argument$help" >&2 1167db96d56Sopenharmony_ci exit 1;; 1177db96d56Sopenharmony_ci 1) ;; 1187db96d56Sopenharmony_ci *) echo "$me: too many arguments$help" >&2 1197db96d56Sopenharmony_ci exit 1;; 1207db96d56Sopenharmony_ciesac 1217db96d56Sopenharmony_ci 1227db96d56Sopenharmony_ci# Split fields of configuration type 1237db96d56Sopenharmony_ci# shellcheck disable=SC2162 1247db96d56Sopenharmony_cisaved_IFS=$IFS 1257db96d56Sopenharmony_ciIFS="-" read field1 field2 field3 field4 <<EOF 1267db96d56Sopenharmony_ci$1 1277db96d56Sopenharmony_ciEOF 1287db96d56Sopenharmony_ciIFS=$saved_IFS 1297db96d56Sopenharmony_ci 1307db96d56Sopenharmony_ci# Separate into logical components for further validation 1317db96d56Sopenharmony_cicase $1 in 1327db96d56Sopenharmony_ci *-*-*-*-*) 1337db96d56Sopenharmony_ci echo Invalid configuration \`"$1"\': more than four components >&2 1347db96d56Sopenharmony_ci exit 1 1357db96d56Sopenharmony_ci ;; 1367db96d56Sopenharmony_ci *-*-*-*) 1377db96d56Sopenharmony_ci basic_machine=$field1-$field2 1387db96d56Sopenharmony_ci basic_os=$field3-$field4 1397db96d56Sopenharmony_ci ;; 1407db96d56Sopenharmony_ci *-*-*) 1417db96d56Sopenharmony_ci # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 1427db96d56Sopenharmony_ci # parts 1437db96d56Sopenharmony_ci maybe_os=$field2-$field3 1447db96d56Sopenharmony_ci case $maybe_os in 1457db96d56Sopenharmony_ci nto-qnx* | linux-* | uclinux-uclibc* \ 1467db96d56Sopenharmony_ci | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 1477db96d56Sopenharmony_ci | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 1487db96d56Sopenharmony_ci | storm-chaos* | os2-emx* | rtmk-nova*) 1497db96d56Sopenharmony_ci basic_machine=$field1 1507db96d56Sopenharmony_ci basic_os=$maybe_os 1517db96d56Sopenharmony_ci ;; 1527db96d56Sopenharmony_ci android-linux) 1537db96d56Sopenharmony_ci basic_machine=$field1-unknown 1547db96d56Sopenharmony_ci basic_os=linux-android 1557db96d56Sopenharmony_ci ;; 1567db96d56Sopenharmony_ci *) 1577db96d56Sopenharmony_ci basic_machine=$field1-$field2 1587db96d56Sopenharmony_ci basic_os=$field3 1597db96d56Sopenharmony_ci ;; 1607db96d56Sopenharmony_ci esac 1617db96d56Sopenharmony_ci ;; 1627db96d56Sopenharmony_ci *-*) 1637db96d56Sopenharmony_ci # A lone config we happen to match not fitting any pattern 1647db96d56Sopenharmony_ci case $field1-$field2 in 1657db96d56Sopenharmony_ci decstation-3100) 1667db96d56Sopenharmony_ci basic_machine=mips-dec 1677db96d56Sopenharmony_ci basic_os= 1687db96d56Sopenharmony_ci ;; 1697db96d56Sopenharmony_ci *-*) 1707db96d56Sopenharmony_ci # Second component is usually, but not always the OS 1717db96d56Sopenharmony_ci case $field2 in 1727db96d56Sopenharmony_ci # Prevent following clause from handling this valid os 1737db96d56Sopenharmony_ci sun*os*) 1747db96d56Sopenharmony_ci basic_machine=$field1 1757db96d56Sopenharmony_ci basic_os=$field2 1767db96d56Sopenharmony_ci ;; 1777db96d56Sopenharmony_ci zephyr*) 1787db96d56Sopenharmony_ci basic_machine=$field1-unknown 1797db96d56Sopenharmony_ci basic_os=$field2 1807db96d56Sopenharmony_ci ;; 1817db96d56Sopenharmony_ci # Manufacturers 1827db96d56Sopenharmony_ci dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 1837db96d56Sopenharmony_ci | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 1847db96d56Sopenharmony_ci | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 1857db96d56Sopenharmony_ci | convergent* | ncr* | news | 32* | 3600* | 3100* \ 1867db96d56Sopenharmony_ci | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ 1877db96d56Sopenharmony_ci | ultra | tti* | harris | dolphin | highlevel | gould \ 1887db96d56Sopenharmony_ci | cbm | ns | masscomp | apple | axis | knuth | cray \ 1897db96d56Sopenharmony_ci | microblaze* | sim | cisco \ 1907db96d56Sopenharmony_ci | oki | wec | wrs | winbond) 1917db96d56Sopenharmony_ci basic_machine=$field1-$field2 1927db96d56Sopenharmony_ci basic_os= 1937db96d56Sopenharmony_ci ;; 1947db96d56Sopenharmony_ci *) 1957db96d56Sopenharmony_ci basic_machine=$field1 1967db96d56Sopenharmony_ci basic_os=$field2 1977db96d56Sopenharmony_ci ;; 1987db96d56Sopenharmony_ci esac 1997db96d56Sopenharmony_ci ;; 2007db96d56Sopenharmony_ci esac 2017db96d56Sopenharmony_ci ;; 2027db96d56Sopenharmony_ci *) 2037db96d56Sopenharmony_ci # Convert single-component short-hands not valid as part of 2047db96d56Sopenharmony_ci # multi-component configurations. 2057db96d56Sopenharmony_ci case $field1 in 2067db96d56Sopenharmony_ci 386bsd) 2077db96d56Sopenharmony_ci basic_machine=i386-pc 2087db96d56Sopenharmony_ci basic_os=bsd 2097db96d56Sopenharmony_ci ;; 2107db96d56Sopenharmony_ci a29khif) 2117db96d56Sopenharmony_ci basic_machine=a29k-amd 2127db96d56Sopenharmony_ci basic_os=udi 2137db96d56Sopenharmony_ci ;; 2147db96d56Sopenharmony_ci adobe68k) 2157db96d56Sopenharmony_ci basic_machine=m68010-adobe 2167db96d56Sopenharmony_ci basic_os=scout 2177db96d56Sopenharmony_ci ;; 2187db96d56Sopenharmony_ci alliant) 2197db96d56Sopenharmony_ci basic_machine=fx80-alliant 2207db96d56Sopenharmony_ci basic_os= 2217db96d56Sopenharmony_ci ;; 2227db96d56Sopenharmony_ci altos | altos3068) 2237db96d56Sopenharmony_ci basic_machine=m68k-altos 2247db96d56Sopenharmony_ci basic_os= 2257db96d56Sopenharmony_ci ;; 2267db96d56Sopenharmony_ci am29k) 2277db96d56Sopenharmony_ci basic_machine=a29k-none 2287db96d56Sopenharmony_ci basic_os=bsd 2297db96d56Sopenharmony_ci ;; 2307db96d56Sopenharmony_ci amdahl) 2317db96d56Sopenharmony_ci basic_machine=580-amdahl 2327db96d56Sopenharmony_ci basic_os=sysv 2337db96d56Sopenharmony_ci ;; 2347db96d56Sopenharmony_ci amiga) 2357db96d56Sopenharmony_ci basic_machine=m68k-unknown 2367db96d56Sopenharmony_ci basic_os= 2377db96d56Sopenharmony_ci ;; 2387db96d56Sopenharmony_ci amigaos | amigados) 2397db96d56Sopenharmony_ci basic_machine=m68k-unknown 2407db96d56Sopenharmony_ci basic_os=amigaos 2417db96d56Sopenharmony_ci ;; 2427db96d56Sopenharmony_ci amigaunix | amix) 2437db96d56Sopenharmony_ci basic_machine=m68k-unknown 2447db96d56Sopenharmony_ci basic_os=sysv4 2457db96d56Sopenharmony_ci ;; 2467db96d56Sopenharmony_ci apollo68) 2477db96d56Sopenharmony_ci basic_machine=m68k-apollo 2487db96d56Sopenharmony_ci basic_os=sysv 2497db96d56Sopenharmony_ci ;; 2507db96d56Sopenharmony_ci apollo68bsd) 2517db96d56Sopenharmony_ci basic_machine=m68k-apollo 2527db96d56Sopenharmony_ci basic_os=bsd 2537db96d56Sopenharmony_ci ;; 2547db96d56Sopenharmony_ci aros) 2557db96d56Sopenharmony_ci basic_machine=i386-pc 2567db96d56Sopenharmony_ci basic_os=aros 2577db96d56Sopenharmony_ci ;; 2587db96d56Sopenharmony_ci aux) 2597db96d56Sopenharmony_ci basic_machine=m68k-apple 2607db96d56Sopenharmony_ci basic_os=aux 2617db96d56Sopenharmony_ci ;; 2627db96d56Sopenharmony_ci balance) 2637db96d56Sopenharmony_ci basic_machine=ns32k-sequent 2647db96d56Sopenharmony_ci basic_os=dynix 2657db96d56Sopenharmony_ci ;; 2667db96d56Sopenharmony_ci blackfin) 2677db96d56Sopenharmony_ci basic_machine=bfin-unknown 2687db96d56Sopenharmony_ci basic_os=linux 2697db96d56Sopenharmony_ci ;; 2707db96d56Sopenharmony_ci cegcc) 2717db96d56Sopenharmony_ci basic_machine=arm-unknown 2727db96d56Sopenharmony_ci basic_os=cegcc 2737db96d56Sopenharmony_ci ;; 2747db96d56Sopenharmony_ci convex-c1) 2757db96d56Sopenharmony_ci basic_machine=c1-convex 2767db96d56Sopenharmony_ci basic_os=bsd 2777db96d56Sopenharmony_ci ;; 2787db96d56Sopenharmony_ci convex-c2) 2797db96d56Sopenharmony_ci basic_machine=c2-convex 2807db96d56Sopenharmony_ci basic_os=bsd 2817db96d56Sopenharmony_ci ;; 2827db96d56Sopenharmony_ci convex-c32) 2837db96d56Sopenharmony_ci basic_machine=c32-convex 2847db96d56Sopenharmony_ci basic_os=bsd 2857db96d56Sopenharmony_ci ;; 2867db96d56Sopenharmony_ci convex-c34) 2877db96d56Sopenharmony_ci basic_machine=c34-convex 2887db96d56Sopenharmony_ci basic_os=bsd 2897db96d56Sopenharmony_ci ;; 2907db96d56Sopenharmony_ci convex-c38) 2917db96d56Sopenharmony_ci basic_machine=c38-convex 2927db96d56Sopenharmony_ci basic_os=bsd 2937db96d56Sopenharmony_ci ;; 2947db96d56Sopenharmony_ci cray) 2957db96d56Sopenharmony_ci basic_machine=j90-cray 2967db96d56Sopenharmony_ci basic_os=unicos 2977db96d56Sopenharmony_ci ;; 2987db96d56Sopenharmony_ci crds | unos) 2997db96d56Sopenharmony_ci basic_machine=m68k-crds 3007db96d56Sopenharmony_ci basic_os= 3017db96d56Sopenharmony_ci ;; 3027db96d56Sopenharmony_ci da30) 3037db96d56Sopenharmony_ci basic_machine=m68k-da30 3047db96d56Sopenharmony_ci basic_os= 3057db96d56Sopenharmony_ci ;; 3067db96d56Sopenharmony_ci decstation | pmax | pmin | dec3100 | decstatn) 3077db96d56Sopenharmony_ci basic_machine=mips-dec 3087db96d56Sopenharmony_ci basic_os= 3097db96d56Sopenharmony_ci ;; 3107db96d56Sopenharmony_ci delta88) 3117db96d56Sopenharmony_ci basic_machine=m88k-motorola 3127db96d56Sopenharmony_ci basic_os=sysv3 3137db96d56Sopenharmony_ci ;; 3147db96d56Sopenharmony_ci dicos) 3157db96d56Sopenharmony_ci basic_machine=i686-pc 3167db96d56Sopenharmony_ci basic_os=dicos 3177db96d56Sopenharmony_ci ;; 3187db96d56Sopenharmony_ci djgpp) 3197db96d56Sopenharmony_ci basic_machine=i586-pc 3207db96d56Sopenharmony_ci basic_os=msdosdjgpp 3217db96d56Sopenharmony_ci ;; 3227db96d56Sopenharmony_ci ebmon29k) 3237db96d56Sopenharmony_ci basic_machine=a29k-amd 3247db96d56Sopenharmony_ci basic_os=ebmon 3257db96d56Sopenharmony_ci ;; 3267db96d56Sopenharmony_ci es1800 | OSE68k | ose68k | ose | OSE) 3277db96d56Sopenharmony_ci basic_machine=m68k-ericsson 3287db96d56Sopenharmony_ci basic_os=ose 3297db96d56Sopenharmony_ci ;; 3307db96d56Sopenharmony_ci gmicro) 3317db96d56Sopenharmony_ci basic_machine=tron-gmicro 3327db96d56Sopenharmony_ci basic_os=sysv 3337db96d56Sopenharmony_ci ;; 3347db96d56Sopenharmony_ci go32) 3357db96d56Sopenharmony_ci basic_machine=i386-pc 3367db96d56Sopenharmony_ci basic_os=go32 3377db96d56Sopenharmony_ci ;; 3387db96d56Sopenharmony_ci h8300hms) 3397db96d56Sopenharmony_ci basic_machine=h8300-hitachi 3407db96d56Sopenharmony_ci basic_os=hms 3417db96d56Sopenharmony_ci ;; 3427db96d56Sopenharmony_ci h8300xray) 3437db96d56Sopenharmony_ci basic_machine=h8300-hitachi 3447db96d56Sopenharmony_ci basic_os=xray 3457db96d56Sopenharmony_ci ;; 3467db96d56Sopenharmony_ci h8500hms) 3477db96d56Sopenharmony_ci basic_machine=h8500-hitachi 3487db96d56Sopenharmony_ci basic_os=hms 3497db96d56Sopenharmony_ci ;; 3507db96d56Sopenharmony_ci harris) 3517db96d56Sopenharmony_ci basic_machine=m88k-harris 3527db96d56Sopenharmony_ci basic_os=sysv3 3537db96d56Sopenharmony_ci ;; 3547db96d56Sopenharmony_ci hp300 | hp300hpux) 3557db96d56Sopenharmony_ci basic_machine=m68k-hp 3567db96d56Sopenharmony_ci basic_os=hpux 3577db96d56Sopenharmony_ci ;; 3587db96d56Sopenharmony_ci hp300bsd) 3597db96d56Sopenharmony_ci basic_machine=m68k-hp 3607db96d56Sopenharmony_ci basic_os=bsd 3617db96d56Sopenharmony_ci ;; 3627db96d56Sopenharmony_ci hppaosf) 3637db96d56Sopenharmony_ci basic_machine=hppa1.1-hp 3647db96d56Sopenharmony_ci basic_os=osf 3657db96d56Sopenharmony_ci ;; 3667db96d56Sopenharmony_ci hppro) 3677db96d56Sopenharmony_ci basic_machine=hppa1.1-hp 3687db96d56Sopenharmony_ci basic_os=proelf 3697db96d56Sopenharmony_ci ;; 3707db96d56Sopenharmony_ci i386mach) 3717db96d56Sopenharmony_ci basic_machine=i386-mach 3727db96d56Sopenharmony_ci basic_os=mach 3737db96d56Sopenharmony_ci ;; 3747db96d56Sopenharmony_ci isi68 | isi) 3757db96d56Sopenharmony_ci basic_machine=m68k-isi 3767db96d56Sopenharmony_ci basic_os=sysv 3777db96d56Sopenharmony_ci ;; 3787db96d56Sopenharmony_ci m68knommu) 3797db96d56Sopenharmony_ci basic_machine=m68k-unknown 3807db96d56Sopenharmony_ci basic_os=linux 3817db96d56Sopenharmony_ci ;; 3827db96d56Sopenharmony_ci magnum | m3230) 3837db96d56Sopenharmony_ci basic_machine=mips-mips 3847db96d56Sopenharmony_ci basic_os=sysv 3857db96d56Sopenharmony_ci ;; 3867db96d56Sopenharmony_ci merlin) 3877db96d56Sopenharmony_ci basic_machine=ns32k-utek 3887db96d56Sopenharmony_ci basic_os=sysv 3897db96d56Sopenharmony_ci ;; 3907db96d56Sopenharmony_ci mingw64) 3917db96d56Sopenharmony_ci basic_machine=x86_64-pc 3927db96d56Sopenharmony_ci basic_os=mingw64 3937db96d56Sopenharmony_ci ;; 3947db96d56Sopenharmony_ci mingw32) 3957db96d56Sopenharmony_ci basic_machine=i686-pc 3967db96d56Sopenharmony_ci basic_os=mingw32 3977db96d56Sopenharmony_ci ;; 3987db96d56Sopenharmony_ci mingw32ce) 3997db96d56Sopenharmony_ci basic_machine=arm-unknown 4007db96d56Sopenharmony_ci basic_os=mingw32ce 4017db96d56Sopenharmony_ci ;; 4027db96d56Sopenharmony_ci monitor) 4037db96d56Sopenharmony_ci basic_machine=m68k-rom68k 4047db96d56Sopenharmony_ci basic_os=coff 4057db96d56Sopenharmony_ci ;; 4067db96d56Sopenharmony_ci morphos) 4077db96d56Sopenharmony_ci basic_machine=powerpc-unknown 4087db96d56Sopenharmony_ci basic_os=morphos 4097db96d56Sopenharmony_ci ;; 4107db96d56Sopenharmony_ci moxiebox) 4117db96d56Sopenharmony_ci basic_machine=moxie-unknown 4127db96d56Sopenharmony_ci basic_os=moxiebox 4137db96d56Sopenharmony_ci ;; 4147db96d56Sopenharmony_ci msdos) 4157db96d56Sopenharmony_ci basic_machine=i386-pc 4167db96d56Sopenharmony_ci basic_os=msdos 4177db96d56Sopenharmony_ci ;; 4187db96d56Sopenharmony_ci msys) 4197db96d56Sopenharmony_ci basic_machine=i686-pc 4207db96d56Sopenharmony_ci basic_os=msys 4217db96d56Sopenharmony_ci ;; 4227db96d56Sopenharmony_ci mvs) 4237db96d56Sopenharmony_ci basic_machine=i370-ibm 4247db96d56Sopenharmony_ci basic_os=mvs 4257db96d56Sopenharmony_ci ;; 4267db96d56Sopenharmony_ci nacl) 4277db96d56Sopenharmony_ci basic_machine=le32-unknown 4287db96d56Sopenharmony_ci basic_os=nacl 4297db96d56Sopenharmony_ci ;; 4307db96d56Sopenharmony_ci ncr3000) 4317db96d56Sopenharmony_ci basic_machine=i486-ncr 4327db96d56Sopenharmony_ci basic_os=sysv4 4337db96d56Sopenharmony_ci ;; 4347db96d56Sopenharmony_ci netbsd386) 4357db96d56Sopenharmony_ci basic_machine=i386-pc 4367db96d56Sopenharmony_ci basic_os=netbsd 4377db96d56Sopenharmony_ci ;; 4387db96d56Sopenharmony_ci netwinder) 4397db96d56Sopenharmony_ci basic_machine=armv4l-rebel 4407db96d56Sopenharmony_ci basic_os=linux 4417db96d56Sopenharmony_ci ;; 4427db96d56Sopenharmony_ci news | news700 | news800 | news900) 4437db96d56Sopenharmony_ci basic_machine=m68k-sony 4447db96d56Sopenharmony_ci basic_os=newsos 4457db96d56Sopenharmony_ci ;; 4467db96d56Sopenharmony_ci news1000) 4477db96d56Sopenharmony_ci basic_machine=m68030-sony 4487db96d56Sopenharmony_ci basic_os=newsos 4497db96d56Sopenharmony_ci ;; 4507db96d56Sopenharmony_ci necv70) 4517db96d56Sopenharmony_ci basic_machine=v70-nec 4527db96d56Sopenharmony_ci basic_os=sysv 4537db96d56Sopenharmony_ci ;; 4547db96d56Sopenharmony_ci nh3000) 4557db96d56Sopenharmony_ci basic_machine=m68k-harris 4567db96d56Sopenharmony_ci basic_os=cxux 4577db96d56Sopenharmony_ci ;; 4587db96d56Sopenharmony_ci nh[45]000) 4597db96d56Sopenharmony_ci basic_machine=m88k-harris 4607db96d56Sopenharmony_ci basic_os=cxux 4617db96d56Sopenharmony_ci ;; 4627db96d56Sopenharmony_ci nindy960) 4637db96d56Sopenharmony_ci basic_machine=i960-intel 4647db96d56Sopenharmony_ci basic_os=nindy 4657db96d56Sopenharmony_ci ;; 4667db96d56Sopenharmony_ci mon960) 4677db96d56Sopenharmony_ci basic_machine=i960-intel 4687db96d56Sopenharmony_ci basic_os=mon960 4697db96d56Sopenharmony_ci ;; 4707db96d56Sopenharmony_ci nonstopux) 4717db96d56Sopenharmony_ci basic_machine=mips-compaq 4727db96d56Sopenharmony_ci basic_os=nonstopux 4737db96d56Sopenharmony_ci ;; 4747db96d56Sopenharmony_ci os400) 4757db96d56Sopenharmony_ci basic_machine=powerpc-ibm 4767db96d56Sopenharmony_ci basic_os=os400 4777db96d56Sopenharmony_ci ;; 4787db96d56Sopenharmony_ci OSE68000 | ose68000) 4797db96d56Sopenharmony_ci basic_machine=m68000-ericsson 4807db96d56Sopenharmony_ci basic_os=ose 4817db96d56Sopenharmony_ci ;; 4827db96d56Sopenharmony_ci os68k) 4837db96d56Sopenharmony_ci basic_machine=m68k-none 4847db96d56Sopenharmony_ci basic_os=os68k 4857db96d56Sopenharmony_ci ;; 4867db96d56Sopenharmony_ci paragon) 4877db96d56Sopenharmony_ci basic_machine=i860-intel 4887db96d56Sopenharmony_ci basic_os=osf 4897db96d56Sopenharmony_ci ;; 4907db96d56Sopenharmony_ci parisc) 4917db96d56Sopenharmony_ci basic_machine=hppa-unknown 4927db96d56Sopenharmony_ci basic_os=linux 4937db96d56Sopenharmony_ci ;; 4947db96d56Sopenharmony_ci psp) 4957db96d56Sopenharmony_ci basic_machine=mipsallegrexel-sony 4967db96d56Sopenharmony_ci basic_os=psp 4977db96d56Sopenharmony_ci ;; 4987db96d56Sopenharmony_ci pw32) 4997db96d56Sopenharmony_ci basic_machine=i586-unknown 5007db96d56Sopenharmony_ci basic_os=pw32 5017db96d56Sopenharmony_ci ;; 5027db96d56Sopenharmony_ci rdos | rdos64) 5037db96d56Sopenharmony_ci basic_machine=x86_64-pc 5047db96d56Sopenharmony_ci basic_os=rdos 5057db96d56Sopenharmony_ci ;; 5067db96d56Sopenharmony_ci rdos32) 5077db96d56Sopenharmony_ci basic_machine=i386-pc 5087db96d56Sopenharmony_ci basic_os=rdos 5097db96d56Sopenharmony_ci ;; 5107db96d56Sopenharmony_ci rom68k) 5117db96d56Sopenharmony_ci basic_machine=m68k-rom68k 5127db96d56Sopenharmony_ci basic_os=coff 5137db96d56Sopenharmony_ci ;; 5147db96d56Sopenharmony_ci sa29200) 5157db96d56Sopenharmony_ci basic_machine=a29k-amd 5167db96d56Sopenharmony_ci basic_os=udi 5177db96d56Sopenharmony_ci ;; 5187db96d56Sopenharmony_ci sei) 5197db96d56Sopenharmony_ci basic_machine=mips-sei 5207db96d56Sopenharmony_ci basic_os=seiux 5217db96d56Sopenharmony_ci ;; 5227db96d56Sopenharmony_ci sequent) 5237db96d56Sopenharmony_ci basic_machine=i386-sequent 5247db96d56Sopenharmony_ci basic_os= 5257db96d56Sopenharmony_ci ;; 5267db96d56Sopenharmony_ci sps7) 5277db96d56Sopenharmony_ci basic_machine=m68k-bull 5287db96d56Sopenharmony_ci basic_os=sysv2 5297db96d56Sopenharmony_ci ;; 5307db96d56Sopenharmony_ci st2000) 5317db96d56Sopenharmony_ci basic_machine=m68k-tandem 5327db96d56Sopenharmony_ci basic_os= 5337db96d56Sopenharmony_ci ;; 5347db96d56Sopenharmony_ci stratus) 5357db96d56Sopenharmony_ci basic_machine=i860-stratus 5367db96d56Sopenharmony_ci basic_os=sysv4 5377db96d56Sopenharmony_ci ;; 5387db96d56Sopenharmony_ci sun2) 5397db96d56Sopenharmony_ci basic_machine=m68000-sun 5407db96d56Sopenharmony_ci basic_os= 5417db96d56Sopenharmony_ci ;; 5427db96d56Sopenharmony_ci sun2os3) 5437db96d56Sopenharmony_ci basic_machine=m68000-sun 5447db96d56Sopenharmony_ci basic_os=sunos3 5457db96d56Sopenharmony_ci ;; 5467db96d56Sopenharmony_ci sun2os4) 5477db96d56Sopenharmony_ci basic_machine=m68000-sun 5487db96d56Sopenharmony_ci basic_os=sunos4 5497db96d56Sopenharmony_ci ;; 5507db96d56Sopenharmony_ci sun3) 5517db96d56Sopenharmony_ci basic_machine=m68k-sun 5527db96d56Sopenharmony_ci basic_os= 5537db96d56Sopenharmony_ci ;; 5547db96d56Sopenharmony_ci sun3os3) 5557db96d56Sopenharmony_ci basic_machine=m68k-sun 5567db96d56Sopenharmony_ci basic_os=sunos3 5577db96d56Sopenharmony_ci ;; 5587db96d56Sopenharmony_ci sun3os4) 5597db96d56Sopenharmony_ci basic_machine=m68k-sun 5607db96d56Sopenharmony_ci basic_os=sunos4 5617db96d56Sopenharmony_ci ;; 5627db96d56Sopenharmony_ci sun4) 5637db96d56Sopenharmony_ci basic_machine=sparc-sun 5647db96d56Sopenharmony_ci basic_os= 5657db96d56Sopenharmony_ci ;; 5667db96d56Sopenharmony_ci sun4os3) 5677db96d56Sopenharmony_ci basic_machine=sparc-sun 5687db96d56Sopenharmony_ci basic_os=sunos3 5697db96d56Sopenharmony_ci ;; 5707db96d56Sopenharmony_ci sun4os4) 5717db96d56Sopenharmony_ci basic_machine=sparc-sun 5727db96d56Sopenharmony_ci basic_os=sunos4 5737db96d56Sopenharmony_ci ;; 5747db96d56Sopenharmony_ci sun4sol2) 5757db96d56Sopenharmony_ci basic_machine=sparc-sun 5767db96d56Sopenharmony_ci basic_os=solaris2 5777db96d56Sopenharmony_ci ;; 5787db96d56Sopenharmony_ci sun386 | sun386i | roadrunner) 5797db96d56Sopenharmony_ci basic_machine=i386-sun 5807db96d56Sopenharmony_ci basic_os= 5817db96d56Sopenharmony_ci ;; 5827db96d56Sopenharmony_ci sv1) 5837db96d56Sopenharmony_ci basic_machine=sv1-cray 5847db96d56Sopenharmony_ci basic_os=unicos 5857db96d56Sopenharmony_ci ;; 5867db96d56Sopenharmony_ci symmetry) 5877db96d56Sopenharmony_ci basic_machine=i386-sequent 5887db96d56Sopenharmony_ci basic_os=dynix 5897db96d56Sopenharmony_ci ;; 5907db96d56Sopenharmony_ci t3e) 5917db96d56Sopenharmony_ci basic_machine=alphaev5-cray 5927db96d56Sopenharmony_ci basic_os=unicos 5937db96d56Sopenharmony_ci ;; 5947db96d56Sopenharmony_ci t90) 5957db96d56Sopenharmony_ci basic_machine=t90-cray 5967db96d56Sopenharmony_ci basic_os=unicos 5977db96d56Sopenharmony_ci ;; 5987db96d56Sopenharmony_ci toad1) 5997db96d56Sopenharmony_ci basic_machine=pdp10-xkl 6007db96d56Sopenharmony_ci basic_os=tops20 6017db96d56Sopenharmony_ci ;; 6027db96d56Sopenharmony_ci tpf) 6037db96d56Sopenharmony_ci basic_machine=s390x-ibm 6047db96d56Sopenharmony_ci basic_os=tpf 6057db96d56Sopenharmony_ci ;; 6067db96d56Sopenharmony_ci udi29k) 6077db96d56Sopenharmony_ci basic_machine=a29k-amd 6087db96d56Sopenharmony_ci basic_os=udi 6097db96d56Sopenharmony_ci ;; 6107db96d56Sopenharmony_ci ultra3) 6117db96d56Sopenharmony_ci basic_machine=a29k-nyu 6127db96d56Sopenharmony_ci basic_os=sym1 6137db96d56Sopenharmony_ci ;; 6147db96d56Sopenharmony_ci v810 | necv810) 6157db96d56Sopenharmony_ci basic_machine=v810-nec 6167db96d56Sopenharmony_ci basic_os=none 6177db96d56Sopenharmony_ci ;; 6187db96d56Sopenharmony_ci vaxv) 6197db96d56Sopenharmony_ci basic_machine=vax-dec 6207db96d56Sopenharmony_ci basic_os=sysv 6217db96d56Sopenharmony_ci ;; 6227db96d56Sopenharmony_ci vms) 6237db96d56Sopenharmony_ci basic_machine=vax-dec 6247db96d56Sopenharmony_ci basic_os=vms 6257db96d56Sopenharmony_ci ;; 6267db96d56Sopenharmony_ci vsta) 6277db96d56Sopenharmony_ci basic_machine=i386-pc 6287db96d56Sopenharmony_ci basic_os=vsta 6297db96d56Sopenharmony_ci ;; 6307db96d56Sopenharmony_ci vxworks960) 6317db96d56Sopenharmony_ci basic_machine=i960-wrs 6327db96d56Sopenharmony_ci basic_os=vxworks 6337db96d56Sopenharmony_ci ;; 6347db96d56Sopenharmony_ci vxworks68) 6357db96d56Sopenharmony_ci basic_machine=m68k-wrs 6367db96d56Sopenharmony_ci basic_os=vxworks 6377db96d56Sopenharmony_ci ;; 6387db96d56Sopenharmony_ci vxworks29k) 6397db96d56Sopenharmony_ci basic_machine=a29k-wrs 6407db96d56Sopenharmony_ci basic_os=vxworks 6417db96d56Sopenharmony_ci ;; 6427db96d56Sopenharmony_ci xbox) 6437db96d56Sopenharmony_ci basic_machine=i686-pc 6447db96d56Sopenharmony_ci basic_os=mingw32 6457db96d56Sopenharmony_ci ;; 6467db96d56Sopenharmony_ci ymp) 6477db96d56Sopenharmony_ci basic_machine=ymp-cray 6487db96d56Sopenharmony_ci basic_os=unicos 6497db96d56Sopenharmony_ci ;; 6507db96d56Sopenharmony_ci *) 6517db96d56Sopenharmony_ci basic_machine=$1 6527db96d56Sopenharmony_ci basic_os= 6537db96d56Sopenharmony_ci ;; 6547db96d56Sopenharmony_ci esac 6557db96d56Sopenharmony_ci ;; 6567db96d56Sopenharmony_ciesac 6577db96d56Sopenharmony_ci 6587db96d56Sopenharmony_ci# Decode 1-component or ad-hoc basic machines 6597db96d56Sopenharmony_cicase $basic_machine in 6607db96d56Sopenharmony_ci # Here we handle the default manufacturer of certain CPU types. It is in 6617db96d56Sopenharmony_ci # some cases the only manufacturer, in others, it is the most popular. 6627db96d56Sopenharmony_ci w89k) 6637db96d56Sopenharmony_ci cpu=hppa1.1 6647db96d56Sopenharmony_ci vendor=winbond 6657db96d56Sopenharmony_ci ;; 6667db96d56Sopenharmony_ci op50n) 6677db96d56Sopenharmony_ci cpu=hppa1.1 6687db96d56Sopenharmony_ci vendor=oki 6697db96d56Sopenharmony_ci ;; 6707db96d56Sopenharmony_ci op60c) 6717db96d56Sopenharmony_ci cpu=hppa1.1 6727db96d56Sopenharmony_ci vendor=oki 6737db96d56Sopenharmony_ci ;; 6747db96d56Sopenharmony_ci ibm*) 6757db96d56Sopenharmony_ci cpu=i370 6767db96d56Sopenharmony_ci vendor=ibm 6777db96d56Sopenharmony_ci ;; 6787db96d56Sopenharmony_ci orion105) 6797db96d56Sopenharmony_ci cpu=clipper 6807db96d56Sopenharmony_ci vendor=highlevel 6817db96d56Sopenharmony_ci ;; 6827db96d56Sopenharmony_ci mac | mpw | mac-mpw) 6837db96d56Sopenharmony_ci cpu=m68k 6847db96d56Sopenharmony_ci vendor=apple 6857db96d56Sopenharmony_ci ;; 6867db96d56Sopenharmony_ci pmac | pmac-mpw) 6877db96d56Sopenharmony_ci cpu=powerpc 6887db96d56Sopenharmony_ci vendor=apple 6897db96d56Sopenharmony_ci ;; 6907db96d56Sopenharmony_ci 6917db96d56Sopenharmony_ci # Recognize the various machine names and aliases which stand 6927db96d56Sopenharmony_ci # for a CPU type and a company and sometimes even an OS. 6937db96d56Sopenharmony_ci 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 6947db96d56Sopenharmony_ci cpu=m68000 6957db96d56Sopenharmony_ci vendor=att 6967db96d56Sopenharmony_ci ;; 6977db96d56Sopenharmony_ci 3b*) 6987db96d56Sopenharmony_ci cpu=we32k 6997db96d56Sopenharmony_ci vendor=att 7007db96d56Sopenharmony_ci ;; 7017db96d56Sopenharmony_ci bluegene*) 7027db96d56Sopenharmony_ci cpu=powerpc 7037db96d56Sopenharmony_ci vendor=ibm 7047db96d56Sopenharmony_ci basic_os=cnk 7057db96d56Sopenharmony_ci ;; 7067db96d56Sopenharmony_ci decsystem10* | dec10*) 7077db96d56Sopenharmony_ci cpu=pdp10 7087db96d56Sopenharmony_ci vendor=dec 7097db96d56Sopenharmony_ci basic_os=tops10 7107db96d56Sopenharmony_ci ;; 7117db96d56Sopenharmony_ci decsystem20* | dec20*) 7127db96d56Sopenharmony_ci cpu=pdp10 7137db96d56Sopenharmony_ci vendor=dec 7147db96d56Sopenharmony_ci basic_os=tops20 7157db96d56Sopenharmony_ci ;; 7167db96d56Sopenharmony_ci delta | 3300 | motorola-3300 | motorola-delta \ 7177db96d56Sopenharmony_ci | 3300-motorola | delta-motorola) 7187db96d56Sopenharmony_ci cpu=m68k 7197db96d56Sopenharmony_ci vendor=motorola 7207db96d56Sopenharmony_ci ;; 7217db96d56Sopenharmony_ci dpx2*) 7227db96d56Sopenharmony_ci cpu=m68k 7237db96d56Sopenharmony_ci vendor=bull 7247db96d56Sopenharmony_ci basic_os=sysv3 7257db96d56Sopenharmony_ci ;; 7267db96d56Sopenharmony_ci encore | umax | mmax) 7277db96d56Sopenharmony_ci cpu=ns32k 7287db96d56Sopenharmony_ci vendor=encore 7297db96d56Sopenharmony_ci ;; 7307db96d56Sopenharmony_ci elxsi) 7317db96d56Sopenharmony_ci cpu=elxsi 7327db96d56Sopenharmony_ci vendor=elxsi 7337db96d56Sopenharmony_ci basic_os=${basic_os:-bsd} 7347db96d56Sopenharmony_ci ;; 7357db96d56Sopenharmony_ci fx2800) 7367db96d56Sopenharmony_ci cpu=i860 7377db96d56Sopenharmony_ci vendor=alliant 7387db96d56Sopenharmony_ci ;; 7397db96d56Sopenharmony_ci genix) 7407db96d56Sopenharmony_ci cpu=ns32k 7417db96d56Sopenharmony_ci vendor=ns 7427db96d56Sopenharmony_ci ;; 7437db96d56Sopenharmony_ci h3050r* | hiux*) 7447db96d56Sopenharmony_ci cpu=hppa1.1 7457db96d56Sopenharmony_ci vendor=hitachi 7467db96d56Sopenharmony_ci basic_os=hiuxwe2 7477db96d56Sopenharmony_ci ;; 7487db96d56Sopenharmony_ci hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7497db96d56Sopenharmony_ci cpu=hppa1.0 7507db96d56Sopenharmony_ci vendor=hp 7517db96d56Sopenharmony_ci ;; 7527db96d56Sopenharmony_ci hp9k2[0-9][0-9] | hp9k31[0-9]) 7537db96d56Sopenharmony_ci cpu=m68000 7547db96d56Sopenharmony_ci vendor=hp 7557db96d56Sopenharmony_ci ;; 7567db96d56Sopenharmony_ci hp9k3[2-9][0-9]) 7577db96d56Sopenharmony_ci cpu=m68k 7587db96d56Sopenharmony_ci vendor=hp 7597db96d56Sopenharmony_ci ;; 7607db96d56Sopenharmony_ci hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7617db96d56Sopenharmony_ci cpu=hppa1.0 7627db96d56Sopenharmony_ci vendor=hp 7637db96d56Sopenharmony_ci ;; 7647db96d56Sopenharmony_ci hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7657db96d56Sopenharmony_ci cpu=hppa1.1 7667db96d56Sopenharmony_ci vendor=hp 7677db96d56Sopenharmony_ci ;; 7687db96d56Sopenharmony_ci hp9k78[0-9] | hp78[0-9]) 7697db96d56Sopenharmony_ci # FIXME: really hppa2.0-hp 7707db96d56Sopenharmony_ci cpu=hppa1.1 7717db96d56Sopenharmony_ci vendor=hp 7727db96d56Sopenharmony_ci ;; 7737db96d56Sopenharmony_ci hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7747db96d56Sopenharmony_ci # FIXME: really hppa2.0-hp 7757db96d56Sopenharmony_ci cpu=hppa1.1 7767db96d56Sopenharmony_ci vendor=hp 7777db96d56Sopenharmony_ci ;; 7787db96d56Sopenharmony_ci hp9k8[0-9][13679] | hp8[0-9][13679]) 7797db96d56Sopenharmony_ci cpu=hppa1.1 7807db96d56Sopenharmony_ci vendor=hp 7817db96d56Sopenharmony_ci ;; 7827db96d56Sopenharmony_ci hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7837db96d56Sopenharmony_ci cpu=hppa1.0 7847db96d56Sopenharmony_ci vendor=hp 7857db96d56Sopenharmony_ci ;; 7867db96d56Sopenharmony_ci i*86v32) 7877db96d56Sopenharmony_ci cpu=`echo "$1" | sed -e 's/86.*/86/'` 7887db96d56Sopenharmony_ci vendor=pc 7897db96d56Sopenharmony_ci basic_os=sysv32 7907db96d56Sopenharmony_ci ;; 7917db96d56Sopenharmony_ci i*86v4*) 7927db96d56Sopenharmony_ci cpu=`echo "$1" | sed -e 's/86.*/86/'` 7937db96d56Sopenharmony_ci vendor=pc 7947db96d56Sopenharmony_ci basic_os=sysv4 7957db96d56Sopenharmony_ci ;; 7967db96d56Sopenharmony_ci i*86v) 7977db96d56Sopenharmony_ci cpu=`echo "$1" | sed -e 's/86.*/86/'` 7987db96d56Sopenharmony_ci vendor=pc 7997db96d56Sopenharmony_ci basic_os=sysv 8007db96d56Sopenharmony_ci ;; 8017db96d56Sopenharmony_ci i*86sol2) 8027db96d56Sopenharmony_ci cpu=`echo "$1" | sed -e 's/86.*/86/'` 8037db96d56Sopenharmony_ci vendor=pc 8047db96d56Sopenharmony_ci basic_os=solaris2 8057db96d56Sopenharmony_ci ;; 8067db96d56Sopenharmony_ci j90 | j90-cray) 8077db96d56Sopenharmony_ci cpu=j90 8087db96d56Sopenharmony_ci vendor=cray 8097db96d56Sopenharmony_ci basic_os=${basic_os:-unicos} 8107db96d56Sopenharmony_ci ;; 8117db96d56Sopenharmony_ci iris | iris4d) 8127db96d56Sopenharmony_ci cpu=mips 8137db96d56Sopenharmony_ci vendor=sgi 8147db96d56Sopenharmony_ci case $basic_os in 8157db96d56Sopenharmony_ci irix*) 8167db96d56Sopenharmony_ci ;; 8177db96d56Sopenharmony_ci *) 8187db96d56Sopenharmony_ci basic_os=irix4 8197db96d56Sopenharmony_ci ;; 8207db96d56Sopenharmony_ci esac 8217db96d56Sopenharmony_ci ;; 8227db96d56Sopenharmony_ci miniframe) 8237db96d56Sopenharmony_ci cpu=m68000 8247db96d56Sopenharmony_ci vendor=convergent 8257db96d56Sopenharmony_ci ;; 8267db96d56Sopenharmony_ci *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 8277db96d56Sopenharmony_ci cpu=m68k 8287db96d56Sopenharmony_ci vendor=atari 8297db96d56Sopenharmony_ci basic_os=mint 8307db96d56Sopenharmony_ci ;; 8317db96d56Sopenharmony_ci news-3600 | risc-news) 8327db96d56Sopenharmony_ci cpu=mips 8337db96d56Sopenharmony_ci vendor=sony 8347db96d56Sopenharmony_ci basic_os=newsos 8357db96d56Sopenharmony_ci ;; 8367db96d56Sopenharmony_ci next | m*-next) 8377db96d56Sopenharmony_ci cpu=m68k 8387db96d56Sopenharmony_ci vendor=next 8397db96d56Sopenharmony_ci case $basic_os in 8407db96d56Sopenharmony_ci openstep*) 8417db96d56Sopenharmony_ci ;; 8427db96d56Sopenharmony_ci nextstep*) 8437db96d56Sopenharmony_ci ;; 8447db96d56Sopenharmony_ci ns2*) 8457db96d56Sopenharmony_ci basic_os=nextstep2 8467db96d56Sopenharmony_ci ;; 8477db96d56Sopenharmony_ci *) 8487db96d56Sopenharmony_ci basic_os=nextstep3 8497db96d56Sopenharmony_ci ;; 8507db96d56Sopenharmony_ci esac 8517db96d56Sopenharmony_ci ;; 8527db96d56Sopenharmony_ci np1) 8537db96d56Sopenharmony_ci cpu=np1 8547db96d56Sopenharmony_ci vendor=gould 8557db96d56Sopenharmony_ci ;; 8567db96d56Sopenharmony_ci op50n-* | op60c-*) 8577db96d56Sopenharmony_ci cpu=hppa1.1 8587db96d56Sopenharmony_ci vendor=oki 8597db96d56Sopenharmony_ci basic_os=proelf 8607db96d56Sopenharmony_ci ;; 8617db96d56Sopenharmony_ci pa-hitachi) 8627db96d56Sopenharmony_ci cpu=hppa1.1 8637db96d56Sopenharmony_ci vendor=hitachi 8647db96d56Sopenharmony_ci basic_os=hiuxwe2 8657db96d56Sopenharmony_ci ;; 8667db96d56Sopenharmony_ci pbd) 8677db96d56Sopenharmony_ci cpu=sparc 8687db96d56Sopenharmony_ci vendor=tti 8697db96d56Sopenharmony_ci ;; 8707db96d56Sopenharmony_ci pbb) 8717db96d56Sopenharmony_ci cpu=m68k 8727db96d56Sopenharmony_ci vendor=tti 8737db96d56Sopenharmony_ci ;; 8747db96d56Sopenharmony_ci pc532) 8757db96d56Sopenharmony_ci cpu=ns32k 8767db96d56Sopenharmony_ci vendor=pc532 8777db96d56Sopenharmony_ci ;; 8787db96d56Sopenharmony_ci pn) 8797db96d56Sopenharmony_ci cpu=pn 8807db96d56Sopenharmony_ci vendor=gould 8817db96d56Sopenharmony_ci ;; 8827db96d56Sopenharmony_ci power) 8837db96d56Sopenharmony_ci cpu=power 8847db96d56Sopenharmony_ci vendor=ibm 8857db96d56Sopenharmony_ci ;; 8867db96d56Sopenharmony_ci ps2) 8877db96d56Sopenharmony_ci cpu=i386 8887db96d56Sopenharmony_ci vendor=ibm 8897db96d56Sopenharmony_ci ;; 8907db96d56Sopenharmony_ci rm[46]00) 8917db96d56Sopenharmony_ci cpu=mips 8927db96d56Sopenharmony_ci vendor=siemens 8937db96d56Sopenharmony_ci ;; 8947db96d56Sopenharmony_ci rtpc | rtpc-*) 8957db96d56Sopenharmony_ci cpu=romp 8967db96d56Sopenharmony_ci vendor=ibm 8977db96d56Sopenharmony_ci ;; 8987db96d56Sopenharmony_ci sde) 8997db96d56Sopenharmony_ci cpu=mipsisa32 9007db96d56Sopenharmony_ci vendor=sde 9017db96d56Sopenharmony_ci basic_os=${basic_os:-elf} 9027db96d56Sopenharmony_ci ;; 9037db96d56Sopenharmony_ci simso-wrs) 9047db96d56Sopenharmony_ci cpu=sparclite 9057db96d56Sopenharmony_ci vendor=wrs 9067db96d56Sopenharmony_ci basic_os=vxworks 9077db96d56Sopenharmony_ci ;; 9087db96d56Sopenharmony_ci tower | tower-32) 9097db96d56Sopenharmony_ci cpu=m68k 9107db96d56Sopenharmony_ci vendor=ncr 9117db96d56Sopenharmony_ci ;; 9127db96d56Sopenharmony_ci vpp*|vx|vx-*) 9137db96d56Sopenharmony_ci cpu=f301 9147db96d56Sopenharmony_ci vendor=fujitsu 9157db96d56Sopenharmony_ci ;; 9167db96d56Sopenharmony_ci w65) 9177db96d56Sopenharmony_ci cpu=w65 9187db96d56Sopenharmony_ci vendor=wdc 9197db96d56Sopenharmony_ci ;; 9207db96d56Sopenharmony_ci w89k-*) 9217db96d56Sopenharmony_ci cpu=hppa1.1 9227db96d56Sopenharmony_ci vendor=winbond 9237db96d56Sopenharmony_ci basic_os=proelf 9247db96d56Sopenharmony_ci ;; 9257db96d56Sopenharmony_ci none) 9267db96d56Sopenharmony_ci cpu=none 9277db96d56Sopenharmony_ci vendor=none 9287db96d56Sopenharmony_ci ;; 9297db96d56Sopenharmony_ci leon|leon[3-9]) 9307db96d56Sopenharmony_ci cpu=sparc 9317db96d56Sopenharmony_ci vendor=$basic_machine 9327db96d56Sopenharmony_ci ;; 9337db96d56Sopenharmony_ci leon-*|leon[3-9]-*) 9347db96d56Sopenharmony_ci cpu=sparc 9357db96d56Sopenharmony_ci vendor=`echo "$basic_machine" | sed 's/-.*//'` 9367db96d56Sopenharmony_ci ;; 9377db96d56Sopenharmony_ci 9387db96d56Sopenharmony_ci *-*) 9397db96d56Sopenharmony_ci # shellcheck disable=SC2162 9407db96d56Sopenharmony_ci saved_IFS=$IFS 9417db96d56Sopenharmony_ci IFS="-" read cpu vendor <<EOF 9427db96d56Sopenharmony_ci$basic_machine 9437db96d56Sopenharmony_ciEOF 9447db96d56Sopenharmony_ci IFS=$saved_IFS 9457db96d56Sopenharmony_ci ;; 9467db96d56Sopenharmony_ci # We use `pc' rather than `unknown' 9477db96d56Sopenharmony_ci # because (1) that's what they normally are, and 9487db96d56Sopenharmony_ci # (2) the word "unknown" tends to confuse beginning users. 9497db96d56Sopenharmony_ci i*86 | x86_64) 9507db96d56Sopenharmony_ci cpu=$basic_machine 9517db96d56Sopenharmony_ci vendor=pc 9527db96d56Sopenharmony_ci ;; 9537db96d56Sopenharmony_ci # These rules are duplicated from below for sake of the special case above; 9547db96d56Sopenharmony_ci # i.e. things that normalized to x86 arches should also default to "pc" 9557db96d56Sopenharmony_ci pc98) 9567db96d56Sopenharmony_ci cpu=i386 9577db96d56Sopenharmony_ci vendor=pc 9587db96d56Sopenharmony_ci ;; 9597db96d56Sopenharmony_ci x64 | amd64) 9607db96d56Sopenharmony_ci cpu=x86_64 9617db96d56Sopenharmony_ci vendor=pc 9627db96d56Sopenharmony_ci ;; 9637db96d56Sopenharmony_ci # Recognize the basic CPU types without company name. 9647db96d56Sopenharmony_ci *) 9657db96d56Sopenharmony_ci cpu=$basic_machine 9667db96d56Sopenharmony_ci vendor=unknown 9677db96d56Sopenharmony_ci ;; 9687db96d56Sopenharmony_ciesac 9697db96d56Sopenharmony_ci 9707db96d56Sopenharmony_ciunset -v basic_machine 9717db96d56Sopenharmony_ci 9727db96d56Sopenharmony_ci# Decode basic machines in the full and proper CPU-Company form. 9737db96d56Sopenharmony_cicase $cpu-$vendor in 9747db96d56Sopenharmony_ci # Here we handle the default manufacturer of certain CPU types in canonical form. It is in 9757db96d56Sopenharmony_ci # some cases the only manufacturer, in others, it is the most popular. 9767db96d56Sopenharmony_ci craynv-unknown) 9777db96d56Sopenharmony_ci vendor=cray 9787db96d56Sopenharmony_ci basic_os=${basic_os:-unicosmp} 9797db96d56Sopenharmony_ci ;; 9807db96d56Sopenharmony_ci c90-unknown | c90-cray) 9817db96d56Sopenharmony_ci vendor=cray 9827db96d56Sopenharmony_ci basic_os=${Basic_os:-unicos} 9837db96d56Sopenharmony_ci ;; 9847db96d56Sopenharmony_ci fx80-unknown) 9857db96d56Sopenharmony_ci vendor=alliant 9867db96d56Sopenharmony_ci ;; 9877db96d56Sopenharmony_ci romp-unknown) 9887db96d56Sopenharmony_ci vendor=ibm 9897db96d56Sopenharmony_ci ;; 9907db96d56Sopenharmony_ci mmix-unknown) 9917db96d56Sopenharmony_ci vendor=knuth 9927db96d56Sopenharmony_ci ;; 9937db96d56Sopenharmony_ci microblaze-unknown | microblazeel-unknown) 9947db96d56Sopenharmony_ci vendor=xilinx 9957db96d56Sopenharmony_ci ;; 9967db96d56Sopenharmony_ci rs6000-unknown) 9977db96d56Sopenharmony_ci vendor=ibm 9987db96d56Sopenharmony_ci ;; 9997db96d56Sopenharmony_ci vax-unknown) 10007db96d56Sopenharmony_ci vendor=dec 10017db96d56Sopenharmony_ci ;; 10027db96d56Sopenharmony_ci pdp11-unknown) 10037db96d56Sopenharmony_ci vendor=dec 10047db96d56Sopenharmony_ci ;; 10057db96d56Sopenharmony_ci we32k-unknown) 10067db96d56Sopenharmony_ci vendor=att 10077db96d56Sopenharmony_ci ;; 10087db96d56Sopenharmony_ci cydra-unknown) 10097db96d56Sopenharmony_ci vendor=cydrome 10107db96d56Sopenharmony_ci ;; 10117db96d56Sopenharmony_ci i370-ibm*) 10127db96d56Sopenharmony_ci vendor=ibm 10137db96d56Sopenharmony_ci ;; 10147db96d56Sopenharmony_ci orion-unknown) 10157db96d56Sopenharmony_ci vendor=highlevel 10167db96d56Sopenharmony_ci ;; 10177db96d56Sopenharmony_ci xps-unknown | xps100-unknown) 10187db96d56Sopenharmony_ci cpu=xps100 10197db96d56Sopenharmony_ci vendor=honeywell 10207db96d56Sopenharmony_ci ;; 10217db96d56Sopenharmony_ci 10227db96d56Sopenharmony_ci # Here we normalize CPU types with a missing or matching vendor 10237db96d56Sopenharmony_ci dpx20-unknown | dpx20-bull) 10247db96d56Sopenharmony_ci cpu=rs6000 10257db96d56Sopenharmony_ci vendor=bull 10267db96d56Sopenharmony_ci basic_os=${basic_os:-bosx} 10277db96d56Sopenharmony_ci ;; 10287db96d56Sopenharmony_ci 10297db96d56Sopenharmony_ci # Here we normalize CPU types irrespective of the vendor 10307db96d56Sopenharmony_ci amd64-*) 10317db96d56Sopenharmony_ci cpu=x86_64 10327db96d56Sopenharmony_ci ;; 10337db96d56Sopenharmony_ci blackfin-*) 10347db96d56Sopenharmony_ci cpu=bfin 10357db96d56Sopenharmony_ci basic_os=linux 10367db96d56Sopenharmony_ci ;; 10377db96d56Sopenharmony_ci c54x-*) 10387db96d56Sopenharmony_ci cpu=tic54x 10397db96d56Sopenharmony_ci ;; 10407db96d56Sopenharmony_ci c55x-*) 10417db96d56Sopenharmony_ci cpu=tic55x 10427db96d56Sopenharmony_ci ;; 10437db96d56Sopenharmony_ci c6x-*) 10447db96d56Sopenharmony_ci cpu=tic6x 10457db96d56Sopenharmony_ci ;; 10467db96d56Sopenharmony_ci e500v[12]-*) 10477db96d56Sopenharmony_ci cpu=powerpc 10487db96d56Sopenharmony_ci basic_os=${basic_os}"spe" 10497db96d56Sopenharmony_ci ;; 10507db96d56Sopenharmony_ci mips3*-*) 10517db96d56Sopenharmony_ci cpu=mips64 10527db96d56Sopenharmony_ci ;; 10537db96d56Sopenharmony_ci ms1-*) 10547db96d56Sopenharmony_ci cpu=mt 10557db96d56Sopenharmony_ci ;; 10567db96d56Sopenharmony_ci m68knommu-*) 10577db96d56Sopenharmony_ci cpu=m68k 10587db96d56Sopenharmony_ci basic_os=linux 10597db96d56Sopenharmony_ci ;; 10607db96d56Sopenharmony_ci m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 10617db96d56Sopenharmony_ci cpu=s12z 10627db96d56Sopenharmony_ci ;; 10637db96d56Sopenharmony_ci openrisc-*) 10647db96d56Sopenharmony_ci cpu=or32 10657db96d56Sopenharmony_ci ;; 10667db96d56Sopenharmony_ci parisc-*) 10677db96d56Sopenharmony_ci cpu=hppa 10687db96d56Sopenharmony_ci basic_os=linux 10697db96d56Sopenharmony_ci ;; 10707db96d56Sopenharmony_ci pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10717db96d56Sopenharmony_ci cpu=i586 10727db96d56Sopenharmony_ci ;; 10737db96d56Sopenharmony_ci pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) 10747db96d56Sopenharmony_ci cpu=i686 10757db96d56Sopenharmony_ci ;; 10767db96d56Sopenharmony_ci pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10777db96d56Sopenharmony_ci cpu=i686 10787db96d56Sopenharmony_ci ;; 10797db96d56Sopenharmony_ci pentium4-*) 10807db96d56Sopenharmony_ci cpu=i786 10817db96d56Sopenharmony_ci ;; 10827db96d56Sopenharmony_ci pc98-*) 10837db96d56Sopenharmony_ci cpu=i386 10847db96d56Sopenharmony_ci ;; 10857db96d56Sopenharmony_ci ppc-* | ppcbe-*) 10867db96d56Sopenharmony_ci cpu=powerpc 10877db96d56Sopenharmony_ci ;; 10887db96d56Sopenharmony_ci ppcle-* | powerpclittle-*) 10897db96d56Sopenharmony_ci cpu=powerpcle 10907db96d56Sopenharmony_ci ;; 10917db96d56Sopenharmony_ci ppc64-*) 10927db96d56Sopenharmony_ci cpu=powerpc64 10937db96d56Sopenharmony_ci ;; 10947db96d56Sopenharmony_ci ppc64le-* | powerpc64little-*) 10957db96d56Sopenharmony_ci cpu=powerpc64le 10967db96d56Sopenharmony_ci ;; 10977db96d56Sopenharmony_ci sb1-*) 10987db96d56Sopenharmony_ci cpu=mipsisa64sb1 10997db96d56Sopenharmony_ci ;; 11007db96d56Sopenharmony_ci sb1el-*) 11017db96d56Sopenharmony_ci cpu=mipsisa64sb1el 11027db96d56Sopenharmony_ci ;; 11037db96d56Sopenharmony_ci sh5e[lb]-*) 11047db96d56Sopenharmony_ci cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` 11057db96d56Sopenharmony_ci ;; 11067db96d56Sopenharmony_ci spur-*) 11077db96d56Sopenharmony_ci cpu=spur 11087db96d56Sopenharmony_ci ;; 11097db96d56Sopenharmony_ci strongarm-* | thumb-*) 11107db96d56Sopenharmony_ci cpu=arm 11117db96d56Sopenharmony_ci ;; 11127db96d56Sopenharmony_ci tx39-*) 11137db96d56Sopenharmony_ci cpu=mipstx39 11147db96d56Sopenharmony_ci ;; 11157db96d56Sopenharmony_ci tx39el-*) 11167db96d56Sopenharmony_ci cpu=mipstx39el 11177db96d56Sopenharmony_ci ;; 11187db96d56Sopenharmony_ci x64-*) 11197db96d56Sopenharmony_ci cpu=x86_64 11207db96d56Sopenharmony_ci ;; 11217db96d56Sopenharmony_ci xscale-* | xscalee[bl]-*) 11227db96d56Sopenharmony_ci cpu=`echo "$cpu" | sed 's/^xscale/arm/'` 11237db96d56Sopenharmony_ci ;; 11247db96d56Sopenharmony_ci arm64-*) 11257db96d56Sopenharmony_ci cpu=aarch64 11267db96d56Sopenharmony_ci ;; 11277db96d56Sopenharmony_ci 11287db96d56Sopenharmony_ci # Recognize the canonical CPU Types that limit and/or modify the 11297db96d56Sopenharmony_ci # company names they are paired with. 11307db96d56Sopenharmony_ci cr16-*) 11317db96d56Sopenharmony_ci basic_os=${basic_os:-elf} 11327db96d56Sopenharmony_ci ;; 11337db96d56Sopenharmony_ci crisv32-* | etraxfs*-*) 11347db96d56Sopenharmony_ci cpu=crisv32 11357db96d56Sopenharmony_ci vendor=axis 11367db96d56Sopenharmony_ci ;; 11377db96d56Sopenharmony_ci cris-* | etrax*-*) 11387db96d56Sopenharmony_ci cpu=cris 11397db96d56Sopenharmony_ci vendor=axis 11407db96d56Sopenharmony_ci ;; 11417db96d56Sopenharmony_ci crx-*) 11427db96d56Sopenharmony_ci basic_os=${basic_os:-elf} 11437db96d56Sopenharmony_ci ;; 11447db96d56Sopenharmony_ci neo-tandem) 11457db96d56Sopenharmony_ci cpu=neo 11467db96d56Sopenharmony_ci vendor=tandem 11477db96d56Sopenharmony_ci ;; 11487db96d56Sopenharmony_ci nse-tandem) 11497db96d56Sopenharmony_ci cpu=nse 11507db96d56Sopenharmony_ci vendor=tandem 11517db96d56Sopenharmony_ci ;; 11527db96d56Sopenharmony_ci nsr-tandem) 11537db96d56Sopenharmony_ci cpu=nsr 11547db96d56Sopenharmony_ci vendor=tandem 11557db96d56Sopenharmony_ci ;; 11567db96d56Sopenharmony_ci nsv-tandem) 11577db96d56Sopenharmony_ci cpu=nsv 11587db96d56Sopenharmony_ci vendor=tandem 11597db96d56Sopenharmony_ci ;; 11607db96d56Sopenharmony_ci nsx-tandem) 11617db96d56Sopenharmony_ci cpu=nsx 11627db96d56Sopenharmony_ci vendor=tandem 11637db96d56Sopenharmony_ci ;; 11647db96d56Sopenharmony_ci mipsallegrexel-sony) 11657db96d56Sopenharmony_ci cpu=mipsallegrexel 11667db96d56Sopenharmony_ci vendor=sony 11677db96d56Sopenharmony_ci ;; 11687db96d56Sopenharmony_ci tile*-*) 11697db96d56Sopenharmony_ci basic_os=${basic_os:-linux-gnu} 11707db96d56Sopenharmony_ci ;; 11717db96d56Sopenharmony_ci 11727db96d56Sopenharmony_ci *) 11737db96d56Sopenharmony_ci # Recognize the canonical CPU types that are allowed with any 11747db96d56Sopenharmony_ci # company name. 11757db96d56Sopenharmony_ci case $cpu in 11767db96d56Sopenharmony_ci 1750a | 580 \ 11777db96d56Sopenharmony_ci | a29k \ 11787db96d56Sopenharmony_ci | aarch64 | aarch64_be \ 11797db96d56Sopenharmony_ci | abacus \ 11807db96d56Sopenharmony_ci | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ 11817db96d56Sopenharmony_ci | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ 11827db96d56Sopenharmony_ci | alphapca5[67] | alpha64pca5[67] \ 11837db96d56Sopenharmony_ci | am33_2.0 \ 11847db96d56Sopenharmony_ci | amdgcn \ 11857db96d56Sopenharmony_ci | arc | arceb | arc32 | arc64 \ 11867db96d56Sopenharmony_ci | arm | arm[lb]e | arme[lb] | armv* \ 11877db96d56Sopenharmony_ci | avr | avr32 \ 11887db96d56Sopenharmony_ci | asmjs \ 11897db96d56Sopenharmony_ci | ba \ 11907db96d56Sopenharmony_ci | be32 | be64 \ 11917db96d56Sopenharmony_ci | bfin | bpf | bs2000 \ 11927db96d56Sopenharmony_ci | c[123]* | c30 | [cjt]90 | c4x \ 11937db96d56Sopenharmony_ci | c8051 | clipper | craynv | csky | cydra \ 11947db96d56Sopenharmony_ci | d10v | d30v | dlx | dsp16xx \ 11957db96d56Sopenharmony_ci | e2k | elxsi | epiphany \ 11967db96d56Sopenharmony_ci | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ 11977db96d56Sopenharmony_ci | h8300 | h8500 \ 11987db96d56Sopenharmony_ci | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 11997db96d56Sopenharmony_ci | hexagon \ 12007db96d56Sopenharmony_ci | i370 | i*86 | i860 | i960 | ia16 | ia64 \ 12017db96d56Sopenharmony_ci | ip2k | iq2000 \ 12027db96d56Sopenharmony_ci | k1om \ 12037db96d56Sopenharmony_ci | le32 | le64 \ 12047db96d56Sopenharmony_ci | lm32 \ 12057db96d56Sopenharmony_ci | loongarch32 | loongarch64 | loongarchx32 \ 12067db96d56Sopenharmony_ci | m32c | m32r | m32rle \ 12077db96d56Sopenharmony_ci | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ 12087db96d56Sopenharmony_ci | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ 12097db96d56Sopenharmony_ci | m88110 | m88k | maxq | mb | mcore | mep | metag \ 12107db96d56Sopenharmony_ci | microblaze | microblazeel \ 12117db96d56Sopenharmony_ci | mips | mipsbe | mipseb | mipsel | mipsle \ 12127db96d56Sopenharmony_ci | mips16 \ 12137db96d56Sopenharmony_ci | mips64 | mips64eb | mips64el \ 12147db96d56Sopenharmony_ci | mips64octeon | mips64octeonel \ 12157db96d56Sopenharmony_ci | mips64orion | mips64orionel \ 12167db96d56Sopenharmony_ci | mips64r5900 | mips64r5900el \ 12177db96d56Sopenharmony_ci | mips64vr | mips64vrel \ 12187db96d56Sopenharmony_ci | mips64vr4100 | mips64vr4100el \ 12197db96d56Sopenharmony_ci | mips64vr4300 | mips64vr4300el \ 12207db96d56Sopenharmony_ci | mips64vr5000 | mips64vr5000el \ 12217db96d56Sopenharmony_ci | mips64vr5900 | mips64vr5900el \ 12227db96d56Sopenharmony_ci | mipsisa32 | mipsisa32el \ 12237db96d56Sopenharmony_ci | mipsisa32r2 | mipsisa32r2el \ 12247db96d56Sopenharmony_ci | mipsisa32r3 | mipsisa32r3el \ 12257db96d56Sopenharmony_ci | mipsisa32r5 | mipsisa32r5el \ 12267db96d56Sopenharmony_ci | mipsisa32r6 | mipsisa32r6el \ 12277db96d56Sopenharmony_ci | mipsisa64 | mipsisa64el \ 12287db96d56Sopenharmony_ci | mipsisa64r2 | mipsisa64r2el \ 12297db96d56Sopenharmony_ci | mipsisa64r3 | mipsisa64r3el \ 12307db96d56Sopenharmony_ci | mipsisa64r5 | mipsisa64r5el \ 12317db96d56Sopenharmony_ci | mipsisa64r6 | mipsisa64r6el \ 12327db96d56Sopenharmony_ci | mipsisa64sb1 | mipsisa64sb1el \ 12337db96d56Sopenharmony_ci | mipsisa64sr71k | mipsisa64sr71kel \ 12347db96d56Sopenharmony_ci | mipsr5900 | mipsr5900el \ 12357db96d56Sopenharmony_ci | mipstx39 | mipstx39el \ 12367db96d56Sopenharmony_ci | mmix \ 12377db96d56Sopenharmony_ci | mn10200 | mn10300 \ 12387db96d56Sopenharmony_ci | moxie \ 12397db96d56Sopenharmony_ci | mt \ 12407db96d56Sopenharmony_ci | msp430 \ 12417db96d56Sopenharmony_ci | nds32 | nds32le | nds32be \ 12427db96d56Sopenharmony_ci | nfp \ 12437db96d56Sopenharmony_ci | nios | nios2 | nios2eb | nios2el \ 12447db96d56Sopenharmony_ci | none | np1 | ns16k | ns32k | nvptx \ 12457db96d56Sopenharmony_ci | open8 \ 12467db96d56Sopenharmony_ci | or1k* \ 12477db96d56Sopenharmony_ci | or32 \ 12487db96d56Sopenharmony_ci | orion \ 12497db96d56Sopenharmony_ci | picochip \ 12507db96d56Sopenharmony_ci | pdp10 | pdp11 | pj | pjl | pn | power \ 12517db96d56Sopenharmony_ci | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ 12527db96d56Sopenharmony_ci | pru \ 12537db96d56Sopenharmony_ci | pyramid \ 12547db96d56Sopenharmony_ci | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ 12557db96d56Sopenharmony_ci | rl78 | romp | rs6000 | rx \ 12567db96d56Sopenharmony_ci | s390 | s390x \ 12577db96d56Sopenharmony_ci | score \ 12587db96d56Sopenharmony_ci | sh | shl \ 12597db96d56Sopenharmony_ci | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ 12607db96d56Sopenharmony_ci | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ 12617db96d56Sopenharmony_ci | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ 12627db96d56Sopenharmony_ci | sparclite \ 12637db96d56Sopenharmony_ci | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ 12647db96d56Sopenharmony_ci | spu \ 12657db96d56Sopenharmony_ci | tahoe \ 12667db96d56Sopenharmony_ci | thumbv7* \ 12677db96d56Sopenharmony_ci | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ 12687db96d56Sopenharmony_ci | tron \ 12697db96d56Sopenharmony_ci | ubicom32 \ 12707db96d56Sopenharmony_ci | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ 12717db96d56Sopenharmony_ci | vax \ 12727db96d56Sopenharmony_ci | visium \ 12737db96d56Sopenharmony_ci | w65 \ 12747db96d56Sopenharmony_ci | wasm32 | wasm64 \ 12757db96d56Sopenharmony_ci | we32k \ 12767db96d56Sopenharmony_ci | x86 | x86_64 | xc16x | xgate | xps100 \ 12777db96d56Sopenharmony_ci | xstormy16 | xtensa* \ 12787db96d56Sopenharmony_ci | ymp \ 12797db96d56Sopenharmony_ci | z8k | z80) 12807db96d56Sopenharmony_ci ;; 12817db96d56Sopenharmony_ci 12827db96d56Sopenharmony_ci *) 12837db96d56Sopenharmony_ci echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 12847db96d56Sopenharmony_ci exit 1 12857db96d56Sopenharmony_ci ;; 12867db96d56Sopenharmony_ci esac 12877db96d56Sopenharmony_ci ;; 12887db96d56Sopenharmony_ciesac 12897db96d56Sopenharmony_ci 12907db96d56Sopenharmony_ci# Here we canonicalize certain aliases for manufacturers. 12917db96d56Sopenharmony_cicase $vendor in 12927db96d56Sopenharmony_ci digital*) 12937db96d56Sopenharmony_ci vendor=dec 12947db96d56Sopenharmony_ci ;; 12957db96d56Sopenharmony_ci commodore*) 12967db96d56Sopenharmony_ci vendor=cbm 12977db96d56Sopenharmony_ci ;; 12987db96d56Sopenharmony_ci *) 12997db96d56Sopenharmony_ci ;; 13007db96d56Sopenharmony_ciesac 13017db96d56Sopenharmony_ci 13027db96d56Sopenharmony_ci# Decode manufacturer-specific aliases for certain operating systems. 13037db96d56Sopenharmony_ci 13047db96d56Sopenharmony_ciif test x$basic_os != x 13057db96d56Sopenharmony_cithen 13067db96d56Sopenharmony_ci 13077db96d56Sopenharmony_ci# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just 13087db96d56Sopenharmony_ci# set os. 13097db96d56Sopenharmony_cicase $basic_os in 13107db96d56Sopenharmony_ci gnu/linux*) 13117db96d56Sopenharmony_ci kernel=linux 13127db96d56Sopenharmony_ci os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` 13137db96d56Sopenharmony_ci ;; 13147db96d56Sopenharmony_ci os2-emx) 13157db96d56Sopenharmony_ci kernel=os2 13167db96d56Sopenharmony_ci os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` 13177db96d56Sopenharmony_ci ;; 13187db96d56Sopenharmony_ci nto-qnx*) 13197db96d56Sopenharmony_ci kernel=nto 13207db96d56Sopenharmony_ci os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` 13217db96d56Sopenharmony_ci ;; 13227db96d56Sopenharmony_ci *-*) 13237db96d56Sopenharmony_ci # shellcheck disable=SC2162 13247db96d56Sopenharmony_ci saved_IFS=$IFS 13257db96d56Sopenharmony_ci IFS="-" read kernel os <<EOF 13267db96d56Sopenharmony_ci$basic_os 13277db96d56Sopenharmony_ciEOF 13287db96d56Sopenharmony_ci IFS=$saved_IFS 13297db96d56Sopenharmony_ci ;; 13307db96d56Sopenharmony_ci # Default OS when just kernel was specified 13317db96d56Sopenharmony_ci nto*) 13327db96d56Sopenharmony_ci kernel=nto 13337db96d56Sopenharmony_ci os=`echo "$basic_os" | sed -e 's|nto|qnx|'` 13347db96d56Sopenharmony_ci ;; 13357db96d56Sopenharmony_ci linux*) 13367db96d56Sopenharmony_ci kernel=linux 13377db96d56Sopenharmony_ci os=`echo "$basic_os" | sed -e 's|linux|gnu|'` 13387db96d56Sopenharmony_ci ;; 13397db96d56Sopenharmony_ci *) 13407db96d56Sopenharmony_ci kernel= 13417db96d56Sopenharmony_ci os=$basic_os 13427db96d56Sopenharmony_ci ;; 13437db96d56Sopenharmony_ciesac 13447db96d56Sopenharmony_ci 13457db96d56Sopenharmony_ci# Now, normalize the OS (knowing we just have one component, it's not a kernel, 13467db96d56Sopenharmony_ci# etc.) 13477db96d56Sopenharmony_cicase $os in 13487db96d56Sopenharmony_ci # First match some system type aliases that might get confused 13497db96d56Sopenharmony_ci # with valid system types. 13507db96d56Sopenharmony_ci # solaris* is a basic system type, with this one exception. 13517db96d56Sopenharmony_ci auroraux) 13527db96d56Sopenharmony_ci os=auroraux 13537db96d56Sopenharmony_ci ;; 13547db96d56Sopenharmony_ci bluegene*) 13557db96d56Sopenharmony_ci os=cnk 13567db96d56Sopenharmony_ci ;; 13577db96d56Sopenharmony_ci solaris1 | solaris1.*) 13587db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's|solaris1|sunos4|'` 13597db96d56Sopenharmony_ci ;; 13607db96d56Sopenharmony_ci solaris) 13617db96d56Sopenharmony_ci os=solaris2 13627db96d56Sopenharmony_ci ;; 13637db96d56Sopenharmony_ci unixware*) 13647db96d56Sopenharmony_ci os=sysv4.2uw 13657db96d56Sopenharmony_ci ;; 13667db96d56Sopenharmony_ci # es1800 is here to avoid being matched by es* (a different OS) 13677db96d56Sopenharmony_ci es1800*) 13687db96d56Sopenharmony_ci os=ose 13697db96d56Sopenharmony_ci ;; 13707db96d56Sopenharmony_ci # Some version numbers need modification 13717db96d56Sopenharmony_ci chorusos*) 13727db96d56Sopenharmony_ci os=chorusos 13737db96d56Sopenharmony_ci ;; 13747db96d56Sopenharmony_ci isc) 13757db96d56Sopenharmony_ci os=isc2.2 13767db96d56Sopenharmony_ci ;; 13777db96d56Sopenharmony_ci sco6) 13787db96d56Sopenharmony_ci os=sco5v6 13797db96d56Sopenharmony_ci ;; 13807db96d56Sopenharmony_ci sco5) 13817db96d56Sopenharmony_ci os=sco3.2v5 13827db96d56Sopenharmony_ci ;; 13837db96d56Sopenharmony_ci sco4) 13847db96d56Sopenharmony_ci os=sco3.2v4 13857db96d56Sopenharmony_ci ;; 13867db96d56Sopenharmony_ci sco3.2.[4-9]*) 13877db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` 13887db96d56Sopenharmony_ci ;; 13897db96d56Sopenharmony_ci sco*v* | scout) 13907db96d56Sopenharmony_ci # Don't match below 13917db96d56Sopenharmony_ci ;; 13927db96d56Sopenharmony_ci sco*) 13937db96d56Sopenharmony_ci os=sco3.2v2 13947db96d56Sopenharmony_ci ;; 13957db96d56Sopenharmony_ci psos*) 13967db96d56Sopenharmony_ci os=psos 13977db96d56Sopenharmony_ci ;; 13987db96d56Sopenharmony_ci qnx*) 13997db96d56Sopenharmony_ci os=qnx 14007db96d56Sopenharmony_ci ;; 14017db96d56Sopenharmony_ci hiux*) 14027db96d56Sopenharmony_ci os=hiuxwe2 14037db96d56Sopenharmony_ci ;; 14047db96d56Sopenharmony_ci lynx*178) 14057db96d56Sopenharmony_ci os=lynxos178 14067db96d56Sopenharmony_ci ;; 14077db96d56Sopenharmony_ci lynx*5) 14087db96d56Sopenharmony_ci os=lynxos5 14097db96d56Sopenharmony_ci ;; 14107db96d56Sopenharmony_ci lynxos*) 14117db96d56Sopenharmony_ci # don't get caught up in next wildcard 14127db96d56Sopenharmony_ci ;; 14137db96d56Sopenharmony_ci lynx*) 14147db96d56Sopenharmony_ci os=lynxos 14157db96d56Sopenharmony_ci ;; 14167db96d56Sopenharmony_ci mac[0-9]*) 14177db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's|mac|macos|'` 14187db96d56Sopenharmony_ci ;; 14197db96d56Sopenharmony_ci opened*) 14207db96d56Sopenharmony_ci os=openedition 14217db96d56Sopenharmony_ci ;; 14227db96d56Sopenharmony_ci os400*) 14237db96d56Sopenharmony_ci os=os400 14247db96d56Sopenharmony_ci ;; 14257db96d56Sopenharmony_ci sunos5*) 14267db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14277db96d56Sopenharmony_ci ;; 14287db96d56Sopenharmony_ci sunos6*) 14297db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14307db96d56Sopenharmony_ci ;; 14317db96d56Sopenharmony_ci wince*) 14327db96d56Sopenharmony_ci os=wince 14337db96d56Sopenharmony_ci ;; 14347db96d56Sopenharmony_ci utek*) 14357db96d56Sopenharmony_ci os=bsd 14367db96d56Sopenharmony_ci ;; 14377db96d56Sopenharmony_ci dynix*) 14387db96d56Sopenharmony_ci os=bsd 14397db96d56Sopenharmony_ci ;; 14407db96d56Sopenharmony_ci acis*) 14417db96d56Sopenharmony_ci os=aos 14427db96d56Sopenharmony_ci ;; 14437db96d56Sopenharmony_ci atheos*) 14447db96d56Sopenharmony_ci os=atheos 14457db96d56Sopenharmony_ci ;; 14467db96d56Sopenharmony_ci syllable*) 14477db96d56Sopenharmony_ci os=syllable 14487db96d56Sopenharmony_ci ;; 14497db96d56Sopenharmony_ci 386bsd) 14507db96d56Sopenharmony_ci os=bsd 14517db96d56Sopenharmony_ci ;; 14527db96d56Sopenharmony_ci ctix* | uts*) 14537db96d56Sopenharmony_ci os=sysv 14547db96d56Sopenharmony_ci ;; 14557db96d56Sopenharmony_ci nova*) 14567db96d56Sopenharmony_ci os=rtmk-nova 14577db96d56Sopenharmony_ci ;; 14587db96d56Sopenharmony_ci ns2) 14597db96d56Sopenharmony_ci os=nextstep2 14607db96d56Sopenharmony_ci ;; 14617db96d56Sopenharmony_ci # Preserve the version number of sinix5. 14627db96d56Sopenharmony_ci sinix5.*) 14637db96d56Sopenharmony_ci os=`echo "$os" | sed -e 's|sinix|sysv|'` 14647db96d56Sopenharmony_ci ;; 14657db96d56Sopenharmony_ci sinix*) 14667db96d56Sopenharmony_ci os=sysv4 14677db96d56Sopenharmony_ci ;; 14687db96d56Sopenharmony_ci tpf*) 14697db96d56Sopenharmony_ci os=tpf 14707db96d56Sopenharmony_ci ;; 14717db96d56Sopenharmony_ci triton*) 14727db96d56Sopenharmony_ci os=sysv3 14737db96d56Sopenharmony_ci ;; 14747db96d56Sopenharmony_ci oss*) 14757db96d56Sopenharmony_ci os=sysv3 14767db96d56Sopenharmony_ci ;; 14777db96d56Sopenharmony_ci svr4*) 14787db96d56Sopenharmony_ci os=sysv4 14797db96d56Sopenharmony_ci ;; 14807db96d56Sopenharmony_ci svr3) 14817db96d56Sopenharmony_ci os=sysv3 14827db96d56Sopenharmony_ci ;; 14837db96d56Sopenharmony_ci sysvr4) 14847db96d56Sopenharmony_ci os=sysv4 14857db96d56Sopenharmony_ci ;; 14867db96d56Sopenharmony_ci ose*) 14877db96d56Sopenharmony_ci os=ose 14887db96d56Sopenharmony_ci ;; 14897db96d56Sopenharmony_ci *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 14907db96d56Sopenharmony_ci os=mint 14917db96d56Sopenharmony_ci ;; 14927db96d56Sopenharmony_ci dicos*) 14937db96d56Sopenharmony_ci os=dicos 14947db96d56Sopenharmony_ci ;; 14957db96d56Sopenharmony_ci pikeos*) 14967db96d56Sopenharmony_ci # Until real need of OS specific support for 14977db96d56Sopenharmony_ci # particular features comes up, bare metal 14987db96d56Sopenharmony_ci # configurations are quite functional. 14997db96d56Sopenharmony_ci case $cpu in 15007db96d56Sopenharmony_ci arm*) 15017db96d56Sopenharmony_ci os=eabi 15027db96d56Sopenharmony_ci ;; 15037db96d56Sopenharmony_ci *) 15047db96d56Sopenharmony_ci os=elf 15057db96d56Sopenharmony_ci ;; 15067db96d56Sopenharmony_ci esac 15077db96d56Sopenharmony_ci ;; 15087db96d56Sopenharmony_ci *) 15097db96d56Sopenharmony_ci # No normalization, but not necessarily accepted, that comes below. 15107db96d56Sopenharmony_ci ;; 15117db96d56Sopenharmony_ciesac 15127db96d56Sopenharmony_ci 15137db96d56Sopenharmony_cielse 15147db96d56Sopenharmony_ci 15157db96d56Sopenharmony_ci# Here we handle the default operating systems that come with various machines. 15167db96d56Sopenharmony_ci# The value should be what the vendor currently ships out the door with their 15177db96d56Sopenharmony_ci# machine or put another way, the most popular os provided with the machine. 15187db96d56Sopenharmony_ci 15197db96d56Sopenharmony_ci# Note that if you're going to try to match "-MANUFACTURER" here (say, 15207db96d56Sopenharmony_ci# "-sun"), then you have to tell the case statement up towards the top 15217db96d56Sopenharmony_ci# that MANUFACTURER isn't an operating system. Otherwise, code above 15227db96d56Sopenharmony_ci# will signal an error saying that MANUFACTURER isn't an operating 15237db96d56Sopenharmony_ci# system, and we'll never get to this point. 15247db96d56Sopenharmony_ci 15257db96d56Sopenharmony_cikernel= 15267db96d56Sopenharmony_cicase $cpu-$vendor in 15277db96d56Sopenharmony_ci score-*) 15287db96d56Sopenharmony_ci os=elf 15297db96d56Sopenharmony_ci ;; 15307db96d56Sopenharmony_ci spu-*) 15317db96d56Sopenharmony_ci os=elf 15327db96d56Sopenharmony_ci ;; 15337db96d56Sopenharmony_ci *-acorn) 15347db96d56Sopenharmony_ci os=riscix1.2 15357db96d56Sopenharmony_ci ;; 15367db96d56Sopenharmony_ci arm*-rebel) 15377db96d56Sopenharmony_ci kernel=linux 15387db96d56Sopenharmony_ci os=gnu 15397db96d56Sopenharmony_ci ;; 15407db96d56Sopenharmony_ci arm*-semi) 15417db96d56Sopenharmony_ci os=aout 15427db96d56Sopenharmony_ci ;; 15437db96d56Sopenharmony_ci c4x-* | tic4x-*) 15447db96d56Sopenharmony_ci os=coff 15457db96d56Sopenharmony_ci ;; 15467db96d56Sopenharmony_ci c8051-*) 15477db96d56Sopenharmony_ci os=elf 15487db96d56Sopenharmony_ci ;; 15497db96d56Sopenharmony_ci clipper-intergraph) 15507db96d56Sopenharmony_ci os=clix 15517db96d56Sopenharmony_ci ;; 15527db96d56Sopenharmony_ci hexagon-*) 15537db96d56Sopenharmony_ci os=elf 15547db96d56Sopenharmony_ci ;; 15557db96d56Sopenharmony_ci tic54x-*) 15567db96d56Sopenharmony_ci os=coff 15577db96d56Sopenharmony_ci ;; 15587db96d56Sopenharmony_ci tic55x-*) 15597db96d56Sopenharmony_ci os=coff 15607db96d56Sopenharmony_ci ;; 15617db96d56Sopenharmony_ci tic6x-*) 15627db96d56Sopenharmony_ci os=coff 15637db96d56Sopenharmony_ci ;; 15647db96d56Sopenharmony_ci # This must come before the *-dec entry. 15657db96d56Sopenharmony_ci pdp10-*) 15667db96d56Sopenharmony_ci os=tops20 15677db96d56Sopenharmony_ci ;; 15687db96d56Sopenharmony_ci pdp11-*) 15697db96d56Sopenharmony_ci os=none 15707db96d56Sopenharmony_ci ;; 15717db96d56Sopenharmony_ci *-dec | vax-*) 15727db96d56Sopenharmony_ci os=ultrix4.2 15737db96d56Sopenharmony_ci ;; 15747db96d56Sopenharmony_ci m68*-apollo) 15757db96d56Sopenharmony_ci os=domain 15767db96d56Sopenharmony_ci ;; 15777db96d56Sopenharmony_ci i386-sun) 15787db96d56Sopenharmony_ci os=sunos4.0.2 15797db96d56Sopenharmony_ci ;; 15807db96d56Sopenharmony_ci m68000-sun) 15817db96d56Sopenharmony_ci os=sunos3 15827db96d56Sopenharmony_ci ;; 15837db96d56Sopenharmony_ci m68*-cisco) 15847db96d56Sopenharmony_ci os=aout 15857db96d56Sopenharmony_ci ;; 15867db96d56Sopenharmony_ci mep-*) 15877db96d56Sopenharmony_ci os=elf 15887db96d56Sopenharmony_ci ;; 15897db96d56Sopenharmony_ci mips*-cisco) 15907db96d56Sopenharmony_ci os=elf 15917db96d56Sopenharmony_ci ;; 15927db96d56Sopenharmony_ci mips*-*) 15937db96d56Sopenharmony_ci os=elf 15947db96d56Sopenharmony_ci ;; 15957db96d56Sopenharmony_ci or32-*) 15967db96d56Sopenharmony_ci os=coff 15977db96d56Sopenharmony_ci ;; 15987db96d56Sopenharmony_ci *-tti) # must be before sparc entry or we get the wrong os. 15997db96d56Sopenharmony_ci os=sysv3 16007db96d56Sopenharmony_ci ;; 16017db96d56Sopenharmony_ci sparc-* | *-sun) 16027db96d56Sopenharmony_ci os=sunos4.1.1 16037db96d56Sopenharmony_ci ;; 16047db96d56Sopenharmony_ci pru-*) 16057db96d56Sopenharmony_ci os=elf 16067db96d56Sopenharmony_ci ;; 16077db96d56Sopenharmony_ci *-be) 16087db96d56Sopenharmony_ci os=beos 16097db96d56Sopenharmony_ci ;; 16107db96d56Sopenharmony_ci *-ibm) 16117db96d56Sopenharmony_ci os=aix 16127db96d56Sopenharmony_ci ;; 16137db96d56Sopenharmony_ci *-knuth) 16147db96d56Sopenharmony_ci os=mmixware 16157db96d56Sopenharmony_ci ;; 16167db96d56Sopenharmony_ci *-wec) 16177db96d56Sopenharmony_ci os=proelf 16187db96d56Sopenharmony_ci ;; 16197db96d56Sopenharmony_ci *-winbond) 16207db96d56Sopenharmony_ci os=proelf 16217db96d56Sopenharmony_ci ;; 16227db96d56Sopenharmony_ci *-oki) 16237db96d56Sopenharmony_ci os=proelf 16247db96d56Sopenharmony_ci ;; 16257db96d56Sopenharmony_ci *-hp) 16267db96d56Sopenharmony_ci os=hpux 16277db96d56Sopenharmony_ci ;; 16287db96d56Sopenharmony_ci *-hitachi) 16297db96d56Sopenharmony_ci os=hiux 16307db96d56Sopenharmony_ci ;; 16317db96d56Sopenharmony_ci i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16327db96d56Sopenharmony_ci os=sysv 16337db96d56Sopenharmony_ci ;; 16347db96d56Sopenharmony_ci *-cbm) 16357db96d56Sopenharmony_ci os=amigaos 16367db96d56Sopenharmony_ci ;; 16377db96d56Sopenharmony_ci *-dg) 16387db96d56Sopenharmony_ci os=dgux 16397db96d56Sopenharmony_ci ;; 16407db96d56Sopenharmony_ci *-dolphin) 16417db96d56Sopenharmony_ci os=sysv3 16427db96d56Sopenharmony_ci ;; 16437db96d56Sopenharmony_ci m68k-ccur) 16447db96d56Sopenharmony_ci os=rtu 16457db96d56Sopenharmony_ci ;; 16467db96d56Sopenharmony_ci m88k-omron*) 16477db96d56Sopenharmony_ci os=luna 16487db96d56Sopenharmony_ci ;; 16497db96d56Sopenharmony_ci *-next) 16507db96d56Sopenharmony_ci os=nextstep 16517db96d56Sopenharmony_ci ;; 16527db96d56Sopenharmony_ci *-sequent) 16537db96d56Sopenharmony_ci os=ptx 16547db96d56Sopenharmony_ci ;; 16557db96d56Sopenharmony_ci *-crds) 16567db96d56Sopenharmony_ci os=unos 16577db96d56Sopenharmony_ci ;; 16587db96d56Sopenharmony_ci *-ns) 16597db96d56Sopenharmony_ci os=genix 16607db96d56Sopenharmony_ci ;; 16617db96d56Sopenharmony_ci i370-*) 16627db96d56Sopenharmony_ci os=mvs 16637db96d56Sopenharmony_ci ;; 16647db96d56Sopenharmony_ci *-gould) 16657db96d56Sopenharmony_ci os=sysv 16667db96d56Sopenharmony_ci ;; 16677db96d56Sopenharmony_ci *-highlevel) 16687db96d56Sopenharmony_ci os=bsd 16697db96d56Sopenharmony_ci ;; 16707db96d56Sopenharmony_ci *-encore) 16717db96d56Sopenharmony_ci os=bsd 16727db96d56Sopenharmony_ci ;; 16737db96d56Sopenharmony_ci *-sgi) 16747db96d56Sopenharmony_ci os=irix 16757db96d56Sopenharmony_ci ;; 16767db96d56Sopenharmony_ci *-siemens) 16777db96d56Sopenharmony_ci os=sysv4 16787db96d56Sopenharmony_ci ;; 16797db96d56Sopenharmony_ci *-masscomp) 16807db96d56Sopenharmony_ci os=rtu 16817db96d56Sopenharmony_ci ;; 16827db96d56Sopenharmony_ci f30[01]-fujitsu | f700-fujitsu) 16837db96d56Sopenharmony_ci os=uxpv 16847db96d56Sopenharmony_ci ;; 16857db96d56Sopenharmony_ci *-rom68k) 16867db96d56Sopenharmony_ci os=coff 16877db96d56Sopenharmony_ci ;; 16887db96d56Sopenharmony_ci *-*bug) 16897db96d56Sopenharmony_ci os=coff 16907db96d56Sopenharmony_ci ;; 16917db96d56Sopenharmony_ci *-apple) 16927db96d56Sopenharmony_ci os=macos 16937db96d56Sopenharmony_ci ;; 16947db96d56Sopenharmony_ci *-atari*) 16957db96d56Sopenharmony_ci os=mint 16967db96d56Sopenharmony_ci ;; 16977db96d56Sopenharmony_ci *-wrs) 16987db96d56Sopenharmony_ci os=vxworks 16997db96d56Sopenharmony_ci ;; 17007db96d56Sopenharmony_ci *) 17017db96d56Sopenharmony_ci os=none 17027db96d56Sopenharmony_ci ;; 17037db96d56Sopenharmony_ciesac 17047db96d56Sopenharmony_ci 17057db96d56Sopenharmony_cifi 17067db96d56Sopenharmony_ci 17077db96d56Sopenharmony_ci# Now, validate our (potentially fixed-up) OS. 17087db96d56Sopenharmony_cicase $os in 17097db96d56Sopenharmony_ci # Sometimes we do "kernel-libc", so those need to count as OSes. 17107db96d56Sopenharmony_ci musl* | newlib* | relibc* | uclibc*) 17117db96d56Sopenharmony_ci ;; 17127db96d56Sopenharmony_ci # Likewise for "kernel-abi" 17137db96d56Sopenharmony_ci eabi* | gnueabi*) 17147db96d56Sopenharmony_ci ;; 17157db96d56Sopenharmony_ci # VxWorks passes extra cpu info in the 4th filed. 17167db96d56Sopenharmony_ci simlinux | simwindows | spe) 17177db96d56Sopenharmony_ci ;; 17187db96d56Sopenharmony_ci # Now accept the basic system types. 17197db96d56Sopenharmony_ci # The portable systems comes first. 17207db96d56Sopenharmony_ci # Each alternative MUST end in a * to match a version number. 17217db96d56Sopenharmony_ci gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 17227db96d56Sopenharmony_ci | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 17237db96d56Sopenharmony_ci | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 17247db96d56Sopenharmony_ci | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 17257db96d56Sopenharmony_ci | hiux* | abug | nacl* | netware* | windows* \ 17267db96d56Sopenharmony_ci | os9* | macos* | osx* | ios* \ 17277db96d56Sopenharmony_ci | mpw* | magic* | mmixware* | mon960* | lnews* \ 17287db96d56Sopenharmony_ci | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 17297db96d56Sopenharmony_ci | aos* | aros* | cloudabi* | sortix* | twizzler* \ 17307db96d56Sopenharmony_ci | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 17317db96d56Sopenharmony_ci | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ 17327db96d56Sopenharmony_ci | mirbsd* | netbsd* | dicos* | openedition* | ose* \ 17337db96d56Sopenharmony_ci | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ 17347db96d56Sopenharmony_ci | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ 17357db96d56Sopenharmony_ci | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ 17367db96d56Sopenharmony_ci | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ 17377db96d56Sopenharmony_ci | udi* | lites* | ieee* | go32* | aux* | hcos* \ 17387db96d56Sopenharmony_ci | chorusrdb* | cegcc* | glidix* | serenity* \ 17397db96d56Sopenharmony_ci | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ 17407db96d56Sopenharmony_ci | midipix* | mingw32* | mingw64* | mint* \ 17417db96d56Sopenharmony_ci | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 17427db96d56Sopenharmony_ci | interix* | uwin* | mks* | rhapsody* | darwin* \ 17437db96d56Sopenharmony_ci | openstep* | oskit* | conix* | pw32* | nonstopux* \ 17447db96d56Sopenharmony_ci | storm-chaos* | tops10* | tenex* | tops20* | its* \ 17457db96d56Sopenharmony_ci | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ 17467db96d56Sopenharmony_ci | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ 17477db96d56Sopenharmony_ci | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 17487db96d56Sopenharmony_ci | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 17497db96d56Sopenharmony_ci | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 17507db96d56Sopenharmony_ci | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ 17517db96d56Sopenharmony_ci | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) 17527db96d56Sopenharmony_ci ;; 17537db96d56Sopenharmony_ci # This one is extra strict with allowed versions 17547db96d56Sopenharmony_ci sco3.2v2 | sco3.2v[4-9]* | sco5v6*) 17557db96d56Sopenharmony_ci # Don't forget version if it is 3.2v4 or newer. 17567db96d56Sopenharmony_ci ;; 17577db96d56Sopenharmony_ci none) 17587db96d56Sopenharmony_ci ;; 17597db96d56Sopenharmony_ci *) 17607db96d56Sopenharmony_ci echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 17617db96d56Sopenharmony_ci exit 1 17627db96d56Sopenharmony_ci ;; 17637db96d56Sopenharmony_ciesac 17647db96d56Sopenharmony_ci 17657db96d56Sopenharmony_ci# As a final step for OS-related things, validate the OS-kernel combination 17667db96d56Sopenharmony_ci# (given a valid OS), if there is a kernel. 17677db96d56Sopenharmony_cicase $kernel-$os in 17687db96d56Sopenharmony_ci linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ 17697db96d56Sopenharmony_ci | linux-musl* | linux-relibc* | linux-uclibc* ) 17707db96d56Sopenharmony_ci ;; 17717db96d56Sopenharmony_ci uclinux-uclibc* ) 17727db96d56Sopenharmony_ci ;; 17737db96d56Sopenharmony_ci -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) 17747db96d56Sopenharmony_ci # These are just libc implementations, not actual OSes, and thus 17757db96d56Sopenharmony_ci # require a kernel. 17767db96d56Sopenharmony_ci echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 17777db96d56Sopenharmony_ci exit 1 17787db96d56Sopenharmony_ci ;; 17797db96d56Sopenharmony_ci kfreebsd*-gnu* | kopensolaris*-gnu*) 17807db96d56Sopenharmony_ci ;; 17817db96d56Sopenharmony_ci vxworks-simlinux | vxworks-simwindows | vxworks-spe) 17827db96d56Sopenharmony_ci ;; 17837db96d56Sopenharmony_ci nto-qnx*) 17847db96d56Sopenharmony_ci ;; 17857db96d56Sopenharmony_ci os2-emx) 17867db96d56Sopenharmony_ci ;; 17877db96d56Sopenharmony_ci *-eabi* | *-gnueabi*) 17887db96d56Sopenharmony_ci ;; 17897db96d56Sopenharmony_ci -*) 17907db96d56Sopenharmony_ci # Blank kernel with real OS is always fine. 17917db96d56Sopenharmony_ci ;; 17927db96d56Sopenharmony_ci *-*) 17937db96d56Sopenharmony_ci echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 17947db96d56Sopenharmony_ci exit 1 17957db96d56Sopenharmony_ci ;; 17967db96d56Sopenharmony_ciesac 17977db96d56Sopenharmony_ci 17987db96d56Sopenharmony_ci# Here we handle the case where we know the os, and the CPU type, but not the 17997db96d56Sopenharmony_ci# manufacturer. We pick the logical manufacturer. 18007db96d56Sopenharmony_cicase $vendor in 18017db96d56Sopenharmony_ci unknown) 18027db96d56Sopenharmony_ci case $cpu-$os in 18037db96d56Sopenharmony_ci *-riscix*) 18047db96d56Sopenharmony_ci vendor=acorn 18057db96d56Sopenharmony_ci ;; 18067db96d56Sopenharmony_ci *-sunos*) 18077db96d56Sopenharmony_ci vendor=sun 18087db96d56Sopenharmony_ci ;; 18097db96d56Sopenharmony_ci *-cnk* | *-aix*) 18107db96d56Sopenharmony_ci vendor=ibm 18117db96d56Sopenharmony_ci ;; 18127db96d56Sopenharmony_ci *-beos*) 18137db96d56Sopenharmony_ci vendor=be 18147db96d56Sopenharmony_ci ;; 18157db96d56Sopenharmony_ci *-hpux*) 18167db96d56Sopenharmony_ci vendor=hp 18177db96d56Sopenharmony_ci ;; 18187db96d56Sopenharmony_ci *-mpeix*) 18197db96d56Sopenharmony_ci vendor=hp 18207db96d56Sopenharmony_ci ;; 18217db96d56Sopenharmony_ci *-hiux*) 18227db96d56Sopenharmony_ci vendor=hitachi 18237db96d56Sopenharmony_ci ;; 18247db96d56Sopenharmony_ci *-unos*) 18257db96d56Sopenharmony_ci vendor=crds 18267db96d56Sopenharmony_ci ;; 18277db96d56Sopenharmony_ci *-dgux*) 18287db96d56Sopenharmony_ci vendor=dg 18297db96d56Sopenharmony_ci ;; 18307db96d56Sopenharmony_ci *-luna*) 18317db96d56Sopenharmony_ci vendor=omron 18327db96d56Sopenharmony_ci ;; 18337db96d56Sopenharmony_ci *-genix*) 18347db96d56Sopenharmony_ci vendor=ns 18357db96d56Sopenharmony_ci ;; 18367db96d56Sopenharmony_ci *-clix*) 18377db96d56Sopenharmony_ci vendor=intergraph 18387db96d56Sopenharmony_ci ;; 18397db96d56Sopenharmony_ci *-mvs* | *-opened*) 18407db96d56Sopenharmony_ci vendor=ibm 18417db96d56Sopenharmony_ci ;; 18427db96d56Sopenharmony_ci *-os400*) 18437db96d56Sopenharmony_ci vendor=ibm 18447db96d56Sopenharmony_ci ;; 18457db96d56Sopenharmony_ci s390-* | s390x-*) 18467db96d56Sopenharmony_ci vendor=ibm 18477db96d56Sopenharmony_ci ;; 18487db96d56Sopenharmony_ci *-ptx*) 18497db96d56Sopenharmony_ci vendor=sequent 18507db96d56Sopenharmony_ci ;; 18517db96d56Sopenharmony_ci *-tpf*) 18527db96d56Sopenharmony_ci vendor=ibm 18537db96d56Sopenharmony_ci ;; 18547db96d56Sopenharmony_ci *-vxsim* | *-vxworks* | *-windiss*) 18557db96d56Sopenharmony_ci vendor=wrs 18567db96d56Sopenharmony_ci ;; 18577db96d56Sopenharmony_ci *-aux*) 18587db96d56Sopenharmony_ci vendor=apple 18597db96d56Sopenharmony_ci ;; 18607db96d56Sopenharmony_ci *-hms*) 18617db96d56Sopenharmony_ci vendor=hitachi 18627db96d56Sopenharmony_ci ;; 18637db96d56Sopenharmony_ci *-mpw* | *-macos*) 18647db96d56Sopenharmony_ci vendor=apple 18657db96d56Sopenharmony_ci ;; 18667db96d56Sopenharmony_ci *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) 18677db96d56Sopenharmony_ci vendor=atari 18687db96d56Sopenharmony_ci ;; 18697db96d56Sopenharmony_ci *-vos*) 18707db96d56Sopenharmony_ci vendor=stratus 18717db96d56Sopenharmony_ci ;; 18727db96d56Sopenharmony_ci esac 18737db96d56Sopenharmony_ci ;; 18747db96d56Sopenharmony_ciesac 18757db96d56Sopenharmony_ci 18767db96d56Sopenharmony_ciecho "$cpu-$vendor-${kernel:+$kernel-}$os" 18777db96d56Sopenharmony_ciexit 18787db96d56Sopenharmony_ci 18797db96d56Sopenharmony_ci# Local variables: 18807db96d56Sopenharmony_ci# eval: (add-hook 'before-save-hook 'time-stamp) 18817db96d56Sopenharmony_ci# time-stamp-start: "timestamp='" 18827db96d56Sopenharmony_ci# time-stamp-format: "%:y-%02m-%02d" 18837db96d56Sopenharmony_ci# time-stamp-end: "'" 18847db96d56Sopenharmony_ci# End: 1885