16b526288Smrg#!/bin/sh 241b2f0bdSmrg# Configuration validation subroutine script. 36b526288Smrg# Copyright 1992-2017 Free Software Foundation, Inc. 441b2f0bdSmrg 56b526288Smrgtimestamp='2017-04-02' 641b2f0bdSmrg 76b526288Smrg# This file is free software; you can redistribute it and/or modify it 86b526288Smrg# under the terms of the GNU General Public License as published by 96b526288Smrg# the Free Software Foundation; either version 3 of the License, or 1041b2f0bdSmrg# (at your option) any later version. 1141b2f0bdSmrg# 126b526288Smrg# This program is distributed in the hope that it will be useful, but 136b526288Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 146b526288Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 156b526288Smrg# General Public License for more details. 1641b2f0bdSmrg# 1741b2f0bdSmrg# You should have received a copy of the GNU General Public License 186b526288Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1911245024Smrg# 2041b2f0bdSmrg# As a special exception to the GNU General Public License, if you 2141b2f0bdSmrg# distribute this file as part of a program that contains a 2241b2f0bdSmrg# configuration script generated by Autoconf, you may include it under 236b526288Smrg# the same distribution terms that you use for the rest of that 246b526288Smrg# program. This Exception is an additional permission under section 7 256b526288Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2641b2f0bdSmrg 2711245024Smrg 286b526288Smrg# Please send patches to <config-patches@gnu.org>. 2941b2f0bdSmrg# 3041b2f0bdSmrg# Configuration subroutine to validate and canonicalize a configuration type. 3141b2f0bdSmrg# Supply the specified configuration type as an argument. 3241b2f0bdSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 3341b2f0bdSmrg# Otherwise, we print the canonical config type on stdout and succeed. 3441b2f0bdSmrg 3511a29bacSmrg# You can get the latest version of this script from: 366b526288Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 3711a29bacSmrg 3841b2f0bdSmrg# This file is supposed to be the same for all GNU packages 3941b2f0bdSmrg# and recognize all the CPU types, system types and aliases 4041b2f0bdSmrg# that are meaningful with *any* GNU software. 4141b2f0bdSmrg# Each package is responsible for reporting which valid configurations 4241b2f0bdSmrg# it does not support. The user should be able to distinguish 4341b2f0bdSmrg# a failure to support a valid configuration from a meaningless 4441b2f0bdSmrg# configuration. 4541b2f0bdSmrg 4641b2f0bdSmrg# The goal of this file is to map all the various variations of a given 4741b2f0bdSmrg# machine specification into a single specification in the form: 4841b2f0bdSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4941b2f0bdSmrg# or in some cases, the newer four-part form: 5041b2f0bdSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5141b2f0bdSmrg# It is wrong to echo any other type of specification. 5241b2f0bdSmrg 5341b2f0bdSmrgme=`echo "$0" | sed -e 's,.*/,,'` 5441b2f0bdSmrg 5541b2f0bdSmrgusage="\ 566b526288SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 5741b2f0bdSmrg 5841b2f0bdSmrgCanonicalize a configuration name. 5941b2f0bdSmrg 6041b2f0bdSmrgOperation modes: 6141b2f0bdSmrg -h, --help print this help, then exit 6241b2f0bdSmrg -t, --time-stamp print date of last modification, then exit 6341b2f0bdSmrg -v, --version print version number, then exit 6441b2f0bdSmrg 6541b2f0bdSmrgReport bugs and patches to <config-patches@gnu.org>." 6641b2f0bdSmrg 6741b2f0bdSmrgversion="\ 6841b2f0bdSmrgGNU config.sub ($timestamp) 6941b2f0bdSmrg 706b526288SmrgCopyright 1992-2017 Free Software Foundation, Inc. 7141b2f0bdSmrg 7241b2f0bdSmrgThis is free software; see the source for copying conditions. There is NO 7341b2f0bdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7441b2f0bdSmrg 7541b2f0bdSmrghelp=" 7641b2f0bdSmrgTry \`$me --help' for more information." 7741b2f0bdSmrg 7841b2f0bdSmrg# Parse command line 7941b2f0bdSmrgwhile test $# -gt 0 ; do 8041b2f0bdSmrg case $1 in 8141b2f0bdSmrg --time-stamp | --time* | -t ) 8211245024Smrg echo "$timestamp" ; exit ;; 8341b2f0bdSmrg --version | -v ) 8411245024Smrg echo "$version" ; exit ;; 8541b2f0bdSmrg --help | --h* | -h ) 8611245024Smrg echo "$usage"; exit ;; 8741b2f0bdSmrg -- ) # Stop option processing 8841b2f0bdSmrg shift; break ;; 8941b2f0bdSmrg - ) # Use stdin as input. 9041b2f0bdSmrg break ;; 9141b2f0bdSmrg -* ) 9241b2f0bdSmrg echo "$me: invalid option $1$help" 9341b2f0bdSmrg exit 1 ;; 9441b2f0bdSmrg 9541b2f0bdSmrg *local*) 9641b2f0bdSmrg # First pass through any local machine types. 9741b2f0bdSmrg echo $1 9811245024Smrg exit ;; 9941b2f0bdSmrg 10041b2f0bdSmrg * ) 10141b2f0bdSmrg break ;; 10241b2f0bdSmrg esac 10341b2f0bdSmrgdone 10441b2f0bdSmrg 10541b2f0bdSmrgcase $# in 10641b2f0bdSmrg 0) echo "$me: missing argument$help" >&2 10741b2f0bdSmrg exit 1;; 10841b2f0bdSmrg 1) ;; 10941b2f0bdSmrg *) echo "$me: too many arguments$help" >&2 11041b2f0bdSmrg exit 1;; 11141b2f0bdSmrgesac 11241b2f0bdSmrg 11341b2f0bdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11441b2f0bdSmrg# Here we must recognize all the valid KERNEL-OS combinations. 11541b2f0bdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11641b2f0bdSmrgcase $maybe_os in 11711a29bacSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1186b526288Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1196b526288Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1206b526288Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 12111245024Smrg storm-chaos* | os2-emx* | rtmk-nova*) 12241b2f0bdSmrg os=-$maybe_os 12341b2f0bdSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12441b2f0bdSmrg ;; 1256b526288Smrg android-linux) 1266b526288Smrg os=-linux-android 1276b526288Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1286b526288Smrg ;; 12941b2f0bdSmrg *) 13041b2f0bdSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 13141b2f0bdSmrg if [ $basic_machine != $1 ] 13241b2f0bdSmrg then os=`echo $1 | sed 's/.*-/-/'` 13341b2f0bdSmrg else os=; fi 13441b2f0bdSmrg ;; 13541b2f0bdSmrgesac 13641b2f0bdSmrg 13741b2f0bdSmrg### Let's recognize common machines as not being operating systems so 13841b2f0bdSmrg### that things like config.sub decstation-3100 work. We also 13941b2f0bdSmrg### recognize some manufacturers as not being operating systems, so we 14041b2f0bdSmrg### can provide default operating systems below. 14141b2f0bdSmrgcase $os in 14241b2f0bdSmrg -sun*os*) 14341b2f0bdSmrg # Prevent following clause from handling this invalid input. 14441b2f0bdSmrg ;; 14541b2f0bdSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14641b2f0bdSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14741b2f0bdSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14841b2f0bdSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 14941b2f0bdSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 15041b2f0bdSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1516b526288Smrg -apple | -axis | -knuth | -cray | -microblaze*) 15241b2f0bdSmrg os= 15341b2f0bdSmrg basic_machine=$1 15441b2f0bdSmrg ;; 1556b526288Smrg -bluegene*) 1566b526288Smrg os=-cnk 15711a29bacSmrg ;; 15841b2f0bdSmrg -sim | -cisco | -oki | -wec | -winbond) 15941b2f0bdSmrg os= 16041b2f0bdSmrg basic_machine=$1 16141b2f0bdSmrg ;; 16241b2f0bdSmrg -scout) 16341b2f0bdSmrg ;; 16441b2f0bdSmrg -wrs) 16541b2f0bdSmrg os=-vxworks 16641b2f0bdSmrg basic_machine=$1 16741b2f0bdSmrg ;; 16841b2f0bdSmrg -chorusos*) 16941b2f0bdSmrg os=-chorusos 17041b2f0bdSmrg basic_machine=$1 17141b2f0bdSmrg ;; 1726b526288Smrg -chorusrdb) 1736b526288Smrg os=-chorusrdb 17441b2f0bdSmrg basic_machine=$1 1756b526288Smrg ;; 17641b2f0bdSmrg -hiux*) 17741b2f0bdSmrg os=-hiuxwe2 17841b2f0bdSmrg ;; 17911245024Smrg -sco6) 18011245024Smrg os=-sco5v6 18111245024Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18211245024Smrg ;; 18341b2f0bdSmrg -sco5) 18441b2f0bdSmrg os=-sco3.2v5 18541b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18641b2f0bdSmrg ;; 18741b2f0bdSmrg -sco4) 18841b2f0bdSmrg os=-sco3.2v4 18941b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19041b2f0bdSmrg ;; 19141b2f0bdSmrg -sco3.2.[4-9]*) 19241b2f0bdSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19341b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19441b2f0bdSmrg ;; 19541b2f0bdSmrg -sco3.2v[4-9]*) 19641b2f0bdSmrg # Don't forget version if it is 3.2v4 or newer. 19741b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19841b2f0bdSmrg ;; 19911245024Smrg -sco5v6*) 20011245024Smrg # Don't forget version if it is 3.2v4 or newer. 20111245024Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20211245024Smrg ;; 20341b2f0bdSmrg -sco*) 20441b2f0bdSmrg os=-sco3.2v2 20541b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20641b2f0bdSmrg ;; 20741b2f0bdSmrg -udk*) 20841b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20941b2f0bdSmrg ;; 21041b2f0bdSmrg -isc) 21141b2f0bdSmrg os=-isc2.2 21241b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21341b2f0bdSmrg ;; 21441b2f0bdSmrg -clix*) 21541b2f0bdSmrg basic_machine=clipper-intergraph 21641b2f0bdSmrg ;; 21741b2f0bdSmrg -isc*) 21841b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21941b2f0bdSmrg ;; 2206b526288Smrg -lynx*178) 2216b526288Smrg os=-lynxos178 2226b526288Smrg ;; 2236b526288Smrg -lynx*5) 2246b526288Smrg os=-lynxos5 2256b526288Smrg ;; 22641b2f0bdSmrg -lynx*) 22741b2f0bdSmrg os=-lynxos 22841b2f0bdSmrg ;; 22941b2f0bdSmrg -ptx*) 23041b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 23141b2f0bdSmrg ;; 23241b2f0bdSmrg -windowsnt*) 23341b2f0bdSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 23441b2f0bdSmrg ;; 23541b2f0bdSmrg -psos*) 23641b2f0bdSmrg os=-psos 23741b2f0bdSmrg ;; 23841b2f0bdSmrg -mint | -mint[0-9]*) 23941b2f0bdSmrg basic_machine=m68k-atari 24041b2f0bdSmrg os=-mint 24141b2f0bdSmrg ;; 24241b2f0bdSmrgesac 24341b2f0bdSmrg 24441b2f0bdSmrg# Decode aliases for certain CPU-COMPANY combinations. 24541b2f0bdSmrgcase $basic_machine in 24641b2f0bdSmrg # Recognize the basic CPU types without company name. 24741b2f0bdSmrg # Some are omitted here because they have special meanings below. 24841b2f0bdSmrg 1750a | 580 \ 24941b2f0bdSmrg | a29k \ 2506b526288Smrg | aarch64 | aarch64_be \ 25141b2f0bdSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 25241b2f0bdSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25311245024Smrg | am33_2.0 \ 2546b526288Smrg | arc | arceb \ 2556b526288Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2566b526288Smrg | avr | avr32 \ 2576b526288Smrg | ba \ 2586b526288Smrg | be32 | be64 \ 25911245024Smrg | bfin \ 2606b526288Smrg | c4x | c8051 | clipper \ 26141b2f0bdSmrg | d10v | d30v | dlx | dsp16xx \ 2626b526288Smrg | e2k | epiphany \ 2636b526288Smrg | fido | fr30 | frv | ft32 \ 26441b2f0bdSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2656b526288Smrg | hexagon \ 2666b526288Smrg | i370 | i860 | i960 | ia16 | ia64 \ 26711245024Smrg | ip2k | iq2000 \ 2686b526288Smrg | k1om \ 2696b526288Smrg | le32 | le64 \ 27011a29bacSmrg | lm32 \ 27111245024Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2726b526288Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27341b2f0bdSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27441b2f0bdSmrg | mips16 \ 27541b2f0bdSmrg | mips64 | mips64el \ 27611a29bacSmrg | mips64octeon | mips64octeonel \ 27741b2f0bdSmrg | mips64orion | mips64orionel \ 27811a29bacSmrg | mips64r5900 | mips64r5900el \ 27911a29bacSmrg | mips64vr | mips64vrel \ 28041b2f0bdSmrg | mips64vr4100 | mips64vr4100el \ 28141b2f0bdSmrg | mips64vr4300 | mips64vr4300el \ 28241b2f0bdSmrg | mips64vr5000 | mips64vr5000el \ 28311245024Smrg | mips64vr5900 | mips64vr5900el \ 28441b2f0bdSmrg | mipsisa32 | mipsisa32el \ 28541b2f0bdSmrg | mipsisa32r2 | mipsisa32r2el \ 2866b526288Smrg | mipsisa32r6 | mipsisa32r6el \ 28741b2f0bdSmrg | mipsisa64 | mipsisa64el \ 28811245024Smrg | mipsisa64r2 | mipsisa64r2el \ 2896b526288Smrg | mipsisa64r6 | mipsisa64r6el \ 29041b2f0bdSmrg | mipsisa64sb1 | mipsisa64sb1el \ 29141b2f0bdSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 2926b526288Smrg | mipsr5900 | mipsr5900el \ 29341b2f0bdSmrg | mipstx39 | mipstx39el \ 29441b2f0bdSmrg | mn10200 | mn10300 \ 29511a29bacSmrg | moxie \ 29611245024Smrg | mt \ 29741b2f0bdSmrg | msp430 \ 29811a29bacSmrg | nds32 | nds32le | nds32be \ 2996b526288Smrg | nios | nios2 | nios2eb | nios2el \ 30041b2f0bdSmrg | ns16k | ns32k \ 3016b526288Smrg | open8 | or1k | or1knd | or32 \ 30241b2f0bdSmrg | pdp10 | pdp11 | pj | pjl \ 3036b526288Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3046b526288Smrg | pru \ 30541b2f0bdSmrg | pyramid \ 3066b526288Smrg | riscv32 | riscv64 \ 3076b526288Smrg | rl78 | rx \ 30811245024Smrg | score \ 3096b526288Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 31041b2f0bdSmrg | sh64 | sh64le \ 31111245024Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31211245024Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3136b526288Smrg | spu \ 3146b526288Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31511a29bacSmrg | ubicom32 \ 3166b526288Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3176b526288Smrg | visium \ 3186b526288Smrg | wasm32 \ 31941b2f0bdSmrg | we32k \ 3206b526288Smrg | x86 | xc16x | xstormy16 | xtensa \ 32111a29bacSmrg | z8k | z80) 32241b2f0bdSmrg basic_machine=$basic_machine-unknown 32341b2f0bdSmrg ;; 32411a29bacSmrg c54x) 32511a29bacSmrg basic_machine=tic54x-unknown 32611a29bacSmrg ;; 32711a29bacSmrg c55x) 32811a29bacSmrg basic_machine=tic55x-unknown 32911a29bacSmrg ;; 33011a29bacSmrg c6x) 33111a29bacSmrg basic_machine=tic6x-unknown 33211a29bacSmrg ;; 3336b526288Smrg leon|leon[3-9]) 3346b526288Smrg basic_machine=sparc-$basic_machine 3356b526288Smrg ;; 3366b526288Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33741b2f0bdSmrg basic_machine=$basic_machine-unknown 33841b2f0bdSmrg os=-none 33941b2f0bdSmrg ;; 34041b2f0bdSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 34141b2f0bdSmrg ;; 34211245024Smrg ms1) 34311245024Smrg basic_machine=mt-unknown 34411245024Smrg ;; 34541b2f0bdSmrg 3466b526288Smrg strongarm | thumb | xscale) 3476b526288Smrg basic_machine=arm-unknown 3486b526288Smrg ;; 3496b526288Smrg xgate) 3506b526288Smrg basic_machine=$basic_machine-unknown 3516b526288Smrg os=-none 3526b526288Smrg ;; 3536b526288Smrg xscaleeb) 3546b526288Smrg basic_machine=armeb-unknown 3556b526288Smrg ;; 3566b526288Smrg 3576b526288Smrg xscaleel) 3586b526288Smrg basic_machine=armel-unknown 3596b526288Smrg ;; 3606b526288Smrg 36141b2f0bdSmrg # We use `pc' rather than `unknown' 36241b2f0bdSmrg # because (1) that's what they normally are, and 36341b2f0bdSmrg # (2) the word "unknown" tends to confuse beginning users. 36441b2f0bdSmrg i*86 | x86_64) 36541b2f0bdSmrg basic_machine=$basic_machine-pc 36641b2f0bdSmrg ;; 36741b2f0bdSmrg # Object if more than one company name word. 36841b2f0bdSmrg *-*-*) 36941b2f0bdSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 37041b2f0bdSmrg exit 1 37141b2f0bdSmrg ;; 37241b2f0bdSmrg # Recognize the basic CPU types with company name. 37341b2f0bdSmrg 580-* \ 37441b2f0bdSmrg | a29k-* \ 3756b526288Smrg | aarch64-* | aarch64_be-* \ 37641b2f0bdSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37741b2f0bdSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3786b526288Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37941b2f0bdSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 38011245024Smrg | avr-* | avr32-* \ 3816b526288Smrg | ba-* \ 3826b526288Smrg | be32-* | be64-* \ 38311245024Smrg | bfin-* | bs2000-* \ 38411a29bacSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3856b526288Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 38641b2f0bdSmrg | d10v-* | d30v-* | dlx-* \ 3876b526288Smrg | e2k-* | elxsi-* \ 38811245024Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38941b2f0bdSmrg | h8300-* | h8500-* \ 39041b2f0bdSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3916b526288Smrg | hexagon-* \ 3926b526288Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 39311245024Smrg | ip2k-* | iq2000-* \ 3946b526288Smrg | k1om-* \ 3956b526288Smrg | le32-* | le64-* \ 39611a29bacSmrg | lm32-* \ 39711245024Smrg | m32c-* | m32r-* | m32rle-* \ 39841b2f0bdSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3996b526288Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 4006b526288Smrg | microblaze-* | microblazeel-* \ 40141b2f0bdSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 40241b2f0bdSmrg | mips16-* \ 40341b2f0bdSmrg | mips64-* | mips64el-* \ 40411a29bacSmrg | mips64octeon-* | mips64octeonel-* \ 40541b2f0bdSmrg | mips64orion-* | mips64orionel-* \ 40611a29bacSmrg | mips64r5900-* | mips64r5900el-* \ 40711a29bacSmrg | mips64vr-* | mips64vrel-* \ 40841b2f0bdSmrg | mips64vr4100-* | mips64vr4100el-* \ 40941b2f0bdSmrg | mips64vr4300-* | mips64vr4300el-* \ 41041b2f0bdSmrg | mips64vr5000-* | mips64vr5000el-* \ 41111245024Smrg | mips64vr5900-* | mips64vr5900el-* \ 41241b2f0bdSmrg | mipsisa32-* | mipsisa32el-* \ 41341b2f0bdSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 4146b526288Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41541b2f0bdSmrg | mipsisa64-* | mipsisa64el-* \ 41611245024Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 4176b526288Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41841b2f0bdSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41941b2f0bdSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4206b526288Smrg | mipsr5900-* | mipsr5900el-* \ 42141b2f0bdSmrg | mipstx39-* | mipstx39el-* \ 42211245024Smrg | mmix-* \ 42311245024Smrg | mt-* \ 42441b2f0bdSmrg | msp430-* \ 42511a29bacSmrg | nds32-* | nds32le-* | nds32be-* \ 4266b526288Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42711245024Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4286b526288Smrg | open8-* \ 4296b526288Smrg | or1k*-* \ 43041b2f0bdSmrg | orion-* \ 43141b2f0bdSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4326b526288Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4336b526288Smrg | pru-* \ 43441b2f0bdSmrg | pyramid-* \ 4356b526288Smrg | riscv32-* | riscv64-* \ 4366b526288Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 43711a29bacSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43841b2f0bdSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43911245024Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 44011245024Smrg | sparclite-* \ 4416b526288Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4426b526288Smrg | tahoe-* \ 44341b2f0bdSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4446b526288Smrg | tile*-* \ 44541b2f0bdSmrg | tron-* \ 44611a29bacSmrg | ubicom32-* \ 4476b526288Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4486b526288Smrg | vax-* \ 4496b526288Smrg | visium-* \ 4506b526288Smrg | wasm32-* \ 45141b2f0bdSmrg | we32k-* \ 4526b526288Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 45311245024Smrg | xstormy16-* | xtensa*-* \ 45441b2f0bdSmrg | ymp-* \ 45511a29bacSmrg | z8k-* | z80-*) 45641b2f0bdSmrg ;; 45711245024Smrg # Recognize the basic CPU types without company name, with glob match. 45811245024Smrg xtensa*) 45911245024Smrg basic_machine=$basic_machine-unknown 46011245024Smrg ;; 46141b2f0bdSmrg # Recognize the various machine names and aliases which stand 46241b2f0bdSmrg # for a CPU type and a company and sometimes even an OS. 46341b2f0bdSmrg 386bsd) 46441b2f0bdSmrg basic_machine=i386-unknown 46541b2f0bdSmrg os=-bsd 46641b2f0bdSmrg ;; 46741b2f0bdSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46841b2f0bdSmrg basic_machine=m68000-att 46941b2f0bdSmrg ;; 47041b2f0bdSmrg 3b*) 47141b2f0bdSmrg basic_machine=we32k-att 47241b2f0bdSmrg ;; 47341b2f0bdSmrg a29khif) 47441b2f0bdSmrg basic_machine=a29k-amd 47541b2f0bdSmrg os=-udi 47641b2f0bdSmrg ;; 4776b526288Smrg abacus) 47811245024Smrg basic_machine=abacus-unknown 47911245024Smrg ;; 48041b2f0bdSmrg adobe68k) 48141b2f0bdSmrg basic_machine=m68010-adobe 48241b2f0bdSmrg os=-scout 48341b2f0bdSmrg ;; 48441b2f0bdSmrg alliant | fx80) 48541b2f0bdSmrg basic_machine=fx80-alliant 48641b2f0bdSmrg ;; 48741b2f0bdSmrg altos | altos3068) 48841b2f0bdSmrg basic_machine=m68k-altos 48941b2f0bdSmrg ;; 49041b2f0bdSmrg am29k) 49141b2f0bdSmrg basic_machine=a29k-none 49241b2f0bdSmrg os=-bsd 49341b2f0bdSmrg ;; 49441b2f0bdSmrg amd64) 49541b2f0bdSmrg basic_machine=x86_64-pc 49641b2f0bdSmrg ;; 49711245024Smrg amd64-*) 49811245024Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49911245024Smrg ;; 50041b2f0bdSmrg amdahl) 50141b2f0bdSmrg basic_machine=580-amdahl 50241b2f0bdSmrg os=-sysv 50341b2f0bdSmrg ;; 50441b2f0bdSmrg amiga | amiga-*) 50541b2f0bdSmrg basic_machine=m68k-unknown 50641b2f0bdSmrg ;; 50741b2f0bdSmrg amigaos | amigados) 50841b2f0bdSmrg basic_machine=m68k-unknown 50941b2f0bdSmrg os=-amigaos 51041b2f0bdSmrg ;; 51141b2f0bdSmrg amigaunix | amix) 51241b2f0bdSmrg basic_machine=m68k-unknown 51341b2f0bdSmrg os=-sysv4 51441b2f0bdSmrg ;; 51541b2f0bdSmrg apollo68) 51641b2f0bdSmrg basic_machine=m68k-apollo 51741b2f0bdSmrg os=-sysv 51841b2f0bdSmrg ;; 51941b2f0bdSmrg apollo68bsd) 52041b2f0bdSmrg basic_machine=m68k-apollo 52141b2f0bdSmrg os=-bsd 52241b2f0bdSmrg ;; 52311a29bacSmrg aros) 52411a29bacSmrg basic_machine=i386-pc 52511a29bacSmrg os=-aros 52611a29bacSmrg ;; 5276b526288Smrg asmjs) 5286b526288Smrg basic_machine=asmjs-unknown 5296b526288Smrg ;; 53041b2f0bdSmrg aux) 53141b2f0bdSmrg basic_machine=m68k-apple 53241b2f0bdSmrg os=-aux 53341b2f0bdSmrg ;; 53441b2f0bdSmrg balance) 53541b2f0bdSmrg basic_machine=ns32k-sequent 53641b2f0bdSmrg os=-dynix 53741b2f0bdSmrg ;; 53811245024Smrg blackfin) 53911245024Smrg basic_machine=bfin-unknown 54011245024Smrg os=-linux 54111245024Smrg ;; 54211245024Smrg blackfin-*) 54311245024Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 54411245024Smrg os=-linux 54511245024Smrg ;; 54611a29bacSmrg bluegene*) 54711a29bacSmrg basic_machine=powerpc-ibm 54811a29bacSmrg os=-cnk 54911a29bacSmrg ;; 55011a29bacSmrg c54x-*) 55111a29bacSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 55211a29bacSmrg ;; 55311a29bacSmrg c55x-*) 55411a29bacSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 55511a29bacSmrg ;; 55611a29bacSmrg c6x-*) 55711a29bacSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 55811a29bacSmrg ;; 55941b2f0bdSmrg c90) 56041b2f0bdSmrg basic_machine=c90-cray 56141b2f0bdSmrg os=-unicos 56241b2f0bdSmrg ;; 5636b526288Smrg cegcc) 56411a29bacSmrg basic_machine=arm-unknown 56511a29bacSmrg os=-cegcc 56611a29bacSmrg ;; 56741b2f0bdSmrg convex-c1) 56841b2f0bdSmrg basic_machine=c1-convex 56941b2f0bdSmrg os=-bsd 57041b2f0bdSmrg ;; 57141b2f0bdSmrg convex-c2) 57241b2f0bdSmrg basic_machine=c2-convex 57341b2f0bdSmrg os=-bsd 57441b2f0bdSmrg ;; 57541b2f0bdSmrg convex-c32) 57641b2f0bdSmrg basic_machine=c32-convex 57741b2f0bdSmrg os=-bsd 57841b2f0bdSmrg ;; 57941b2f0bdSmrg convex-c34) 58041b2f0bdSmrg basic_machine=c34-convex 58141b2f0bdSmrg os=-bsd 58241b2f0bdSmrg ;; 58341b2f0bdSmrg convex-c38) 58441b2f0bdSmrg basic_machine=c38-convex 58541b2f0bdSmrg os=-bsd 58641b2f0bdSmrg ;; 58741b2f0bdSmrg cray | j90) 58841b2f0bdSmrg basic_machine=j90-cray 58941b2f0bdSmrg os=-unicos 59041b2f0bdSmrg ;; 59111245024Smrg craynv) 59211245024Smrg basic_machine=craynv-cray 59311245024Smrg os=-unicosmp 59411245024Smrg ;; 5956b526288Smrg cr16 | cr16-*) 59611245024Smrg basic_machine=cr16-unknown 59711245024Smrg os=-elf 59811245024Smrg ;; 59941b2f0bdSmrg crds | unos) 60041b2f0bdSmrg basic_machine=m68k-crds 60141b2f0bdSmrg ;; 60211245024Smrg crisv32 | crisv32-* | etraxfs*) 60311245024Smrg basic_machine=crisv32-axis 60411245024Smrg ;; 60541b2f0bdSmrg cris | cris-* | etrax*) 60641b2f0bdSmrg basic_machine=cris-axis 60741b2f0bdSmrg ;; 60811245024Smrg crx) 60911245024Smrg basic_machine=crx-unknown 61011245024Smrg os=-elf 61111245024Smrg ;; 61241b2f0bdSmrg da30 | da30-*) 61341b2f0bdSmrg basic_machine=m68k-da30 61441b2f0bdSmrg ;; 61541b2f0bdSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 61641b2f0bdSmrg basic_machine=mips-dec 61741b2f0bdSmrg ;; 61841b2f0bdSmrg decsystem10* | dec10*) 61941b2f0bdSmrg basic_machine=pdp10-dec 62041b2f0bdSmrg os=-tops10 62141b2f0bdSmrg ;; 62241b2f0bdSmrg decsystem20* | dec20*) 62341b2f0bdSmrg basic_machine=pdp10-dec 62441b2f0bdSmrg os=-tops20 62541b2f0bdSmrg ;; 62641b2f0bdSmrg delta | 3300 | motorola-3300 | motorola-delta \ 62741b2f0bdSmrg | 3300-motorola | delta-motorola) 62841b2f0bdSmrg basic_machine=m68k-motorola 62941b2f0bdSmrg ;; 63041b2f0bdSmrg delta88) 63141b2f0bdSmrg basic_machine=m88k-motorola 63241b2f0bdSmrg os=-sysv3 63341b2f0bdSmrg ;; 63411a29bacSmrg dicos) 63511a29bacSmrg basic_machine=i686-pc 63611a29bacSmrg os=-dicos 63711a29bacSmrg ;; 63811245024Smrg djgpp) 63911245024Smrg basic_machine=i586-pc 64011245024Smrg os=-msdosdjgpp 64111245024Smrg ;; 64241b2f0bdSmrg dpx20 | dpx20-*) 64341b2f0bdSmrg basic_machine=rs6000-bull 64441b2f0bdSmrg os=-bosx 64541b2f0bdSmrg ;; 64641b2f0bdSmrg dpx2* | dpx2*-bull) 64741b2f0bdSmrg basic_machine=m68k-bull 64841b2f0bdSmrg os=-sysv3 64941b2f0bdSmrg ;; 6506b526288Smrg e500v[12]) 6516b526288Smrg basic_machine=powerpc-unknown 6526b526288Smrg os=$os"spe" 6536b526288Smrg ;; 6546b526288Smrg e500v[12]-*) 6556b526288Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 6566b526288Smrg os=$os"spe" 6576b526288Smrg ;; 65841b2f0bdSmrg ebmon29k) 65941b2f0bdSmrg basic_machine=a29k-amd 66041b2f0bdSmrg os=-ebmon 66141b2f0bdSmrg ;; 66241b2f0bdSmrg elxsi) 66341b2f0bdSmrg basic_machine=elxsi-elxsi 66441b2f0bdSmrg os=-bsd 66541b2f0bdSmrg ;; 66641b2f0bdSmrg encore | umax | mmax) 66741b2f0bdSmrg basic_machine=ns32k-encore 66841b2f0bdSmrg ;; 66941b2f0bdSmrg es1800 | OSE68k | ose68k | ose | OSE) 67041b2f0bdSmrg basic_machine=m68k-ericsson 67141b2f0bdSmrg os=-ose 67241b2f0bdSmrg ;; 67341b2f0bdSmrg fx2800) 67441b2f0bdSmrg basic_machine=i860-alliant 67541b2f0bdSmrg ;; 67641b2f0bdSmrg genix) 67741b2f0bdSmrg basic_machine=ns32k-ns 67841b2f0bdSmrg ;; 67941b2f0bdSmrg gmicro) 68041b2f0bdSmrg basic_machine=tron-gmicro 68141b2f0bdSmrg os=-sysv 68241b2f0bdSmrg ;; 68341b2f0bdSmrg go32) 68441b2f0bdSmrg basic_machine=i386-pc 68541b2f0bdSmrg os=-go32 68641b2f0bdSmrg ;; 68741b2f0bdSmrg h3050r* | hiux*) 68841b2f0bdSmrg basic_machine=hppa1.1-hitachi 68941b2f0bdSmrg os=-hiuxwe2 69041b2f0bdSmrg ;; 69141b2f0bdSmrg h8300hms) 69241b2f0bdSmrg basic_machine=h8300-hitachi 69341b2f0bdSmrg os=-hms 69441b2f0bdSmrg ;; 69541b2f0bdSmrg h8300xray) 69641b2f0bdSmrg basic_machine=h8300-hitachi 69741b2f0bdSmrg os=-xray 69841b2f0bdSmrg ;; 69941b2f0bdSmrg h8500hms) 70041b2f0bdSmrg basic_machine=h8500-hitachi 70141b2f0bdSmrg os=-hms 70241b2f0bdSmrg ;; 70341b2f0bdSmrg harris) 70441b2f0bdSmrg basic_machine=m88k-harris 70541b2f0bdSmrg os=-sysv3 70641b2f0bdSmrg ;; 70741b2f0bdSmrg hp300-*) 70841b2f0bdSmrg basic_machine=m68k-hp 70941b2f0bdSmrg ;; 71041b2f0bdSmrg hp300bsd) 71141b2f0bdSmrg basic_machine=m68k-hp 71241b2f0bdSmrg os=-bsd 71341b2f0bdSmrg ;; 71441b2f0bdSmrg hp300hpux) 71541b2f0bdSmrg basic_machine=m68k-hp 71641b2f0bdSmrg os=-hpux 71741b2f0bdSmrg ;; 71841b2f0bdSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 71941b2f0bdSmrg basic_machine=hppa1.0-hp 72041b2f0bdSmrg ;; 72141b2f0bdSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 72241b2f0bdSmrg basic_machine=m68000-hp 72341b2f0bdSmrg ;; 72441b2f0bdSmrg hp9k3[2-9][0-9]) 72541b2f0bdSmrg basic_machine=m68k-hp 72641b2f0bdSmrg ;; 72741b2f0bdSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 72841b2f0bdSmrg basic_machine=hppa1.0-hp 72941b2f0bdSmrg ;; 73041b2f0bdSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 73141b2f0bdSmrg basic_machine=hppa1.1-hp 73241b2f0bdSmrg ;; 73341b2f0bdSmrg hp9k78[0-9] | hp78[0-9]) 73441b2f0bdSmrg # FIXME: really hppa2.0-hp 73541b2f0bdSmrg basic_machine=hppa1.1-hp 73641b2f0bdSmrg ;; 73741b2f0bdSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 73841b2f0bdSmrg # FIXME: really hppa2.0-hp 73941b2f0bdSmrg basic_machine=hppa1.1-hp 74041b2f0bdSmrg ;; 74141b2f0bdSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 74241b2f0bdSmrg basic_machine=hppa1.1-hp 74341b2f0bdSmrg ;; 74441b2f0bdSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 74541b2f0bdSmrg basic_machine=hppa1.0-hp 74641b2f0bdSmrg ;; 74741b2f0bdSmrg hppa-next) 74841b2f0bdSmrg os=-nextstep3 74941b2f0bdSmrg ;; 75041b2f0bdSmrg hppaosf) 75141b2f0bdSmrg basic_machine=hppa1.1-hp 75241b2f0bdSmrg os=-osf 75341b2f0bdSmrg ;; 75441b2f0bdSmrg hppro) 75541b2f0bdSmrg basic_machine=hppa1.1-hp 75641b2f0bdSmrg os=-proelf 75741b2f0bdSmrg ;; 75841b2f0bdSmrg i370-ibm* | ibm*) 75941b2f0bdSmrg basic_machine=i370-ibm 76041b2f0bdSmrg ;; 76141b2f0bdSmrg i*86v32) 76241b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76341b2f0bdSmrg os=-sysv32 76441b2f0bdSmrg ;; 76541b2f0bdSmrg i*86v4*) 76641b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76741b2f0bdSmrg os=-sysv4 76841b2f0bdSmrg ;; 76941b2f0bdSmrg i*86v) 77041b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77141b2f0bdSmrg os=-sysv 77241b2f0bdSmrg ;; 77341b2f0bdSmrg i*86sol2) 77441b2f0bdSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77541b2f0bdSmrg os=-solaris2 77641b2f0bdSmrg ;; 77741b2f0bdSmrg i386mach) 77841b2f0bdSmrg basic_machine=i386-mach 77941b2f0bdSmrg os=-mach 78041b2f0bdSmrg ;; 78141b2f0bdSmrg i386-vsta | vsta) 78241b2f0bdSmrg basic_machine=i386-unknown 78341b2f0bdSmrg os=-vsta 78441b2f0bdSmrg ;; 78541b2f0bdSmrg iris | iris4d) 78641b2f0bdSmrg basic_machine=mips-sgi 78741b2f0bdSmrg case $os in 78841b2f0bdSmrg -irix*) 78941b2f0bdSmrg ;; 79041b2f0bdSmrg *) 79141b2f0bdSmrg os=-irix4 79241b2f0bdSmrg ;; 79341b2f0bdSmrg esac 79441b2f0bdSmrg ;; 79541b2f0bdSmrg isi68 | isi) 79641b2f0bdSmrg basic_machine=m68k-isi 79741b2f0bdSmrg os=-sysv 79841b2f0bdSmrg ;; 7996b526288Smrg leon-*|leon[3-9]-*) 8006b526288Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 8016b526288Smrg ;; 80211245024Smrg m68knommu) 80311245024Smrg basic_machine=m68k-unknown 80411245024Smrg os=-linux 80511245024Smrg ;; 80611245024Smrg m68knommu-*) 80711245024Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 80811245024Smrg os=-linux 80911245024Smrg ;; 81041b2f0bdSmrg m88k-omron*) 81141b2f0bdSmrg basic_machine=m88k-omron 81241b2f0bdSmrg ;; 81341b2f0bdSmrg magnum | m3230) 81441b2f0bdSmrg basic_machine=mips-mips 81541b2f0bdSmrg os=-sysv 81641b2f0bdSmrg ;; 81741b2f0bdSmrg merlin) 81841b2f0bdSmrg basic_machine=ns32k-utek 81941b2f0bdSmrg os=-sysv 82041b2f0bdSmrg ;; 8216b526288Smrg microblaze*) 82211a29bacSmrg basic_machine=microblaze-xilinx 82311a29bacSmrg ;; 8246b526288Smrg mingw64) 8256b526288Smrg basic_machine=x86_64-pc 8266b526288Smrg os=-mingw64 8276b526288Smrg ;; 82841b2f0bdSmrg mingw32) 8296b526288Smrg basic_machine=i686-pc 83041b2f0bdSmrg os=-mingw32 83141b2f0bdSmrg ;; 83211245024Smrg mingw32ce) 83311245024Smrg basic_machine=arm-unknown 83411245024Smrg os=-mingw32ce 83511245024Smrg ;; 83641b2f0bdSmrg miniframe) 83741b2f0bdSmrg basic_machine=m68000-convergent 83841b2f0bdSmrg ;; 83941b2f0bdSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 84041b2f0bdSmrg basic_machine=m68k-atari 84141b2f0bdSmrg os=-mint 84241b2f0bdSmrg ;; 84341b2f0bdSmrg mips3*-*) 84441b2f0bdSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 84541b2f0bdSmrg ;; 84641b2f0bdSmrg mips3*) 84741b2f0bdSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 84841b2f0bdSmrg ;; 84941b2f0bdSmrg monitor) 85041b2f0bdSmrg basic_machine=m68k-rom68k 85141b2f0bdSmrg os=-coff 85241b2f0bdSmrg ;; 85341b2f0bdSmrg morphos) 85441b2f0bdSmrg basic_machine=powerpc-unknown 85541b2f0bdSmrg os=-morphos 85641b2f0bdSmrg ;; 8576b526288Smrg moxiebox) 8586b526288Smrg basic_machine=moxie-unknown 8596b526288Smrg os=-moxiebox 8606b526288Smrg ;; 86141b2f0bdSmrg msdos) 86241b2f0bdSmrg basic_machine=i386-pc 86341b2f0bdSmrg os=-msdos 86441b2f0bdSmrg ;; 86511245024Smrg ms1-*) 86611245024Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 86711245024Smrg ;; 8686b526288Smrg msys) 8696b526288Smrg basic_machine=i686-pc 8706b526288Smrg os=-msys 8716b526288Smrg ;; 87241b2f0bdSmrg mvs) 87341b2f0bdSmrg basic_machine=i370-ibm 87441b2f0bdSmrg os=-mvs 87541b2f0bdSmrg ;; 8766b526288Smrg nacl) 8776b526288Smrg basic_machine=le32-unknown 8786b526288Smrg os=-nacl 8796b526288Smrg ;; 88041b2f0bdSmrg ncr3000) 88141b2f0bdSmrg basic_machine=i486-ncr 88241b2f0bdSmrg os=-sysv4 88341b2f0bdSmrg ;; 88441b2f0bdSmrg netbsd386) 88541b2f0bdSmrg basic_machine=i386-unknown 88641b2f0bdSmrg os=-netbsd 88741b2f0bdSmrg ;; 88841b2f0bdSmrg netwinder) 88941b2f0bdSmrg basic_machine=armv4l-rebel 89041b2f0bdSmrg os=-linux 89141b2f0bdSmrg ;; 89241b2f0bdSmrg news | news700 | news800 | news900) 89341b2f0bdSmrg basic_machine=m68k-sony 89441b2f0bdSmrg os=-newsos 89541b2f0bdSmrg ;; 89641b2f0bdSmrg news1000) 89741b2f0bdSmrg basic_machine=m68030-sony 89841b2f0bdSmrg os=-newsos 89941b2f0bdSmrg ;; 90041b2f0bdSmrg news-3600 | risc-news) 90141b2f0bdSmrg basic_machine=mips-sony 90241b2f0bdSmrg os=-newsos 90341b2f0bdSmrg ;; 90441b2f0bdSmrg necv70) 90541b2f0bdSmrg basic_machine=v70-nec 90641b2f0bdSmrg os=-sysv 90741b2f0bdSmrg ;; 90841b2f0bdSmrg next | m*-next ) 90941b2f0bdSmrg basic_machine=m68k-next 91041b2f0bdSmrg case $os in 91141b2f0bdSmrg -nextstep* ) 91241b2f0bdSmrg ;; 91341b2f0bdSmrg -ns2*) 91441b2f0bdSmrg os=-nextstep2 91541b2f0bdSmrg ;; 91641b2f0bdSmrg *) 91741b2f0bdSmrg os=-nextstep3 91841b2f0bdSmrg ;; 91941b2f0bdSmrg esac 92041b2f0bdSmrg ;; 92141b2f0bdSmrg nh3000) 92241b2f0bdSmrg basic_machine=m68k-harris 92341b2f0bdSmrg os=-cxux 92441b2f0bdSmrg ;; 92541b2f0bdSmrg nh[45]000) 92641b2f0bdSmrg basic_machine=m88k-harris 92741b2f0bdSmrg os=-cxux 92841b2f0bdSmrg ;; 92941b2f0bdSmrg nindy960) 93041b2f0bdSmrg basic_machine=i960-intel 93141b2f0bdSmrg os=-nindy 93241b2f0bdSmrg ;; 93341b2f0bdSmrg mon960) 93441b2f0bdSmrg basic_machine=i960-intel 93541b2f0bdSmrg os=-mon960 93641b2f0bdSmrg ;; 93741b2f0bdSmrg nonstopux) 93841b2f0bdSmrg basic_machine=mips-compaq 93941b2f0bdSmrg os=-nonstopux 94041b2f0bdSmrg ;; 94141b2f0bdSmrg np1) 94241b2f0bdSmrg basic_machine=np1-gould 94341b2f0bdSmrg ;; 9446b526288Smrg neo-tandem) 94511a29bacSmrg basic_machine=neo-tandem 94611a29bacSmrg ;; 9476b526288Smrg nse-tandem) 94811a29bacSmrg basic_machine=nse-tandem 94911a29bacSmrg ;; 95041b2f0bdSmrg nsr-tandem) 95141b2f0bdSmrg basic_machine=nsr-tandem 95241b2f0bdSmrg ;; 9536b526288Smrg nsx-tandem) 9546b526288Smrg basic_machine=nsx-tandem 9556b526288Smrg ;; 95641b2f0bdSmrg op50n-* | op60c-*) 95741b2f0bdSmrg basic_machine=hppa1.1-oki 95841b2f0bdSmrg os=-proelf 95941b2f0bdSmrg ;; 96011245024Smrg openrisc | openrisc-*) 96141b2f0bdSmrg basic_machine=or32-unknown 96211245024Smrg ;; 96311245024Smrg os400) 96411245024Smrg basic_machine=powerpc-ibm 96511245024Smrg os=-os400 96641b2f0bdSmrg ;; 96741b2f0bdSmrg OSE68000 | ose68000) 96841b2f0bdSmrg basic_machine=m68000-ericsson 96941b2f0bdSmrg os=-ose 97041b2f0bdSmrg ;; 97141b2f0bdSmrg os68k) 97241b2f0bdSmrg basic_machine=m68k-none 97341b2f0bdSmrg os=-os68k 97441b2f0bdSmrg ;; 97541b2f0bdSmrg pa-hitachi) 97641b2f0bdSmrg basic_machine=hppa1.1-hitachi 97741b2f0bdSmrg os=-hiuxwe2 97841b2f0bdSmrg ;; 97941b2f0bdSmrg paragon) 98041b2f0bdSmrg basic_machine=i860-intel 98141b2f0bdSmrg os=-osf 98241b2f0bdSmrg ;; 98311245024Smrg parisc) 98411245024Smrg basic_machine=hppa-unknown 98511245024Smrg os=-linux 98611245024Smrg ;; 98711245024Smrg parisc-*) 98811245024Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 98911245024Smrg os=-linux 99011245024Smrg ;; 99141b2f0bdSmrg pbd) 99241b2f0bdSmrg basic_machine=sparc-tti 99341b2f0bdSmrg ;; 99441b2f0bdSmrg pbb) 99541b2f0bdSmrg basic_machine=m68k-tti 99641b2f0bdSmrg ;; 99741b2f0bdSmrg pc532 | pc532-*) 99841b2f0bdSmrg basic_machine=ns32k-pc532 99941b2f0bdSmrg ;; 100011245024Smrg pc98) 100111245024Smrg basic_machine=i386-pc 100211245024Smrg ;; 100311245024Smrg pc98-*) 100411245024Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 100511245024Smrg ;; 100641b2f0bdSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 100741b2f0bdSmrg basic_machine=i586-pc 100841b2f0bdSmrg ;; 100941b2f0bdSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 101041b2f0bdSmrg basic_machine=i686-pc 101141b2f0bdSmrg ;; 101241b2f0bdSmrg pentiumii | pentium2 | pentiumiii | pentium3) 101341b2f0bdSmrg basic_machine=i686-pc 101441b2f0bdSmrg ;; 101541b2f0bdSmrg pentium4) 101641b2f0bdSmrg basic_machine=i786-pc 101741b2f0bdSmrg ;; 101841b2f0bdSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101941b2f0bdSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 102041b2f0bdSmrg ;; 102141b2f0bdSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 102241b2f0bdSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102341b2f0bdSmrg ;; 102441b2f0bdSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 102541b2f0bdSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102641b2f0bdSmrg ;; 102741b2f0bdSmrg pentium4-*) 102841b2f0bdSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 102941b2f0bdSmrg ;; 103041b2f0bdSmrg pn) 103141b2f0bdSmrg basic_machine=pn-gould 103241b2f0bdSmrg ;; 103341b2f0bdSmrg power) basic_machine=power-ibm 103441b2f0bdSmrg ;; 10356b526288Smrg ppc | ppcbe) basic_machine=powerpc-unknown 103641b2f0bdSmrg ;; 10376b526288Smrg ppc-* | ppcbe-*) 10386b526288Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 103941b2f0bdSmrg ;; 10406b526288Smrg ppcle | powerpclittle) 104141b2f0bdSmrg basic_machine=powerpcle-unknown 104241b2f0bdSmrg ;; 104341b2f0bdSmrg ppcle-* | powerpclittle-*) 104441b2f0bdSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 104541b2f0bdSmrg ;; 104641b2f0bdSmrg ppc64) basic_machine=powerpc64-unknown 104741b2f0bdSmrg ;; 10486b526288Smrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 104941b2f0bdSmrg ;; 10506b526288Smrg ppc64le | powerpc64little) 105141b2f0bdSmrg basic_machine=powerpc64le-unknown 105241b2f0bdSmrg ;; 105341b2f0bdSmrg ppc64le-* | powerpc64little-*) 105441b2f0bdSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 105541b2f0bdSmrg ;; 105641b2f0bdSmrg ps2) 105741b2f0bdSmrg basic_machine=i386-ibm 105841b2f0bdSmrg ;; 105941b2f0bdSmrg pw32) 106041b2f0bdSmrg basic_machine=i586-unknown 106141b2f0bdSmrg os=-pw32 106241b2f0bdSmrg ;; 10636b526288Smrg rdos | rdos64) 10646b526288Smrg basic_machine=x86_64-pc 10656b526288Smrg os=-rdos 10666b526288Smrg ;; 10676b526288Smrg rdos32) 106811245024Smrg basic_machine=i386-pc 106911245024Smrg os=-rdos 107011245024Smrg ;; 107141b2f0bdSmrg rom68k) 107241b2f0bdSmrg basic_machine=m68k-rom68k 107341b2f0bdSmrg os=-coff 107441b2f0bdSmrg ;; 107541b2f0bdSmrg rm[46]00) 107641b2f0bdSmrg basic_machine=mips-siemens 107741b2f0bdSmrg ;; 107841b2f0bdSmrg rtpc | rtpc-*) 107941b2f0bdSmrg basic_machine=romp-ibm 108041b2f0bdSmrg ;; 108111245024Smrg s390 | s390-*) 108211245024Smrg basic_machine=s390-ibm 108311245024Smrg ;; 108411245024Smrg s390x | s390x-*) 108511245024Smrg basic_machine=s390x-ibm 108611245024Smrg ;; 108741b2f0bdSmrg sa29200) 108841b2f0bdSmrg basic_machine=a29k-amd 108941b2f0bdSmrg os=-udi 109041b2f0bdSmrg ;; 109141b2f0bdSmrg sb1) 109241b2f0bdSmrg basic_machine=mipsisa64sb1-unknown 109341b2f0bdSmrg ;; 109441b2f0bdSmrg sb1el) 109541b2f0bdSmrg basic_machine=mipsisa64sb1el-unknown 109641b2f0bdSmrg ;; 109711245024Smrg sde) 109811245024Smrg basic_machine=mipsisa32-sde 109911245024Smrg os=-elf 110011245024Smrg ;; 110141b2f0bdSmrg sei) 110241b2f0bdSmrg basic_machine=mips-sei 110341b2f0bdSmrg os=-seiux 110441b2f0bdSmrg ;; 110541b2f0bdSmrg sequent) 110641b2f0bdSmrg basic_machine=i386-sequent 110741b2f0bdSmrg ;; 110841b2f0bdSmrg sh) 110941b2f0bdSmrg basic_machine=sh-hitachi 111041b2f0bdSmrg os=-hms 111141b2f0bdSmrg ;; 111211245024Smrg sh5el) 111311245024Smrg basic_machine=sh5le-unknown 111411245024Smrg ;; 111541b2f0bdSmrg sh64) 111641b2f0bdSmrg basic_machine=sh64-unknown 111741b2f0bdSmrg ;; 111841b2f0bdSmrg sparclite-wrs | simso-wrs) 111941b2f0bdSmrg basic_machine=sparclite-wrs 112041b2f0bdSmrg os=-vxworks 112141b2f0bdSmrg ;; 112241b2f0bdSmrg sps7) 112341b2f0bdSmrg basic_machine=m68k-bull 112441b2f0bdSmrg os=-sysv2 112541b2f0bdSmrg ;; 112641b2f0bdSmrg spur) 112741b2f0bdSmrg basic_machine=spur-unknown 112841b2f0bdSmrg ;; 112941b2f0bdSmrg st2000) 113041b2f0bdSmrg basic_machine=m68k-tandem 113141b2f0bdSmrg ;; 113241b2f0bdSmrg stratus) 113341b2f0bdSmrg basic_machine=i860-stratus 113441b2f0bdSmrg os=-sysv4 113541b2f0bdSmrg ;; 11366b526288Smrg strongarm-* | thumb-*) 11376b526288Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11386b526288Smrg ;; 113941b2f0bdSmrg sun2) 114041b2f0bdSmrg basic_machine=m68000-sun 114141b2f0bdSmrg ;; 114241b2f0bdSmrg sun2os3) 114341b2f0bdSmrg basic_machine=m68000-sun 114441b2f0bdSmrg os=-sunos3 114541b2f0bdSmrg ;; 114641b2f0bdSmrg sun2os4) 114741b2f0bdSmrg basic_machine=m68000-sun 114841b2f0bdSmrg os=-sunos4 114941b2f0bdSmrg ;; 115041b2f0bdSmrg sun3os3) 115141b2f0bdSmrg basic_machine=m68k-sun 115241b2f0bdSmrg os=-sunos3 115341b2f0bdSmrg ;; 115441b2f0bdSmrg sun3os4) 115541b2f0bdSmrg basic_machine=m68k-sun 115641b2f0bdSmrg os=-sunos4 115741b2f0bdSmrg ;; 115841b2f0bdSmrg sun4os3) 115941b2f0bdSmrg basic_machine=sparc-sun 116041b2f0bdSmrg os=-sunos3 116141b2f0bdSmrg ;; 116241b2f0bdSmrg sun4os4) 116341b2f0bdSmrg basic_machine=sparc-sun 116441b2f0bdSmrg os=-sunos4 116541b2f0bdSmrg ;; 116641b2f0bdSmrg sun4sol2) 116741b2f0bdSmrg basic_machine=sparc-sun 116841b2f0bdSmrg os=-solaris2 116941b2f0bdSmrg ;; 117041b2f0bdSmrg sun3 | sun3-*) 117141b2f0bdSmrg basic_machine=m68k-sun 117241b2f0bdSmrg ;; 117341b2f0bdSmrg sun4) 117441b2f0bdSmrg basic_machine=sparc-sun 117541b2f0bdSmrg ;; 117641b2f0bdSmrg sun386 | sun386i | roadrunner) 117741b2f0bdSmrg basic_machine=i386-sun 117841b2f0bdSmrg ;; 117941b2f0bdSmrg sv1) 118041b2f0bdSmrg basic_machine=sv1-cray 118141b2f0bdSmrg os=-unicos 118241b2f0bdSmrg ;; 118341b2f0bdSmrg symmetry) 118441b2f0bdSmrg basic_machine=i386-sequent 118541b2f0bdSmrg os=-dynix 118641b2f0bdSmrg ;; 118741b2f0bdSmrg t3e) 118841b2f0bdSmrg basic_machine=alphaev5-cray 118941b2f0bdSmrg os=-unicos 119041b2f0bdSmrg ;; 119141b2f0bdSmrg t90) 119241b2f0bdSmrg basic_machine=t90-cray 119341b2f0bdSmrg os=-unicos 119441b2f0bdSmrg ;; 119511245024Smrg tile*) 11966b526288Smrg basic_machine=$basic_machine-unknown 119711245024Smrg os=-linux-gnu 119811245024Smrg ;; 119941b2f0bdSmrg tx39) 120041b2f0bdSmrg basic_machine=mipstx39-unknown 120141b2f0bdSmrg ;; 120241b2f0bdSmrg tx39el) 120341b2f0bdSmrg basic_machine=mipstx39el-unknown 120441b2f0bdSmrg ;; 120541b2f0bdSmrg toad1) 120641b2f0bdSmrg basic_machine=pdp10-xkl 120741b2f0bdSmrg os=-tops20 120841b2f0bdSmrg ;; 120941b2f0bdSmrg tower | tower-32) 121041b2f0bdSmrg basic_machine=m68k-ncr 121141b2f0bdSmrg ;; 121211245024Smrg tpf) 121311245024Smrg basic_machine=s390x-ibm 121411245024Smrg os=-tpf 121511245024Smrg ;; 121641b2f0bdSmrg udi29k) 121741b2f0bdSmrg basic_machine=a29k-amd 121841b2f0bdSmrg os=-udi 121941b2f0bdSmrg ;; 122041b2f0bdSmrg ultra3) 122141b2f0bdSmrg basic_machine=a29k-nyu 122241b2f0bdSmrg os=-sym1 122341b2f0bdSmrg ;; 122441b2f0bdSmrg v810 | necv810) 122541b2f0bdSmrg basic_machine=v810-nec 122641b2f0bdSmrg os=-none 122741b2f0bdSmrg ;; 122841b2f0bdSmrg vaxv) 122941b2f0bdSmrg basic_machine=vax-dec 123041b2f0bdSmrg os=-sysv 123141b2f0bdSmrg ;; 123241b2f0bdSmrg vms) 123341b2f0bdSmrg basic_machine=vax-dec 123441b2f0bdSmrg os=-vms 123541b2f0bdSmrg ;; 123641b2f0bdSmrg vpp*|vx|vx-*) 123741b2f0bdSmrg basic_machine=f301-fujitsu 123841b2f0bdSmrg ;; 123941b2f0bdSmrg vxworks960) 124041b2f0bdSmrg basic_machine=i960-wrs 124141b2f0bdSmrg os=-vxworks 124241b2f0bdSmrg ;; 124341b2f0bdSmrg vxworks68) 124441b2f0bdSmrg basic_machine=m68k-wrs 124541b2f0bdSmrg os=-vxworks 124641b2f0bdSmrg ;; 124741b2f0bdSmrg vxworks29k) 124841b2f0bdSmrg basic_machine=a29k-wrs 124941b2f0bdSmrg os=-vxworks 125041b2f0bdSmrg ;; 12516b526288Smrg wasm32) 12526b526288Smrg basic_machine=wasm32-unknown 12536b526288Smrg ;; 125441b2f0bdSmrg w65*) 125541b2f0bdSmrg basic_machine=w65-wdc 125641b2f0bdSmrg os=-none 125741b2f0bdSmrg ;; 125841b2f0bdSmrg w89k-*) 125941b2f0bdSmrg basic_machine=hppa1.1-winbond 126041b2f0bdSmrg os=-proelf 126141b2f0bdSmrg ;; 126211245024Smrg xbox) 126311245024Smrg basic_machine=i686-pc 126411245024Smrg os=-mingw32 126511245024Smrg ;; 126641b2f0bdSmrg xps | xps100) 126741b2f0bdSmrg basic_machine=xps100-honeywell 126841b2f0bdSmrg ;; 12696b526288Smrg xscale-* | xscalee[bl]-*) 12706b526288Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12716b526288Smrg ;; 127241b2f0bdSmrg ymp) 127341b2f0bdSmrg basic_machine=ymp-cray 127441b2f0bdSmrg os=-unicos 127541b2f0bdSmrg ;; 127641b2f0bdSmrg z8k-*-coff) 127741b2f0bdSmrg basic_machine=z8k-unknown 127841b2f0bdSmrg os=-sim 127941b2f0bdSmrg ;; 128011a29bacSmrg z80-*-coff) 128111a29bacSmrg basic_machine=z80-unknown 128211a29bacSmrg os=-sim 128311a29bacSmrg ;; 128441b2f0bdSmrg none) 128541b2f0bdSmrg basic_machine=none-none 128641b2f0bdSmrg os=-none 128741b2f0bdSmrg ;; 128841b2f0bdSmrg 128941b2f0bdSmrg# Here we handle the default manufacturer of certain CPU types. It is in 129041b2f0bdSmrg# some cases the only manufacturer, in others, it is the most popular. 129141b2f0bdSmrg w89k) 129241b2f0bdSmrg basic_machine=hppa1.1-winbond 129341b2f0bdSmrg ;; 129441b2f0bdSmrg op50n) 129541b2f0bdSmrg basic_machine=hppa1.1-oki 129641b2f0bdSmrg ;; 129741b2f0bdSmrg op60c) 129841b2f0bdSmrg basic_machine=hppa1.1-oki 129941b2f0bdSmrg ;; 130041b2f0bdSmrg romp) 130141b2f0bdSmrg basic_machine=romp-ibm 130241b2f0bdSmrg ;; 130311245024Smrg mmix) 130411245024Smrg basic_machine=mmix-knuth 130511245024Smrg ;; 130641b2f0bdSmrg rs6000) 130741b2f0bdSmrg basic_machine=rs6000-ibm 130841b2f0bdSmrg ;; 130941b2f0bdSmrg vax) 131041b2f0bdSmrg basic_machine=vax-dec 131141b2f0bdSmrg ;; 131241b2f0bdSmrg pdp10) 131341b2f0bdSmrg # there are many clones, so DEC is not a safe bet 131441b2f0bdSmrg basic_machine=pdp10-unknown 131541b2f0bdSmrg ;; 131641b2f0bdSmrg pdp11) 131741b2f0bdSmrg basic_machine=pdp11-dec 131841b2f0bdSmrg ;; 131941b2f0bdSmrg we32k) 132041b2f0bdSmrg basic_machine=we32k-att 132141b2f0bdSmrg ;; 132211a29bacSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 132341b2f0bdSmrg basic_machine=sh-unknown 132441b2f0bdSmrg ;; 132511245024Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 132641b2f0bdSmrg basic_machine=sparc-sun 132741b2f0bdSmrg ;; 132841b2f0bdSmrg cydra) 132941b2f0bdSmrg basic_machine=cydra-cydrome 133041b2f0bdSmrg ;; 133141b2f0bdSmrg orion) 133241b2f0bdSmrg basic_machine=orion-highlevel 133341b2f0bdSmrg ;; 133441b2f0bdSmrg orion105) 133541b2f0bdSmrg basic_machine=clipper-highlevel 133641b2f0bdSmrg ;; 133741b2f0bdSmrg mac | mpw | mac-mpw) 133841b2f0bdSmrg basic_machine=m68k-apple 133941b2f0bdSmrg ;; 134041b2f0bdSmrg pmac | pmac-mpw) 134141b2f0bdSmrg basic_machine=powerpc-apple 134241b2f0bdSmrg ;; 134341b2f0bdSmrg *-unknown) 134441b2f0bdSmrg # Make sure to match an already-canonicalized machine name. 134541b2f0bdSmrg ;; 134641b2f0bdSmrg *) 134741b2f0bdSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 134841b2f0bdSmrg exit 1 134941b2f0bdSmrg ;; 135041b2f0bdSmrgesac 135141b2f0bdSmrg 135241b2f0bdSmrg# Here we canonicalize certain aliases for manufacturers. 135341b2f0bdSmrgcase $basic_machine in 135441b2f0bdSmrg *-digital*) 135541b2f0bdSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 135641b2f0bdSmrg ;; 135741b2f0bdSmrg *-commodore*) 135841b2f0bdSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 135941b2f0bdSmrg ;; 136041b2f0bdSmrg *) 136141b2f0bdSmrg ;; 136241b2f0bdSmrgesac 136341b2f0bdSmrg 136441b2f0bdSmrg# Decode manufacturer-specific aliases for certain operating systems. 136541b2f0bdSmrg 136641b2f0bdSmrgif [ x"$os" != x"" ] 136741b2f0bdSmrgthen 136841b2f0bdSmrgcase $os in 13696b526288Smrg # First match some system type aliases 13706b526288Smrg # that might get confused with valid system types. 137141b2f0bdSmrg # -solaris* is a basic system type, with this one exception. 13726b526288Smrg -auroraux) 13736b526288Smrg os=-auroraux 137411a29bacSmrg ;; 137541b2f0bdSmrg -solaris1 | -solaris1.*) 137641b2f0bdSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 137741b2f0bdSmrg ;; 137841b2f0bdSmrg -solaris) 137941b2f0bdSmrg os=-solaris2 138041b2f0bdSmrg ;; 138141b2f0bdSmrg -svr4*) 138241b2f0bdSmrg os=-sysv4 138341b2f0bdSmrg ;; 138441b2f0bdSmrg -unixware*) 138541b2f0bdSmrg os=-sysv4.2uw 138641b2f0bdSmrg ;; 138741b2f0bdSmrg -gnu/linux*) 138841b2f0bdSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 138941b2f0bdSmrg ;; 139041b2f0bdSmrg # First accept the basic system types. 139141b2f0bdSmrg # The portable systems comes first. 139241b2f0bdSmrg # Each alternative MUST END IN A *, to match a version number. 139341b2f0bdSmrg # -sysv* is not here because it comes later, after sysvr4. 139441b2f0bdSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 139511a29bacSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 139611a29bacSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13976b526288Smrg | -sym* | -kopensolaris* | -plan9* \ 139841b2f0bdSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13996b526288Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 140041b2f0bdSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 140141b2f0bdSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 140211245024Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 14036b526288Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 140411245024Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 140511245024Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 140641b2f0bdSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 140741b2f0bdSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 14086b526288Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 14096b526288Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 14106b526288Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 14116b526288Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 14126b526288Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 141341b2f0bdSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 141441b2f0bdSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 141541b2f0bdSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 141641b2f0bdSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 141741b2f0bdSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 141811245024Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 14196b526288Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 14206b526288Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) 142141b2f0bdSmrg # Remember, each alternative MUST END IN *, to match a version number. 142241b2f0bdSmrg ;; 142341b2f0bdSmrg -qnx*) 142441b2f0bdSmrg case $basic_machine in 142541b2f0bdSmrg x86-* | i*86-*) 142641b2f0bdSmrg ;; 142741b2f0bdSmrg *) 142841b2f0bdSmrg os=-nto$os 142941b2f0bdSmrg ;; 143041b2f0bdSmrg esac 143141b2f0bdSmrg ;; 143241b2f0bdSmrg -nto-qnx*) 143341b2f0bdSmrg ;; 143441b2f0bdSmrg -nto*) 143541b2f0bdSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 143641b2f0bdSmrg ;; 143741b2f0bdSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 143811245024Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 143941b2f0bdSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 144041b2f0bdSmrg ;; 144141b2f0bdSmrg -mac*) 144241b2f0bdSmrg os=`echo $os | sed -e 's|mac|macos|'` 144341b2f0bdSmrg ;; 144411245024Smrg -linux-dietlibc) 144511245024Smrg os=-linux-dietlibc 144611245024Smrg ;; 144741b2f0bdSmrg -linux*) 144841b2f0bdSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 144941b2f0bdSmrg ;; 145041b2f0bdSmrg -sunos5*) 145141b2f0bdSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 145241b2f0bdSmrg ;; 145341b2f0bdSmrg -sunos6*) 145441b2f0bdSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 145541b2f0bdSmrg ;; 145641b2f0bdSmrg -opened*) 145741b2f0bdSmrg os=-openedition 145841b2f0bdSmrg ;; 14596b526288Smrg -os400*) 146011245024Smrg os=-os400 146111245024Smrg ;; 146241b2f0bdSmrg -wince*) 146341b2f0bdSmrg os=-wince 146441b2f0bdSmrg ;; 146541b2f0bdSmrg -osfrose*) 146641b2f0bdSmrg os=-osfrose 146741b2f0bdSmrg ;; 146841b2f0bdSmrg -osf*) 146941b2f0bdSmrg os=-osf 147041b2f0bdSmrg ;; 147141b2f0bdSmrg -utek*) 147241b2f0bdSmrg os=-bsd 147341b2f0bdSmrg ;; 147441b2f0bdSmrg -dynix*) 147541b2f0bdSmrg os=-bsd 147641b2f0bdSmrg ;; 147741b2f0bdSmrg -acis*) 147841b2f0bdSmrg os=-aos 147941b2f0bdSmrg ;; 148041b2f0bdSmrg -atheos*) 148141b2f0bdSmrg os=-atheos 148241b2f0bdSmrg ;; 148311245024Smrg -syllable*) 148411245024Smrg os=-syllable 148511245024Smrg ;; 148641b2f0bdSmrg -386bsd) 148741b2f0bdSmrg os=-bsd 148841b2f0bdSmrg ;; 148941b2f0bdSmrg -ctix* | -uts*) 149041b2f0bdSmrg os=-sysv 149141b2f0bdSmrg ;; 149241b2f0bdSmrg -nova*) 149341b2f0bdSmrg os=-rtmk-nova 149441b2f0bdSmrg ;; 149541b2f0bdSmrg -ns2 ) 149641b2f0bdSmrg os=-nextstep2 149741b2f0bdSmrg ;; 149841b2f0bdSmrg -nsk*) 149941b2f0bdSmrg os=-nsk 150041b2f0bdSmrg ;; 150141b2f0bdSmrg # Preserve the version number of sinix5. 150241b2f0bdSmrg -sinix5.*) 150341b2f0bdSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 150441b2f0bdSmrg ;; 150541b2f0bdSmrg -sinix*) 150641b2f0bdSmrg os=-sysv4 150741b2f0bdSmrg ;; 15086b526288Smrg -tpf*) 150911245024Smrg os=-tpf 151011245024Smrg ;; 151141b2f0bdSmrg -triton*) 151241b2f0bdSmrg os=-sysv3 151341b2f0bdSmrg ;; 151441b2f0bdSmrg -oss*) 151541b2f0bdSmrg os=-sysv3 151641b2f0bdSmrg ;; 151741b2f0bdSmrg -svr4) 151841b2f0bdSmrg os=-sysv4 151941b2f0bdSmrg ;; 152041b2f0bdSmrg -svr3) 152141b2f0bdSmrg os=-sysv3 152241b2f0bdSmrg ;; 152341b2f0bdSmrg -sysvr4) 152441b2f0bdSmrg os=-sysv4 152541b2f0bdSmrg ;; 152641b2f0bdSmrg # This must come after -sysvr4. 152741b2f0bdSmrg -sysv*) 152841b2f0bdSmrg ;; 152941b2f0bdSmrg -ose*) 153041b2f0bdSmrg os=-ose 153141b2f0bdSmrg ;; 153241b2f0bdSmrg -es1800*) 153341b2f0bdSmrg os=-ose 153441b2f0bdSmrg ;; 153541b2f0bdSmrg -xenix) 153641b2f0bdSmrg os=-xenix 153741b2f0bdSmrg ;; 153841b2f0bdSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 153941b2f0bdSmrg os=-mint 154041b2f0bdSmrg ;; 154141b2f0bdSmrg -aros*) 154241b2f0bdSmrg os=-aros 154341b2f0bdSmrg ;; 154411245024Smrg -zvmoe) 154511245024Smrg os=-zvmoe 154611245024Smrg ;; 154711a29bacSmrg -dicos*) 154811a29bacSmrg os=-dicos 154911a29bacSmrg ;; 15506b526288Smrg -nacl*) 15516b526288Smrg ;; 15526b526288Smrg -ios) 15536b526288Smrg ;; 155441b2f0bdSmrg -none) 155541b2f0bdSmrg ;; 155641b2f0bdSmrg *) 155741b2f0bdSmrg # Get rid of the `-' at the beginning of $os. 155841b2f0bdSmrg os=`echo $os | sed 's/[^-]*-//'` 155941b2f0bdSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 156041b2f0bdSmrg exit 1 156141b2f0bdSmrg ;; 156241b2f0bdSmrgesac 156341b2f0bdSmrgelse 156441b2f0bdSmrg 156541b2f0bdSmrg# Here we handle the default operating systems that come with various machines. 156641b2f0bdSmrg# The value should be what the vendor currently ships out the door with their 156741b2f0bdSmrg# machine or put another way, the most popular os provided with the machine. 156841b2f0bdSmrg 156941b2f0bdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 157041b2f0bdSmrg# "-sun"), then you have to tell the case statement up towards the top 157141b2f0bdSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 157241b2f0bdSmrg# will signal an error saying that MANUFACTURER isn't an operating 157341b2f0bdSmrg# system, and we'll never get to this point. 157441b2f0bdSmrg 157541b2f0bdSmrgcase $basic_machine in 15766b526288Smrg score-*) 157711245024Smrg os=-elf 157811245024Smrg ;; 15796b526288Smrg spu-*) 158011245024Smrg os=-elf 158111245024Smrg ;; 158241b2f0bdSmrg *-acorn) 158341b2f0bdSmrg os=-riscix1.2 158441b2f0bdSmrg ;; 158541b2f0bdSmrg arm*-rebel) 158641b2f0bdSmrg os=-linux 158741b2f0bdSmrg ;; 158841b2f0bdSmrg arm*-semi) 158941b2f0bdSmrg os=-aout 159041b2f0bdSmrg ;; 15916b526288Smrg c4x-* | tic4x-*) 15926b526288Smrg os=-coff 15936b526288Smrg ;; 15946b526288Smrg c8051-*) 15956b526288Smrg os=-elf 15966b526288Smrg ;; 15976b526288Smrg hexagon-*) 15986b526288Smrg os=-elf 159941b2f0bdSmrg ;; 160011a29bacSmrg tic54x-*) 160111a29bacSmrg os=-coff 160211a29bacSmrg ;; 160311a29bacSmrg tic55x-*) 160411a29bacSmrg os=-coff 160511a29bacSmrg ;; 160611a29bacSmrg tic6x-*) 160711a29bacSmrg os=-coff 160811a29bacSmrg ;; 160941b2f0bdSmrg # This must come before the *-dec entry. 161041b2f0bdSmrg pdp10-*) 161141b2f0bdSmrg os=-tops20 161241b2f0bdSmrg ;; 161341b2f0bdSmrg pdp11-*) 161441b2f0bdSmrg os=-none 161541b2f0bdSmrg ;; 161641b2f0bdSmrg *-dec | vax-*) 161741b2f0bdSmrg os=-ultrix4.2 161841b2f0bdSmrg ;; 161941b2f0bdSmrg m68*-apollo) 162041b2f0bdSmrg os=-domain 162141b2f0bdSmrg ;; 162241b2f0bdSmrg i386-sun) 162341b2f0bdSmrg os=-sunos4.0.2 162441b2f0bdSmrg ;; 162541b2f0bdSmrg m68000-sun) 162641b2f0bdSmrg os=-sunos3 162741b2f0bdSmrg ;; 162841b2f0bdSmrg m68*-cisco) 162941b2f0bdSmrg os=-aout 163041b2f0bdSmrg ;; 16316b526288Smrg mep-*) 163211245024Smrg os=-elf 163311245024Smrg ;; 163441b2f0bdSmrg mips*-cisco) 163541b2f0bdSmrg os=-elf 163641b2f0bdSmrg ;; 163741b2f0bdSmrg mips*-*) 163841b2f0bdSmrg os=-elf 163941b2f0bdSmrg ;; 164041b2f0bdSmrg or32-*) 164141b2f0bdSmrg os=-coff 164241b2f0bdSmrg ;; 164341b2f0bdSmrg *-tti) # must be before sparc entry or we get the wrong os. 164441b2f0bdSmrg os=-sysv3 164541b2f0bdSmrg ;; 164641b2f0bdSmrg sparc-* | *-sun) 164741b2f0bdSmrg os=-sunos4.1.1 164841b2f0bdSmrg ;; 16496b526288Smrg pru-*) 16506b526288Smrg os=-elf 16516b526288Smrg ;; 165241b2f0bdSmrg *-be) 165341b2f0bdSmrg os=-beos 165441b2f0bdSmrg ;; 165511245024Smrg *-haiku) 165611245024Smrg os=-haiku 165711245024Smrg ;; 165841b2f0bdSmrg *-ibm) 165941b2f0bdSmrg os=-aix 166041b2f0bdSmrg ;; 16616b526288Smrg *-knuth) 166211245024Smrg os=-mmixware 166311245024Smrg ;; 166441b2f0bdSmrg *-wec) 166541b2f0bdSmrg os=-proelf 166641b2f0bdSmrg ;; 166741b2f0bdSmrg *-winbond) 166841b2f0bdSmrg os=-proelf 166941b2f0bdSmrg ;; 167041b2f0bdSmrg *-oki) 167141b2f0bdSmrg os=-proelf 167241b2f0bdSmrg ;; 167341b2f0bdSmrg *-hp) 167441b2f0bdSmrg os=-hpux 167541b2f0bdSmrg ;; 167641b2f0bdSmrg *-hitachi) 167741b2f0bdSmrg os=-hiux 167841b2f0bdSmrg ;; 167941b2f0bdSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 168041b2f0bdSmrg os=-sysv 168141b2f0bdSmrg ;; 168241b2f0bdSmrg *-cbm) 168341b2f0bdSmrg os=-amigaos 168441b2f0bdSmrg ;; 168541b2f0bdSmrg *-dg) 168641b2f0bdSmrg os=-dgux 168741b2f0bdSmrg ;; 168841b2f0bdSmrg *-dolphin) 168941b2f0bdSmrg os=-sysv3 169041b2f0bdSmrg ;; 169141b2f0bdSmrg m68k-ccur) 169241b2f0bdSmrg os=-rtu 169341b2f0bdSmrg ;; 169441b2f0bdSmrg m88k-omron*) 169541b2f0bdSmrg os=-luna 169641b2f0bdSmrg ;; 169741b2f0bdSmrg *-next ) 169841b2f0bdSmrg os=-nextstep 169941b2f0bdSmrg ;; 170041b2f0bdSmrg *-sequent) 170141b2f0bdSmrg os=-ptx 170241b2f0bdSmrg ;; 170341b2f0bdSmrg *-crds) 170441b2f0bdSmrg os=-unos 170541b2f0bdSmrg ;; 170641b2f0bdSmrg *-ns) 170741b2f0bdSmrg os=-genix 170841b2f0bdSmrg ;; 170941b2f0bdSmrg i370-*) 171041b2f0bdSmrg os=-mvs 171141b2f0bdSmrg ;; 171241b2f0bdSmrg *-next) 171341b2f0bdSmrg os=-nextstep3 171441b2f0bdSmrg ;; 171541b2f0bdSmrg *-gould) 171641b2f0bdSmrg os=-sysv 171741b2f0bdSmrg ;; 171841b2f0bdSmrg *-highlevel) 171941b2f0bdSmrg os=-bsd 172041b2f0bdSmrg ;; 172141b2f0bdSmrg *-encore) 172241b2f0bdSmrg os=-bsd 172341b2f0bdSmrg ;; 172441b2f0bdSmrg *-sgi) 172541b2f0bdSmrg os=-irix 172641b2f0bdSmrg ;; 172741b2f0bdSmrg *-siemens) 172841b2f0bdSmrg os=-sysv4 172941b2f0bdSmrg ;; 173041b2f0bdSmrg *-masscomp) 173141b2f0bdSmrg os=-rtu 173241b2f0bdSmrg ;; 173341b2f0bdSmrg f30[01]-fujitsu | f700-fujitsu) 173441b2f0bdSmrg os=-uxpv 173541b2f0bdSmrg ;; 173641b2f0bdSmrg *-rom68k) 173741b2f0bdSmrg os=-coff 173841b2f0bdSmrg ;; 173941b2f0bdSmrg *-*bug) 174041b2f0bdSmrg os=-coff 174141b2f0bdSmrg ;; 174241b2f0bdSmrg *-apple) 174341b2f0bdSmrg os=-macos 174441b2f0bdSmrg ;; 174541b2f0bdSmrg *-atari*) 174641b2f0bdSmrg os=-mint 174741b2f0bdSmrg ;; 174841b2f0bdSmrg *) 174941b2f0bdSmrg os=-none 175041b2f0bdSmrg ;; 175141b2f0bdSmrgesac 175241b2f0bdSmrgfi 175341b2f0bdSmrg 175441b2f0bdSmrg# Here we handle the case where we know the os, and the CPU type, but not the 175541b2f0bdSmrg# manufacturer. We pick the logical manufacturer. 175641b2f0bdSmrgvendor=unknown 175741b2f0bdSmrgcase $basic_machine in 175841b2f0bdSmrg *-unknown) 175941b2f0bdSmrg case $os in 176041b2f0bdSmrg -riscix*) 176141b2f0bdSmrg vendor=acorn 176241b2f0bdSmrg ;; 176341b2f0bdSmrg -sunos*) 176441b2f0bdSmrg vendor=sun 176541b2f0bdSmrg ;; 176611a29bacSmrg -cnk*|-aix*) 176741b2f0bdSmrg vendor=ibm 176841b2f0bdSmrg ;; 176941b2f0bdSmrg -beos*) 177041b2f0bdSmrg vendor=be 177141b2f0bdSmrg ;; 177241b2f0bdSmrg -hpux*) 177341b2f0bdSmrg vendor=hp 177441b2f0bdSmrg ;; 177541b2f0bdSmrg -mpeix*) 177641b2f0bdSmrg vendor=hp 177741b2f0bdSmrg ;; 177841b2f0bdSmrg -hiux*) 177941b2f0bdSmrg vendor=hitachi 178041b2f0bdSmrg ;; 178141b2f0bdSmrg -unos*) 178241b2f0bdSmrg vendor=crds 178341b2f0bdSmrg ;; 178441b2f0bdSmrg -dgux*) 178541b2f0bdSmrg vendor=dg 178641b2f0bdSmrg ;; 178741b2f0bdSmrg -luna*) 178841b2f0bdSmrg vendor=omron 178941b2f0bdSmrg ;; 179041b2f0bdSmrg -genix*) 179141b2f0bdSmrg vendor=ns 179241b2f0bdSmrg ;; 179341b2f0bdSmrg -mvs* | -opened*) 179441b2f0bdSmrg vendor=ibm 179541b2f0bdSmrg ;; 179611245024Smrg -os400*) 179711245024Smrg vendor=ibm 179811245024Smrg ;; 179941b2f0bdSmrg -ptx*) 180041b2f0bdSmrg vendor=sequent 180141b2f0bdSmrg ;; 180211245024Smrg -tpf*) 180311245024Smrg vendor=ibm 180411245024Smrg ;; 180541b2f0bdSmrg -vxsim* | -vxworks* | -windiss*) 180641b2f0bdSmrg vendor=wrs 180741b2f0bdSmrg ;; 180841b2f0bdSmrg -aux*) 180941b2f0bdSmrg vendor=apple 181041b2f0bdSmrg ;; 181141b2f0bdSmrg -hms*) 181241b2f0bdSmrg vendor=hitachi 181341b2f0bdSmrg ;; 181441b2f0bdSmrg -mpw* | -macos*) 181541b2f0bdSmrg vendor=apple 181641b2f0bdSmrg ;; 181741b2f0bdSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 181841b2f0bdSmrg vendor=atari 181941b2f0bdSmrg ;; 182041b2f0bdSmrg -vos*) 182141b2f0bdSmrg vendor=stratus 182241b2f0bdSmrg ;; 182341b2f0bdSmrg esac 182441b2f0bdSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 182541b2f0bdSmrg ;; 182641b2f0bdSmrgesac 182741b2f0bdSmrg 182841b2f0bdSmrgecho $basic_machine$os 182911245024Smrgexit 183041b2f0bdSmrg 183141b2f0bdSmrg# Local variables: 183241b2f0bdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 183341b2f0bdSmrg# time-stamp-start: "timestamp='" 183441b2f0bdSmrg# time-stamp-format: "%:y-%02m-%02d" 183541b2f0bdSmrg# time-stamp-end: "'" 183641b2f0bdSmrg# End: 1837