1335640Shselasky#! /bin/sh 2335640Shselasky# Configuration validation subroutine script. 3356341Scy# Copyright 1992-2018 Free Software Foundation, Inc. 4335640Shselasky 5356341Scytimestamp='2018-07-03' 6335640Shselasky 7335640Shselasky# This file is free software; you can redistribute it and/or modify it 8335640Shselasky# under the terms of the GNU General Public License as published by 9335640Shselasky# the Free Software Foundation; either version 3 of the License, or 10335640Shselasky# (at your option) any later version. 11335640Shselasky# 12335640Shselasky# This program is distributed in the hope that it will be useful, but 13335640Shselasky# WITHOUT ANY WARRANTY; without even the implied warranty of 14335640Shselasky# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15335640Shselasky# General Public License for more details. 16335640Shselasky# 17335640Shselasky# You should have received a copy of the GNU General Public License 18356341Scy# along with this program; if not, see <https://www.gnu.org/licenses/>. 19335640Shselasky# 20335640Shselasky# As a special exception to the GNU General Public License, if you 21335640Shselasky# distribute this file as part of a program that contains a 22335640Shselasky# configuration script generated by Autoconf, you may include it under 23335640Shselasky# the same distribution terms that you use for the rest of that 24335640Shselasky# program. This Exception is an additional permission under section 7 25335640Shselasky# of the GNU General Public License, version 3 ("GPLv3"). 26335640Shselasky 27335640Shselasky 28335640Shselasky# Please send patches to <config-patches@gnu.org>. 29335640Shselasky# 30335640Shselasky# Configuration subroutine to validate and canonicalize a configuration type. 31335640Shselasky# Supply the specified configuration type as an argument. 32335640Shselasky# If it is invalid, we print an error message on stderr and exit with code 1. 33335640Shselasky# Otherwise, we print the canonical config type on stdout and succeed. 34335640Shselasky 35335640Shselasky# You can get the latest version of this script from: 36356341Scy# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 37335640Shselasky 38335640Shselasky# This file is supposed to be the same for all GNU packages 39335640Shselasky# and recognize all the CPU types, system types and aliases 40335640Shselasky# that are meaningful with *any* GNU software. 41335640Shselasky# Each package is responsible for reporting which valid configurations 42335640Shselasky# it does not support. The user should be able to distinguish 43335640Shselasky# a failure to support a valid configuration from a meaningless 44335640Shselasky# configuration. 45335640Shselasky 46335640Shselasky# The goal of this file is to map all the various variations of a given 47335640Shselasky# machine specification into a single specification in the form: 48335640Shselasky# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 49335640Shselasky# or in some cases, the newer four-part form: 50335640Shselasky# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 51335640Shselasky# It is wrong to echo any other type of specification. 52335640Shselasky 53335640Shselaskyme=`echo "$0" | sed -e 's,.*/,,'` 54335640Shselasky 55335640Shselaskyusage="\ 56356341ScyUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 57335640Shselasky 58335640ShselaskyCanonicalize a configuration name. 59335640Shselasky 60356341ScyOptions: 61335640Shselasky -h, --help print this help, then exit 62335640Shselasky -t, --time-stamp print date of last modification, then exit 63335640Shselasky -v, --version print version number, then exit 64335640Shselasky 65335640ShselaskyReport bugs and patches to <config-patches@gnu.org>." 66335640Shselasky 67335640Shselaskyversion="\ 68335640ShselaskyGNU config.sub ($timestamp) 69335640Shselasky 70356341ScyCopyright 1992-2018 Free Software Foundation, Inc. 71335640Shselasky 72335640ShselaskyThis is free software; see the source for copying conditions. There is NO 73335640Shselaskywarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 74335640Shselasky 75335640Shselaskyhelp=" 76335640ShselaskyTry \`$me --help' for more information." 77335640Shselasky 78335640Shselasky# Parse command line 79335640Shselaskywhile test $# -gt 0 ; do 80335640Shselasky case $1 in 81335640Shselasky --time-stamp | --time* | -t ) 82335640Shselasky echo "$timestamp" ; exit ;; 83335640Shselasky --version | -v ) 84335640Shselasky echo "$version" ; exit ;; 85335640Shselasky --help | --h* | -h ) 86335640Shselasky echo "$usage"; exit ;; 87335640Shselasky -- ) # Stop option processing 88335640Shselasky shift; break ;; 89335640Shselasky - ) # Use stdin as input. 90335640Shselasky break ;; 91335640Shselasky -* ) 92335640Shselasky echo "$me: invalid option $1$help" 93335640Shselasky exit 1 ;; 94335640Shselasky 95335640Shselasky *local*) 96335640Shselasky # First pass through any local machine types. 97356341Scy echo "$1" 98335640Shselasky exit ;; 99335640Shselasky 100335640Shselasky * ) 101335640Shselasky break ;; 102335640Shselasky esac 103335640Shselaskydone 104335640Shselasky 105335640Shselaskycase $# in 106335640Shselasky 0) echo "$me: missing argument$help" >&2 107335640Shselasky exit 1;; 108335640Shselasky 1) ;; 109335640Shselasky *) echo "$me: too many arguments$help" >&2 110335640Shselasky exit 1;; 111335640Shselaskyesac 112335640Shselasky 113356341Scy# Split fields of configuration type 114356341ScyIFS="-" read -r field1 field2 field3 field4 <<EOF 115356341Scy$1 116356341ScyEOF 117335640Shselasky 118356341Scy# Separate into logical components for further validation 119356341Scycase $1 in 120356341Scy *-*-*-*-*) 121356341Scy echo Invalid configuration \`"$1"\': more than four components >&2 122356341Scy exit 1 123335640Shselasky ;; 124356341Scy *-*-*-*) 125356341Scy basic_machine=$field1-$field2 126356341Scy os=$field3-$field4 127335640Shselasky ;; 128356341Scy *-*-*) 129356341Scy # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two 130356341Scy # parts 131356341Scy maybe_os=$field2-$field3 132356341Scy case $maybe_os in 133356341Scy nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \ 134356341Scy | linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \ 135356341Scy | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ 136356341Scy | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ 137356341Scy | storm-chaos* | os2-emx* | rtmk-nova*) 138356341Scy basic_machine=$field1 139356341Scy os=$maybe_os 140356341Scy ;; 141356341Scy android-linux) 142356341Scy basic_machine=$field1-unknown 143356341Scy os=linux-android 144356341Scy ;; 145356341Scy *) 146356341Scy basic_machine=$field1-$field2 147356341Scy os=$field3 148356341Scy ;; 149356341Scy esac 150335640Shselasky ;; 151356341Scy *-*) 152356341Scy # Second component is usually, but not always the OS 153356341Scy case $field2 in 154356341Scy # Prevent following clause from handling this valid os 155356341Scy sun*os*) 156356341Scy basic_machine=$field1 157356341Scy os=$field2 158356341Scy ;; 159356341Scy # Manufacturers 160356341Scy dec* | mips* | sequent* | encore* | pc532* | sgi* | sony* \ 161356341Scy | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ 162356341Scy | unicom* | ibm* | next | hp | isi* | apollo | altos* \ 163356341Scy | convergent* | ncr* | news | 32* | 3600* | 3100* | hitachi* \ 164356341Scy | c[123]* | convex* | sun | crds | omron* | dg | ultra | tti* \ 165356341Scy | harris | dolphin | highlevel | gould | cbm | ns | masscomp \ 166356341Scy | apple | axis | knuth | cray | microblaze* \ 167356341Scy | sim | cisco | oki | wec | wrs | winbond) 168356341Scy basic_machine=$field1-$field2 169356341Scy os= 170356341Scy ;; 171356341Scy *) 172356341Scy basic_machine=$field1 173356341Scy os=$field2 174356341Scy ;; 175356341Scy esac 176335640Shselasky ;; 177356341Scy *) 178356341Scy # Convert single-component short-hands not valid as part of 179356341Scy # multi-component configurations. 180356341Scy case $field1 in 181356341Scy 386bsd) 182356341Scy basic_machine=i386-pc 183356341Scy os=bsd 184356341Scy ;; 185356341Scy a29khif) 186356341Scy basic_machine=a29k-amd 187356341Scy os=udi 188356341Scy ;; 189356341Scy adobe68k) 190356341Scy basic_machine=m68010-adobe 191356341Scy os=scout 192356341Scy ;; 193356341Scy am29k) 194356341Scy basic_machine=a29k-none 195356341Scy os=bsd 196356341Scy ;; 197356341Scy amdahl) 198356341Scy basic_machine=580-amdahl 199356341Scy os=sysv 200356341Scy ;; 201356341Scy amigaos | amigados) 202356341Scy basic_machine=m68k-unknown 203356341Scy os=amigaos 204356341Scy ;; 205356341Scy amigaunix | amix) 206356341Scy basic_machine=m68k-unknown 207356341Scy os=sysv4 208356341Scy ;; 209356341Scy apollo68) 210356341Scy basic_machine=m68k-apollo 211356341Scy os=sysv 212356341Scy ;; 213356341Scy apollo68bsd) 214356341Scy basic_machine=m68k-apollo 215356341Scy os=bsd 216356341Scy ;; 217356341Scy aros) 218356341Scy basic_machine=i386-pc 219356341Scy os=aros 220356341Scy ;; 221356341Scy aux) 222356341Scy basic_machine=m68k-apple 223356341Scy os=aux 224356341Scy ;; 225356341Scy balance) 226356341Scy basic_machine=ns32k-sequent 227356341Scy os=dynix 228356341Scy ;; 229356341Scy blackfin) 230356341Scy basic_machine=bfin-unknown 231356341Scy os=linux 232356341Scy ;; 233356341Scy cegcc) 234356341Scy basic_machine=arm-unknown 235356341Scy os=cegcc 236356341Scy ;; 237356341Scy cray) 238356341Scy basic_machine=j90-cray 239356341Scy os=unicos 240356341Scy ;; 241356341Scy craynv) 242356341Scy basic_machine=craynv-cray 243356341Scy os=unicosmp 244356341Scy ;; 245356341Scy delta88) 246356341Scy basic_machine=m88k-motorola 247356341Scy os=sysv3 248356341Scy ;; 249356341Scy dicos) 250356341Scy basic_machine=i686-pc 251356341Scy os=dicos 252356341Scy ;; 253356341Scy djgpp) 254356341Scy basic_machine=i586-pc 255356341Scy os=msdosdjgpp 256356341Scy ;; 257356341Scy ebmon29k) 258356341Scy basic_machine=a29k-amd 259356341Scy os=ebmon 260356341Scy ;; 261356341Scy es1800 | OSE68k | ose68k | ose | OSE) 262356341Scy basic_machine=m68k-ericsson 263356341Scy os=ose 264356341Scy ;; 265356341Scy gmicro) 266356341Scy basic_machine=tron-gmicro 267356341Scy os=sysv 268356341Scy ;; 269356341Scy go32) 270356341Scy basic_machine=i386-pc 271356341Scy os=go32 272356341Scy ;; 273356341Scy h8300hms) 274356341Scy basic_machine=h8300-hitachi 275356341Scy os=hms 276356341Scy ;; 277356341Scy h8300xray) 278356341Scy basic_machine=h8300-hitachi 279356341Scy os=xray 280356341Scy ;; 281356341Scy h8500hms) 282356341Scy basic_machine=h8500-hitachi 283356341Scy os=hms 284356341Scy ;; 285356341Scy harris) 286356341Scy basic_machine=m88k-harris 287356341Scy os=sysv3 288356341Scy ;; 289356341Scy hp300bsd) 290356341Scy basic_machine=m68k-hp 291356341Scy os=bsd 292356341Scy ;; 293356341Scy hp300hpux) 294356341Scy basic_machine=m68k-hp 295356341Scy os=hpux 296356341Scy ;; 297356341Scy hppaosf) 298356341Scy basic_machine=hppa1.1-hp 299356341Scy os=osf 300356341Scy ;; 301356341Scy hppro) 302356341Scy basic_machine=hppa1.1-hp 303356341Scy os=proelf 304356341Scy ;; 305356341Scy i386mach) 306356341Scy basic_machine=i386-mach 307356341Scy os=mach 308356341Scy ;; 309356341Scy vsta) 310356341Scy basic_machine=i386-unknown 311356341Scy os=vsta 312356341Scy ;; 313356341Scy isi68 | isi) 314356341Scy basic_machine=m68k-isi 315356341Scy os=sysv 316356341Scy ;; 317356341Scy m68knommu) 318356341Scy basic_machine=m68k-unknown 319356341Scy os=linux 320356341Scy ;; 321356341Scy magnum | m3230) 322356341Scy basic_machine=mips-mips 323356341Scy os=sysv 324356341Scy ;; 325356341Scy merlin) 326356341Scy basic_machine=ns32k-utek 327356341Scy os=sysv 328356341Scy ;; 329356341Scy mingw64) 330356341Scy basic_machine=x86_64-pc 331356341Scy os=mingw64 332356341Scy ;; 333356341Scy mingw32) 334356341Scy basic_machine=i686-pc 335356341Scy os=mingw32 336356341Scy ;; 337356341Scy mingw32ce) 338356341Scy basic_machine=arm-unknown 339356341Scy os=mingw32ce 340356341Scy ;; 341356341Scy monitor) 342356341Scy basic_machine=m68k-rom68k 343356341Scy os=coff 344356341Scy ;; 345356341Scy morphos) 346356341Scy basic_machine=powerpc-unknown 347356341Scy os=morphos 348356341Scy ;; 349356341Scy moxiebox) 350356341Scy basic_machine=moxie-unknown 351356341Scy os=moxiebox 352356341Scy ;; 353356341Scy msdos) 354356341Scy basic_machine=i386-pc 355356341Scy os=msdos 356356341Scy ;; 357356341Scy msys) 358356341Scy basic_machine=i686-pc 359356341Scy os=msys 360356341Scy ;; 361356341Scy mvs) 362356341Scy basic_machine=i370-ibm 363356341Scy os=mvs 364356341Scy ;; 365356341Scy nacl) 366356341Scy basic_machine=le32-unknown 367356341Scy os=nacl 368356341Scy ;; 369356341Scy ncr3000) 370356341Scy basic_machine=i486-ncr 371356341Scy os=sysv4 372356341Scy ;; 373356341Scy netbsd386) 374356341Scy basic_machine=i386-unknown 375356341Scy os=netbsd 376356341Scy ;; 377356341Scy netwinder) 378356341Scy basic_machine=armv4l-rebel 379356341Scy os=linux 380356341Scy ;; 381356341Scy news | news700 | news800 | news900) 382356341Scy basic_machine=m68k-sony 383356341Scy os=newsos 384356341Scy ;; 385356341Scy news1000) 386356341Scy basic_machine=m68030-sony 387356341Scy os=newsos 388356341Scy ;; 389356341Scy necv70) 390356341Scy basic_machine=v70-nec 391356341Scy os=sysv 392356341Scy ;; 393356341Scy nh3000) 394356341Scy basic_machine=m68k-harris 395356341Scy os=cxux 396356341Scy ;; 397356341Scy nh[45]000) 398356341Scy basic_machine=m88k-harris 399356341Scy os=cxux 400356341Scy ;; 401356341Scy nindy960) 402356341Scy basic_machine=i960-intel 403356341Scy os=nindy 404356341Scy ;; 405356341Scy mon960) 406356341Scy basic_machine=i960-intel 407356341Scy os=mon960 408356341Scy ;; 409356341Scy nonstopux) 410356341Scy basic_machine=mips-compaq 411356341Scy os=nonstopux 412356341Scy ;; 413356341Scy os400) 414356341Scy basic_machine=powerpc-ibm 415356341Scy os=os400 416356341Scy ;; 417356341Scy OSE68000 | ose68000) 418356341Scy basic_machine=m68000-ericsson 419356341Scy os=ose 420356341Scy ;; 421356341Scy os68k) 422356341Scy basic_machine=m68k-none 423356341Scy os=os68k 424356341Scy ;; 425356341Scy paragon) 426356341Scy basic_machine=i860-intel 427356341Scy os=osf 428356341Scy ;; 429356341Scy parisc) 430356341Scy basic_machine=hppa-unknown 431356341Scy os=linux 432356341Scy ;; 433356341Scy pw32) 434356341Scy basic_machine=i586-unknown 435356341Scy os=pw32 436356341Scy ;; 437356341Scy rdos | rdos64) 438356341Scy basic_machine=x86_64-pc 439356341Scy os=rdos 440356341Scy ;; 441356341Scy rdos32) 442356341Scy basic_machine=i386-pc 443356341Scy os=rdos 444356341Scy ;; 445356341Scy rom68k) 446356341Scy basic_machine=m68k-rom68k 447356341Scy os=coff 448356341Scy ;; 449356341Scy sa29200) 450356341Scy basic_machine=a29k-amd 451356341Scy os=udi 452356341Scy ;; 453356341Scy sei) 454356341Scy basic_machine=mips-sei 455356341Scy os=seiux 456356341Scy ;; 457356341Scy sps7) 458356341Scy basic_machine=m68k-bull 459356341Scy os=sysv2 460356341Scy ;; 461356341Scy stratus) 462356341Scy basic_machine=i860-stratus 463356341Scy os=sysv4 464356341Scy ;; 465356341Scy sun2os3) 466356341Scy basic_machine=m68000-sun 467356341Scy os=sunos3 468356341Scy ;; 469356341Scy sun2os4) 470356341Scy basic_machine=m68000-sun 471356341Scy os=sunos4 472356341Scy ;; 473356341Scy sun3os3) 474356341Scy basic_machine=m68k-sun 475356341Scy os=sunos3 476356341Scy ;; 477356341Scy sun3os4) 478356341Scy basic_machine=m68k-sun 479356341Scy os=sunos4 480356341Scy ;; 481356341Scy sun4os3) 482356341Scy basic_machine=sparc-sun 483356341Scy os=sunos3 484356341Scy ;; 485356341Scy sun4os4) 486356341Scy basic_machine=sparc-sun 487356341Scy os=sunos4 488356341Scy ;; 489356341Scy sun4sol2) 490356341Scy basic_machine=sparc-sun 491356341Scy os=solaris2 492356341Scy ;; 493356341Scy sv1) 494356341Scy basic_machine=sv1-cray 495356341Scy os=unicos 496356341Scy ;; 497356341Scy symmetry) 498356341Scy basic_machine=i386-sequent 499356341Scy os=dynix 500356341Scy ;; 501356341Scy t3e) 502356341Scy basic_machine=alphaev5-cray 503356341Scy os=unicos 504356341Scy ;; 505356341Scy t90) 506356341Scy basic_machine=t90-cray 507356341Scy os=unicos 508356341Scy ;; 509356341Scy toad1) 510356341Scy basic_machine=pdp10-xkl 511356341Scy os=tops20 512356341Scy ;; 513356341Scy tpf) 514356341Scy basic_machine=s390x-ibm 515356341Scy os=tpf 516356341Scy ;; 517356341Scy udi29k) 518356341Scy basic_machine=a29k-amd 519356341Scy os=udi 520356341Scy ;; 521356341Scy ultra3) 522356341Scy basic_machine=a29k-nyu 523356341Scy os=sym1 524356341Scy ;; 525356341Scy v810 | necv810) 526356341Scy basic_machine=v810-nec 527356341Scy os=none 528356341Scy ;; 529356341Scy vaxv) 530356341Scy basic_machine=vax-dec 531356341Scy os=sysv 532356341Scy ;; 533356341Scy vms) 534356341Scy basic_machine=vax-dec 535356341Scy os=vms 536356341Scy ;; 537356341Scy vxworks960) 538356341Scy basic_machine=i960-wrs 539356341Scy os=vxworks 540356341Scy ;; 541356341Scy vxworks68) 542356341Scy basic_machine=m68k-wrs 543356341Scy os=vxworks 544356341Scy ;; 545356341Scy vxworks29k) 546356341Scy basic_machine=a29k-wrs 547356341Scy os=vxworks 548356341Scy ;; 549356341Scy xbox) 550356341Scy basic_machine=i686-pc 551356341Scy os=mingw32 552356341Scy ;; 553356341Scy ymp) 554356341Scy basic_machine=ymp-cray 555356341Scy os=unicos 556356341Scy ;; 557356341Scy *) 558356341Scy basic_machine=$1 559356341Scy os= 560356341Scy ;; 561356341Scy esac 562335640Shselasky ;; 563335640Shselaskyesac 564335640Shselasky 565335640Shselasky# Decode aliases for certain CPU-COMPANY combinations. 566335640Shselaskycase $basic_machine in 567335640Shselasky # Recognize the basic CPU types without company name. 568335640Shselasky # Some are omitted here because they have special meanings below. 569335640Shselasky 1750a | 580 \ 570335640Shselasky | a29k \ 571335640Shselasky | aarch64 | aarch64_be \ 572335640Shselasky | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 573335640Shselasky | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 574335640Shselasky | am33_2.0 \ 575335640Shselasky | arc | arceb \ 576356341Scy | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \ 577335640Shselasky | avr | avr32 \ 578356341Scy | ba \ 579335640Shselasky | be32 | be64 \ 580335640Shselasky | bfin \ 581356341Scy | c4x | c8051 | clipper | csky \ 582335640Shselasky | d10v | d30v | dlx | dsp16xx \ 583356341Scy | e2k | epiphany \ 584335640Shselasky | fido | fr30 | frv | ft32 \ 585335640Shselasky | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 586335640Shselasky | hexagon \ 587356341Scy | i370 | i860 | i960 | ia16 | ia64 \ 588335640Shselasky | ip2k | iq2000 \ 589335640Shselasky | k1om \ 590335640Shselasky | le32 | le64 \ 591335640Shselasky | lm32 \ 592335640Shselasky | m32c | m32r | m32rle | m68000 | m68k | m88k \ 593335640Shselasky | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 594335640Shselasky | mips | mipsbe | mipseb | mipsel | mipsle \ 595335640Shselasky | mips16 \ 596335640Shselasky | mips64 | mips64el \ 597335640Shselasky | mips64octeon | mips64octeonel \ 598335640Shselasky | mips64orion | mips64orionel \ 599335640Shselasky | mips64r5900 | mips64r5900el \ 600335640Shselasky | mips64vr | mips64vrel \ 601335640Shselasky | mips64vr4100 | mips64vr4100el \ 602335640Shselasky | mips64vr4300 | mips64vr4300el \ 603335640Shselasky | mips64vr5000 | mips64vr5000el \ 604335640Shselasky | mips64vr5900 | mips64vr5900el \ 605335640Shselasky | mipsisa32 | mipsisa32el \ 606335640Shselasky | mipsisa32r2 | mipsisa32r2el \ 607335640Shselasky | mipsisa32r6 | mipsisa32r6el \ 608335640Shselasky | mipsisa64 | mipsisa64el \ 609335640Shselasky | mipsisa64r2 | mipsisa64r2el \ 610335640Shselasky | mipsisa64r6 | mipsisa64r6el \ 611335640Shselasky | mipsisa64sb1 | mipsisa64sb1el \ 612335640Shselasky | mipsisa64sr71k | mipsisa64sr71kel \ 613335640Shselasky | mipsr5900 | mipsr5900el \ 614335640Shselasky | mipstx39 | mipstx39el \ 615335640Shselasky | mn10200 | mn10300 \ 616335640Shselasky | moxie \ 617335640Shselasky | mt \ 618335640Shselasky | msp430 \ 619335640Shselasky | nds32 | nds32le | nds32be \ 620356341Scy | nfp \ 621335640Shselasky | nios | nios2 | nios2eb | nios2el \ 622335640Shselasky | ns16k | ns32k \ 623335640Shselasky | open8 | or1k | or1knd | or32 \ 624356341Scy | pdp10 | pj | pjl \ 625335640Shselasky | powerpc | powerpc64 | powerpc64le | powerpcle \ 626356341Scy | pru \ 627335640Shselasky | pyramid \ 628356341Scy | riscv | riscv32 | riscv64 \ 629335640Shselasky | rl78 | rx \ 630335640Shselasky | score \ 631356341Scy | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 632335640Shselasky | sh64 | sh64le \ 633335640Shselasky | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 634335640Shselasky | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 635335640Shselasky | spu \ 636335640Shselasky | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 637335640Shselasky | ubicom32 \ 638335640Shselasky | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 639335640Shselasky | visium \ 640356341Scy | wasm32 \ 641335640Shselasky | x86 | xc16x | xstormy16 | xtensa \ 642335640Shselasky | z8k | z80) 643335640Shselasky basic_machine=$basic_machine-unknown 644335640Shselasky ;; 645335640Shselasky c54x) 646335640Shselasky basic_machine=tic54x-unknown 647335640Shselasky ;; 648335640Shselasky c55x) 649335640Shselasky basic_machine=tic55x-unknown 650335640Shselasky ;; 651335640Shselasky c6x) 652335640Shselasky basic_machine=tic6x-unknown 653335640Shselasky ;; 654335640Shselasky leon|leon[3-9]) 655335640Shselasky basic_machine=sparc-$basic_machine 656335640Shselasky ;; 657335640Shselasky m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 658335640Shselasky basic_machine=$basic_machine-unknown 659356341Scy os=${os:-none} 660335640Shselasky ;; 661356341Scy m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 662335640Shselasky ;; 663356341Scy m9s12z | m68hcs12z | hcs12z | s12z) 664356341Scy basic_machine=s12z-unknown 665356341Scy os=${os:-none} 666356341Scy ;; 667335640Shselasky ms1) 668335640Shselasky basic_machine=mt-unknown 669335640Shselasky ;; 670335640Shselasky strongarm | thumb | xscale) 671335640Shselasky basic_machine=arm-unknown 672335640Shselasky ;; 673335640Shselasky xgate) 674335640Shselasky basic_machine=$basic_machine-unknown 675356341Scy os=${os:-none} 676335640Shselasky ;; 677335640Shselasky xscaleeb) 678335640Shselasky basic_machine=armeb-unknown 679335640Shselasky ;; 680335640Shselasky 681335640Shselasky xscaleel) 682335640Shselasky basic_machine=armel-unknown 683335640Shselasky ;; 684335640Shselasky 685335640Shselasky # We use `pc' rather than `unknown' 686335640Shselasky # because (1) that's what they normally are, and 687335640Shselasky # (2) the word "unknown" tends to confuse beginning users. 688335640Shselasky i*86 | x86_64) 689335640Shselasky basic_machine=$basic_machine-pc 690335640Shselasky ;; 691335640Shselasky # Recognize the basic CPU types with company name. 692335640Shselasky 580-* \ 693335640Shselasky | a29k-* \ 694335640Shselasky | aarch64-* | aarch64_be-* \ 695335640Shselasky | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 696335640Shselasky | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 697335640Shselasky | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 698335640Shselasky | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 699335640Shselasky | avr-* | avr32-* \ 700356341Scy | ba-* \ 701335640Shselasky | be32-* | be64-* \ 702335640Shselasky | bfin-* | bs2000-* \ 703335640Shselasky | c[123]* | c30-* | [cjt]90-* | c4x-* \ 704356341Scy | c8051-* | clipper-* | craynv-* | csky-* | cydra-* \ 705335640Shselasky | d10v-* | d30v-* | dlx-* \ 706356341Scy | e2k-* | elxsi-* \ 707335640Shselasky | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 708335640Shselasky | h8300-* | h8500-* \ 709335640Shselasky | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 710335640Shselasky | hexagon-* \ 711356341Scy | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 712335640Shselasky | ip2k-* | iq2000-* \ 713335640Shselasky | k1om-* \ 714335640Shselasky | le32-* | le64-* \ 715335640Shselasky | lm32-* \ 716335640Shselasky | m32c-* | m32r-* | m32rle-* \ 717335640Shselasky | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 718335640Shselasky | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 719335640Shselasky | microblaze-* | microblazeel-* \ 720335640Shselasky | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 721335640Shselasky | mips16-* \ 722335640Shselasky | mips64-* | mips64el-* \ 723335640Shselasky | mips64octeon-* | mips64octeonel-* \ 724335640Shselasky | mips64orion-* | mips64orionel-* \ 725335640Shselasky | mips64r5900-* | mips64r5900el-* \ 726335640Shselasky | mips64vr-* | mips64vrel-* \ 727335640Shselasky | mips64vr4100-* | mips64vr4100el-* \ 728335640Shselasky | mips64vr4300-* | mips64vr4300el-* \ 729335640Shselasky | mips64vr5000-* | mips64vr5000el-* \ 730335640Shselasky | mips64vr5900-* | mips64vr5900el-* \ 731335640Shselasky | mipsisa32-* | mipsisa32el-* \ 732335640Shselasky | mipsisa32r2-* | mipsisa32r2el-* \ 733335640Shselasky | mipsisa32r6-* | mipsisa32r6el-* \ 734335640Shselasky | mipsisa64-* | mipsisa64el-* \ 735335640Shselasky | mipsisa64r2-* | mipsisa64r2el-* \ 736335640Shselasky | mipsisa64r6-* | mipsisa64r6el-* \ 737335640Shselasky | mipsisa64sb1-* | mipsisa64sb1el-* \ 738335640Shselasky | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 739335640Shselasky | mipsr5900-* | mipsr5900el-* \ 740335640Shselasky | mipstx39-* | mipstx39el-* \ 741335640Shselasky | mmix-* \ 742335640Shselasky | mt-* \ 743335640Shselasky | msp430-* \ 744335640Shselasky | nds32-* | nds32le-* | nds32be-* \ 745356341Scy | nfp-* \ 746335640Shselasky | nios-* | nios2-* | nios2eb-* | nios2el-* \ 747335640Shselasky | none-* | np1-* | ns16k-* | ns32k-* \ 748335640Shselasky | open8-* \ 749335640Shselasky | or1k*-* \ 750335640Shselasky | orion-* \ 751335640Shselasky | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 752335640Shselasky | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 753356341Scy | pru-* \ 754335640Shselasky | pyramid-* \ 755356341Scy | riscv-* | riscv32-* | riscv64-* \ 756335640Shselasky | rl78-* | romp-* | rs6000-* | rx-* \ 757335640Shselasky | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 758335640Shselasky | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 759335640Shselasky | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 760335640Shselasky | sparclite-* \ 761356341Scy | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 762335640Shselasky | tahoe-* \ 763335640Shselasky | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 764335640Shselasky | tile*-* \ 765335640Shselasky | tron-* \ 766335640Shselasky | ubicom32-* \ 767335640Shselasky | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 768335640Shselasky | vax-* \ 769335640Shselasky | visium-* \ 770356341Scy | wasm32-* \ 771335640Shselasky | we32k-* \ 772335640Shselasky | x86-* | x86_64-* | xc16x-* | xps100-* \ 773335640Shselasky | xstormy16-* | xtensa*-* \ 774335640Shselasky | ymp-* \ 775335640Shselasky | z8k-* | z80-*) 776335640Shselasky ;; 777335640Shselasky # Recognize the basic CPU types without company name, with glob match. 778335640Shselasky xtensa*) 779335640Shselasky basic_machine=$basic_machine-unknown 780335640Shselasky ;; 781335640Shselasky # Recognize the various machine names and aliases which stand 782335640Shselasky # for a CPU type and a company and sometimes even an OS. 783335640Shselasky 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 784335640Shselasky basic_machine=m68000-att 785335640Shselasky ;; 786335640Shselasky 3b*) 787335640Shselasky basic_machine=we32k-att 788335640Shselasky ;; 789335640Shselasky abacus) 790335640Shselasky basic_machine=abacus-unknown 791335640Shselasky ;; 792335640Shselasky alliant | fx80) 793335640Shselasky basic_machine=fx80-alliant 794335640Shselasky ;; 795335640Shselasky altos | altos3068) 796335640Shselasky basic_machine=m68k-altos 797335640Shselasky ;; 798335640Shselasky amd64) 799335640Shselasky basic_machine=x86_64-pc 800335640Shselasky ;; 801335640Shselasky amd64-*) 802356341Scy basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 803335640Shselasky ;; 804335640Shselasky amiga | amiga-*) 805335640Shselasky basic_machine=m68k-unknown 806335640Shselasky ;; 807356341Scy asmjs) 808356341Scy basic_machine=asmjs-unknown 809335640Shselasky ;; 810335640Shselasky blackfin-*) 811356341Scy basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 812356341Scy os=linux 813335640Shselasky ;; 814335640Shselasky bluegene*) 815335640Shselasky basic_machine=powerpc-ibm 816356341Scy os=cnk 817335640Shselasky ;; 818335640Shselasky c54x-*) 819356341Scy basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 820335640Shselasky ;; 821335640Shselasky c55x-*) 822356341Scy basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 823335640Shselasky ;; 824335640Shselasky c6x-*) 825356341Scy basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 826335640Shselasky ;; 827335640Shselasky c90) 828335640Shselasky basic_machine=c90-cray 829356341Scy os=${os:-unicos} 830335640Shselasky ;; 831335640Shselasky convex-c1) 832335640Shselasky basic_machine=c1-convex 833356341Scy os=bsd 834335640Shselasky ;; 835335640Shselasky convex-c2) 836335640Shselasky basic_machine=c2-convex 837356341Scy os=bsd 838335640Shselasky ;; 839335640Shselasky convex-c32) 840335640Shselasky basic_machine=c32-convex 841356341Scy os=bsd 842335640Shselasky ;; 843335640Shselasky convex-c34) 844335640Shselasky basic_machine=c34-convex 845356341Scy os=bsd 846335640Shselasky ;; 847335640Shselasky convex-c38) 848335640Shselasky basic_machine=c38-convex 849356341Scy os=bsd 850335640Shselasky ;; 851335640Shselasky cr16 | cr16-*) 852335640Shselasky basic_machine=cr16-unknown 853356341Scy os=${os:-elf} 854335640Shselasky ;; 855335640Shselasky crds | unos) 856335640Shselasky basic_machine=m68k-crds 857335640Shselasky ;; 858335640Shselasky crisv32 | crisv32-* | etraxfs*) 859335640Shselasky basic_machine=crisv32-axis 860335640Shselasky ;; 861335640Shselasky cris | cris-* | etrax*) 862335640Shselasky basic_machine=cris-axis 863335640Shselasky ;; 864335640Shselasky crx) 865335640Shselasky basic_machine=crx-unknown 866356341Scy os=${os:-elf} 867335640Shselasky ;; 868335640Shselasky da30 | da30-*) 869335640Shselasky basic_machine=m68k-da30 870335640Shselasky ;; 871335640Shselasky decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 872335640Shselasky basic_machine=mips-dec 873335640Shselasky ;; 874335640Shselasky decsystem10* | dec10*) 875335640Shselasky basic_machine=pdp10-dec 876356341Scy os=tops10 877335640Shselasky ;; 878335640Shselasky decsystem20* | dec20*) 879335640Shselasky basic_machine=pdp10-dec 880356341Scy os=tops20 881335640Shselasky ;; 882335640Shselasky delta | 3300 | motorola-3300 | motorola-delta \ 883335640Shselasky | 3300-motorola | delta-motorola) 884335640Shselasky basic_machine=m68k-motorola 885335640Shselasky ;; 886335640Shselasky dpx20 | dpx20-*) 887335640Shselasky basic_machine=rs6000-bull 888356341Scy os=${os:-bosx} 889335640Shselasky ;; 890356341Scy dpx2*) 891335640Shselasky basic_machine=m68k-bull 892356341Scy os=sysv3 893335640Shselasky ;; 894356341Scy e500v[12]) 895356341Scy basic_machine=powerpc-unknown 896356341Scy os=$os"spe" 897335640Shselasky ;; 898356341Scy e500v[12]-*) 899356341Scy basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 900356341Scy os=$os"spe" 901335640Shselasky ;; 902335640Shselasky encore | umax | mmax) 903335640Shselasky basic_machine=ns32k-encore 904335640Shselasky ;; 905356341Scy elxsi) 906356341Scy basic_machine=elxsi-elxsi 907356341Scy os=${os:-bsd} 908335640Shselasky ;; 909335640Shselasky fx2800) 910335640Shselasky basic_machine=i860-alliant 911335640Shselasky ;; 912335640Shselasky genix) 913335640Shselasky basic_machine=ns32k-ns 914335640Shselasky ;; 915335640Shselasky h3050r* | hiux*) 916335640Shselasky basic_machine=hppa1.1-hitachi 917356341Scy os=hiuxwe2 918335640Shselasky ;; 919335640Shselasky hp300-*) 920335640Shselasky basic_machine=m68k-hp 921335640Shselasky ;; 922335640Shselasky hp3k9[0-9][0-9] | hp9[0-9][0-9]) 923335640Shselasky basic_machine=hppa1.0-hp 924335640Shselasky ;; 925335640Shselasky hp9k2[0-9][0-9] | hp9k31[0-9]) 926335640Shselasky basic_machine=m68000-hp 927335640Shselasky ;; 928335640Shselasky hp9k3[2-9][0-9]) 929335640Shselasky basic_machine=m68k-hp 930335640Shselasky ;; 931335640Shselasky hp9k6[0-9][0-9] | hp6[0-9][0-9]) 932335640Shselasky basic_machine=hppa1.0-hp 933335640Shselasky ;; 934335640Shselasky hp9k7[0-79][0-9] | hp7[0-79][0-9]) 935335640Shselasky basic_machine=hppa1.1-hp 936335640Shselasky ;; 937335640Shselasky hp9k78[0-9] | hp78[0-9]) 938335640Shselasky # FIXME: really hppa2.0-hp 939335640Shselasky basic_machine=hppa1.1-hp 940335640Shselasky ;; 941335640Shselasky hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 942335640Shselasky # FIXME: really hppa2.0-hp 943335640Shselasky basic_machine=hppa1.1-hp 944335640Shselasky ;; 945335640Shselasky hp9k8[0-9][13679] | hp8[0-9][13679]) 946335640Shselasky basic_machine=hppa1.1-hp 947335640Shselasky ;; 948335640Shselasky hp9k8[0-9][0-9] | hp8[0-9][0-9]) 949335640Shselasky basic_machine=hppa1.0-hp 950335640Shselasky ;; 951335640Shselasky i370-ibm* | ibm*) 952335640Shselasky basic_machine=i370-ibm 953335640Shselasky ;; 954335640Shselasky i*86v32) 955356341Scy basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 956356341Scy os=sysv32 957335640Shselasky ;; 958335640Shselasky i*86v4*) 959356341Scy basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 960356341Scy os=sysv4 961335640Shselasky ;; 962335640Shselasky i*86v) 963356341Scy basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 964356341Scy os=sysv 965335640Shselasky ;; 966335640Shselasky i*86sol2) 967356341Scy basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 968356341Scy os=solaris2 969335640Shselasky ;; 970356341Scy j90 | j90-cray) 971356341Scy basic_machine=j90-cray 972356341Scy os=${os:-unicos} 973335640Shselasky ;; 974335640Shselasky iris | iris4d) 975335640Shselasky basic_machine=mips-sgi 976335640Shselasky case $os in 977356341Scy irix*) 978335640Shselasky ;; 979335640Shselasky *) 980356341Scy os=irix4 981335640Shselasky ;; 982335640Shselasky esac 983335640Shselasky ;; 984335640Shselasky leon-*|leon[3-9]-*) 985356341Scy basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 986335640Shselasky ;; 987335640Shselasky m68knommu-*) 988356341Scy basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 989356341Scy os=linux 990335640Shselasky ;; 991335640Shselasky microblaze*) 992335640Shselasky basic_machine=microblaze-xilinx 993335640Shselasky ;; 994335640Shselasky miniframe) 995335640Shselasky basic_machine=m68000-convergent 996335640Shselasky ;; 997356341Scy *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) 998335640Shselasky basic_machine=m68k-atari 999356341Scy os=mint 1000335640Shselasky ;; 1001335640Shselasky mips3*-*) 1002356341Scy basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 1003335640Shselasky ;; 1004335640Shselasky mips3*) 1005356341Scy basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 1006335640Shselasky ;; 1007335640Shselasky ms1-*) 1008356341Scy basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 1009335640Shselasky ;; 1010335640Shselasky news-3600 | risc-news) 1011335640Shselasky basic_machine=mips-sony 1012356341Scy os=newsos 1013335640Shselasky ;; 1014356341Scy next | m*-next) 1015335640Shselasky basic_machine=m68k-next 1016335640Shselasky case $os in 1017356341Scy nextstep* ) 1018335640Shselasky ;; 1019356341Scy ns2*) 1020356341Scy os=nextstep2 1021335640Shselasky ;; 1022335640Shselasky *) 1023356341Scy os=nextstep3 1024335640Shselasky ;; 1025335640Shselasky esac 1026335640Shselasky ;; 1027335640Shselasky np1) 1028335640Shselasky basic_machine=np1-gould 1029335640Shselasky ;; 1030335640Shselasky neo-tandem) 1031335640Shselasky basic_machine=neo-tandem 1032335640Shselasky ;; 1033335640Shselasky nse-tandem) 1034335640Shselasky basic_machine=nse-tandem 1035335640Shselasky ;; 1036335640Shselasky nsr-tandem) 1037335640Shselasky basic_machine=nsr-tandem 1038335640Shselasky ;; 1039356341Scy nsv-tandem) 1040356341Scy basic_machine=nsv-tandem 1041356341Scy ;; 1042356341Scy nsx-tandem) 1043356341Scy basic_machine=nsx-tandem 1044356341Scy ;; 1045335640Shselasky op50n-* | op60c-*) 1046335640Shselasky basic_machine=hppa1.1-oki 1047356341Scy os=proelf 1048335640Shselasky ;; 1049335640Shselasky openrisc | openrisc-*) 1050335640Shselasky basic_machine=or32-unknown 1051335640Shselasky ;; 1052335640Shselasky pa-hitachi) 1053335640Shselasky basic_machine=hppa1.1-hitachi 1054356341Scy os=hiuxwe2 1055335640Shselasky ;; 1056335640Shselasky parisc-*) 1057356341Scy basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1058356341Scy os=linux 1059335640Shselasky ;; 1060335640Shselasky pbd) 1061335640Shselasky basic_machine=sparc-tti 1062335640Shselasky ;; 1063335640Shselasky pbb) 1064335640Shselasky basic_machine=m68k-tti 1065335640Shselasky ;; 1066335640Shselasky pc532 | pc532-*) 1067335640Shselasky basic_machine=ns32k-pc532 1068335640Shselasky ;; 1069335640Shselasky pc98) 1070335640Shselasky basic_machine=i386-pc 1071335640Shselasky ;; 1072335640Shselasky pc98-*) 1073356341Scy basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1074335640Shselasky ;; 1075335640Shselasky pentium | p5 | k5 | k6 | nexgen | viac3) 1076335640Shselasky basic_machine=i586-pc 1077335640Shselasky ;; 1078335640Shselasky pentiumpro | p6 | 6x86 | athlon | athlon_*) 1079335640Shselasky basic_machine=i686-pc 1080335640Shselasky ;; 1081335640Shselasky pentiumii | pentium2 | pentiumiii | pentium3) 1082335640Shselasky basic_machine=i686-pc 1083335640Shselasky ;; 1084335640Shselasky pentium4) 1085335640Shselasky basic_machine=i786-pc 1086335640Shselasky ;; 1087335640Shselasky pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 1088356341Scy basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1089335640Shselasky ;; 1090335640Shselasky pentiumpro-* | p6-* | 6x86-* | athlon-*) 1091356341Scy basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1092335640Shselasky ;; 1093335640Shselasky pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 1094356341Scy basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1095335640Shselasky ;; 1096335640Shselasky pentium4-*) 1097356341Scy basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1098335640Shselasky ;; 1099335640Shselasky pn) 1100335640Shselasky basic_machine=pn-gould 1101335640Shselasky ;; 1102335640Shselasky power) basic_machine=power-ibm 1103335640Shselasky ;; 1104335640Shselasky ppc | ppcbe) basic_machine=powerpc-unknown 1105335640Shselasky ;; 1106335640Shselasky ppc-* | ppcbe-*) 1107356341Scy basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1108335640Shselasky ;; 1109356341Scy ppcle | powerpclittle) 1110335640Shselasky basic_machine=powerpcle-unknown 1111335640Shselasky ;; 1112335640Shselasky ppcle-* | powerpclittle-*) 1113356341Scy basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1114335640Shselasky ;; 1115335640Shselasky ppc64) basic_machine=powerpc64-unknown 1116335640Shselasky ;; 1117356341Scy ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1118335640Shselasky ;; 1119356341Scy ppc64le | powerpc64little) 1120335640Shselasky basic_machine=powerpc64le-unknown 1121335640Shselasky ;; 1122335640Shselasky ppc64le-* | powerpc64little-*) 1123356341Scy basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1124335640Shselasky ;; 1125335640Shselasky ps2) 1126335640Shselasky basic_machine=i386-ibm 1127335640Shselasky ;; 1128335640Shselasky rm[46]00) 1129335640Shselasky basic_machine=mips-siemens 1130335640Shselasky ;; 1131335640Shselasky rtpc | rtpc-*) 1132335640Shselasky basic_machine=romp-ibm 1133335640Shselasky ;; 1134335640Shselasky s390 | s390-*) 1135335640Shselasky basic_machine=s390-ibm 1136335640Shselasky ;; 1137335640Shselasky s390x | s390x-*) 1138335640Shselasky basic_machine=s390x-ibm 1139335640Shselasky ;; 1140335640Shselasky sb1) 1141335640Shselasky basic_machine=mipsisa64sb1-unknown 1142335640Shselasky ;; 1143335640Shselasky sb1el) 1144335640Shselasky basic_machine=mipsisa64sb1el-unknown 1145335640Shselasky ;; 1146335640Shselasky sde) 1147335640Shselasky basic_machine=mipsisa32-sde 1148356341Scy os=${os:-elf} 1149335640Shselasky ;; 1150335640Shselasky sequent) 1151335640Shselasky basic_machine=i386-sequent 1152335640Shselasky ;; 1153335640Shselasky sh5el) 1154335640Shselasky basic_machine=sh5le-unknown 1155335640Shselasky ;; 1156356341Scy simso-wrs) 1157335640Shselasky basic_machine=sparclite-wrs 1158356341Scy os=vxworks 1159335640Shselasky ;; 1160335640Shselasky spur) 1161335640Shselasky basic_machine=spur-unknown 1162335640Shselasky ;; 1163335640Shselasky st2000) 1164335640Shselasky basic_machine=m68k-tandem 1165335640Shselasky ;; 1166335640Shselasky strongarm-* | thumb-*) 1167356341Scy basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1168335640Shselasky ;; 1169335640Shselasky sun2) 1170335640Shselasky basic_machine=m68000-sun 1171335640Shselasky ;; 1172335640Shselasky sun3 | sun3-*) 1173335640Shselasky basic_machine=m68k-sun 1174335640Shselasky ;; 1175335640Shselasky sun4) 1176335640Shselasky basic_machine=sparc-sun 1177335640Shselasky ;; 1178335640Shselasky sun386 | sun386i | roadrunner) 1179335640Shselasky basic_machine=i386-sun 1180335640Shselasky ;; 1181335640Shselasky tile*) 1182335640Shselasky basic_machine=$basic_machine-unknown 1183356341Scy os=linux-gnu 1184335640Shselasky ;; 1185335640Shselasky tx39) 1186335640Shselasky basic_machine=mipstx39-unknown 1187335640Shselasky ;; 1188335640Shselasky tx39el) 1189335640Shselasky basic_machine=mipstx39el-unknown 1190335640Shselasky ;; 1191335640Shselasky tower | tower-32) 1192335640Shselasky basic_machine=m68k-ncr 1193335640Shselasky ;; 1194335640Shselasky vpp*|vx|vx-*) 1195335640Shselasky basic_machine=f301-fujitsu 1196335640Shselasky ;; 1197335640Shselasky w65*) 1198335640Shselasky basic_machine=w65-wdc 1199356341Scy os=none 1200335640Shselasky ;; 1201335640Shselasky w89k-*) 1202335640Shselasky basic_machine=hppa1.1-winbond 1203356341Scy os=proelf 1204335640Shselasky ;; 1205356341Scy x64) 1206356341Scy basic_machine=x86_64-pc 1207335640Shselasky ;; 1208335640Shselasky xps | xps100) 1209335640Shselasky basic_machine=xps100-honeywell 1210335640Shselasky ;; 1211335640Shselasky xscale-* | xscalee[bl]-*) 1212356341Scy basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 1213335640Shselasky ;; 1214335640Shselasky none) 1215335640Shselasky basic_machine=none-none 1216356341Scy os=${os:-none} 1217335640Shselasky ;; 1218335640Shselasky 1219335640Shselasky# Here we handle the default manufacturer of certain CPU types. It is in 1220335640Shselasky# some cases the only manufacturer, in others, it is the most popular. 1221335640Shselasky w89k) 1222335640Shselasky basic_machine=hppa1.1-winbond 1223335640Shselasky ;; 1224335640Shselasky op50n) 1225335640Shselasky basic_machine=hppa1.1-oki 1226335640Shselasky ;; 1227335640Shselasky op60c) 1228335640Shselasky basic_machine=hppa1.1-oki 1229335640Shselasky ;; 1230335640Shselasky romp) 1231335640Shselasky basic_machine=romp-ibm 1232335640Shselasky ;; 1233335640Shselasky mmix) 1234335640Shselasky basic_machine=mmix-knuth 1235335640Shselasky ;; 1236335640Shselasky rs6000) 1237335640Shselasky basic_machine=rs6000-ibm 1238335640Shselasky ;; 1239335640Shselasky vax) 1240335640Shselasky basic_machine=vax-dec 1241335640Shselasky ;; 1242335640Shselasky pdp11) 1243335640Shselasky basic_machine=pdp11-dec 1244335640Shselasky ;; 1245335640Shselasky we32k) 1246335640Shselasky basic_machine=we32k-att 1247335640Shselasky ;; 1248335640Shselasky sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 1249335640Shselasky basic_machine=sh-unknown 1250335640Shselasky ;; 1251335640Shselasky cydra) 1252335640Shselasky basic_machine=cydra-cydrome 1253335640Shselasky ;; 1254335640Shselasky orion) 1255335640Shselasky basic_machine=orion-highlevel 1256335640Shselasky ;; 1257335640Shselasky orion105) 1258335640Shselasky basic_machine=clipper-highlevel 1259335640Shselasky ;; 1260335640Shselasky mac | mpw | mac-mpw) 1261335640Shselasky basic_machine=m68k-apple 1262335640Shselasky ;; 1263335640Shselasky pmac | pmac-mpw) 1264335640Shselasky basic_machine=powerpc-apple 1265335640Shselasky ;; 1266335640Shselasky *-unknown) 1267335640Shselasky # Make sure to match an already-canonicalized machine name. 1268335640Shselasky ;; 1269335640Shselasky *) 1270356341Scy echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 1271335640Shselasky exit 1 1272335640Shselasky ;; 1273335640Shselaskyesac 1274335640Shselasky 1275335640Shselasky# Here we canonicalize certain aliases for manufacturers. 1276335640Shselaskycase $basic_machine in 1277335640Shselasky *-digital*) 1278356341Scy basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 1279335640Shselasky ;; 1280335640Shselasky *-commodore*) 1281356341Scy basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 1282335640Shselasky ;; 1283335640Shselasky *) 1284335640Shselasky ;; 1285335640Shselaskyesac 1286335640Shselasky 1287335640Shselasky# Decode manufacturer-specific aliases for certain operating systems. 1288335640Shselasky 1289356341Scyif [ x$os != x ] 1290335640Shselaskythen 1291335640Shselaskycase $os in 1292356341Scy # First match some system type aliases that might get confused 1293356341Scy # with valid system types. 1294356341Scy # solaris* is a basic system type, with this one exception. 1295356341Scy auroraux) 1296356341Scy os=auroraux 1297335640Shselasky ;; 1298356341Scy bluegene*) 1299356341Scy os=cnk 1300356341Scy ;; 1301356341Scy solaris1 | solaris1.*) 1302335640Shselasky os=`echo $os | sed -e 's|solaris1|sunos4|'` 1303335640Shselasky ;; 1304356341Scy solaris) 1305356341Scy os=solaris2 1306335640Shselasky ;; 1307356341Scy unixware*) 1308356341Scy os=sysv4.2uw 1309335640Shselasky ;; 1310356341Scy gnu/linux*) 1311335640Shselasky os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 1312335640Shselasky ;; 1313356341Scy # es1800 is here to avoid being matched by es* (a different OS) 1314356341Scy es1800*) 1315356341Scy os=ose 1316356341Scy ;; 1317356341Scy # Some version numbers need modification 1318356341Scy chorusos*) 1319356341Scy os=chorusos 1320356341Scy ;; 1321356341Scy isc) 1322356341Scy os=isc2.2 1323356341Scy ;; 1324356341Scy sco6) 1325356341Scy os=sco5v6 1326356341Scy ;; 1327356341Scy sco5) 1328356341Scy os=sco3.2v5 1329356341Scy ;; 1330356341Scy sco4) 1331356341Scy os=sco3.2v4 1332356341Scy ;; 1333356341Scy sco3.2.[4-9]*) 1334356341Scy os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1335356341Scy ;; 1336356341Scy sco3.2v[4-9]* | sco5v6*) 1337356341Scy # Don't forget version if it is 3.2v4 or newer. 1338356341Scy ;; 1339356341Scy scout) 1340356341Scy # Don't match below 1341356341Scy ;; 1342356341Scy sco*) 1343356341Scy os=sco3.2v2 1344356341Scy ;; 1345356341Scy psos*) 1346356341Scy os=psos 1347356341Scy ;; 1348356341Scy # Now accept the basic system types. 1349335640Shselasky # The portable systems comes first. 1350356341Scy # Each alternative MUST end in a * to match a version number. 1351356341Scy # sysv* is not here because it comes later, after sysvr4. 1352356341Scy gnu* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 1353356341Scy | *vms* | esix* | aix* | cnk* | sunos | sunos[34]*\ 1354356341Scy | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 1355356341Scy | sym* | kopensolaris* | plan9* \ 1356356341Scy | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \ 1357356341Scy | aos* | aros* | cloudabi* | sortix* \ 1358356341Scy | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ 1359356341Scy | clix* | riscos* | uniplus* | iris* | rtu* | xenix* \ 1360356341Scy | knetbsd* | mirbsd* | netbsd* \ 1361356341Scy | bitrig* | openbsd* | solidbsd* | libertybsd* \ 1362356341Scy | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ 1363356341Scy | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ 1364356341Scy | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ 1365356341Scy | udi* | eabi* | lites* | ieee* | go32* | aux* | hcos* \ 1366356341Scy | chorusrdb* | cegcc* | glidix* \ 1367356341Scy | cygwin* | msys* | pe* | moss* | proelf* | rtems* \ 1368356341Scy | midipix* | mingw32* | mingw64* | linux-gnu* | linux-android* \ 1369356341Scy | linux-newlib* | linux-musl* | linux-uclibc* \ 1370356341Scy | uxpv* | beos* | mpeix* | udk* | moxiebox* \ 1371356341Scy | interix* | uwin* | mks* | rhapsody* | darwin* \ 1372356341Scy | openstep* | oskit* | conix* | pw32* | nonstopux* \ 1373356341Scy | storm-chaos* | tops10* | tenex* | tops20* | its* \ 1374356341Scy | os2* | vos* | palmos* | uclinux* | nucleus* \ 1375356341Scy | morphos* | superux* | rtmk* | windiss* \ 1376356341Scy | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 1377356341Scy | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 1378356341Scy | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 1379356341Scy | midnightbsd*) 1380335640Shselasky # Remember, each alternative MUST END IN *, to match a version number. 1381335640Shselasky ;; 1382356341Scy qnx*) 1383335640Shselasky case $basic_machine in 1384335640Shselasky x86-* | i*86-*) 1385335640Shselasky ;; 1386335640Shselasky *) 1387356341Scy os=nto-$os 1388335640Shselasky ;; 1389335640Shselasky esac 1390335640Shselasky ;; 1391356341Scy hiux*) 1392356341Scy os=hiuxwe2 1393335640Shselasky ;; 1394356341Scy nto-qnx*) 1395356341Scy ;; 1396356341Scy nto*) 1397335640Shselasky os=`echo $os | sed -e 's|nto|nto-qnx|'` 1398335640Shselasky ;; 1399356341Scy sim | xray | os68k* | v88r* \ 1400356341Scy | windows* | osx | abug | netware* | os9* \ 1401356341Scy | macos* | mpw* | magic* | mmixware* | mon960* | lnews*) 1402335640Shselasky ;; 1403356341Scy linux-dietlibc) 1404356341Scy os=linux-dietlibc 1405335640Shselasky ;; 1406356341Scy linux*) 1407335640Shselasky os=`echo $os | sed -e 's|linux|linux-gnu|'` 1408335640Shselasky ;; 1409356341Scy lynx*178) 1410356341Scy os=lynxos178 1411335640Shselasky ;; 1412356341Scy lynx*5) 1413356341Scy os=lynxos5 1414335640Shselasky ;; 1415356341Scy lynx*) 1416356341Scy os=lynxos 1417335640Shselasky ;; 1418356341Scy mac*) 1419356341Scy os=`echo "$os" | sed -e 's|mac|macos|'` 1420335640Shselasky ;; 1421356341Scy opened*) 1422356341Scy os=openedition 1423335640Shselasky ;; 1424356341Scy os400*) 1425356341Scy os=os400 1426335640Shselasky ;; 1427356341Scy sunos5*) 1428356341Scy os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 1429335640Shselasky ;; 1430356341Scy sunos6*) 1431356341Scy os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 1432335640Shselasky ;; 1433356341Scy wince*) 1434356341Scy os=wince 1435335640Shselasky ;; 1436356341Scy utek*) 1437356341Scy os=bsd 1438335640Shselasky ;; 1439356341Scy dynix*) 1440356341Scy os=bsd 1441335640Shselasky ;; 1442356341Scy acis*) 1443356341Scy os=aos 1444335640Shselasky ;; 1445356341Scy atheos*) 1446356341Scy os=atheos 1447335640Shselasky ;; 1448356341Scy syllable*) 1449356341Scy os=syllable 1450335640Shselasky ;; 1451356341Scy 386bsd) 1452356341Scy os=bsd 1453335640Shselasky ;; 1454356341Scy ctix* | uts*) 1455356341Scy os=sysv 1456335640Shselasky ;; 1457356341Scy nova*) 1458356341Scy os=rtmk-nova 1459335640Shselasky ;; 1460356341Scy ns2) 1461356341Scy os=nextstep2 1462356341Scy ;; 1463356341Scy nsk*) 1464356341Scy os=nsk 1465356341Scy ;; 1466335640Shselasky # Preserve the version number of sinix5. 1467356341Scy sinix5.*) 1468335640Shselasky os=`echo $os | sed -e 's|sinix|sysv|'` 1469335640Shselasky ;; 1470356341Scy sinix*) 1471356341Scy os=sysv4 1472335640Shselasky ;; 1473356341Scy tpf*) 1474356341Scy os=tpf 1475335640Shselasky ;; 1476356341Scy triton*) 1477356341Scy os=sysv3 1478335640Shselasky ;; 1479356341Scy oss*) 1480356341Scy os=sysv3 1481335640Shselasky ;; 1482356341Scy svr4*) 1483356341Scy os=sysv4 1484335640Shselasky ;; 1485356341Scy svr3) 1486356341Scy os=sysv3 1487335640Shselasky ;; 1488356341Scy sysvr4) 1489356341Scy os=sysv4 1490335640Shselasky ;; 1491356341Scy # This must come after sysvr4. 1492356341Scy sysv*) 1493335640Shselasky ;; 1494356341Scy ose*) 1495356341Scy os=ose 1496335640Shselasky ;; 1497356341Scy *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1498356341Scy os=mint 1499335640Shselasky ;; 1500356341Scy zvmoe) 1501356341Scy os=zvmoe 1502335640Shselasky ;; 1503356341Scy dicos*) 1504356341Scy os=dicos 1505335640Shselasky ;; 1506356341Scy pikeos*) 1507356341Scy # Until real need of OS specific support for 1508356341Scy # particular features comes up, bare metal 1509356341Scy # configurations are quite functional. 1510356341Scy case $basic_machine in 1511356341Scy arm*) 1512356341Scy os=eabi 1513356341Scy ;; 1514356341Scy *) 1515356341Scy os=elf 1516356341Scy ;; 1517356341Scy esac 1518335640Shselasky ;; 1519356341Scy nacl*) 1520335640Shselasky ;; 1521356341Scy ios) 1522335640Shselasky ;; 1523356341Scy none) 1524335640Shselasky ;; 1525356341Scy *-eabi) 1526335640Shselasky ;; 1527335640Shselasky *) 1528356341Scy echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 1529335640Shselasky exit 1 1530335640Shselasky ;; 1531335640Shselaskyesac 1532335640Shselaskyelse 1533335640Shselasky 1534335640Shselasky# Here we handle the default operating systems that come with various machines. 1535335640Shselasky# The value should be what the vendor currently ships out the door with their 1536335640Shselasky# machine or put another way, the most popular os provided with the machine. 1537335640Shselasky 1538335640Shselasky# Note that if you're going to try to match "-MANUFACTURER" here (say, 1539335640Shselasky# "-sun"), then you have to tell the case statement up towards the top 1540335640Shselasky# that MANUFACTURER isn't an operating system. Otherwise, code above 1541335640Shselasky# will signal an error saying that MANUFACTURER isn't an operating 1542335640Shselasky# system, and we'll never get to this point. 1543335640Shselasky 1544335640Shselaskycase $basic_machine in 1545335640Shselasky score-*) 1546356341Scy os=elf 1547335640Shselasky ;; 1548335640Shselasky spu-*) 1549356341Scy os=elf 1550335640Shselasky ;; 1551335640Shselasky *-acorn) 1552356341Scy os=riscix1.2 1553335640Shselasky ;; 1554335640Shselasky arm*-rebel) 1555356341Scy os=linux 1556335640Shselasky ;; 1557335640Shselasky arm*-semi) 1558356341Scy os=aout 1559335640Shselasky ;; 1560335640Shselasky c4x-* | tic4x-*) 1561356341Scy os=coff 1562335640Shselasky ;; 1563335640Shselasky c8051-*) 1564356341Scy os=elf 1565335640Shselasky ;; 1566356341Scy clipper-intergraph) 1567356341Scy os=clix 1568356341Scy ;; 1569335640Shselasky hexagon-*) 1570356341Scy os=elf 1571335640Shselasky ;; 1572335640Shselasky tic54x-*) 1573356341Scy os=coff 1574335640Shselasky ;; 1575335640Shselasky tic55x-*) 1576356341Scy os=coff 1577335640Shselasky ;; 1578335640Shselasky tic6x-*) 1579356341Scy os=coff 1580335640Shselasky ;; 1581335640Shselasky # This must come before the *-dec entry. 1582335640Shselasky pdp10-*) 1583356341Scy os=tops20 1584335640Shselasky ;; 1585335640Shselasky pdp11-*) 1586356341Scy os=none 1587335640Shselasky ;; 1588335640Shselasky *-dec | vax-*) 1589356341Scy os=ultrix4.2 1590335640Shselasky ;; 1591335640Shselasky m68*-apollo) 1592356341Scy os=domain 1593335640Shselasky ;; 1594335640Shselasky i386-sun) 1595356341Scy os=sunos4.0.2 1596335640Shselasky ;; 1597335640Shselasky m68000-sun) 1598356341Scy os=sunos3 1599335640Shselasky ;; 1600335640Shselasky m68*-cisco) 1601356341Scy os=aout 1602335640Shselasky ;; 1603335640Shselasky mep-*) 1604356341Scy os=elf 1605335640Shselasky ;; 1606335640Shselasky mips*-cisco) 1607356341Scy os=elf 1608335640Shselasky ;; 1609335640Shselasky mips*-*) 1610356341Scy os=elf 1611335640Shselasky ;; 1612335640Shselasky or32-*) 1613356341Scy os=coff 1614335640Shselasky ;; 1615335640Shselasky *-tti) # must be before sparc entry or we get the wrong os. 1616356341Scy os=sysv3 1617335640Shselasky ;; 1618335640Shselasky sparc-* | *-sun) 1619356341Scy os=sunos4.1.1 1620335640Shselasky ;; 1621356341Scy pru-*) 1622356341Scy os=elf 1623356341Scy ;; 1624335640Shselasky *-be) 1625356341Scy os=beos 1626335640Shselasky ;; 1627335640Shselasky *-ibm) 1628356341Scy os=aix 1629335640Shselasky ;; 1630335640Shselasky *-knuth) 1631356341Scy os=mmixware 1632335640Shselasky ;; 1633335640Shselasky *-wec) 1634356341Scy os=proelf 1635335640Shselasky ;; 1636335640Shselasky *-winbond) 1637356341Scy os=proelf 1638335640Shselasky ;; 1639335640Shselasky *-oki) 1640356341Scy os=proelf 1641335640Shselasky ;; 1642335640Shselasky *-hp) 1643356341Scy os=hpux 1644335640Shselasky ;; 1645335640Shselasky *-hitachi) 1646356341Scy os=hiux 1647335640Shselasky ;; 1648335640Shselasky i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 1649356341Scy os=sysv 1650335640Shselasky ;; 1651335640Shselasky *-cbm) 1652356341Scy os=amigaos 1653335640Shselasky ;; 1654335640Shselasky *-dg) 1655356341Scy os=dgux 1656335640Shselasky ;; 1657335640Shselasky *-dolphin) 1658356341Scy os=sysv3 1659335640Shselasky ;; 1660335640Shselasky m68k-ccur) 1661356341Scy os=rtu 1662335640Shselasky ;; 1663335640Shselasky m88k-omron*) 1664356341Scy os=luna 1665335640Shselasky ;; 1666356341Scy *-next) 1667356341Scy os=nextstep 1668335640Shselasky ;; 1669335640Shselasky *-sequent) 1670356341Scy os=ptx 1671335640Shselasky ;; 1672335640Shselasky *-crds) 1673356341Scy os=unos 1674335640Shselasky ;; 1675335640Shselasky *-ns) 1676356341Scy os=genix 1677335640Shselasky ;; 1678335640Shselasky i370-*) 1679356341Scy os=mvs 1680335640Shselasky ;; 1681335640Shselasky *-gould) 1682356341Scy os=sysv 1683335640Shselasky ;; 1684335640Shselasky *-highlevel) 1685356341Scy os=bsd 1686335640Shselasky ;; 1687335640Shselasky *-encore) 1688356341Scy os=bsd 1689335640Shselasky ;; 1690335640Shselasky *-sgi) 1691356341Scy os=irix 1692335640Shselasky ;; 1693335640Shselasky *-siemens) 1694356341Scy os=sysv4 1695335640Shselasky ;; 1696335640Shselasky *-masscomp) 1697356341Scy os=rtu 1698335640Shselasky ;; 1699335640Shselasky f30[01]-fujitsu | f700-fujitsu) 1700356341Scy os=uxpv 1701335640Shselasky ;; 1702335640Shselasky *-rom68k) 1703356341Scy os=coff 1704335640Shselasky ;; 1705335640Shselasky *-*bug) 1706356341Scy os=coff 1707335640Shselasky ;; 1708335640Shselasky *-apple) 1709356341Scy os=macos 1710335640Shselasky ;; 1711335640Shselasky *-atari*) 1712356341Scy os=mint 1713335640Shselasky ;; 1714356341Scy *-wrs) 1715356341Scy os=vxworks 1716356341Scy ;; 1717335640Shselasky *) 1718356341Scy os=none 1719335640Shselasky ;; 1720335640Shselaskyesac 1721335640Shselaskyfi 1722335640Shselasky 1723335640Shselasky# Here we handle the case where we know the os, and the CPU type, but not the 1724335640Shselasky# manufacturer. We pick the logical manufacturer. 1725335640Shselaskyvendor=unknown 1726335640Shselaskycase $basic_machine in 1727335640Shselasky *-unknown) 1728335640Shselasky case $os in 1729356341Scy riscix*) 1730335640Shselasky vendor=acorn 1731335640Shselasky ;; 1732356341Scy sunos*) 1733335640Shselasky vendor=sun 1734335640Shselasky ;; 1735356341Scy cnk*|-aix*) 1736335640Shselasky vendor=ibm 1737335640Shselasky ;; 1738356341Scy beos*) 1739335640Shselasky vendor=be 1740335640Shselasky ;; 1741356341Scy hpux*) 1742335640Shselasky vendor=hp 1743335640Shselasky ;; 1744356341Scy mpeix*) 1745335640Shselasky vendor=hp 1746335640Shselasky ;; 1747356341Scy hiux*) 1748335640Shselasky vendor=hitachi 1749335640Shselasky ;; 1750356341Scy unos*) 1751335640Shselasky vendor=crds 1752335640Shselasky ;; 1753356341Scy dgux*) 1754335640Shselasky vendor=dg 1755335640Shselasky ;; 1756356341Scy luna*) 1757335640Shselasky vendor=omron 1758335640Shselasky ;; 1759356341Scy genix*) 1760335640Shselasky vendor=ns 1761335640Shselasky ;; 1762356341Scy clix*) 1763356341Scy vendor=intergraph 1764356341Scy ;; 1765356341Scy mvs* | opened*) 1766335640Shselasky vendor=ibm 1767335640Shselasky ;; 1768356341Scy os400*) 1769335640Shselasky vendor=ibm 1770335640Shselasky ;; 1771356341Scy ptx*) 1772335640Shselasky vendor=sequent 1773335640Shselasky ;; 1774356341Scy tpf*) 1775335640Shselasky vendor=ibm 1776335640Shselasky ;; 1777356341Scy vxsim* | vxworks* | windiss*) 1778335640Shselasky vendor=wrs 1779335640Shselasky ;; 1780356341Scy aux*) 1781335640Shselasky vendor=apple 1782335640Shselasky ;; 1783356341Scy hms*) 1784335640Shselasky vendor=hitachi 1785335640Shselasky ;; 1786356341Scy mpw* | macos*) 1787335640Shselasky vendor=apple 1788335640Shselasky ;; 1789356341Scy *mint | mint[0-9]* | *MiNT | MiNT[0-9]*) 1790335640Shselasky vendor=atari 1791335640Shselasky ;; 1792356341Scy vos*) 1793335640Shselasky vendor=stratus 1794335640Shselasky ;; 1795335640Shselasky esac 1796356341Scy basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 1797335640Shselasky ;; 1798335640Shselaskyesac 1799335640Shselasky 1800356341Scyecho "$basic_machine-$os" 1801335640Shselaskyexit 1802335640Shselasky 1803335640Shselasky# Local variables: 1804356341Scy# eval: (add-hook 'before-save-hook 'time-stamp) 1805335640Shselasky# time-stamp-start: "timestamp='" 1806335640Shselasky# time-stamp-format: "%:y-%02m-%02d" 1807335640Shselasky# time-stamp-end: "'" 1808335640Shselasky# End: 1809