117a48c7cSmrg#! /bin/sh 217a48c7cSmrg# Configuration validation subroutine script. 336e956c5Smrg# Copyright 1992-2015 Free Software Foundation, Inc. 417a48c7cSmrg 536e956c5Smrgtimestamp='2015-08-20' 617a48c7cSmrg 736e956c5Smrg# This file is free software; you can redistribute it and/or modify it 836e956c5Smrg# under the terms of the GNU General Public License as published by 936e956c5Smrg# the Free Software Foundation; either version 3 of the License, or 1017a48c7cSmrg# (at your option) any later version. 1117a48c7cSmrg# 1236e956c5Smrg# This program is distributed in the hope that it will be useful, but 1336e956c5Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1436e956c5Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1536e956c5Smrg# General Public License for more details. 1617a48c7cSmrg# 1717a48c7cSmrg# You should have received a copy of the GNU General Public License 1836e956c5Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 198e0ed500Smrg# 2017a48c7cSmrg# As a special exception to the GNU General Public License, if you 2117a48c7cSmrg# distribute this file as part of a program that contains a 2217a48c7cSmrg# configuration script generated by Autoconf, you may include it under 2336e956c5Smrg# the same distribution terms that you use for the rest of that 2436e956c5Smrg# program. This Exception is an additional permission under section 7 2536e956c5Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2617a48c7cSmrg 278e0ed500Smrg 2836e956c5Smrg# Please send patches to <config-patches@gnu.org>. 2917a48c7cSmrg# 3017a48c7cSmrg# Configuration subroutine to validate and canonicalize a configuration type. 3117a48c7cSmrg# Supply the specified configuration type as an argument. 3217a48c7cSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 3317a48c7cSmrg# Otherwise, we print the canonical config type on stdout and succeed. 3417a48c7cSmrg 355f5b92ffSmrg# You can get the latest version of this script from: 365f5b92ffSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 375f5b92ffSmrg 3817a48c7cSmrg# This file is supposed to be the same for all GNU packages 3917a48c7cSmrg# and recognize all the CPU types, system types and aliases 4017a48c7cSmrg# that are meaningful with *any* GNU software. 4117a48c7cSmrg# Each package is responsible for reporting which valid configurations 4217a48c7cSmrg# it does not support. The user should be able to distinguish 4317a48c7cSmrg# a failure to support a valid configuration from a meaningless 4417a48c7cSmrg# configuration. 4517a48c7cSmrg 4617a48c7cSmrg# The goal of this file is to map all the various variations of a given 4717a48c7cSmrg# machine specification into a single specification in the form: 4817a48c7cSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4917a48c7cSmrg# or in some cases, the newer four-part form: 5017a48c7cSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5117a48c7cSmrg# It is wrong to echo any other type of specification. 5217a48c7cSmrg 5317a48c7cSmrgme=`echo "$0" | sed -e 's,.*/,,'` 5417a48c7cSmrg 5517a48c7cSmrgusage="\ 5617a48c7cSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 5717a48c7cSmrg $0 [OPTION] ALIAS 5817a48c7cSmrg 5917a48c7cSmrgCanonicalize a configuration name. 6017a48c7cSmrg 6117a48c7cSmrgOperation modes: 6217a48c7cSmrg -h, --help print this help, then exit 6317a48c7cSmrg -t, --time-stamp print date of last modification, then exit 6417a48c7cSmrg -v, --version print version number, then exit 6517a48c7cSmrg 6617a48c7cSmrgReport bugs and patches to <config-patches@gnu.org>." 6717a48c7cSmrg 6817a48c7cSmrgversion="\ 6917a48c7cSmrgGNU config.sub ($timestamp) 7017a48c7cSmrg 7136e956c5SmrgCopyright 1992-2015 Free Software Foundation, Inc. 7217a48c7cSmrg 7317a48c7cSmrgThis is free software; see the source for copying conditions. There is NO 7417a48c7cSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7517a48c7cSmrg 7617a48c7cSmrghelp=" 7717a48c7cSmrgTry \`$me --help' for more information." 7817a48c7cSmrg 7917a48c7cSmrg# Parse command line 8017a48c7cSmrgwhile test $# -gt 0 ; do 8117a48c7cSmrg case $1 in 8217a48c7cSmrg --time-stamp | --time* | -t ) 838e0ed500Smrg echo "$timestamp" ; exit ;; 8417a48c7cSmrg --version | -v ) 858e0ed500Smrg echo "$version" ; exit ;; 8617a48c7cSmrg --help | --h* | -h ) 878e0ed500Smrg echo "$usage"; exit ;; 8817a48c7cSmrg -- ) # Stop option processing 8917a48c7cSmrg shift; break ;; 9017a48c7cSmrg - ) # Use stdin as input. 9117a48c7cSmrg break ;; 9217a48c7cSmrg -* ) 9317a48c7cSmrg echo "$me: invalid option $1$help" 9417a48c7cSmrg exit 1 ;; 9517a48c7cSmrg 9617a48c7cSmrg *local*) 9717a48c7cSmrg # First pass through any local machine types. 9817a48c7cSmrg echo $1 998e0ed500Smrg exit ;; 10017a48c7cSmrg 10117a48c7cSmrg * ) 10217a48c7cSmrg break ;; 10317a48c7cSmrg esac 10417a48c7cSmrgdone 10517a48c7cSmrg 10617a48c7cSmrgcase $# in 10717a48c7cSmrg 0) echo "$me: missing argument$help" >&2 10817a48c7cSmrg exit 1;; 10917a48c7cSmrg 1) ;; 11017a48c7cSmrg *) echo "$me: too many arguments$help" >&2 11117a48c7cSmrg exit 1;; 11217a48c7cSmrgesac 11317a48c7cSmrg 11417a48c7cSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11517a48c7cSmrg# Here we must recognize all the valid KERNEL-OS combinations. 11617a48c7cSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11717a48c7cSmrgcase $maybe_os in 1180dd80ee0Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11936e956c5Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 12036e956c5Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1215f5b92ffSmrg kopensolaris*-gnu* | \ 1228e0ed500Smrg storm-chaos* | os2-emx* | rtmk-nova*) 12317a48c7cSmrg os=-$maybe_os 12417a48c7cSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12517a48c7cSmrg ;; 12636e956c5Smrg android-linux) 12736e956c5Smrg os=-linux-android 12836e956c5Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12936e956c5Smrg ;; 13017a48c7cSmrg *) 13117a48c7cSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 13217a48c7cSmrg if [ $basic_machine != $1 ] 13317a48c7cSmrg then os=`echo $1 | sed 's/.*-/-/'` 13417a48c7cSmrg else os=; fi 13517a48c7cSmrg ;; 13617a48c7cSmrgesac 13717a48c7cSmrg 13817a48c7cSmrg### Let's recognize common machines as not being operating systems so 13917a48c7cSmrg### that things like config.sub decstation-3100 work. We also 14017a48c7cSmrg### recognize some manufacturers as not being operating systems, so we 14117a48c7cSmrg### can provide default operating systems below. 14217a48c7cSmrgcase $os in 14317a48c7cSmrg -sun*os*) 14417a48c7cSmrg # Prevent following clause from handling this invalid input. 14517a48c7cSmrg ;; 14617a48c7cSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14717a48c7cSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14817a48c7cSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14917a48c7cSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 15017a48c7cSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 15117a48c7cSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15236e956c5Smrg -apple | -axis | -knuth | -cray | -microblaze*) 15317a48c7cSmrg os= 15417a48c7cSmrg basic_machine=$1 15517a48c7cSmrg ;; 1560dd80ee0Smrg -bluegene*) 1570dd80ee0Smrg os=-cnk 1585f5b92ffSmrg ;; 15917a48c7cSmrg -sim | -cisco | -oki | -wec | -winbond) 16017a48c7cSmrg os= 16117a48c7cSmrg basic_machine=$1 16217a48c7cSmrg ;; 16317a48c7cSmrg -scout) 16417a48c7cSmrg ;; 16517a48c7cSmrg -wrs) 16617a48c7cSmrg os=-vxworks 16717a48c7cSmrg basic_machine=$1 16817a48c7cSmrg ;; 16917a48c7cSmrg -chorusos*) 17017a48c7cSmrg os=-chorusos 17117a48c7cSmrg basic_machine=$1 17217a48c7cSmrg ;; 1730dd80ee0Smrg -chorusrdb) 1740dd80ee0Smrg os=-chorusrdb 17517a48c7cSmrg basic_machine=$1 1760dd80ee0Smrg ;; 17717a48c7cSmrg -hiux*) 17817a48c7cSmrg os=-hiuxwe2 17917a48c7cSmrg ;; 1808e0ed500Smrg -sco6) 1818e0ed500Smrg os=-sco5v6 1828e0ed500Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1838e0ed500Smrg ;; 18417a48c7cSmrg -sco5) 18517a48c7cSmrg os=-sco3.2v5 18617a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18717a48c7cSmrg ;; 18817a48c7cSmrg -sco4) 18917a48c7cSmrg os=-sco3.2v4 19017a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19117a48c7cSmrg ;; 19217a48c7cSmrg -sco3.2.[4-9]*) 19317a48c7cSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19417a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19517a48c7cSmrg ;; 19617a48c7cSmrg -sco3.2v[4-9]*) 19717a48c7cSmrg # Don't forget version if it is 3.2v4 or newer. 19817a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19917a48c7cSmrg ;; 2008e0ed500Smrg -sco5v6*) 2018e0ed500Smrg # Don't forget version if it is 3.2v4 or newer. 2028e0ed500Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2038e0ed500Smrg ;; 20417a48c7cSmrg -sco*) 20517a48c7cSmrg os=-sco3.2v2 20617a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20717a48c7cSmrg ;; 20817a48c7cSmrg -udk*) 20917a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21017a48c7cSmrg ;; 21117a48c7cSmrg -isc) 21217a48c7cSmrg os=-isc2.2 21317a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21417a48c7cSmrg ;; 21517a48c7cSmrg -clix*) 21617a48c7cSmrg basic_machine=clipper-intergraph 21717a48c7cSmrg ;; 21817a48c7cSmrg -isc*) 21917a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 22017a48c7cSmrg ;; 22136e956c5Smrg -lynx*178) 22236e956c5Smrg os=-lynxos178 22336e956c5Smrg ;; 22436e956c5Smrg -lynx*5) 22536e956c5Smrg os=-lynxos5 22636e956c5Smrg ;; 22717a48c7cSmrg -lynx*) 22817a48c7cSmrg os=-lynxos 22917a48c7cSmrg ;; 23017a48c7cSmrg -ptx*) 23117a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 23217a48c7cSmrg ;; 23317a48c7cSmrg -windowsnt*) 23417a48c7cSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 23517a48c7cSmrg ;; 23617a48c7cSmrg -psos*) 23717a48c7cSmrg os=-psos 23817a48c7cSmrg ;; 23917a48c7cSmrg -mint | -mint[0-9]*) 24017a48c7cSmrg basic_machine=m68k-atari 24117a48c7cSmrg os=-mint 24217a48c7cSmrg ;; 24317a48c7cSmrgesac 24417a48c7cSmrg 24517a48c7cSmrg# Decode aliases for certain CPU-COMPANY combinations. 24617a48c7cSmrgcase $basic_machine in 24717a48c7cSmrg # Recognize the basic CPU types without company name. 24817a48c7cSmrg # Some are omitted here because they have special meanings below. 24917a48c7cSmrg 1750a | 580 \ 25017a48c7cSmrg | a29k \ 25136e956c5Smrg | aarch64 | aarch64_be \ 25217a48c7cSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 25317a48c7cSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2548e0ed500Smrg | am33_2.0 \ 25536e956c5Smrg | arc | arceb \ 25636e956c5Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25736e956c5Smrg | avr | avr32 \ 25836e956c5Smrg | ba \ 25936e956c5Smrg | be32 | be64 \ 2608e0ed500Smrg | bfin \ 26136e956c5Smrg | c4x | c8051 | clipper \ 26217a48c7cSmrg | d10v | d30v | dlx | dsp16xx \ 26336e956c5Smrg | e2k | epiphany \ 26436e956c5Smrg | fido | fr30 | frv | ft32 \ 26517a48c7cSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2660dd80ee0Smrg | hexagon \ 26717a48c7cSmrg | i370 | i860 | i960 | ia64 \ 2688e0ed500Smrg | ip2k | iq2000 \ 26936e956c5Smrg | k1om \ 2700dd80ee0Smrg | le32 | le64 \ 2715f5b92ffSmrg | lm32 \ 2728e0ed500Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27336e956c5Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27417a48c7cSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27517a48c7cSmrg | mips16 \ 27617a48c7cSmrg | mips64 | mips64el \ 2775f5b92ffSmrg | mips64octeon | mips64octeonel \ 27817a48c7cSmrg | mips64orion | mips64orionel \ 2795f5b92ffSmrg | mips64r5900 | mips64r5900el \ 2805f5b92ffSmrg | mips64vr | mips64vrel \ 28117a48c7cSmrg | mips64vr4100 | mips64vr4100el \ 28217a48c7cSmrg | mips64vr4300 | mips64vr4300el \ 28317a48c7cSmrg | mips64vr5000 | mips64vr5000el \ 2848e0ed500Smrg | mips64vr5900 | mips64vr5900el \ 28517a48c7cSmrg | mipsisa32 | mipsisa32el \ 28617a48c7cSmrg | mipsisa32r2 | mipsisa32r2el \ 28736e956c5Smrg | mipsisa32r6 | mipsisa32r6el \ 28817a48c7cSmrg | mipsisa64 | mipsisa64el \ 2898e0ed500Smrg | mipsisa64r2 | mipsisa64r2el \ 29036e956c5Smrg | mipsisa64r6 | mipsisa64r6el \ 29117a48c7cSmrg | mipsisa64sb1 | mipsisa64sb1el \ 29217a48c7cSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 29336e956c5Smrg | mipsr5900 | mipsr5900el \ 29417a48c7cSmrg | mipstx39 | mipstx39el \ 29517a48c7cSmrg | mn10200 | mn10300 \ 2965f5b92ffSmrg | moxie \ 2978e0ed500Smrg | mt \ 29817a48c7cSmrg | msp430 \ 2990dd80ee0Smrg | nds32 | nds32le | nds32be \ 30036e956c5Smrg | nios | nios2 | nios2eb | nios2el \ 30117a48c7cSmrg | ns16k | ns32k \ 30236e956c5Smrg | open8 | or1k | or1knd | or32 \ 30317a48c7cSmrg | pdp10 | pdp11 | pj | pjl \ 3040dd80ee0Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30517a48c7cSmrg | pyramid \ 30636e956c5Smrg | riscv32 | riscv64 \ 3070dd80ee0Smrg | rl78 | rx \ 3088e0ed500Smrg | score \ 30936e956c5Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 31017a48c7cSmrg | sh64 | sh64le \ 3118e0ed500Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3128e0ed500Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3130dd80ee0Smrg | spu \ 3140dd80ee0Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3155f5b92ffSmrg | ubicom32 \ 3160dd80ee0Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31736e956c5Smrg | visium \ 31817a48c7cSmrg | we32k \ 3190dd80ee0Smrg | x86 | xc16x | xstormy16 | xtensa \ 3205f5b92ffSmrg | z8k | z80) 32117a48c7cSmrg basic_machine=$basic_machine-unknown 32217a48c7cSmrg ;; 3230dd80ee0Smrg c54x) 3240dd80ee0Smrg basic_machine=tic54x-unknown 3250dd80ee0Smrg ;; 3260dd80ee0Smrg c55x) 3270dd80ee0Smrg basic_machine=tic55x-unknown 3280dd80ee0Smrg ;; 3290dd80ee0Smrg c6x) 3300dd80ee0Smrg basic_machine=tic6x-unknown 3310dd80ee0Smrg ;; 33236e956c5Smrg leon|leon[3-9]) 33336e956c5Smrg basic_machine=sparc-$basic_machine 33436e956c5Smrg ;; 33536e956c5Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33617a48c7cSmrg basic_machine=$basic_machine-unknown 33717a48c7cSmrg os=-none 33817a48c7cSmrg ;; 33917a48c7cSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 34017a48c7cSmrg ;; 3418e0ed500Smrg ms1) 3428e0ed500Smrg basic_machine=mt-unknown 3438e0ed500Smrg ;; 34417a48c7cSmrg 3450dd80ee0Smrg strongarm | thumb | xscale) 3460dd80ee0Smrg basic_machine=arm-unknown 3470dd80ee0Smrg ;; 34836e956c5Smrg xgate) 34936e956c5Smrg basic_machine=$basic_machine-unknown 35036e956c5Smrg os=-none 35136e956c5Smrg ;; 3520dd80ee0Smrg xscaleeb) 3530dd80ee0Smrg basic_machine=armeb-unknown 3540dd80ee0Smrg ;; 3550dd80ee0Smrg 3560dd80ee0Smrg xscaleel) 3570dd80ee0Smrg basic_machine=armel-unknown 3580dd80ee0Smrg ;; 3590dd80ee0Smrg 36017a48c7cSmrg # We use `pc' rather than `unknown' 36117a48c7cSmrg # because (1) that's what they normally are, and 36217a48c7cSmrg # (2) the word "unknown" tends to confuse beginning users. 36317a48c7cSmrg i*86 | x86_64) 36417a48c7cSmrg basic_machine=$basic_machine-pc 36517a48c7cSmrg ;; 36617a48c7cSmrg # Object if more than one company name word. 36717a48c7cSmrg *-*-*) 36817a48c7cSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 36917a48c7cSmrg exit 1 37017a48c7cSmrg ;; 37117a48c7cSmrg # Recognize the basic CPU types with company name. 37217a48c7cSmrg 580-* \ 37317a48c7cSmrg | a29k-* \ 37436e956c5Smrg | aarch64-* | aarch64_be-* \ 37517a48c7cSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37617a48c7cSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37736e956c5Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37817a48c7cSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3798e0ed500Smrg | avr-* | avr32-* \ 38036e956c5Smrg | ba-* \ 3810dd80ee0Smrg | be32-* | be64-* \ 3828e0ed500Smrg | bfin-* | bs2000-* \ 3830dd80ee0Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38436e956c5Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 38517a48c7cSmrg | d10v-* | d30v-* | dlx-* \ 38636e956c5Smrg | e2k-* | elxsi-* \ 387fbed5abfSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38817a48c7cSmrg | h8300-* | h8500-* \ 38917a48c7cSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3900dd80ee0Smrg | hexagon-* \ 39117a48c7cSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3928e0ed500Smrg | ip2k-* | iq2000-* \ 39336e956c5Smrg | k1om-* \ 3940dd80ee0Smrg | le32-* | le64-* \ 3955f5b92ffSmrg | lm32-* \ 3968e0ed500Smrg | m32c-* | m32r-* | m32rle-* \ 39717a48c7cSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39836e956c5Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39936e956c5Smrg | microblaze-* | microblazeel-* \ 40017a48c7cSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 40117a48c7cSmrg | mips16-* \ 40217a48c7cSmrg | mips64-* | mips64el-* \ 4035f5b92ffSmrg | mips64octeon-* | mips64octeonel-* \ 40417a48c7cSmrg | mips64orion-* | mips64orionel-* \ 4055f5b92ffSmrg | mips64r5900-* | mips64r5900el-* \ 4065f5b92ffSmrg | mips64vr-* | mips64vrel-* \ 40717a48c7cSmrg | mips64vr4100-* | mips64vr4100el-* \ 40817a48c7cSmrg | mips64vr4300-* | mips64vr4300el-* \ 40917a48c7cSmrg | mips64vr5000-* | mips64vr5000el-* \ 4108e0ed500Smrg | mips64vr5900-* | mips64vr5900el-* \ 41117a48c7cSmrg | mipsisa32-* | mipsisa32el-* \ 41217a48c7cSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 41336e956c5Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41417a48c7cSmrg | mipsisa64-* | mipsisa64el-* \ 4158e0ed500Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41636e956c5Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41717a48c7cSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41817a48c7cSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41936e956c5Smrg | mipsr5900-* | mipsr5900el-* \ 42017a48c7cSmrg | mipstx39-* | mipstx39el-* \ 4218e0ed500Smrg | mmix-* \ 4228e0ed500Smrg | mt-* \ 42317a48c7cSmrg | msp430-* \ 4240dd80ee0Smrg | nds32-* | nds32le-* | nds32be-* \ 42536e956c5Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4268e0ed500Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 4270dd80ee0Smrg | open8-* \ 42836e956c5Smrg | or1k*-* \ 42917a48c7cSmrg | orion-* \ 43017a48c7cSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4310dd80ee0Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 43217a48c7cSmrg | pyramid-* \ 43336e956c5Smrg | riscv32-* | riscv64-* \ 4340dd80ee0Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4355f5b92ffSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43617a48c7cSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4378e0ed500Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4388e0ed500Smrg | sparclite-* \ 43936e956c5Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4400dd80ee0Smrg | tahoe-* \ 4410dd80ee0Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4420dd80ee0Smrg | tile*-* \ 44317a48c7cSmrg | tron-* \ 4445f5b92ffSmrg | ubicom32-* \ 4450dd80ee0Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4460dd80ee0Smrg | vax-* \ 44736e956c5Smrg | visium-* \ 44817a48c7cSmrg | we32k-* \ 4490dd80ee0Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 450fbed5abfSmrg | xstormy16-* | xtensa*-* \ 45117a48c7cSmrg | ymp-* \ 4525f5b92ffSmrg | z8k-* | z80-*) 45317a48c7cSmrg ;; 454fbed5abfSmrg # Recognize the basic CPU types without company name, with glob match. 455fbed5abfSmrg xtensa*) 456fbed5abfSmrg basic_machine=$basic_machine-unknown 457fbed5abfSmrg ;; 45817a48c7cSmrg # Recognize the various machine names and aliases which stand 45917a48c7cSmrg # for a CPU type and a company and sometimes even an OS. 46017a48c7cSmrg 386bsd) 46117a48c7cSmrg basic_machine=i386-unknown 46217a48c7cSmrg os=-bsd 46317a48c7cSmrg ;; 46417a48c7cSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46517a48c7cSmrg basic_machine=m68000-att 46617a48c7cSmrg ;; 46717a48c7cSmrg 3b*) 46817a48c7cSmrg basic_machine=we32k-att 46917a48c7cSmrg ;; 47017a48c7cSmrg a29khif) 47117a48c7cSmrg basic_machine=a29k-amd 47217a48c7cSmrg os=-udi 47317a48c7cSmrg ;; 4740dd80ee0Smrg abacus) 4758e0ed500Smrg basic_machine=abacus-unknown 4768e0ed500Smrg ;; 47717a48c7cSmrg adobe68k) 47817a48c7cSmrg basic_machine=m68010-adobe 47917a48c7cSmrg os=-scout 48017a48c7cSmrg ;; 48117a48c7cSmrg alliant | fx80) 48217a48c7cSmrg basic_machine=fx80-alliant 48317a48c7cSmrg ;; 48417a48c7cSmrg altos | altos3068) 48517a48c7cSmrg basic_machine=m68k-altos 48617a48c7cSmrg ;; 48717a48c7cSmrg am29k) 48817a48c7cSmrg basic_machine=a29k-none 48917a48c7cSmrg os=-bsd 49017a48c7cSmrg ;; 49117a48c7cSmrg amd64) 49217a48c7cSmrg basic_machine=x86_64-pc 49317a48c7cSmrg ;; 4948e0ed500Smrg amd64-*) 4958e0ed500Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4968e0ed500Smrg ;; 49717a48c7cSmrg amdahl) 49817a48c7cSmrg basic_machine=580-amdahl 49917a48c7cSmrg os=-sysv 50017a48c7cSmrg ;; 50117a48c7cSmrg amiga | amiga-*) 50217a48c7cSmrg basic_machine=m68k-unknown 50317a48c7cSmrg ;; 50417a48c7cSmrg amigaos | amigados) 50517a48c7cSmrg basic_machine=m68k-unknown 50617a48c7cSmrg os=-amigaos 50717a48c7cSmrg ;; 50817a48c7cSmrg amigaunix | amix) 50917a48c7cSmrg basic_machine=m68k-unknown 51017a48c7cSmrg os=-sysv4 51117a48c7cSmrg ;; 51217a48c7cSmrg apollo68) 51317a48c7cSmrg basic_machine=m68k-apollo 51417a48c7cSmrg os=-sysv 51517a48c7cSmrg ;; 51617a48c7cSmrg apollo68bsd) 51717a48c7cSmrg basic_machine=m68k-apollo 51817a48c7cSmrg os=-bsd 51917a48c7cSmrg ;; 5205f5b92ffSmrg aros) 5215f5b92ffSmrg basic_machine=i386-pc 5225f5b92ffSmrg os=-aros 5235f5b92ffSmrg ;; 52436e956c5Smrg asmjs) 52536e956c5Smrg basic_machine=asmjs-unknown 52636e956c5Smrg ;; 52717a48c7cSmrg aux) 52817a48c7cSmrg basic_machine=m68k-apple 52917a48c7cSmrg os=-aux 53017a48c7cSmrg ;; 53117a48c7cSmrg balance) 53217a48c7cSmrg basic_machine=ns32k-sequent 53317a48c7cSmrg os=-dynix 53417a48c7cSmrg ;; 535fbed5abfSmrg blackfin) 536fbed5abfSmrg basic_machine=bfin-unknown 537fbed5abfSmrg os=-linux 538fbed5abfSmrg ;; 539fbed5abfSmrg blackfin-*) 540fbed5abfSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 541fbed5abfSmrg os=-linux 542fbed5abfSmrg ;; 5435f5b92ffSmrg bluegene*) 5445f5b92ffSmrg basic_machine=powerpc-ibm 5455f5b92ffSmrg os=-cnk 5465f5b92ffSmrg ;; 5470dd80ee0Smrg c54x-*) 5480dd80ee0Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 5490dd80ee0Smrg ;; 5500dd80ee0Smrg c55x-*) 5510dd80ee0Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5520dd80ee0Smrg ;; 5530dd80ee0Smrg c6x-*) 5540dd80ee0Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5550dd80ee0Smrg ;; 55617a48c7cSmrg c90) 55717a48c7cSmrg basic_machine=c90-cray 55817a48c7cSmrg os=-unicos 55917a48c7cSmrg ;; 5600dd80ee0Smrg cegcc) 5615f5b92ffSmrg basic_machine=arm-unknown 5625f5b92ffSmrg os=-cegcc 5635f5b92ffSmrg ;; 56417a48c7cSmrg convex-c1) 56517a48c7cSmrg basic_machine=c1-convex 56617a48c7cSmrg os=-bsd 56717a48c7cSmrg ;; 56817a48c7cSmrg convex-c2) 56917a48c7cSmrg basic_machine=c2-convex 57017a48c7cSmrg os=-bsd 57117a48c7cSmrg ;; 57217a48c7cSmrg convex-c32) 57317a48c7cSmrg basic_machine=c32-convex 57417a48c7cSmrg os=-bsd 57517a48c7cSmrg ;; 57617a48c7cSmrg convex-c34) 57717a48c7cSmrg basic_machine=c34-convex 57817a48c7cSmrg os=-bsd 57917a48c7cSmrg ;; 58017a48c7cSmrg convex-c38) 58117a48c7cSmrg basic_machine=c38-convex 58217a48c7cSmrg os=-bsd 58317a48c7cSmrg ;; 58417a48c7cSmrg cray | j90) 58517a48c7cSmrg basic_machine=j90-cray 58617a48c7cSmrg os=-unicos 58717a48c7cSmrg ;; 5888e0ed500Smrg craynv) 5898e0ed500Smrg basic_machine=craynv-cray 5908e0ed500Smrg os=-unicosmp 5918e0ed500Smrg ;; 5920dd80ee0Smrg cr16 | cr16-*) 593fbed5abfSmrg basic_machine=cr16-unknown 5948e0ed500Smrg os=-elf 5958e0ed500Smrg ;; 59617a48c7cSmrg crds | unos) 59717a48c7cSmrg basic_machine=m68k-crds 59817a48c7cSmrg ;; 5998e0ed500Smrg crisv32 | crisv32-* | etraxfs*) 6008e0ed500Smrg basic_machine=crisv32-axis 6018e0ed500Smrg ;; 60217a48c7cSmrg cris | cris-* | etrax*) 60317a48c7cSmrg basic_machine=cris-axis 60417a48c7cSmrg ;; 6058e0ed500Smrg crx) 6068e0ed500Smrg basic_machine=crx-unknown 6078e0ed500Smrg os=-elf 6088e0ed500Smrg ;; 60917a48c7cSmrg da30 | da30-*) 61017a48c7cSmrg basic_machine=m68k-da30 61117a48c7cSmrg ;; 61217a48c7cSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 61317a48c7cSmrg basic_machine=mips-dec 61417a48c7cSmrg ;; 61517a48c7cSmrg decsystem10* | dec10*) 61617a48c7cSmrg basic_machine=pdp10-dec 61717a48c7cSmrg os=-tops10 61817a48c7cSmrg ;; 61917a48c7cSmrg decsystem20* | dec20*) 62017a48c7cSmrg basic_machine=pdp10-dec 62117a48c7cSmrg os=-tops20 62217a48c7cSmrg ;; 62317a48c7cSmrg delta | 3300 | motorola-3300 | motorola-delta \ 62417a48c7cSmrg | 3300-motorola | delta-motorola) 62517a48c7cSmrg basic_machine=m68k-motorola 62617a48c7cSmrg ;; 62717a48c7cSmrg delta88) 62817a48c7cSmrg basic_machine=m88k-motorola 62917a48c7cSmrg os=-sysv3 63017a48c7cSmrg ;; 6315f5b92ffSmrg dicos) 6325f5b92ffSmrg basic_machine=i686-pc 6335f5b92ffSmrg os=-dicos 6345f5b92ffSmrg ;; 6358e0ed500Smrg djgpp) 6368e0ed500Smrg basic_machine=i586-pc 6378e0ed500Smrg os=-msdosdjgpp 6388e0ed500Smrg ;; 63917a48c7cSmrg dpx20 | dpx20-*) 64017a48c7cSmrg basic_machine=rs6000-bull 64117a48c7cSmrg os=-bosx 64217a48c7cSmrg ;; 64317a48c7cSmrg dpx2* | dpx2*-bull) 64417a48c7cSmrg basic_machine=m68k-bull 64517a48c7cSmrg os=-sysv3 64617a48c7cSmrg ;; 64717a48c7cSmrg ebmon29k) 64817a48c7cSmrg basic_machine=a29k-amd 64917a48c7cSmrg os=-ebmon 65017a48c7cSmrg ;; 65117a48c7cSmrg elxsi) 65217a48c7cSmrg basic_machine=elxsi-elxsi 65317a48c7cSmrg os=-bsd 65417a48c7cSmrg ;; 65517a48c7cSmrg encore | umax | mmax) 65617a48c7cSmrg basic_machine=ns32k-encore 65717a48c7cSmrg ;; 65817a48c7cSmrg es1800 | OSE68k | ose68k | ose | OSE) 65917a48c7cSmrg basic_machine=m68k-ericsson 66017a48c7cSmrg os=-ose 66117a48c7cSmrg ;; 66217a48c7cSmrg fx2800) 66317a48c7cSmrg basic_machine=i860-alliant 66417a48c7cSmrg ;; 66517a48c7cSmrg genix) 66617a48c7cSmrg basic_machine=ns32k-ns 66717a48c7cSmrg ;; 66817a48c7cSmrg gmicro) 66917a48c7cSmrg basic_machine=tron-gmicro 67017a48c7cSmrg os=-sysv 67117a48c7cSmrg ;; 67217a48c7cSmrg go32) 67317a48c7cSmrg basic_machine=i386-pc 67417a48c7cSmrg os=-go32 67517a48c7cSmrg ;; 67617a48c7cSmrg h3050r* | hiux*) 67717a48c7cSmrg basic_machine=hppa1.1-hitachi 67817a48c7cSmrg os=-hiuxwe2 67917a48c7cSmrg ;; 68017a48c7cSmrg h8300hms) 68117a48c7cSmrg basic_machine=h8300-hitachi 68217a48c7cSmrg os=-hms 68317a48c7cSmrg ;; 68417a48c7cSmrg h8300xray) 68517a48c7cSmrg basic_machine=h8300-hitachi 68617a48c7cSmrg os=-xray 68717a48c7cSmrg ;; 68817a48c7cSmrg h8500hms) 68917a48c7cSmrg basic_machine=h8500-hitachi 69017a48c7cSmrg os=-hms 69117a48c7cSmrg ;; 69217a48c7cSmrg harris) 69317a48c7cSmrg basic_machine=m88k-harris 69417a48c7cSmrg os=-sysv3 69517a48c7cSmrg ;; 69617a48c7cSmrg hp300-*) 69717a48c7cSmrg basic_machine=m68k-hp 69817a48c7cSmrg ;; 69917a48c7cSmrg hp300bsd) 70017a48c7cSmrg basic_machine=m68k-hp 70117a48c7cSmrg os=-bsd 70217a48c7cSmrg ;; 70317a48c7cSmrg hp300hpux) 70417a48c7cSmrg basic_machine=m68k-hp 70517a48c7cSmrg os=-hpux 70617a48c7cSmrg ;; 70717a48c7cSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 70817a48c7cSmrg basic_machine=hppa1.0-hp 70917a48c7cSmrg ;; 71017a48c7cSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 71117a48c7cSmrg basic_machine=m68000-hp 71217a48c7cSmrg ;; 71317a48c7cSmrg hp9k3[2-9][0-9]) 71417a48c7cSmrg basic_machine=m68k-hp 71517a48c7cSmrg ;; 71617a48c7cSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 71717a48c7cSmrg basic_machine=hppa1.0-hp 71817a48c7cSmrg ;; 71917a48c7cSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 72017a48c7cSmrg basic_machine=hppa1.1-hp 72117a48c7cSmrg ;; 72217a48c7cSmrg hp9k78[0-9] | hp78[0-9]) 72317a48c7cSmrg # FIXME: really hppa2.0-hp 72417a48c7cSmrg basic_machine=hppa1.1-hp 72517a48c7cSmrg ;; 72617a48c7cSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 72717a48c7cSmrg # FIXME: really hppa2.0-hp 72817a48c7cSmrg basic_machine=hppa1.1-hp 72917a48c7cSmrg ;; 73017a48c7cSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 73117a48c7cSmrg basic_machine=hppa1.1-hp 73217a48c7cSmrg ;; 73317a48c7cSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 73417a48c7cSmrg basic_machine=hppa1.0-hp 73517a48c7cSmrg ;; 73617a48c7cSmrg hppa-next) 73717a48c7cSmrg os=-nextstep3 73817a48c7cSmrg ;; 73917a48c7cSmrg hppaosf) 74017a48c7cSmrg basic_machine=hppa1.1-hp 74117a48c7cSmrg os=-osf 74217a48c7cSmrg ;; 74317a48c7cSmrg hppro) 74417a48c7cSmrg basic_machine=hppa1.1-hp 74517a48c7cSmrg os=-proelf 74617a48c7cSmrg ;; 74717a48c7cSmrg i370-ibm* | ibm*) 74817a48c7cSmrg basic_machine=i370-ibm 74917a48c7cSmrg ;; 75017a48c7cSmrg i*86v32) 75117a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75217a48c7cSmrg os=-sysv32 75317a48c7cSmrg ;; 75417a48c7cSmrg i*86v4*) 75517a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 75617a48c7cSmrg os=-sysv4 75717a48c7cSmrg ;; 75817a48c7cSmrg i*86v) 75917a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76017a48c7cSmrg os=-sysv 76117a48c7cSmrg ;; 76217a48c7cSmrg i*86sol2) 76317a48c7cSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76417a48c7cSmrg os=-solaris2 76517a48c7cSmrg ;; 76617a48c7cSmrg i386mach) 76717a48c7cSmrg basic_machine=i386-mach 76817a48c7cSmrg os=-mach 76917a48c7cSmrg ;; 77017a48c7cSmrg i386-vsta | vsta) 77117a48c7cSmrg basic_machine=i386-unknown 77217a48c7cSmrg os=-vsta 77317a48c7cSmrg ;; 77417a48c7cSmrg iris | iris4d) 77517a48c7cSmrg basic_machine=mips-sgi 77617a48c7cSmrg case $os in 77717a48c7cSmrg -irix*) 77817a48c7cSmrg ;; 77917a48c7cSmrg *) 78017a48c7cSmrg os=-irix4 78117a48c7cSmrg ;; 78217a48c7cSmrg esac 78317a48c7cSmrg ;; 78417a48c7cSmrg isi68 | isi) 78517a48c7cSmrg basic_machine=m68k-isi 78617a48c7cSmrg os=-sysv 78717a48c7cSmrg ;; 78836e956c5Smrg leon-*|leon[3-9]-*) 78936e956c5Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 79036e956c5Smrg ;; 791fbed5abfSmrg m68knommu) 792fbed5abfSmrg basic_machine=m68k-unknown 793fbed5abfSmrg os=-linux 794fbed5abfSmrg ;; 795fbed5abfSmrg m68knommu-*) 796fbed5abfSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 797fbed5abfSmrg os=-linux 798fbed5abfSmrg ;; 79917a48c7cSmrg m88k-omron*) 80017a48c7cSmrg basic_machine=m88k-omron 80117a48c7cSmrg ;; 80217a48c7cSmrg magnum | m3230) 80317a48c7cSmrg basic_machine=mips-mips 80417a48c7cSmrg os=-sysv 80517a48c7cSmrg ;; 80617a48c7cSmrg merlin) 80717a48c7cSmrg basic_machine=ns32k-utek 80817a48c7cSmrg os=-sysv 80917a48c7cSmrg ;; 81036e956c5Smrg microblaze*) 8115f5b92ffSmrg basic_machine=microblaze-xilinx 8125f5b92ffSmrg ;; 81336e956c5Smrg mingw64) 81436e956c5Smrg basic_machine=x86_64-pc 81536e956c5Smrg os=-mingw64 81636e956c5Smrg ;; 81717a48c7cSmrg mingw32) 81836e956c5Smrg basic_machine=i686-pc 81917a48c7cSmrg os=-mingw32 82017a48c7cSmrg ;; 821fbed5abfSmrg mingw32ce) 822fbed5abfSmrg basic_machine=arm-unknown 823fbed5abfSmrg os=-mingw32ce 824fbed5abfSmrg ;; 82517a48c7cSmrg miniframe) 82617a48c7cSmrg basic_machine=m68000-convergent 82717a48c7cSmrg ;; 82817a48c7cSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 82917a48c7cSmrg basic_machine=m68k-atari 83017a48c7cSmrg os=-mint 83117a48c7cSmrg ;; 83217a48c7cSmrg mips3*-*) 83317a48c7cSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 83417a48c7cSmrg ;; 83517a48c7cSmrg mips3*) 83617a48c7cSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 83717a48c7cSmrg ;; 83817a48c7cSmrg monitor) 83917a48c7cSmrg basic_machine=m68k-rom68k 84017a48c7cSmrg os=-coff 84117a48c7cSmrg ;; 84217a48c7cSmrg morphos) 84317a48c7cSmrg basic_machine=powerpc-unknown 84417a48c7cSmrg os=-morphos 84517a48c7cSmrg ;; 84636e956c5Smrg moxiebox) 84736e956c5Smrg basic_machine=moxie-unknown 84836e956c5Smrg os=-moxiebox 84936e956c5Smrg ;; 85017a48c7cSmrg msdos) 85117a48c7cSmrg basic_machine=i386-pc 85217a48c7cSmrg os=-msdos 85317a48c7cSmrg ;; 8548e0ed500Smrg ms1-*) 8558e0ed500Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8568e0ed500Smrg ;; 8570dd80ee0Smrg msys) 85836e956c5Smrg basic_machine=i686-pc 8590dd80ee0Smrg os=-msys 8600dd80ee0Smrg ;; 86117a48c7cSmrg mvs) 86217a48c7cSmrg basic_machine=i370-ibm 86317a48c7cSmrg os=-mvs 86417a48c7cSmrg ;; 8650dd80ee0Smrg nacl) 8660dd80ee0Smrg basic_machine=le32-unknown 8670dd80ee0Smrg os=-nacl 8680dd80ee0Smrg ;; 86917a48c7cSmrg ncr3000) 87017a48c7cSmrg basic_machine=i486-ncr 87117a48c7cSmrg os=-sysv4 87217a48c7cSmrg ;; 87317a48c7cSmrg netbsd386) 87417a48c7cSmrg basic_machine=i386-unknown 87517a48c7cSmrg os=-netbsd 87617a48c7cSmrg ;; 87717a48c7cSmrg netwinder) 87817a48c7cSmrg basic_machine=armv4l-rebel 87917a48c7cSmrg os=-linux 88017a48c7cSmrg ;; 88117a48c7cSmrg news | news700 | news800 | news900) 88217a48c7cSmrg basic_machine=m68k-sony 88317a48c7cSmrg os=-newsos 88417a48c7cSmrg ;; 88517a48c7cSmrg news1000) 88617a48c7cSmrg basic_machine=m68030-sony 88717a48c7cSmrg os=-newsos 88817a48c7cSmrg ;; 88917a48c7cSmrg news-3600 | risc-news) 89017a48c7cSmrg basic_machine=mips-sony 89117a48c7cSmrg os=-newsos 89217a48c7cSmrg ;; 89317a48c7cSmrg necv70) 89417a48c7cSmrg basic_machine=v70-nec 89517a48c7cSmrg os=-sysv 89617a48c7cSmrg ;; 89717a48c7cSmrg next | m*-next ) 89817a48c7cSmrg basic_machine=m68k-next 89917a48c7cSmrg case $os in 90017a48c7cSmrg -nextstep* ) 90117a48c7cSmrg ;; 90217a48c7cSmrg -ns2*) 90317a48c7cSmrg os=-nextstep2 90417a48c7cSmrg ;; 90517a48c7cSmrg *) 90617a48c7cSmrg os=-nextstep3 90717a48c7cSmrg ;; 90817a48c7cSmrg esac 90917a48c7cSmrg ;; 91017a48c7cSmrg nh3000) 91117a48c7cSmrg basic_machine=m68k-harris 91217a48c7cSmrg os=-cxux 91317a48c7cSmrg ;; 91417a48c7cSmrg nh[45]000) 91517a48c7cSmrg basic_machine=m88k-harris 91617a48c7cSmrg os=-cxux 91717a48c7cSmrg ;; 91817a48c7cSmrg nindy960) 91917a48c7cSmrg basic_machine=i960-intel 92017a48c7cSmrg os=-nindy 92117a48c7cSmrg ;; 92217a48c7cSmrg mon960) 92317a48c7cSmrg basic_machine=i960-intel 92417a48c7cSmrg os=-mon960 92517a48c7cSmrg ;; 92617a48c7cSmrg nonstopux) 92717a48c7cSmrg basic_machine=mips-compaq 92817a48c7cSmrg os=-nonstopux 92917a48c7cSmrg ;; 93017a48c7cSmrg np1) 93117a48c7cSmrg basic_machine=np1-gould 93217a48c7cSmrg ;; 9330dd80ee0Smrg neo-tandem) 9340dd80ee0Smrg basic_machine=neo-tandem 9350dd80ee0Smrg ;; 9360dd80ee0Smrg nse-tandem) 9370dd80ee0Smrg basic_machine=nse-tandem 9380dd80ee0Smrg ;; 93917a48c7cSmrg nsr-tandem) 94017a48c7cSmrg basic_machine=nsr-tandem 94117a48c7cSmrg ;; 94217a48c7cSmrg op50n-* | op60c-*) 94317a48c7cSmrg basic_machine=hppa1.1-oki 94417a48c7cSmrg os=-proelf 94517a48c7cSmrg ;; 9468e0ed500Smrg openrisc | openrisc-*) 94717a48c7cSmrg basic_machine=or32-unknown 9488e0ed500Smrg ;; 9498e0ed500Smrg os400) 9508e0ed500Smrg basic_machine=powerpc-ibm 9518e0ed500Smrg os=-os400 95217a48c7cSmrg ;; 95317a48c7cSmrg OSE68000 | ose68000) 95417a48c7cSmrg basic_machine=m68000-ericsson 95517a48c7cSmrg os=-ose 95617a48c7cSmrg ;; 95717a48c7cSmrg os68k) 95817a48c7cSmrg basic_machine=m68k-none 95917a48c7cSmrg os=-os68k 96017a48c7cSmrg ;; 96117a48c7cSmrg pa-hitachi) 96217a48c7cSmrg basic_machine=hppa1.1-hitachi 96317a48c7cSmrg os=-hiuxwe2 96417a48c7cSmrg ;; 96517a48c7cSmrg paragon) 96617a48c7cSmrg basic_machine=i860-intel 96717a48c7cSmrg os=-osf 96817a48c7cSmrg ;; 969fbed5abfSmrg parisc) 970fbed5abfSmrg basic_machine=hppa-unknown 971fbed5abfSmrg os=-linux 972fbed5abfSmrg ;; 973fbed5abfSmrg parisc-*) 974fbed5abfSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 975fbed5abfSmrg os=-linux 976fbed5abfSmrg ;; 97717a48c7cSmrg pbd) 97817a48c7cSmrg basic_machine=sparc-tti 97917a48c7cSmrg ;; 98017a48c7cSmrg pbb) 98117a48c7cSmrg basic_machine=m68k-tti 98217a48c7cSmrg ;; 98317a48c7cSmrg pc532 | pc532-*) 98417a48c7cSmrg basic_machine=ns32k-pc532 98517a48c7cSmrg ;; 9868e0ed500Smrg pc98) 9878e0ed500Smrg basic_machine=i386-pc 9888e0ed500Smrg ;; 9898e0ed500Smrg pc98-*) 9908e0ed500Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9918e0ed500Smrg ;; 99217a48c7cSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 99317a48c7cSmrg basic_machine=i586-pc 99417a48c7cSmrg ;; 99517a48c7cSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 99617a48c7cSmrg basic_machine=i686-pc 99717a48c7cSmrg ;; 99817a48c7cSmrg pentiumii | pentium2 | pentiumiii | pentium3) 99917a48c7cSmrg basic_machine=i686-pc 100017a48c7cSmrg ;; 100117a48c7cSmrg pentium4) 100217a48c7cSmrg basic_machine=i786-pc 100317a48c7cSmrg ;; 100417a48c7cSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 100517a48c7cSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 100617a48c7cSmrg ;; 100717a48c7cSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 100817a48c7cSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 100917a48c7cSmrg ;; 101017a48c7cSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 101117a48c7cSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 101217a48c7cSmrg ;; 101317a48c7cSmrg pentium4-*) 101417a48c7cSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 101517a48c7cSmrg ;; 101617a48c7cSmrg pn) 101717a48c7cSmrg basic_machine=pn-gould 101817a48c7cSmrg ;; 101917a48c7cSmrg power) basic_machine=power-ibm 102017a48c7cSmrg ;; 10210dd80ee0Smrg ppc | ppcbe) basic_machine=powerpc-unknown 102217a48c7cSmrg ;; 10230dd80ee0Smrg ppc-* | ppcbe-*) 10240dd80ee0Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 102517a48c7cSmrg ;; 102617a48c7cSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 102717a48c7cSmrg basic_machine=powerpcle-unknown 102817a48c7cSmrg ;; 102917a48c7cSmrg ppcle-* | powerpclittle-*) 103017a48c7cSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 103117a48c7cSmrg ;; 103217a48c7cSmrg ppc64) basic_machine=powerpc64-unknown 103317a48c7cSmrg ;; 103417a48c7cSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 103517a48c7cSmrg ;; 103617a48c7cSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 103717a48c7cSmrg basic_machine=powerpc64le-unknown 103817a48c7cSmrg ;; 103917a48c7cSmrg ppc64le-* | powerpc64little-*) 104017a48c7cSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 104117a48c7cSmrg ;; 104217a48c7cSmrg ps2) 104317a48c7cSmrg basic_machine=i386-ibm 104417a48c7cSmrg ;; 104517a48c7cSmrg pw32) 104617a48c7cSmrg basic_machine=i586-unknown 104717a48c7cSmrg os=-pw32 104817a48c7cSmrg ;; 104936e956c5Smrg rdos | rdos64) 105036e956c5Smrg basic_machine=x86_64-pc 105136e956c5Smrg os=-rdos 105236e956c5Smrg ;; 105336e956c5Smrg rdos32) 10548e0ed500Smrg basic_machine=i386-pc 10558e0ed500Smrg os=-rdos 10568e0ed500Smrg ;; 105717a48c7cSmrg rom68k) 105817a48c7cSmrg basic_machine=m68k-rom68k 105917a48c7cSmrg os=-coff 106017a48c7cSmrg ;; 106117a48c7cSmrg rm[46]00) 106217a48c7cSmrg basic_machine=mips-siemens 106317a48c7cSmrg ;; 106417a48c7cSmrg rtpc | rtpc-*) 106517a48c7cSmrg basic_machine=romp-ibm 106617a48c7cSmrg ;; 10678e0ed500Smrg s390 | s390-*) 10688e0ed500Smrg basic_machine=s390-ibm 10698e0ed500Smrg ;; 10708e0ed500Smrg s390x | s390x-*) 10718e0ed500Smrg basic_machine=s390x-ibm 10728e0ed500Smrg ;; 107317a48c7cSmrg sa29200) 107417a48c7cSmrg basic_machine=a29k-amd 107517a48c7cSmrg os=-udi 107617a48c7cSmrg ;; 107717a48c7cSmrg sb1) 107817a48c7cSmrg basic_machine=mipsisa64sb1-unknown 107917a48c7cSmrg ;; 108017a48c7cSmrg sb1el) 108117a48c7cSmrg basic_machine=mipsisa64sb1el-unknown 108217a48c7cSmrg ;; 10838e0ed500Smrg sde) 10848e0ed500Smrg basic_machine=mipsisa32-sde 10858e0ed500Smrg os=-elf 10868e0ed500Smrg ;; 108717a48c7cSmrg sei) 108817a48c7cSmrg basic_machine=mips-sei 108917a48c7cSmrg os=-seiux 109017a48c7cSmrg ;; 109117a48c7cSmrg sequent) 109217a48c7cSmrg basic_machine=i386-sequent 109317a48c7cSmrg ;; 109417a48c7cSmrg sh) 109517a48c7cSmrg basic_machine=sh-hitachi 109617a48c7cSmrg os=-hms 109717a48c7cSmrg ;; 1098fbed5abfSmrg sh5el) 1099fbed5abfSmrg basic_machine=sh5le-unknown 1100fbed5abfSmrg ;; 110117a48c7cSmrg sh64) 110217a48c7cSmrg basic_machine=sh64-unknown 110317a48c7cSmrg ;; 110417a48c7cSmrg sparclite-wrs | simso-wrs) 110517a48c7cSmrg basic_machine=sparclite-wrs 110617a48c7cSmrg os=-vxworks 110717a48c7cSmrg ;; 110817a48c7cSmrg sps7) 110917a48c7cSmrg basic_machine=m68k-bull 111017a48c7cSmrg os=-sysv2 111117a48c7cSmrg ;; 111217a48c7cSmrg spur) 111317a48c7cSmrg basic_machine=spur-unknown 111417a48c7cSmrg ;; 111517a48c7cSmrg st2000) 111617a48c7cSmrg basic_machine=m68k-tandem 111717a48c7cSmrg ;; 111817a48c7cSmrg stratus) 111917a48c7cSmrg basic_machine=i860-stratus 112017a48c7cSmrg os=-sysv4 112117a48c7cSmrg ;; 11220dd80ee0Smrg strongarm-* | thumb-*) 11230dd80ee0Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 11240dd80ee0Smrg ;; 112517a48c7cSmrg sun2) 112617a48c7cSmrg basic_machine=m68000-sun 112717a48c7cSmrg ;; 112817a48c7cSmrg sun2os3) 112917a48c7cSmrg basic_machine=m68000-sun 113017a48c7cSmrg os=-sunos3 113117a48c7cSmrg ;; 113217a48c7cSmrg sun2os4) 113317a48c7cSmrg basic_machine=m68000-sun 113417a48c7cSmrg os=-sunos4 113517a48c7cSmrg ;; 113617a48c7cSmrg sun3os3) 113717a48c7cSmrg basic_machine=m68k-sun 113817a48c7cSmrg os=-sunos3 113917a48c7cSmrg ;; 114017a48c7cSmrg sun3os4) 114117a48c7cSmrg basic_machine=m68k-sun 114217a48c7cSmrg os=-sunos4 114317a48c7cSmrg ;; 114417a48c7cSmrg sun4os3) 114517a48c7cSmrg basic_machine=sparc-sun 114617a48c7cSmrg os=-sunos3 114717a48c7cSmrg ;; 114817a48c7cSmrg sun4os4) 114917a48c7cSmrg basic_machine=sparc-sun 115017a48c7cSmrg os=-sunos4 115117a48c7cSmrg ;; 115217a48c7cSmrg sun4sol2) 115317a48c7cSmrg basic_machine=sparc-sun 115417a48c7cSmrg os=-solaris2 115517a48c7cSmrg ;; 115617a48c7cSmrg sun3 | sun3-*) 115717a48c7cSmrg basic_machine=m68k-sun 115817a48c7cSmrg ;; 115917a48c7cSmrg sun4) 116017a48c7cSmrg basic_machine=sparc-sun 116117a48c7cSmrg ;; 116217a48c7cSmrg sun386 | sun386i | roadrunner) 116317a48c7cSmrg basic_machine=i386-sun 116417a48c7cSmrg ;; 116517a48c7cSmrg sv1) 116617a48c7cSmrg basic_machine=sv1-cray 116717a48c7cSmrg os=-unicos 116817a48c7cSmrg ;; 116917a48c7cSmrg symmetry) 117017a48c7cSmrg basic_machine=i386-sequent 117117a48c7cSmrg os=-dynix 117217a48c7cSmrg ;; 117317a48c7cSmrg t3e) 117417a48c7cSmrg basic_machine=alphaev5-cray 117517a48c7cSmrg os=-unicos 117617a48c7cSmrg ;; 117717a48c7cSmrg t90) 117817a48c7cSmrg basic_machine=t90-cray 117917a48c7cSmrg os=-unicos 118017a48c7cSmrg ;; 1181fbed5abfSmrg tile*) 11820dd80ee0Smrg basic_machine=$basic_machine-unknown 1183fbed5abfSmrg os=-linux-gnu 1184fbed5abfSmrg ;; 118517a48c7cSmrg tx39) 118617a48c7cSmrg basic_machine=mipstx39-unknown 118717a48c7cSmrg ;; 118817a48c7cSmrg tx39el) 118917a48c7cSmrg basic_machine=mipstx39el-unknown 119017a48c7cSmrg ;; 119117a48c7cSmrg toad1) 119217a48c7cSmrg basic_machine=pdp10-xkl 119317a48c7cSmrg os=-tops20 119417a48c7cSmrg ;; 119517a48c7cSmrg tower | tower-32) 119617a48c7cSmrg basic_machine=m68k-ncr 119717a48c7cSmrg ;; 11988e0ed500Smrg tpf) 11998e0ed500Smrg basic_machine=s390x-ibm 12008e0ed500Smrg os=-tpf 12018e0ed500Smrg ;; 120217a48c7cSmrg udi29k) 120317a48c7cSmrg basic_machine=a29k-amd 120417a48c7cSmrg os=-udi 120517a48c7cSmrg ;; 120617a48c7cSmrg ultra3) 120717a48c7cSmrg basic_machine=a29k-nyu 120817a48c7cSmrg os=-sym1 120917a48c7cSmrg ;; 121017a48c7cSmrg v810 | necv810) 121117a48c7cSmrg basic_machine=v810-nec 121217a48c7cSmrg os=-none 121317a48c7cSmrg ;; 121417a48c7cSmrg vaxv) 121517a48c7cSmrg basic_machine=vax-dec 121617a48c7cSmrg os=-sysv 121717a48c7cSmrg ;; 121817a48c7cSmrg vms) 121917a48c7cSmrg basic_machine=vax-dec 122017a48c7cSmrg os=-vms 122117a48c7cSmrg ;; 122217a48c7cSmrg vpp*|vx|vx-*) 122317a48c7cSmrg basic_machine=f301-fujitsu 122417a48c7cSmrg ;; 122517a48c7cSmrg vxworks960) 122617a48c7cSmrg basic_machine=i960-wrs 122717a48c7cSmrg os=-vxworks 122817a48c7cSmrg ;; 122917a48c7cSmrg vxworks68) 123017a48c7cSmrg basic_machine=m68k-wrs 123117a48c7cSmrg os=-vxworks 123217a48c7cSmrg ;; 123317a48c7cSmrg vxworks29k) 123417a48c7cSmrg basic_machine=a29k-wrs 123517a48c7cSmrg os=-vxworks 123617a48c7cSmrg ;; 123717a48c7cSmrg w65*) 123817a48c7cSmrg basic_machine=w65-wdc 123917a48c7cSmrg os=-none 124017a48c7cSmrg ;; 124117a48c7cSmrg w89k-*) 124217a48c7cSmrg basic_machine=hppa1.1-winbond 124317a48c7cSmrg os=-proelf 124417a48c7cSmrg ;; 12458e0ed500Smrg xbox) 12468e0ed500Smrg basic_machine=i686-pc 12478e0ed500Smrg os=-mingw32 12488e0ed500Smrg ;; 124917a48c7cSmrg xps | xps100) 125017a48c7cSmrg basic_machine=xps100-honeywell 125117a48c7cSmrg ;; 12520dd80ee0Smrg xscale-* | xscalee[bl]-*) 12530dd80ee0Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12540dd80ee0Smrg ;; 125517a48c7cSmrg ymp) 125617a48c7cSmrg basic_machine=ymp-cray 125717a48c7cSmrg os=-unicos 125817a48c7cSmrg ;; 125917a48c7cSmrg z8k-*-coff) 126017a48c7cSmrg basic_machine=z8k-unknown 126117a48c7cSmrg os=-sim 126217a48c7cSmrg ;; 12635f5b92ffSmrg z80-*-coff) 12645f5b92ffSmrg basic_machine=z80-unknown 12655f5b92ffSmrg os=-sim 12665f5b92ffSmrg ;; 126717a48c7cSmrg none) 126817a48c7cSmrg basic_machine=none-none 126917a48c7cSmrg os=-none 127017a48c7cSmrg ;; 127117a48c7cSmrg 127217a48c7cSmrg# Here we handle the default manufacturer of certain CPU types. It is in 127317a48c7cSmrg# some cases the only manufacturer, in others, it is the most popular. 127417a48c7cSmrg w89k) 127517a48c7cSmrg basic_machine=hppa1.1-winbond 127617a48c7cSmrg ;; 127717a48c7cSmrg op50n) 127817a48c7cSmrg basic_machine=hppa1.1-oki 127917a48c7cSmrg ;; 128017a48c7cSmrg op60c) 128117a48c7cSmrg basic_machine=hppa1.1-oki 128217a48c7cSmrg ;; 128317a48c7cSmrg romp) 128417a48c7cSmrg basic_machine=romp-ibm 128517a48c7cSmrg ;; 12868e0ed500Smrg mmix) 12878e0ed500Smrg basic_machine=mmix-knuth 12888e0ed500Smrg ;; 128917a48c7cSmrg rs6000) 129017a48c7cSmrg basic_machine=rs6000-ibm 129117a48c7cSmrg ;; 129217a48c7cSmrg vax) 129317a48c7cSmrg basic_machine=vax-dec 129417a48c7cSmrg ;; 129517a48c7cSmrg pdp10) 129617a48c7cSmrg # there are many clones, so DEC is not a safe bet 129717a48c7cSmrg basic_machine=pdp10-unknown 129817a48c7cSmrg ;; 129917a48c7cSmrg pdp11) 130017a48c7cSmrg basic_machine=pdp11-dec 130117a48c7cSmrg ;; 130217a48c7cSmrg we32k) 130317a48c7cSmrg basic_machine=we32k-att 130417a48c7cSmrg ;; 13055f5b92ffSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 130617a48c7cSmrg basic_machine=sh-unknown 130717a48c7cSmrg ;; 13088e0ed500Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 130917a48c7cSmrg basic_machine=sparc-sun 131017a48c7cSmrg ;; 131117a48c7cSmrg cydra) 131217a48c7cSmrg basic_machine=cydra-cydrome 131317a48c7cSmrg ;; 131417a48c7cSmrg orion) 131517a48c7cSmrg basic_machine=orion-highlevel 131617a48c7cSmrg ;; 131717a48c7cSmrg orion105) 131817a48c7cSmrg basic_machine=clipper-highlevel 131917a48c7cSmrg ;; 132017a48c7cSmrg mac | mpw | mac-mpw) 132117a48c7cSmrg basic_machine=m68k-apple 132217a48c7cSmrg ;; 132317a48c7cSmrg pmac | pmac-mpw) 132417a48c7cSmrg basic_machine=powerpc-apple 132517a48c7cSmrg ;; 132617a48c7cSmrg *-unknown) 132717a48c7cSmrg # Make sure to match an already-canonicalized machine name. 132817a48c7cSmrg ;; 132917a48c7cSmrg *) 133017a48c7cSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 133117a48c7cSmrg exit 1 133217a48c7cSmrg ;; 133317a48c7cSmrgesac 133417a48c7cSmrg 133517a48c7cSmrg# Here we canonicalize certain aliases for manufacturers. 133617a48c7cSmrgcase $basic_machine in 133717a48c7cSmrg *-digital*) 133817a48c7cSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 133917a48c7cSmrg ;; 134017a48c7cSmrg *-commodore*) 134117a48c7cSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 134217a48c7cSmrg ;; 134317a48c7cSmrg *) 134417a48c7cSmrg ;; 134517a48c7cSmrgesac 134617a48c7cSmrg 134717a48c7cSmrg# Decode manufacturer-specific aliases for certain operating systems. 134817a48c7cSmrg 134917a48c7cSmrgif [ x"$os" != x"" ] 135017a48c7cSmrgthen 135117a48c7cSmrgcase $os in 13520dd80ee0Smrg # First match some system type aliases 13530dd80ee0Smrg # that might get confused with valid system types. 135417a48c7cSmrg # -solaris* is a basic system type, with this one exception. 13550dd80ee0Smrg -auroraux) 13560dd80ee0Smrg os=-auroraux 13575f5b92ffSmrg ;; 135817a48c7cSmrg -solaris1 | -solaris1.*) 135917a48c7cSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 136017a48c7cSmrg ;; 136117a48c7cSmrg -solaris) 136217a48c7cSmrg os=-solaris2 136317a48c7cSmrg ;; 136417a48c7cSmrg -svr4*) 136517a48c7cSmrg os=-sysv4 136617a48c7cSmrg ;; 136717a48c7cSmrg -unixware*) 136817a48c7cSmrg os=-sysv4.2uw 136917a48c7cSmrg ;; 137017a48c7cSmrg -gnu/linux*) 137117a48c7cSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 137217a48c7cSmrg ;; 137317a48c7cSmrg # First accept the basic system types. 137417a48c7cSmrg # The portable systems comes first. 137517a48c7cSmrg # Each alternative MUST END IN A *, to match a version number. 137617a48c7cSmrg # -sysv* is not here because it comes later, after sysvr4. 137717a48c7cSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13785f5b92ffSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13795f5b92ffSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 138036e956c5Smrg | -sym* | -kopensolaris* | -plan9* \ 138117a48c7cSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 138236e956c5Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 138317a48c7cSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 138417a48c7cSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13858e0ed500Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 138636e956c5Smrg | -bitrig* | -openbsd* | -solidbsd* \ 13878e0ed500Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13888e0ed500Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 138917a48c7cSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 139017a48c7cSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13915f5b92ffSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13920dd80ee0Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 139336e956c5Smrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 139436e956c5Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 139536e956c5Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 139617a48c7cSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 139717a48c7cSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 139817a48c7cSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 139917a48c7cSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 140017a48c7cSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 14018e0ed500Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 140236e956c5Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) 140317a48c7cSmrg # Remember, each alternative MUST END IN *, to match a version number. 140417a48c7cSmrg ;; 140517a48c7cSmrg -qnx*) 140617a48c7cSmrg case $basic_machine in 140717a48c7cSmrg x86-* | i*86-*) 140817a48c7cSmrg ;; 140917a48c7cSmrg *) 141017a48c7cSmrg os=-nto$os 141117a48c7cSmrg ;; 141217a48c7cSmrg esac 141317a48c7cSmrg ;; 141417a48c7cSmrg -nto-qnx*) 141517a48c7cSmrg ;; 141617a48c7cSmrg -nto*) 141717a48c7cSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 141817a48c7cSmrg ;; 141917a48c7cSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 14208e0ed500Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 142117a48c7cSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 142217a48c7cSmrg ;; 142317a48c7cSmrg -mac*) 142417a48c7cSmrg os=`echo $os | sed -e 's|mac|macos|'` 142517a48c7cSmrg ;; 14268e0ed500Smrg -linux-dietlibc) 14278e0ed500Smrg os=-linux-dietlibc 14288e0ed500Smrg ;; 142917a48c7cSmrg -linux*) 143017a48c7cSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 143117a48c7cSmrg ;; 143217a48c7cSmrg -sunos5*) 143317a48c7cSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 143417a48c7cSmrg ;; 143517a48c7cSmrg -sunos6*) 143617a48c7cSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 143717a48c7cSmrg ;; 143817a48c7cSmrg -opened*) 143917a48c7cSmrg os=-openedition 144017a48c7cSmrg ;; 14410dd80ee0Smrg -os400*) 14428e0ed500Smrg os=-os400 14438e0ed500Smrg ;; 144417a48c7cSmrg -wince*) 144517a48c7cSmrg os=-wince 144617a48c7cSmrg ;; 144717a48c7cSmrg -osfrose*) 144817a48c7cSmrg os=-osfrose 144917a48c7cSmrg ;; 145017a48c7cSmrg -osf*) 145117a48c7cSmrg os=-osf 145217a48c7cSmrg ;; 145317a48c7cSmrg -utek*) 145417a48c7cSmrg os=-bsd 145517a48c7cSmrg ;; 145617a48c7cSmrg -dynix*) 145717a48c7cSmrg os=-bsd 145817a48c7cSmrg ;; 145917a48c7cSmrg -acis*) 146017a48c7cSmrg os=-aos 146117a48c7cSmrg ;; 146217a48c7cSmrg -atheos*) 146317a48c7cSmrg os=-atheos 146417a48c7cSmrg ;; 14658e0ed500Smrg -syllable*) 14668e0ed500Smrg os=-syllable 14678e0ed500Smrg ;; 146817a48c7cSmrg -386bsd) 146917a48c7cSmrg os=-bsd 147017a48c7cSmrg ;; 147117a48c7cSmrg -ctix* | -uts*) 147217a48c7cSmrg os=-sysv 147317a48c7cSmrg ;; 147417a48c7cSmrg -nova*) 147517a48c7cSmrg os=-rtmk-nova 147617a48c7cSmrg ;; 147717a48c7cSmrg -ns2 ) 147817a48c7cSmrg os=-nextstep2 147917a48c7cSmrg ;; 148017a48c7cSmrg -nsk*) 148117a48c7cSmrg os=-nsk 148217a48c7cSmrg ;; 148317a48c7cSmrg # Preserve the version number of sinix5. 148417a48c7cSmrg -sinix5.*) 148517a48c7cSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 148617a48c7cSmrg ;; 148717a48c7cSmrg -sinix*) 148817a48c7cSmrg os=-sysv4 148917a48c7cSmrg ;; 14900dd80ee0Smrg -tpf*) 14918e0ed500Smrg os=-tpf 14928e0ed500Smrg ;; 149317a48c7cSmrg -triton*) 149417a48c7cSmrg os=-sysv3 149517a48c7cSmrg ;; 149617a48c7cSmrg -oss*) 149717a48c7cSmrg os=-sysv3 149817a48c7cSmrg ;; 149917a48c7cSmrg -svr4) 150017a48c7cSmrg os=-sysv4 150117a48c7cSmrg ;; 150217a48c7cSmrg -svr3) 150317a48c7cSmrg os=-sysv3 150417a48c7cSmrg ;; 150517a48c7cSmrg -sysvr4) 150617a48c7cSmrg os=-sysv4 150717a48c7cSmrg ;; 150817a48c7cSmrg # This must come after -sysvr4. 150917a48c7cSmrg -sysv*) 151017a48c7cSmrg ;; 151117a48c7cSmrg -ose*) 151217a48c7cSmrg os=-ose 151317a48c7cSmrg ;; 151417a48c7cSmrg -es1800*) 151517a48c7cSmrg os=-ose 151617a48c7cSmrg ;; 151717a48c7cSmrg -xenix) 151817a48c7cSmrg os=-xenix 151917a48c7cSmrg ;; 152017a48c7cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 152117a48c7cSmrg os=-mint 152217a48c7cSmrg ;; 152317a48c7cSmrg -aros*) 152417a48c7cSmrg os=-aros 152517a48c7cSmrg ;; 15268e0ed500Smrg -zvmoe) 15278e0ed500Smrg os=-zvmoe 15288e0ed500Smrg ;; 15295f5b92ffSmrg -dicos*) 15305f5b92ffSmrg os=-dicos 15315f5b92ffSmrg ;; 15320dd80ee0Smrg -nacl*) 15330dd80ee0Smrg ;; 153417a48c7cSmrg -none) 153517a48c7cSmrg ;; 153617a48c7cSmrg *) 153717a48c7cSmrg # Get rid of the `-' at the beginning of $os. 153817a48c7cSmrg os=`echo $os | sed 's/[^-]*-//'` 153917a48c7cSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 154017a48c7cSmrg exit 1 154117a48c7cSmrg ;; 154217a48c7cSmrgesac 154317a48c7cSmrgelse 154417a48c7cSmrg 154517a48c7cSmrg# Here we handle the default operating systems that come with various machines. 154617a48c7cSmrg# The value should be what the vendor currently ships out the door with their 154717a48c7cSmrg# machine or put another way, the most popular os provided with the machine. 154817a48c7cSmrg 154917a48c7cSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 155017a48c7cSmrg# "-sun"), then you have to tell the case statement up towards the top 155117a48c7cSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 155217a48c7cSmrg# will signal an error saying that MANUFACTURER isn't an operating 155317a48c7cSmrg# system, and we'll never get to this point. 155417a48c7cSmrg 155517a48c7cSmrgcase $basic_machine in 15560dd80ee0Smrg score-*) 15578e0ed500Smrg os=-elf 15588e0ed500Smrg ;; 15590dd80ee0Smrg spu-*) 15608e0ed500Smrg os=-elf 15618e0ed500Smrg ;; 156217a48c7cSmrg *-acorn) 156317a48c7cSmrg os=-riscix1.2 156417a48c7cSmrg ;; 156517a48c7cSmrg arm*-rebel) 156617a48c7cSmrg os=-linux 156717a48c7cSmrg ;; 156817a48c7cSmrg arm*-semi) 156917a48c7cSmrg os=-aout 157017a48c7cSmrg ;; 15710dd80ee0Smrg c4x-* | tic4x-*) 15720dd80ee0Smrg os=-coff 15730dd80ee0Smrg ;; 157436e956c5Smrg c8051-*) 157536e956c5Smrg os=-elf 157636e956c5Smrg ;; 157736e956c5Smrg hexagon-*) 157836e956c5Smrg os=-elf 157936e956c5Smrg ;; 15800dd80ee0Smrg tic54x-*) 15810dd80ee0Smrg os=-coff 15820dd80ee0Smrg ;; 15830dd80ee0Smrg tic55x-*) 15840dd80ee0Smrg os=-coff 15850dd80ee0Smrg ;; 15860dd80ee0Smrg tic6x-*) 15870dd80ee0Smrg os=-coff 158817a48c7cSmrg ;; 158917a48c7cSmrg # This must come before the *-dec entry. 159017a48c7cSmrg pdp10-*) 159117a48c7cSmrg os=-tops20 159217a48c7cSmrg ;; 159317a48c7cSmrg pdp11-*) 159417a48c7cSmrg os=-none 159517a48c7cSmrg ;; 159617a48c7cSmrg *-dec | vax-*) 159717a48c7cSmrg os=-ultrix4.2 159817a48c7cSmrg ;; 159917a48c7cSmrg m68*-apollo) 160017a48c7cSmrg os=-domain 160117a48c7cSmrg ;; 160217a48c7cSmrg i386-sun) 160317a48c7cSmrg os=-sunos4.0.2 160417a48c7cSmrg ;; 160517a48c7cSmrg m68000-sun) 160617a48c7cSmrg os=-sunos3 160717a48c7cSmrg ;; 160817a48c7cSmrg m68*-cisco) 160917a48c7cSmrg os=-aout 161017a48c7cSmrg ;; 16110dd80ee0Smrg mep-*) 1612fbed5abfSmrg os=-elf 1613fbed5abfSmrg ;; 161417a48c7cSmrg mips*-cisco) 161517a48c7cSmrg os=-elf 161617a48c7cSmrg ;; 161717a48c7cSmrg mips*-*) 161817a48c7cSmrg os=-elf 161917a48c7cSmrg ;; 162017a48c7cSmrg or32-*) 162117a48c7cSmrg os=-coff 162217a48c7cSmrg ;; 162317a48c7cSmrg *-tti) # must be before sparc entry or we get the wrong os. 162417a48c7cSmrg os=-sysv3 162517a48c7cSmrg ;; 162617a48c7cSmrg sparc-* | *-sun) 162717a48c7cSmrg os=-sunos4.1.1 162817a48c7cSmrg ;; 162917a48c7cSmrg *-be) 163017a48c7cSmrg os=-beos 163117a48c7cSmrg ;; 16328e0ed500Smrg *-haiku) 16338e0ed500Smrg os=-haiku 16348e0ed500Smrg ;; 163517a48c7cSmrg *-ibm) 163617a48c7cSmrg os=-aix 163717a48c7cSmrg ;; 16380dd80ee0Smrg *-knuth) 16398e0ed500Smrg os=-mmixware 16408e0ed500Smrg ;; 164117a48c7cSmrg *-wec) 164217a48c7cSmrg os=-proelf 164317a48c7cSmrg ;; 164417a48c7cSmrg *-winbond) 164517a48c7cSmrg os=-proelf 164617a48c7cSmrg ;; 164717a48c7cSmrg *-oki) 164817a48c7cSmrg os=-proelf 164917a48c7cSmrg ;; 165017a48c7cSmrg *-hp) 165117a48c7cSmrg os=-hpux 165217a48c7cSmrg ;; 165317a48c7cSmrg *-hitachi) 165417a48c7cSmrg os=-hiux 165517a48c7cSmrg ;; 165617a48c7cSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 165717a48c7cSmrg os=-sysv 165817a48c7cSmrg ;; 165917a48c7cSmrg *-cbm) 166017a48c7cSmrg os=-amigaos 166117a48c7cSmrg ;; 166217a48c7cSmrg *-dg) 166317a48c7cSmrg os=-dgux 166417a48c7cSmrg ;; 166517a48c7cSmrg *-dolphin) 166617a48c7cSmrg os=-sysv3 166717a48c7cSmrg ;; 166817a48c7cSmrg m68k-ccur) 166917a48c7cSmrg os=-rtu 167017a48c7cSmrg ;; 167117a48c7cSmrg m88k-omron*) 167217a48c7cSmrg os=-luna 167317a48c7cSmrg ;; 167417a48c7cSmrg *-next ) 167517a48c7cSmrg os=-nextstep 167617a48c7cSmrg ;; 167717a48c7cSmrg *-sequent) 167817a48c7cSmrg os=-ptx 167917a48c7cSmrg ;; 168017a48c7cSmrg *-crds) 168117a48c7cSmrg os=-unos 168217a48c7cSmrg ;; 168317a48c7cSmrg *-ns) 168417a48c7cSmrg os=-genix 168517a48c7cSmrg ;; 168617a48c7cSmrg i370-*) 168717a48c7cSmrg os=-mvs 168817a48c7cSmrg ;; 168917a48c7cSmrg *-next) 169017a48c7cSmrg os=-nextstep3 169117a48c7cSmrg ;; 169217a48c7cSmrg *-gould) 169317a48c7cSmrg os=-sysv 169417a48c7cSmrg ;; 169517a48c7cSmrg *-highlevel) 169617a48c7cSmrg os=-bsd 169717a48c7cSmrg ;; 169817a48c7cSmrg *-encore) 169917a48c7cSmrg os=-bsd 170017a48c7cSmrg ;; 170117a48c7cSmrg *-sgi) 170217a48c7cSmrg os=-irix 170317a48c7cSmrg ;; 170417a48c7cSmrg *-siemens) 170517a48c7cSmrg os=-sysv4 170617a48c7cSmrg ;; 170717a48c7cSmrg *-masscomp) 170817a48c7cSmrg os=-rtu 170917a48c7cSmrg ;; 171017a48c7cSmrg f30[01]-fujitsu | f700-fujitsu) 171117a48c7cSmrg os=-uxpv 171217a48c7cSmrg ;; 171317a48c7cSmrg *-rom68k) 171417a48c7cSmrg os=-coff 171517a48c7cSmrg ;; 171617a48c7cSmrg *-*bug) 171717a48c7cSmrg os=-coff 171817a48c7cSmrg ;; 171917a48c7cSmrg *-apple) 172017a48c7cSmrg os=-macos 172117a48c7cSmrg ;; 172217a48c7cSmrg *-atari*) 172317a48c7cSmrg os=-mint 172417a48c7cSmrg ;; 172517a48c7cSmrg *) 172617a48c7cSmrg os=-none 172717a48c7cSmrg ;; 172817a48c7cSmrgesac 172917a48c7cSmrgfi 173017a48c7cSmrg 173117a48c7cSmrg# Here we handle the case where we know the os, and the CPU type, but not the 173217a48c7cSmrg# manufacturer. We pick the logical manufacturer. 173317a48c7cSmrgvendor=unknown 173417a48c7cSmrgcase $basic_machine in 173517a48c7cSmrg *-unknown) 173617a48c7cSmrg case $os in 173717a48c7cSmrg -riscix*) 173817a48c7cSmrg vendor=acorn 173917a48c7cSmrg ;; 174017a48c7cSmrg -sunos*) 174117a48c7cSmrg vendor=sun 174217a48c7cSmrg ;; 17435f5b92ffSmrg -cnk*|-aix*) 174417a48c7cSmrg vendor=ibm 174517a48c7cSmrg ;; 174617a48c7cSmrg -beos*) 174717a48c7cSmrg vendor=be 174817a48c7cSmrg ;; 174917a48c7cSmrg -hpux*) 175017a48c7cSmrg vendor=hp 175117a48c7cSmrg ;; 175217a48c7cSmrg -mpeix*) 175317a48c7cSmrg vendor=hp 175417a48c7cSmrg ;; 175517a48c7cSmrg -hiux*) 175617a48c7cSmrg vendor=hitachi 175717a48c7cSmrg ;; 175817a48c7cSmrg -unos*) 175917a48c7cSmrg vendor=crds 176017a48c7cSmrg ;; 176117a48c7cSmrg -dgux*) 176217a48c7cSmrg vendor=dg 176317a48c7cSmrg ;; 176417a48c7cSmrg -luna*) 176517a48c7cSmrg vendor=omron 176617a48c7cSmrg ;; 176717a48c7cSmrg -genix*) 176817a48c7cSmrg vendor=ns 176917a48c7cSmrg ;; 177017a48c7cSmrg -mvs* | -opened*) 177117a48c7cSmrg vendor=ibm 177217a48c7cSmrg ;; 17738e0ed500Smrg -os400*) 17748e0ed500Smrg vendor=ibm 17758e0ed500Smrg ;; 177617a48c7cSmrg -ptx*) 177717a48c7cSmrg vendor=sequent 177817a48c7cSmrg ;; 17798e0ed500Smrg -tpf*) 17808e0ed500Smrg vendor=ibm 17818e0ed500Smrg ;; 178217a48c7cSmrg -vxsim* | -vxworks* | -windiss*) 178317a48c7cSmrg vendor=wrs 178417a48c7cSmrg ;; 178517a48c7cSmrg -aux*) 178617a48c7cSmrg vendor=apple 178717a48c7cSmrg ;; 178817a48c7cSmrg -hms*) 178917a48c7cSmrg vendor=hitachi 179017a48c7cSmrg ;; 179117a48c7cSmrg -mpw* | -macos*) 179217a48c7cSmrg vendor=apple 179317a48c7cSmrg ;; 179417a48c7cSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 179517a48c7cSmrg vendor=atari 179617a48c7cSmrg ;; 179717a48c7cSmrg -vos*) 179817a48c7cSmrg vendor=stratus 179917a48c7cSmrg ;; 180017a48c7cSmrg esac 180117a48c7cSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 180217a48c7cSmrg ;; 180317a48c7cSmrgesac 180417a48c7cSmrg 180517a48c7cSmrgecho $basic_machine$os 18068e0ed500Smrgexit 180717a48c7cSmrg 180817a48c7cSmrg# Local variables: 180917a48c7cSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 181017a48c7cSmrg# time-stamp-start: "timestamp='" 181117a48c7cSmrg# time-stamp-format: "%:y-%02m-%02d" 181217a48c7cSmrg# time-stamp-end: "'" 181317a48c7cSmrg# End: 1814