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