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