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