config.sub revision a0c41156
145bc899bSmrg#! /bin/sh 245bc899bSmrg# Configuration validation subroutine script. 3a0c41156Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 445bc899bSmrg 5a0c41156Smrgtimestamp='2018-08-29' 645bc899bSmrg 7c97b1c41Smrg# This file is free software; you can redistribute it and/or modify it 8c97b1c41Smrg# under the terms of the GNU General Public License as published by 9c97b1c41Smrg# the Free Software Foundation; either version 3 of the License, or 1045bc899bSmrg# (at your option) any later version. 1145bc899bSmrg# 12c97b1c41Smrg# This program is distributed in the hope that it will be useful, but 13c97b1c41Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14c97b1c41Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15c97b1c41Smrg# General Public License for more details. 1645bc899bSmrg# 1745bc899bSmrg# You should have received a copy of the GNU General Public License 18a0c41156Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 1950f2e948Smrg# 2045bc899bSmrg# As a special exception to the GNU General Public License, if you 2145bc899bSmrg# distribute this file as part of a program that contains a 2245bc899bSmrg# configuration script generated by Autoconf, you may include it under 23c97b1c41Smrg# the same distribution terms that you use for the rest of that 24c97b1c41Smrg# program. This Exception is an additional permission under section 7 25c97b1c41Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2645bc899bSmrg 2750f2e948Smrg 2857ba8e8bSmrg# Please send patches to <config-patches@gnu.org>. 2945bc899bSmrg# 3045bc899bSmrg# Configuration subroutine to validate and canonicalize a configuration type. 3145bc899bSmrg# Supply the specified configuration type as an argument. 3245bc899bSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 3345bc899bSmrg# Otherwise, we print the canonical config type on stdout and succeed. 3445bc899bSmrg 35b40a6198Smrg# You can get the latest version of this script from: 36a0c41156Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37b40a6198Smrg 3845bc899bSmrg# This file is supposed to be the same for all GNU packages 3945bc899bSmrg# and recognize all the CPU types, system types and aliases 4045bc899bSmrg# that are meaningful with *any* GNU software. 4145bc899bSmrg# Each package is responsible for reporting which valid configurations 4245bc899bSmrg# it does not support. The user should be able to distinguish 4345bc899bSmrg# a failure to support a valid configuration from a meaningless 4445bc899bSmrg# configuration. 4545bc899bSmrg 4645bc899bSmrg# The goal of this file is to map all the various variations of a given 4745bc899bSmrg# machine specification into a single specification in the form: 4845bc899bSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4945bc899bSmrg# or in some cases, the newer four-part form: 5045bc899bSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5145bc899bSmrg# It is wrong to echo any other type of specification. 5245bc899bSmrg 5345bc899bSmrgme=`echo "$0" | sed -e 's,.*/,,'` 5445bc899bSmrg 5545bc899bSmrgusage="\ 56f2408745SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 5745bc899bSmrg 5845bc899bSmrgCanonicalize a configuration name. 5945bc899bSmrg 60a0c41156SmrgOptions: 6145bc899bSmrg -h, --help print this help, then exit 6245bc899bSmrg -t, --time-stamp print date of last modification, then exit 6345bc899bSmrg -v, --version print version number, then exit 6445bc899bSmrg 6545bc899bSmrgReport bugs and patches to <config-patches@gnu.org>." 6645bc899bSmrg 6745bc899bSmrgversion="\ 6845bc899bSmrgGNU config.sub ($timestamp) 6945bc899bSmrg 70a0c41156SmrgCopyright 1992-2018 Free Software Foundation, Inc. 7145bc899bSmrg 7245bc899bSmrgThis is free software; see the source for copying conditions. There is NO 7345bc899bSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7445bc899bSmrg 7545bc899bSmrghelp=" 7645bc899bSmrgTry \`$me --help' for more information." 7745bc899bSmrg 7845bc899bSmrg# Parse command line 7945bc899bSmrgwhile test $# -gt 0 ; do 8045bc899bSmrg case $1 in 8145bc899bSmrg --time-stamp | --time* | -t ) 8250f2e948Smrg echo "$timestamp" ; exit ;; 8345bc899bSmrg --version | -v ) 8450f2e948Smrg echo "$version" ; exit ;; 8545bc899bSmrg --help | --h* | -h ) 8650f2e948Smrg echo "$usage"; exit ;; 8745bc899bSmrg -- ) # Stop option processing 8845bc899bSmrg shift; break ;; 8945bc899bSmrg - ) # Use stdin as input. 9045bc899bSmrg break ;; 9145bc899bSmrg -* ) 9245bc899bSmrg echo "$me: invalid option $1$help" 9345bc899bSmrg exit 1 ;; 9445bc899bSmrg 9545bc899bSmrg *local*) 9645bc899bSmrg # First pass through any local machine types. 97a0c41156Smrg echo "$1" 9850f2e948Smrg exit ;; 9945bc899bSmrg 10045bc899bSmrg * ) 10145bc899bSmrg break ;; 10245bc899bSmrg esac 10345bc899bSmrgdone 10445bc899bSmrg 10545bc899bSmrgcase $# in 10645bc899bSmrg 0) echo "$me: missing argument$help" >&2 10745bc899bSmrg exit 1;; 10845bc899bSmrg 1) ;; 10945bc899bSmrg *) echo "$me: too many arguments$help" >&2 11045bc899bSmrg exit 1;; 11145bc899bSmrgesac 11245bc899bSmrg 113a0c41156Smrg# Split fields of configuration type 114a0c41156SmrgIFS="-" read -r field1 field2 field3 field4 <<EOF 115a0c41156Smrg$1 116a0c41156SmrgEOF 11745bc899bSmrg 118a0c41156Smrg# Separate into logical components for further validation 119a0c41156Smrgcase $1 in 120a0c41156Smrg *-*-*-*-*) 121a0c41156Smrg echo Invalid configuration \`"$1"\': more than four components >&2 122a0c41156Smrg exit 1 12345bc899bSmrg ;; 124a0c41156Smrg *-*-*-*) 125a0c41156Smrg basic_machine=$field1-$field2 126a0c41156Smrg os=$field3-$field4 12745bc899bSmrg ;; 128a0c41156Smrg *-*-*) 129a0c41156Smrg # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 130a0c41156Smrg # parts 131a0c41156Smrg maybe_os=$field2-$field3 132a0c41156Smrg case $maybe_os in 133a0c41156Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ 134a0c41156Smrg | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ 135a0c41156Smrg | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 136a0c41156Smrg | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 137a0c41156Smrg | storm-chaos* | os2-emx* | rtmk-nova*) 138a0c41156Smrg basic_machine=$field1 139a0c41156Smrg os=$maybe_os 140a0c41156Smrg ;; 141a0c41156Smrg android-linux) 142a0c41156Smrg basic_machine=$field1-unknown 143a0c41156Smrg os=linux-android 144a0c41156Smrg ;; 145a0c41156Smrg *) 146a0c41156Smrg basic_machine=$field1-$field2 147a0c41156Smrg os=$field3 148a0c41156Smrg ;; 149a0c41156Smrg esac 15045bc899bSmrg ;; 151a0c41156Smrg *-*) 152a0c41156Smrg # A lone config we happen to match not fitting any patern 153a0c41156Smrg case $field1-$field2 in 154a0c41156Smrg decstation-3100) 155a0c41156Smrg basic_machine=mips-dec 156a0c41156Smrg os= 157a0c41156Smrg ;; 158a0c41156Smrg *-*) 159a0c41156Smrg # Second component is usually, but not always the OS 160a0c41156Smrg case $field2 in 161a0c41156Smrg # Prevent following clause from handling this valid os 162a0c41156Smrg sun*os*) 163a0c41156Smrg basic_machine=$field1 164a0c41156Smrg os=$field2 165a0c41156Smrg ;; 166a0c41156Smrg # Manufacturers 167a0c41156Smrg dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ 168a0c41156Smrg | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 169a0c41156Smrg | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 170a0c41156Smrg | convergent* | ncr* | news | 32* | 3600* | 3100* \ 171a0c41156Smrg | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ 172a0c41156Smrg | ultra | tti* | harris | dolphin | highlevel | gould \ 173a0c41156Smrg | cbm | ns | masscomp | apple | axis | knuth | cray \ 174a0c41156Smrg | microblaze* | sim | cisco \ 175a0c41156Smrg | oki | wec | wrs | winbond) 176a0c41156Smrg basic_machine=$field1-$field2 177a0c41156Smrg os= 178a0c41156Smrg ;; 179a0c41156Smrg *) 180a0c41156Smrg basic_machine=$field1 181a0c41156Smrg os=$field2 182a0c41156Smrg ;; 183a0c41156Smrg esac 184a0c41156Smrg ;; 185a0c41156Smrg esac 18645bc899bSmrg ;; 187a0c41156Smrg *) 188a0c41156Smrg # Convert single-component short-hands not valid as part of 189a0c41156Smrg # multi-component configurations. 190a0c41156Smrg case $field1 in 191a0c41156Smrg 386bsd) 192a0c41156Smrg basic_machine=i386-pc 193a0c41156Smrg os=bsd 194a0c41156Smrg ;; 195a0c41156Smrg a29khif) 196a0c41156Smrg basic_machine=a29k-amd 197a0c41156Smrg os=udi 198a0c41156Smrg ;; 199a0c41156Smrg adobe68k) 200a0c41156Smrg basic_machine=m68010-adobe 201a0c41156Smrg os=scout 202a0c41156Smrg ;; 203a0c41156Smrg alliant) 204a0c41156Smrg basic_machine=fx80-alliant 205a0c41156Smrg os= 206a0c41156Smrg ;; 207a0c41156Smrg altos | altos3068) 208a0c41156Smrg basic_machine=m68k-altos 209a0c41156Smrg os= 210a0c41156Smrg ;; 211a0c41156Smrg am29k) 212a0c41156Smrg basic_machine=a29k-none 213a0c41156Smrg os=bsd 214a0c41156Smrg ;; 215a0c41156Smrg amdahl) 216a0c41156Smrg basic_machine=580-amdahl 217a0c41156Smrg os=sysv 218a0c41156Smrg ;; 219a0c41156Smrg amiga) 220a0c41156Smrg basic_machine=m68k-unknown 221a0c41156Smrg os= 222a0c41156Smrg ;; 223a0c41156Smrg amigaos | amigados) 224a0c41156Smrg basic_machine=m68k-unknown 225a0c41156Smrg os=amigaos 226a0c41156Smrg ;; 227a0c41156Smrg amigaunix | amix) 228a0c41156Smrg basic_machine=m68k-unknown 229a0c41156Smrg os=sysv4 230a0c41156Smrg ;; 231a0c41156Smrg apollo68) 232a0c41156Smrg basic_machine=m68k-apollo 233a0c41156Smrg os=sysv 234a0c41156Smrg ;; 235a0c41156Smrg apollo68bsd) 236a0c41156Smrg basic_machine=m68k-apollo 237a0c41156Smrg os=bsd 238a0c41156Smrg ;; 239a0c41156Smrg aros) 240a0c41156Smrg basic_machine=i386-pc 241a0c41156Smrg os=aros 242a0c41156Smrg ;; 243a0c41156Smrg aux) 244a0c41156Smrg basic_machine=m68k-apple 245a0c41156Smrg os=aux 246a0c41156Smrg ;; 247a0c41156Smrg balance) 248a0c41156Smrg basic_machine=ns32k-sequent 249a0c41156Smrg os=dynix 250a0c41156Smrg ;; 251a0c41156Smrg blackfin) 252a0c41156Smrg basic_machine=bfin-unknown 253a0c41156Smrg os=linux 254a0c41156Smrg ;; 255a0c41156Smrg cegcc) 256a0c41156Smrg basic_machine=arm-unknown 257a0c41156Smrg os=cegcc 258a0c41156Smrg ;; 259a0c41156Smrg convex-c1) 260a0c41156Smrg basic_machine=c1-convex 261a0c41156Smrg os=bsd 262a0c41156Smrg ;; 263a0c41156Smrg convex-c2) 264a0c41156Smrg basic_machine=c2-convex 265a0c41156Smrg os=bsd 266a0c41156Smrg ;; 267a0c41156Smrg convex-c32) 268a0c41156Smrg basic_machine=c32-convex 269a0c41156Smrg os=bsd 270a0c41156Smrg ;; 271a0c41156Smrg convex-c34) 272a0c41156Smrg basic_machine=c34-convex 273a0c41156Smrg os=bsd 274a0c41156Smrg ;; 275a0c41156Smrg convex-c38) 276a0c41156Smrg basic_machine=c38-convex 277a0c41156Smrg os=bsd 278a0c41156Smrg ;; 279a0c41156Smrg cray) 280a0c41156Smrg basic_machine=j90-cray 281a0c41156Smrg os=unicos 282a0c41156Smrg ;; 283a0c41156Smrg crds | unos) 284a0c41156Smrg basic_machine=m68k-crds 285a0c41156Smrg os= 286a0c41156Smrg ;; 287a0c41156Smrg da30) 288a0c41156Smrg basic_machine=m68k-da30 289a0c41156Smrg os= 290a0c41156Smrg ;; 291a0c41156Smrg decstation | pmax | pmin | dec3100 | decstatn) 292a0c41156Smrg basic_machine=mips-dec 293a0c41156Smrg os= 294a0c41156Smrg ;; 295a0c41156Smrg delta88) 296a0c41156Smrg basic_machine=m88k-motorola 297a0c41156Smrg os=sysv3 298a0c41156Smrg ;; 299a0c41156Smrg dicos) 300a0c41156Smrg basic_machine=i686-pc 301a0c41156Smrg os=dicos 302a0c41156Smrg ;; 303a0c41156Smrg djgpp) 304a0c41156Smrg basic_machine=i586-pc 305a0c41156Smrg os=msdosdjgpp 306a0c41156Smrg ;; 307a0c41156Smrg ebmon29k) 308a0c41156Smrg basic_machine=a29k-amd 309a0c41156Smrg os=ebmon 310a0c41156Smrg ;; 311a0c41156Smrg es1800 | OSE68k | ose68k | ose | OSE) 312a0c41156Smrg basic_machine=m68k-ericsson 313a0c41156Smrg os=ose 314a0c41156Smrg ;; 315a0c41156Smrg gmicro) 316a0c41156Smrg basic_machine=tron-gmicro 317a0c41156Smrg os=sysv 318a0c41156Smrg ;; 319a0c41156Smrg go32) 320a0c41156Smrg basic_machine=i386-pc 321a0c41156Smrg os=go32 322a0c41156Smrg ;; 323a0c41156Smrg h8300hms) 324a0c41156Smrg basic_machine=h8300-hitachi 325a0c41156Smrg os=hms 326a0c41156Smrg ;; 327a0c41156Smrg h8300xray) 328a0c41156Smrg basic_machine=h8300-hitachi 329a0c41156Smrg os=xray 330a0c41156Smrg ;; 331a0c41156Smrg h8500hms) 332a0c41156Smrg basic_machine=h8500-hitachi 333a0c41156Smrg os=hms 334a0c41156Smrg ;; 335a0c41156Smrg harris) 336a0c41156Smrg basic_machine=m88k-harris 337a0c41156Smrg os=sysv3 338a0c41156Smrg ;; 339a0c41156Smrg hp300) 340a0c41156Smrg basic_machine=m68k-hp 341a0c41156Smrg ;; 342a0c41156Smrg hp300bsd) 343a0c41156Smrg basic_machine=m68k-hp 344a0c41156Smrg os=bsd 345a0c41156Smrg ;; 346a0c41156Smrg hp300hpux) 347a0c41156Smrg basic_machine=m68k-hp 348a0c41156Smrg os=hpux 349a0c41156Smrg ;; 350a0c41156Smrg hppaosf) 351a0c41156Smrg basic_machine=hppa1.1-hp 352a0c41156Smrg os=osf 353a0c41156Smrg ;; 354a0c41156Smrg hppro) 355a0c41156Smrg basic_machine=hppa1.1-hp 356a0c41156Smrg os=proelf 357a0c41156Smrg ;; 358a0c41156Smrg i386mach) 359a0c41156Smrg basic_machine=i386-mach 360a0c41156Smrg os=mach 361a0c41156Smrg ;; 362a0c41156Smrg vsta) 363a0c41156Smrg basic_machine=i386-pc 364a0c41156Smrg os=vsta 365a0c41156Smrg ;; 366a0c41156Smrg isi68 | isi) 367a0c41156Smrg basic_machine=m68k-isi 368a0c41156Smrg os=sysv 369a0c41156Smrg ;; 370a0c41156Smrg m68knommu) 371a0c41156Smrg basic_machine=m68k-unknown 372a0c41156Smrg os=linux 373a0c41156Smrg ;; 374a0c41156Smrg magnum | m3230) 375a0c41156Smrg basic_machine=mips-mips 376a0c41156Smrg os=sysv 377a0c41156Smrg ;; 378a0c41156Smrg merlin) 379a0c41156Smrg basic_machine=ns32k-utek 380a0c41156Smrg os=sysv 381a0c41156Smrg ;; 382a0c41156Smrg mingw64) 383a0c41156Smrg basic_machine=x86_64-pc 384a0c41156Smrg os=mingw64 385a0c41156Smrg ;; 386a0c41156Smrg mingw32) 387a0c41156Smrg basic_machine=i686-pc 388a0c41156Smrg os=mingw32 389a0c41156Smrg ;; 390a0c41156Smrg mingw32ce) 391a0c41156Smrg basic_machine=arm-unknown 392a0c41156Smrg os=mingw32ce 393a0c41156Smrg ;; 394a0c41156Smrg monitor) 395a0c41156Smrg basic_machine=m68k-rom68k 396a0c41156Smrg os=coff 397a0c41156Smrg ;; 398a0c41156Smrg morphos) 399a0c41156Smrg basic_machine=powerpc-unknown 400a0c41156Smrg os=morphos 401a0c41156Smrg ;; 402a0c41156Smrg moxiebox) 403a0c41156Smrg basic_machine=moxie-unknown 404a0c41156Smrg os=moxiebox 405a0c41156Smrg ;; 406a0c41156Smrg msdos) 407a0c41156Smrg basic_machine=i386-pc 408a0c41156Smrg os=msdos 409a0c41156Smrg ;; 410a0c41156Smrg msys) 411a0c41156Smrg basic_machine=i686-pc 412a0c41156Smrg os=msys 413a0c41156Smrg ;; 414a0c41156Smrg mvs) 415a0c41156Smrg basic_machine=i370-ibm 416a0c41156Smrg os=mvs 417a0c41156Smrg ;; 418a0c41156Smrg nacl) 419a0c41156Smrg basic_machine=le32-unknown 420a0c41156Smrg os=nacl 421a0c41156Smrg ;; 422a0c41156Smrg ncr3000) 423a0c41156Smrg basic_machine=i486-ncr 424a0c41156Smrg os=sysv4 425a0c41156Smrg ;; 426a0c41156Smrg netbsd386) 427a0c41156Smrg basic_machine=i386-pc 428a0c41156Smrg os=netbsd 429a0c41156Smrg ;; 430a0c41156Smrg netwinder) 431a0c41156Smrg basic_machine=armv4l-rebel 432a0c41156Smrg os=linux 433a0c41156Smrg ;; 434a0c41156Smrg news | news700 | news800 | news900) 435a0c41156Smrg basic_machine=m68k-sony 436a0c41156Smrg os=newsos 437a0c41156Smrg ;; 438a0c41156Smrg news1000) 439a0c41156Smrg basic_machine=m68030-sony 440a0c41156Smrg os=newsos 441a0c41156Smrg ;; 442a0c41156Smrg necv70) 443a0c41156Smrg basic_machine=v70-nec 444a0c41156Smrg os=sysv 445a0c41156Smrg ;; 446a0c41156Smrg nh3000) 447a0c41156Smrg basic_machine=m68k-harris 448a0c41156Smrg os=cxux 449a0c41156Smrg ;; 450a0c41156Smrg nh[45]000) 451a0c41156Smrg basic_machine=m88k-harris 452a0c41156Smrg os=cxux 453a0c41156Smrg ;; 454a0c41156Smrg nindy960) 455a0c41156Smrg basic_machine=i960-intel 456a0c41156Smrg os=nindy 457a0c41156Smrg ;; 458a0c41156Smrg mon960) 459a0c41156Smrg basic_machine=i960-intel 460a0c41156Smrg os=mon960 461a0c41156Smrg ;; 462a0c41156Smrg nonstopux) 463a0c41156Smrg basic_machine=mips-compaq 464a0c41156Smrg os=nonstopux 465a0c41156Smrg ;; 466a0c41156Smrg os400) 467a0c41156Smrg basic_machine=powerpc-ibm 468a0c41156Smrg os=os400 469a0c41156Smrg ;; 470a0c41156Smrg OSE68000 | ose68000) 471a0c41156Smrg basic_machine=m68000-ericsson 472a0c41156Smrg os=ose 473a0c41156Smrg ;; 474a0c41156Smrg os68k) 475a0c41156Smrg basic_machine=m68k-none 476a0c41156Smrg os=os68k 477a0c41156Smrg ;; 478a0c41156Smrg paragon) 479a0c41156Smrg basic_machine=i860-intel 480a0c41156Smrg os=osf 481a0c41156Smrg ;; 482a0c41156Smrg parisc) 483a0c41156Smrg basic_machine=hppa-unknown 484a0c41156Smrg os=linux 485a0c41156Smrg ;; 486a0c41156Smrg pw32) 487a0c41156Smrg basic_machine=i586-unknown 488a0c41156Smrg os=pw32 489a0c41156Smrg ;; 490a0c41156Smrg rdos | rdos64) 491a0c41156Smrg basic_machine=x86_64-pc 492a0c41156Smrg os=rdos 493a0c41156Smrg ;; 494a0c41156Smrg rdos32) 495a0c41156Smrg basic_machine=i386-pc 496a0c41156Smrg os=rdos 497a0c41156Smrg ;; 498a0c41156Smrg rom68k) 499a0c41156Smrg basic_machine=m68k-rom68k 500a0c41156Smrg os=coff 501a0c41156Smrg ;; 502a0c41156Smrg sa29200) 503a0c41156Smrg basic_machine=a29k-amd 504a0c41156Smrg os=udi 505a0c41156Smrg ;; 506a0c41156Smrg sei) 507a0c41156Smrg basic_machine=mips-sei 508a0c41156Smrg os=seiux 509a0c41156Smrg ;; 510a0c41156Smrg sequent) 511a0c41156Smrg basic_machine=i386-sequent 512a0c41156Smrg os= 513a0c41156Smrg ;; 514a0c41156Smrg sps7) 515a0c41156Smrg basic_machine=m68k-bull 516a0c41156Smrg os=sysv2 517a0c41156Smrg ;; 518a0c41156Smrg st2000) 519a0c41156Smrg basic_machine=m68k-tandem 520a0c41156Smrg os= 521a0c41156Smrg ;; 522a0c41156Smrg stratus) 523a0c41156Smrg basic_machine=i860-stratus 524a0c41156Smrg os=sysv4 525a0c41156Smrg ;; 526a0c41156Smrg sun2) 527a0c41156Smrg basic_machine=m68000-sun 528a0c41156Smrg os= 529a0c41156Smrg ;; 530a0c41156Smrg sun2os3) 531a0c41156Smrg basic_machine=m68000-sun 532a0c41156Smrg os=sunos3 533a0c41156Smrg ;; 534a0c41156Smrg sun2os4) 535a0c41156Smrg basic_machine=m68000-sun 536a0c41156Smrg os=sunos4 537a0c41156Smrg ;; 538a0c41156Smrg sun3) 539a0c41156Smrg basic_machine=m68k-sun 540a0c41156Smrg os= 541a0c41156Smrg ;; 542a0c41156Smrg sun3os3) 543a0c41156Smrg basic_machine=m68k-sun 544a0c41156Smrg os=sunos3 545a0c41156Smrg ;; 546a0c41156Smrg sun3os4) 547a0c41156Smrg basic_machine=m68k-sun 548a0c41156Smrg os=sunos4 549a0c41156Smrg ;; 550a0c41156Smrg sun4) 551a0c41156Smrg basic_machine=sparc-sun 552a0c41156Smrg os= 553a0c41156Smrg ;; 554a0c41156Smrg sun4os3) 555a0c41156Smrg basic_machine=sparc-sun 556a0c41156Smrg os=sunos3 557a0c41156Smrg ;; 558a0c41156Smrg sun4os4) 559a0c41156Smrg basic_machine=sparc-sun 560a0c41156Smrg os=sunos4 561a0c41156Smrg ;; 562a0c41156Smrg sun4sol2) 563a0c41156Smrg basic_machine=sparc-sun 564a0c41156Smrg os=solaris2 565a0c41156Smrg ;; 566a0c41156Smrg sun386 | sun386i | roadrunner) 567a0c41156Smrg basic_machine=i386-sun 568a0c41156Smrg os= 569a0c41156Smrg ;; 570a0c41156Smrg sv1) 571a0c41156Smrg basic_machine=sv1-cray 572a0c41156Smrg os=unicos 573a0c41156Smrg ;; 574a0c41156Smrg symmetry) 575a0c41156Smrg basic_machine=i386-sequent 576a0c41156Smrg os=dynix 577a0c41156Smrg ;; 578a0c41156Smrg t3e) 579a0c41156Smrg basic_machine=alphaev5-cray 580a0c41156Smrg os=unicos 581a0c41156Smrg ;; 582a0c41156Smrg t90) 583a0c41156Smrg basic_machine=t90-cray 584a0c41156Smrg os=unicos 585a0c41156Smrg ;; 586a0c41156Smrg toad1) 587a0c41156Smrg basic_machine=pdp10-xkl 588a0c41156Smrg os=tops20 589a0c41156Smrg ;; 590a0c41156Smrg tpf) 591a0c41156Smrg basic_machine=s390x-ibm 592a0c41156Smrg os=tpf 593a0c41156Smrg ;; 594a0c41156Smrg udi29k) 595a0c41156Smrg basic_machine=a29k-amd 596a0c41156Smrg os=udi 597a0c41156Smrg ;; 598a0c41156Smrg ultra3) 599a0c41156Smrg basic_machine=a29k-nyu 600a0c41156Smrg os=sym1 601a0c41156Smrg ;; 602a0c41156Smrg v810 | necv810) 603a0c41156Smrg basic_machine=v810-nec 604a0c41156Smrg os=none 605a0c41156Smrg ;; 606a0c41156Smrg vaxv) 607a0c41156Smrg basic_machine=vax-dec 608a0c41156Smrg os=sysv 609a0c41156Smrg ;; 610a0c41156Smrg vms) 611a0c41156Smrg basic_machine=vax-dec 612a0c41156Smrg os=vms 613a0c41156Smrg ;; 614a0c41156Smrg vxworks960) 615a0c41156Smrg basic_machine=i960-wrs 616a0c41156Smrg os=vxworks 617a0c41156Smrg ;; 618a0c41156Smrg vxworks68) 619a0c41156Smrg basic_machine=m68k-wrs 620a0c41156Smrg os=vxworks 621a0c41156Smrg ;; 622a0c41156Smrg vxworks29k) 623a0c41156Smrg basic_machine=a29k-wrs 624a0c41156Smrg os=vxworks 625a0c41156Smrg ;; 626a0c41156Smrg xbox) 627a0c41156Smrg basic_machine=i686-pc 628a0c41156Smrg os=mingw32 629a0c41156Smrg ;; 630a0c41156Smrg ymp) 631a0c41156Smrg basic_machine=ymp-cray 632a0c41156Smrg os=unicos 633a0c41156Smrg ;; 634a0c41156Smrg *) 635a0c41156Smrg basic_machine=$1 636a0c41156Smrg os= 637a0c41156Smrg ;; 638a0c41156Smrg esac 63945bc899bSmrg ;; 64045bc899bSmrgesac 64145bc899bSmrg 642a0c41156Smrg# Decode 1-component or ad-hoc basic machines 64345bc899bSmrgcase $basic_machine in 644a0c41156Smrg # Here we handle the default manufacturer of certain CPU types. It is in 645a0c41156Smrg # some cases the only manufacturer, in others, it is the most popular. 646a0c41156Smrg w89k) 647a0c41156Smrg cpu=hppa1.1 648a0c41156Smrg vendor=winbond 64945bc899bSmrg ;; 650a0c41156Smrg op50n) 651a0c41156Smrg cpu=hppa1.1 652a0c41156Smrg vendor=oki 65345bc899bSmrg ;; 654a0c41156Smrg op60c) 655a0c41156Smrg cpu=hppa1.1 656a0c41156Smrg vendor=oki 65750f2e948Smrg ;; 658a0c41156Smrg ibm*) 659a0c41156Smrg cpu=i370 660a0c41156Smrg vendor=ibm 661b40a6198Smrg ;; 662a0c41156Smrg orion105) 663a0c41156Smrg cpu=clipper 664a0c41156Smrg vendor=highlevel 665c97b1c41Smrg ;; 666a0c41156Smrg mac | mpw | mac-mpw) 667a0c41156Smrg cpu=m68k 668a0c41156Smrg vendor=apple 669b40a6198Smrg ;; 670a0c41156Smrg pmac | pmac-mpw) 671a0c41156Smrg cpu=powerpc 672a0c41156Smrg vendor=apple 673b40a6198Smrg ;; 674b40a6198Smrg 67545bc899bSmrg # Recognize the various machine names and aliases which stand 67645bc899bSmrg # for a CPU type and a company and sometimes even an OS. 67745bc899bSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 678a0c41156Smrg cpu=m68000 679a0c41156Smrg vendor=att 68045bc899bSmrg ;; 68145bc899bSmrg 3b*) 682a0c41156Smrg cpu=we32k 683a0c41156Smrg vendor=att 68450f2e948Smrg ;; 685b40a6198Smrg bluegene*) 686a0c41156Smrg cpu=powerpc 687a0c41156Smrg vendor=ibm 688a0c41156Smrg os=cnk 68945bc899bSmrg ;; 69045bc899bSmrg decsystem10* | dec10*) 691a0c41156Smrg cpu=pdp10 692a0c41156Smrg vendor=dec 693a0c41156Smrg os=tops10 69445bc899bSmrg ;; 69545bc899bSmrg decsystem20* | dec20*) 696a0c41156Smrg cpu=pdp10 697a0c41156Smrg vendor=dec 698a0c41156Smrg os=tops20 69945bc899bSmrg ;; 70045bc899bSmrg delta | 3300 | motorola-3300 | motorola-delta \ 70145bc899bSmrg | 3300-motorola | delta-motorola) 702a0c41156Smrg cpu=m68k 703a0c41156Smrg vendor=motorola 70445bc899bSmrg ;; 705a0c41156Smrg dpx2*) 706a0c41156Smrg cpu=m68k 707a0c41156Smrg vendor=bull 708a0c41156Smrg os=sysv3 70945bc899bSmrg ;; 71045bc899bSmrg encore | umax | mmax) 711a0c41156Smrg cpu=ns32k 712a0c41156Smrg vendor=encore 71345bc899bSmrg ;; 714a0c41156Smrg elxsi) 715a0c41156Smrg cpu=elxsi 716a0c41156Smrg vendor=elxsi 717a0c41156Smrg os=${os:-bsd} 71845bc899bSmrg ;; 71945bc899bSmrg fx2800) 720a0c41156Smrg cpu=i860 721a0c41156Smrg vendor=alliant 72245bc899bSmrg ;; 72345bc899bSmrg genix) 724a0c41156Smrg cpu=ns32k 725a0c41156Smrg vendor=ns 72645bc899bSmrg ;; 72745bc899bSmrg h3050r* | hiux*) 728a0c41156Smrg cpu=hppa1.1 729a0c41156Smrg vendor=hitachi 730a0c41156Smrg os=hiuxwe2 73145bc899bSmrg ;; 73245bc899bSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 733a0c41156Smrg cpu=hppa1.0 734a0c41156Smrg vendor=hp 73545bc899bSmrg ;; 73645bc899bSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 737a0c41156Smrg cpu=m68000 738a0c41156Smrg vendor=hp 73945bc899bSmrg ;; 74045bc899bSmrg hp9k3[2-9][0-9]) 741a0c41156Smrg cpu=m68k 742a0c41156Smrg vendor=hp 74345bc899bSmrg ;; 74445bc899bSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 745a0c41156Smrg cpu=hppa1.0 746a0c41156Smrg vendor=hp 74745bc899bSmrg ;; 74845bc899bSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 749a0c41156Smrg cpu=hppa1.1 750a0c41156Smrg vendor=hp 75145bc899bSmrg ;; 75245bc899bSmrg hp9k78[0-9] | hp78[0-9]) 75345bc899bSmrg # FIXME: really hppa2.0-hp 754a0c41156Smrg cpu=hppa1.1 755a0c41156Smrg vendor=hp 75645bc899bSmrg ;; 75745bc899bSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 75845bc899bSmrg # FIXME: really hppa2.0-hp 759a0c41156Smrg cpu=hppa1.1 760a0c41156Smrg vendor=hp 76145bc899bSmrg ;; 76245bc899bSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 763a0c41156Smrg cpu=hppa1.1 764a0c41156Smrg vendor=hp 76545bc899bSmrg ;; 76645bc899bSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 767a0c41156Smrg cpu=hppa1.0 768a0c41156Smrg vendor=hp 76945bc899bSmrg ;; 77045bc899bSmrg i*86v32) 771a0c41156Smrg cpu=`echo "$1" | sed -e 's/86.*/86/'` 772a0c41156Smrg vendor=pc 773a0c41156Smrg os=sysv32 77445bc899bSmrg ;; 77545bc899bSmrg i*86v4*) 776a0c41156Smrg cpu=`echo "$1" | sed -e 's/86.*/86/'` 777a0c41156Smrg vendor=pc 778a0c41156Smrg os=sysv4 77945bc899bSmrg ;; 78045bc899bSmrg i*86v) 781a0c41156Smrg cpu=`echo "$1" | sed -e 's/86.*/86/'` 782a0c41156Smrg vendor=pc 783a0c41156Smrg os=sysv 78445bc899bSmrg ;; 78545bc899bSmrg i*86sol2) 786a0c41156Smrg cpu=`echo "$1" | sed -e 's/86.*/86/'` 787a0c41156Smrg vendor=pc 788a0c41156Smrg os=solaris2 78945bc899bSmrg ;; 790a0c41156Smrg j90 | j90-cray) 791a0c41156Smrg cpu=j90 792a0c41156Smrg vendor=cray 793a0c41156Smrg os=${os:-unicos} 79445bc899bSmrg ;; 79545bc899bSmrg iris | iris4d) 796a0c41156Smrg cpu=mips 797a0c41156Smrg vendor=sgi 79845bc899bSmrg case $os in 799a0c41156Smrg irix*) 80045bc899bSmrg ;; 80145bc899bSmrg *) 802a0c41156Smrg os=irix4 80345bc899bSmrg ;; 80445bc899bSmrg esac 80545bc899bSmrg ;; 80645bc899bSmrg miniframe) 807a0c41156Smrg cpu=m68000 808a0c41156Smrg vendor=convergent 809b40a6198Smrg ;; 810a0c41156Smrg *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 811a0c41156Smrg cpu=m68k 812a0c41156Smrg vendor=atari 813a0c41156Smrg os=mint 81445bc899bSmrg ;; 81545bc899bSmrg news-3600 | risc-news) 816a0c41156Smrg cpu=mips 817a0c41156Smrg vendor=sony 818a0c41156Smrg os=newsos 81945bc899bSmrg ;; 820a0c41156Smrg next | m*-next) 821a0c41156Smrg cpu=m68k 822a0c41156Smrg vendor=next 82345bc899bSmrg case $os in 824a0c41156Smrg nextstep* ) 82545bc899bSmrg ;; 826a0c41156Smrg ns2*) 827a0c41156Smrg os=nextstep2 82845bc899bSmrg ;; 82945bc899bSmrg *) 830a0c41156Smrg os=nextstep3 83145bc899bSmrg ;; 83245bc899bSmrg esac 83345bc899bSmrg ;; 83445bc899bSmrg np1) 835a0c41156Smrg cpu=np1 836a0c41156Smrg vendor=gould 837f2408745Smrg ;; 83845bc899bSmrg op50n-* | op60c-*) 839a0c41156Smrg cpu=hppa1.1 840a0c41156Smrg vendor=oki 841a0c41156Smrg os=proelf 84245bc899bSmrg ;; 84345bc899bSmrg pa-hitachi) 844a0c41156Smrg cpu=hppa1.1 845a0c41156Smrg vendor=hitachi 846a0c41156Smrg os=hiuxwe2 84750f2e948Smrg ;; 84845bc899bSmrg pbd) 849a0c41156Smrg cpu=sparc 850a0c41156Smrg vendor=tti 85145bc899bSmrg ;; 85245bc899bSmrg pbb) 853a0c41156Smrg cpu=m68k 854a0c41156Smrg vendor=tti 85545bc899bSmrg ;; 856a0c41156Smrg pc532) 857a0c41156Smrg cpu=ns32k 858a0c41156Smrg vendor=pc532 85945bc899bSmrg ;; 86045bc899bSmrg pn) 861a0c41156Smrg cpu=pn 862a0c41156Smrg vendor=gould 86345bc899bSmrg ;; 864a0c41156Smrg power) 865a0c41156Smrg cpu=power 866a0c41156Smrg vendor=ibm 86745bc899bSmrg ;; 86845bc899bSmrg ps2) 869a0c41156Smrg cpu=i386 870a0c41156Smrg vendor=ibm 87145bc899bSmrg ;; 87245bc899bSmrg rm[46]00) 873a0c41156Smrg cpu=mips 874a0c41156Smrg vendor=siemens 87545bc899bSmrg ;; 87645bc899bSmrg rtpc | rtpc-*) 877a0c41156Smrg cpu=romp 878a0c41156Smrg vendor=ibm 87945bc899bSmrg ;; 88050f2e948Smrg sde) 881a0c41156Smrg cpu=mipsisa32 882a0c41156Smrg vendor=sde 883a0c41156Smrg os=${os:-elf} 88450f2e948Smrg ;; 885a0c41156Smrg simso-wrs) 886a0c41156Smrg cpu=sparclite 887a0c41156Smrg vendor=wrs 888a0c41156Smrg os=vxworks 88945bc899bSmrg ;; 890a0c41156Smrg tower | tower-32) 891a0c41156Smrg cpu=m68k 892a0c41156Smrg vendor=ncr 89345bc899bSmrg ;; 894a0c41156Smrg vpp*|vx|vx-*) 895a0c41156Smrg cpu=f301 896a0c41156Smrg vendor=fujitsu 89745bc899bSmrg ;; 898a0c41156Smrg w65) 899a0c41156Smrg cpu=w65 900a0c41156Smrg vendor=wdc 90150f2e948Smrg ;; 902a0c41156Smrg w89k-*) 903a0c41156Smrg cpu=hppa1.1 904a0c41156Smrg vendor=winbond 905a0c41156Smrg os=proelf 90645bc899bSmrg ;; 907a0c41156Smrg none) 908a0c41156Smrg cpu=none 909a0c41156Smrg vendor=none 91045bc899bSmrg ;; 911a0c41156Smrg leon|leon[3-9]) 912a0c41156Smrg cpu=sparc 913a0c41156Smrg vendor=$basic_machine 91445bc899bSmrg ;; 915a0c41156Smrg leon-*|leon[3-9]-*) 916a0c41156Smrg cpu=sparc 917a0c41156Smrg vendor=`echo "$basic_machine" | sed 's/-.*//'` 91845bc899bSmrg ;; 919a0c41156Smrg 920a0c41156Smrg *-*) 921a0c41156Smrg IFS="-" read -r cpu vendor <<EOF 922a0c41156Smrg$basic_machine 923a0c41156SmrgEOF 92445bc899bSmrg ;; 925a0c41156Smrg # We use `pc' rather than `unknown' 926a0c41156Smrg # because (1) that's what they normally are, and 927a0c41156Smrg # (2) the word "unknown" tends to confuse beginning users. 928a0c41156Smrg i*86 | x86_64) 929a0c41156Smrg cpu=$basic_machine 930a0c41156Smrg vendor=pc 93145bc899bSmrg ;; 932a0c41156Smrg # These rules are duplicated from below for sake of the special case above; 933a0c41156Smrg # i.e. things that normalized to x86 arches should also default to "pc" 934a0c41156Smrg pc98) 935a0c41156Smrg cpu=i386 936a0c41156Smrg vendor=pc 937b40a6198Smrg ;; 938a0c41156Smrg x64 | amd64) 939a0c41156Smrg cpu=x86_64 940a0c41156Smrg vendor=pc 94145bc899bSmrg ;; 942a0c41156Smrg # Recognize the basic CPU types without company name. 943a0c41156Smrg *) 944a0c41156Smrg cpu=$basic_machine 945a0c41156Smrg vendor=unknown 94645bc899bSmrg ;; 947a0c41156Smrgesac 948a0c41156Smrg 949a0c41156Smrgunset -v basic_machine 950a0c41156Smrg 951a0c41156Smrg# Decode basic machines in the full and proper CPU-Company form. 952a0c41156Smrgcase $cpu-$vendor in 953a0c41156Smrg # Here we handle the default manufacturer of certain CPU types in cannonical form. It is in 954a0c41156Smrg # some cases the only manufacturer, in others, it is the most popular. 955a0c41156Smrg craynv-unknown) 956a0c41156Smrg vendor=cray 957a0c41156Smrg os=${os:-unicosmp} 95845bc899bSmrg ;; 959a0c41156Smrg c90-unknown | c90-cray) 960a0c41156Smrg vendor=cray 961a0c41156Smrg os=${os:-unicos} 96245bc899bSmrg ;; 963a0c41156Smrg fx80-unknown) 964a0c41156Smrg vendor=alliant 96545bc899bSmrg ;; 966a0c41156Smrg romp-unknown) 967a0c41156Smrg vendor=ibm 96845bc899bSmrg ;; 969a0c41156Smrg mmix-unknown) 970a0c41156Smrg vendor=knuth 97145bc899bSmrg ;; 972a0c41156Smrg microblaze-unknown | microblazeel-unknown) 973a0c41156Smrg vendor=xilinx 97445bc899bSmrg ;; 975a0c41156Smrg rs6000-unknown) 976a0c41156Smrg vendor=ibm 97745bc899bSmrg ;; 978a0c41156Smrg vax-unknown) 979a0c41156Smrg vendor=dec 98045bc899bSmrg ;; 981a0c41156Smrg pdp11-unknown) 982a0c41156Smrg vendor=dec 98345bc899bSmrg ;; 984a0c41156Smrg we32k-unknown) 985a0c41156Smrg vendor=att 98645bc899bSmrg ;; 987a0c41156Smrg cydra-unknown) 988a0c41156Smrg vendor=cydrome 98945bc899bSmrg ;; 990a0c41156Smrg i370-ibm*) 991a0c41156Smrg vendor=ibm 99245bc899bSmrg ;; 993a0c41156Smrg orion-unknown) 994a0c41156Smrg vendor=highlevel 99545bc899bSmrg ;; 996a0c41156Smrg xps-unknown | xps100-unknown) 997a0c41156Smrg cpu=xps100 998a0c41156Smrg vendor=honeywell 99950f2e948Smrg ;; 1000a0c41156Smrg 1001a0c41156Smrg # Here we normalize CPU types with a missing or matching vendor 1002a0c41156Smrg dpx20-unknown | dpx20-bull) 1003a0c41156Smrg cpu=rs6000 1004a0c41156Smrg vendor=bull 1005a0c41156Smrg os=${os:-bosx} 100645bc899bSmrg ;; 1007a0c41156Smrg 1008a0c41156Smrg # Here we normalize CPU types irrespective of the vendor 1009a0c41156Smrg amd64-*) 1010a0c41156Smrg cpu=x86_64 101145bc899bSmrg ;; 1012a0c41156Smrg blackfin-*) 1013a0c41156Smrg cpu=bfin 1014a0c41156Smrg os=linux 101545bc899bSmrg ;; 1016a0c41156Smrg c54x-*) 1017a0c41156Smrg cpu=tic54x 101845bc899bSmrg ;; 1019a0c41156Smrg c55x-*) 1020a0c41156Smrg cpu=tic55x 102150f2e948Smrg ;; 1022a0c41156Smrg c6x-*) 1023a0c41156Smrg cpu=tic6x 102445bc899bSmrg ;; 1025a0c41156Smrg e500v[12]-*) 1026a0c41156Smrg cpu=powerpc 1027a0c41156Smrg os=$os"spe" 102845bc899bSmrg ;; 1029a0c41156Smrg mips3*-*) 1030a0c41156Smrg cpu=mips64 103145bc899bSmrg ;; 1032a0c41156Smrg ms1-*) 1033a0c41156Smrg cpu=mt 103445bc899bSmrg ;; 1035a0c41156Smrg m68knommu-*) 1036a0c41156Smrg cpu=m68k 1037a0c41156Smrg os=linux 103845bc899bSmrg ;; 1039a0c41156Smrg m9s12z-* | m68hcs12z-* | hcs12z-* | s12z-*) 1040a0c41156Smrg cpu=s12z 104145bc899bSmrg ;; 1042a0c41156Smrg openrisc-*) 1043a0c41156Smrg cpu=or32 104445bc899bSmrg ;; 1045a0c41156Smrg parisc-*) 1046a0c41156Smrg cpu=hppa 1047a0c41156Smrg os=linux 104845bc899bSmrg ;; 1049a0c41156Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1050a0c41156Smrg cpu=i586 105145bc899bSmrg ;; 1052a0c41156Smrg pentiumpro-* | p6-* | 6x86-* | athlon-* | athalon_*-*) 1053a0c41156Smrg cpu=i686 1054f2408745Smrg ;; 1055a0c41156Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1056a0c41156Smrg cpu=i686 105745bc899bSmrg ;; 1058a0c41156Smrg pentium4-*) 1059a0c41156Smrg cpu=i786 106045bc899bSmrg ;; 1061a0c41156Smrg pc98-*) 1062a0c41156Smrg cpu=i386 106350f2e948Smrg ;; 1064a0c41156Smrg ppc-* | ppcbe-*) 1065a0c41156Smrg cpu=powerpc 106645bc899bSmrg ;; 1067a0c41156Smrg ppcle-* | powerpclittle-*) 1068a0c41156Smrg cpu=powerpcle 1069b40a6198Smrg ;; 1070a0c41156Smrg ppc64-*) 1071a0c41156Smrg cpu=powerpc64 107245bc899bSmrg ;; 1073a0c41156Smrg ppc64le-* | powerpc64little-*) 1074a0c41156Smrg cpu=powerpc64le 107545bc899bSmrg ;; 1076a0c41156Smrg sb1-*) 1077a0c41156Smrg cpu=mipsisa64sb1 1078b40a6198Smrg ;; 1079a0c41156Smrg sb1el-*) 1080a0c41156Smrg cpu=mipsisa64sb1el 108145bc899bSmrg ;; 1082a0c41156Smrg sh5e[lb]-*) 1083a0c41156Smrg cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'` 108445bc899bSmrg ;; 1085a0c41156Smrg spur-*) 1086a0c41156Smrg cpu=spur 108745bc899bSmrg ;; 1088a0c41156Smrg strongarm-* | thumb-*) 1089a0c41156Smrg cpu=arm 109045bc899bSmrg ;; 1091a0c41156Smrg tx39-*) 1092a0c41156Smrg cpu=mipstx39 109345bc899bSmrg ;; 1094a0c41156Smrg tx39el-*) 1095a0c41156Smrg cpu=mipstx39el 109650f2e948Smrg ;; 1097a0c41156Smrg x64-*) 1098a0c41156Smrg cpu=x86_64 109945bc899bSmrg ;; 1100a0c41156Smrg xscale-* | xscalee[bl]-*) 1101a0c41156Smrg cpu=`echo "$cpu" | sed 's/^xscale/arm/'` 110245bc899bSmrg ;; 1103a0c41156Smrg 1104a0c41156Smrg # Recognize the cannonical CPU Types that limit and/or modify the 1105a0c41156Smrg # company names they are paired with. 1106a0c41156Smrg cr16-*) 1107a0c41156Smrg os=${os:-elf} 110845bc899bSmrg ;; 1109a0c41156Smrg crisv32-* | etraxfs*-*) 1110a0c41156Smrg cpu=crisv32 1111a0c41156Smrg vendor=axis 111245bc899bSmrg ;; 1113a0c41156Smrg cris-* | etrax*-*) 1114a0c41156Smrg cpu=cris 1115a0c41156Smrg vendor=axis 111645bc899bSmrg ;; 1117a0c41156Smrg crx-*) 1118a0c41156Smrg os=${os:-elf} 111945bc899bSmrg ;; 1120a0c41156Smrg neo-tandem) 1121a0c41156Smrg cpu=neo 1122a0c41156Smrg vendor=tandem 112345bc899bSmrg ;; 1124a0c41156Smrg nse-tandem) 1125a0c41156Smrg cpu=nse 1126a0c41156Smrg vendor=tandem 112745bc899bSmrg ;; 1128a0c41156Smrg nsr-tandem) 1129a0c41156Smrg cpu=nsr 1130a0c41156Smrg vendor=tandem 113145bc899bSmrg ;; 1132a0c41156Smrg nsv-tandem) 1133a0c41156Smrg cpu=nsv 1134a0c41156Smrg vendor=tandem 113545bc899bSmrg ;; 1136a0c41156Smrg nsx-tandem) 1137a0c41156Smrg cpu=nsx 1138a0c41156Smrg vendor=tandem 113945bc899bSmrg ;; 1140a0c41156Smrg s390-*) 1141a0c41156Smrg cpu=s390 1142a0c41156Smrg vendor=ibm 1143a0c41156Smrg ;; 1144a0c41156Smrg s390x-*) 1145a0c41156Smrg cpu=s390x 1146a0c41156Smrg vendor=ibm 114745bc899bSmrg ;; 1148a0c41156Smrg tile*-*) 1149a0c41156Smrg os=${os:-linux-gnu} 115045bc899bSmrg ;; 1151a0c41156Smrg 115245bc899bSmrg *) 1153a0c41156Smrg # Recognize the cannonical CPU types that are allowed with any 1154a0c41156Smrg # company name. 1155a0c41156Smrg case $cpu in 1156a0c41156Smrg 1750a | 580 \ 1157a0c41156Smrg | a29k \ 1158a0c41156Smrg | aarch64 | aarch64_be \ 1159a0c41156Smrg | abacus \ 1160a0c41156Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] \ 1161a0c41156Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] \ 1162a0c41156Smrg | alphapca5[67] | alpha64pca5[67] \ 1163a0c41156Smrg | am33_2.0 \ 1164a0c41156Smrg | arc | arceb \ 1165a0c41156Smrg | arm | arm[lb]e | arme[lb] | armv* \ 1166a0c41156Smrg | avr | avr32 \ 1167a0c41156Smrg | asmjs \ 1168a0c41156Smrg | ba \ 1169a0c41156Smrg | be32 | be64 \ 1170a0c41156Smrg | bfin | bs2000 \ 1171a0c41156Smrg | c[123]* | c30 | [cjt]90 | c4x \ 1172a0c41156Smrg | c8051 | clipper | craynv | csky | cydra \ 1173a0c41156Smrg | d10v | d30v | dlx | dsp16xx \ 1174a0c41156Smrg | e2k | elxsi | epiphany \ 1175a0c41156Smrg | f30[01] | f700 | fido | fr30 | frv | ft32 | fx80 \ 1176a0c41156Smrg | h8300 | h8500 \ 1177a0c41156Smrg | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 1178a0c41156Smrg | hexagon \ 1179a0c41156Smrg | i370 | i*86 | i860 | i960 | ia16 | ia64 \ 1180a0c41156Smrg | ip2k | iq2000 \ 1181a0c41156Smrg | k1om \ 1182a0c41156Smrg | le32 | le64 \ 1183a0c41156Smrg | lm32 \ 1184a0c41156Smrg | m32c | m32r | m32rle \ 1185a0c41156Smrg | m5200 | m68000 | m680[012346]0 | m68360 | m683?2 | m68k | v70 | w65 \ 1186a0c41156Smrg | m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip \ 1187a0c41156Smrg | m88110 | m88k | maxq | mb | mcore | mep | metag \ 1188a0c41156Smrg | microblaze | microblazeel \ 1189a0c41156Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 1190a0c41156Smrg | mips16 \ 1191a0c41156Smrg | mips64 | mips64el \ 1192a0c41156Smrg | mips64octeon | mips64octeonel \ 1193a0c41156Smrg | mips64orion | mips64orionel \ 1194a0c41156Smrg | mips64r5900 | mips64r5900el \ 1195a0c41156Smrg | mips64vr | mips64vrel \ 1196a0c41156Smrg | mips64vr4100 | mips64vr4100el \ 1197a0c41156Smrg | mips64vr4300 | mips64vr4300el \ 1198a0c41156Smrg | mips64vr5000 | mips64vr5000el \ 1199a0c41156Smrg | mips64vr5900 | mips64vr5900el \ 1200a0c41156Smrg | mipsisa32 | mipsisa32el \ 1201a0c41156Smrg | mipsisa32r2 | mipsisa32r2el \ 1202a0c41156Smrg | mipsisa32r6 | mipsisa32r6el \ 1203a0c41156Smrg | mipsisa64 | mipsisa64el \ 1204a0c41156Smrg | mipsisa64r2 | mipsisa64r2el \ 1205a0c41156Smrg | mipsisa64r6 | mipsisa64r6el \ 1206a0c41156Smrg | mipsisa64sb1 | mipsisa64sb1el \ 1207a0c41156Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 1208a0c41156Smrg | mipsr5900 | mipsr5900el \ 1209a0c41156Smrg | mipstx39 | mipstx39el \ 1210a0c41156Smrg | mmix \ 1211a0c41156Smrg | mn10200 | mn10300 \ 1212a0c41156Smrg | moxie \ 1213a0c41156Smrg | mt \ 1214a0c41156Smrg | msp430 \ 1215a0c41156Smrg | nds32 | nds32le | nds32be \ 1216a0c41156Smrg | nfp \ 1217a0c41156Smrg | nios | nios2 | nios2eb | nios2el \ 1218a0c41156Smrg | none | np1 | ns16k | ns32k \ 1219a0c41156Smrg | open8 \ 1220a0c41156Smrg | or1k* \ 1221a0c41156Smrg | or32 \ 1222a0c41156Smrg | orion \ 1223a0c41156Smrg | pdp10 | pdp11 | pj | pjl | pn | power \ 1224a0c41156Smrg | powerpc | powerpc64 | powerpc64le | powerpcle | powerpcspe \ 1225a0c41156Smrg | pru \ 1226a0c41156Smrg | pyramid \ 1227a0c41156Smrg | riscv | riscv32 | riscv64 \ 1228a0c41156Smrg | rl78 | romp | rs6000 | rx \ 1229a0c41156Smrg | score \ 1230a0c41156Smrg | sh | sh[1234] | sh[24]a | sh[24]ae[lb] | sh[23]e | she[lb] | sh[lb]e \ 1231a0c41156Smrg | sh[1234]e[lb] | sh[12345][lb]e | sh[23]ele | sh64 | sh64le \ 1232a0c41156Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet \ 1233a0c41156Smrg | sparclite \ 1234a0c41156Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \ 1235a0c41156Smrg | spu \ 1236a0c41156Smrg | tahoe \ 1237a0c41156Smrg | tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \ 1238a0c41156Smrg | tron \ 1239a0c41156Smrg | ubicom32 \ 1240a0c41156Smrg | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ 1241a0c41156Smrg | vax \ 1242a0c41156Smrg | visium \ 1243a0c41156Smrg | wasm32 \ 1244a0c41156Smrg | we32k \ 1245a0c41156Smrg | x86 | x86_64 | xc16x | xgate | xps100 \ 1246a0c41156Smrg | xstormy16 | xtensa* \ 1247a0c41156Smrg | ymp \ 1248a0c41156Smrg | z8k | z80) 1249a0c41156Smrg ;; 1250a0c41156Smrg 1251a0c41156Smrg *) 1252a0c41156Smrg echo Invalid configuration \`"$1"\': machine \`"$cpu-$vendor"\' not recognized 1>&2 1253a0c41156Smrg exit 1 1254a0c41156Smrg ;; 1255a0c41156Smrg esac 125645bc899bSmrg ;; 125745bc899bSmrgesac 125845bc899bSmrg 125945bc899bSmrg# Here we canonicalize certain aliases for manufacturers. 1260a0c41156Smrgcase $vendor in 1261a0c41156Smrg digital*) 1262a0c41156Smrg vendor=dec 126345bc899bSmrg ;; 1264a0c41156Smrg commodore*) 1265a0c41156Smrg vendor=cbm 126645bc899bSmrg ;; 126745bc899bSmrg *) 126845bc899bSmrg ;; 126945bc899bSmrgesac 127045bc899bSmrg 127145bc899bSmrg# Decode manufacturer-specific aliases for certain operating systems. 127245bc899bSmrg 1273a0c41156Smrgif [ x$os != x ] 127445bc899bSmrgthen 127545bc899bSmrgcase $os in 1276a0c41156Smrg # First match some system type aliases that might get confused 1277a0c41156Smrg # with valid system types. 1278a0c41156Smrg # solaris* is a basic system type, with this one exception. 1279a0c41156Smrg auroraux) 1280a0c41156Smrg os=auroraux 1281b40a6198Smrg ;; 1282a0c41156Smrg bluegene*) 1283a0c41156Smrg os=cnk 128445bc899bSmrg ;; 1285a0c41156Smrg solaris1 | solaris1.*) 1286a0c41156Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 128745bc899bSmrg ;; 1288a0c41156Smrg solaris) 1289a0c41156Smrg os=solaris2 129045bc899bSmrg ;; 1291a0c41156Smrg unixware*) 1292a0c41156Smrg os=sysv4.2uw 129345bc899bSmrg ;; 1294a0c41156Smrg gnu/linux*) 129545bc899bSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 129645bc899bSmrg ;; 1297a0c41156Smrg # es1800 is here to avoid being matched by es* (a different OS) 1298a0c41156Smrg es1800*) 1299a0c41156Smrg os=ose 1300a0c41156Smrg ;; 1301a0c41156Smrg # Some version numbers need modification 1302a0c41156Smrg chorusos*) 1303a0c41156Smrg os=chorusos 1304a0c41156Smrg ;; 1305a0c41156Smrg isc) 1306a0c41156Smrg os=isc2.2 1307a0c41156Smrg ;; 1308a0c41156Smrg sco6) 1309a0c41156Smrg os=sco5v6 1310a0c41156Smrg ;; 1311a0c41156Smrg sco5) 1312a0c41156Smrg os=sco3.2v5 1313a0c41156Smrg ;; 1314a0c41156Smrg sco4) 1315a0c41156Smrg os=sco3.2v4 1316a0c41156Smrg ;; 1317a0c41156Smrg sco3.2.[4-9]*) 1318a0c41156Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1319a0c41156Smrg ;; 1320a0c41156Smrg sco3.2v[4-9]* | sco5v6*) 1321a0c41156Smrg # Don't forget version if it is 3.2v4 or newer. 1322a0c41156Smrg ;; 1323a0c41156Smrg scout) 1324a0c41156Smrg # Don't match below 1325a0c41156Smrg ;; 1326a0c41156Smrg sco*) 1327a0c41156Smrg os=sco3.2v2 1328a0c41156Smrg ;; 1329a0c41156Smrg psos*) 1330a0c41156Smrg os=psos 1331a0c41156Smrg ;; 1332a0c41156Smrg # Now accept the basic system types. 133345bc899bSmrg # The portable systems comes first. 1334a0c41156Smrg # Each alternative MUST end in a * to match a version number. 1335a0c41156Smrg # sysv* is not here because it comes later, after sysvr4. 1336a0c41156Smrg gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 1337a0c41156Smrg | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ 1338a0c41156Smrg | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 1339a0c41156Smrg | sym* | kopensolaris* | plan9* \ 1340a0c41156Smrg | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 1341a0c41156Smrg | aos* | aros* | cloudabi* | sortix* \ 1342a0c41156Smrg | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 1343a0c41156Smrg | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ 1344a0c41156Smrg | knetbsd* | mirbsd* | netbsd* \ 1345a0c41156Smrg | bitrig* | openbsd* | solidbsd* | libertybsd* \ 1346a0c41156Smrg | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ 1347a0c41156Smrg | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ 1348a0c41156Smrg | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ 1349a0c41156Smrg | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ 1350a0c41156Smrg | chorusrdb* | cegcc* | glidix* \ 1351a0c41156Smrg | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ 1352a0c41156Smrg | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ 1353a0c41156Smrg | linux-newlib* | linux-musl* | linux-uclibc* \ 1354a0c41156Smrg | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 1355a0c41156Smrg | interix* | uwin* | mks* | rhapsody* | darwin* \ 1356a0c41156Smrg | openstep* | oskit* | conix* | pw32* | nonstopux* \ 1357a0c41156Smrg | storm-chaos* | tops10* | tenex* | tops20* | its* \ 1358a0c41156Smrg | os2* | vos* | palmos* | uclinux* | nucleus* \ 1359a0c41156Smrg | morphos* | superux* | rtmk* | windiss* \ 1360a0c41156Smrg | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 1361a0c41156Smrg | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 1362a0c41156Smrg | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 1363a0c41156Smrg | midnightbsd*) 136445bc899bSmrg # Remember, each alternative MUST END IN *, to match a version number. 136545bc899bSmrg ;; 1366a0c41156Smrg qnx*) 1367a0c41156Smrg case $cpu in 1368a0c41156Smrg x86 | i*86) 136945bc899bSmrg ;; 137045bc899bSmrg *) 1371a0c41156Smrg os=nto-$os 137245bc899bSmrg ;; 137345bc899bSmrg esac 137445bc899bSmrg ;; 1375a0c41156Smrg hiux*) 1376a0c41156Smrg os=hiuxwe2 137745bc899bSmrg ;; 1378a0c41156Smrg nto-qnx*) 137945bc899bSmrg ;; 1380a0c41156Smrg nto*) 1381a0c41156Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 138245bc899bSmrg ;; 1383a0c41156Smrg sim | xray | os68k* | v88r* \ 1384a0c41156Smrg | windows* | osx | abug | netware* | os9* \ 1385a0c41156Smrg | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) 138645bc899bSmrg ;; 1387a0c41156Smrg linux-dietlibc) 1388a0c41156Smrg os=linux-dietlibc 138950f2e948Smrg ;; 1390a0c41156Smrg linux*) 139145bc899bSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 139245bc899bSmrg ;; 1393a0c41156Smrg lynx*178) 1394a0c41156Smrg os=lynxos178 139545bc899bSmrg ;; 1396a0c41156Smrg lynx*5) 1397a0c41156Smrg os=lynxos5 139845bc899bSmrg ;; 1399a0c41156Smrg lynx*) 1400a0c41156Smrg os=lynxos 140145bc899bSmrg ;; 1402a0c41156Smrg mac*) 1403a0c41156Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 140450f2e948Smrg ;; 1405a0c41156Smrg opened*) 1406a0c41156Smrg os=openedition 140745bc899bSmrg ;; 1408a0c41156Smrg os400*) 1409a0c41156Smrg os=os400 141045bc899bSmrg ;; 1411a0c41156Smrg sunos5*) 1412a0c41156Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 141345bc899bSmrg ;; 1414a0c41156Smrg sunos6*) 1415a0c41156Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 141645bc899bSmrg ;; 1417a0c41156Smrg wince*) 1418a0c41156Smrg os=wince 141945bc899bSmrg ;; 1420a0c41156Smrg utek*) 1421a0c41156Smrg os=bsd 142245bc899bSmrg ;; 1423a0c41156Smrg dynix*) 1424a0c41156Smrg os=bsd 142545bc899bSmrg ;; 1426a0c41156Smrg acis*) 1427a0c41156Smrg os=aos 142850f2e948Smrg ;; 1429a0c41156Smrg atheos*) 1430a0c41156Smrg os=atheos 143145bc899bSmrg ;; 1432a0c41156Smrg syllable*) 1433a0c41156Smrg os=syllable 1434a0c41156Smrg ;; 1435a0c41156Smrg 386bsd) 1436a0c41156Smrg os=bsd 143745bc899bSmrg ;; 1438a0c41156Smrg ctix* | uts*) 1439a0c41156Smrg os=sysv 144045bc899bSmrg ;; 1441a0c41156Smrg nova*) 1442a0c41156Smrg os=rtmk-nova 144345bc899bSmrg ;; 1444a0c41156Smrg ns2) 1445a0c41156Smrg os=nextstep2 1446a0c41156Smrg ;; 1447a0c41156Smrg nsk*) 1448a0c41156Smrg os=nsk 144945bc899bSmrg ;; 145045bc899bSmrg # Preserve the version number of sinix5. 1451a0c41156Smrg sinix5.*) 145245bc899bSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 145345bc899bSmrg ;; 1454a0c41156Smrg sinix*) 1455a0c41156Smrg os=sysv4 145650f2e948Smrg ;; 1457a0c41156Smrg tpf*) 1458a0c41156Smrg os=tpf 145945bc899bSmrg ;; 1460a0c41156Smrg triton*) 1461a0c41156Smrg os=sysv3 146245bc899bSmrg ;; 1463a0c41156Smrg oss*) 1464a0c41156Smrg os=sysv3 146545bc899bSmrg ;; 1466a0c41156Smrg svr4*) 1467a0c41156Smrg os=sysv4 146845bc899bSmrg ;; 1469a0c41156Smrg svr3) 1470a0c41156Smrg os=sysv3 147145bc899bSmrg ;; 1472a0c41156Smrg sysvr4) 1473a0c41156Smrg os=sysv4 147445bc899bSmrg ;; 1475a0c41156Smrg # This must come after sysvr4. 1476a0c41156Smrg sysv*) 147745bc899bSmrg ;; 1478a0c41156Smrg ose*) 1479a0c41156Smrg os=ose 148045bc899bSmrg ;; 1481a0c41156Smrg *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1482a0c41156Smrg os=mint 148345bc899bSmrg ;; 1484a0c41156Smrg zvmoe) 1485a0c41156Smrg os=zvmoe 148645bc899bSmrg ;; 1487a0c41156Smrg dicos*) 1488a0c41156Smrg os=dicos 148945bc899bSmrg ;; 1490a0c41156Smrg pikeos*) 1491a0c41156Smrg # Until real need of OS specific support for 1492a0c41156Smrg # particular features comes up, bare metal 1493a0c41156Smrg # configurations are quite functional. 1494a0c41156Smrg case $cpu in 1495a0c41156Smrg arm*) 1496a0c41156Smrg os=eabi 1497a0c41156Smrg ;; 1498a0c41156Smrg *) 1499a0c41156Smrg os=elf 1500a0c41156Smrg ;; 1501a0c41156Smrg esac 150250f2e948Smrg ;; 1503a0c41156Smrg nacl*) 1504b40a6198Smrg ;; 1505a0c41156Smrg ios) 1506b40a6198Smrg ;; 1507a0c41156Smrg none) 1508f2408745Smrg ;; 1509a0c41156Smrg *-eabi) 151045bc899bSmrg ;; 151145bc899bSmrg *) 1512a0c41156Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 151345bc899bSmrg exit 1 151445bc899bSmrg ;; 151545bc899bSmrgesac 151645bc899bSmrgelse 151745bc899bSmrg 151845bc899bSmrg# Here we handle the default operating systems that come with various machines. 151945bc899bSmrg# The value should be what the vendor currently ships out the door with their 152045bc899bSmrg# machine or put another way, the most popular os provided with the machine. 152145bc899bSmrg 152245bc899bSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 152345bc899bSmrg# "-sun"), then you have to tell the case statement up towards the top 152445bc899bSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 152545bc899bSmrg# will signal an error saying that MANUFACTURER isn't an operating 152645bc899bSmrg# system, and we'll never get to this point. 152745bc899bSmrg 1528a0c41156Smrgcase $cpu-$vendor in 1529b40a6198Smrg score-*) 1530a0c41156Smrg os=elf 153150f2e948Smrg ;; 1532b40a6198Smrg spu-*) 1533a0c41156Smrg os=elf 153450f2e948Smrg ;; 153545bc899bSmrg *-acorn) 1536a0c41156Smrg os=riscix1.2 153745bc899bSmrg ;; 153845bc899bSmrg arm*-rebel) 1539a0c41156Smrg os=linux 154045bc899bSmrg ;; 154145bc899bSmrg arm*-semi) 1542a0c41156Smrg os=aout 154345bc899bSmrg ;; 1544b40a6198Smrg c4x-* | tic4x-*) 1545a0c41156Smrg os=coff 1546b40a6198Smrg ;; 1547c97b1c41Smrg c8051-*) 1548a0c41156Smrg os=elf 1549a0c41156Smrg ;; 1550a0c41156Smrg clipper-intergraph) 1551a0c41156Smrg os=clix 1552c97b1c41Smrg ;; 1553c97b1c41Smrg hexagon-*) 1554a0c41156Smrg os=elf 1555c97b1c41Smrg ;; 1556b40a6198Smrg tic54x-*) 1557a0c41156Smrg os=coff 1558b40a6198Smrg ;; 1559b40a6198Smrg tic55x-*) 1560a0c41156Smrg os=coff 1561b40a6198Smrg ;; 1562b40a6198Smrg tic6x-*) 1563a0c41156Smrg os=coff 156445bc899bSmrg ;; 156545bc899bSmrg # This must come before the *-dec entry. 156645bc899bSmrg pdp10-*) 1567a0c41156Smrg os=tops20 156845bc899bSmrg ;; 156945bc899bSmrg pdp11-*) 1570a0c41156Smrg os=none 157145bc899bSmrg ;; 157245bc899bSmrg *-dec | vax-*) 1573a0c41156Smrg os=ultrix4.2 157445bc899bSmrg ;; 157545bc899bSmrg m68*-apollo) 1576a0c41156Smrg os=domain 157745bc899bSmrg ;; 157845bc899bSmrg i386-sun) 1579a0c41156Smrg os=sunos4.0.2 158045bc899bSmrg ;; 158145bc899bSmrg m68000-sun) 1582a0c41156Smrg os=sunos3 158345bc899bSmrg ;; 158445bc899bSmrg m68*-cisco) 1585a0c41156Smrg os=aout 158645bc899bSmrg ;; 1587b40a6198Smrg mep-*) 1588a0c41156Smrg os=elf 158950f2e948Smrg ;; 159045bc899bSmrg mips*-cisco) 1591a0c41156Smrg os=elf 159245bc899bSmrg ;; 159345bc899bSmrg mips*-*) 1594a0c41156Smrg os=elf 159545bc899bSmrg ;; 159645bc899bSmrg or32-*) 1597a0c41156Smrg os=coff 159845bc899bSmrg ;; 159945bc899bSmrg *-tti) # must be before sparc entry or we get the wrong os. 1600a0c41156Smrg os=sysv3 160145bc899bSmrg ;; 160245bc899bSmrg sparc-* | *-sun) 1603a0c41156Smrg os=sunos4.1.1 160445bc899bSmrg ;; 1605f2408745Smrg pru-*) 1606a0c41156Smrg os=elf 1607f2408745Smrg ;; 160845bc899bSmrg *-be) 1609a0c41156Smrg os=beos 161050f2e948Smrg ;; 161145bc899bSmrg *-ibm) 1612a0c41156Smrg os=aix 161345bc899bSmrg ;; 1614b40a6198Smrg *-knuth) 1615a0c41156Smrg os=mmixware 161650f2e948Smrg ;; 161745bc899bSmrg *-wec) 1618a0c41156Smrg os=proelf 161945bc899bSmrg ;; 162045bc899bSmrg *-winbond) 1621a0c41156Smrg os=proelf 162245bc899bSmrg ;; 162345bc899bSmrg *-oki) 1624a0c41156Smrg os=proelf 162545bc899bSmrg ;; 162645bc899bSmrg *-hp) 1627a0c41156Smrg os=hpux 162845bc899bSmrg ;; 162945bc899bSmrg *-hitachi) 1630a0c41156Smrg os=hiux 163145bc899bSmrg ;; 163245bc899bSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1633a0c41156Smrg os=sysv 163445bc899bSmrg ;; 163545bc899bSmrg *-cbm) 1636a0c41156Smrg os=amigaos 163745bc899bSmrg ;; 163845bc899bSmrg *-dg) 1639a0c41156Smrg os=dgux 164045bc899bSmrg ;; 164145bc899bSmrg *-dolphin) 1642a0c41156Smrg os=sysv3 164345bc899bSmrg ;; 164445bc899bSmrg m68k-ccur) 1645a0c41156Smrg os=rtu 164645bc899bSmrg ;; 164745bc899bSmrg m88k-omron*) 1648a0c41156Smrg os=luna 164945bc899bSmrg ;; 1650a0c41156Smrg *-next) 1651a0c41156Smrg os=nextstep 165245bc899bSmrg ;; 165345bc899bSmrg *-sequent) 1654a0c41156Smrg os=ptx 165545bc899bSmrg ;; 165645bc899bSmrg *-crds) 1657a0c41156Smrg os=unos 165845bc899bSmrg ;; 165945bc899bSmrg *-ns) 1660a0c41156Smrg os=genix 166145bc899bSmrg ;; 166245bc899bSmrg i370-*) 1663a0c41156Smrg os=mvs 166445bc899bSmrg ;; 166545bc899bSmrg *-gould) 1666a0c41156Smrg os=sysv 166745bc899bSmrg ;; 166845bc899bSmrg *-highlevel) 1669a0c41156Smrg os=bsd 167045bc899bSmrg ;; 167145bc899bSmrg *-encore) 1672a0c41156Smrg os=bsd 167345bc899bSmrg ;; 167445bc899bSmrg *-sgi) 1675a0c41156Smrg os=irix 167645bc899bSmrg ;; 167745bc899bSmrg *-siemens) 1678a0c41156Smrg os=sysv4 167945bc899bSmrg ;; 168045bc899bSmrg *-masscomp) 1681a0c41156Smrg os=rtu 168245bc899bSmrg ;; 168345bc899bSmrg f30[01]-fujitsu | f700-fujitsu) 1684a0c41156Smrg os=uxpv 168545bc899bSmrg ;; 168645bc899bSmrg *-rom68k) 1687a0c41156Smrg os=coff 168845bc899bSmrg ;; 168945bc899bSmrg *-*bug) 1690a0c41156Smrg os=coff 169145bc899bSmrg ;; 169245bc899bSmrg *-apple) 1693a0c41156Smrg os=macos 169445bc899bSmrg ;; 169545bc899bSmrg *-atari*) 1696a0c41156Smrg os=mint 1697a0c41156Smrg ;; 1698a0c41156Smrg *-wrs) 1699a0c41156Smrg os=vxworks 170045bc899bSmrg ;; 170145bc899bSmrg *) 1702a0c41156Smrg os=none 170345bc899bSmrg ;; 170445bc899bSmrgesac 170545bc899bSmrgfi 170645bc899bSmrg 170745bc899bSmrg# Here we handle the case where we know the os, and the CPU type, but not the 170845bc899bSmrg# manufacturer. We pick the logical manufacturer. 1709a0c41156Smrgcase $vendor in 1710a0c41156Smrg unknown) 171145bc899bSmrg case $os in 1712a0c41156Smrg riscix*) 171345bc899bSmrg vendor=acorn 171445bc899bSmrg ;; 1715a0c41156Smrg sunos*) 171645bc899bSmrg vendor=sun 171745bc899bSmrg ;; 1718a0c41156Smrg cnk*|-aix*) 171945bc899bSmrg vendor=ibm 172045bc899bSmrg ;; 1721a0c41156Smrg beos*) 172245bc899bSmrg vendor=be 172345bc899bSmrg ;; 1724a0c41156Smrg hpux*) 172545bc899bSmrg vendor=hp 172645bc899bSmrg ;; 1727a0c41156Smrg mpeix*) 172845bc899bSmrg vendor=hp 172945bc899bSmrg ;; 1730a0c41156Smrg hiux*) 173145bc899bSmrg vendor=hitachi 173245bc899bSmrg ;; 1733a0c41156Smrg unos*) 173445bc899bSmrg vendor=crds 173545bc899bSmrg ;; 1736a0c41156Smrg dgux*) 173745bc899bSmrg vendor=dg 173845bc899bSmrg ;; 1739a0c41156Smrg luna*) 174045bc899bSmrg vendor=omron 174145bc899bSmrg ;; 1742a0c41156Smrg genix*) 174345bc899bSmrg vendor=ns 174445bc899bSmrg ;; 1745a0c41156Smrg clix*) 1746a0c41156Smrg vendor=intergraph 1747a0c41156Smrg ;; 1748a0c41156Smrg mvs* | opened*) 174945bc899bSmrg vendor=ibm 175045bc899bSmrg ;; 1751a0c41156Smrg os400*) 175250f2e948Smrg vendor=ibm 175350f2e948Smrg ;; 1754a0c41156Smrg ptx*) 175545bc899bSmrg vendor=sequent 175645bc899bSmrg ;; 1757a0c41156Smrg tpf*) 175850f2e948Smrg vendor=ibm 175950f2e948Smrg ;; 1760a0c41156Smrg vxsim* | vxworks* | windiss*) 176145bc899bSmrg vendor=wrs 176245bc899bSmrg ;; 1763a0c41156Smrg aux*) 176445bc899bSmrg vendor=apple 176545bc899bSmrg ;; 1766a0c41156Smrg hms*) 176745bc899bSmrg vendor=hitachi 176845bc899bSmrg ;; 1769a0c41156Smrg mpw* | macos*) 177045bc899bSmrg vendor=apple 177145bc899bSmrg ;; 1772a0c41156Smrg *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 177345bc899bSmrg vendor=atari 177445bc899bSmrg ;; 1775a0c41156Smrg vos*) 177645bc899bSmrg vendor=stratus 177745bc899bSmrg ;; 177845bc899bSmrg esac 177945bc899bSmrg ;; 178045bc899bSmrgesac 178145bc899bSmrg 1782a0c41156Smrgecho "$cpu-$vendor-$os" 178350f2e948Smrgexit 178445bc899bSmrg 178545bc899bSmrg# Local variables: 1786a0c41156Smrg# eval: (add-hook 'before-save-hook 'time-stamp) 178745bc899bSmrg# time-stamp-start: "timestamp='" 178845bc899bSmrg# time-stamp-format: "%:y-%02m-%02d" 178945bc899bSmrg# time-stamp-end: "'" 179045bc899bSmrg# End: 1791