123a0898aSmrg#! /bin/sh 223a0898aSmrg# Configuration validation subroutine script. 3b43acbb4Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 423a0898aSmrg 5a97c3f35Smrgtimestamp='2015-08-20' 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* | \ 120a97c3f35Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 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 \ 258a97c3f35Smrg | ba \ 259b020570bSmrg | be32 | be64 \ 26023a0898aSmrg | bfin \ 2610145ab54Ssnj | c4x | c8051 | clipper \ 26223a0898aSmrg | d10v | d30v | dlx | dsp16xx \ 263a97c3f35Smrg | e2k | epiphany \ 264b43acbb4Smrg | fido | fr30 | frv | ft32 \ 26523a0898aSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 266b020570bSmrg | hexagon \ 26723a0898aSmrg | i370 | i860 | i960 | ia64 \ 26823a0898aSmrg | ip2k | iq2000 \ 2690145ab54Ssnj | k1om \ 270b020570bSmrg | le32 | le64 \ 27141c30155Smrg | lm32 \ 27223a0898aSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 273b020570bSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27423a0898aSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27523a0898aSmrg | mips16 \ 27623a0898aSmrg | mips64 | mips64el \ 27741c30155Smrg | mips64octeon | mips64octeonel \ 278b3062210Smrg | mips64orion | mips64orionel \ 27941c30155Smrg | mips64r5900 | mips64r5900el \ 28041c30155Smrg | mips64vr | mips64vrel \ 28123a0898aSmrg | mips64vr4100 | mips64vr4100el \ 28223a0898aSmrg | mips64vr4300 | mips64vr4300el \ 28323a0898aSmrg | mips64vr5000 | mips64vr5000el \ 28423a0898aSmrg | mips64vr5900 | mips64vr5900el \ 28523a0898aSmrg | mipsisa32 | mipsisa32el \ 28623a0898aSmrg | mipsisa32r2 | mipsisa32r2el \ 287121a5469Smrg | mipsisa32r6 | mipsisa32r6el \ 28823a0898aSmrg | mipsisa64 | mipsisa64el \ 28923a0898aSmrg | mipsisa64r2 | mipsisa64r2el \ 290121a5469Smrg | mipsisa64r6 | mipsisa64r6el \ 29123a0898aSmrg | mipsisa64sb1 | mipsisa64sb1el \ 29223a0898aSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 293b020570bSmrg | mipsr5900 | mipsr5900el \ 29423a0898aSmrg | mipstx39 | mipstx39el \ 29523a0898aSmrg | mn10200 | mn10300 \ 29641c30155Smrg | moxie \ 29723a0898aSmrg | mt \ 29823a0898aSmrg | msp430 \ 29941c30155Smrg | nds32 | nds32le | nds32be \ 300b020570bSmrg | nios | nios2 | nios2eb | nios2el \ 30123a0898aSmrg | ns16k | ns32k \ 302121a5469Smrg | open8 | or1k | or1knd | or32 \ 30323a0898aSmrg | pdp10 | pdp11 | pj | pjl \ 304b020570bSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30523a0898aSmrg | pyramid \ 306121a5469Smrg | riscv32 | riscv64 \ 307b020570bSmrg | rl78 | rx \ 30823a0898aSmrg | score \ 309a97c3f35Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 31023a0898aSmrg | sh64 | sh64le \ 31123a0898aSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31223a0898aSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 313b020570bSmrg | spu \ 314b020570bSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31541c30155Smrg | ubicom32 \ 316b020570bSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 317121a5469Smrg | visium \ 31823a0898aSmrg | we32k \ 319b020570bSmrg | x86 | xc16x | xstormy16 | xtensa \ 32041c30155Smrg | z8k | z80) 32123a0898aSmrg basic_machine=$basic_machine-unknown 32223a0898aSmrg ;; 32341c30155Smrg c54x) 32441c30155Smrg basic_machine=tic54x-unknown 32541c30155Smrg ;; 32641c30155Smrg c55x) 32741c30155Smrg basic_machine=tic55x-unknown 32841c30155Smrg ;; 32941c30155Smrg c6x) 33041c30155Smrg basic_machine=tic6x-unknown 33141c30155Smrg ;; 332121a5469Smrg leon|leon[3-9]) 333121a5469Smrg basic_machine=sparc-$basic_machine 334121a5469Smrg ;; 3350145ab54Ssnj m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33623a0898aSmrg basic_machine=$basic_machine-unknown 33723a0898aSmrg os=-none 33823a0898aSmrg ;; 33923a0898aSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 34023a0898aSmrg ;; 34123a0898aSmrg ms1) 34223a0898aSmrg basic_machine=mt-unknown 34323a0898aSmrg ;; 34423a0898aSmrg 345b020570bSmrg strongarm | thumb | xscale) 346b020570bSmrg basic_machine=arm-unknown 347b020570bSmrg ;; 348b020570bSmrg xgate) 349b020570bSmrg basic_machine=$basic_machine-unknown 350b020570bSmrg os=-none 351b020570bSmrg ;; 352b020570bSmrg xscaleeb) 353b020570bSmrg basic_machine=armeb-unknown 354b020570bSmrg ;; 355b020570bSmrg 356b020570bSmrg xscaleel) 357b020570bSmrg basic_machine=armel-unknown 358b020570bSmrg ;; 359b020570bSmrg 36023a0898aSmrg # We use `pc' rather than `unknown' 36123a0898aSmrg # because (1) that's what they normally are, and 36223a0898aSmrg # (2) the word "unknown" tends to confuse beginning users. 36323a0898aSmrg i*86 | x86_64) 36423a0898aSmrg basic_machine=$basic_machine-pc 36523a0898aSmrg ;; 36623a0898aSmrg # Object if more than one company name word. 36723a0898aSmrg *-*-*) 36823a0898aSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 36923a0898aSmrg exit 1 37023a0898aSmrg ;; 37123a0898aSmrg # Recognize the basic CPU types with company name. 37223a0898aSmrg 580-* \ 37323a0898aSmrg | a29k-* \ 374b020570bSmrg | aarch64-* | aarch64_be-* \ 37523a0898aSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37623a0898aSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 377b020570bSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37823a0898aSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 37923a0898aSmrg | avr-* | avr32-* \ 380a97c3f35Smrg | ba-* \ 381b020570bSmrg | be32-* | be64-* \ 38223a0898aSmrg | bfin-* | bs2000-* \ 38341c30155Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3840145ab54Ssnj | c8051-* | clipper-* | craynv-* | cydra-* \ 38523a0898aSmrg | d10v-* | d30v-* | dlx-* \ 386a97c3f35Smrg | e2k-* | elxsi-* \ 38723a0898aSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38823a0898aSmrg | h8300-* | h8500-* \ 38923a0898aSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 390b020570bSmrg | hexagon-* \ 39123a0898aSmrg | i*86-* | i860-* | i960-* | ia64-* \ 39223a0898aSmrg | ip2k-* | iq2000-* \ 3930145ab54Ssnj | k1om-* \ 394b020570bSmrg | le32-* | le64-* \ 39541c30155Smrg | lm32-* \ 39623a0898aSmrg | m32c-* | m32r-* | m32rle-* \ 39723a0898aSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 398b020570bSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 399b020570bSmrg | microblaze-* | microblazeel-* \ 40023a0898aSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 40123a0898aSmrg | mips16-* \ 40223a0898aSmrg | mips64-* | mips64el-* \ 40341c30155Smrg | mips64octeon-* | mips64octeonel-* \ 404b3062210Smrg | mips64orion-* | mips64orionel-* \ 40541c30155Smrg | mips64r5900-* | mips64r5900el-* \ 40641c30155Smrg | mips64vr-* | mips64vrel-* \ 40723a0898aSmrg | mips64vr4100-* | mips64vr4100el-* \ 40823a0898aSmrg | mips64vr4300-* | mips64vr4300el-* \ 40923a0898aSmrg | mips64vr5000-* | mips64vr5000el-* \ 41023a0898aSmrg | mips64vr5900-* | mips64vr5900el-* \ 41123a0898aSmrg | mipsisa32-* | mipsisa32el-* \ 41223a0898aSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 413121a5469Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41423a0898aSmrg | mipsisa64-* | mipsisa64el-* \ 41523a0898aSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 416121a5469Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41723a0898aSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41823a0898aSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 419b020570bSmrg | mipsr5900-* | mipsr5900el-* \ 42023a0898aSmrg | mipstx39-* | mipstx39el-* \ 42123a0898aSmrg | mmix-* \ 42223a0898aSmrg | mt-* \ 42323a0898aSmrg | msp430-* \ 42441c30155Smrg | nds32-* | nds32le-* | nds32be-* \ 425b020570bSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42623a0898aSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 427b020570bSmrg | open8-* \ 428121a5469Smrg | or1k*-* \ 42923a0898aSmrg | orion-* \ 43023a0898aSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 431b020570bSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 43223a0898aSmrg | pyramid-* \ 433a97c3f35Smrg | riscv32-* | riscv64-* \ 434b020570bSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 43541c30155Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43623a0898aSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43723a0898aSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 43823a0898aSmrg | sparclite-* \ 439a97c3f35Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 440b020570bSmrg | tahoe-* \ 441b3062210Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 442b020570bSmrg | tile*-* \ 44323a0898aSmrg | tron-* \ 44441c30155Smrg | ubicom32-* \ 445b020570bSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 446b020570bSmrg | vax-* \ 447121a5469Smrg | visium-* \ 44823a0898aSmrg | we32k-* \ 449b020570bSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4507f7f5e4eSmrg | xstormy16-* | xtensa*-* \ 45123a0898aSmrg | ymp-* \ 45241c30155Smrg | z8k-* | z80-*) 4537f7f5e4eSmrg ;; 4547f7f5e4eSmrg # Recognize the basic CPU types without company name, with glob match. 4557f7f5e4eSmrg xtensa*) 4567f7f5e4eSmrg basic_machine=$basic_machine-unknown 45723a0898aSmrg ;; 45823a0898aSmrg # Recognize the various machine names and aliases which stand 45923a0898aSmrg # for a CPU type and a company and sometimes even an OS. 46023a0898aSmrg 386bsd) 46123a0898aSmrg basic_machine=i386-unknown 46223a0898aSmrg os=-bsd 46323a0898aSmrg ;; 46423a0898aSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46523a0898aSmrg basic_machine=m68000-att 46623a0898aSmrg ;; 46723a0898aSmrg 3b*) 46823a0898aSmrg basic_machine=we32k-att 46923a0898aSmrg ;; 47023a0898aSmrg a29khif) 47123a0898aSmrg basic_machine=a29k-amd 47223a0898aSmrg os=-udi 47323a0898aSmrg ;; 474b020570bSmrg abacus) 47523a0898aSmrg basic_machine=abacus-unknown 47623a0898aSmrg ;; 47723a0898aSmrg adobe68k) 47823a0898aSmrg basic_machine=m68010-adobe 47923a0898aSmrg os=-scout 48023a0898aSmrg ;; 48123a0898aSmrg alliant | fx80) 48223a0898aSmrg basic_machine=fx80-alliant 48323a0898aSmrg ;; 48423a0898aSmrg altos | altos3068) 48523a0898aSmrg basic_machine=m68k-altos 48623a0898aSmrg ;; 48723a0898aSmrg am29k) 48823a0898aSmrg basic_machine=a29k-none 48923a0898aSmrg os=-bsd 49023a0898aSmrg ;; 49123a0898aSmrg amd64) 49223a0898aSmrg basic_machine=x86_64-pc 49323a0898aSmrg ;; 49423a0898aSmrg amd64-*) 49523a0898aSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49623a0898aSmrg ;; 49723a0898aSmrg amdahl) 49823a0898aSmrg basic_machine=580-amdahl 49923a0898aSmrg os=-sysv 50023a0898aSmrg ;; 50123a0898aSmrg amiga | amiga-*) 50223a0898aSmrg basic_machine=m68k-unknown 50323a0898aSmrg ;; 50423a0898aSmrg amigaos | amigados) 50523a0898aSmrg basic_machine=m68k-unknown 50623a0898aSmrg os=-amigaos 50723a0898aSmrg ;; 50823a0898aSmrg amigaunix | amix) 50923a0898aSmrg basic_machine=m68k-unknown 51023a0898aSmrg os=-sysv4 51123a0898aSmrg ;; 51223a0898aSmrg apollo68) 51323a0898aSmrg basic_machine=m68k-apollo 51423a0898aSmrg os=-sysv 51523a0898aSmrg ;; 51623a0898aSmrg apollo68bsd) 51723a0898aSmrg basic_machine=m68k-apollo 51823a0898aSmrg os=-bsd 51923a0898aSmrg ;; 52041c30155Smrg aros) 52141c30155Smrg basic_machine=i386-pc 52241c30155Smrg os=-aros 52341c30155Smrg ;; 524a97c3f35Smrg asmjs) 525a97c3f35Smrg basic_machine=asmjs-unknown 526a97c3f35Smrg ;; 52723a0898aSmrg aux) 52823a0898aSmrg basic_machine=m68k-apple 52923a0898aSmrg os=-aux 53023a0898aSmrg ;; 53123a0898aSmrg balance) 53223a0898aSmrg basic_machine=ns32k-sequent 53323a0898aSmrg os=-dynix 53423a0898aSmrg ;; 5357f7f5e4eSmrg blackfin) 5367f7f5e4eSmrg basic_machine=bfin-unknown 5377f7f5e4eSmrg os=-linux 5387f7f5e4eSmrg ;; 5397f7f5e4eSmrg blackfin-*) 5407f7f5e4eSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5417f7f5e4eSmrg os=-linux 5427f7f5e4eSmrg ;; 54341c30155Smrg bluegene*) 54441c30155Smrg basic_machine=powerpc-ibm 54541c30155Smrg os=-cnk 54641c30155Smrg ;; 54741c30155Smrg c54x-*) 54841c30155Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 54941c30155Smrg ;; 55041c30155Smrg c55x-*) 55141c30155Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 55241c30155Smrg ;; 55341c30155Smrg c6x-*) 55441c30155Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 55541c30155Smrg ;; 55623a0898aSmrg c90) 55723a0898aSmrg basic_machine=c90-cray 55823a0898aSmrg os=-unicos 55923a0898aSmrg ;; 560b020570bSmrg cegcc) 56141c30155Smrg basic_machine=arm-unknown 56241c30155Smrg os=-cegcc 56341c30155Smrg ;; 56423a0898aSmrg convex-c1) 56523a0898aSmrg basic_machine=c1-convex 56623a0898aSmrg os=-bsd 56723a0898aSmrg ;; 56823a0898aSmrg convex-c2) 56923a0898aSmrg basic_machine=c2-convex 57023a0898aSmrg os=-bsd 57123a0898aSmrg ;; 57223a0898aSmrg convex-c32) 57323a0898aSmrg basic_machine=c32-convex 57423a0898aSmrg os=-bsd 57523a0898aSmrg ;; 57623a0898aSmrg convex-c34) 57723a0898aSmrg basic_machine=c34-convex 57823a0898aSmrg os=-bsd 57923a0898aSmrg ;; 58023a0898aSmrg convex-c38) 58123a0898aSmrg basic_machine=c38-convex 58223a0898aSmrg os=-bsd 58323a0898aSmrg ;; 58423a0898aSmrg cray | j90) 58523a0898aSmrg basic_machine=j90-cray 58623a0898aSmrg os=-unicos 58723a0898aSmrg ;; 58823a0898aSmrg craynv) 58923a0898aSmrg basic_machine=craynv-cray 59023a0898aSmrg os=-unicosmp 59123a0898aSmrg ;; 592b020570bSmrg cr16 | cr16-*) 5937f7f5e4eSmrg basic_machine=cr16-unknown 59423a0898aSmrg os=-elf 59523a0898aSmrg ;; 59623a0898aSmrg crds | unos) 59723a0898aSmrg basic_machine=m68k-crds 59823a0898aSmrg ;; 59923a0898aSmrg crisv32 | crisv32-* | etraxfs*) 60023a0898aSmrg basic_machine=crisv32-axis 60123a0898aSmrg ;; 60223a0898aSmrg cris | cris-* | etrax*) 60323a0898aSmrg basic_machine=cris-axis 60423a0898aSmrg ;; 60523a0898aSmrg crx) 60623a0898aSmrg basic_machine=crx-unknown 60723a0898aSmrg os=-elf 60823a0898aSmrg ;; 60923a0898aSmrg da30 | da30-*) 61023a0898aSmrg basic_machine=m68k-da30 61123a0898aSmrg ;; 61223a0898aSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 61323a0898aSmrg basic_machine=mips-dec 61423a0898aSmrg ;; 61523a0898aSmrg decsystem10* | dec10*) 61623a0898aSmrg basic_machine=pdp10-dec 61723a0898aSmrg os=-tops10 61823a0898aSmrg ;; 61923a0898aSmrg decsystem20* | dec20*) 62023a0898aSmrg basic_machine=pdp10-dec 62123a0898aSmrg os=-tops20 62223a0898aSmrg ;; 62323a0898aSmrg delta | 3300 | motorola-3300 | motorola-delta \ 62423a0898aSmrg | 3300-motorola | delta-motorola) 62523a0898aSmrg basic_machine=m68k-motorola 62623a0898aSmrg ;; 62723a0898aSmrg delta88) 62823a0898aSmrg basic_machine=m88k-motorola 62923a0898aSmrg os=-sysv3 63023a0898aSmrg ;; 63141c30155Smrg dicos) 63241c30155Smrg basic_machine=i686-pc 63341c30155Smrg os=-dicos 63441c30155Smrg ;; 63523a0898aSmrg djgpp) 63623a0898aSmrg basic_machine=i586-pc 63723a0898aSmrg os=-msdosdjgpp 63823a0898aSmrg ;; 63923a0898aSmrg dpx20 | dpx20-*) 64023a0898aSmrg basic_machine=rs6000-bull 64123a0898aSmrg os=-bosx 64223a0898aSmrg ;; 64323a0898aSmrg dpx2* | dpx2*-bull) 64423a0898aSmrg basic_machine=m68k-bull 64523a0898aSmrg os=-sysv3 64623a0898aSmrg ;; 64723a0898aSmrg ebmon29k) 64823a0898aSmrg basic_machine=a29k-amd 64923a0898aSmrg os=-ebmon 65023a0898aSmrg ;; 65123a0898aSmrg elxsi) 65223a0898aSmrg basic_machine=elxsi-elxsi 65323a0898aSmrg os=-bsd 65423a0898aSmrg ;; 65523a0898aSmrg encore | umax | mmax) 65623a0898aSmrg basic_machine=ns32k-encore 65723a0898aSmrg ;; 65823a0898aSmrg es1800 | OSE68k | ose68k | ose | OSE) 65923a0898aSmrg basic_machine=m68k-ericsson 66023a0898aSmrg os=-ose 66123a0898aSmrg ;; 66223a0898aSmrg fx2800) 66323a0898aSmrg basic_machine=i860-alliant 66423a0898aSmrg ;; 66523a0898aSmrg genix) 66623a0898aSmrg basic_machine=ns32k-ns 66723a0898aSmrg ;; 66823a0898aSmrg gmicro) 66923a0898aSmrg basic_machine=tron-gmicro 67023a0898aSmrg os=-sysv 67123a0898aSmrg ;; 67223a0898aSmrg go32) 67323a0898aSmrg basic_machine=i386-pc 67423a0898aSmrg os=-go32 67523a0898aSmrg ;; 67623a0898aSmrg h3050r* | hiux*) 67723a0898aSmrg basic_machine=hppa1.1-hitachi 67823a0898aSmrg os=-hiuxwe2 67923a0898aSmrg ;; 68023a0898aSmrg h8300hms) 68123a0898aSmrg basic_machine=h8300-hitachi 68223a0898aSmrg os=-hms 68323a0898aSmrg ;; 68423a0898aSmrg h8300xray) 68523a0898aSmrg basic_machine=h8300-hitachi 68623a0898aSmrg os=-xray 68723a0898aSmrg ;; 68823a0898aSmrg h8500hms) 68923a0898aSmrg basic_machine=h8500-hitachi 69023a0898aSmrg os=-hms 69123a0898aSmrg ;; 69223a0898aSmrg harris) 69323a0898aSmrg basic_machine=m88k-harris 69423a0898aSmrg os=-sysv3 69523a0898aSmrg ;; 69623a0898aSmrg hp300-*) 69723a0898aSmrg basic_machine=m68k-hp 69823a0898aSmrg ;; 69923a0898aSmrg hp300bsd) 70023a0898aSmrg basic_machine=m68k-hp 70123a0898aSmrg os=-bsd 70223a0898aSmrg ;; 70323a0898aSmrg hp300hpux) 70423a0898aSmrg basic_machine=m68k-hp 70523a0898aSmrg os=-hpux 70623a0898aSmrg ;; 70723a0898aSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 70823a0898aSmrg basic_machine=hppa1.0-hp 70923a0898aSmrg ;; 71023a0898aSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 71123a0898aSmrg basic_machine=m68000-hp 71223a0898aSmrg ;; 71323a0898aSmrg hp9k3[2-9][0-9]) 71423a0898aSmrg basic_machine=m68k-hp 71523a0898aSmrg ;; 71623a0898aSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 71723a0898aSmrg basic_machine=hppa1.0-hp 71823a0898aSmrg ;; 71923a0898aSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 72023a0898aSmrg basic_machine=hppa1.1-hp 72123a0898aSmrg ;; 72223a0898aSmrg hp9k78[0-9] | hp78[0-9]) 72323a0898aSmrg # FIXME: really hppa2.0-hp 72423a0898aSmrg basic_machine=hppa1.1-hp 72523a0898aSmrg ;; 72623a0898aSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 72723a0898aSmrg # FIXME: really hppa2.0-hp 72823a0898aSmrg basic_machine=hppa1.1-hp 72923a0898aSmrg ;; 73023a0898aSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 73123a0898aSmrg basic_machine=hppa1.1-hp 73223a0898aSmrg ;; 73323a0898aSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 73423a0898aSmrg basic_machine=hppa1.0-hp 73523a0898aSmrg ;; 73623a0898aSmrg hppa-next) 73723a0898aSmrg os=-nextstep3 73823a0898aSmrg ;; 73923a0898aSmrg hppaosf) 74023a0898aSmrg basic_machine=hppa1.1-hp 74123a0898aSmrg os=-osf 74223a0898aSmrg ;; 74323a0898aSmrg hppro) 74423a0898aSmrg basic_machine=hppa1.1-hp 74523a0898aSmrg os=-proelf 74623a0898aSmrg ;; 74723a0898aSmrg i370-ibm* | ibm*) 74823a0898aSmrg basic_machine=i370-ibm 74923a0898aSmrg ;; 75023a0898aSmrg i*86v32) 75123a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75223a0898aSmrg os=-sysv32 75323a0898aSmrg ;; 75423a0898aSmrg i*86v4*) 75523a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75623a0898aSmrg os=-sysv4 75723a0898aSmrg ;; 75823a0898aSmrg i*86v) 75923a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76023a0898aSmrg os=-sysv 76123a0898aSmrg ;; 76223a0898aSmrg i*86sol2) 76323a0898aSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76423a0898aSmrg os=-solaris2 76523a0898aSmrg ;; 76623a0898aSmrg i386mach) 76723a0898aSmrg basic_machine=i386-mach 76823a0898aSmrg os=-mach 76923a0898aSmrg ;; 77023a0898aSmrg i386-vsta | vsta) 77123a0898aSmrg basic_machine=i386-unknown 77223a0898aSmrg os=-vsta 77323a0898aSmrg ;; 77423a0898aSmrg iris | iris4d) 77523a0898aSmrg basic_machine=mips-sgi 77623a0898aSmrg case $os in 77723a0898aSmrg -irix*) 77823a0898aSmrg ;; 77923a0898aSmrg *) 78023a0898aSmrg os=-irix4 78123a0898aSmrg ;; 78223a0898aSmrg esac 78323a0898aSmrg ;; 78423a0898aSmrg isi68 | isi) 78523a0898aSmrg basic_machine=m68k-isi 78623a0898aSmrg os=-sysv 78723a0898aSmrg ;; 788121a5469Smrg leon-*|leon[3-9]-*) 789121a5469Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 790121a5469Smrg ;; 7917f7f5e4eSmrg m68knommu) 7927f7f5e4eSmrg basic_machine=m68k-unknown 7937f7f5e4eSmrg os=-linux 7947f7f5e4eSmrg ;; 7957f7f5e4eSmrg m68knommu-*) 7967f7f5e4eSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7977f7f5e4eSmrg os=-linux 7987f7f5e4eSmrg ;; 79923a0898aSmrg m88k-omron*) 80023a0898aSmrg basic_machine=m88k-omron 80123a0898aSmrg ;; 80223a0898aSmrg magnum | m3230) 80323a0898aSmrg basic_machine=mips-mips 80423a0898aSmrg os=-sysv 80523a0898aSmrg ;; 80623a0898aSmrg merlin) 80723a0898aSmrg basic_machine=ns32k-utek 80823a0898aSmrg os=-sysv 80923a0898aSmrg ;; 810b020570bSmrg microblaze*) 81141c30155Smrg basic_machine=microblaze-xilinx 81241c30155Smrg ;; 813b020570bSmrg mingw64) 814b020570bSmrg basic_machine=x86_64-pc 815b020570bSmrg os=-mingw64 816b020570bSmrg ;; 81723a0898aSmrg mingw32) 8180145ab54Ssnj basic_machine=i686-pc 81923a0898aSmrg os=-mingw32 82023a0898aSmrg ;; 82123a0898aSmrg mingw32ce) 82223a0898aSmrg basic_machine=arm-unknown 82323a0898aSmrg os=-mingw32ce 82423a0898aSmrg ;; 82523a0898aSmrg miniframe) 82623a0898aSmrg basic_machine=m68000-convergent 82723a0898aSmrg ;; 82823a0898aSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 82923a0898aSmrg basic_machine=m68k-atari 83023a0898aSmrg os=-mint 83123a0898aSmrg ;; 83223a0898aSmrg mips3*-*) 83323a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 83423a0898aSmrg ;; 83523a0898aSmrg mips3*) 83623a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 83723a0898aSmrg ;; 83823a0898aSmrg monitor) 83923a0898aSmrg basic_machine=m68k-rom68k 84023a0898aSmrg os=-coff 84123a0898aSmrg ;; 84223a0898aSmrg morphos) 84323a0898aSmrg basic_machine=powerpc-unknown 84423a0898aSmrg os=-morphos 84523a0898aSmrg ;; 846121a5469Smrg moxiebox) 847121a5469Smrg basic_machine=moxie-unknown 848121a5469Smrg os=-moxiebox 849121a5469Smrg ;; 85023a0898aSmrg msdos) 85123a0898aSmrg basic_machine=i386-pc 85223a0898aSmrg os=-msdos 85323a0898aSmrg ;; 85423a0898aSmrg ms1-*) 85523a0898aSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 85623a0898aSmrg ;; 857b020570bSmrg msys) 8580145ab54Ssnj basic_machine=i686-pc 859b020570bSmrg os=-msys 860b020570bSmrg ;; 86123a0898aSmrg mvs) 86223a0898aSmrg basic_machine=i370-ibm 86323a0898aSmrg os=-mvs 86423a0898aSmrg ;; 865b020570bSmrg nacl) 866b020570bSmrg basic_machine=le32-unknown 867b020570bSmrg os=-nacl 868b020570bSmrg ;; 86923a0898aSmrg ncr3000) 87023a0898aSmrg basic_machine=i486-ncr 87123a0898aSmrg os=-sysv4 87223a0898aSmrg ;; 87323a0898aSmrg netbsd386) 87423a0898aSmrg basic_machine=i386-unknown 87523a0898aSmrg os=-netbsd 87623a0898aSmrg ;; 87723a0898aSmrg netwinder) 87823a0898aSmrg basic_machine=armv4l-rebel 87923a0898aSmrg os=-linux 88023a0898aSmrg ;; 88123a0898aSmrg news | news700 | news800 | news900) 88223a0898aSmrg basic_machine=m68k-sony 88323a0898aSmrg os=-newsos 88423a0898aSmrg ;; 88523a0898aSmrg news1000) 88623a0898aSmrg basic_machine=m68030-sony 88723a0898aSmrg os=-newsos 88823a0898aSmrg ;; 88923a0898aSmrg news-3600 | risc-news) 89023a0898aSmrg basic_machine=mips-sony 89123a0898aSmrg os=-newsos 89223a0898aSmrg ;; 89323a0898aSmrg necv70) 89423a0898aSmrg basic_machine=v70-nec 89523a0898aSmrg os=-sysv 89623a0898aSmrg ;; 89723a0898aSmrg next | m*-next ) 89823a0898aSmrg basic_machine=m68k-next 89923a0898aSmrg case $os in 90023a0898aSmrg -nextstep* ) 90123a0898aSmrg ;; 90223a0898aSmrg -ns2*) 90323a0898aSmrg os=-nextstep2 90423a0898aSmrg ;; 90523a0898aSmrg *) 90623a0898aSmrg os=-nextstep3 90723a0898aSmrg ;; 90823a0898aSmrg esac 90923a0898aSmrg ;; 91023a0898aSmrg nh3000) 91123a0898aSmrg basic_machine=m68k-harris 91223a0898aSmrg os=-cxux 91323a0898aSmrg ;; 91423a0898aSmrg nh[45]000) 91523a0898aSmrg basic_machine=m88k-harris 91623a0898aSmrg os=-cxux 91723a0898aSmrg ;; 91823a0898aSmrg nindy960) 91923a0898aSmrg basic_machine=i960-intel 92023a0898aSmrg os=-nindy 92123a0898aSmrg ;; 92223a0898aSmrg mon960) 92323a0898aSmrg basic_machine=i960-intel 92423a0898aSmrg os=-mon960 92523a0898aSmrg ;; 92623a0898aSmrg nonstopux) 92723a0898aSmrg basic_machine=mips-compaq 92823a0898aSmrg os=-nonstopux 92923a0898aSmrg ;; 93023a0898aSmrg np1) 93123a0898aSmrg basic_machine=np1-gould 93223a0898aSmrg ;; 933b020570bSmrg neo-tandem) 93441c30155Smrg basic_machine=neo-tandem 93541c30155Smrg ;; 936b020570bSmrg nse-tandem) 93741c30155Smrg basic_machine=nse-tandem 93841c30155Smrg ;; 93923a0898aSmrg nsr-tandem) 94023a0898aSmrg basic_machine=nsr-tandem 94123a0898aSmrg ;; 94223a0898aSmrg op50n-* | op60c-*) 94323a0898aSmrg basic_machine=hppa1.1-oki 94423a0898aSmrg os=-proelf 94523a0898aSmrg ;; 94623a0898aSmrg openrisc | openrisc-*) 94723a0898aSmrg basic_machine=or32-unknown 94823a0898aSmrg ;; 94923a0898aSmrg os400) 95023a0898aSmrg basic_machine=powerpc-ibm 95123a0898aSmrg os=-os400 95223a0898aSmrg ;; 95323a0898aSmrg OSE68000 | ose68000) 95423a0898aSmrg basic_machine=m68000-ericsson 95523a0898aSmrg os=-ose 95623a0898aSmrg ;; 95723a0898aSmrg os68k) 95823a0898aSmrg basic_machine=m68k-none 95923a0898aSmrg os=-os68k 96023a0898aSmrg ;; 96123a0898aSmrg pa-hitachi) 96223a0898aSmrg basic_machine=hppa1.1-hitachi 96323a0898aSmrg os=-hiuxwe2 96423a0898aSmrg ;; 96523a0898aSmrg paragon) 96623a0898aSmrg basic_machine=i860-intel 96723a0898aSmrg os=-osf 96823a0898aSmrg ;; 9697f7f5e4eSmrg parisc) 9707f7f5e4eSmrg basic_machine=hppa-unknown 9717f7f5e4eSmrg os=-linux 9727f7f5e4eSmrg ;; 9737f7f5e4eSmrg parisc-*) 9747f7f5e4eSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9757f7f5e4eSmrg os=-linux 9767f7f5e4eSmrg ;; 97723a0898aSmrg pbd) 97823a0898aSmrg basic_machine=sparc-tti 97923a0898aSmrg ;; 98023a0898aSmrg pbb) 98123a0898aSmrg basic_machine=m68k-tti 98223a0898aSmrg ;; 98323a0898aSmrg pc532 | pc532-*) 98423a0898aSmrg basic_machine=ns32k-pc532 98523a0898aSmrg ;; 98623a0898aSmrg pc98) 98723a0898aSmrg basic_machine=i386-pc 98823a0898aSmrg ;; 98923a0898aSmrg pc98-*) 99023a0898aSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 99123a0898aSmrg ;; 99223a0898aSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 99323a0898aSmrg basic_machine=i586-pc 99423a0898aSmrg ;; 99523a0898aSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 99623a0898aSmrg basic_machine=i686-pc 99723a0898aSmrg ;; 99823a0898aSmrg pentiumii | pentium2 | pentiumiii | pentium3) 99923a0898aSmrg basic_machine=i686-pc 100023a0898aSmrg ;; 100123a0898aSmrg pentium4) 100223a0898aSmrg basic_machine=i786-pc 100323a0898aSmrg ;; 100423a0898aSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 100523a0898aSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 100623a0898aSmrg ;; 100723a0898aSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 100823a0898aSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 100923a0898aSmrg ;; 101023a0898aSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101123a0898aSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 101223a0898aSmrg ;; 101323a0898aSmrg pentium4-*) 101423a0898aSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 101523a0898aSmrg ;; 101623a0898aSmrg pn) 101723a0898aSmrg basic_machine=pn-gould 101823a0898aSmrg ;; 101923a0898aSmrg power) basic_machine=power-ibm 102023a0898aSmrg ;; 1021b020570bSmrg ppc | ppcbe) basic_machine=powerpc-unknown 102223a0898aSmrg ;; 1023b020570bSmrg ppc-* | ppcbe-*) 1024b020570bSmrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 102523a0898aSmrg ;; 102623a0898aSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 102723a0898aSmrg basic_machine=powerpcle-unknown 102823a0898aSmrg ;; 102923a0898aSmrg ppcle-* | powerpclittle-*) 103023a0898aSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 103123a0898aSmrg ;; 103223a0898aSmrg ppc64) basic_machine=powerpc64-unknown 103323a0898aSmrg ;; 1034a97c3f35Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 103523a0898aSmrg ;; 103623a0898aSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 103723a0898aSmrg basic_machine=powerpc64le-unknown 103823a0898aSmrg ;; 103923a0898aSmrg ppc64le-* | powerpc64little-*) 104023a0898aSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 104123a0898aSmrg ;; 104223a0898aSmrg ps2) 104323a0898aSmrg basic_machine=i386-ibm 104423a0898aSmrg ;; 104523a0898aSmrg pw32) 104623a0898aSmrg basic_machine=i586-unknown 104723a0898aSmrg os=-pw32 104823a0898aSmrg ;; 1049b020570bSmrg rdos | rdos64) 1050b020570bSmrg basic_machine=x86_64-pc 1051b020570bSmrg os=-rdos 1052b020570bSmrg ;; 1053b020570bSmrg rdos32) 105423a0898aSmrg basic_machine=i386-pc 105523a0898aSmrg os=-rdos 105623a0898aSmrg ;; 105723a0898aSmrg rom68k) 105823a0898aSmrg basic_machine=m68k-rom68k 105923a0898aSmrg os=-coff 106023a0898aSmrg ;; 106123a0898aSmrg rm[46]00) 106223a0898aSmrg basic_machine=mips-siemens 106323a0898aSmrg ;; 106423a0898aSmrg rtpc | rtpc-*) 106523a0898aSmrg basic_machine=romp-ibm 106623a0898aSmrg ;; 106723a0898aSmrg s390 | s390-*) 106823a0898aSmrg basic_machine=s390-ibm 106923a0898aSmrg ;; 107023a0898aSmrg s390x | s390x-*) 107123a0898aSmrg basic_machine=s390x-ibm 107223a0898aSmrg ;; 107323a0898aSmrg sa29200) 107423a0898aSmrg basic_machine=a29k-amd 107523a0898aSmrg os=-udi 107623a0898aSmrg ;; 107723a0898aSmrg sb1) 107823a0898aSmrg basic_machine=mipsisa64sb1-unknown 107923a0898aSmrg ;; 108023a0898aSmrg sb1el) 108123a0898aSmrg basic_machine=mipsisa64sb1el-unknown 108223a0898aSmrg ;; 108323a0898aSmrg sde) 108423a0898aSmrg basic_machine=mipsisa32-sde 108523a0898aSmrg os=-elf 108623a0898aSmrg ;; 108723a0898aSmrg sei) 108823a0898aSmrg basic_machine=mips-sei 108923a0898aSmrg os=-seiux 109023a0898aSmrg ;; 109123a0898aSmrg sequent) 109223a0898aSmrg basic_machine=i386-sequent 109323a0898aSmrg ;; 109423a0898aSmrg sh) 109523a0898aSmrg basic_machine=sh-hitachi 109623a0898aSmrg os=-hms 109723a0898aSmrg ;; 109823a0898aSmrg sh5el) 109923a0898aSmrg basic_machine=sh5le-unknown 110023a0898aSmrg ;; 110123a0898aSmrg sh64) 110223a0898aSmrg basic_machine=sh64-unknown 110323a0898aSmrg ;; 110423a0898aSmrg sparclite-wrs | simso-wrs) 110523a0898aSmrg basic_machine=sparclite-wrs 110623a0898aSmrg os=-vxworks 110723a0898aSmrg ;; 110823a0898aSmrg sps7) 110923a0898aSmrg basic_machine=m68k-bull 111023a0898aSmrg os=-sysv2 111123a0898aSmrg ;; 111223a0898aSmrg spur) 111323a0898aSmrg basic_machine=spur-unknown 111423a0898aSmrg ;; 111523a0898aSmrg st2000) 111623a0898aSmrg basic_machine=m68k-tandem 111723a0898aSmrg ;; 111823a0898aSmrg stratus) 111923a0898aSmrg basic_machine=i860-stratus 112023a0898aSmrg os=-sysv4 112123a0898aSmrg ;; 1122b020570bSmrg strongarm-* | thumb-*) 1123b020570bSmrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 1124b020570bSmrg ;; 112523a0898aSmrg sun2) 112623a0898aSmrg basic_machine=m68000-sun 112723a0898aSmrg ;; 112823a0898aSmrg sun2os3) 112923a0898aSmrg basic_machine=m68000-sun 113023a0898aSmrg os=-sunos3 113123a0898aSmrg ;; 113223a0898aSmrg sun2os4) 113323a0898aSmrg basic_machine=m68000-sun 113423a0898aSmrg os=-sunos4 113523a0898aSmrg ;; 113623a0898aSmrg sun3os3) 113723a0898aSmrg basic_machine=m68k-sun 113823a0898aSmrg os=-sunos3 113923a0898aSmrg ;; 114023a0898aSmrg sun3os4) 114123a0898aSmrg basic_machine=m68k-sun 114223a0898aSmrg os=-sunos4 114323a0898aSmrg ;; 114423a0898aSmrg sun4os3) 114523a0898aSmrg basic_machine=sparc-sun 114623a0898aSmrg os=-sunos3 114723a0898aSmrg ;; 114823a0898aSmrg sun4os4) 114923a0898aSmrg basic_machine=sparc-sun 115023a0898aSmrg os=-sunos4 115123a0898aSmrg ;; 115223a0898aSmrg sun4sol2) 115323a0898aSmrg basic_machine=sparc-sun 115423a0898aSmrg os=-solaris2 115523a0898aSmrg ;; 115623a0898aSmrg sun3 | sun3-*) 115723a0898aSmrg basic_machine=m68k-sun 115823a0898aSmrg ;; 115923a0898aSmrg sun4) 116023a0898aSmrg basic_machine=sparc-sun 116123a0898aSmrg ;; 116223a0898aSmrg sun386 | sun386i | roadrunner) 116323a0898aSmrg basic_machine=i386-sun 116423a0898aSmrg ;; 116523a0898aSmrg sv1) 116623a0898aSmrg basic_machine=sv1-cray 116723a0898aSmrg os=-unicos 116823a0898aSmrg ;; 116923a0898aSmrg symmetry) 117023a0898aSmrg basic_machine=i386-sequent 117123a0898aSmrg os=-dynix 117223a0898aSmrg ;; 117323a0898aSmrg t3e) 117423a0898aSmrg basic_machine=alphaev5-cray 117523a0898aSmrg os=-unicos 117623a0898aSmrg ;; 117723a0898aSmrg t90) 117823a0898aSmrg basic_machine=t90-cray 117923a0898aSmrg os=-unicos 118023a0898aSmrg ;; 11817f7f5e4eSmrg tile*) 1182b020570bSmrg basic_machine=$basic_machine-unknown 11837f7f5e4eSmrg os=-linux-gnu 11847f7f5e4eSmrg ;; 118523a0898aSmrg tx39) 118623a0898aSmrg basic_machine=mipstx39-unknown 118723a0898aSmrg ;; 118823a0898aSmrg tx39el) 118923a0898aSmrg basic_machine=mipstx39el-unknown 119023a0898aSmrg ;; 119123a0898aSmrg toad1) 119223a0898aSmrg basic_machine=pdp10-xkl 119323a0898aSmrg os=-tops20 119423a0898aSmrg ;; 119523a0898aSmrg tower | tower-32) 119623a0898aSmrg basic_machine=m68k-ncr 119723a0898aSmrg ;; 119823a0898aSmrg tpf) 119923a0898aSmrg basic_machine=s390x-ibm 120023a0898aSmrg os=-tpf 120123a0898aSmrg ;; 120223a0898aSmrg udi29k) 120323a0898aSmrg basic_machine=a29k-amd 120423a0898aSmrg os=-udi 120523a0898aSmrg ;; 120623a0898aSmrg ultra3) 120723a0898aSmrg basic_machine=a29k-nyu 120823a0898aSmrg os=-sym1 120923a0898aSmrg ;; 121023a0898aSmrg v810 | necv810) 121123a0898aSmrg basic_machine=v810-nec 121223a0898aSmrg os=-none 121323a0898aSmrg ;; 121423a0898aSmrg vaxv) 121523a0898aSmrg basic_machine=vax-dec 121623a0898aSmrg os=-sysv 121723a0898aSmrg ;; 121823a0898aSmrg vms) 121923a0898aSmrg basic_machine=vax-dec 122023a0898aSmrg os=-vms 122123a0898aSmrg ;; 122223a0898aSmrg vpp*|vx|vx-*) 122323a0898aSmrg basic_machine=f301-fujitsu 122423a0898aSmrg ;; 122523a0898aSmrg vxworks960) 122623a0898aSmrg basic_machine=i960-wrs 122723a0898aSmrg os=-vxworks 122823a0898aSmrg ;; 122923a0898aSmrg vxworks68) 123023a0898aSmrg basic_machine=m68k-wrs 123123a0898aSmrg os=-vxworks 123223a0898aSmrg ;; 123323a0898aSmrg vxworks29k) 123423a0898aSmrg basic_machine=a29k-wrs 123523a0898aSmrg os=-vxworks 123623a0898aSmrg ;; 123723a0898aSmrg w65*) 123823a0898aSmrg basic_machine=w65-wdc 123923a0898aSmrg os=-none 124023a0898aSmrg ;; 124123a0898aSmrg w89k-*) 124223a0898aSmrg basic_machine=hppa1.1-winbond 124323a0898aSmrg os=-proelf 124423a0898aSmrg ;; 124523a0898aSmrg xbox) 124623a0898aSmrg basic_machine=i686-pc 124723a0898aSmrg os=-mingw32 124823a0898aSmrg ;; 124923a0898aSmrg xps | xps100) 125023a0898aSmrg basic_machine=xps100-honeywell 125123a0898aSmrg ;; 1252b020570bSmrg xscale-* | xscalee[bl]-*) 1253b020570bSmrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 1254b020570bSmrg ;; 125523a0898aSmrg ymp) 125623a0898aSmrg basic_machine=ymp-cray 125723a0898aSmrg os=-unicos 125823a0898aSmrg ;; 125923a0898aSmrg z8k-*-coff) 126023a0898aSmrg basic_machine=z8k-unknown 126123a0898aSmrg os=-sim 126223a0898aSmrg ;; 126341c30155Smrg z80-*-coff) 126441c30155Smrg basic_machine=z80-unknown 126541c30155Smrg os=-sim 126641c30155Smrg ;; 126723a0898aSmrg none) 126823a0898aSmrg basic_machine=none-none 126923a0898aSmrg os=-none 127023a0898aSmrg ;; 127123a0898aSmrg 127223a0898aSmrg# Here we handle the default manufacturer of certain CPU types. It is in 127323a0898aSmrg# some cases the only manufacturer, in others, it is the most popular. 127423a0898aSmrg w89k) 127523a0898aSmrg basic_machine=hppa1.1-winbond 127623a0898aSmrg ;; 127723a0898aSmrg op50n) 127823a0898aSmrg basic_machine=hppa1.1-oki 127923a0898aSmrg ;; 128023a0898aSmrg op60c) 128123a0898aSmrg basic_machine=hppa1.1-oki 128223a0898aSmrg ;; 128323a0898aSmrg romp) 128423a0898aSmrg basic_machine=romp-ibm 128523a0898aSmrg ;; 128623a0898aSmrg mmix) 128723a0898aSmrg basic_machine=mmix-knuth 128823a0898aSmrg ;; 128923a0898aSmrg rs6000) 129023a0898aSmrg basic_machine=rs6000-ibm 129123a0898aSmrg ;; 129223a0898aSmrg vax) 129323a0898aSmrg basic_machine=vax-dec 129423a0898aSmrg ;; 129523a0898aSmrg pdp10) 129623a0898aSmrg # there are many clones, so DEC is not a safe bet 129723a0898aSmrg basic_machine=pdp10-unknown 129823a0898aSmrg ;; 129923a0898aSmrg pdp11) 130023a0898aSmrg basic_machine=pdp11-dec 130123a0898aSmrg ;; 130223a0898aSmrg we32k) 130323a0898aSmrg basic_machine=we32k-att 130423a0898aSmrg ;; 130541c30155Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 130623a0898aSmrg basic_machine=sh-unknown 130723a0898aSmrg ;; 130823a0898aSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 130923a0898aSmrg basic_machine=sparc-sun 131023a0898aSmrg ;; 131123a0898aSmrg cydra) 131223a0898aSmrg basic_machine=cydra-cydrome 131323a0898aSmrg ;; 131423a0898aSmrg orion) 131523a0898aSmrg basic_machine=orion-highlevel 131623a0898aSmrg ;; 131723a0898aSmrg orion105) 131823a0898aSmrg basic_machine=clipper-highlevel 131923a0898aSmrg ;; 132023a0898aSmrg mac | mpw | mac-mpw) 132123a0898aSmrg basic_machine=m68k-apple 132223a0898aSmrg ;; 132323a0898aSmrg pmac | pmac-mpw) 132423a0898aSmrg basic_machine=powerpc-apple 132523a0898aSmrg ;; 132623a0898aSmrg *-unknown) 132723a0898aSmrg # Make sure to match an already-canonicalized machine name. 132823a0898aSmrg ;; 132923a0898aSmrg *) 133023a0898aSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 133123a0898aSmrg exit 1 133223a0898aSmrg ;; 133323a0898aSmrgesac 133423a0898aSmrg 133523a0898aSmrg# Here we canonicalize certain aliases for manufacturers. 133623a0898aSmrgcase $basic_machine in 133723a0898aSmrg *-digital*) 133823a0898aSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 133923a0898aSmrg ;; 134023a0898aSmrg *-commodore*) 134123a0898aSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 134223a0898aSmrg ;; 134323a0898aSmrg *) 134423a0898aSmrg ;; 134523a0898aSmrgesac 134623a0898aSmrg 134723a0898aSmrg# Decode manufacturer-specific aliases for certain operating systems. 134823a0898aSmrg 134923a0898aSmrgif [ x"$os" != x"" ] 135023a0898aSmrgthen 135123a0898aSmrgcase $os in 1352b020570bSmrg # First match some system type aliases 1353b020570bSmrg # that might get confused with valid system types. 135423a0898aSmrg # -solaris* is a basic system type, with this one exception. 1355b020570bSmrg -auroraux) 1356b020570bSmrg os=-auroraux 135741c30155Smrg ;; 135823a0898aSmrg -solaris1 | -solaris1.*) 135923a0898aSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 136023a0898aSmrg ;; 136123a0898aSmrg -solaris) 136223a0898aSmrg os=-solaris2 136323a0898aSmrg ;; 136423a0898aSmrg -svr4*) 136523a0898aSmrg os=-sysv4 136623a0898aSmrg ;; 136723a0898aSmrg -unixware*) 136823a0898aSmrg os=-sysv4.2uw 136923a0898aSmrg ;; 137023a0898aSmrg -gnu/linux*) 137123a0898aSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 137223a0898aSmrg ;; 137323a0898aSmrg # First accept the basic system types. 137423a0898aSmrg # The portable systems comes first. 137523a0898aSmrg # Each alternative MUST END IN A *, to match a version number. 137623a0898aSmrg # -sysv* is not here because it comes later, after sysvr4. 137723a0898aSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 137841c30155Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 137941c30155Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 1380b020570bSmrg | -sym* | -kopensolaris* | -plan9* \ 138123a0898aSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 1382a97c3f35Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 138323a0898aSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 138423a0898aSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 138523a0898aSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 1386b020570bSmrg | -bitrig* | -openbsd* | -solidbsd* \ 138723a0898aSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 138823a0898aSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 138923a0898aSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 139023a0898aSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 139141c30155Smrg | -chorusos* | -chorusrdb* | -cegcc* \ 1392b020570bSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 1393b020570bSmrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 1394b020570bSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 1395121a5469Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 139623a0898aSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 139723a0898aSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 139823a0898aSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 139923a0898aSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 140023a0898aSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 140123a0898aSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1402121a5469Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 140323a0898aSmrg # Remember, each alternative MUST END IN *, to match a version number. 140423a0898aSmrg ;; 140523a0898aSmrg -qnx*) 140623a0898aSmrg case $basic_machine in 140723a0898aSmrg x86-* | i*86-*) 140823a0898aSmrg ;; 140923a0898aSmrg *) 141023a0898aSmrg os=-nto$os 141123a0898aSmrg ;; 141223a0898aSmrg esac 141323a0898aSmrg ;; 141423a0898aSmrg -nto-qnx*) 141523a0898aSmrg ;; 141623a0898aSmrg -nto*) 141723a0898aSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 141823a0898aSmrg ;; 141923a0898aSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 142023a0898aSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 142123a0898aSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 142223a0898aSmrg ;; 142323a0898aSmrg -mac*) 142423a0898aSmrg os=`echo $os | sed -e 's|mac|macos|'` 142523a0898aSmrg ;; 142623a0898aSmrg -linux-dietlibc) 142723a0898aSmrg os=-linux-dietlibc 142823a0898aSmrg ;; 142923a0898aSmrg -linux*) 143023a0898aSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 143123a0898aSmrg ;; 143223a0898aSmrg -sunos5*) 143323a0898aSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 143423a0898aSmrg ;; 143523a0898aSmrg -sunos6*) 143623a0898aSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 143723a0898aSmrg ;; 143823a0898aSmrg -opened*) 143923a0898aSmrg os=-openedition 144023a0898aSmrg ;; 1441b020570bSmrg -os400*) 144223a0898aSmrg os=-os400 144323a0898aSmrg ;; 144423a0898aSmrg -wince*) 144523a0898aSmrg os=-wince 144623a0898aSmrg ;; 144723a0898aSmrg -osfrose*) 144823a0898aSmrg os=-osfrose 144923a0898aSmrg ;; 145023a0898aSmrg -osf*) 145123a0898aSmrg os=-osf 145223a0898aSmrg ;; 145323a0898aSmrg -utek*) 145423a0898aSmrg os=-bsd 145523a0898aSmrg ;; 145623a0898aSmrg -dynix*) 145723a0898aSmrg os=-bsd 145823a0898aSmrg ;; 145923a0898aSmrg -acis*) 146023a0898aSmrg os=-aos 146123a0898aSmrg ;; 146223a0898aSmrg -atheos*) 146323a0898aSmrg os=-atheos 146423a0898aSmrg ;; 146523a0898aSmrg -syllable*) 146623a0898aSmrg os=-syllable 146723a0898aSmrg ;; 146823a0898aSmrg -386bsd) 146923a0898aSmrg os=-bsd 147023a0898aSmrg ;; 147123a0898aSmrg -ctix* | -uts*) 147223a0898aSmrg os=-sysv 147323a0898aSmrg ;; 147423a0898aSmrg -nova*) 147523a0898aSmrg os=-rtmk-nova 147623a0898aSmrg ;; 147723a0898aSmrg -ns2 ) 147823a0898aSmrg os=-nextstep2 147923a0898aSmrg ;; 148023a0898aSmrg -nsk*) 148123a0898aSmrg os=-nsk 148223a0898aSmrg ;; 148323a0898aSmrg # Preserve the version number of sinix5. 148423a0898aSmrg -sinix5.*) 148523a0898aSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 148623a0898aSmrg ;; 148723a0898aSmrg -sinix*) 148823a0898aSmrg os=-sysv4 148923a0898aSmrg ;; 1490b020570bSmrg -tpf*) 149123a0898aSmrg os=-tpf 149223a0898aSmrg ;; 149323a0898aSmrg -triton*) 149423a0898aSmrg os=-sysv3 149523a0898aSmrg ;; 149623a0898aSmrg -oss*) 149723a0898aSmrg os=-sysv3 149823a0898aSmrg ;; 149923a0898aSmrg -svr4) 150023a0898aSmrg os=-sysv4 150123a0898aSmrg ;; 150223a0898aSmrg -svr3) 150323a0898aSmrg os=-sysv3 150423a0898aSmrg ;; 150523a0898aSmrg -sysvr4) 150623a0898aSmrg os=-sysv4 150723a0898aSmrg ;; 150823a0898aSmrg # This must come after -sysvr4. 150923a0898aSmrg -sysv*) 151023a0898aSmrg ;; 151123a0898aSmrg -ose*) 151223a0898aSmrg os=-ose 151323a0898aSmrg ;; 151423a0898aSmrg -es1800*) 151523a0898aSmrg os=-ose 151623a0898aSmrg ;; 151723a0898aSmrg -xenix) 151823a0898aSmrg os=-xenix 151923a0898aSmrg ;; 152023a0898aSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 152123a0898aSmrg os=-mint 152223a0898aSmrg ;; 152323a0898aSmrg -aros*) 152423a0898aSmrg os=-aros 152523a0898aSmrg ;; 152623a0898aSmrg -zvmoe) 152723a0898aSmrg os=-zvmoe 152823a0898aSmrg ;; 152941c30155Smrg -dicos*) 153041c30155Smrg os=-dicos 153141c30155Smrg ;; 1532b020570bSmrg -nacl*) 1533b020570bSmrg ;; 153423a0898aSmrg -none) 153523a0898aSmrg ;; 153623a0898aSmrg *) 153723a0898aSmrg # Get rid of the `-' at the beginning of $os. 153823a0898aSmrg os=`echo $os | sed 's/[^-]*-//'` 153923a0898aSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 154023a0898aSmrg exit 1 154123a0898aSmrg ;; 154223a0898aSmrgesac 154323a0898aSmrgelse 154423a0898aSmrg 154523a0898aSmrg# Here we handle the default operating systems that come with various machines. 154623a0898aSmrg# The value should be what the vendor currently ships out the door with their 154723a0898aSmrg# machine or put another way, the most popular os provided with the machine. 154823a0898aSmrg 154923a0898aSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 155023a0898aSmrg# "-sun"), then you have to tell the case statement up towards the top 155123a0898aSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 155223a0898aSmrg# will signal an error saying that MANUFACTURER isn't an operating 155323a0898aSmrg# system, and we'll never get to this point. 155423a0898aSmrg 155523a0898aSmrgcase $basic_machine in 1556b020570bSmrg score-*) 155723a0898aSmrg os=-elf 155823a0898aSmrg ;; 1559b020570bSmrg spu-*) 156023a0898aSmrg os=-elf 156123a0898aSmrg ;; 156223a0898aSmrg *-acorn) 156323a0898aSmrg os=-riscix1.2 156423a0898aSmrg ;; 156523a0898aSmrg arm*-rebel) 156623a0898aSmrg os=-linux 156723a0898aSmrg ;; 156823a0898aSmrg arm*-semi) 156923a0898aSmrg os=-aout 157023a0898aSmrg ;; 1571b020570bSmrg c4x-* | tic4x-*) 1572b020570bSmrg os=-coff 1573b020570bSmrg ;; 15740145ab54Ssnj c8051-*) 15750145ab54Ssnj os=-elf 15760145ab54Ssnj ;; 1577b020570bSmrg hexagon-*) 1578b020570bSmrg os=-elf 157923a0898aSmrg ;; 158041c30155Smrg tic54x-*) 158141c30155Smrg os=-coff 158241c30155Smrg ;; 158341c30155Smrg tic55x-*) 158441c30155Smrg os=-coff 158541c30155Smrg ;; 158641c30155Smrg tic6x-*) 158741c30155Smrg os=-coff 158841c30155Smrg ;; 158923a0898aSmrg # This must come before the *-dec entry. 159023a0898aSmrg pdp10-*) 159123a0898aSmrg os=-tops20 159223a0898aSmrg ;; 159323a0898aSmrg pdp11-*) 159423a0898aSmrg os=-none 159523a0898aSmrg ;; 159623a0898aSmrg *-dec | vax-*) 159723a0898aSmrg os=-ultrix4.2 159823a0898aSmrg ;; 159923a0898aSmrg m68*-apollo) 160023a0898aSmrg os=-domain 160123a0898aSmrg ;; 160223a0898aSmrg i386-sun) 160323a0898aSmrg os=-sunos4.0.2 160423a0898aSmrg ;; 160523a0898aSmrg m68000-sun) 160623a0898aSmrg os=-sunos3 160723a0898aSmrg ;; 160823a0898aSmrg m68*-cisco) 160923a0898aSmrg os=-aout 161023a0898aSmrg ;; 1611b020570bSmrg mep-*) 161223a0898aSmrg os=-elf 161323a0898aSmrg ;; 161423a0898aSmrg mips*-cisco) 161523a0898aSmrg os=-elf 161623a0898aSmrg ;; 161723a0898aSmrg mips*-*) 161823a0898aSmrg os=-elf 161923a0898aSmrg ;; 162023a0898aSmrg or32-*) 162123a0898aSmrg os=-coff 162223a0898aSmrg ;; 162323a0898aSmrg *-tti) # must be before sparc entry or we get the wrong os. 162423a0898aSmrg os=-sysv3 162523a0898aSmrg ;; 162623a0898aSmrg sparc-* | *-sun) 162723a0898aSmrg os=-sunos4.1.1 162823a0898aSmrg ;; 162923a0898aSmrg *-be) 163023a0898aSmrg os=-beos 163123a0898aSmrg ;; 163223a0898aSmrg *-haiku) 163323a0898aSmrg os=-haiku 163423a0898aSmrg ;; 163523a0898aSmrg *-ibm) 163623a0898aSmrg os=-aix 163723a0898aSmrg ;; 1638b020570bSmrg *-knuth) 163923a0898aSmrg os=-mmixware 164023a0898aSmrg ;; 164123a0898aSmrg *-wec) 164223a0898aSmrg os=-proelf 164323a0898aSmrg ;; 164423a0898aSmrg *-winbond) 164523a0898aSmrg os=-proelf 164623a0898aSmrg ;; 164723a0898aSmrg *-oki) 164823a0898aSmrg os=-proelf 164923a0898aSmrg ;; 165023a0898aSmrg *-hp) 165123a0898aSmrg os=-hpux 165223a0898aSmrg ;; 165323a0898aSmrg *-hitachi) 165423a0898aSmrg os=-hiux 165523a0898aSmrg ;; 165623a0898aSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 165723a0898aSmrg os=-sysv 165823a0898aSmrg ;; 165923a0898aSmrg *-cbm) 166023a0898aSmrg os=-amigaos 166123a0898aSmrg ;; 166223a0898aSmrg *-dg) 166323a0898aSmrg os=-dgux 166423a0898aSmrg ;; 166523a0898aSmrg *-dolphin) 166623a0898aSmrg os=-sysv3 166723a0898aSmrg ;; 166823a0898aSmrg m68k-ccur) 166923a0898aSmrg os=-rtu 167023a0898aSmrg ;; 167123a0898aSmrg m88k-omron*) 167223a0898aSmrg os=-luna 167323a0898aSmrg ;; 167423a0898aSmrg *-next ) 167523a0898aSmrg os=-nextstep 167623a0898aSmrg ;; 167723a0898aSmrg *-sequent) 167823a0898aSmrg os=-ptx 167923a0898aSmrg ;; 168023a0898aSmrg *-crds) 168123a0898aSmrg os=-unos 168223a0898aSmrg ;; 168323a0898aSmrg *-ns) 168423a0898aSmrg os=-genix 168523a0898aSmrg ;; 168623a0898aSmrg i370-*) 168723a0898aSmrg os=-mvs 168823a0898aSmrg ;; 168923a0898aSmrg *-next) 169023a0898aSmrg os=-nextstep3 169123a0898aSmrg ;; 169223a0898aSmrg *-gould) 169323a0898aSmrg os=-sysv 169423a0898aSmrg ;; 169523a0898aSmrg *-highlevel) 169623a0898aSmrg os=-bsd 169723a0898aSmrg ;; 169823a0898aSmrg *-encore) 169923a0898aSmrg os=-bsd 170023a0898aSmrg ;; 170123a0898aSmrg *-sgi) 170223a0898aSmrg os=-irix 170323a0898aSmrg ;; 170423a0898aSmrg *-siemens) 170523a0898aSmrg os=-sysv4 170623a0898aSmrg ;; 170723a0898aSmrg *-masscomp) 170823a0898aSmrg os=-rtu 170923a0898aSmrg ;; 171023a0898aSmrg f30[01]-fujitsu | f700-fujitsu) 171123a0898aSmrg os=-uxpv 171223a0898aSmrg ;; 171323a0898aSmrg *-rom68k) 171423a0898aSmrg os=-coff 171523a0898aSmrg ;; 171623a0898aSmrg *-*bug) 171723a0898aSmrg os=-coff 171823a0898aSmrg ;; 171923a0898aSmrg *-apple) 172023a0898aSmrg os=-macos 172123a0898aSmrg ;; 172223a0898aSmrg *-atari*) 172323a0898aSmrg os=-mint 172423a0898aSmrg ;; 172523a0898aSmrg *) 172623a0898aSmrg os=-none 172723a0898aSmrg ;; 172823a0898aSmrgesac 172923a0898aSmrgfi 173023a0898aSmrg 173123a0898aSmrg# Here we handle the case where we know the os, and the CPU type, but not the 173223a0898aSmrg# manufacturer. We pick the logical manufacturer. 173323a0898aSmrgvendor=unknown 173423a0898aSmrgcase $basic_machine in 173523a0898aSmrg *-unknown) 173623a0898aSmrg case $os in 173723a0898aSmrg -riscix*) 173823a0898aSmrg vendor=acorn 173923a0898aSmrg ;; 174023a0898aSmrg -sunos*) 174123a0898aSmrg vendor=sun 174223a0898aSmrg ;; 174341c30155Smrg -cnk*|-aix*) 174423a0898aSmrg vendor=ibm 174523a0898aSmrg ;; 174623a0898aSmrg -beos*) 174723a0898aSmrg vendor=be 174823a0898aSmrg ;; 174923a0898aSmrg -hpux*) 175023a0898aSmrg vendor=hp 175123a0898aSmrg ;; 175223a0898aSmrg -mpeix*) 175323a0898aSmrg vendor=hp 175423a0898aSmrg ;; 175523a0898aSmrg -hiux*) 175623a0898aSmrg vendor=hitachi 175723a0898aSmrg ;; 175823a0898aSmrg -unos*) 175923a0898aSmrg vendor=crds 176023a0898aSmrg ;; 176123a0898aSmrg -dgux*) 176223a0898aSmrg vendor=dg 176323a0898aSmrg ;; 176423a0898aSmrg -luna*) 176523a0898aSmrg vendor=omron 176623a0898aSmrg ;; 176723a0898aSmrg -genix*) 176823a0898aSmrg vendor=ns 176923a0898aSmrg ;; 177023a0898aSmrg -mvs* | -opened*) 177123a0898aSmrg vendor=ibm 177223a0898aSmrg ;; 177323a0898aSmrg -os400*) 177423a0898aSmrg vendor=ibm 177523a0898aSmrg ;; 177623a0898aSmrg -ptx*) 177723a0898aSmrg vendor=sequent 177823a0898aSmrg ;; 177923a0898aSmrg -tpf*) 178023a0898aSmrg vendor=ibm 178123a0898aSmrg ;; 178223a0898aSmrg -vxsim* | -vxworks* | -windiss*) 178323a0898aSmrg vendor=wrs 178423a0898aSmrg ;; 178523a0898aSmrg -aux*) 178623a0898aSmrg vendor=apple 178723a0898aSmrg ;; 178823a0898aSmrg -hms*) 178923a0898aSmrg vendor=hitachi 179023a0898aSmrg ;; 179123a0898aSmrg -mpw* | -macos*) 179223a0898aSmrg vendor=apple 179323a0898aSmrg ;; 179423a0898aSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 179523a0898aSmrg vendor=atari 179623a0898aSmrg ;; 179723a0898aSmrg -vos*) 179823a0898aSmrg vendor=stratus 179923a0898aSmrg ;; 180023a0898aSmrg esac 180123a0898aSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 180223a0898aSmrg ;; 180323a0898aSmrgesac 180423a0898aSmrg 180523a0898aSmrgecho $basic_machine$os 180623a0898aSmrgexit 180723a0898aSmrg 180823a0898aSmrg# Local variables: 180923a0898aSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 181023a0898aSmrg# time-stamp-start: "timestamp='" 181123a0898aSmrg# time-stamp-format: "%:y-%02m-%02d" 181223a0898aSmrg# time-stamp-end: "'" 181323a0898aSmrg# End: 1814