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