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