config.sub revision b43acbb4
123a0898aSmrg#! /bin/sh 223a0898aSmrg# Configuration validation subroutine script. 3b43acbb4Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 423a0898aSmrg 5b43acbb4Smrgtimestamp='2015-01-01' 623a0898aSmrg 7b020570bSmrg# This file is free software; you can redistribute it and/or modify it 8b020570bSmrg# under the terms of the GNU General Public License as published by 9b020570bSmrg# the Free Software Foundation; either version 3 of the License, or 1023a0898aSmrg# (at your option) any later version. 1123a0898aSmrg# 12b020570bSmrg# This program is distributed in the hope that it will be useful, but 13b020570bSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14b020570bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15b020570bSmrg# General Public License for more details. 1623a0898aSmrg# 1723a0898aSmrg# You should have received a copy of the GNU General Public License 18b020570bSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1923a0898aSmrg# 2023a0898aSmrg# As a special exception to the GNU General Public License, if you 2123a0898aSmrg# distribute this file as part of a program that contains a 2223a0898aSmrg# configuration script generated by Autoconf, you may include it under 23b020570bSmrg# the same distribution terms that you use for the rest of that 24b020570bSmrg# program. This Exception is an additional permission under section 7 25b020570bSmrg# of the GNU General Public License, version 3 ("GPLv3"). 2623a0898aSmrg 2723a0898aSmrg 28121a5469Smrg# Please send patches to <config-patches@gnu.org>. 2923a0898aSmrg# 3023a0898aSmrg# Configuration subroutine to validate and canonicalize a configuration type. 3123a0898aSmrg# Supply the specified configuration type as an argument. 3223a0898aSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 3323a0898aSmrg# Otherwise, we print the canonical config type on stdout and succeed. 3423a0898aSmrg 3541c30155Smrg# You can get the latest version of this script from: 3641c30155Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 3741c30155Smrg 3823a0898aSmrg# This file is supposed to be the same for all GNU packages 3923a0898aSmrg# and recognize all the CPU types, system types and aliases 4023a0898aSmrg# that are meaningful with *any* GNU software. 4123a0898aSmrg# Each package is responsible for reporting which valid configurations 4223a0898aSmrg# it does not support. The user should be able to distinguish 4323a0898aSmrg# a failure to support a valid configuration from a meaningless 4423a0898aSmrg# configuration. 4523a0898aSmrg 4623a0898aSmrg# The goal of this file is to map all the various variations of a given 4723a0898aSmrg# machine specification into a single specification in the form: 4823a0898aSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4923a0898aSmrg# or in some cases, the newer four-part form: 5023a0898aSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5123a0898aSmrg# It is wrong to echo any other type of specification. 5223a0898aSmrg 5323a0898aSmrgme=`echo "$0" | sed -e 's,.*/,,'` 5423a0898aSmrg 5523a0898aSmrgusage="\ 5623a0898aSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 5723a0898aSmrg $0 [OPTION] ALIAS 5823a0898aSmrg 5923a0898aSmrgCanonicalize a configuration name. 6023a0898aSmrg 6123a0898aSmrgOperation modes: 6223a0898aSmrg -h, --help print this help, then exit 6323a0898aSmrg -t, --time-stamp print date of last modification, then exit 6423a0898aSmrg -v, --version print version number, then exit 6523a0898aSmrg 6623a0898aSmrgReport bugs and patches to <config-patches@gnu.org>." 6723a0898aSmrg 6823a0898aSmrgversion="\ 6923a0898aSmrgGNU config.sub ($timestamp) 7023a0898aSmrg 71b43acbb4SmrgCopyright 1992-2015 Free Software Foundation, Inc. 7223a0898aSmrg 7323a0898aSmrgThis is free software; see the source for copying conditions. There is NO 7423a0898aSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7523a0898aSmrg 7623a0898aSmrghelp=" 7723a0898aSmrgTry \`$me --help' for more information." 7823a0898aSmrg 7923a0898aSmrg# Parse command line 8023a0898aSmrgwhile test $# -gt 0 ; do 8123a0898aSmrg case $1 in 8223a0898aSmrg --time-stamp | --time* | -t ) 8323a0898aSmrg echo "$timestamp" ; exit ;; 8423a0898aSmrg --version | -v ) 8523a0898aSmrg echo "$version" ; exit ;; 8623a0898aSmrg --help | --h* | -h ) 8723a0898aSmrg echo "$usage"; exit ;; 8823a0898aSmrg -- ) # Stop option processing 8923a0898aSmrg shift; break ;; 9023a0898aSmrg - ) # Use stdin as input. 9123a0898aSmrg break ;; 9223a0898aSmrg -* ) 9323a0898aSmrg echo "$me: invalid option $1$help" 9423a0898aSmrg exit 1 ;; 9523a0898aSmrg 9623a0898aSmrg *local*) 9723a0898aSmrg # First pass through any local machine types. 9823a0898aSmrg echo $1 9923a0898aSmrg exit ;; 10023a0898aSmrg 10123a0898aSmrg * ) 10223a0898aSmrg break ;; 10323a0898aSmrg esac 10423a0898aSmrgdone 10523a0898aSmrg 10623a0898aSmrgcase $# in 10723a0898aSmrg 0) echo "$me: missing argument$help" >&2 10823a0898aSmrg exit 1;; 10923a0898aSmrg 1) ;; 11023a0898aSmrg *) echo "$me: too many arguments$help" >&2 11123a0898aSmrg exit 1;; 11223a0898aSmrgesac 11323a0898aSmrg 11423a0898aSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11523a0898aSmrg# Here we must recognize all the valid KERNEL-OS combinations. 11623a0898aSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11723a0898aSmrgcase $maybe_os in 11841c30155Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 119b020570bSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 12041c30155Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 12141c30155Smrg kopensolaris*-gnu* | \ 12223a0898aSmrg storm-chaos* | os2-emx* | rtmk-nova*) 12323a0898aSmrg os=-$maybe_os 12423a0898aSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12523a0898aSmrg ;; 126b020570bSmrg android-linux) 127b020570bSmrg os=-linux-android 128b020570bSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 129b020570bSmrg ;; 13023a0898aSmrg *) 13123a0898aSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 13223a0898aSmrg if [ $basic_machine != $1 ] 13323a0898aSmrg then os=`echo $1 | sed 's/.*-/-/'` 13423a0898aSmrg else os=; fi 13523a0898aSmrg ;; 13623a0898aSmrgesac 13723a0898aSmrg 13823a0898aSmrg### Let's recognize common machines as not being operating systems so 13923a0898aSmrg### that things like config.sub decstation-3100 work. We also 14023a0898aSmrg### recognize some manufacturers as not being operating systems, so we 14123a0898aSmrg### can provide default operating systems below. 14223a0898aSmrgcase $os in 14323a0898aSmrg -sun*os*) 14423a0898aSmrg # Prevent following clause from handling this invalid input. 14523a0898aSmrg ;; 14623a0898aSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14723a0898aSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14823a0898aSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14923a0898aSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 15023a0898aSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 15123a0898aSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 152b020570bSmrg -apple | -axis | -knuth | -cray | -microblaze*) 15323a0898aSmrg os= 15423a0898aSmrg basic_machine=$1 15523a0898aSmrg ;; 156b020570bSmrg -bluegene*) 157b020570bSmrg os=-cnk 15841c30155Smrg ;; 15923a0898aSmrg -sim | -cisco | -oki | -wec | -winbond) 16023a0898aSmrg os= 16123a0898aSmrg basic_machine=$1 16223a0898aSmrg ;; 16323a0898aSmrg -scout) 16423a0898aSmrg ;; 16523a0898aSmrg -wrs) 16623a0898aSmrg os=-vxworks 16723a0898aSmrg basic_machine=$1 16823a0898aSmrg ;; 16923a0898aSmrg -chorusos*) 17023a0898aSmrg os=-chorusos 17123a0898aSmrg basic_machine=$1 17223a0898aSmrg ;; 173b020570bSmrg -chorusrdb) 174b020570bSmrg os=-chorusrdb 17523a0898aSmrg basic_machine=$1 176b020570bSmrg ;; 17723a0898aSmrg -hiux*) 17823a0898aSmrg os=-hiuxwe2 17923a0898aSmrg ;; 18023a0898aSmrg -sco6) 18123a0898aSmrg os=-sco5v6 18223a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18323a0898aSmrg ;; 18423a0898aSmrg -sco5) 18523a0898aSmrg os=-sco3.2v5 18623a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18723a0898aSmrg ;; 18823a0898aSmrg -sco4) 18923a0898aSmrg os=-sco3.2v4 19023a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19123a0898aSmrg ;; 19223a0898aSmrg -sco3.2.[4-9]*) 19323a0898aSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19423a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19523a0898aSmrg ;; 19623a0898aSmrg -sco3.2v[4-9]*) 19723a0898aSmrg # Don't forget version if it is 3.2v4 or newer. 19823a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19923a0898aSmrg ;; 20023a0898aSmrg -sco5v6*) 20123a0898aSmrg # Don't forget version if it is 3.2v4 or newer. 20223a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20323a0898aSmrg ;; 20423a0898aSmrg -sco*) 20523a0898aSmrg os=-sco3.2v2 20623a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20723a0898aSmrg ;; 20823a0898aSmrg -udk*) 20923a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21023a0898aSmrg ;; 21123a0898aSmrg -isc) 21223a0898aSmrg os=-isc2.2 21323a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21423a0898aSmrg ;; 21523a0898aSmrg -clix*) 21623a0898aSmrg basic_machine=clipper-intergraph 21723a0898aSmrg ;; 21823a0898aSmrg -isc*) 21923a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 22023a0898aSmrg ;; 221b020570bSmrg -lynx*178) 222b020570bSmrg os=-lynxos178 223b020570bSmrg ;; 224b020570bSmrg -lynx*5) 225b020570bSmrg os=-lynxos5 226b020570bSmrg ;; 22723a0898aSmrg -lynx*) 22823a0898aSmrg os=-lynxos 22923a0898aSmrg ;; 23023a0898aSmrg -ptx*) 23123a0898aSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 23223a0898aSmrg ;; 23323a0898aSmrg -windowsnt*) 23423a0898aSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 23523a0898aSmrg ;; 23623a0898aSmrg -psos*) 23723a0898aSmrg os=-psos 23823a0898aSmrg ;; 23923a0898aSmrg -mint | -mint[0-9]*) 24023a0898aSmrg basic_machine=m68k-atari 24123a0898aSmrg os=-mint 24223a0898aSmrg ;; 24323a0898aSmrgesac 24423a0898aSmrg 24523a0898aSmrg# Decode aliases for certain CPU-COMPANY combinations. 24623a0898aSmrgcase $basic_machine in 24723a0898aSmrg # Recognize the basic CPU types without company name. 24823a0898aSmrg # Some are omitted here because they have special meanings below. 24923a0898aSmrg 1750a | 580 \ 25023a0898aSmrg | a29k \ 251b020570bSmrg | aarch64 | aarch64_be \ 25223a0898aSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 25323a0898aSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25423a0898aSmrg | am33_2.0 \ 255b020570bSmrg | arc | arceb \ 256b020570bSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 257b020570bSmrg | avr | avr32 \ 258b020570bSmrg | be32 | be64 \ 25923a0898aSmrg | bfin \ 2600145ab54Ssnj | c4x | c8051 | clipper \ 26123a0898aSmrg | d10v | d30v | dlx | dsp16xx \ 262b020570bSmrg | epiphany \ 263b43acbb4Smrg | fido | fr30 | frv | ft32 \ 26423a0898aSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 265b020570bSmrg | hexagon \ 26623a0898aSmrg | i370 | i860 | i960 | ia64 \ 26723a0898aSmrg | ip2k | iq2000 \ 2680145ab54Ssnj | k1om \ 269b020570bSmrg | le32 | le64 \ 27041c30155Smrg | lm32 \ 27123a0898aSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 272b020570bSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27323a0898aSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27423a0898aSmrg | mips16 \ 27523a0898aSmrg | mips64 | mips64el \ 27641c30155Smrg | mips64octeon | mips64octeonel \ 277b3062210Smrg | mips64orion | mips64orionel \ 27841c30155Smrg | mips64r5900 | mips64r5900el \ 27941c30155Smrg | mips64vr | mips64vrel \ 28023a0898aSmrg | mips64vr4100 | mips64vr4100el \ 28123a0898aSmrg | mips64vr4300 | mips64vr4300el \ 28223a0898aSmrg | mips64vr5000 | mips64vr5000el \ 28323a0898aSmrg | mips64vr5900 | mips64vr5900el \ 28423a0898aSmrg | mipsisa32 | mipsisa32el \ 28523a0898aSmrg | mipsisa32r2 | mipsisa32r2el \ 286121a5469Smrg | mipsisa32r6 | mipsisa32r6el \ 28723a0898aSmrg | mipsisa64 | mipsisa64el \ 28823a0898aSmrg | mipsisa64r2 | mipsisa64r2el \ 289121a5469Smrg | mipsisa64r6 | mipsisa64r6el \ 29023a0898aSmrg | mipsisa64sb1 | mipsisa64sb1el \ 29123a0898aSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 292b020570bSmrg | mipsr5900 | mipsr5900el \ 29323a0898aSmrg | mipstx39 | mipstx39el \ 29423a0898aSmrg | mn10200 | mn10300 \ 29541c30155Smrg | moxie \ 29623a0898aSmrg | mt \ 29723a0898aSmrg | msp430 \ 29841c30155Smrg | nds32 | nds32le | nds32be \ 299b020570bSmrg | nios | nios2 | nios2eb | nios2el \ 30023a0898aSmrg | ns16k | ns32k \ 301121a5469Smrg | open8 | or1k | or1knd | or32 \ 30223a0898aSmrg | pdp10 | pdp11 | pj | pjl \ 303b020570bSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30423a0898aSmrg | pyramid \ 305121a5469Smrg | riscv32 | riscv64 \ 306b020570bSmrg | rl78 | rx \ 30723a0898aSmrg | score \ 30841c30155Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 30923a0898aSmrg | sh64 | sh64le \ 31023a0898aSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31123a0898aSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 312b020570bSmrg | spu \ 313b020570bSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31441c30155Smrg | ubicom32 \ 315b020570bSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 316121a5469Smrg | visium \ 31723a0898aSmrg | we32k \ 318b020570bSmrg | x86 | xc16x | xstormy16 | xtensa \ 31941c30155Smrg | z8k | z80) 32023a0898aSmrg basic_machine=$basic_machine-unknown 32123a0898aSmrg ;; 32241c30155Smrg c54x) 32341c30155Smrg basic_machine=tic54x-unknown 32441c30155Smrg ;; 32541c30155Smrg c55x) 32641c30155Smrg basic_machine=tic55x-unknown 32741c30155Smrg ;; 32841c30155Smrg c6x) 32941c30155Smrg basic_machine=tic6x-unknown 33041c30155Smrg ;; 331121a5469Smrg leon|leon[3-9]) 332121a5469Smrg basic_machine=sparc-$basic_machine 333121a5469Smrg ;; 3340145ab54Ssnj m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33523a0898aSmrg basic_machine=$basic_machine-unknown 33623a0898aSmrg os=-none 33723a0898aSmrg ;; 33823a0898aSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 33923a0898aSmrg ;; 34023a0898aSmrg ms1) 34123a0898aSmrg basic_machine=mt-unknown 34223a0898aSmrg ;; 34323a0898aSmrg 344b020570bSmrg strongarm | thumb | xscale) 345b020570bSmrg basic_machine=arm-unknown 346b020570bSmrg ;; 347b020570bSmrg xgate) 348b020570bSmrg basic_machine=$basic_machine-unknown 349b020570bSmrg os=-none 350b020570bSmrg ;; 351b020570bSmrg xscaleeb) 352b020570bSmrg basic_machine=armeb-unknown 353b020570bSmrg ;; 354b020570bSmrg 355b020570bSmrg xscaleel) 356b020570bSmrg basic_machine=armel-unknown 357b020570bSmrg ;; 358b020570bSmrg 35923a0898aSmrg # We use `pc' rather than `unknown' 36023a0898aSmrg # because (1) that's what they normally are, and 36123a0898aSmrg # (2) the word "unknown" tends to confuse beginning users. 36223a0898aSmrg i*86 | x86_64) 36323a0898aSmrg basic_machine=$basic_machine-pc 36423a0898aSmrg ;; 36523a0898aSmrg # Object if more than one company name word. 36623a0898aSmrg *-*-*) 36723a0898aSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 36823a0898aSmrg exit 1 36923a0898aSmrg ;; 37023a0898aSmrg # Recognize the basic CPU types with company name. 37123a0898aSmrg 580-* \ 37223a0898aSmrg | a29k-* \ 373b020570bSmrg | aarch64-* | aarch64_be-* \ 37423a0898aSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37523a0898aSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 376b020570bSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37723a0898aSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37823a0898aSmrg | avr-* | avr32-* \ 379b020570bSmrg | be32-* | be64-* \ 38023a0898aSmrg | bfin-* | bs2000-* \ 38141c30155Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3820145ab54Ssnj | c8051-* | clipper-* | craynv-* | cydra-* \ 38323a0898aSmrg | d10v-* | d30v-* | dlx-* \ 38423a0898aSmrg | elxsi-* \ 38523a0898aSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38623a0898aSmrg | h8300-* | h8500-* \ 38723a0898aSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 388b020570bSmrg | hexagon-* \ 38923a0898aSmrg | i*86-* | i860-* | i960-* | ia64-* \ 39023a0898aSmrg | ip2k-* | iq2000-* \ 3910145ab54Ssnj | k1om-* \ 392b020570bSmrg | le32-* | le64-* \ 39341c30155Smrg | lm32-* \ 39423a0898aSmrg | m32c-* | m32r-* | m32rle-* \ 39523a0898aSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 396b020570bSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 397b020570bSmrg | microblaze-* | microblazeel-* \ 39823a0898aSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 39923a0898aSmrg | mips16-* \ 40023a0898aSmrg | mips64-* | mips64el-* \ 40141c30155Smrg | mips64octeon-* | mips64octeonel-* \ 402b3062210Smrg | mips64orion-* | mips64orionel-* \ 40341c30155Smrg | mips64r5900-* | mips64r5900el-* \ 40441c30155Smrg | mips64vr-* | mips64vrel-* \ 40523a0898aSmrg | mips64vr4100-* | mips64vr4100el-* \ 40623a0898aSmrg | mips64vr4300-* | mips64vr4300el-* \ 40723a0898aSmrg | mips64vr5000-* | mips64vr5000el-* \ 40823a0898aSmrg | mips64vr5900-* | mips64vr5900el-* \ 40923a0898aSmrg | mipsisa32-* | mipsisa32el-* \ 41023a0898aSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 411121a5469Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41223a0898aSmrg | mipsisa64-* | mipsisa64el-* \ 41323a0898aSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 414121a5469Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41523a0898aSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41623a0898aSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 417b020570bSmrg | mipsr5900-* | mipsr5900el-* \ 41823a0898aSmrg | mipstx39-* | mipstx39el-* \ 41923a0898aSmrg | mmix-* \ 42023a0898aSmrg | mt-* \ 42123a0898aSmrg | msp430-* \ 42241c30155Smrg | nds32-* | nds32le-* | nds32be-* \ 423b020570bSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42423a0898aSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 425b020570bSmrg | open8-* \ 426121a5469Smrg | or1k*-* \ 42723a0898aSmrg | orion-* \ 42823a0898aSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 429b020570bSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 43023a0898aSmrg | pyramid-* \ 431b020570bSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 43241c30155Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43323a0898aSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43423a0898aSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 43523a0898aSmrg | sparclite-* \ 436b020570bSmrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 437b020570bSmrg | tahoe-* \ 438b3062210Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 439b020570bSmrg | tile*-* \ 44023a0898aSmrg | tron-* \ 44141c30155Smrg | ubicom32-* \ 442b020570bSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 443b020570bSmrg | vax-* \ 444121a5469Smrg | visium-* \ 44523a0898aSmrg | we32k-* \ 446b020570bSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4477f7f5e4eSmrg | xstormy16-* | xtensa*-* \ 44823a0898aSmrg | ymp-* \ 44941c30155Smrg | z8k-* | z80-*) 4507f7f5e4eSmrg ;; 4517f7f5e4eSmrg # Recognize the basic CPU types without company name, with glob match. 4527f7f5e4eSmrg xtensa*) 4537f7f5e4eSmrg basic_machine=$basic_machine-unknown 45423a0898aSmrg ;; 45523a0898aSmrg # Recognize the various machine names and aliases which stand 45623a0898aSmrg # for a CPU type and a company and sometimes even an OS. 45723a0898aSmrg 386bsd) 45823a0898aSmrg basic_machine=i386-unknown 45923a0898aSmrg os=-bsd 46023a0898aSmrg ;; 46123a0898aSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46223a0898aSmrg basic_machine=m68000-att 46323a0898aSmrg ;; 46423a0898aSmrg 3b*) 46523a0898aSmrg basic_machine=we32k-att 46623a0898aSmrg ;; 46723a0898aSmrg a29khif) 46823a0898aSmrg basic_machine=a29k-amd 46923a0898aSmrg os=-udi 47023a0898aSmrg ;; 471b020570bSmrg abacus) 47223a0898aSmrg basic_machine=abacus-unknown 47323a0898aSmrg ;; 47423a0898aSmrg adobe68k) 47523a0898aSmrg basic_machine=m68010-adobe 47623a0898aSmrg os=-scout 47723a0898aSmrg ;; 47823a0898aSmrg alliant | fx80) 47923a0898aSmrg basic_machine=fx80-alliant 48023a0898aSmrg ;; 48123a0898aSmrg altos | altos3068) 48223a0898aSmrg basic_machine=m68k-altos 48323a0898aSmrg ;; 48423a0898aSmrg am29k) 48523a0898aSmrg basic_machine=a29k-none 48623a0898aSmrg os=-bsd 48723a0898aSmrg ;; 48823a0898aSmrg amd64) 48923a0898aSmrg basic_machine=x86_64-pc 49023a0898aSmrg ;; 49123a0898aSmrg amd64-*) 49223a0898aSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49323a0898aSmrg ;; 49423a0898aSmrg amdahl) 49523a0898aSmrg basic_machine=580-amdahl 49623a0898aSmrg os=-sysv 49723a0898aSmrg ;; 49823a0898aSmrg amiga | amiga-*) 49923a0898aSmrg basic_machine=m68k-unknown 50023a0898aSmrg ;; 50123a0898aSmrg amigaos | amigados) 50223a0898aSmrg basic_machine=m68k-unknown 50323a0898aSmrg os=-amigaos 50423a0898aSmrg ;; 50523a0898aSmrg amigaunix | amix) 50623a0898aSmrg basic_machine=m68k-unknown 50723a0898aSmrg os=-sysv4 50823a0898aSmrg ;; 50923a0898aSmrg apollo68) 51023a0898aSmrg basic_machine=m68k-apollo 51123a0898aSmrg os=-sysv 51223a0898aSmrg ;; 51323a0898aSmrg apollo68bsd) 51423a0898aSmrg basic_machine=m68k-apollo 51523a0898aSmrg os=-bsd 51623a0898aSmrg ;; 51741c30155Smrg aros) 51841c30155Smrg basic_machine=i386-pc 51941c30155Smrg os=-aros 52041c30155Smrg ;; 52123a0898aSmrg aux) 52223a0898aSmrg basic_machine=m68k-apple 52323a0898aSmrg os=-aux 52423a0898aSmrg ;; 52523a0898aSmrg balance) 52623a0898aSmrg basic_machine=ns32k-sequent 52723a0898aSmrg os=-dynix 52823a0898aSmrg ;; 5297f7f5e4eSmrg blackfin) 5307f7f5e4eSmrg basic_machine=bfin-unknown 5317f7f5e4eSmrg os=-linux 5327f7f5e4eSmrg ;; 5337f7f5e4eSmrg blackfin-*) 5347f7f5e4eSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5357f7f5e4eSmrg os=-linux 5367f7f5e4eSmrg ;; 53741c30155Smrg bluegene*) 53841c30155Smrg basic_machine=powerpc-ibm 53941c30155Smrg os=-cnk 54041c30155Smrg ;; 54141c30155Smrg c54x-*) 54241c30155Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 54341c30155Smrg ;; 54441c30155Smrg c55x-*) 54541c30155Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 54641c30155Smrg ;; 54741c30155Smrg c6x-*) 54841c30155Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 54941c30155Smrg ;; 55023a0898aSmrg c90) 55123a0898aSmrg basic_machine=c90-cray 55223a0898aSmrg os=-unicos 55323a0898aSmrg ;; 554b020570bSmrg cegcc) 55541c30155Smrg basic_machine=arm-unknown 55641c30155Smrg os=-cegcc 55741c30155Smrg ;; 55823a0898aSmrg convex-c1) 55923a0898aSmrg basic_machine=c1-convex 56023a0898aSmrg os=-bsd 56123a0898aSmrg ;; 56223a0898aSmrg convex-c2) 56323a0898aSmrg basic_machine=c2-convex 56423a0898aSmrg os=-bsd 56523a0898aSmrg ;; 56623a0898aSmrg convex-c32) 56723a0898aSmrg basic_machine=c32-convex 56823a0898aSmrg os=-bsd 56923a0898aSmrg ;; 57023a0898aSmrg convex-c34) 57123a0898aSmrg basic_machine=c34-convex 57223a0898aSmrg os=-bsd 57323a0898aSmrg ;; 57423a0898aSmrg convex-c38) 57523a0898aSmrg basic_machine=c38-convex 57623a0898aSmrg os=-bsd 57723a0898aSmrg ;; 57823a0898aSmrg cray | j90) 57923a0898aSmrg basic_machine=j90-cray 58023a0898aSmrg os=-unicos 58123a0898aSmrg ;; 58223a0898aSmrg craynv) 58323a0898aSmrg basic_machine=craynv-cray 58423a0898aSmrg os=-unicosmp 58523a0898aSmrg ;; 586b020570bSmrg cr16 | cr16-*) 5877f7f5e4eSmrg basic_machine=cr16-unknown 58823a0898aSmrg os=-elf 58923a0898aSmrg ;; 59023a0898aSmrg crds | unos) 59123a0898aSmrg basic_machine=m68k-crds 59223a0898aSmrg ;; 59323a0898aSmrg crisv32 | crisv32-* | etraxfs*) 59423a0898aSmrg basic_machine=crisv32-axis 59523a0898aSmrg ;; 59623a0898aSmrg cris | cris-* | etrax*) 59723a0898aSmrg basic_machine=cris-axis 59823a0898aSmrg ;; 59923a0898aSmrg crx) 60023a0898aSmrg basic_machine=crx-unknown 60123a0898aSmrg os=-elf 60223a0898aSmrg ;; 60323a0898aSmrg da30 | da30-*) 60423a0898aSmrg basic_machine=m68k-da30 60523a0898aSmrg ;; 60623a0898aSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 60723a0898aSmrg basic_machine=mips-dec 60823a0898aSmrg ;; 60923a0898aSmrg decsystem10* | dec10*) 61023a0898aSmrg basic_machine=pdp10-dec 61123a0898aSmrg os=-tops10 61223a0898aSmrg ;; 61323a0898aSmrg decsystem20* | dec20*) 61423a0898aSmrg basic_machine=pdp10-dec 61523a0898aSmrg os=-tops20 61623a0898aSmrg ;; 61723a0898aSmrg delta | 3300 | motorola-3300 | motorola-delta \ 61823a0898aSmrg | 3300-motorola | delta-motorola) 61923a0898aSmrg basic_machine=m68k-motorola 62023a0898aSmrg ;; 62123a0898aSmrg delta88) 62223a0898aSmrg basic_machine=m88k-motorola 62323a0898aSmrg os=-sysv3 62423a0898aSmrg ;; 62541c30155Smrg dicos) 62641c30155Smrg basic_machine=i686-pc 62741c30155Smrg os=-dicos 62841c30155Smrg ;; 62923a0898aSmrg djgpp) 63023a0898aSmrg basic_machine=i586-pc 63123a0898aSmrg os=-msdosdjgpp 63223a0898aSmrg ;; 63323a0898aSmrg dpx20 | dpx20-*) 63423a0898aSmrg basic_machine=rs6000-bull 63523a0898aSmrg os=-bosx 63623a0898aSmrg ;; 63723a0898aSmrg dpx2* | dpx2*-bull) 63823a0898aSmrg basic_machine=m68k-bull 63923a0898aSmrg os=-sysv3 64023a0898aSmrg ;; 64123a0898aSmrg ebmon29k) 64223a0898aSmrg basic_machine=a29k-amd 64323a0898aSmrg os=-ebmon 64423a0898aSmrg ;; 64523a0898aSmrg elxsi) 64623a0898aSmrg basic_machine=elxsi-elxsi 64723a0898aSmrg os=-bsd 64823a0898aSmrg ;; 64923a0898aSmrg encore | umax | mmax) 65023a0898aSmrg basic_machine=ns32k-encore 65123a0898aSmrg ;; 65223a0898aSmrg es1800 | OSE68k | ose68k | ose | OSE) 65323a0898aSmrg basic_machine=m68k-ericsson 65423a0898aSmrg os=-ose 65523a0898aSmrg ;; 65623a0898aSmrg fx2800) 65723a0898aSmrg basic_machine=i860-alliant 65823a0898aSmrg ;; 65923a0898aSmrg genix) 66023a0898aSmrg basic_machine=ns32k-ns 66123a0898aSmrg ;; 66223a0898aSmrg gmicro) 66323a0898aSmrg basic_machine=tron-gmicro 66423a0898aSmrg os=-sysv 66523a0898aSmrg ;; 66623a0898aSmrg go32) 66723a0898aSmrg basic_machine=i386-pc 66823a0898aSmrg os=-go32 66923a0898aSmrg ;; 67023a0898aSmrg h3050r* | hiux*) 67123a0898aSmrg basic_machine=hppa1.1-hitachi 67223a0898aSmrg os=-hiuxwe2 67323a0898aSmrg ;; 67423a0898aSmrg h8300hms) 67523a0898aSmrg basic_machine=h8300-hitachi 67623a0898aSmrg os=-hms 67723a0898aSmrg ;; 67823a0898aSmrg h8300xray) 67923a0898aSmrg basic_machine=h8300-hitachi 68023a0898aSmrg os=-xray 68123a0898aSmrg ;; 68223a0898aSmrg h8500hms) 68323a0898aSmrg basic_machine=h8500-hitachi 68423a0898aSmrg os=-hms 68523a0898aSmrg ;; 68623a0898aSmrg harris) 68723a0898aSmrg basic_machine=m88k-harris 68823a0898aSmrg os=-sysv3 68923a0898aSmrg ;; 69023a0898aSmrg hp300-*) 69123a0898aSmrg basic_machine=m68k-hp 69223a0898aSmrg ;; 69323a0898aSmrg hp300bsd) 69423a0898aSmrg basic_machine=m68k-hp 69523a0898aSmrg os=-bsd 69623a0898aSmrg ;; 69723a0898aSmrg hp300hpux) 69823a0898aSmrg basic_machine=m68k-hp 69923a0898aSmrg os=-hpux 70023a0898aSmrg ;; 70123a0898aSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 70223a0898aSmrg basic_machine=hppa1.0-hp 70323a0898aSmrg ;; 70423a0898aSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 70523a0898aSmrg basic_machine=m68000-hp 70623a0898aSmrg ;; 70723a0898aSmrg hp9k3[2-9][0-9]) 70823a0898aSmrg basic_machine=m68k-hp 70923a0898aSmrg ;; 71023a0898aSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 71123a0898aSmrg basic_machine=hppa1.0-hp 71223a0898aSmrg ;; 71323a0898aSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 71423a0898aSmrg basic_machine=hppa1.1-hp 71523a0898aSmrg ;; 71623a0898aSmrg hp9k78[0-9] | hp78[0-9]) 71723a0898aSmrg # FIXME: really hppa2.0-hp 71823a0898aSmrg basic_machine=hppa1.1-hp 71923a0898aSmrg ;; 72023a0898aSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 72123a0898aSmrg # FIXME: really hppa2.0-hp 72223a0898aSmrg basic_machine=hppa1.1-hp 72323a0898aSmrg ;; 72423a0898aSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 72523a0898aSmrg basic_machine=hppa1.1-hp 72623a0898aSmrg ;; 72723a0898aSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 72823a0898aSmrg basic_machine=hppa1.0-hp 72923a0898aSmrg ;; 73023a0898aSmrg hppa-next) 73123a0898aSmrg os=-nextstep3 73223a0898aSmrg ;; 73323a0898aSmrg hppaosf) 73423a0898aSmrg basic_machine=hppa1.1-hp 73523a0898aSmrg os=-osf 73623a0898aSmrg ;; 73723a0898aSmrg hppro) 73823a0898aSmrg basic_machine=hppa1.1-hp 73923a0898aSmrg os=-proelf 74023a0898aSmrg ;; 74123a0898aSmrg i370-ibm* | ibm*) 74223a0898aSmrg basic_machine=i370-ibm 74323a0898aSmrg ;; 74423a0898aSmrg i*86v32) 74523a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 74623a0898aSmrg os=-sysv32 74723a0898aSmrg ;; 74823a0898aSmrg i*86v4*) 74923a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75023a0898aSmrg os=-sysv4 75123a0898aSmrg ;; 75223a0898aSmrg i*86v) 75323a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75423a0898aSmrg os=-sysv 75523a0898aSmrg ;; 75623a0898aSmrg i*86sol2) 75723a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75823a0898aSmrg os=-solaris2 75923a0898aSmrg ;; 76023a0898aSmrg i386mach) 76123a0898aSmrg basic_machine=i386-mach 76223a0898aSmrg os=-mach 76323a0898aSmrg ;; 76423a0898aSmrg i386-vsta | vsta) 76523a0898aSmrg basic_machine=i386-unknown 76623a0898aSmrg os=-vsta 76723a0898aSmrg ;; 76823a0898aSmrg iris | iris4d) 76923a0898aSmrg basic_machine=mips-sgi 77023a0898aSmrg case $os in 77123a0898aSmrg -irix*) 77223a0898aSmrg ;; 77323a0898aSmrg *) 77423a0898aSmrg os=-irix4 77523a0898aSmrg ;; 77623a0898aSmrg esac 77723a0898aSmrg ;; 77823a0898aSmrg isi68 | isi) 77923a0898aSmrg basic_machine=m68k-isi 78023a0898aSmrg os=-sysv 78123a0898aSmrg ;; 782121a5469Smrg leon-*|leon[3-9]-*) 783121a5469Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 784121a5469Smrg ;; 7857f7f5e4eSmrg m68knommu) 7867f7f5e4eSmrg basic_machine=m68k-unknown 7877f7f5e4eSmrg os=-linux 7887f7f5e4eSmrg ;; 7897f7f5e4eSmrg m68knommu-*) 7907f7f5e4eSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7917f7f5e4eSmrg os=-linux 7927f7f5e4eSmrg ;; 79323a0898aSmrg m88k-omron*) 79423a0898aSmrg basic_machine=m88k-omron 79523a0898aSmrg ;; 79623a0898aSmrg magnum | m3230) 79723a0898aSmrg basic_machine=mips-mips 79823a0898aSmrg os=-sysv 79923a0898aSmrg ;; 80023a0898aSmrg merlin) 80123a0898aSmrg basic_machine=ns32k-utek 80223a0898aSmrg os=-sysv 80323a0898aSmrg ;; 804b020570bSmrg microblaze*) 80541c30155Smrg basic_machine=microblaze-xilinx 80641c30155Smrg ;; 807b020570bSmrg mingw64) 808b020570bSmrg basic_machine=x86_64-pc 809b020570bSmrg os=-mingw64 810b020570bSmrg ;; 81123a0898aSmrg mingw32) 8120145ab54Ssnj basic_machine=i686-pc 81323a0898aSmrg os=-mingw32 81423a0898aSmrg ;; 81523a0898aSmrg mingw32ce) 81623a0898aSmrg basic_machine=arm-unknown 81723a0898aSmrg os=-mingw32ce 81823a0898aSmrg ;; 81923a0898aSmrg miniframe) 82023a0898aSmrg basic_machine=m68000-convergent 82123a0898aSmrg ;; 82223a0898aSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 82323a0898aSmrg basic_machine=m68k-atari 82423a0898aSmrg os=-mint 82523a0898aSmrg ;; 82623a0898aSmrg mips3*-*) 82723a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 82823a0898aSmrg ;; 82923a0898aSmrg mips3*) 83023a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 83123a0898aSmrg ;; 83223a0898aSmrg monitor) 83323a0898aSmrg basic_machine=m68k-rom68k 83423a0898aSmrg os=-coff 83523a0898aSmrg ;; 83623a0898aSmrg morphos) 83723a0898aSmrg basic_machine=powerpc-unknown 83823a0898aSmrg os=-morphos 83923a0898aSmrg ;; 840121a5469Smrg moxiebox) 841121a5469Smrg basic_machine=moxie-unknown 842121a5469Smrg os=-moxiebox 843121a5469Smrg ;; 84423a0898aSmrg msdos) 84523a0898aSmrg basic_machine=i386-pc 84623a0898aSmrg os=-msdos 84723a0898aSmrg ;; 84823a0898aSmrg ms1-*) 84923a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 85023a0898aSmrg ;; 851b020570bSmrg msys) 8520145ab54Ssnj basic_machine=i686-pc 853b020570bSmrg os=-msys 854b020570bSmrg ;; 85523a0898aSmrg mvs) 85623a0898aSmrg basic_machine=i370-ibm 85723a0898aSmrg os=-mvs 85823a0898aSmrg ;; 859b020570bSmrg nacl) 860b020570bSmrg basic_machine=le32-unknown 861b020570bSmrg os=-nacl 862b020570bSmrg ;; 86323a0898aSmrg ncr3000) 86423a0898aSmrg basic_machine=i486-ncr 86523a0898aSmrg os=-sysv4 86623a0898aSmrg ;; 86723a0898aSmrg netbsd386) 86823a0898aSmrg basic_machine=i386-unknown 86923a0898aSmrg os=-netbsd 87023a0898aSmrg ;; 87123a0898aSmrg netwinder) 87223a0898aSmrg basic_machine=armv4l-rebel 87323a0898aSmrg os=-linux 87423a0898aSmrg ;; 87523a0898aSmrg news | news700 | news800 | news900) 87623a0898aSmrg basic_machine=m68k-sony 87723a0898aSmrg os=-newsos 87823a0898aSmrg ;; 87923a0898aSmrg news1000) 88023a0898aSmrg basic_machine=m68030-sony 88123a0898aSmrg os=-newsos 88223a0898aSmrg ;; 88323a0898aSmrg news-3600 | risc-news) 88423a0898aSmrg basic_machine=mips-sony 88523a0898aSmrg os=-newsos 88623a0898aSmrg ;; 88723a0898aSmrg necv70) 88823a0898aSmrg basic_machine=v70-nec 88923a0898aSmrg os=-sysv 89023a0898aSmrg ;; 89123a0898aSmrg next | m*-next ) 89223a0898aSmrg basic_machine=m68k-next 89323a0898aSmrg case $os in 89423a0898aSmrg -nextstep* ) 89523a0898aSmrg ;; 89623a0898aSmrg -ns2*) 89723a0898aSmrg os=-nextstep2 89823a0898aSmrg ;; 89923a0898aSmrg *) 90023a0898aSmrg os=-nextstep3 90123a0898aSmrg ;; 90223a0898aSmrg esac 90323a0898aSmrg ;; 90423a0898aSmrg nh3000) 90523a0898aSmrg basic_machine=m68k-harris 90623a0898aSmrg os=-cxux 90723a0898aSmrg ;; 90823a0898aSmrg nh[45]000) 90923a0898aSmrg basic_machine=m88k-harris 91023a0898aSmrg os=-cxux 91123a0898aSmrg ;; 91223a0898aSmrg nindy960) 91323a0898aSmrg basic_machine=i960-intel 91423a0898aSmrg os=-nindy 91523a0898aSmrg ;; 91623a0898aSmrg mon960) 91723a0898aSmrg basic_machine=i960-intel 91823a0898aSmrg os=-mon960 91923a0898aSmrg ;; 92023a0898aSmrg nonstopux) 92123a0898aSmrg basic_machine=mips-compaq 92223a0898aSmrg os=-nonstopux 92323a0898aSmrg ;; 92423a0898aSmrg np1) 92523a0898aSmrg basic_machine=np1-gould 92623a0898aSmrg ;; 927b020570bSmrg neo-tandem) 92841c30155Smrg basic_machine=neo-tandem 92941c30155Smrg ;; 930b020570bSmrg nse-tandem) 93141c30155Smrg basic_machine=nse-tandem 93241c30155Smrg ;; 93323a0898aSmrg nsr-tandem) 93423a0898aSmrg basic_machine=nsr-tandem 93523a0898aSmrg ;; 93623a0898aSmrg op50n-* | op60c-*) 93723a0898aSmrg basic_machine=hppa1.1-oki 93823a0898aSmrg os=-proelf 93923a0898aSmrg ;; 94023a0898aSmrg openrisc | openrisc-*) 94123a0898aSmrg basic_machine=or32-unknown 94223a0898aSmrg ;; 94323a0898aSmrg os400) 94423a0898aSmrg basic_machine=powerpc-ibm 94523a0898aSmrg os=-os400 94623a0898aSmrg ;; 94723a0898aSmrg OSE68000 | ose68000) 94823a0898aSmrg basic_machine=m68000-ericsson 94923a0898aSmrg os=-ose 95023a0898aSmrg ;; 95123a0898aSmrg os68k) 95223a0898aSmrg basic_machine=m68k-none 95323a0898aSmrg os=-os68k 95423a0898aSmrg ;; 95523a0898aSmrg pa-hitachi) 95623a0898aSmrg basic_machine=hppa1.1-hitachi 95723a0898aSmrg os=-hiuxwe2 95823a0898aSmrg ;; 95923a0898aSmrg paragon) 96023a0898aSmrg basic_machine=i860-intel 96123a0898aSmrg os=-osf 96223a0898aSmrg ;; 9637f7f5e4eSmrg parisc) 9647f7f5e4eSmrg basic_machine=hppa-unknown 9657f7f5e4eSmrg os=-linux 9667f7f5e4eSmrg ;; 9677f7f5e4eSmrg parisc-*) 9687f7f5e4eSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9697f7f5e4eSmrg os=-linux 9707f7f5e4eSmrg ;; 97123a0898aSmrg pbd) 97223a0898aSmrg basic_machine=sparc-tti 97323a0898aSmrg ;; 97423a0898aSmrg pbb) 97523a0898aSmrg basic_machine=m68k-tti 97623a0898aSmrg ;; 97723a0898aSmrg pc532 | pc532-*) 97823a0898aSmrg basic_machine=ns32k-pc532 97923a0898aSmrg ;; 98023a0898aSmrg pc98) 98123a0898aSmrg basic_machine=i386-pc 98223a0898aSmrg ;; 98323a0898aSmrg pc98-*) 98423a0898aSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 98523a0898aSmrg ;; 98623a0898aSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 98723a0898aSmrg basic_machine=i586-pc 98823a0898aSmrg ;; 98923a0898aSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 99023a0898aSmrg basic_machine=i686-pc 99123a0898aSmrg ;; 99223a0898aSmrg pentiumii | pentium2 | pentiumiii | pentium3) 99323a0898aSmrg basic_machine=i686-pc 99423a0898aSmrg ;; 99523a0898aSmrg pentium4) 99623a0898aSmrg basic_machine=i786-pc 99723a0898aSmrg ;; 99823a0898aSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 99923a0898aSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 100023a0898aSmrg ;; 100123a0898aSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 100223a0898aSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 100323a0898aSmrg ;; 100423a0898aSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 100523a0898aSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 100623a0898aSmrg ;; 100723a0898aSmrg pentium4-*) 100823a0898aSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 100923a0898aSmrg ;; 101023a0898aSmrg pn) 101123a0898aSmrg basic_machine=pn-gould 101223a0898aSmrg ;; 101323a0898aSmrg power) basic_machine=power-ibm 101423a0898aSmrg ;; 1015b020570bSmrg ppc | ppcbe) basic_machine=powerpc-unknown 101623a0898aSmrg ;; 1017b020570bSmrg ppc-* | ppcbe-*) 1018b020570bSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 101923a0898aSmrg ;; 102023a0898aSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 102123a0898aSmrg basic_machine=powerpcle-unknown 102223a0898aSmrg ;; 102323a0898aSmrg ppcle-* | powerpclittle-*) 102423a0898aSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 102523a0898aSmrg ;; 102623a0898aSmrg ppc64) basic_machine=powerpc64-unknown 102723a0898aSmrg ;; 1028b43acbb4Smrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 102923a0898aSmrg ;; 103023a0898aSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 103123a0898aSmrg basic_machine=powerpc64le-unknown 103223a0898aSmrg ;; 103323a0898aSmrg ppc64le-* | powerpc64little-*) 103423a0898aSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 103523a0898aSmrg ;; 103623a0898aSmrg ps2) 103723a0898aSmrg basic_machine=i386-ibm 103823a0898aSmrg ;; 103923a0898aSmrg pw32) 104023a0898aSmrg basic_machine=i586-unknown 104123a0898aSmrg os=-pw32 104223a0898aSmrg ;; 1043b020570bSmrg rdos | rdos64) 1044b020570bSmrg basic_machine=x86_64-pc 1045b020570bSmrg os=-rdos 1046b020570bSmrg ;; 1047b020570bSmrg rdos32) 104823a0898aSmrg basic_machine=i386-pc 104923a0898aSmrg os=-rdos 105023a0898aSmrg ;; 105123a0898aSmrg rom68k) 105223a0898aSmrg basic_machine=m68k-rom68k 105323a0898aSmrg os=-coff 105423a0898aSmrg ;; 105523a0898aSmrg rm[46]00) 105623a0898aSmrg basic_machine=mips-siemens 105723a0898aSmrg ;; 105823a0898aSmrg rtpc | rtpc-*) 105923a0898aSmrg basic_machine=romp-ibm 106023a0898aSmrg ;; 106123a0898aSmrg s390 | s390-*) 106223a0898aSmrg basic_machine=s390-ibm 106323a0898aSmrg ;; 106423a0898aSmrg s390x | s390x-*) 106523a0898aSmrg basic_machine=s390x-ibm 106623a0898aSmrg ;; 106723a0898aSmrg sa29200) 106823a0898aSmrg basic_machine=a29k-amd 106923a0898aSmrg os=-udi 107023a0898aSmrg ;; 107123a0898aSmrg sb1) 107223a0898aSmrg basic_machine=mipsisa64sb1-unknown 107323a0898aSmrg ;; 107423a0898aSmrg sb1el) 107523a0898aSmrg basic_machine=mipsisa64sb1el-unknown 107623a0898aSmrg ;; 107723a0898aSmrg sde) 107823a0898aSmrg basic_machine=mipsisa32-sde 107923a0898aSmrg os=-elf 108023a0898aSmrg ;; 108123a0898aSmrg sei) 108223a0898aSmrg basic_machine=mips-sei 108323a0898aSmrg os=-seiux 108423a0898aSmrg ;; 108523a0898aSmrg sequent) 108623a0898aSmrg basic_machine=i386-sequent 108723a0898aSmrg ;; 108823a0898aSmrg sh) 108923a0898aSmrg basic_machine=sh-hitachi 109023a0898aSmrg os=-hms 109123a0898aSmrg ;; 109223a0898aSmrg sh5el) 109323a0898aSmrg basic_machine=sh5le-unknown 109423a0898aSmrg ;; 109523a0898aSmrg sh64) 109623a0898aSmrg basic_machine=sh64-unknown 109723a0898aSmrg ;; 109823a0898aSmrg sparclite-wrs | simso-wrs) 109923a0898aSmrg basic_machine=sparclite-wrs 110023a0898aSmrg os=-vxworks 110123a0898aSmrg ;; 110223a0898aSmrg sps7) 110323a0898aSmrg basic_machine=m68k-bull 110423a0898aSmrg os=-sysv2 110523a0898aSmrg ;; 110623a0898aSmrg spur) 110723a0898aSmrg basic_machine=spur-unknown 110823a0898aSmrg ;; 110923a0898aSmrg st2000) 111023a0898aSmrg basic_machine=m68k-tandem 111123a0898aSmrg ;; 111223a0898aSmrg stratus) 111323a0898aSmrg basic_machine=i860-stratus 111423a0898aSmrg os=-sysv4 111523a0898aSmrg ;; 1116b020570bSmrg strongarm-* | thumb-*) 1117b020570bSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1118b020570bSmrg ;; 111923a0898aSmrg sun2) 112023a0898aSmrg basic_machine=m68000-sun 112123a0898aSmrg ;; 112223a0898aSmrg sun2os3) 112323a0898aSmrg basic_machine=m68000-sun 112423a0898aSmrg os=-sunos3 112523a0898aSmrg ;; 112623a0898aSmrg sun2os4) 112723a0898aSmrg basic_machine=m68000-sun 112823a0898aSmrg os=-sunos4 112923a0898aSmrg ;; 113023a0898aSmrg sun3os3) 113123a0898aSmrg basic_machine=m68k-sun 113223a0898aSmrg os=-sunos3 113323a0898aSmrg ;; 113423a0898aSmrg sun3os4) 113523a0898aSmrg basic_machine=m68k-sun 113623a0898aSmrg os=-sunos4 113723a0898aSmrg ;; 113823a0898aSmrg sun4os3) 113923a0898aSmrg basic_machine=sparc-sun 114023a0898aSmrg os=-sunos3 114123a0898aSmrg ;; 114223a0898aSmrg sun4os4) 114323a0898aSmrg basic_machine=sparc-sun 114423a0898aSmrg os=-sunos4 114523a0898aSmrg ;; 114623a0898aSmrg sun4sol2) 114723a0898aSmrg basic_machine=sparc-sun 114823a0898aSmrg os=-solaris2 114923a0898aSmrg ;; 115023a0898aSmrg sun3 | sun3-*) 115123a0898aSmrg basic_machine=m68k-sun 115223a0898aSmrg ;; 115323a0898aSmrg sun4) 115423a0898aSmrg basic_machine=sparc-sun 115523a0898aSmrg ;; 115623a0898aSmrg sun386 | sun386i | roadrunner) 115723a0898aSmrg basic_machine=i386-sun 115823a0898aSmrg ;; 115923a0898aSmrg sv1) 116023a0898aSmrg basic_machine=sv1-cray 116123a0898aSmrg os=-unicos 116223a0898aSmrg ;; 116323a0898aSmrg symmetry) 116423a0898aSmrg basic_machine=i386-sequent 116523a0898aSmrg os=-dynix 116623a0898aSmrg ;; 116723a0898aSmrg t3e) 116823a0898aSmrg basic_machine=alphaev5-cray 116923a0898aSmrg os=-unicos 117023a0898aSmrg ;; 117123a0898aSmrg t90) 117223a0898aSmrg basic_machine=t90-cray 117323a0898aSmrg os=-unicos 117423a0898aSmrg ;; 11757f7f5e4eSmrg tile*) 1176b020570bSmrg basic_machine=$basic_machine-unknown 11777f7f5e4eSmrg os=-linux-gnu 11787f7f5e4eSmrg ;; 117923a0898aSmrg tx39) 118023a0898aSmrg basic_machine=mipstx39-unknown 118123a0898aSmrg ;; 118223a0898aSmrg tx39el) 118323a0898aSmrg basic_machine=mipstx39el-unknown 118423a0898aSmrg ;; 118523a0898aSmrg toad1) 118623a0898aSmrg basic_machine=pdp10-xkl 118723a0898aSmrg os=-tops20 118823a0898aSmrg ;; 118923a0898aSmrg tower | tower-32) 119023a0898aSmrg basic_machine=m68k-ncr 119123a0898aSmrg ;; 119223a0898aSmrg tpf) 119323a0898aSmrg basic_machine=s390x-ibm 119423a0898aSmrg os=-tpf 119523a0898aSmrg ;; 119623a0898aSmrg udi29k) 119723a0898aSmrg basic_machine=a29k-amd 119823a0898aSmrg os=-udi 119923a0898aSmrg ;; 120023a0898aSmrg ultra3) 120123a0898aSmrg basic_machine=a29k-nyu 120223a0898aSmrg os=-sym1 120323a0898aSmrg ;; 120423a0898aSmrg v810 | necv810) 120523a0898aSmrg basic_machine=v810-nec 120623a0898aSmrg os=-none 120723a0898aSmrg ;; 120823a0898aSmrg vaxv) 120923a0898aSmrg basic_machine=vax-dec 121023a0898aSmrg os=-sysv 121123a0898aSmrg ;; 121223a0898aSmrg vms) 121323a0898aSmrg basic_machine=vax-dec 121423a0898aSmrg os=-vms 121523a0898aSmrg ;; 121623a0898aSmrg vpp*|vx|vx-*) 121723a0898aSmrg basic_machine=f301-fujitsu 121823a0898aSmrg ;; 121923a0898aSmrg vxworks960) 122023a0898aSmrg basic_machine=i960-wrs 122123a0898aSmrg os=-vxworks 122223a0898aSmrg ;; 122323a0898aSmrg vxworks68) 122423a0898aSmrg basic_machine=m68k-wrs 122523a0898aSmrg os=-vxworks 122623a0898aSmrg ;; 122723a0898aSmrg vxworks29k) 122823a0898aSmrg basic_machine=a29k-wrs 122923a0898aSmrg os=-vxworks 123023a0898aSmrg ;; 123123a0898aSmrg w65*) 123223a0898aSmrg basic_machine=w65-wdc 123323a0898aSmrg os=-none 123423a0898aSmrg ;; 123523a0898aSmrg w89k-*) 123623a0898aSmrg basic_machine=hppa1.1-winbond 123723a0898aSmrg os=-proelf 123823a0898aSmrg ;; 123923a0898aSmrg xbox) 124023a0898aSmrg basic_machine=i686-pc 124123a0898aSmrg os=-mingw32 124223a0898aSmrg ;; 124323a0898aSmrg xps | xps100) 124423a0898aSmrg basic_machine=xps100-honeywell 124523a0898aSmrg ;; 1246b020570bSmrg xscale-* | xscalee[bl]-*) 1247b020570bSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1248b020570bSmrg ;; 124923a0898aSmrg ymp) 125023a0898aSmrg basic_machine=ymp-cray 125123a0898aSmrg os=-unicos 125223a0898aSmrg ;; 125323a0898aSmrg z8k-*-coff) 125423a0898aSmrg basic_machine=z8k-unknown 125523a0898aSmrg os=-sim 125623a0898aSmrg ;; 125741c30155Smrg z80-*-coff) 125841c30155Smrg basic_machine=z80-unknown 125941c30155Smrg os=-sim 126041c30155Smrg ;; 126123a0898aSmrg none) 126223a0898aSmrg basic_machine=none-none 126323a0898aSmrg os=-none 126423a0898aSmrg ;; 126523a0898aSmrg 126623a0898aSmrg# Here we handle the default manufacturer of certain CPU types. It is in 126723a0898aSmrg# some cases the only manufacturer, in others, it is the most popular. 126823a0898aSmrg w89k) 126923a0898aSmrg basic_machine=hppa1.1-winbond 127023a0898aSmrg ;; 127123a0898aSmrg op50n) 127223a0898aSmrg basic_machine=hppa1.1-oki 127323a0898aSmrg ;; 127423a0898aSmrg op60c) 127523a0898aSmrg basic_machine=hppa1.1-oki 127623a0898aSmrg ;; 127723a0898aSmrg romp) 127823a0898aSmrg basic_machine=romp-ibm 127923a0898aSmrg ;; 128023a0898aSmrg mmix) 128123a0898aSmrg basic_machine=mmix-knuth 128223a0898aSmrg ;; 128323a0898aSmrg rs6000) 128423a0898aSmrg basic_machine=rs6000-ibm 128523a0898aSmrg ;; 128623a0898aSmrg vax) 128723a0898aSmrg basic_machine=vax-dec 128823a0898aSmrg ;; 128923a0898aSmrg pdp10) 129023a0898aSmrg # there are many clones, so DEC is not a safe bet 129123a0898aSmrg basic_machine=pdp10-unknown 129223a0898aSmrg ;; 129323a0898aSmrg pdp11) 129423a0898aSmrg basic_machine=pdp11-dec 129523a0898aSmrg ;; 129623a0898aSmrg we32k) 129723a0898aSmrg basic_machine=we32k-att 129823a0898aSmrg ;; 129941c30155Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 130023a0898aSmrg basic_machine=sh-unknown 130123a0898aSmrg ;; 130223a0898aSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 130323a0898aSmrg basic_machine=sparc-sun 130423a0898aSmrg ;; 130523a0898aSmrg cydra) 130623a0898aSmrg basic_machine=cydra-cydrome 130723a0898aSmrg ;; 130823a0898aSmrg orion) 130923a0898aSmrg basic_machine=orion-highlevel 131023a0898aSmrg ;; 131123a0898aSmrg orion105) 131223a0898aSmrg basic_machine=clipper-highlevel 131323a0898aSmrg ;; 131423a0898aSmrg mac | mpw | mac-mpw) 131523a0898aSmrg basic_machine=m68k-apple 131623a0898aSmrg ;; 131723a0898aSmrg pmac | pmac-mpw) 131823a0898aSmrg basic_machine=powerpc-apple 131923a0898aSmrg ;; 132023a0898aSmrg *-unknown) 132123a0898aSmrg # Make sure to match an already-canonicalized machine name. 132223a0898aSmrg ;; 132323a0898aSmrg *) 132423a0898aSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 132523a0898aSmrg exit 1 132623a0898aSmrg ;; 132723a0898aSmrgesac 132823a0898aSmrg 132923a0898aSmrg# Here we canonicalize certain aliases for manufacturers. 133023a0898aSmrgcase $basic_machine in 133123a0898aSmrg *-digital*) 133223a0898aSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 133323a0898aSmrg ;; 133423a0898aSmrg *-commodore*) 133523a0898aSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 133623a0898aSmrg ;; 133723a0898aSmrg *) 133823a0898aSmrg ;; 133923a0898aSmrgesac 134023a0898aSmrg 134123a0898aSmrg# Decode manufacturer-specific aliases for certain operating systems. 134223a0898aSmrg 134323a0898aSmrgif [ x"$os" != x"" ] 134423a0898aSmrgthen 134523a0898aSmrgcase $os in 1346b020570bSmrg # First match some system type aliases 1347b020570bSmrg # that might get confused with valid system types. 134823a0898aSmrg # -solaris* is a basic system type, with this one exception. 1349b020570bSmrg -auroraux) 1350b020570bSmrg os=-auroraux 135141c30155Smrg ;; 135223a0898aSmrg -solaris1 | -solaris1.*) 135323a0898aSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 135423a0898aSmrg ;; 135523a0898aSmrg -solaris) 135623a0898aSmrg os=-solaris2 135723a0898aSmrg ;; 135823a0898aSmrg -svr4*) 135923a0898aSmrg os=-sysv4 136023a0898aSmrg ;; 136123a0898aSmrg -unixware*) 136223a0898aSmrg os=-sysv4.2uw 136323a0898aSmrg ;; 136423a0898aSmrg -gnu/linux*) 136523a0898aSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 136623a0898aSmrg ;; 136723a0898aSmrg # First accept the basic system types. 136823a0898aSmrg # The portable systems comes first. 136923a0898aSmrg # Each alternative MUST END IN A *, to match a version number. 137023a0898aSmrg # -sysv* is not here because it comes later, after sysvr4. 137123a0898aSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 137241c30155Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 137341c30155Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1374b020570bSmrg | -sym* | -kopensolaris* | -plan9* \ 137523a0898aSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 137641c30155Smrg | -aos* | -aros* \ 137723a0898aSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 137823a0898aSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 137923a0898aSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1380b020570bSmrg | -bitrig* | -openbsd* | -solidbsd* \ 138123a0898aSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 138223a0898aSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 138323a0898aSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 138423a0898aSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 138541c30155Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1386b020570bSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1387b020570bSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1388b020570bSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1389121a5469Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 139023a0898aSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 139123a0898aSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 139223a0898aSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 139323a0898aSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 139423a0898aSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 139523a0898aSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1396121a5469Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 139723a0898aSmrg # Remember, each alternative MUST END IN *, to match a version number. 139823a0898aSmrg ;; 139923a0898aSmrg -qnx*) 140023a0898aSmrg case $basic_machine in 140123a0898aSmrg x86-* | i*86-*) 140223a0898aSmrg ;; 140323a0898aSmrg *) 140423a0898aSmrg os=-nto$os 140523a0898aSmrg ;; 140623a0898aSmrg esac 140723a0898aSmrg ;; 140823a0898aSmrg -nto-qnx*) 140923a0898aSmrg ;; 141023a0898aSmrg -nto*) 141123a0898aSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 141223a0898aSmrg ;; 141323a0898aSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 141423a0898aSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 141523a0898aSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 141623a0898aSmrg ;; 141723a0898aSmrg -mac*) 141823a0898aSmrg os=`echo $os | sed -e 's|mac|macos|'` 141923a0898aSmrg ;; 142023a0898aSmrg -linux-dietlibc) 142123a0898aSmrg os=-linux-dietlibc 142223a0898aSmrg ;; 142323a0898aSmrg -linux*) 142423a0898aSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 142523a0898aSmrg ;; 142623a0898aSmrg -sunos5*) 142723a0898aSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 142823a0898aSmrg ;; 142923a0898aSmrg -sunos6*) 143023a0898aSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 143123a0898aSmrg ;; 143223a0898aSmrg -opened*) 143323a0898aSmrg os=-openedition 143423a0898aSmrg ;; 1435b020570bSmrg -os400*) 143623a0898aSmrg os=-os400 143723a0898aSmrg ;; 143823a0898aSmrg -wince*) 143923a0898aSmrg os=-wince 144023a0898aSmrg ;; 144123a0898aSmrg -osfrose*) 144223a0898aSmrg os=-osfrose 144323a0898aSmrg ;; 144423a0898aSmrg -osf*) 144523a0898aSmrg os=-osf 144623a0898aSmrg ;; 144723a0898aSmrg -utek*) 144823a0898aSmrg os=-bsd 144923a0898aSmrg ;; 145023a0898aSmrg -dynix*) 145123a0898aSmrg os=-bsd 145223a0898aSmrg ;; 145323a0898aSmrg -acis*) 145423a0898aSmrg os=-aos 145523a0898aSmrg ;; 145623a0898aSmrg -atheos*) 145723a0898aSmrg os=-atheos 145823a0898aSmrg ;; 145923a0898aSmrg -syllable*) 146023a0898aSmrg os=-syllable 146123a0898aSmrg ;; 146223a0898aSmrg -386bsd) 146323a0898aSmrg os=-bsd 146423a0898aSmrg ;; 146523a0898aSmrg -ctix* | -uts*) 146623a0898aSmrg os=-sysv 146723a0898aSmrg ;; 146823a0898aSmrg -nova*) 146923a0898aSmrg os=-rtmk-nova 147023a0898aSmrg ;; 147123a0898aSmrg -ns2 ) 147223a0898aSmrg os=-nextstep2 147323a0898aSmrg ;; 147423a0898aSmrg -nsk*) 147523a0898aSmrg os=-nsk 147623a0898aSmrg ;; 147723a0898aSmrg # Preserve the version number of sinix5. 147823a0898aSmrg -sinix5.*) 147923a0898aSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 148023a0898aSmrg ;; 148123a0898aSmrg -sinix*) 148223a0898aSmrg os=-sysv4 148323a0898aSmrg ;; 1484b020570bSmrg -tpf*) 148523a0898aSmrg os=-tpf 148623a0898aSmrg ;; 148723a0898aSmrg -triton*) 148823a0898aSmrg os=-sysv3 148923a0898aSmrg ;; 149023a0898aSmrg -oss*) 149123a0898aSmrg os=-sysv3 149223a0898aSmrg ;; 149323a0898aSmrg -svr4) 149423a0898aSmrg os=-sysv4 149523a0898aSmrg ;; 149623a0898aSmrg -svr3) 149723a0898aSmrg os=-sysv3 149823a0898aSmrg ;; 149923a0898aSmrg -sysvr4) 150023a0898aSmrg os=-sysv4 150123a0898aSmrg ;; 150223a0898aSmrg # This must come after -sysvr4. 150323a0898aSmrg -sysv*) 150423a0898aSmrg ;; 150523a0898aSmrg -ose*) 150623a0898aSmrg os=-ose 150723a0898aSmrg ;; 150823a0898aSmrg -es1800*) 150923a0898aSmrg os=-ose 151023a0898aSmrg ;; 151123a0898aSmrg -xenix) 151223a0898aSmrg os=-xenix 151323a0898aSmrg ;; 151423a0898aSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 151523a0898aSmrg os=-mint 151623a0898aSmrg ;; 151723a0898aSmrg -aros*) 151823a0898aSmrg os=-aros 151923a0898aSmrg ;; 152023a0898aSmrg -zvmoe) 152123a0898aSmrg os=-zvmoe 152223a0898aSmrg ;; 152341c30155Smrg -dicos*) 152441c30155Smrg os=-dicos 152541c30155Smrg ;; 1526b020570bSmrg -nacl*) 1527b020570bSmrg ;; 152823a0898aSmrg -none) 152923a0898aSmrg ;; 153023a0898aSmrg *) 153123a0898aSmrg # Get rid of the `-' at the beginning of $os. 153223a0898aSmrg os=`echo $os | sed 's/[^-]*-//'` 153323a0898aSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 153423a0898aSmrg exit 1 153523a0898aSmrg ;; 153623a0898aSmrgesac 153723a0898aSmrgelse 153823a0898aSmrg 153923a0898aSmrg# Here we handle the default operating systems that come with various machines. 154023a0898aSmrg# The value should be what the vendor currently ships out the door with their 154123a0898aSmrg# machine or put another way, the most popular os provided with the machine. 154223a0898aSmrg 154323a0898aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 154423a0898aSmrg# "-sun"), then you have to tell the case statement up towards the top 154523a0898aSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 154623a0898aSmrg# will signal an error saying that MANUFACTURER isn't an operating 154723a0898aSmrg# system, and we'll never get to this point. 154823a0898aSmrg 154923a0898aSmrgcase $basic_machine in 1550b020570bSmrg score-*) 155123a0898aSmrg os=-elf 155223a0898aSmrg ;; 1553b020570bSmrg spu-*) 155423a0898aSmrg os=-elf 155523a0898aSmrg ;; 155623a0898aSmrg *-acorn) 155723a0898aSmrg os=-riscix1.2 155823a0898aSmrg ;; 155923a0898aSmrg arm*-rebel) 156023a0898aSmrg os=-linux 156123a0898aSmrg ;; 156223a0898aSmrg arm*-semi) 156323a0898aSmrg os=-aout 156423a0898aSmrg ;; 1565b020570bSmrg c4x-* | tic4x-*) 1566b020570bSmrg os=-coff 1567b020570bSmrg ;; 15680145ab54Ssnj c8051-*) 15690145ab54Ssnj os=-elf 15700145ab54Ssnj ;; 1571b020570bSmrg hexagon-*) 1572b020570bSmrg os=-elf 157323a0898aSmrg ;; 157441c30155Smrg tic54x-*) 157541c30155Smrg os=-coff 157641c30155Smrg ;; 157741c30155Smrg tic55x-*) 157841c30155Smrg os=-coff 157941c30155Smrg ;; 158041c30155Smrg tic6x-*) 158141c30155Smrg os=-coff 158241c30155Smrg ;; 158323a0898aSmrg # This must come before the *-dec entry. 158423a0898aSmrg pdp10-*) 158523a0898aSmrg os=-tops20 158623a0898aSmrg ;; 158723a0898aSmrg pdp11-*) 158823a0898aSmrg os=-none 158923a0898aSmrg ;; 159023a0898aSmrg *-dec | vax-*) 159123a0898aSmrg os=-ultrix4.2 159223a0898aSmrg ;; 159323a0898aSmrg m68*-apollo) 159423a0898aSmrg os=-domain 159523a0898aSmrg ;; 159623a0898aSmrg i386-sun) 159723a0898aSmrg os=-sunos4.0.2 159823a0898aSmrg ;; 159923a0898aSmrg m68000-sun) 160023a0898aSmrg os=-sunos3 160123a0898aSmrg ;; 160223a0898aSmrg m68*-cisco) 160323a0898aSmrg os=-aout 160423a0898aSmrg ;; 1605b020570bSmrg mep-*) 160623a0898aSmrg os=-elf 160723a0898aSmrg ;; 160823a0898aSmrg mips*-cisco) 160923a0898aSmrg os=-elf 161023a0898aSmrg ;; 161123a0898aSmrg mips*-*) 161223a0898aSmrg os=-elf 161323a0898aSmrg ;; 161423a0898aSmrg or32-*) 161523a0898aSmrg os=-coff 161623a0898aSmrg ;; 161723a0898aSmrg *-tti) # must be before sparc entry or we get the wrong os. 161823a0898aSmrg os=-sysv3 161923a0898aSmrg ;; 162023a0898aSmrg sparc-* | *-sun) 162123a0898aSmrg os=-sunos4.1.1 162223a0898aSmrg ;; 162323a0898aSmrg *-be) 162423a0898aSmrg os=-beos 162523a0898aSmrg ;; 162623a0898aSmrg *-haiku) 162723a0898aSmrg os=-haiku 162823a0898aSmrg ;; 162923a0898aSmrg *-ibm) 163023a0898aSmrg os=-aix 163123a0898aSmrg ;; 1632b020570bSmrg *-knuth) 163323a0898aSmrg os=-mmixware 163423a0898aSmrg ;; 163523a0898aSmrg *-wec) 163623a0898aSmrg os=-proelf 163723a0898aSmrg ;; 163823a0898aSmrg *-winbond) 163923a0898aSmrg os=-proelf 164023a0898aSmrg ;; 164123a0898aSmrg *-oki) 164223a0898aSmrg os=-proelf 164323a0898aSmrg ;; 164423a0898aSmrg *-hp) 164523a0898aSmrg os=-hpux 164623a0898aSmrg ;; 164723a0898aSmrg *-hitachi) 164823a0898aSmrg os=-hiux 164923a0898aSmrg ;; 165023a0898aSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 165123a0898aSmrg os=-sysv 165223a0898aSmrg ;; 165323a0898aSmrg *-cbm) 165423a0898aSmrg os=-amigaos 165523a0898aSmrg ;; 165623a0898aSmrg *-dg) 165723a0898aSmrg os=-dgux 165823a0898aSmrg ;; 165923a0898aSmrg *-dolphin) 166023a0898aSmrg os=-sysv3 166123a0898aSmrg ;; 166223a0898aSmrg m68k-ccur) 166323a0898aSmrg os=-rtu 166423a0898aSmrg ;; 166523a0898aSmrg m88k-omron*) 166623a0898aSmrg os=-luna 166723a0898aSmrg ;; 166823a0898aSmrg *-next ) 166923a0898aSmrg os=-nextstep 167023a0898aSmrg ;; 167123a0898aSmrg *-sequent) 167223a0898aSmrg os=-ptx 167323a0898aSmrg ;; 167423a0898aSmrg *-crds) 167523a0898aSmrg os=-unos 167623a0898aSmrg ;; 167723a0898aSmrg *-ns) 167823a0898aSmrg os=-genix 167923a0898aSmrg ;; 168023a0898aSmrg i370-*) 168123a0898aSmrg os=-mvs 168223a0898aSmrg ;; 168323a0898aSmrg *-next) 168423a0898aSmrg os=-nextstep3 168523a0898aSmrg ;; 168623a0898aSmrg *-gould) 168723a0898aSmrg os=-sysv 168823a0898aSmrg ;; 168923a0898aSmrg *-highlevel) 169023a0898aSmrg os=-bsd 169123a0898aSmrg ;; 169223a0898aSmrg *-encore) 169323a0898aSmrg os=-bsd 169423a0898aSmrg ;; 169523a0898aSmrg *-sgi) 169623a0898aSmrg os=-irix 169723a0898aSmrg ;; 169823a0898aSmrg *-siemens) 169923a0898aSmrg os=-sysv4 170023a0898aSmrg ;; 170123a0898aSmrg *-masscomp) 170223a0898aSmrg os=-rtu 170323a0898aSmrg ;; 170423a0898aSmrg f30[01]-fujitsu | f700-fujitsu) 170523a0898aSmrg os=-uxpv 170623a0898aSmrg ;; 170723a0898aSmrg *-rom68k) 170823a0898aSmrg os=-coff 170923a0898aSmrg ;; 171023a0898aSmrg *-*bug) 171123a0898aSmrg os=-coff 171223a0898aSmrg ;; 171323a0898aSmrg *-apple) 171423a0898aSmrg os=-macos 171523a0898aSmrg ;; 171623a0898aSmrg *-atari*) 171723a0898aSmrg os=-mint 171823a0898aSmrg ;; 171923a0898aSmrg *) 172023a0898aSmrg os=-none 172123a0898aSmrg ;; 172223a0898aSmrgesac 172323a0898aSmrgfi 172423a0898aSmrg 172523a0898aSmrg# Here we handle the case where we know the os, and the CPU type, but not the 172623a0898aSmrg# manufacturer. We pick the logical manufacturer. 172723a0898aSmrgvendor=unknown 172823a0898aSmrgcase $basic_machine in 172923a0898aSmrg *-unknown) 173023a0898aSmrg case $os in 173123a0898aSmrg -riscix*) 173223a0898aSmrg vendor=acorn 173323a0898aSmrg ;; 173423a0898aSmrg -sunos*) 173523a0898aSmrg vendor=sun 173623a0898aSmrg ;; 173741c30155Smrg -cnk*|-aix*) 173823a0898aSmrg vendor=ibm 173923a0898aSmrg ;; 174023a0898aSmrg -beos*) 174123a0898aSmrg vendor=be 174223a0898aSmrg ;; 174323a0898aSmrg -hpux*) 174423a0898aSmrg vendor=hp 174523a0898aSmrg ;; 174623a0898aSmrg -mpeix*) 174723a0898aSmrg vendor=hp 174823a0898aSmrg ;; 174923a0898aSmrg -hiux*) 175023a0898aSmrg vendor=hitachi 175123a0898aSmrg ;; 175223a0898aSmrg -unos*) 175323a0898aSmrg vendor=crds 175423a0898aSmrg ;; 175523a0898aSmrg -dgux*) 175623a0898aSmrg vendor=dg 175723a0898aSmrg ;; 175823a0898aSmrg -luna*) 175923a0898aSmrg vendor=omron 176023a0898aSmrg ;; 176123a0898aSmrg -genix*) 176223a0898aSmrg vendor=ns 176323a0898aSmrg ;; 176423a0898aSmrg -mvs* | -opened*) 176523a0898aSmrg vendor=ibm 176623a0898aSmrg ;; 176723a0898aSmrg -os400*) 176823a0898aSmrg vendor=ibm 176923a0898aSmrg ;; 177023a0898aSmrg -ptx*) 177123a0898aSmrg vendor=sequent 177223a0898aSmrg ;; 177323a0898aSmrg -tpf*) 177423a0898aSmrg vendor=ibm 177523a0898aSmrg ;; 177623a0898aSmrg -vxsim* | -vxworks* | -windiss*) 177723a0898aSmrg vendor=wrs 177823a0898aSmrg ;; 177923a0898aSmrg -aux*) 178023a0898aSmrg vendor=apple 178123a0898aSmrg ;; 178223a0898aSmrg -hms*) 178323a0898aSmrg vendor=hitachi 178423a0898aSmrg ;; 178523a0898aSmrg -mpw* | -macos*) 178623a0898aSmrg vendor=apple 178723a0898aSmrg ;; 178823a0898aSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 178923a0898aSmrg vendor=atari 179023a0898aSmrg ;; 179123a0898aSmrg -vos*) 179223a0898aSmrg vendor=stratus 179323a0898aSmrg ;; 179423a0898aSmrg esac 179523a0898aSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 179623a0898aSmrg ;; 179723a0898aSmrgesac 179823a0898aSmrg 179923a0898aSmrgecho $basic_machine$os 180023a0898aSmrgexit 180123a0898aSmrg 180223a0898aSmrg# Local variables: 180323a0898aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 180423a0898aSmrg# time-stamp-start: "timestamp='" 180523a0898aSmrg# time-stamp-format: "%:y-%02m-%02d" 180623a0898aSmrg# time-stamp-end: "'" 180723a0898aSmrg# End: 1808