1*22dc650dSSadaf Ebrahimi#! /bin/sh 2*22dc650dSSadaf Ebrahimi# Configuration validation subroutine script. 3*22dc650dSSadaf Ebrahimi# Copyright 1992-2021 Free Software Foundation, Inc. 4*22dc650dSSadaf Ebrahimi 5*22dc650dSSadaf Ebrahimi# shellcheck disable=SC2006,SC2268 # see below for rationale 6*22dc650dSSadaf Ebrahimi 7*22dc650dSSadaf Ebrahimitimestamp='2021-08-14' 8*22dc650dSSadaf Ebrahimi 9*22dc650dSSadaf Ebrahimi# This file is free software; you can redistribute it and/or modify it 10*22dc650dSSadaf Ebrahimi# under the terms of the GNU General Public License as published by 11*22dc650dSSadaf Ebrahimi# the Free Software Foundation; either version 3 of the License, or 12*22dc650dSSadaf Ebrahimi# (at your option) any later version. 13*22dc650dSSadaf Ebrahimi# 14*22dc650dSSadaf Ebrahimi# This program is distributed in the hope that it will be useful, but 15*22dc650dSSadaf Ebrahimi# WITHOUT ANY WARRANTY; without even the implied warranty of 16*22dc650dSSadaf Ebrahimi# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17*22dc650dSSadaf Ebrahimi# General Public License for more details. 18*22dc650dSSadaf Ebrahimi# 19*22dc650dSSadaf Ebrahimi# You should have received a copy of the GNU General Public License 20*22dc650dSSadaf Ebrahimi# along with this program; if not, see <https://www.gnu.org/licenses/>. 21*22dc650dSSadaf Ebrahimi# 22*22dc650dSSadaf Ebrahimi# As a special exception to the GNU General Public License, if you 23*22dc650dSSadaf Ebrahimi# distribute this file as part of a program that contains a 24*22dc650dSSadaf Ebrahimi# configuration script generated by Autoconf, you may include it under 25*22dc650dSSadaf Ebrahimi# the same distribution terms that you use for the rest of that 26*22dc650dSSadaf Ebrahimi# program. This Exception is an additional permission under section 7 27*22dc650dSSadaf Ebrahimi# of the GNU General Public License, version 3 ("GPLv3"). 28*22dc650dSSadaf Ebrahimi 29*22dc650dSSadaf Ebrahimi 30*22dc650dSSadaf Ebrahimi# Please send patches to <[email protected]>. 31*22dc650dSSadaf Ebrahimi# 32*22dc650dSSadaf Ebrahimi# Configuration subroutine to validate and canonicalize a configuration type. 33*22dc650dSSadaf Ebrahimi# Supply the specified configuration type as an argument. 34*22dc650dSSadaf Ebrahimi# If it is invalid, we print an error message on stderr and exit with code 1. 35*22dc650dSSadaf Ebrahimi# Otherwise, we print the canonical config type on stdout and succeed. 36*22dc650dSSadaf Ebrahimi 37*22dc650dSSadaf Ebrahimi# You can get the latest version of this script from: 38*22dc650dSSadaf Ebrahimi# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub 39*22dc650dSSadaf Ebrahimi 40*22dc650dSSadaf Ebrahimi# This file is supposed to be the same for all GNU packages 41*22dc650dSSadaf Ebrahimi# and recognize all the CPU types, system types and aliases 42*22dc650dSSadaf Ebrahimi# that are meaningful with *any* GNU software. 43*22dc650dSSadaf Ebrahimi# Each package is responsible for reporting which valid configurations 44*22dc650dSSadaf Ebrahimi# it does not support. The user should be able to distinguish 45*22dc650dSSadaf Ebrahimi# a failure to support a valid configuration from a meaningless 46*22dc650dSSadaf Ebrahimi# configuration. 47*22dc650dSSadaf Ebrahimi 48*22dc650dSSadaf Ebrahimi# The goal of this file is to map all the various variations of a given 49*22dc650dSSadaf Ebrahimi# machine specification into a single specification in the form: 50*22dc650dSSadaf Ebrahimi# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 51*22dc650dSSadaf Ebrahimi# or in some cases, the newer four-part form: 52*22dc650dSSadaf Ebrahimi# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 53*22dc650dSSadaf Ebrahimi# It is wrong to echo any other type of specification. 54*22dc650dSSadaf Ebrahimi 55*22dc650dSSadaf Ebrahimi# The "shellcheck disable" line above the timestamp inhibits complaints 56*22dc650dSSadaf Ebrahimi# about features and limitations of the classic Bourne shell that were 57*22dc650dSSadaf Ebrahimi# superseded or lifted in POSIX. However, this script identifies a wide 58*22dc650dSSadaf Ebrahimi# variety of pre-POSIX systems that do not have POSIX shells at all, and 59*22dc650dSSadaf Ebrahimi# even some reasonably current systems (Solaris 10 as case-in-point) still 60*22dc650dSSadaf Ebrahimi# have a pre-POSIX /bin/sh. 61*22dc650dSSadaf Ebrahimi 62*22dc650dSSadaf Ebrahimime=`echo "$0" | sed -e 's,.*/,,'` 63*22dc650dSSadaf Ebrahimi 64*22dc650dSSadaf Ebrahimiusage="\ 65*22dc650dSSadaf EbrahimiUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 66*22dc650dSSadaf Ebrahimi 67*22dc650dSSadaf EbrahimiCanonicalize a configuration name. 68*22dc650dSSadaf Ebrahimi 69*22dc650dSSadaf EbrahimiOptions: 70*22dc650dSSadaf Ebrahimi -h, --help print this help, then exit 71*22dc650dSSadaf Ebrahimi -t, --time-stamp print date of last modification, then exit 72*22dc650dSSadaf Ebrahimi -v, --version print version number, then exit 73*22dc650dSSadaf Ebrahimi 74*22dc650dSSadaf EbrahimiReport bugs and patches to <[email protected]>." 75*22dc650dSSadaf Ebrahimi 76*22dc650dSSadaf Ebrahimiversion="\ 77*22dc650dSSadaf EbrahimiGNU config.sub ($timestamp) 78*22dc650dSSadaf Ebrahimi 79*22dc650dSSadaf EbrahimiCopyright 1992-2021 Free Software Foundation, Inc. 80*22dc650dSSadaf Ebrahimi 81*22dc650dSSadaf EbrahimiThis is free software; see the source for copying conditions. There is NO 82*22dc650dSSadaf Ebrahimiwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 83*22dc650dSSadaf Ebrahimi 84*22dc650dSSadaf Ebrahimihelp=" 85*22dc650dSSadaf EbrahimiTry \`$me --help' for more information." 86*22dc650dSSadaf Ebrahimi 87*22dc650dSSadaf Ebrahimi# Parse command line 88*22dc650dSSadaf Ebrahimiwhile test $# -gt 0 ; do 89*22dc650dSSadaf Ebrahimi case $1 in 90*22dc650dSSadaf Ebrahimi --time-stamp | --time* | -t ) 91*22dc650dSSadaf Ebrahimi echo "$timestamp" ; exit ;; 92*22dc650dSSadaf Ebrahimi --version | -v ) 93*22dc650dSSadaf Ebrahimi echo "$version" ; exit ;; 94*22dc650dSSadaf Ebrahimi --help | --h* | -h ) 95*22dc650dSSadaf Ebrahimi echo "$usage"; exit ;; 96*22dc650dSSadaf Ebrahimi -- ) # Stop option processing 97*22dc650dSSadaf Ebrahimi shift; break ;; 98*22dc650dSSadaf Ebrahimi - ) # Use stdin as input. 99*22dc650dSSadaf Ebrahimi break ;; 100*22dc650dSSadaf Ebrahimi -* ) 101*22dc650dSSadaf Ebrahimi echo "$me: invalid option $1$help" >&2 102*22dc650dSSadaf Ebrahimi exit 1 ;; 103*22dc650dSSadaf Ebrahimi 104*22dc650dSSadaf Ebrahimi *local*) 105*22dc650dSSadaf Ebrahimi # First pass through any local machine types. 106*22dc650dSSadaf Ebrahimi echo "$1" 107*22dc650dSSadaf Ebrahimi exit ;; 108*22dc650dSSadaf Ebrahimi 109*22dc650dSSadaf Ebrahimi * ) 110*22dc650dSSadaf Ebrahimi break ;; 111*22dc650dSSadaf Ebrahimi esac 112*22dc650dSSadaf Ebrahimidone 113*22dc650dSSadaf Ebrahimi 114*22dc650dSSadaf Ebrahimicase $# in 115*22dc650dSSadaf Ebrahimi 0) echo "$me: missing argument$help" >&2 116*22dc650dSSadaf Ebrahimi exit 1;; 117*22dc650dSSadaf Ebrahimi 1) ;; 118*22dc650dSSadaf Ebrahimi *) echo "$me: too many arguments$help" >&2 119*22dc650dSSadaf Ebrahimi exit 1;; 120*22dc650dSSadaf Ebrahimiesac 121*22dc650dSSadaf Ebrahimi 122*22dc650dSSadaf Ebrahimi# Split fields of configuration type 123*22dc650dSSadaf Ebrahimi# shellcheck disable=SC2162 124*22dc650dSSadaf Ebrahimisaved_IFS=$IFS 125*22dc650dSSadaf EbrahimiIFS="-" read field1 field2 field3 field4 <<EOF 126*22dc650dSSadaf Ebrahimi$1 127*22dc650dSSadaf EbrahimiEOF 128*22dc650dSSadaf EbrahimiIFS=$saved_IFS 129*22dc650dSSadaf Ebrahimi 130*22dc650dSSadaf Ebrahimi# Separate into logical components for further validation 131*22dc650dSSadaf Ebrahimicase $1 in 132*22dc650dSSadaf Ebrahimi *-*-*-*-*) 133*22dc650dSSadaf Ebrahimi echo Invalid configuration \`"$1"\': more than four components >&2 134*22dc650dSSadaf Ebrahimi exit 1 135*22dc650dSSadaf Ebrahimi ;; 136*22dc650dSSadaf Ebrahimi *-*-*-*) 137*22dc650dSSadaf Ebrahimi basic_machine=$field1-$field2 138*22dc650dSSadaf Ebrahimi basic_os=$field3-$field4 139*22dc650dSSadaf Ebrahimi ;; 140*22dc650dSSadaf Ebrahimi *-*-*) 141*22dc650dSSadaf Ebrahimi # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 142*22dc650dSSadaf Ebrahimi # parts 143*22dc650dSSadaf Ebrahimi maybe_os=$field2-$field3 144*22dc650dSSadaf Ebrahimi case $maybe_os in 145*22dc650dSSadaf Ebrahimi nto-qnx* | linux-* | uclinux-uclibc* \ 146*22dc650dSSadaf Ebrahimi | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 147*22dc650dSSadaf Ebrahimi | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 148*22dc650dSSadaf Ebrahimi | storm-chaos* | os2-emx* | rtmk-nova*) 149*22dc650dSSadaf Ebrahimi basic_machine=$field1 150*22dc650dSSadaf Ebrahimi basic_os=$maybe_os 151*22dc650dSSadaf Ebrahimi ;; 152*22dc650dSSadaf Ebrahimi android-linux) 153*22dc650dSSadaf Ebrahimi basic_machine=$field1-unknown 154*22dc650dSSadaf Ebrahimi basic_os=linux-android 155*22dc650dSSadaf Ebrahimi ;; 156*22dc650dSSadaf Ebrahimi *) 157*22dc650dSSadaf Ebrahimi basic_machine=$field1-$field2 158*22dc650dSSadaf Ebrahimi basic_os=$field3 159*22dc650dSSadaf Ebrahimi ;; 160*22dc650dSSadaf Ebrahimi esac 161*22dc650dSSadaf Ebrahimi ;; 162*22dc650dSSadaf Ebrahimi *-*) 163*22dc650dSSadaf Ebrahimi # A lone config we happen to match not fitting any pattern 164*22dc650dSSadaf Ebrahimi case $field1-$field2 in 165*22dc650dSSadaf Ebrahimi decstation-3100) 166*22dc650dSSadaf Ebrahimi basic_machine=mips-dec 167*22dc650dSSadaf Ebrahimi basic_os= 168*22dc650dSSadaf Ebrahimi ;; 169*22dc650dSSadaf Ebrahimi *-*) 170*22dc650dSSadaf Ebrahimi # Second component is usually, but not always the OS 171*22dc650dSSadaf Ebrahimi case $field2 in 172*22dc650dSSadaf Ebrahimi # Prevent following clause from handling this valid os 173*22dc650dSSadaf Ebrahimi sun*os*) 174*22dc650dSSadaf Ebrahimi basic_machine=$field1 175*22dc650dSSadaf Ebrahimi basic_os=$field2 176*22dc650dSSadaf Ebrahimi ;; 177*22dc650dSSadaf Ebrahimi zephyr*) 178*22dc650dSSadaf Ebrahimi basic_machine=$field1-unknown 179*22dc650dSSadaf Ebrahimi basic_os=$field2 180*22dc650dSSadaf Ebrahimi ;; 181*22dc650dSSadaf Ebrahimi # Manufacturers 182*22dc650dSSadaf Ebrahimi dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 183*22dc650dSSadaf Ebrahimi | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 184*22dc650dSSadaf Ebrahimi | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 185*22dc650dSSadaf Ebrahimi | convergent* | ncr* | news | 32* | 3600* | 3100* \ 186*22dc650dSSadaf Ebrahimi | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ 187*22dc650dSSadaf Ebrahimi | ultra | tti* | harris | dolphin | highlevel | gould \ 188*22dc650dSSadaf Ebrahimi | cbm | ns | masscomp | apple | axis | knuth | cray \ 189*22dc650dSSadaf Ebrahimi | microblaze* | sim | cisco \ 190*22dc650dSSadaf Ebrahimi | oki | wec | wrs | winbond) 191*22dc650dSSadaf Ebrahimi basic_machine=$field1-$field2 192*22dc650dSSadaf Ebrahimi basic_os= 193*22dc650dSSadaf Ebrahimi ;; 194*22dc650dSSadaf Ebrahimi *) 195*22dc650dSSadaf Ebrahimi basic_machine=$field1 196*22dc650dSSadaf Ebrahimi basic_os=$field2 197*22dc650dSSadaf Ebrahimi ;; 198*22dc650dSSadaf Ebrahimi esac 199*22dc650dSSadaf Ebrahimi ;; 200*22dc650dSSadaf Ebrahimi esac 201*22dc650dSSadaf Ebrahimi ;; 202*22dc650dSSadaf Ebrahimi *) 203*22dc650dSSadaf Ebrahimi # Convert single-component short-hands not valid as part of 204*22dc650dSSadaf Ebrahimi # multi-component configurations. 205*22dc650dSSadaf Ebrahimi case $field1 in 206*22dc650dSSadaf Ebrahimi 386bsd) 207*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 208*22dc650dSSadaf Ebrahimi basic_os=bsd 209*22dc650dSSadaf Ebrahimi ;; 210*22dc650dSSadaf Ebrahimi a29khif) 211*22dc650dSSadaf Ebrahimi basic_machine=a29k-amd 212*22dc650dSSadaf Ebrahimi basic_os=udi 213*22dc650dSSadaf Ebrahimi ;; 214*22dc650dSSadaf Ebrahimi adobe68k) 215*22dc650dSSadaf Ebrahimi basic_machine=m68010-adobe 216*22dc650dSSadaf Ebrahimi basic_os=scout 217*22dc650dSSadaf Ebrahimi ;; 218*22dc650dSSadaf Ebrahimi alliant) 219*22dc650dSSadaf Ebrahimi basic_machine=fx80-alliant 220*22dc650dSSadaf Ebrahimi basic_os= 221*22dc650dSSadaf Ebrahimi ;; 222*22dc650dSSadaf Ebrahimi altos | altos3068) 223*22dc650dSSadaf Ebrahimi basic_machine=m68k-altos 224*22dc650dSSadaf Ebrahimi basic_os= 225*22dc650dSSadaf Ebrahimi ;; 226*22dc650dSSadaf Ebrahimi am29k) 227*22dc650dSSadaf Ebrahimi basic_machine=a29k-none 228*22dc650dSSadaf Ebrahimi basic_os=bsd 229*22dc650dSSadaf Ebrahimi ;; 230*22dc650dSSadaf Ebrahimi amdahl) 231*22dc650dSSadaf Ebrahimi basic_machine=580-amdahl 232*22dc650dSSadaf Ebrahimi basic_os=sysv 233*22dc650dSSadaf Ebrahimi ;; 234*22dc650dSSadaf Ebrahimi amiga) 235*22dc650dSSadaf Ebrahimi basic_machine=m68k-unknown 236*22dc650dSSadaf Ebrahimi basic_os= 237*22dc650dSSadaf Ebrahimi ;; 238*22dc650dSSadaf Ebrahimi amigaos | amigados) 239*22dc650dSSadaf Ebrahimi basic_machine=m68k-unknown 240*22dc650dSSadaf Ebrahimi basic_os=amigaos 241*22dc650dSSadaf Ebrahimi ;; 242*22dc650dSSadaf Ebrahimi amigaunix | amix) 243*22dc650dSSadaf Ebrahimi basic_machine=m68k-unknown 244*22dc650dSSadaf Ebrahimi basic_os=sysv4 245*22dc650dSSadaf Ebrahimi ;; 246*22dc650dSSadaf Ebrahimi apollo68) 247*22dc650dSSadaf Ebrahimi basic_machine=m68k-apollo 248*22dc650dSSadaf Ebrahimi basic_os=sysv 249*22dc650dSSadaf Ebrahimi ;; 250*22dc650dSSadaf Ebrahimi apollo68bsd) 251*22dc650dSSadaf Ebrahimi basic_machine=m68k-apollo 252*22dc650dSSadaf Ebrahimi basic_os=bsd 253*22dc650dSSadaf Ebrahimi ;; 254*22dc650dSSadaf Ebrahimi aros) 255*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 256*22dc650dSSadaf Ebrahimi basic_os=aros 257*22dc650dSSadaf Ebrahimi ;; 258*22dc650dSSadaf Ebrahimi aux) 259*22dc650dSSadaf Ebrahimi basic_machine=m68k-apple 260*22dc650dSSadaf Ebrahimi basic_os=aux 261*22dc650dSSadaf Ebrahimi ;; 262*22dc650dSSadaf Ebrahimi balance) 263*22dc650dSSadaf Ebrahimi basic_machine=ns32k-sequent 264*22dc650dSSadaf Ebrahimi basic_os=dynix 265*22dc650dSSadaf Ebrahimi ;; 266*22dc650dSSadaf Ebrahimi blackfin) 267*22dc650dSSadaf Ebrahimi basic_machine=bfin-unknown 268*22dc650dSSadaf Ebrahimi basic_os=linux 269*22dc650dSSadaf Ebrahimi ;; 270*22dc650dSSadaf Ebrahimi cegcc) 271*22dc650dSSadaf Ebrahimi basic_machine=arm-unknown 272*22dc650dSSadaf Ebrahimi basic_os=cegcc 273*22dc650dSSadaf Ebrahimi ;; 274*22dc650dSSadaf Ebrahimi convex-c1) 275*22dc650dSSadaf Ebrahimi basic_machine=c1-convex 276*22dc650dSSadaf Ebrahimi basic_os=bsd 277*22dc650dSSadaf Ebrahimi ;; 278*22dc650dSSadaf Ebrahimi convex-c2) 279*22dc650dSSadaf Ebrahimi basic_machine=c2-convex 280*22dc650dSSadaf Ebrahimi basic_os=bsd 281*22dc650dSSadaf Ebrahimi ;; 282*22dc650dSSadaf Ebrahimi convex-c32) 283*22dc650dSSadaf Ebrahimi basic_machine=c32-convex 284*22dc650dSSadaf Ebrahimi basic_os=bsd 285*22dc650dSSadaf Ebrahimi ;; 286*22dc650dSSadaf Ebrahimi convex-c34) 287*22dc650dSSadaf Ebrahimi basic_machine=c34-convex 288*22dc650dSSadaf Ebrahimi basic_os=bsd 289*22dc650dSSadaf Ebrahimi ;; 290*22dc650dSSadaf Ebrahimi convex-c38) 291*22dc650dSSadaf Ebrahimi basic_machine=c38-convex 292*22dc650dSSadaf Ebrahimi basic_os=bsd 293*22dc650dSSadaf Ebrahimi ;; 294*22dc650dSSadaf Ebrahimi cray) 295*22dc650dSSadaf Ebrahimi basic_machine=j90-cray 296*22dc650dSSadaf Ebrahimi basic_os=unicos 297*22dc650dSSadaf Ebrahimi ;; 298*22dc650dSSadaf Ebrahimi crds | unos) 299*22dc650dSSadaf Ebrahimi basic_machine=m68k-crds 300*22dc650dSSadaf Ebrahimi basic_os= 301*22dc650dSSadaf Ebrahimi ;; 302*22dc650dSSadaf Ebrahimi da30) 303*22dc650dSSadaf Ebrahimi basic_machine=m68k-da30 304*22dc650dSSadaf Ebrahimi basic_os= 305*22dc650dSSadaf Ebrahimi ;; 306*22dc650dSSadaf Ebrahimi decstation | pmax | pmin | dec3100 | decstatn) 307*22dc650dSSadaf Ebrahimi basic_machine=mips-dec 308*22dc650dSSadaf Ebrahimi basic_os= 309*22dc650dSSadaf Ebrahimi ;; 310*22dc650dSSadaf Ebrahimi delta88) 311*22dc650dSSadaf Ebrahimi basic_machine=m88k-motorola 312*22dc650dSSadaf Ebrahimi basic_os=sysv3 313*22dc650dSSadaf Ebrahimi ;; 314*22dc650dSSadaf Ebrahimi dicos) 315*22dc650dSSadaf Ebrahimi basic_machine=i686-pc 316*22dc650dSSadaf Ebrahimi basic_os=dicos 317*22dc650dSSadaf Ebrahimi ;; 318*22dc650dSSadaf Ebrahimi djgpp) 319*22dc650dSSadaf Ebrahimi basic_machine=i586-pc 320*22dc650dSSadaf Ebrahimi basic_os=msdosdjgpp 321*22dc650dSSadaf Ebrahimi ;; 322*22dc650dSSadaf Ebrahimi ebmon29k) 323*22dc650dSSadaf Ebrahimi basic_machine=a29k-amd 324*22dc650dSSadaf Ebrahimi basic_os=ebmon 325*22dc650dSSadaf Ebrahimi ;; 326*22dc650dSSadaf Ebrahimi es1800 | OSE68k | ose68k | ose | OSE) 327*22dc650dSSadaf Ebrahimi basic_machine=m68k-ericsson 328*22dc650dSSadaf Ebrahimi basic_os=ose 329*22dc650dSSadaf Ebrahimi ;; 330*22dc650dSSadaf Ebrahimi gmicro) 331*22dc650dSSadaf Ebrahimi basic_machine=tron-gmicro 332*22dc650dSSadaf Ebrahimi basic_os=sysv 333*22dc650dSSadaf Ebrahimi ;; 334*22dc650dSSadaf Ebrahimi go32) 335*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 336*22dc650dSSadaf Ebrahimi basic_os=go32 337*22dc650dSSadaf Ebrahimi ;; 338*22dc650dSSadaf Ebrahimi h8300hms) 339*22dc650dSSadaf Ebrahimi basic_machine=h8300-hitachi 340*22dc650dSSadaf Ebrahimi basic_os=hms 341*22dc650dSSadaf Ebrahimi ;; 342*22dc650dSSadaf Ebrahimi h8300xray) 343*22dc650dSSadaf Ebrahimi basic_machine=h8300-hitachi 344*22dc650dSSadaf Ebrahimi basic_os=xray 345*22dc650dSSadaf Ebrahimi ;; 346*22dc650dSSadaf Ebrahimi h8500hms) 347*22dc650dSSadaf Ebrahimi basic_machine=h8500-hitachi 348*22dc650dSSadaf Ebrahimi basic_os=hms 349*22dc650dSSadaf Ebrahimi ;; 350*22dc650dSSadaf Ebrahimi harris) 351*22dc650dSSadaf Ebrahimi basic_machine=m88k-harris 352*22dc650dSSadaf Ebrahimi basic_os=sysv3 353*22dc650dSSadaf Ebrahimi ;; 354*22dc650dSSadaf Ebrahimi hp300 | hp300hpux) 355*22dc650dSSadaf Ebrahimi basic_machine=m68k-hp 356*22dc650dSSadaf Ebrahimi basic_os=hpux 357*22dc650dSSadaf Ebrahimi ;; 358*22dc650dSSadaf Ebrahimi hp300bsd) 359*22dc650dSSadaf Ebrahimi basic_machine=m68k-hp 360*22dc650dSSadaf Ebrahimi basic_os=bsd 361*22dc650dSSadaf Ebrahimi ;; 362*22dc650dSSadaf Ebrahimi hppaosf) 363*22dc650dSSadaf Ebrahimi basic_machine=hppa1.1-hp 364*22dc650dSSadaf Ebrahimi basic_os=osf 365*22dc650dSSadaf Ebrahimi ;; 366*22dc650dSSadaf Ebrahimi hppro) 367*22dc650dSSadaf Ebrahimi basic_machine=hppa1.1-hp 368*22dc650dSSadaf Ebrahimi basic_os=proelf 369*22dc650dSSadaf Ebrahimi ;; 370*22dc650dSSadaf Ebrahimi i386mach) 371*22dc650dSSadaf Ebrahimi basic_machine=i386-mach 372*22dc650dSSadaf Ebrahimi basic_os=mach 373*22dc650dSSadaf Ebrahimi ;; 374*22dc650dSSadaf Ebrahimi isi68 | isi) 375*22dc650dSSadaf Ebrahimi basic_machine=m68k-isi 376*22dc650dSSadaf Ebrahimi basic_os=sysv 377*22dc650dSSadaf Ebrahimi ;; 378*22dc650dSSadaf Ebrahimi m68knommu) 379*22dc650dSSadaf Ebrahimi basic_machine=m68k-unknown 380*22dc650dSSadaf Ebrahimi basic_os=linux 381*22dc650dSSadaf Ebrahimi ;; 382*22dc650dSSadaf Ebrahimi magnum | m3230) 383*22dc650dSSadaf Ebrahimi basic_machine=mips-mips 384*22dc650dSSadaf Ebrahimi basic_os=sysv 385*22dc650dSSadaf Ebrahimi ;; 386*22dc650dSSadaf Ebrahimi merlin) 387*22dc650dSSadaf Ebrahimi basic_machine=ns32k-utek 388*22dc650dSSadaf Ebrahimi basic_os=sysv 389*22dc650dSSadaf Ebrahimi ;; 390*22dc650dSSadaf Ebrahimi mingw64) 391*22dc650dSSadaf Ebrahimi basic_machine=x86_64-pc 392*22dc650dSSadaf Ebrahimi basic_os=mingw64 393*22dc650dSSadaf Ebrahimi ;; 394*22dc650dSSadaf Ebrahimi mingw32) 395*22dc650dSSadaf Ebrahimi basic_machine=i686-pc 396*22dc650dSSadaf Ebrahimi basic_os=mingw32 397*22dc650dSSadaf Ebrahimi ;; 398*22dc650dSSadaf Ebrahimi mingw32ce) 399*22dc650dSSadaf Ebrahimi basic_machine=arm-unknown 400*22dc650dSSadaf Ebrahimi basic_os=mingw32ce 401*22dc650dSSadaf Ebrahimi ;; 402*22dc650dSSadaf Ebrahimi monitor) 403*22dc650dSSadaf Ebrahimi basic_machine=m68k-rom68k 404*22dc650dSSadaf Ebrahimi basic_os=coff 405*22dc650dSSadaf Ebrahimi ;; 406*22dc650dSSadaf Ebrahimi morphos) 407*22dc650dSSadaf Ebrahimi basic_machine=powerpc-unknown 408*22dc650dSSadaf Ebrahimi basic_os=morphos 409*22dc650dSSadaf Ebrahimi ;; 410*22dc650dSSadaf Ebrahimi moxiebox) 411*22dc650dSSadaf Ebrahimi basic_machine=moxie-unknown 412*22dc650dSSadaf Ebrahimi basic_os=moxiebox 413*22dc650dSSadaf Ebrahimi ;; 414*22dc650dSSadaf Ebrahimi msdos) 415*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 416*22dc650dSSadaf Ebrahimi basic_os=msdos 417*22dc650dSSadaf Ebrahimi ;; 418*22dc650dSSadaf Ebrahimi msys) 419*22dc650dSSadaf Ebrahimi basic_machine=i686-pc 420*22dc650dSSadaf Ebrahimi basic_os=msys 421*22dc650dSSadaf Ebrahimi ;; 422*22dc650dSSadaf Ebrahimi mvs) 423*22dc650dSSadaf Ebrahimi basic_machine=i370-ibm 424*22dc650dSSadaf Ebrahimi basic_os=mvs 425*22dc650dSSadaf Ebrahimi ;; 426*22dc650dSSadaf Ebrahimi nacl) 427*22dc650dSSadaf Ebrahimi basic_machine=le32-unknown 428*22dc650dSSadaf Ebrahimi basic_os=nacl 429*22dc650dSSadaf Ebrahimi ;; 430*22dc650dSSadaf Ebrahimi ncr3000) 431*22dc650dSSadaf Ebrahimi basic_machine=i486-ncr 432*22dc650dSSadaf Ebrahimi basic_os=sysv4 433*22dc650dSSadaf Ebrahimi ;; 434*22dc650dSSadaf Ebrahimi netbsd386) 435*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 436*22dc650dSSadaf Ebrahimi basic_os=netbsd 437*22dc650dSSadaf Ebrahimi ;; 438*22dc650dSSadaf Ebrahimi netwinder) 439*22dc650dSSadaf Ebrahimi basic_machine=armv4l-rebel 440*22dc650dSSadaf Ebrahimi basic_os=linux 441*22dc650dSSadaf Ebrahimi ;; 442*22dc650dSSadaf Ebrahimi news | news700 | news800 | news900) 443*22dc650dSSadaf Ebrahimi basic_machine=m68k-sony 444*22dc650dSSadaf Ebrahimi basic_os=newsos 445*22dc650dSSadaf Ebrahimi ;; 446*22dc650dSSadaf Ebrahimi news1000) 447*22dc650dSSadaf Ebrahimi basic_machine=m68030-sony 448*22dc650dSSadaf Ebrahimi basic_os=newsos 449*22dc650dSSadaf Ebrahimi ;; 450*22dc650dSSadaf Ebrahimi necv70) 451*22dc650dSSadaf Ebrahimi basic_machine=v70-nec 452*22dc650dSSadaf Ebrahimi basic_os=sysv 453*22dc650dSSadaf Ebrahimi ;; 454*22dc650dSSadaf Ebrahimi nh3000) 455*22dc650dSSadaf Ebrahimi basic_machine=m68k-harris 456*22dc650dSSadaf Ebrahimi basic_os=cxux 457*22dc650dSSadaf Ebrahimi ;; 458*22dc650dSSadaf Ebrahimi nh[45]000) 459*22dc650dSSadaf Ebrahimi basic_machine=m88k-harris 460*22dc650dSSadaf Ebrahimi basic_os=cxux 461*22dc650dSSadaf Ebrahimi ;; 462*22dc650dSSadaf Ebrahimi nindy960) 463*22dc650dSSadaf Ebrahimi basic_machine=i960-intel 464*22dc650dSSadaf Ebrahimi basic_os=nindy 465*22dc650dSSadaf Ebrahimi ;; 466*22dc650dSSadaf Ebrahimi mon960) 467*22dc650dSSadaf Ebrahimi basic_machine=i960-intel 468*22dc650dSSadaf Ebrahimi basic_os=mon960 469*22dc650dSSadaf Ebrahimi ;; 470*22dc650dSSadaf Ebrahimi nonstopux) 471*22dc650dSSadaf Ebrahimi basic_machine=mips-compaq 472*22dc650dSSadaf Ebrahimi basic_os=nonstopux 473*22dc650dSSadaf Ebrahimi ;; 474*22dc650dSSadaf Ebrahimi os400) 475*22dc650dSSadaf Ebrahimi basic_machine=powerpc-ibm 476*22dc650dSSadaf Ebrahimi basic_os=os400 477*22dc650dSSadaf Ebrahimi ;; 478*22dc650dSSadaf Ebrahimi OSE68000 | ose68000) 479*22dc650dSSadaf Ebrahimi basic_machine=m68000-ericsson 480*22dc650dSSadaf Ebrahimi basic_os=ose 481*22dc650dSSadaf Ebrahimi ;; 482*22dc650dSSadaf Ebrahimi os68k) 483*22dc650dSSadaf Ebrahimi basic_machine=m68k-none 484*22dc650dSSadaf Ebrahimi basic_os=os68k 485*22dc650dSSadaf Ebrahimi ;; 486*22dc650dSSadaf Ebrahimi paragon) 487*22dc650dSSadaf Ebrahimi basic_machine=i860-intel 488*22dc650dSSadaf Ebrahimi basic_os=osf 489*22dc650dSSadaf Ebrahimi ;; 490*22dc650dSSadaf Ebrahimi parisc) 491*22dc650dSSadaf Ebrahimi basic_machine=hppa-unknown 492*22dc650dSSadaf Ebrahimi basic_os=linux 493*22dc650dSSadaf Ebrahimi ;; 494*22dc650dSSadaf Ebrahimi psp) 495*22dc650dSSadaf Ebrahimi basic_machine=mipsallegrexel-sony 496*22dc650dSSadaf Ebrahimi basic_os=psp 497*22dc650dSSadaf Ebrahimi ;; 498*22dc650dSSadaf Ebrahimi pw32) 499*22dc650dSSadaf Ebrahimi basic_machine=i586-unknown 500*22dc650dSSadaf Ebrahimi basic_os=pw32 501*22dc650dSSadaf Ebrahimi ;; 502*22dc650dSSadaf Ebrahimi rdos | rdos64) 503*22dc650dSSadaf Ebrahimi basic_machine=x86_64-pc 504*22dc650dSSadaf Ebrahimi basic_os=rdos 505*22dc650dSSadaf Ebrahimi ;; 506*22dc650dSSadaf Ebrahimi rdos32) 507*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 508*22dc650dSSadaf Ebrahimi basic_os=rdos 509*22dc650dSSadaf Ebrahimi ;; 510*22dc650dSSadaf Ebrahimi rom68k) 511*22dc650dSSadaf Ebrahimi basic_machine=m68k-rom68k 512*22dc650dSSadaf Ebrahimi basic_os=coff 513*22dc650dSSadaf Ebrahimi ;; 514*22dc650dSSadaf Ebrahimi sa29200) 515*22dc650dSSadaf Ebrahimi basic_machine=a29k-amd 516*22dc650dSSadaf Ebrahimi basic_os=udi 517*22dc650dSSadaf Ebrahimi ;; 518*22dc650dSSadaf Ebrahimi sei) 519*22dc650dSSadaf Ebrahimi basic_machine=mips-sei 520*22dc650dSSadaf Ebrahimi basic_os=seiux 521*22dc650dSSadaf Ebrahimi ;; 522*22dc650dSSadaf Ebrahimi sequent) 523*22dc650dSSadaf Ebrahimi basic_machine=i386-sequent 524*22dc650dSSadaf Ebrahimi basic_os= 525*22dc650dSSadaf Ebrahimi ;; 526*22dc650dSSadaf Ebrahimi sps7) 527*22dc650dSSadaf Ebrahimi basic_machine=m68k-bull 528*22dc650dSSadaf Ebrahimi basic_os=sysv2 529*22dc650dSSadaf Ebrahimi ;; 530*22dc650dSSadaf Ebrahimi st2000) 531*22dc650dSSadaf Ebrahimi basic_machine=m68k-tandem 532*22dc650dSSadaf Ebrahimi basic_os= 533*22dc650dSSadaf Ebrahimi ;; 534*22dc650dSSadaf Ebrahimi stratus) 535*22dc650dSSadaf Ebrahimi basic_machine=i860-stratus 536*22dc650dSSadaf Ebrahimi basic_os=sysv4 537*22dc650dSSadaf Ebrahimi ;; 538*22dc650dSSadaf Ebrahimi sun2) 539*22dc650dSSadaf Ebrahimi basic_machine=m68000-sun 540*22dc650dSSadaf Ebrahimi basic_os= 541*22dc650dSSadaf Ebrahimi ;; 542*22dc650dSSadaf Ebrahimi sun2os3) 543*22dc650dSSadaf Ebrahimi basic_machine=m68000-sun 544*22dc650dSSadaf Ebrahimi basic_os=sunos3 545*22dc650dSSadaf Ebrahimi ;; 546*22dc650dSSadaf Ebrahimi sun2os4) 547*22dc650dSSadaf Ebrahimi basic_machine=m68000-sun 548*22dc650dSSadaf Ebrahimi basic_os=sunos4 549*22dc650dSSadaf Ebrahimi ;; 550*22dc650dSSadaf Ebrahimi sun3) 551*22dc650dSSadaf Ebrahimi basic_machine=m68k-sun 552*22dc650dSSadaf Ebrahimi basic_os= 553*22dc650dSSadaf Ebrahimi ;; 554*22dc650dSSadaf Ebrahimi sun3os3) 555*22dc650dSSadaf Ebrahimi basic_machine=m68k-sun 556*22dc650dSSadaf Ebrahimi basic_os=sunos3 557*22dc650dSSadaf Ebrahimi ;; 558*22dc650dSSadaf Ebrahimi sun3os4) 559*22dc650dSSadaf Ebrahimi basic_machine=m68k-sun 560*22dc650dSSadaf Ebrahimi basic_os=sunos4 561*22dc650dSSadaf Ebrahimi ;; 562*22dc650dSSadaf Ebrahimi sun4) 563*22dc650dSSadaf Ebrahimi basic_machine=sparc-sun 564*22dc650dSSadaf Ebrahimi basic_os= 565*22dc650dSSadaf Ebrahimi ;; 566*22dc650dSSadaf Ebrahimi sun4os3) 567*22dc650dSSadaf Ebrahimi basic_machine=sparc-sun 568*22dc650dSSadaf Ebrahimi basic_os=sunos3 569*22dc650dSSadaf Ebrahimi ;; 570*22dc650dSSadaf Ebrahimi sun4os4) 571*22dc650dSSadaf Ebrahimi basic_machine=sparc-sun 572*22dc650dSSadaf Ebrahimi basic_os=sunos4 573*22dc650dSSadaf Ebrahimi ;; 574*22dc650dSSadaf Ebrahimi sun4sol2) 575*22dc650dSSadaf Ebrahimi basic_machine=sparc-sun 576*22dc650dSSadaf Ebrahimi basic_os=solaris2 577*22dc650dSSadaf Ebrahimi ;; 578*22dc650dSSadaf Ebrahimi sun386 | sun386i | roadrunner) 579*22dc650dSSadaf Ebrahimi basic_machine=i386-sun 580*22dc650dSSadaf Ebrahimi basic_os= 581*22dc650dSSadaf Ebrahimi ;; 582*22dc650dSSadaf Ebrahimi sv1) 583*22dc650dSSadaf Ebrahimi basic_machine=sv1-cray 584*22dc650dSSadaf Ebrahimi basic_os=unicos 585*22dc650dSSadaf Ebrahimi ;; 586*22dc650dSSadaf Ebrahimi symmetry) 587*22dc650dSSadaf Ebrahimi basic_machine=i386-sequent 588*22dc650dSSadaf Ebrahimi basic_os=dynix 589*22dc650dSSadaf Ebrahimi ;; 590*22dc650dSSadaf Ebrahimi t3e) 591*22dc650dSSadaf Ebrahimi basic_machine=alphaev5-cray 592*22dc650dSSadaf Ebrahimi basic_os=unicos 593*22dc650dSSadaf Ebrahimi ;; 594*22dc650dSSadaf Ebrahimi t90) 595*22dc650dSSadaf Ebrahimi basic_machine=t90-cray 596*22dc650dSSadaf Ebrahimi basic_os=unicos 597*22dc650dSSadaf Ebrahimi ;; 598*22dc650dSSadaf Ebrahimi toad1) 599*22dc650dSSadaf Ebrahimi basic_machine=pdp10-xkl 600*22dc650dSSadaf Ebrahimi basic_os=tops20 601*22dc650dSSadaf Ebrahimi ;; 602*22dc650dSSadaf Ebrahimi tpf) 603*22dc650dSSadaf Ebrahimi basic_machine=s390x-ibm 604*22dc650dSSadaf Ebrahimi basic_os=tpf 605*22dc650dSSadaf Ebrahimi ;; 606*22dc650dSSadaf Ebrahimi udi29k) 607*22dc650dSSadaf Ebrahimi basic_machine=a29k-amd 608*22dc650dSSadaf Ebrahimi basic_os=udi 609*22dc650dSSadaf Ebrahimi ;; 610*22dc650dSSadaf Ebrahimi ultra3) 611*22dc650dSSadaf Ebrahimi basic_machine=a29k-nyu 612*22dc650dSSadaf Ebrahimi basic_os=sym1 613*22dc650dSSadaf Ebrahimi ;; 614*22dc650dSSadaf Ebrahimi v810 | necv810) 615*22dc650dSSadaf Ebrahimi basic_machine=v810-nec 616*22dc650dSSadaf Ebrahimi basic_os=none 617*22dc650dSSadaf Ebrahimi ;; 618*22dc650dSSadaf Ebrahimi vaxv) 619*22dc650dSSadaf Ebrahimi basic_machine=vax-dec 620*22dc650dSSadaf Ebrahimi basic_os=sysv 621*22dc650dSSadaf Ebrahimi ;; 622*22dc650dSSadaf Ebrahimi vms) 623*22dc650dSSadaf Ebrahimi basic_machine=vax-dec 624*22dc650dSSadaf Ebrahimi basic_os=vms 625*22dc650dSSadaf Ebrahimi ;; 626*22dc650dSSadaf Ebrahimi vsta) 627*22dc650dSSadaf Ebrahimi basic_machine=i386-pc 628*22dc650dSSadaf Ebrahimi basic_os=vsta 629*22dc650dSSadaf Ebrahimi ;; 630*22dc650dSSadaf Ebrahimi vxworks960) 631*22dc650dSSadaf Ebrahimi basic_machine=i960-wrs 632*22dc650dSSadaf Ebrahimi basic_os=vxworks 633*22dc650dSSadaf Ebrahimi ;; 634*22dc650dSSadaf Ebrahimi vxworks68) 635*22dc650dSSadaf Ebrahimi basic_machine=m68k-wrs 636*22dc650dSSadaf Ebrahimi basic_os=vxworks 637*22dc650dSSadaf Ebrahimi ;; 638*22dc650dSSadaf Ebrahimi vxworks29k) 639*22dc650dSSadaf Ebrahimi basic_machine=a29k-wrs 640*22dc650dSSadaf Ebrahimi basic_os=vxworks 641*22dc650dSSadaf Ebrahimi ;; 642*22dc650dSSadaf Ebrahimi xbox) 643*22dc650dSSadaf Ebrahimi basic_machine=i686-pc 644*22dc650dSSadaf Ebrahimi basic_os=mingw32 645*22dc650dSSadaf Ebrahimi ;; 646*22dc650dSSadaf Ebrahimi ymp) 647*22dc650dSSadaf Ebrahimi basic_machine=ymp-cray 648*22dc650dSSadaf Ebrahimi basic_os=unicos 649*22dc650dSSadaf Ebrahimi ;; 650*22dc650dSSadaf Ebrahimi *) 651*22dc650dSSadaf Ebrahimi basic_machine=$1 652*22dc650dSSadaf Ebrahimi basic_os= 653*22dc650dSSadaf Ebrahimi ;; 654*22dc650dSSadaf Ebrahimi esac 655*22dc650dSSadaf Ebrahimi ;; 656*22dc650dSSadaf Ebrahimiesac 657*22dc650dSSadaf Ebrahimi 658*22dc650dSSadaf Ebrahimi# Decode 1-component or ad-hoc basic machines 659*22dc650dSSadaf Ebrahimicase $basic_machine in 660*22dc650dSSadaf Ebrahimi # Here we handle the default manufacturer of certain CPU types. It is in 661*22dc650dSSadaf Ebrahimi # some cases the only manufacturer, in others, it is the most popular. 662*22dc650dSSadaf Ebrahimi w89k) 663*22dc650dSSadaf Ebrahimi cpu=hppa1.1 664*22dc650dSSadaf Ebrahimi vendor=winbond 665*22dc650dSSadaf Ebrahimi ;; 666*22dc650dSSadaf Ebrahimi op50n) 667*22dc650dSSadaf Ebrahimi cpu=hppa1.1 668*22dc650dSSadaf Ebrahimi vendor=oki 669*22dc650dSSadaf Ebrahimi ;; 670*22dc650dSSadaf Ebrahimi op60c) 671*22dc650dSSadaf Ebrahimi cpu=hppa1.1 672*22dc650dSSadaf Ebrahimi vendor=oki 673*22dc650dSSadaf Ebrahimi ;; 674*22dc650dSSadaf Ebrahimi ibm*) 675*22dc650dSSadaf Ebrahimi cpu=i370 676*22dc650dSSadaf Ebrahimi vendor=ibm 677*22dc650dSSadaf Ebrahimi ;; 678*22dc650dSSadaf Ebrahimi orion105) 679*22dc650dSSadaf Ebrahimi cpu=clipper 680*22dc650dSSadaf Ebrahimi vendor=highlevel 681*22dc650dSSadaf Ebrahimi ;; 682*22dc650dSSadaf Ebrahimi mac | mpw | mac-mpw) 683*22dc650dSSadaf Ebrahimi cpu=m68k 684*22dc650dSSadaf Ebrahimi vendor=apple 685*22dc650dSSadaf Ebrahimi ;; 686*22dc650dSSadaf Ebrahimi pmac | pmac-mpw) 687*22dc650dSSadaf Ebrahimi cpu=powerpc 688*22dc650dSSadaf Ebrahimi vendor=apple 689*22dc650dSSadaf Ebrahimi ;; 690*22dc650dSSadaf Ebrahimi 691*22dc650dSSadaf Ebrahimi # Recognize the various machine names and aliases which stand 692*22dc650dSSadaf Ebrahimi # for a CPU type and a company and sometimes even an OS. 693*22dc650dSSadaf Ebrahimi 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 694*22dc650dSSadaf Ebrahimi cpu=m68000 695*22dc650dSSadaf Ebrahimi vendor=att 696*22dc650dSSadaf Ebrahimi ;; 697*22dc650dSSadaf Ebrahimi 3b*) 698*22dc650dSSadaf Ebrahimi cpu=we32k 699*22dc650dSSadaf Ebrahimi vendor=att 700*22dc650dSSadaf Ebrahimi ;; 701*22dc650dSSadaf Ebrahimi bluegene*) 702*22dc650dSSadaf Ebrahimi cpu=powerpc 703*22dc650dSSadaf Ebrahimi vendor=ibm 704*22dc650dSSadaf Ebrahimi basic_os=cnk 705*22dc650dSSadaf Ebrahimi ;; 706*22dc650dSSadaf Ebrahimi decsystem10* | dec10*) 707*22dc650dSSadaf Ebrahimi cpu=pdp10 708*22dc650dSSadaf Ebrahimi vendor=dec 709*22dc650dSSadaf Ebrahimi basic_os=tops10 710*22dc650dSSadaf Ebrahimi ;; 711*22dc650dSSadaf Ebrahimi decsystem20* | dec20*) 712*22dc650dSSadaf Ebrahimi cpu=pdp10 713*22dc650dSSadaf Ebrahimi vendor=dec 714*22dc650dSSadaf Ebrahimi basic_os=tops20 715*22dc650dSSadaf Ebrahimi ;; 716*22dc650dSSadaf Ebrahimi delta | 3300 | motorola-3300 | motorola-delta \ 717*22dc650dSSadaf Ebrahimi | 3300-motorola | delta-motorola) 718*22dc650dSSadaf Ebrahimi cpu=m68k 719*22dc650dSSadaf Ebrahimi vendor=motorola 720*22dc650dSSadaf Ebrahimi ;; 721*22dc650dSSadaf Ebrahimi dpx2*) 722*22dc650dSSadaf Ebrahimi cpu=m68k 723*22dc650dSSadaf Ebrahimi vendor=bull 724*22dc650dSSadaf Ebrahimi basic_os=sysv3 725*22dc650dSSadaf Ebrahimi ;; 726*22dc650dSSadaf Ebrahimi encore | umax | mmax) 727*22dc650dSSadaf Ebrahimi cpu=ns32k 728*22dc650dSSadaf Ebrahimi vendor=encore 729*22dc650dSSadaf Ebrahimi ;; 730*22dc650dSSadaf Ebrahimi elxsi) 731*22dc650dSSadaf Ebrahimi cpu=elxsi 732*22dc650dSSadaf Ebrahimi vendor=elxsi 733*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-bsd} 734*22dc650dSSadaf Ebrahimi ;; 735*22dc650dSSadaf Ebrahimi fx2800) 736*22dc650dSSadaf Ebrahimi cpu=i860 737*22dc650dSSadaf Ebrahimi vendor=alliant 738*22dc650dSSadaf Ebrahimi ;; 739*22dc650dSSadaf Ebrahimi genix) 740*22dc650dSSadaf Ebrahimi cpu=ns32k 741*22dc650dSSadaf Ebrahimi vendor=ns 742*22dc650dSSadaf Ebrahimi ;; 743*22dc650dSSadaf Ebrahimi h3050r* | hiux*) 744*22dc650dSSadaf Ebrahimi cpu=hppa1.1 745*22dc650dSSadaf Ebrahimi vendor=hitachi 746*22dc650dSSadaf Ebrahimi basic_os=hiuxwe2 747*22dc650dSSadaf Ebrahimi ;; 748*22dc650dSSadaf Ebrahimi hp3k9[0-9][0-9] | hp9[0-9][0-9]) 749*22dc650dSSadaf Ebrahimi cpu=hppa1.0 750*22dc650dSSadaf Ebrahimi vendor=hp 751*22dc650dSSadaf Ebrahimi ;; 752*22dc650dSSadaf Ebrahimi hp9k2[0-9][0-9] | hp9k31[0-9]) 753*22dc650dSSadaf Ebrahimi cpu=m68000 754*22dc650dSSadaf Ebrahimi vendor=hp 755*22dc650dSSadaf Ebrahimi ;; 756*22dc650dSSadaf Ebrahimi hp9k3[2-9][0-9]) 757*22dc650dSSadaf Ebrahimi cpu=m68k 758*22dc650dSSadaf Ebrahimi vendor=hp 759*22dc650dSSadaf Ebrahimi ;; 760*22dc650dSSadaf Ebrahimi hp9k6[0-9][0-9] | hp6[0-9][0-9]) 761*22dc650dSSadaf Ebrahimi cpu=hppa1.0 762*22dc650dSSadaf Ebrahimi vendor=hp 763*22dc650dSSadaf Ebrahimi ;; 764*22dc650dSSadaf Ebrahimi hp9k7[0-79][0-9] | hp7[0-79][0-9]) 765*22dc650dSSadaf Ebrahimi cpu=hppa1.1 766*22dc650dSSadaf Ebrahimi vendor=hp 767*22dc650dSSadaf Ebrahimi ;; 768*22dc650dSSadaf Ebrahimi hp9k78[0-9] | hp78[0-9]) 769*22dc650dSSadaf Ebrahimi # FIXME: really hppa2.0-hp 770*22dc650dSSadaf Ebrahimi cpu=hppa1.1 771*22dc650dSSadaf Ebrahimi vendor=hp 772*22dc650dSSadaf Ebrahimi ;; 773*22dc650dSSadaf Ebrahimi hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 774*22dc650dSSadaf Ebrahimi # FIXME: really hppa2.0-hp 775*22dc650dSSadaf Ebrahimi cpu=hppa1.1 776*22dc650dSSadaf Ebrahimi vendor=hp 777*22dc650dSSadaf Ebrahimi ;; 778*22dc650dSSadaf Ebrahimi hp9k8[0-9][13679] | hp8[0-9][13679]) 779*22dc650dSSadaf Ebrahimi cpu=hppa1.1 780*22dc650dSSadaf Ebrahimi vendor=hp 781*22dc650dSSadaf Ebrahimi ;; 782*22dc650dSSadaf Ebrahimi hp9k8[0-9][0-9] | hp8[0-9][0-9]) 783*22dc650dSSadaf Ebrahimi cpu=hppa1.0 784*22dc650dSSadaf Ebrahimi vendor=hp 785*22dc650dSSadaf Ebrahimi ;; 786*22dc650dSSadaf Ebrahimi i*86v32) 787*22dc650dSSadaf Ebrahimi cpu=`echo "$1" | sed -e 's/86.*/86/'` 788*22dc650dSSadaf Ebrahimi vendor=pc 789*22dc650dSSadaf Ebrahimi basic_os=sysv32 790*22dc650dSSadaf Ebrahimi ;; 791*22dc650dSSadaf Ebrahimi i*86v4*) 792*22dc650dSSadaf Ebrahimi cpu=`echo "$1" | sed -e 's/86.*/86/'` 793*22dc650dSSadaf Ebrahimi vendor=pc 794*22dc650dSSadaf Ebrahimi basic_os=sysv4 795*22dc650dSSadaf Ebrahimi ;; 796*22dc650dSSadaf Ebrahimi i*86v) 797*22dc650dSSadaf Ebrahimi cpu=`echo "$1" | sed -e 's/86.*/86/'` 798*22dc650dSSadaf Ebrahimi vendor=pc 799*22dc650dSSadaf Ebrahimi basic_os=sysv 800*22dc650dSSadaf Ebrahimi ;; 801*22dc650dSSadaf Ebrahimi i*86sol2) 802*22dc650dSSadaf Ebrahimi cpu=`echo "$1" | sed -e 's/86.*/86/'` 803*22dc650dSSadaf Ebrahimi vendor=pc 804*22dc650dSSadaf Ebrahimi basic_os=solaris2 805*22dc650dSSadaf Ebrahimi ;; 806*22dc650dSSadaf Ebrahimi j90 | j90-cray) 807*22dc650dSSadaf Ebrahimi cpu=j90 808*22dc650dSSadaf Ebrahimi vendor=cray 809*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-unicos} 810*22dc650dSSadaf Ebrahimi ;; 811*22dc650dSSadaf Ebrahimi iris | iris4d) 812*22dc650dSSadaf Ebrahimi cpu=mips 813*22dc650dSSadaf Ebrahimi vendor=sgi 814*22dc650dSSadaf Ebrahimi case $basic_os in 815*22dc650dSSadaf Ebrahimi irix*) 816*22dc650dSSadaf Ebrahimi ;; 817*22dc650dSSadaf Ebrahimi *) 818*22dc650dSSadaf Ebrahimi basic_os=irix4 819*22dc650dSSadaf Ebrahimi ;; 820*22dc650dSSadaf Ebrahimi esac 821*22dc650dSSadaf Ebrahimi ;; 822*22dc650dSSadaf Ebrahimi miniframe) 823*22dc650dSSadaf Ebrahimi cpu=m68000 824*22dc650dSSadaf Ebrahimi vendor=convergent 825*22dc650dSSadaf Ebrahimi ;; 826*22dc650dSSadaf Ebrahimi *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 827*22dc650dSSadaf Ebrahimi cpu=m68k 828*22dc650dSSadaf Ebrahimi vendor=atari 829*22dc650dSSadaf Ebrahimi basic_os=mint 830*22dc650dSSadaf Ebrahimi ;; 831*22dc650dSSadaf Ebrahimi news-3600 | risc-news) 832*22dc650dSSadaf Ebrahimi cpu=mips 833*22dc650dSSadaf Ebrahimi vendor=sony 834*22dc650dSSadaf Ebrahimi basic_os=newsos 835*22dc650dSSadaf Ebrahimi ;; 836*22dc650dSSadaf Ebrahimi next | m*-next) 837*22dc650dSSadaf Ebrahimi cpu=m68k 838*22dc650dSSadaf Ebrahimi vendor=next 839*22dc650dSSadaf Ebrahimi case $basic_os in 840*22dc650dSSadaf Ebrahimi openstep*) 841*22dc650dSSadaf Ebrahimi ;; 842*22dc650dSSadaf Ebrahimi nextstep*) 843*22dc650dSSadaf Ebrahimi ;; 844*22dc650dSSadaf Ebrahimi ns2*) 845*22dc650dSSadaf Ebrahimi basic_os=nextstep2 846*22dc650dSSadaf Ebrahimi ;; 847*22dc650dSSadaf Ebrahimi *) 848*22dc650dSSadaf Ebrahimi basic_os=nextstep3 849*22dc650dSSadaf Ebrahimi ;; 850*22dc650dSSadaf Ebrahimi esac 851*22dc650dSSadaf Ebrahimi ;; 852*22dc650dSSadaf Ebrahimi np1) 853*22dc650dSSadaf Ebrahimi cpu=np1 854*22dc650dSSadaf Ebrahimi vendor=gould 855*22dc650dSSadaf Ebrahimi ;; 856*22dc650dSSadaf Ebrahimi op50n-* | op60c-*) 857*22dc650dSSadaf Ebrahimi cpu=hppa1.1 858*22dc650dSSadaf Ebrahimi vendor=oki 859*22dc650dSSadaf Ebrahimi basic_os=proelf 860*22dc650dSSadaf Ebrahimi ;; 861*22dc650dSSadaf Ebrahimi pa-hitachi) 862*22dc650dSSadaf Ebrahimi cpu=hppa1.1 863*22dc650dSSadaf Ebrahimi vendor=hitachi 864*22dc650dSSadaf Ebrahimi basic_os=hiuxwe2 865*22dc650dSSadaf Ebrahimi ;; 866*22dc650dSSadaf Ebrahimi pbd) 867*22dc650dSSadaf Ebrahimi cpu=sparc 868*22dc650dSSadaf Ebrahimi vendor=tti 869*22dc650dSSadaf Ebrahimi ;; 870*22dc650dSSadaf Ebrahimi pbb) 871*22dc650dSSadaf Ebrahimi cpu=m68k 872*22dc650dSSadaf Ebrahimi vendor=tti 873*22dc650dSSadaf Ebrahimi ;; 874*22dc650dSSadaf Ebrahimi pc532) 875*22dc650dSSadaf Ebrahimi cpu=ns32k 876*22dc650dSSadaf Ebrahimi vendor=pc532 877*22dc650dSSadaf Ebrahimi ;; 878*22dc650dSSadaf Ebrahimi pn) 879*22dc650dSSadaf Ebrahimi cpu=pn 880*22dc650dSSadaf Ebrahimi vendor=gould 881*22dc650dSSadaf Ebrahimi ;; 882*22dc650dSSadaf Ebrahimi power) 883*22dc650dSSadaf Ebrahimi cpu=power 884*22dc650dSSadaf Ebrahimi vendor=ibm 885*22dc650dSSadaf Ebrahimi ;; 886*22dc650dSSadaf Ebrahimi ps2) 887*22dc650dSSadaf Ebrahimi cpu=i386 888*22dc650dSSadaf Ebrahimi vendor=ibm 889*22dc650dSSadaf Ebrahimi ;; 890*22dc650dSSadaf Ebrahimi rm[46]00) 891*22dc650dSSadaf Ebrahimi cpu=mips 892*22dc650dSSadaf Ebrahimi vendor=siemens 893*22dc650dSSadaf Ebrahimi ;; 894*22dc650dSSadaf Ebrahimi rtpc | rtpc-*) 895*22dc650dSSadaf Ebrahimi cpu=romp 896*22dc650dSSadaf Ebrahimi vendor=ibm 897*22dc650dSSadaf Ebrahimi ;; 898*22dc650dSSadaf Ebrahimi sde) 899*22dc650dSSadaf Ebrahimi cpu=mipsisa32 900*22dc650dSSadaf Ebrahimi vendor=sde 901*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-elf} 902*22dc650dSSadaf Ebrahimi ;; 903*22dc650dSSadaf Ebrahimi simso-wrs) 904*22dc650dSSadaf Ebrahimi cpu=sparclite 905*22dc650dSSadaf Ebrahimi vendor=wrs 906*22dc650dSSadaf Ebrahimi basic_os=vxworks 907*22dc650dSSadaf Ebrahimi ;; 908*22dc650dSSadaf Ebrahimi tower | tower-32) 909*22dc650dSSadaf Ebrahimi cpu=m68k 910*22dc650dSSadaf Ebrahimi vendor=ncr 911*22dc650dSSadaf Ebrahimi ;; 912*22dc650dSSadaf Ebrahimi vpp*|vx|vx-*) 913*22dc650dSSadaf Ebrahimi cpu=f301 914*22dc650dSSadaf Ebrahimi vendor=fujitsu 915*22dc650dSSadaf Ebrahimi ;; 916*22dc650dSSadaf Ebrahimi w65) 917*22dc650dSSadaf Ebrahimi cpu=w65 918*22dc650dSSadaf Ebrahimi vendor=wdc 919*22dc650dSSadaf Ebrahimi ;; 920*22dc650dSSadaf Ebrahimi w89k-*) 921*22dc650dSSadaf Ebrahimi cpu=hppa1.1 922*22dc650dSSadaf Ebrahimi vendor=winbond 923*22dc650dSSadaf Ebrahimi basic_os=proelf 924*22dc650dSSadaf Ebrahimi ;; 925*22dc650dSSadaf Ebrahimi none) 926*22dc650dSSadaf Ebrahimi cpu=none 927*22dc650dSSadaf Ebrahimi vendor=none 928*22dc650dSSadaf Ebrahimi ;; 929*22dc650dSSadaf Ebrahimi leon|leon[3-9]) 930*22dc650dSSadaf Ebrahimi cpu=sparc 931*22dc650dSSadaf Ebrahimi vendor=$basic_machine 932*22dc650dSSadaf Ebrahimi ;; 933*22dc650dSSadaf Ebrahimi leon-*|leon[3-9]-*) 934*22dc650dSSadaf Ebrahimi cpu=sparc 935*22dc650dSSadaf Ebrahimi vendor=`echo "$basic_machine" | sed 's/-.*//'` 936*22dc650dSSadaf Ebrahimi ;; 937*22dc650dSSadaf Ebrahimi 938*22dc650dSSadaf Ebrahimi *-*) 939*22dc650dSSadaf Ebrahimi # shellcheck disable=SC2162 940*22dc650dSSadaf Ebrahimi saved_IFS=$IFS 941*22dc650dSSadaf Ebrahimi IFS="-" read cpu vendor <<EOF 942*22dc650dSSadaf Ebrahimi$basic_machine 943*22dc650dSSadaf EbrahimiEOF 944*22dc650dSSadaf Ebrahimi IFS=$saved_IFS 945*22dc650dSSadaf Ebrahimi ;; 946*22dc650dSSadaf Ebrahimi # We use `pc' rather than `unknown' 947*22dc650dSSadaf Ebrahimi # because (1) that's what they normally are, and 948*22dc650dSSadaf Ebrahimi # (2) the word "unknown" tends to confuse beginning users. 949*22dc650dSSadaf Ebrahimi i*86 | x86_64) 950*22dc650dSSadaf Ebrahimi cpu=$basic_machine 951*22dc650dSSadaf Ebrahimi vendor=pc 952*22dc650dSSadaf Ebrahimi ;; 953*22dc650dSSadaf Ebrahimi # These rules are duplicated from below for sake of the special case above; 954*22dc650dSSadaf Ebrahimi # i.e. things that normalized to x86 arches should also default to "pc" 955*22dc650dSSadaf Ebrahimi pc98) 956*22dc650dSSadaf Ebrahimi cpu=i386 957*22dc650dSSadaf Ebrahimi vendor=pc 958*22dc650dSSadaf Ebrahimi ;; 959*22dc650dSSadaf Ebrahimi x64 | amd64) 960*22dc650dSSadaf Ebrahimi cpu=x86_64 961*22dc650dSSadaf Ebrahimi vendor=pc 962*22dc650dSSadaf Ebrahimi ;; 963*22dc650dSSadaf Ebrahimi # Recognize the basic CPU types without company name. 964*22dc650dSSadaf Ebrahimi *) 965*22dc650dSSadaf Ebrahimi cpu=$basic_machine 966*22dc650dSSadaf Ebrahimi vendor=unknown 967*22dc650dSSadaf Ebrahimi ;; 968*22dc650dSSadaf Ebrahimiesac 969*22dc650dSSadaf Ebrahimi 970*22dc650dSSadaf Ebrahimiunset -v basic_machine 971*22dc650dSSadaf Ebrahimi 972*22dc650dSSadaf Ebrahimi# Decode basic machines in the full and proper CPU-Company form. 973*22dc650dSSadaf Ebrahimicase $cpu-$vendor in 974*22dc650dSSadaf Ebrahimi # Here we handle the default manufacturer of certain CPU types in canonical form. It is in 975*22dc650dSSadaf Ebrahimi # some cases the only manufacturer, in others, it is the most popular. 976*22dc650dSSadaf Ebrahimi craynv-unknown) 977*22dc650dSSadaf Ebrahimi vendor=cray 978*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-unicosmp} 979*22dc650dSSadaf Ebrahimi ;; 980*22dc650dSSadaf Ebrahimi c90-unknown | c90-cray) 981*22dc650dSSadaf Ebrahimi vendor=cray 982*22dc650dSSadaf Ebrahimi basic_os=${Basic_os:-unicos} 983*22dc650dSSadaf Ebrahimi ;; 984*22dc650dSSadaf Ebrahimi fx80-unknown) 985*22dc650dSSadaf Ebrahimi vendor=alliant 986*22dc650dSSadaf Ebrahimi ;; 987*22dc650dSSadaf Ebrahimi romp-unknown) 988*22dc650dSSadaf Ebrahimi vendor=ibm 989*22dc650dSSadaf Ebrahimi ;; 990*22dc650dSSadaf Ebrahimi mmix-unknown) 991*22dc650dSSadaf Ebrahimi vendor=knuth 992*22dc650dSSadaf Ebrahimi ;; 993*22dc650dSSadaf Ebrahimi microblaze-unknown | microblazeel-unknown) 994*22dc650dSSadaf Ebrahimi vendor=xilinx 995*22dc650dSSadaf Ebrahimi ;; 996*22dc650dSSadaf Ebrahimi rs6000-unknown) 997*22dc650dSSadaf Ebrahimi vendor=ibm 998*22dc650dSSadaf Ebrahimi ;; 999*22dc650dSSadaf Ebrahimi vax-unknown) 1000*22dc650dSSadaf Ebrahimi vendor=dec 1001*22dc650dSSadaf Ebrahimi ;; 1002*22dc650dSSadaf Ebrahimi pdp11-unknown) 1003*22dc650dSSadaf Ebrahimi vendor=dec 1004*22dc650dSSadaf Ebrahimi ;; 1005*22dc650dSSadaf Ebrahimi we32k-unknown) 1006*22dc650dSSadaf Ebrahimi vendor=att 1007*22dc650dSSadaf Ebrahimi ;; 1008*22dc650dSSadaf Ebrahimi cydra-unknown) 1009*22dc650dSSadaf Ebrahimi vendor=cydrome 1010*22dc650dSSadaf Ebrahimi ;; 1011*22dc650dSSadaf Ebrahimi i370-ibm*) 1012*22dc650dSSadaf Ebrahimi vendor=ibm 1013*22dc650dSSadaf Ebrahimi ;; 1014*22dc650dSSadaf Ebrahimi orion-unknown) 1015*22dc650dSSadaf Ebrahimi vendor=highlevel 1016*22dc650dSSadaf Ebrahimi ;; 1017*22dc650dSSadaf Ebrahimi xps-unknown | xps100-unknown) 1018*22dc650dSSadaf Ebrahimi cpu=xps100 1019*22dc650dSSadaf Ebrahimi vendor=honeywell 1020*22dc650dSSadaf Ebrahimi ;; 1021*22dc650dSSadaf Ebrahimi 1022*22dc650dSSadaf Ebrahimi # Here we normalize CPU types with a missing or matching vendor 1023*22dc650dSSadaf Ebrahimi dpx20-unknown | dpx20-bull) 1024*22dc650dSSadaf Ebrahimi cpu=rs6000 1025*22dc650dSSadaf Ebrahimi vendor=bull 1026*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-bosx} 1027*22dc650dSSadaf Ebrahimi ;; 1028*22dc650dSSadaf Ebrahimi 1029*22dc650dSSadaf Ebrahimi # Here we normalize CPU types irrespective of the vendor 1030*22dc650dSSadaf Ebrahimi amd64-*) 1031*22dc650dSSadaf Ebrahimi cpu=x86_64 1032*22dc650dSSadaf Ebrahimi ;; 1033*22dc650dSSadaf Ebrahimi blackfin-*) 1034*22dc650dSSadaf Ebrahimi cpu=bfin 1035*22dc650dSSadaf Ebrahimi basic_os=linux 1036*22dc650dSSadaf Ebrahimi ;; 1037*22dc650dSSadaf Ebrahimi c54x-*) 1038*22dc650dSSadaf Ebrahimi cpu=tic54x 1039*22dc650dSSadaf Ebrahimi ;; 1040*22dc650dSSadaf Ebrahimi c55x-*) 1041*22dc650dSSadaf Ebrahimi cpu=tic55x 1042*22dc650dSSadaf Ebrahimi ;; 1043*22dc650dSSadaf Ebrahimi c6x-*) 1044*22dc650dSSadaf Ebrahimi cpu=tic6x 1045*22dc650dSSadaf Ebrahimi ;; 1046*22dc650dSSadaf Ebrahimi e500v[12]-*) 1047*22dc650dSSadaf Ebrahimi cpu=powerpc 1048*22dc650dSSadaf Ebrahimi basic_os=${basic_os}"spe" 1049*22dc650dSSadaf Ebrahimi ;; 1050*22dc650dSSadaf Ebrahimi mips3*-*) 1051*22dc650dSSadaf Ebrahimi cpu=mips64 1052*22dc650dSSadaf Ebrahimi ;; 1053*22dc650dSSadaf Ebrahimi ms1-*) 1054*22dc650dSSadaf Ebrahimi cpu=mt 1055*22dc650dSSadaf Ebrahimi ;; 1056*22dc650dSSadaf Ebrahimi m68knommu-*) 1057*22dc650dSSadaf Ebrahimi cpu=m68k 1058*22dc650dSSadaf Ebrahimi basic_os=linux 1059*22dc650dSSadaf Ebrahimi ;; 1060*22dc650dSSadaf Ebrahimi m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 1061*22dc650dSSadaf Ebrahimi cpu=s12z 1062*22dc650dSSadaf Ebrahimi ;; 1063*22dc650dSSadaf Ebrahimi openrisc-*) 1064*22dc650dSSadaf Ebrahimi cpu=or32 1065*22dc650dSSadaf Ebrahimi ;; 1066*22dc650dSSadaf Ebrahimi parisc-*) 1067*22dc650dSSadaf Ebrahimi cpu=hppa 1068*22dc650dSSadaf Ebrahimi basic_os=linux 1069*22dc650dSSadaf Ebrahimi ;; 1070*22dc650dSSadaf Ebrahimi pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1071*22dc650dSSadaf Ebrahimi cpu=i586 1072*22dc650dSSadaf Ebrahimi ;; 1073*22dc650dSSadaf Ebrahimi pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) 1074*22dc650dSSadaf Ebrahimi cpu=i686 1075*22dc650dSSadaf Ebrahimi ;; 1076*22dc650dSSadaf Ebrahimi pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1077*22dc650dSSadaf Ebrahimi cpu=i686 1078*22dc650dSSadaf Ebrahimi ;; 1079*22dc650dSSadaf Ebrahimi pentium4-*) 1080*22dc650dSSadaf Ebrahimi cpu=i786 1081*22dc650dSSadaf Ebrahimi ;; 1082*22dc650dSSadaf Ebrahimi pc98-*) 1083*22dc650dSSadaf Ebrahimi cpu=i386 1084*22dc650dSSadaf Ebrahimi ;; 1085*22dc650dSSadaf Ebrahimi ppc-* | ppcbe-*) 1086*22dc650dSSadaf Ebrahimi cpu=powerpc 1087*22dc650dSSadaf Ebrahimi ;; 1088*22dc650dSSadaf Ebrahimi ppcle-* | powerpclittle-*) 1089*22dc650dSSadaf Ebrahimi cpu=powerpcle 1090*22dc650dSSadaf Ebrahimi ;; 1091*22dc650dSSadaf Ebrahimi ppc64-*) 1092*22dc650dSSadaf Ebrahimi cpu=powerpc64 1093*22dc650dSSadaf Ebrahimi ;; 1094*22dc650dSSadaf Ebrahimi ppc64le-* | powerpc64little-*) 1095*22dc650dSSadaf Ebrahimi cpu=powerpc64le 1096*22dc650dSSadaf Ebrahimi ;; 1097*22dc650dSSadaf Ebrahimi sb1-*) 1098*22dc650dSSadaf Ebrahimi cpu=mipsisa64sb1 1099*22dc650dSSadaf Ebrahimi ;; 1100*22dc650dSSadaf Ebrahimi sb1el-*) 1101*22dc650dSSadaf Ebrahimi cpu=mipsisa64sb1el 1102*22dc650dSSadaf Ebrahimi ;; 1103*22dc650dSSadaf Ebrahimi sh5e[lb]-*) 1104*22dc650dSSadaf Ebrahimi cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` 1105*22dc650dSSadaf Ebrahimi ;; 1106*22dc650dSSadaf Ebrahimi spur-*) 1107*22dc650dSSadaf Ebrahimi cpu=spur 1108*22dc650dSSadaf Ebrahimi ;; 1109*22dc650dSSadaf Ebrahimi strongarm-* | thumb-*) 1110*22dc650dSSadaf Ebrahimi cpu=arm 1111*22dc650dSSadaf Ebrahimi ;; 1112*22dc650dSSadaf Ebrahimi tx39-*) 1113*22dc650dSSadaf Ebrahimi cpu=mipstx39 1114*22dc650dSSadaf Ebrahimi ;; 1115*22dc650dSSadaf Ebrahimi tx39el-*) 1116*22dc650dSSadaf Ebrahimi cpu=mipstx39el 1117*22dc650dSSadaf Ebrahimi ;; 1118*22dc650dSSadaf Ebrahimi x64-*) 1119*22dc650dSSadaf Ebrahimi cpu=x86_64 1120*22dc650dSSadaf Ebrahimi ;; 1121*22dc650dSSadaf Ebrahimi xscale-* | xscalee[bl]-*) 1122*22dc650dSSadaf Ebrahimi cpu=`echo "$cpu" | sed 's/^xscale/arm/'` 1123*22dc650dSSadaf Ebrahimi ;; 1124*22dc650dSSadaf Ebrahimi arm64-*) 1125*22dc650dSSadaf Ebrahimi cpu=aarch64 1126*22dc650dSSadaf Ebrahimi ;; 1127*22dc650dSSadaf Ebrahimi 1128*22dc650dSSadaf Ebrahimi # Recognize the canonical CPU Types that limit and/or modify the 1129*22dc650dSSadaf Ebrahimi # company names they are paired with. 1130*22dc650dSSadaf Ebrahimi cr16-*) 1131*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-elf} 1132*22dc650dSSadaf Ebrahimi ;; 1133*22dc650dSSadaf Ebrahimi crisv32-* | etraxfs*-*) 1134*22dc650dSSadaf Ebrahimi cpu=crisv32 1135*22dc650dSSadaf Ebrahimi vendor=axis 1136*22dc650dSSadaf Ebrahimi ;; 1137*22dc650dSSadaf Ebrahimi cris-* | etrax*-*) 1138*22dc650dSSadaf Ebrahimi cpu=cris 1139*22dc650dSSadaf Ebrahimi vendor=axis 1140*22dc650dSSadaf Ebrahimi ;; 1141*22dc650dSSadaf Ebrahimi crx-*) 1142*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-elf} 1143*22dc650dSSadaf Ebrahimi ;; 1144*22dc650dSSadaf Ebrahimi neo-tandem) 1145*22dc650dSSadaf Ebrahimi cpu=neo 1146*22dc650dSSadaf Ebrahimi vendor=tandem 1147*22dc650dSSadaf Ebrahimi ;; 1148*22dc650dSSadaf Ebrahimi nse-tandem) 1149*22dc650dSSadaf Ebrahimi cpu=nse 1150*22dc650dSSadaf Ebrahimi vendor=tandem 1151*22dc650dSSadaf Ebrahimi ;; 1152*22dc650dSSadaf Ebrahimi nsr-tandem) 1153*22dc650dSSadaf Ebrahimi cpu=nsr 1154*22dc650dSSadaf Ebrahimi vendor=tandem 1155*22dc650dSSadaf Ebrahimi ;; 1156*22dc650dSSadaf Ebrahimi nsv-tandem) 1157*22dc650dSSadaf Ebrahimi cpu=nsv 1158*22dc650dSSadaf Ebrahimi vendor=tandem 1159*22dc650dSSadaf Ebrahimi ;; 1160*22dc650dSSadaf Ebrahimi nsx-tandem) 1161*22dc650dSSadaf Ebrahimi cpu=nsx 1162*22dc650dSSadaf Ebrahimi vendor=tandem 1163*22dc650dSSadaf Ebrahimi ;; 1164*22dc650dSSadaf Ebrahimi mipsallegrexel-sony) 1165*22dc650dSSadaf Ebrahimi cpu=mipsallegrexel 1166*22dc650dSSadaf Ebrahimi vendor=sony 1167*22dc650dSSadaf Ebrahimi ;; 1168*22dc650dSSadaf Ebrahimi tile*-*) 1169*22dc650dSSadaf Ebrahimi basic_os=${basic_os:-linux-gnu} 1170*22dc650dSSadaf Ebrahimi ;; 1171*22dc650dSSadaf Ebrahimi 1172*22dc650dSSadaf Ebrahimi *) 1173*22dc650dSSadaf Ebrahimi # Recognize the canonical CPU types that are allowed with any 1174*22dc650dSSadaf Ebrahimi # company name. 1175*22dc650dSSadaf Ebrahimi case $cpu in 1176*22dc650dSSadaf Ebrahimi 1750a | 580 \ 1177*22dc650dSSadaf Ebrahimi | a29k \ 1178*22dc650dSSadaf Ebrahimi | aarch64 | aarch64_be \ 1179*22dc650dSSadaf Ebrahimi | abacus \ 1180*22dc650dSSadaf Ebrahimi | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ 1181*22dc650dSSadaf Ebrahimi | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ 1182*22dc650dSSadaf Ebrahimi | alphapca5[67] | alpha64pca5[67] \ 1183*22dc650dSSadaf Ebrahimi | am33_2.0 \ 1184*22dc650dSSadaf Ebrahimi | amdgcn \ 1185*22dc650dSSadaf Ebrahimi | arc | arceb | arc32 | arc64 \ 1186*22dc650dSSadaf Ebrahimi | arm | arm[lb]e | arme[lb] | armv* \ 1187*22dc650dSSadaf Ebrahimi | avr | avr32 \ 1188*22dc650dSSadaf Ebrahimi | asmjs \ 1189*22dc650dSSadaf Ebrahimi | ba \ 1190*22dc650dSSadaf Ebrahimi | be32 | be64 \ 1191*22dc650dSSadaf Ebrahimi | bfin | bpf | bs2000 \ 1192*22dc650dSSadaf Ebrahimi | c[123]* | c30 | [cjt]90 | c4x \ 1193*22dc650dSSadaf Ebrahimi | c8051 | clipper | craynv | csky | cydra \ 1194*22dc650dSSadaf Ebrahimi | d10v | d30v | dlx | dsp16xx \ 1195*22dc650dSSadaf Ebrahimi | e2k | elxsi | epiphany \ 1196*22dc650dSSadaf Ebrahimi | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ 1197*22dc650dSSadaf Ebrahimi | h8300 | h8500 \ 1198*22dc650dSSadaf Ebrahimi | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 1199*22dc650dSSadaf Ebrahimi | hexagon \ 1200*22dc650dSSadaf Ebrahimi | i370 | i*86 | i860 | i960 | ia16 | ia64 \ 1201*22dc650dSSadaf Ebrahimi | ip2k | iq2000 \ 1202*22dc650dSSadaf Ebrahimi | k1om \ 1203*22dc650dSSadaf Ebrahimi | le32 | le64 \ 1204*22dc650dSSadaf Ebrahimi | lm32 \ 1205*22dc650dSSadaf Ebrahimi | loongarch32 | loongarch64 | loongarchx32 \ 1206*22dc650dSSadaf Ebrahimi | m32c | m32r | m32rle \ 1207*22dc650dSSadaf Ebrahimi | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k \ 1208*22dc650dSSadaf Ebrahimi | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x \ 1209*22dc650dSSadaf Ebrahimi | m88110 | m88k | maxq | mb | mcore | mep | metag \ 1210*22dc650dSSadaf Ebrahimi | microblaze | microblazeel \ 1211*22dc650dSSadaf Ebrahimi | mips | mipsbe | mipseb | mipsel | mipsle \ 1212*22dc650dSSadaf Ebrahimi | mips16 \ 1213*22dc650dSSadaf Ebrahimi | mips64 | mips64eb | mips64el \ 1214*22dc650dSSadaf Ebrahimi | mips64octeon | mips64octeonel \ 1215*22dc650dSSadaf Ebrahimi | mips64orion | mips64orionel \ 1216*22dc650dSSadaf Ebrahimi | mips64r5900 | mips64r5900el \ 1217*22dc650dSSadaf Ebrahimi | mips64vr | mips64vrel \ 1218*22dc650dSSadaf Ebrahimi | mips64vr4100 | mips64vr4100el \ 1219*22dc650dSSadaf Ebrahimi | mips64vr4300 | mips64vr4300el \ 1220*22dc650dSSadaf Ebrahimi | mips64vr5000 | mips64vr5000el \ 1221*22dc650dSSadaf Ebrahimi | mips64vr5900 | mips64vr5900el \ 1222*22dc650dSSadaf Ebrahimi | mipsisa32 | mipsisa32el \ 1223*22dc650dSSadaf Ebrahimi | mipsisa32r2 | mipsisa32r2el \ 1224*22dc650dSSadaf Ebrahimi | mipsisa32r3 | mipsisa32r3el \ 1225*22dc650dSSadaf Ebrahimi | mipsisa32r5 | mipsisa32r5el \ 1226*22dc650dSSadaf Ebrahimi | mipsisa32r6 | mipsisa32r6el \ 1227*22dc650dSSadaf Ebrahimi | mipsisa64 | mipsisa64el \ 1228*22dc650dSSadaf Ebrahimi | mipsisa64r2 | mipsisa64r2el \ 1229*22dc650dSSadaf Ebrahimi | mipsisa64r3 | mipsisa64r3el \ 1230*22dc650dSSadaf Ebrahimi | mipsisa64r5 | mipsisa64r5el \ 1231*22dc650dSSadaf Ebrahimi | mipsisa64r6 | mipsisa64r6el \ 1232*22dc650dSSadaf Ebrahimi | mipsisa64sb1 | mipsisa64sb1el \ 1233*22dc650dSSadaf Ebrahimi | mipsisa64sr71k | mipsisa64sr71kel \ 1234*22dc650dSSadaf Ebrahimi | mipsr5900 | mipsr5900el \ 1235*22dc650dSSadaf Ebrahimi | mipstx39 | mipstx39el \ 1236*22dc650dSSadaf Ebrahimi | mmix \ 1237*22dc650dSSadaf Ebrahimi | mn10200 | mn10300 \ 1238*22dc650dSSadaf Ebrahimi | moxie \ 1239*22dc650dSSadaf Ebrahimi | mt \ 1240*22dc650dSSadaf Ebrahimi | msp430 \ 1241*22dc650dSSadaf Ebrahimi | nds32 | nds32le | nds32be \ 1242*22dc650dSSadaf Ebrahimi | nfp \ 1243*22dc650dSSadaf Ebrahimi | nios | nios2 | nios2eb | nios2el \ 1244*22dc650dSSadaf Ebrahimi | none | np1 | ns16k | ns32k | nvptx \ 1245*22dc650dSSadaf Ebrahimi | open8 \ 1246*22dc650dSSadaf Ebrahimi | or1k* \ 1247*22dc650dSSadaf Ebrahimi | or32 \ 1248*22dc650dSSadaf Ebrahimi | orion \ 1249*22dc650dSSadaf Ebrahimi | picochip \ 1250*22dc650dSSadaf Ebrahimi | pdp10 | pdp11 | pj | pjl | pn | power \ 1251*22dc650dSSadaf Ebrahimi | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ 1252*22dc650dSSadaf Ebrahimi | pru \ 1253*22dc650dSSadaf Ebrahimi | pyramid \ 1254*22dc650dSSadaf Ebrahimi | riscv | riscv32 | riscv32be | riscv64 | riscv64be \ 1255*22dc650dSSadaf Ebrahimi | rl78 | romp | rs6000 | rx \ 1256*22dc650dSSadaf Ebrahimi | s390 | s390x \ 1257*22dc650dSSadaf Ebrahimi | score \ 1258*22dc650dSSadaf Ebrahimi | sh | shl \ 1259*22dc650dSSadaf Ebrahimi | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ 1260*22dc650dSSadaf Ebrahimi | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ 1261*22dc650dSSadaf Ebrahimi | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ 1262*22dc650dSSadaf Ebrahimi | sparclite \ 1263*22dc650dSSadaf Ebrahimi | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ 1264*22dc650dSSadaf Ebrahimi | spu \ 1265*22dc650dSSadaf Ebrahimi | tahoe \ 1266*22dc650dSSadaf Ebrahimi | thumbv7* \ 1267*22dc650dSSadaf Ebrahimi | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ 1268*22dc650dSSadaf Ebrahimi | tron \ 1269*22dc650dSSadaf Ebrahimi | ubicom32 \ 1270*22dc650dSSadaf Ebrahimi | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ 1271*22dc650dSSadaf Ebrahimi | vax \ 1272*22dc650dSSadaf Ebrahimi | visium \ 1273*22dc650dSSadaf Ebrahimi | w65 \ 1274*22dc650dSSadaf Ebrahimi | wasm32 | wasm64 \ 1275*22dc650dSSadaf Ebrahimi | we32k \ 1276*22dc650dSSadaf Ebrahimi | x86 | x86_64 | xc16x | xgate | xps100 \ 1277*22dc650dSSadaf Ebrahimi | xstormy16 | xtensa* \ 1278*22dc650dSSadaf Ebrahimi | ymp \ 1279*22dc650dSSadaf Ebrahimi | z8k | z80) 1280*22dc650dSSadaf Ebrahimi ;; 1281*22dc650dSSadaf Ebrahimi 1282*22dc650dSSadaf Ebrahimi *) 1283*22dc650dSSadaf Ebrahimi echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 1284*22dc650dSSadaf Ebrahimi exit 1 1285*22dc650dSSadaf Ebrahimi ;; 1286*22dc650dSSadaf Ebrahimi esac 1287*22dc650dSSadaf Ebrahimi ;; 1288*22dc650dSSadaf Ebrahimiesac 1289*22dc650dSSadaf Ebrahimi 1290*22dc650dSSadaf Ebrahimi# Here we canonicalize certain aliases for manufacturers. 1291*22dc650dSSadaf Ebrahimicase $vendor in 1292*22dc650dSSadaf Ebrahimi digital*) 1293*22dc650dSSadaf Ebrahimi vendor=dec 1294*22dc650dSSadaf Ebrahimi ;; 1295*22dc650dSSadaf Ebrahimi commodore*) 1296*22dc650dSSadaf Ebrahimi vendor=cbm 1297*22dc650dSSadaf Ebrahimi ;; 1298*22dc650dSSadaf Ebrahimi *) 1299*22dc650dSSadaf Ebrahimi ;; 1300*22dc650dSSadaf Ebrahimiesac 1301*22dc650dSSadaf Ebrahimi 1302*22dc650dSSadaf Ebrahimi# Decode manufacturer-specific aliases for certain operating systems. 1303*22dc650dSSadaf Ebrahimi 1304*22dc650dSSadaf Ebrahimiif test x$basic_os != x 1305*22dc650dSSadaf Ebrahimithen 1306*22dc650dSSadaf Ebrahimi 1307*22dc650dSSadaf Ebrahimi# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just 1308*22dc650dSSadaf Ebrahimi# set os. 1309*22dc650dSSadaf Ebrahimicase $basic_os in 1310*22dc650dSSadaf Ebrahimi gnu/linux*) 1311*22dc650dSSadaf Ebrahimi kernel=linux 1312*22dc650dSSadaf Ebrahimi os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` 1313*22dc650dSSadaf Ebrahimi ;; 1314*22dc650dSSadaf Ebrahimi os2-emx) 1315*22dc650dSSadaf Ebrahimi kernel=os2 1316*22dc650dSSadaf Ebrahimi os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` 1317*22dc650dSSadaf Ebrahimi ;; 1318*22dc650dSSadaf Ebrahimi nto-qnx*) 1319*22dc650dSSadaf Ebrahimi kernel=nto 1320*22dc650dSSadaf Ebrahimi os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` 1321*22dc650dSSadaf Ebrahimi ;; 1322*22dc650dSSadaf Ebrahimi *-*) 1323*22dc650dSSadaf Ebrahimi # shellcheck disable=SC2162 1324*22dc650dSSadaf Ebrahimi saved_IFS=$IFS 1325*22dc650dSSadaf Ebrahimi IFS="-" read kernel os <<EOF 1326*22dc650dSSadaf Ebrahimi$basic_os 1327*22dc650dSSadaf EbrahimiEOF 1328*22dc650dSSadaf Ebrahimi IFS=$saved_IFS 1329*22dc650dSSadaf Ebrahimi ;; 1330*22dc650dSSadaf Ebrahimi # Default OS when just kernel was specified 1331*22dc650dSSadaf Ebrahimi nto*) 1332*22dc650dSSadaf Ebrahimi kernel=nto 1333*22dc650dSSadaf Ebrahimi os=`echo "$basic_os" | sed -e 's|nto|qnx|'` 1334*22dc650dSSadaf Ebrahimi ;; 1335*22dc650dSSadaf Ebrahimi linux*) 1336*22dc650dSSadaf Ebrahimi kernel=linux 1337*22dc650dSSadaf Ebrahimi os=`echo "$basic_os" | sed -e 's|linux|gnu|'` 1338*22dc650dSSadaf Ebrahimi ;; 1339*22dc650dSSadaf Ebrahimi *) 1340*22dc650dSSadaf Ebrahimi kernel= 1341*22dc650dSSadaf Ebrahimi os=$basic_os 1342*22dc650dSSadaf Ebrahimi ;; 1343*22dc650dSSadaf Ebrahimiesac 1344*22dc650dSSadaf Ebrahimi 1345*22dc650dSSadaf Ebrahimi# Now, normalize the OS (knowing we just have one component, it's not a kernel, 1346*22dc650dSSadaf Ebrahimi# etc.) 1347*22dc650dSSadaf Ebrahimicase $os in 1348*22dc650dSSadaf Ebrahimi # First match some system type aliases that might get confused 1349*22dc650dSSadaf Ebrahimi # with valid system types. 1350*22dc650dSSadaf Ebrahimi # solaris* is a basic system type, with this one exception. 1351*22dc650dSSadaf Ebrahimi auroraux) 1352*22dc650dSSadaf Ebrahimi os=auroraux 1353*22dc650dSSadaf Ebrahimi ;; 1354*22dc650dSSadaf Ebrahimi bluegene*) 1355*22dc650dSSadaf Ebrahimi os=cnk 1356*22dc650dSSadaf Ebrahimi ;; 1357*22dc650dSSadaf Ebrahimi solaris1 | solaris1.*) 1358*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's|solaris1|sunos4|'` 1359*22dc650dSSadaf Ebrahimi ;; 1360*22dc650dSSadaf Ebrahimi solaris) 1361*22dc650dSSadaf Ebrahimi os=solaris2 1362*22dc650dSSadaf Ebrahimi ;; 1363*22dc650dSSadaf Ebrahimi unixware*) 1364*22dc650dSSadaf Ebrahimi os=sysv4.2uw 1365*22dc650dSSadaf Ebrahimi ;; 1366*22dc650dSSadaf Ebrahimi # es1800 is here to avoid being matched by es* (a different OS) 1367*22dc650dSSadaf Ebrahimi es1800*) 1368*22dc650dSSadaf Ebrahimi os=ose 1369*22dc650dSSadaf Ebrahimi ;; 1370*22dc650dSSadaf Ebrahimi # Some version numbers need modification 1371*22dc650dSSadaf Ebrahimi chorusos*) 1372*22dc650dSSadaf Ebrahimi os=chorusos 1373*22dc650dSSadaf Ebrahimi ;; 1374*22dc650dSSadaf Ebrahimi isc) 1375*22dc650dSSadaf Ebrahimi os=isc2.2 1376*22dc650dSSadaf Ebrahimi ;; 1377*22dc650dSSadaf Ebrahimi sco6) 1378*22dc650dSSadaf Ebrahimi os=sco5v6 1379*22dc650dSSadaf Ebrahimi ;; 1380*22dc650dSSadaf Ebrahimi sco5) 1381*22dc650dSSadaf Ebrahimi os=sco3.2v5 1382*22dc650dSSadaf Ebrahimi ;; 1383*22dc650dSSadaf Ebrahimi sco4) 1384*22dc650dSSadaf Ebrahimi os=sco3.2v4 1385*22dc650dSSadaf Ebrahimi ;; 1386*22dc650dSSadaf Ebrahimi sco3.2.[4-9]*) 1387*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's/sco3.2./sco3.2v/'` 1388*22dc650dSSadaf Ebrahimi ;; 1389*22dc650dSSadaf Ebrahimi sco*v* | scout) 1390*22dc650dSSadaf Ebrahimi # Don't match below 1391*22dc650dSSadaf Ebrahimi ;; 1392*22dc650dSSadaf Ebrahimi sco*) 1393*22dc650dSSadaf Ebrahimi os=sco3.2v2 1394*22dc650dSSadaf Ebrahimi ;; 1395*22dc650dSSadaf Ebrahimi psos*) 1396*22dc650dSSadaf Ebrahimi os=psos 1397*22dc650dSSadaf Ebrahimi ;; 1398*22dc650dSSadaf Ebrahimi qnx*) 1399*22dc650dSSadaf Ebrahimi os=qnx 1400*22dc650dSSadaf Ebrahimi ;; 1401*22dc650dSSadaf Ebrahimi hiux*) 1402*22dc650dSSadaf Ebrahimi os=hiuxwe2 1403*22dc650dSSadaf Ebrahimi ;; 1404*22dc650dSSadaf Ebrahimi lynx*178) 1405*22dc650dSSadaf Ebrahimi os=lynxos178 1406*22dc650dSSadaf Ebrahimi ;; 1407*22dc650dSSadaf Ebrahimi lynx*5) 1408*22dc650dSSadaf Ebrahimi os=lynxos5 1409*22dc650dSSadaf Ebrahimi ;; 1410*22dc650dSSadaf Ebrahimi lynxos*) 1411*22dc650dSSadaf Ebrahimi # don't get caught up in next wildcard 1412*22dc650dSSadaf Ebrahimi ;; 1413*22dc650dSSadaf Ebrahimi lynx*) 1414*22dc650dSSadaf Ebrahimi os=lynxos 1415*22dc650dSSadaf Ebrahimi ;; 1416*22dc650dSSadaf Ebrahimi mac[0-9]*) 1417*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's|mac|macos|'` 1418*22dc650dSSadaf Ebrahimi ;; 1419*22dc650dSSadaf Ebrahimi opened*) 1420*22dc650dSSadaf Ebrahimi os=openedition 1421*22dc650dSSadaf Ebrahimi ;; 1422*22dc650dSSadaf Ebrahimi os400*) 1423*22dc650dSSadaf Ebrahimi os=os400 1424*22dc650dSSadaf Ebrahimi ;; 1425*22dc650dSSadaf Ebrahimi sunos5*) 1426*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1427*22dc650dSSadaf Ebrahimi ;; 1428*22dc650dSSadaf Ebrahimi sunos6*) 1429*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1430*22dc650dSSadaf Ebrahimi ;; 1431*22dc650dSSadaf Ebrahimi wince*) 1432*22dc650dSSadaf Ebrahimi os=wince 1433*22dc650dSSadaf Ebrahimi ;; 1434*22dc650dSSadaf Ebrahimi utek*) 1435*22dc650dSSadaf Ebrahimi os=bsd 1436*22dc650dSSadaf Ebrahimi ;; 1437*22dc650dSSadaf Ebrahimi dynix*) 1438*22dc650dSSadaf Ebrahimi os=bsd 1439*22dc650dSSadaf Ebrahimi ;; 1440*22dc650dSSadaf Ebrahimi acis*) 1441*22dc650dSSadaf Ebrahimi os=aos 1442*22dc650dSSadaf Ebrahimi ;; 1443*22dc650dSSadaf Ebrahimi atheos*) 1444*22dc650dSSadaf Ebrahimi os=atheos 1445*22dc650dSSadaf Ebrahimi ;; 1446*22dc650dSSadaf Ebrahimi syllable*) 1447*22dc650dSSadaf Ebrahimi os=syllable 1448*22dc650dSSadaf Ebrahimi ;; 1449*22dc650dSSadaf Ebrahimi 386bsd) 1450*22dc650dSSadaf Ebrahimi os=bsd 1451*22dc650dSSadaf Ebrahimi ;; 1452*22dc650dSSadaf Ebrahimi ctix* | uts*) 1453*22dc650dSSadaf Ebrahimi os=sysv 1454*22dc650dSSadaf Ebrahimi ;; 1455*22dc650dSSadaf Ebrahimi nova*) 1456*22dc650dSSadaf Ebrahimi os=rtmk-nova 1457*22dc650dSSadaf Ebrahimi ;; 1458*22dc650dSSadaf Ebrahimi ns2) 1459*22dc650dSSadaf Ebrahimi os=nextstep2 1460*22dc650dSSadaf Ebrahimi ;; 1461*22dc650dSSadaf Ebrahimi # Preserve the version number of sinix5. 1462*22dc650dSSadaf Ebrahimi sinix5.*) 1463*22dc650dSSadaf Ebrahimi os=`echo "$os" | sed -e 's|sinix|sysv|'` 1464*22dc650dSSadaf Ebrahimi ;; 1465*22dc650dSSadaf Ebrahimi sinix*) 1466*22dc650dSSadaf Ebrahimi os=sysv4 1467*22dc650dSSadaf Ebrahimi ;; 1468*22dc650dSSadaf Ebrahimi tpf*) 1469*22dc650dSSadaf Ebrahimi os=tpf 1470*22dc650dSSadaf Ebrahimi ;; 1471*22dc650dSSadaf Ebrahimi triton*) 1472*22dc650dSSadaf Ebrahimi os=sysv3 1473*22dc650dSSadaf Ebrahimi ;; 1474*22dc650dSSadaf Ebrahimi oss*) 1475*22dc650dSSadaf Ebrahimi os=sysv3 1476*22dc650dSSadaf Ebrahimi ;; 1477*22dc650dSSadaf Ebrahimi svr4*) 1478*22dc650dSSadaf Ebrahimi os=sysv4 1479*22dc650dSSadaf Ebrahimi ;; 1480*22dc650dSSadaf Ebrahimi svr3) 1481*22dc650dSSadaf Ebrahimi os=sysv3 1482*22dc650dSSadaf Ebrahimi ;; 1483*22dc650dSSadaf Ebrahimi sysvr4) 1484*22dc650dSSadaf Ebrahimi os=sysv4 1485*22dc650dSSadaf Ebrahimi ;; 1486*22dc650dSSadaf Ebrahimi ose*) 1487*22dc650dSSadaf Ebrahimi os=ose 1488*22dc650dSSadaf Ebrahimi ;; 1489*22dc650dSSadaf Ebrahimi *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1490*22dc650dSSadaf Ebrahimi os=mint 1491*22dc650dSSadaf Ebrahimi ;; 1492*22dc650dSSadaf Ebrahimi dicos*) 1493*22dc650dSSadaf Ebrahimi os=dicos 1494*22dc650dSSadaf Ebrahimi ;; 1495*22dc650dSSadaf Ebrahimi pikeos*) 1496*22dc650dSSadaf Ebrahimi # Until real need of OS specific support for 1497*22dc650dSSadaf Ebrahimi # particular features comes up, bare metal 1498*22dc650dSSadaf Ebrahimi # configurations are quite functional. 1499*22dc650dSSadaf Ebrahimi case $cpu in 1500*22dc650dSSadaf Ebrahimi arm*) 1501*22dc650dSSadaf Ebrahimi os=eabi 1502*22dc650dSSadaf Ebrahimi ;; 1503*22dc650dSSadaf Ebrahimi *) 1504*22dc650dSSadaf Ebrahimi os=elf 1505*22dc650dSSadaf Ebrahimi ;; 1506*22dc650dSSadaf Ebrahimi esac 1507*22dc650dSSadaf Ebrahimi ;; 1508*22dc650dSSadaf Ebrahimi *) 1509*22dc650dSSadaf Ebrahimi # No normalization, but not necessarily accepted, that comes below. 1510*22dc650dSSadaf Ebrahimi ;; 1511*22dc650dSSadaf Ebrahimiesac 1512*22dc650dSSadaf Ebrahimi 1513*22dc650dSSadaf Ebrahimielse 1514*22dc650dSSadaf Ebrahimi 1515*22dc650dSSadaf Ebrahimi# Here we handle the default operating systems that come with various machines. 1516*22dc650dSSadaf Ebrahimi# The value should be what the vendor currently ships out the door with their 1517*22dc650dSSadaf Ebrahimi# machine or put another way, the most popular os provided with the machine. 1518*22dc650dSSadaf Ebrahimi 1519*22dc650dSSadaf Ebrahimi# Note that if you're going to try to match "-MANUFACTURER" here (say, 1520*22dc650dSSadaf Ebrahimi# "-sun"), then you have to tell the case statement up towards the top 1521*22dc650dSSadaf Ebrahimi# that MANUFACTURER isn't an operating system. Otherwise, code above 1522*22dc650dSSadaf Ebrahimi# will signal an error saying that MANUFACTURER isn't an operating 1523*22dc650dSSadaf Ebrahimi# system, and we'll never get to this point. 1524*22dc650dSSadaf Ebrahimi 1525*22dc650dSSadaf Ebrahimikernel= 1526*22dc650dSSadaf Ebrahimicase $cpu-$vendor in 1527*22dc650dSSadaf Ebrahimi score-*) 1528*22dc650dSSadaf Ebrahimi os=elf 1529*22dc650dSSadaf Ebrahimi ;; 1530*22dc650dSSadaf Ebrahimi spu-*) 1531*22dc650dSSadaf Ebrahimi os=elf 1532*22dc650dSSadaf Ebrahimi ;; 1533*22dc650dSSadaf Ebrahimi *-acorn) 1534*22dc650dSSadaf Ebrahimi os=riscix1.2 1535*22dc650dSSadaf Ebrahimi ;; 1536*22dc650dSSadaf Ebrahimi arm*-rebel) 1537*22dc650dSSadaf Ebrahimi kernel=linux 1538*22dc650dSSadaf Ebrahimi os=gnu 1539*22dc650dSSadaf Ebrahimi ;; 1540*22dc650dSSadaf Ebrahimi arm*-semi) 1541*22dc650dSSadaf Ebrahimi os=aout 1542*22dc650dSSadaf Ebrahimi ;; 1543*22dc650dSSadaf Ebrahimi c4x-* | tic4x-*) 1544*22dc650dSSadaf Ebrahimi os=coff 1545*22dc650dSSadaf Ebrahimi ;; 1546*22dc650dSSadaf Ebrahimi c8051-*) 1547*22dc650dSSadaf Ebrahimi os=elf 1548*22dc650dSSadaf Ebrahimi ;; 1549*22dc650dSSadaf Ebrahimi clipper-intergraph) 1550*22dc650dSSadaf Ebrahimi os=clix 1551*22dc650dSSadaf Ebrahimi ;; 1552*22dc650dSSadaf Ebrahimi hexagon-*) 1553*22dc650dSSadaf Ebrahimi os=elf 1554*22dc650dSSadaf Ebrahimi ;; 1555*22dc650dSSadaf Ebrahimi tic54x-*) 1556*22dc650dSSadaf Ebrahimi os=coff 1557*22dc650dSSadaf Ebrahimi ;; 1558*22dc650dSSadaf Ebrahimi tic55x-*) 1559*22dc650dSSadaf Ebrahimi os=coff 1560*22dc650dSSadaf Ebrahimi ;; 1561*22dc650dSSadaf Ebrahimi tic6x-*) 1562*22dc650dSSadaf Ebrahimi os=coff 1563*22dc650dSSadaf Ebrahimi ;; 1564*22dc650dSSadaf Ebrahimi # This must come before the *-dec entry. 1565*22dc650dSSadaf Ebrahimi pdp10-*) 1566*22dc650dSSadaf Ebrahimi os=tops20 1567*22dc650dSSadaf Ebrahimi ;; 1568*22dc650dSSadaf Ebrahimi pdp11-*) 1569*22dc650dSSadaf Ebrahimi os=none 1570*22dc650dSSadaf Ebrahimi ;; 1571*22dc650dSSadaf Ebrahimi *-dec | vax-*) 1572*22dc650dSSadaf Ebrahimi os=ultrix4.2 1573*22dc650dSSadaf Ebrahimi ;; 1574*22dc650dSSadaf Ebrahimi m68*-apollo) 1575*22dc650dSSadaf Ebrahimi os=domain 1576*22dc650dSSadaf Ebrahimi ;; 1577*22dc650dSSadaf Ebrahimi i386-sun) 1578*22dc650dSSadaf Ebrahimi os=sunos4.0.2 1579*22dc650dSSadaf Ebrahimi ;; 1580*22dc650dSSadaf Ebrahimi m68000-sun) 1581*22dc650dSSadaf Ebrahimi os=sunos3 1582*22dc650dSSadaf Ebrahimi ;; 1583*22dc650dSSadaf Ebrahimi m68*-cisco) 1584*22dc650dSSadaf Ebrahimi os=aout 1585*22dc650dSSadaf Ebrahimi ;; 1586*22dc650dSSadaf Ebrahimi mep-*) 1587*22dc650dSSadaf Ebrahimi os=elf 1588*22dc650dSSadaf Ebrahimi ;; 1589*22dc650dSSadaf Ebrahimi mips*-cisco) 1590*22dc650dSSadaf Ebrahimi os=elf 1591*22dc650dSSadaf Ebrahimi ;; 1592*22dc650dSSadaf Ebrahimi mips*-*) 1593*22dc650dSSadaf Ebrahimi os=elf 1594*22dc650dSSadaf Ebrahimi ;; 1595*22dc650dSSadaf Ebrahimi or32-*) 1596*22dc650dSSadaf Ebrahimi os=coff 1597*22dc650dSSadaf Ebrahimi ;; 1598*22dc650dSSadaf Ebrahimi *-tti) # must be before sparc entry or we get the wrong os. 1599*22dc650dSSadaf Ebrahimi os=sysv3 1600*22dc650dSSadaf Ebrahimi ;; 1601*22dc650dSSadaf Ebrahimi sparc-* | *-sun) 1602*22dc650dSSadaf Ebrahimi os=sunos4.1.1 1603*22dc650dSSadaf Ebrahimi ;; 1604*22dc650dSSadaf Ebrahimi pru-*) 1605*22dc650dSSadaf Ebrahimi os=elf 1606*22dc650dSSadaf Ebrahimi ;; 1607*22dc650dSSadaf Ebrahimi *-be) 1608*22dc650dSSadaf Ebrahimi os=beos 1609*22dc650dSSadaf Ebrahimi ;; 1610*22dc650dSSadaf Ebrahimi *-ibm) 1611*22dc650dSSadaf Ebrahimi os=aix 1612*22dc650dSSadaf Ebrahimi ;; 1613*22dc650dSSadaf Ebrahimi *-knuth) 1614*22dc650dSSadaf Ebrahimi os=mmixware 1615*22dc650dSSadaf Ebrahimi ;; 1616*22dc650dSSadaf Ebrahimi *-wec) 1617*22dc650dSSadaf Ebrahimi os=proelf 1618*22dc650dSSadaf Ebrahimi ;; 1619*22dc650dSSadaf Ebrahimi *-winbond) 1620*22dc650dSSadaf Ebrahimi os=proelf 1621*22dc650dSSadaf Ebrahimi ;; 1622*22dc650dSSadaf Ebrahimi *-oki) 1623*22dc650dSSadaf Ebrahimi os=proelf 1624*22dc650dSSadaf Ebrahimi ;; 1625*22dc650dSSadaf Ebrahimi *-hp) 1626*22dc650dSSadaf Ebrahimi os=hpux 1627*22dc650dSSadaf Ebrahimi ;; 1628*22dc650dSSadaf Ebrahimi *-hitachi) 1629*22dc650dSSadaf Ebrahimi os=hiux 1630*22dc650dSSadaf Ebrahimi ;; 1631*22dc650dSSadaf Ebrahimi i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1632*22dc650dSSadaf Ebrahimi os=sysv 1633*22dc650dSSadaf Ebrahimi ;; 1634*22dc650dSSadaf Ebrahimi *-cbm) 1635*22dc650dSSadaf Ebrahimi os=amigaos 1636*22dc650dSSadaf Ebrahimi ;; 1637*22dc650dSSadaf Ebrahimi *-dg) 1638*22dc650dSSadaf Ebrahimi os=dgux 1639*22dc650dSSadaf Ebrahimi ;; 1640*22dc650dSSadaf Ebrahimi *-dolphin) 1641*22dc650dSSadaf Ebrahimi os=sysv3 1642*22dc650dSSadaf Ebrahimi ;; 1643*22dc650dSSadaf Ebrahimi m68k-ccur) 1644*22dc650dSSadaf Ebrahimi os=rtu 1645*22dc650dSSadaf Ebrahimi ;; 1646*22dc650dSSadaf Ebrahimi m88k-omron*) 1647*22dc650dSSadaf Ebrahimi os=luna 1648*22dc650dSSadaf Ebrahimi ;; 1649*22dc650dSSadaf Ebrahimi *-next) 1650*22dc650dSSadaf Ebrahimi os=nextstep 1651*22dc650dSSadaf Ebrahimi ;; 1652*22dc650dSSadaf Ebrahimi *-sequent) 1653*22dc650dSSadaf Ebrahimi os=ptx 1654*22dc650dSSadaf Ebrahimi ;; 1655*22dc650dSSadaf Ebrahimi *-crds) 1656*22dc650dSSadaf Ebrahimi os=unos 1657*22dc650dSSadaf Ebrahimi ;; 1658*22dc650dSSadaf Ebrahimi *-ns) 1659*22dc650dSSadaf Ebrahimi os=genix 1660*22dc650dSSadaf Ebrahimi ;; 1661*22dc650dSSadaf Ebrahimi i370-*) 1662*22dc650dSSadaf Ebrahimi os=mvs 1663*22dc650dSSadaf Ebrahimi ;; 1664*22dc650dSSadaf Ebrahimi *-gould) 1665*22dc650dSSadaf Ebrahimi os=sysv 1666*22dc650dSSadaf Ebrahimi ;; 1667*22dc650dSSadaf Ebrahimi *-highlevel) 1668*22dc650dSSadaf Ebrahimi os=bsd 1669*22dc650dSSadaf Ebrahimi ;; 1670*22dc650dSSadaf Ebrahimi *-encore) 1671*22dc650dSSadaf Ebrahimi os=bsd 1672*22dc650dSSadaf Ebrahimi ;; 1673*22dc650dSSadaf Ebrahimi *-sgi) 1674*22dc650dSSadaf Ebrahimi os=irix 1675*22dc650dSSadaf Ebrahimi ;; 1676*22dc650dSSadaf Ebrahimi *-siemens) 1677*22dc650dSSadaf Ebrahimi os=sysv4 1678*22dc650dSSadaf Ebrahimi ;; 1679*22dc650dSSadaf Ebrahimi *-masscomp) 1680*22dc650dSSadaf Ebrahimi os=rtu 1681*22dc650dSSadaf Ebrahimi ;; 1682*22dc650dSSadaf Ebrahimi f30[01]-fujitsu | f700-fujitsu) 1683*22dc650dSSadaf Ebrahimi os=uxpv 1684*22dc650dSSadaf Ebrahimi ;; 1685*22dc650dSSadaf Ebrahimi *-rom68k) 1686*22dc650dSSadaf Ebrahimi os=coff 1687*22dc650dSSadaf Ebrahimi ;; 1688*22dc650dSSadaf Ebrahimi *-*bug) 1689*22dc650dSSadaf Ebrahimi os=coff 1690*22dc650dSSadaf Ebrahimi ;; 1691*22dc650dSSadaf Ebrahimi *-apple) 1692*22dc650dSSadaf Ebrahimi os=macos 1693*22dc650dSSadaf Ebrahimi ;; 1694*22dc650dSSadaf Ebrahimi *-atari*) 1695*22dc650dSSadaf Ebrahimi os=mint 1696*22dc650dSSadaf Ebrahimi ;; 1697*22dc650dSSadaf Ebrahimi *-wrs) 1698*22dc650dSSadaf Ebrahimi os=vxworks 1699*22dc650dSSadaf Ebrahimi ;; 1700*22dc650dSSadaf Ebrahimi *) 1701*22dc650dSSadaf Ebrahimi os=none 1702*22dc650dSSadaf Ebrahimi ;; 1703*22dc650dSSadaf Ebrahimiesac 1704*22dc650dSSadaf Ebrahimi 1705*22dc650dSSadaf Ebrahimifi 1706*22dc650dSSadaf Ebrahimi 1707*22dc650dSSadaf Ebrahimi# Now, validate our (potentially fixed-up) OS. 1708*22dc650dSSadaf Ebrahimicase $os in 1709*22dc650dSSadaf Ebrahimi # Sometimes we do "kernel-libc", so those need to count as OSes. 1710*22dc650dSSadaf Ebrahimi musl* | newlib* | relibc* | uclibc*) 1711*22dc650dSSadaf Ebrahimi ;; 1712*22dc650dSSadaf Ebrahimi # Likewise for "kernel-abi" 1713*22dc650dSSadaf Ebrahimi eabi* | gnueabi*) 1714*22dc650dSSadaf Ebrahimi ;; 1715*22dc650dSSadaf Ebrahimi # VxWorks passes extra cpu info in the 4th filed. 1716*22dc650dSSadaf Ebrahimi simlinux | simwindows | spe) 1717*22dc650dSSadaf Ebrahimi ;; 1718*22dc650dSSadaf Ebrahimi # Now accept the basic system types. 1719*22dc650dSSadaf Ebrahimi # The portable systems comes first. 1720*22dc650dSSadaf Ebrahimi # Each alternative MUST end in a * to match a version number. 1721*22dc650dSSadaf Ebrahimi gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 1722*22dc650dSSadaf Ebrahimi | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 1723*22dc650dSSadaf Ebrahimi | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 1724*22dc650dSSadaf Ebrahimi | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 1725*22dc650dSSadaf Ebrahimi | hiux* | abug | nacl* | netware* | windows* \ 1726*22dc650dSSadaf Ebrahimi | os9* | macos* | osx* | ios* \ 1727*22dc650dSSadaf Ebrahimi | mpw* | magic* | mmixware* | mon960* | lnews* \ 1728*22dc650dSSadaf Ebrahimi | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 1729*22dc650dSSadaf Ebrahimi | aos* | aros* | cloudabi* | sortix* | twizzler* \ 1730*22dc650dSSadaf Ebrahimi | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 1731*22dc650dSSadaf Ebrahimi | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ 1732*22dc650dSSadaf Ebrahimi | mirbsd* | netbsd* | dicos* | openedition* | ose* \ 1733*22dc650dSSadaf Ebrahimi | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \ 1734*22dc650dSSadaf Ebrahimi | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \ 1735*22dc650dSSadaf Ebrahimi | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ 1736*22dc650dSSadaf Ebrahimi | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ 1737*22dc650dSSadaf Ebrahimi | udi* | lites* | ieee* | go32* | aux* | hcos* \ 1738*22dc650dSSadaf Ebrahimi | chorusrdb* | cegcc* | glidix* | serenity* \ 1739*22dc650dSSadaf Ebrahimi | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ 1740*22dc650dSSadaf Ebrahimi | midipix* | mingw32* | mingw64* | mint* \ 1741*22dc650dSSadaf Ebrahimi | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 1742*22dc650dSSadaf Ebrahimi | interix* | uwin* | mks* | rhapsody* | darwin* \ 1743*22dc650dSSadaf Ebrahimi | openstep* | oskit* | conix* | pw32* | nonstopux* \ 1744*22dc650dSSadaf Ebrahimi | storm-chaos* | tops10* | tenex* | tops20* | its* \ 1745*22dc650dSSadaf Ebrahimi | os2* | vos* | palmos* | uclinux* | nucleus* | morphos* \ 1746*22dc650dSSadaf Ebrahimi | scout* | superux* | sysv* | rtmk* | tpf* | windiss* \ 1747*22dc650dSSadaf Ebrahimi | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 1748*22dc650dSSadaf Ebrahimi | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 1749*22dc650dSSadaf Ebrahimi | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 1750*22dc650dSSadaf Ebrahimi | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ 1751*22dc650dSSadaf Ebrahimi | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) 1752*22dc650dSSadaf Ebrahimi ;; 1753*22dc650dSSadaf Ebrahimi # This one is extra strict with allowed versions 1754*22dc650dSSadaf Ebrahimi sco3.2v2 | sco3.2v[4-9]* | sco5v6*) 1755*22dc650dSSadaf Ebrahimi # Don't forget version if it is 3.2v4 or newer. 1756*22dc650dSSadaf Ebrahimi ;; 1757*22dc650dSSadaf Ebrahimi none) 1758*22dc650dSSadaf Ebrahimi ;; 1759*22dc650dSSadaf Ebrahimi *) 1760*22dc650dSSadaf Ebrahimi echo Invalid configuration \`"$1"\': OS \`"$os"\' not recognized 1>&2 1761*22dc650dSSadaf Ebrahimi exit 1 1762*22dc650dSSadaf Ebrahimi ;; 1763*22dc650dSSadaf Ebrahimiesac 1764*22dc650dSSadaf Ebrahimi 1765*22dc650dSSadaf Ebrahimi# As a final step for OS-related things, validate the OS-kernel combination 1766*22dc650dSSadaf Ebrahimi# (given a valid OS), if there is a kernel. 1767*22dc650dSSadaf Ebrahimicase $kernel-$os in 1768*22dc650dSSadaf Ebrahimi linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ 1769*22dc650dSSadaf Ebrahimi | linux-musl* | linux-relibc* | linux-uclibc* ) 1770*22dc650dSSadaf Ebrahimi ;; 1771*22dc650dSSadaf Ebrahimi uclinux-uclibc* ) 1772*22dc650dSSadaf Ebrahimi ;; 1773*22dc650dSSadaf Ebrahimi -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) 1774*22dc650dSSadaf Ebrahimi # These are just libc implementations, not actual OSes, and thus 1775*22dc650dSSadaf Ebrahimi # require a kernel. 1776*22dc650dSSadaf Ebrahimi echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 1777*22dc650dSSadaf Ebrahimi exit 1 1778*22dc650dSSadaf Ebrahimi ;; 1779*22dc650dSSadaf Ebrahimi kfreebsd*-gnu* | kopensolaris*-gnu*) 1780*22dc650dSSadaf Ebrahimi ;; 1781*22dc650dSSadaf Ebrahimi vxworks-simlinux | vxworks-simwindows | vxworks-spe) 1782*22dc650dSSadaf Ebrahimi ;; 1783*22dc650dSSadaf Ebrahimi nto-qnx*) 1784*22dc650dSSadaf Ebrahimi ;; 1785*22dc650dSSadaf Ebrahimi os2-emx) 1786*22dc650dSSadaf Ebrahimi ;; 1787*22dc650dSSadaf Ebrahimi *-eabi* | *-gnueabi*) 1788*22dc650dSSadaf Ebrahimi ;; 1789*22dc650dSSadaf Ebrahimi -*) 1790*22dc650dSSadaf Ebrahimi # Blank kernel with real OS is always fine. 1791*22dc650dSSadaf Ebrahimi ;; 1792*22dc650dSSadaf Ebrahimi *-*) 1793*22dc650dSSadaf Ebrahimi echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 1794*22dc650dSSadaf Ebrahimi exit 1 1795*22dc650dSSadaf Ebrahimi ;; 1796*22dc650dSSadaf Ebrahimiesac 1797*22dc650dSSadaf Ebrahimi 1798*22dc650dSSadaf Ebrahimi# Here we handle the case where we know the os, and the CPU type, but not the 1799*22dc650dSSadaf Ebrahimi# manufacturer. We pick the logical manufacturer. 1800*22dc650dSSadaf Ebrahimicase $vendor in 1801*22dc650dSSadaf Ebrahimi unknown) 1802*22dc650dSSadaf Ebrahimi case $cpu-$os in 1803*22dc650dSSadaf Ebrahimi *-riscix*) 1804*22dc650dSSadaf Ebrahimi vendor=acorn 1805*22dc650dSSadaf Ebrahimi ;; 1806*22dc650dSSadaf Ebrahimi *-sunos*) 1807*22dc650dSSadaf Ebrahimi vendor=sun 1808*22dc650dSSadaf Ebrahimi ;; 1809*22dc650dSSadaf Ebrahimi *-cnk* | *-aix*) 1810*22dc650dSSadaf Ebrahimi vendor=ibm 1811*22dc650dSSadaf Ebrahimi ;; 1812*22dc650dSSadaf Ebrahimi *-beos*) 1813*22dc650dSSadaf Ebrahimi vendor=be 1814*22dc650dSSadaf Ebrahimi ;; 1815*22dc650dSSadaf Ebrahimi *-hpux*) 1816*22dc650dSSadaf Ebrahimi vendor=hp 1817*22dc650dSSadaf Ebrahimi ;; 1818*22dc650dSSadaf Ebrahimi *-mpeix*) 1819*22dc650dSSadaf Ebrahimi vendor=hp 1820*22dc650dSSadaf Ebrahimi ;; 1821*22dc650dSSadaf Ebrahimi *-hiux*) 1822*22dc650dSSadaf Ebrahimi vendor=hitachi 1823*22dc650dSSadaf Ebrahimi ;; 1824*22dc650dSSadaf Ebrahimi *-unos*) 1825*22dc650dSSadaf Ebrahimi vendor=crds 1826*22dc650dSSadaf Ebrahimi ;; 1827*22dc650dSSadaf Ebrahimi *-dgux*) 1828*22dc650dSSadaf Ebrahimi vendor=dg 1829*22dc650dSSadaf Ebrahimi ;; 1830*22dc650dSSadaf Ebrahimi *-luna*) 1831*22dc650dSSadaf Ebrahimi vendor=omron 1832*22dc650dSSadaf Ebrahimi ;; 1833*22dc650dSSadaf Ebrahimi *-genix*) 1834*22dc650dSSadaf Ebrahimi vendor=ns 1835*22dc650dSSadaf Ebrahimi ;; 1836*22dc650dSSadaf Ebrahimi *-clix*) 1837*22dc650dSSadaf Ebrahimi vendor=intergraph 1838*22dc650dSSadaf Ebrahimi ;; 1839*22dc650dSSadaf Ebrahimi *-mvs* | *-opened*) 1840*22dc650dSSadaf Ebrahimi vendor=ibm 1841*22dc650dSSadaf Ebrahimi ;; 1842*22dc650dSSadaf Ebrahimi *-os400*) 1843*22dc650dSSadaf Ebrahimi vendor=ibm 1844*22dc650dSSadaf Ebrahimi ;; 1845*22dc650dSSadaf Ebrahimi s390-* | s390x-*) 1846*22dc650dSSadaf Ebrahimi vendor=ibm 1847*22dc650dSSadaf Ebrahimi ;; 1848*22dc650dSSadaf Ebrahimi *-ptx*) 1849*22dc650dSSadaf Ebrahimi vendor=sequent 1850*22dc650dSSadaf Ebrahimi ;; 1851*22dc650dSSadaf Ebrahimi *-tpf*) 1852*22dc650dSSadaf Ebrahimi vendor=ibm 1853*22dc650dSSadaf Ebrahimi ;; 1854*22dc650dSSadaf Ebrahimi *-vxsim* | *-vxworks* | *-windiss*) 1855*22dc650dSSadaf Ebrahimi vendor=wrs 1856*22dc650dSSadaf Ebrahimi ;; 1857*22dc650dSSadaf Ebrahimi *-aux*) 1858*22dc650dSSadaf Ebrahimi vendor=apple 1859*22dc650dSSadaf Ebrahimi ;; 1860*22dc650dSSadaf Ebrahimi *-hms*) 1861*22dc650dSSadaf Ebrahimi vendor=hitachi 1862*22dc650dSSadaf Ebrahimi ;; 1863*22dc650dSSadaf Ebrahimi *-mpw* | *-macos*) 1864*22dc650dSSadaf Ebrahimi vendor=apple 1865*22dc650dSSadaf Ebrahimi ;; 1866*22dc650dSSadaf Ebrahimi *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) 1867*22dc650dSSadaf Ebrahimi vendor=atari 1868*22dc650dSSadaf Ebrahimi ;; 1869*22dc650dSSadaf Ebrahimi *-vos*) 1870*22dc650dSSadaf Ebrahimi vendor=stratus 1871*22dc650dSSadaf Ebrahimi ;; 1872*22dc650dSSadaf Ebrahimi esac 1873*22dc650dSSadaf Ebrahimi ;; 1874*22dc650dSSadaf Ebrahimiesac 1875*22dc650dSSadaf Ebrahimi 1876*22dc650dSSadaf Ebrahimiecho "$cpu-$vendor-${kernel:+$kernel-}$os" 1877*22dc650dSSadaf Ebrahimiexit 1878*22dc650dSSadaf Ebrahimi 1879*22dc650dSSadaf Ebrahimi# Local variables: 1880*22dc650dSSadaf Ebrahimi# eval: (add-hook 'before-save-hook 'time-stamp) 1881*22dc650dSSadaf Ebrahimi# time-stamp-start: "timestamp='" 1882*22dc650dSSadaf Ebrahimi# time-stamp-format: "%:y-%02m-%02d" 1883*22dc650dSSadaf Ebrahimi# time-stamp-end: "'" 1884*22dc650dSSadaf Ebrahimi# End: 1885