config.sub revision 17ca54c3
117ca54c3Smrg#!/bin/sh 217ca54c3Smrg# Configuration validation subroutine script. 317ca54c3Smrg# Copyright 1992-2017 Free Software Foundation, Inc. 417ca54c3Smrg 517ca54c3Smrgtimestamp='2017-04-02' 617ca54c3Smrg 717ca54c3Smrg# This file is free software; you can redistribute it and/or modify it 817ca54c3Smrg# under the terms of the GNU General Public License as published by 917ca54c3Smrg# the Free Software Foundation; either version 3 of the License, or 1017ca54c3Smrg# (at your option) any later version. 1117ca54c3Smrg# 1217ca54c3Smrg# This program is distributed in the hope that it will be useful, but 1317ca54c3Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1417ca54c3Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1517ca54c3Smrg# General Public License for more details. 1617ca54c3Smrg# 1717ca54c3Smrg# You should have received a copy of the GNU General Public License 1817ca54c3Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 1917ca54c3Smrg# 2017ca54c3Smrg# As a special exception to the GNU General Public License, if you 2117ca54c3Smrg# distribute this file as part of a program that contains a 2217ca54c3Smrg# configuration script generated by Autoconf, you may include it under 2317ca54c3Smrg# the same distribution terms that you use for the rest of that 2417ca54c3Smrg# program. This Exception is an additional permission under section 7 2517ca54c3Smrg# of the GNU General Public License, version 3 ("GPLv3"). 2617ca54c3Smrg 2717ca54c3Smrg 2817ca54c3Smrg# Please send patches to <config-patches@gnu.org>. 2917ca54c3Smrg# 3017ca54c3Smrg# Configuration subroutine to validate and canonicalize a configuration type. 3117ca54c3Smrg# Supply the specified configuration type as an argument. 3217ca54c3Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 3317ca54c3Smrg# Otherwise, we print the canonical config type on stdout and succeed. 3417ca54c3Smrg 3517ca54c3Smrg# You can get the latest version of this script from: 3617ca54c3Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 3717ca54c3Smrg 3817ca54c3Smrg# This file is supposed to be the same for all GNU packages 3917ca54c3Smrg# and recognize all the CPU types, system types and aliases 4017ca54c3Smrg# that are meaningful with *any* GNU software. 4117ca54c3Smrg# Each package is responsible for reporting which valid configurations 4217ca54c3Smrg# it does not support. The user should be able to distinguish 4317ca54c3Smrg# a failure to support a valid configuration from a meaningless 4417ca54c3Smrg# configuration. 4517ca54c3Smrg 4617ca54c3Smrg# The goal of this file is to map all the various variations of a given 4717ca54c3Smrg# machine specification into a single specification in the form: 4817ca54c3Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 4917ca54c3Smrg# or in some cases, the newer four-part form: 5017ca54c3Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 5117ca54c3Smrg# It is wrong to echo any other type of specification. 5217ca54c3Smrg 5317ca54c3Smrgme=`echo "$0" | sed -e 's,.*/,,'` 5417ca54c3Smrg 5517ca54c3Smrgusage="\ 5617ca54c3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 5717ca54c3Smrg 5817ca54c3SmrgCanonicalize a configuration name. 5917ca54c3Smrg 6017ca54c3SmrgOperation modes: 6117ca54c3Smrg -h, --help print this help, then exit 6217ca54c3Smrg -t, --time-stamp print date of last modification, then exit 6317ca54c3Smrg -v, --version print version number, then exit 6417ca54c3Smrg 6517ca54c3SmrgReport bugs and patches to <config-patches@gnu.org>." 6617ca54c3Smrg 6717ca54c3Smrgversion="\ 6817ca54c3SmrgGNU config.sub ($timestamp) 6917ca54c3Smrg 7017ca54c3SmrgCopyright 1992-2017 Free Software Foundation, Inc. 7117ca54c3Smrg 7217ca54c3SmrgThis is free software; see the source for copying conditions. There is NO 7317ca54c3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 7417ca54c3Smrg 7517ca54c3Smrghelp=" 7617ca54c3SmrgTry \`$me --help' for more information." 7717ca54c3Smrg 7817ca54c3Smrg# Parse command line 7917ca54c3Smrgwhile test $# -gt 0 ; do 8017ca54c3Smrg case $1 in 8117ca54c3Smrg --time-stamp | --time* | -t ) 8217ca54c3Smrg echo "$timestamp" ; exit ;; 8317ca54c3Smrg --version | -v ) 8417ca54c3Smrg echo "$version" ; exit ;; 8517ca54c3Smrg --help | --h* | -h ) 8617ca54c3Smrg echo "$usage"; exit ;; 8717ca54c3Smrg -- ) # Stop option processing 8817ca54c3Smrg shift; break ;; 8917ca54c3Smrg - ) # Use stdin as input. 9017ca54c3Smrg break ;; 9117ca54c3Smrg -* ) 9217ca54c3Smrg echo "$me: invalid option $1$help" 9317ca54c3Smrg exit 1 ;; 9417ca54c3Smrg 9517ca54c3Smrg *local*) 9617ca54c3Smrg # First pass through any local machine types. 9717ca54c3Smrg echo $1 9817ca54c3Smrg exit ;; 9917ca54c3Smrg 10017ca54c3Smrg * ) 10117ca54c3Smrg break ;; 10217ca54c3Smrg esac 10317ca54c3Smrgdone 10417ca54c3Smrg 10517ca54c3Smrgcase $# in 10617ca54c3Smrg 0) echo "$me: missing argument$help" >&2 10717ca54c3Smrg exit 1;; 10817ca54c3Smrg 1) ;; 10917ca54c3Smrg *) echo "$me: too many arguments$help" >&2 11017ca54c3Smrg exit 1;; 11117ca54c3Smrgesac 11217ca54c3Smrg 11317ca54c3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 11417ca54c3Smrg# Here we must recognize all the valid KERNEL-OS combinations. 11517ca54c3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 11617ca54c3Smrgcase $maybe_os in 11717ca54c3Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11817ca54c3Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 11917ca54c3Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 12017ca54c3Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 12117ca54c3Smrg storm-chaos* | os2-emx* | rtmk-nova*) 12217ca54c3Smrg os=-$maybe_os 12317ca54c3Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 12417ca54c3Smrg ;; 12517ca54c3Smrg android-linux) 12617ca54c3Smrg os=-linux-android 12717ca54c3Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12817ca54c3Smrg ;; 12917ca54c3Smrg *) 13017ca54c3Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 13117ca54c3Smrg if [ $basic_machine != $1 ] 13217ca54c3Smrg then os=`echo $1 | sed 's/.*-/-/'` 13317ca54c3Smrg else os=; fi 13417ca54c3Smrg ;; 13517ca54c3Smrgesac 13617ca54c3Smrg 13717ca54c3Smrg### Let's recognize common machines as not being operating systems so 13817ca54c3Smrg### that things like config.sub decstation-3100 work. We also 13917ca54c3Smrg### recognize some manufacturers as not being operating systems, so we 14017ca54c3Smrg### can provide default operating systems below. 14117ca54c3Smrgcase $os in 14217ca54c3Smrg -sun*os*) 14317ca54c3Smrg # Prevent following clause from handling this invalid input. 14417ca54c3Smrg ;; 14517ca54c3Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 14617ca54c3Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 14717ca54c3Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 14817ca54c3Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 14917ca54c3Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 15017ca54c3Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15117ca54c3Smrg -apple | -axis | -knuth | -cray | -microblaze*) 15217ca54c3Smrg os= 15317ca54c3Smrg basic_machine=$1 15417ca54c3Smrg ;; 15517ca54c3Smrg -bluegene*) 15617ca54c3Smrg os=-cnk 15717ca54c3Smrg ;; 15817ca54c3Smrg -sim | -cisco | -oki | -wec | -winbond) 15917ca54c3Smrg os= 16017ca54c3Smrg basic_machine=$1 16117ca54c3Smrg ;; 16217ca54c3Smrg -scout) 16317ca54c3Smrg ;; 16417ca54c3Smrg -wrs) 16517ca54c3Smrg os=-vxworks 16617ca54c3Smrg basic_machine=$1 16717ca54c3Smrg ;; 16817ca54c3Smrg -chorusos*) 16917ca54c3Smrg os=-chorusos 17017ca54c3Smrg basic_machine=$1 17117ca54c3Smrg ;; 17217ca54c3Smrg -chorusrdb) 17317ca54c3Smrg os=-chorusrdb 17417ca54c3Smrg basic_machine=$1 17517ca54c3Smrg ;; 17617ca54c3Smrg -hiux*) 17717ca54c3Smrg os=-hiuxwe2 17817ca54c3Smrg ;; 17917ca54c3Smrg -sco6) 18017ca54c3Smrg os=-sco5v6 18117ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18217ca54c3Smrg ;; 18317ca54c3Smrg -sco5) 18417ca54c3Smrg os=-sco3.2v5 18517ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18617ca54c3Smrg ;; 18717ca54c3Smrg -sco4) 18817ca54c3Smrg os=-sco3.2v4 18917ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19017ca54c3Smrg ;; 19117ca54c3Smrg -sco3.2.[4-9]*) 19217ca54c3Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 19317ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19417ca54c3Smrg ;; 19517ca54c3Smrg -sco3.2v[4-9]*) 19617ca54c3Smrg # Don't forget version if it is 3.2v4 or newer. 19717ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 19817ca54c3Smrg ;; 19917ca54c3Smrg -sco5v6*) 20017ca54c3Smrg # Don't forget version if it is 3.2v4 or newer. 20117ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20217ca54c3Smrg ;; 20317ca54c3Smrg -sco*) 20417ca54c3Smrg os=-sco3.2v2 20517ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20617ca54c3Smrg ;; 20717ca54c3Smrg -udk*) 20817ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20917ca54c3Smrg ;; 21017ca54c3Smrg -isc) 21117ca54c3Smrg os=-isc2.2 21217ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21317ca54c3Smrg ;; 21417ca54c3Smrg -clix*) 21517ca54c3Smrg basic_machine=clipper-intergraph 21617ca54c3Smrg ;; 21717ca54c3Smrg -isc*) 21817ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 21917ca54c3Smrg ;; 22017ca54c3Smrg -lynx*178) 22117ca54c3Smrg os=-lynxos178 22217ca54c3Smrg ;; 22317ca54c3Smrg -lynx*5) 22417ca54c3Smrg os=-lynxos5 22517ca54c3Smrg ;; 22617ca54c3Smrg -lynx*) 22717ca54c3Smrg os=-lynxos 22817ca54c3Smrg ;; 22917ca54c3Smrg -ptx*) 23017ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 23117ca54c3Smrg ;; 23217ca54c3Smrg -windowsnt*) 23317ca54c3Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 23417ca54c3Smrg ;; 23517ca54c3Smrg -psos*) 23617ca54c3Smrg os=-psos 23717ca54c3Smrg ;; 23817ca54c3Smrg -mint | -mint[0-9]*) 23917ca54c3Smrg basic_machine=m68k-atari 24017ca54c3Smrg os=-mint 24117ca54c3Smrg ;; 24217ca54c3Smrgesac 24317ca54c3Smrg 24417ca54c3Smrg# Decode aliases for certain CPU-COMPANY combinations. 24517ca54c3Smrgcase $basic_machine in 24617ca54c3Smrg # Recognize the basic CPU types without company name. 24717ca54c3Smrg # Some are omitted here because they have special meanings below. 24817ca54c3Smrg 1750a | 580 \ 24917ca54c3Smrg | a29k \ 25017ca54c3Smrg | aarch64 | aarch64_be \ 25117ca54c3Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 25217ca54c3Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 25317ca54c3Smrg | am33_2.0 \ 25417ca54c3Smrg | arc | arceb \ 25517ca54c3Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25617ca54c3Smrg | avr | avr32 \ 25717ca54c3Smrg | ba \ 25817ca54c3Smrg | be32 | be64 \ 25917ca54c3Smrg | bfin \ 26017ca54c3Smrg | c4x | c8051 | clipper \ 26117ca54c3Smrg | d10v | d30v | dlx | dsp16xx \ 26217ca54c3Smrg | e2k | epiphany \ 26317ca54c3Smrg | fido | fr30 | frv | ft32 \ 26417ca54c3Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 26517ca54c3Smrg | hexagon \ 26617ca54c3Smrg | i370 | i860 | i960 | ia16 | ia64 \ 26717ca54c3Smrg | ip2k | iq2000 \ 26817ca54c3Smrg | k1om \ 26917ca54c3Smrg | le32 | le64 \ 27017ca54c3Smrg | lm32 \ 27117ca54c3Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 27217ca54c3Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 27317ca54c3Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 27417ca54c3Smrg | mips16 \ 27517ca54c3Smrg | mips64 | mips64el \ 27617ca54c3Smrg | mips64octeon | mips64octeonel \ 27717ca54c3Smrg | mips64orion | mips64orionel \ 27817ca54c3Smrg | mips64r5900 | mips64r5900el \ 27917ca54c3Smrg | mips64vr | mips64vrel \ 28017ca54c3Smrg | mips64vr4100 | mips64vr4100el \ 28117ca54c3Smrg | mips64vr4300 | mips64vr4300el \ 28217ca54c3Smrg | mips64vr5000 | mips64vr5000el \ 28317ca54c3Smrg | mips64vr5900 | mips64vr5900el \ 28417ca54c3Smrg | mipsisa32 | mipsisa32el \ 28517ca54c3Smrg | mipsisa32r2 | mipsisa32r2el \ 28617ca54c3Smrg | mipsisa32r6 | mipsisa32r6el \ 28717ca54c3Smrg | mipsisa64 | mipsisa64el \ 28817ca54c3Smrg | mipsisa64r2 | mipsisa64r2el \ 28917ca54c3Smrg | mipsisa64r6 | mipsisa64r6el \ 29017ca54c3Smrg | mipsisa64sb1 | mipsisa64sb1el \ 29117ca54c3Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 29217ca54c3Smrg | mipsr5900 | mipsr5900el \ 29317ca54c3Smrg | mipstx39 | mipstx39el \ 29417ca54c3Smrg | mn10200 | mn10300 \ 29517ca54c3Smrg | moxie \ 29617ca54c3Smrg | mt \ 29717ca54c3Smrg | msp430 \ 29817ca54c3Smrg | nds32 | nds32le | nds32be \ 29917ca54c3Smrg | nios | nios2 | nios2eb | nios2el \ 30017ca54c3Smrg | ns16k | ns32k \ 30117ca54c3Smrg | open8 | or1k | or1knd | or32 \ 30217ca54c3Smrg | pdp10 | pdp11 | pj | pjl \ 30317ca54c3Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 30417ca54c3Smrg | pru \ 30517ca54c3Smrg | pyramid \ 30617ca54c3Smrg | riscv32 | riscv64 \ 30717ca54c3Smrg | rl78 | rx \ 30817ca54c3Smrg | score \ 30917ca54c3Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 31017ca54c3Smrg | sh64 | sh64le \ 31117ca54c3Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 31217ca54c3Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 31317ca54c3Smrg | spu \ 31417ca54c3Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 31517ca54c3Smrg | ubicom32 \ 31617ca54c3Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31717ca54c3Smrg | visium \ 31817ca54c3Smrg | wasm32 \ 31917ca54c3Smrg | we32k \ 32017ca54c3Smrg | x86 | xc16x | xstormy16 | xtensa \ 32117ca54c3Smrg | z8k | z80) 32217ca54c3Smrg basic_machine=$basic_machine-unknown 32317ca54c3Smrg ;; 32417ca54c3Smrg c54x) 32517ca54c3Smrg basic_machine=tic54x-unknown 32617ca54c3Smrg ;; 32717ca54c3Smrg c55x) 32817ca54c3Smrg basic_machine=tic55x-unknown 32917ca54c3Smrg ;; 33017ca54c3Smrg c6x) 33117ca54c3Smrg basic_machine=tic6x-unknown 33217ca54c3Smrg ;; 33317ca54c3Smrg leon|leon[3-9]) 33417ca54c3Smrg basic_machine=sparc-$basic_machine 33517ca54c3Smrg ;; 33617ca54c3Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 33717ca54c3Smrg basic_machine=$basic_machine-unknown 33817ca54c3Smrg os=-none 33917ca54c3Smrg ;; 34017ca54c3Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 34117ca54c3Smrg ;; 34217ca54c3Smrg ms1) 34317ca54c3Smrg basic_machine=mt-unknown 34417ca54c3Smrg ;; 34517ca54c3Smrg 34617ca54c3Smrg strongarm | thumb | xscale) 34717ca54c3Smrg basic_machine=arm-unknown 34817ca54c3Smrg ;; 34917ca54c3Smrg xgate) 35017ca54c3Smrg basic_machine=$basic_machine-unknown 35117ca54c3Smrg os=-none 35217ca54c3Smrg ;; 35317ca54c3Smrg xscaleeb) 35417ca54c3Smrg basic_machine=armeb-unknown 35517ca54c3Smrg ;; 35617ca54c3Smrg 35717ca54c3Smrg xscaleel) 35817ca54c3Smrg basic_machine=armel-unknown 35917ca54c3Smrg ;; 36017ca54c3Smrg 36117ca54c3Smrg # We use `pc' rather than `unknown' 36217ca54c3Smrg # because (1) that's what they normally are, and 36317ca54c3Smrg # (2) the word "unknown" tends to confuse beginning users. 36417ca54c3Smrg i*86 | x86_64) 36517ca54c3Smrg basic_machine=$basic_machine-pc 36617ca54c3Smrg ;; 36717ca54c3Smrg # Object if more than one company name word. 36817ca54c3Smrg *-*-*) 36917ca54c3Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 37017ca54c3Smrg exit 1 37117ca54c3Smrg ;; 37217ca54c3Smrg # Recognize the basic CPU types with company name. 37317ca54c3Smrg 580-* \ 37417ca54c3Smrg | a29k-* \ 37517ca54c3Smrg | aarch64-* | aarch64_be-* \ 37617ca54c3Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 37717ca54c3Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37817ca54c3Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 37917ca54c3Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 38017ca54c3Smrg | avr-* | avr32-* \ 38117ca54c3Smrg | ba-* \ 38217ca54c3Smrg | be32-* | be64-* \ 38317ca54c3Smrg | bfin-* | bs2000-* \ 38417ca54c3Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38517ca54c3Smrg | c8051-* | clipper-* | craynv-* | cydra-* \ 38617ca54c3Smrg | d10v-* | d30v-* | dlx-* \ 38717ca54c3Smrg | e2k-* | elxsi-* \ 38817ca54c3Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 38917ca54c3Smrg | h8300-* | h8500-* \ 39017ca54c3Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 39117ca54c3Smrg | hexagon-* \ 39217ca54c3Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 39317ca54c3Smrg | ip2k-* | iq2000-* \ 39417ca54c3Smrg | k1om-* \ 39517ca54c3Smrg | le32-* | le64-* \ 39617ca54c3Smrg | lm32-* \ 39717ca54c3Smrg | m32c-* | m32r-* | m32rle-* \ 39817ca54c3Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39917ca54c3Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 40017ca54c3Smrg | microblaze-* | microblazeel-* \ 40117ca54c3Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 40217ca54c3Smrg | mips16-* \ 40317ca54c3Smrg | mips64-* | mips64el-* \ 40417ca54c3Smrg | mips64octeon-* | mips64octeonel-* \ 40517ca54c3Smrg | mips64orion-* | mips64orionel-* \ 40617ca54c3Smrg | mips64r5900-* | mips64r5900el-* \ 40717ca54c3Smrg | mips64vr-* | mips64vrel-* \ 40817ca54c3Smrg | mips64vr4100-* | mips64vr4100el-* \ 40917ca54c3Smrg | mips64vr4300-* | mips64vr4300el-* \ 41017ca54c3Smrg | mips64vr5000-* | mips64vr5000el-* \ 41117ca54c3Smrg | mips64vr5900-* | mips64vr5900el-* \ 41217ca54c3Smrg | mipsisa32-* | mipsisa32el-* \ 41317ca54c3Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41417ca54c3Smrg | mipsisa32r6-* | mipsisa32r6el-* \ 41517ca54c3Smrg | mipsisa64-* | mipsisa64el-* \ 41617ca54c3Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41717ca54c3Smrg | mipsisa64r6-* | mipsisa64r6el-* \ 41817ca54c3Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 41917ca54c3Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 42017ca54c3Smrg | mipsr5900-* | mipsr5900el-* \ 42117ca54c3Smrg | mipstx39-* | mipstx39el-* \ 42217ca54c3Smrg | mmix-* \ 42317ca54c3Smrg | mt-* \ 42417ca54c3Smrg | msp430-* \ 42517ca54c3Smrg | nds32-* | nds32le-* | nds32be-* \ 42617ca54c3Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 42717ca54c3Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 42817ca54c3Smrg | open8-* \ 42917ca54c3Smrg | or1k*-* \ 43017ca54c3Smrg | orion-* \ 43117ca54c3Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 43217ca54c3Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 43317ca54c3Smrg | pru-* \ 43417ca54c3Smrg | pyramid-* \ 43517ca54c3Smrg | riscv32-* | riscv64-* \ 43617ca54c3Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 43717ca54c3Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 43817ca54c3Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 43917ca54c3Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 44017ca54c3Smrg | sparclite-* \ 44117ca54c3Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 44217ca54c3Smrg | tahoe-* \ 44317ca54c3Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 44417ca54c3Smrg | tile*-* \ 44517ca54c3Smrg | tron-* \ 44617ca54c3Smrg | ubicom32-* \ 44717ca54c3Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 44817ca54c3Smrg | vax-* \ 44917ca54c3Smrg | visium-* \ 45017ca54c3Smrg | wasm32-* \ 45117ca54c3Smrg | we32k-* \ 45217ca54c3Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 45317ca54c3Smrg | xstormy16-* | xtensa*-* \ 45417ca54c3Smrg | ymp-* \ 45517ca54c3Smrg | z8k-* | z80-*) 45617ca54c3Smrg ;; 45717ca54c3Smrg # Recognize the basic CPU types without company name, with glob match. 45817ca54c3Smrg xtensa*) 45917ca54c3Smrg basic_machine=$basic_machine-unknown 46017ca54c3Smrg ;; 46117ca54c3Smrg # Recognize the various machine names and aliases which stand 46217ca54c3Smrg # for a CPU type and a company and sometimes even an OS. 46317ca54c3Smrg 386bsd) 46417ca54c3Smrg basic_machine=i386-unknown 46517ca54c3Smrg os=-bsd 46617ca54c3Smrg ;; 46717ca54c3Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 46817ca54c3Smrg basic_machine=m68000-att 46917ca54c3Smrg ;; 47017ca54c3Smrg 3b*) 47117ca54c3Smrg basic_machine=we32k-att 47217ca54c3Smrg ;; 47317ca54c3Smrg a29khif) 47417ca54c3Smrg basic_machine=a29k-amd 47517ca54c3Smrg os=-udi 47617ca54c3Smrg ;; 47717ca54c3Smrg abacus) 47817ca54c3Smrg basic_machine=abacus-unknown 47917ca54c3Smrg ;; 48017ca54c3Smrg adobe68k) 48117ca54c3Smrg basic_machine=m68010-adobe 48217ca54c3Smrg os=-scout 48317ca54c3Smrg ;; 48417ca54c3Smrg alliant | fx80) 48517ca54c3Smrg basic_machine=fx80-alliant 48617ca54c3Smrg ;; 48717ca54c3Smrg altos | altos3068) 48817ca54c3Smrg basic_machine=m68k-altos 48917ca54c3Smrg ;; 49017ca54c3Smrg am29k) 49117ca54c3Smrg basic_machine=a29k-none 49217ca54c3Smrg os=-bsd 49317ca54c3Smrg ;; 49417ca54c3Smrg amd64) 49517ca54c3Smrg basic_machine=x86_64-pc 49617ca54c3Smrg ;; 49717ca54c3Smrg amd64-*) 49817ca54c3Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 49917ca54c3Smrg ;; 50017ca54c3Smrg amdahl) 50117ca54c3Smrg basic_machine=580-amdahl 50217ca54c3Smrg os=-sysv 50317ca54c3Smrg ;; 50417ca54c3Smrg amiga | amiga-*) 50517ca54c3Smrg basic_machine=m68k-unknown 50617ca54c3Smrg ;; 50717ca54c3Smrg amigaos | amigados) 50817ca54c3Smrg basic_machine=m68k-unknown 50917ca54c3Smrg os=-amigaos 51017ca54c3Smrg ;; 51117ca54c3Smrg amigaunix | amix) 51217ca54c3Smrg basic_machine=m68k-unknown 51317ca54c3Smrg os=-sysv4 51417ca54c3Smrg ;; 51517ca54c3Smrg apollo68) 51617ca54c3Smrg basic_machine=m68k-apollo 51717ca54c3Smrg os=-sysv 51817ca54c3Smrg ;; 51917ca54c3Smrg apollo68bsd) 52017ca54c3Smrg basic_machine=m68k-apollo 52117ca54c3Smrg os=-bsd 52217ca54c3Smrg ;; 52317ca54c3Smrg aros) 52417ca54c3Smrg basic_machine=i386-pc 52517ca54c3Smrg os=-aros 52617ca54c3Smrg ;; 52717ca54c3Smrg asmjs) 52817ca54c3Smrg basic_machine=asmjs-unknown 52917ca54c3Smrg ;; 53017ca54c3Smrg aux) 53117ca54c3Smrg basic_machine=m68k-apple 53217ca54c3Smrg os=-aux 53317ca54c3Smrg ;; 53417ca54c3Smrg balance) 53517ca54c3Smrg basic_machine=ns32k-sequent 53617ca54c3Smrg os=-dynix 53717ca54c3Smrg ;; 53817ca54c3Smrg blackfin) 53917ca54c3Smrg basic_machine=bfin-unknown 54017ca54c3Smrg os=-linux 54117ca54c3Smrg ;; 54217ca54c3Smrg blackfin-*) 54317ca54c3Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 54417ca54c3Smrg os=-linux 54517ca54c3Smrg ;; 54617ca54c3Smrg bluegene*) 54717ca54c3Smrg basic_machine=powerpc-ibm 54817ca54c3Smrg os=-cnk 54917ca54c3Smrg ;; 55017ca54c3Smrg c54x-*) 55117ca54c3Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 55217ca54c3Smrg ;; 55317ca54c3Smrg c55x-*) 55417ca54c3Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 55517ca54c3Smrg ;; 55617ca54c3Smrg c6x-*) 55717ca54c3Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 55817ca54c3Smrg ;; 55917ca54c3Smrg c90) 56017ca54c3Smrg basic_machine=c90-cray 56117ca54c3Smrg os=-unicos 56217ca54c3Smrg ;; 56317ca54c3Smrg cegcc) 56417ca54c3Smrg basic_machine=arm-unknown 56517ca54c3Smrg os=-cegcc 56617ca54c3Smrg ;; 56717ca54c3Smrg convex-c1) 56817ca54c3Smrg basic_machine=c1-convex 56917ca54c3Smrg os=-bsd 57017ca54c3Smrg ;; 57117ca54c3Smrg convex-c2) 57217ca54c3Smrg basic_machine=c2-convex 57317ca54c3Smrg os=-bsd 57417ca54c3Smrg ;; 57517ca54c3Smrg convex-c32) 57617ca54c3Smrg basic_machine=c32-convex 57717ca54c3Smrg os=-bsd 57817ca54c3Smrg ;; 57917ca54c3Smrg convex-c34) 58017ca54c3Smrg basic_machine=c34-convex 58117ca54c3Smrg os=-bsd 58217ca54c3Smrg ;; 58317ca54c3Smrg convex-c38) 58417ca54c3Smrg basic_machine=c38-convex 58517ca54c3Smrg os=-bsd 58617ca54c3Smrg ;; 58717ca54c3Smrg cray | j90) 58817ca54c3Smrg basic_machine=j90-cray 58917ca54c3Smrg os=-unicos 59017ca54c3Smrg ;; 59117ca54c3Smrg craynv) 59217ca54c3Smrg basic_machine=craynv-cray 59317ca54c3Smrg os=-unicosmp 59417ca54c3Smrg ;; 59517ca54c3Smrg cr16 | cr16-*) 59617ca54c3Smrg basic_machine=cr16-unknown 59717ca54c3Smrg os=-elf 59817ca54c3Smrg ;; 59917ca54c3Smrg crds | unos) 60017ca54c3Smrg basic_machine=m68k-crds 60117ca54c3Smrg ;; 60217ca54c3Smrg crisv32 | crisv32-* | etraxfs*) 60317ca54c3Smrg basic_machine=crisv32-axis 60417ca54c3Smrg ;; 60517ca54c3Smrg cris | cris-* | etrax*) 60617ca54c3Smrg basic_machine=cris-axis 60717ca54c3Smrg ;; 60817ca54c3Smrg crx) 60917ca54c3Smrg basic_machine=crx-unknown 61017ca54c3Smrg os=-elf 61117ca54c3Smrg ;; 61217ca54c3Smrg da30 | da30-*) 61317ca54c3Smrg basic_machine=m68k-da30 61417ca54c3Smrg ;; 61517ca54c3Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 61617ca54c3Smrg basic_machine=mips-dec 61717ca54c3Smrg ;; 61817ca54c3Smrg decsystem10* | dec10*) 61917ca54c3Smrg basic_machine=pdp10-dec 62017ca54c3Smrg os=-tops10 62117ca54c3Smrg ;; 62217ca54c3Smrg decsystem20* | dec20*) 62317ca54c3Smrg basic_machine=pdp10-dec 62417ca54c3Smrg os=-tops20 62517ca54c3Smrg ;; 62617ca54c3Smrg delta | 3300 | motorola-3300 | motorola-delta \ 62717ca54c3Smrg | 3300-motorola | delta-motorola) 62817ca54c3Smrg basic_machine=m68k-motorola 62917ca54c3Smrg ;; 63017ca54c3Smrg delta88) 63117ca54c3Smrg basic_machine=m88k-motorola 63217ca54c3Smrg os=-sysv3 63317ca54c3Smrg ;; 63417ca54c3Smrg dicos) 63517ca54c3Smrg basic_machine=i686-pc 63617ca54c3Smrg os=-dicos 63717ca54c3Smrg ;; 63817ca54c3Smrg djgpp) 63917ca54c3Smrg basic_machine=i586-pc 64017ca54c3Smrg os=-msdosdjgpp 64117ca54c3Smrg ;; 64217ca54c3Smrg dpx20 | dpx20-*) 64317ca54c3Smrg basic_machine=rs6000-bull 64417ca54c3Smrg os=-bosx 64517ca54c3Smrg ;; 64617ca54c3Smrg dpx2* | dpx2*-bull) 64717ca54c3Smrg basic_machine=m68k-bull 64817ca54c3Smrg os=-sysv3 64917ca54c3Smrg ;; 65017ca54c3Smrg e500v[12]) 65117ca54c3Smrg basic_machine=powerpc-unknown 65217ca54c3Smrg os=$os"spe" 65317ca54c3Smrg ;; 65417ca54c3Smrg e500v[12]-*) 65517ca54c3Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 65617ca54c3Smrg os=$os"spe" 65717ca54c3Smrg ;; 65817ca54c3Smrg ebmon29k) 65917ca54c3Smrg basic_machine=a29k-amd 66017ca54c3Smrg os=-ebmon 66117ca54c3Smrg ;; 66217ca54c3Smrg elxsi) 66317ca54c3Smrg basic_machine=elxsi-elxsi 66417ca54c3Smrg os=-bsd 66517ca54c3Smrg ;; 66617ca54c3Smrg encore | umax | mmax) 66717ca54c3Smrg basic_machine=ns32k-encore 66817ca54c3Smrg ;; 66917ca54c3Smrg es1800 | OSE68k | ose68k | ose | OSE) 67017ca54c3Smrg basic_machine=m68k-ericsson 67117ca54c3Smrg os=-ose 67217ca54c3Smrg ;; 67317ca54c3Smrg fx2800) 67417ca54c3Smrg basic_machine=i860-alliant 67517ca54c3Smrg ;; 67617ca54c3Smrg genix) 67717ca54c3Smrg basic_machine=ns32k-ns 67817ca54c3Smrg ;; 67917ca54c3Smrg gmicro) 68017ca54c3Smrg basic_machine=tron-gmicro 68117ca54c3Smrg os=-sysv 68217ca54c3Smrg ;; 68317ca54c3Smrg go32) 68417ca54c3Smrg basic_machine=i386-pc 68517ca54c3Smrg os=-go32 68617ca54c3Smrg ;; 68717ca54c3Smrg h3050r* | hiux*) 68817ca54c3Smrg basic_machine=hppa1.1-hitachi 68917ca54c3Smrg os=-hiuxwe2 69017ca54c3Smrg ;; 69117ca54c3Smrg h8300hms) 69217ca54c3Smrg basic_machine=h8300-hitachi 69317ca54c3Smrg os=-hms 69417ca54c3Smrg ;; 69517ca54c3Smrg h8300xray) 69617ca54c3Smrg basic_machine=h8300-hitachi 69717ca54c3Smrg os=-xray 69817ca54c3Smrg ;; 69917ca54c3Smrg h8500hms) 70017ca54c3Smrg basic_machine=h8500-hitachi 70117ca54c3Smrg os=-hms 70217ca54c3Smrg ;; 70317ca54c3Smrg harris) 70417ca54c3Smrg basic_machine=m88k-harris 70517ca54c3Smrg os=-sysv3 70617ca54c3Smrg ;; 70717ca54c3Smrg hp300-*) 70817ca54c3Smrg basic_machine=m68k-hp 70917ca54c3Smrg ;; 71017ca54c3Smrg hp300bsd) 71117ca54c3Smrg basic_machine=m68k-hp 71217ca54c3Smrg os=-bsd 71317ca54c3Smrg ;; 71417ca54c3Smrg hp300hpux) 71517ca54c3Smrg basic_machine=m68k-hp 71617ca54c3Smrg os=-hpux 71717ca54c3Smrg ;; 71817ca54c3Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 71917ca54c3Smrg basic_machine=hppa1.0-hp 72017ca54c3Smrg ;; 72117ca54c3Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 72217ca54c3Smrg basic_machine=m68000-hp 72317ca54c3Smrg ;; 72417ca54c3Smrg hp9k3[2-9][0-9]) 72517ca54c3Smrg basic_machine=m68k-hp 72617ca54c3Smrg ;; 72717ca54c3Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 72817ca54c3Smrg basic_machine=hppa1.0-hp 72917ca54c3Smrg ;; 73017ca54c3Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 73117ca54c3Smrg basic_machine=hppa1.1-hp 73217ca54c3Smrg ;; 73317ca54c3Smrg hp9k78[0-9] | hp78[0-9]) 73417ca54c3Smrg # FIXME: really hppa2.0-hp 73517ca54c3Smrg basic_machine=hppa1.1-hp 73617ca54c3Smrg ;; 73717ca54c3Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 73817ca54c3Smrg # FIXME: really hppa2.0-hp 73917ca54c3Smrg basic_machine=hppa1.1-hp 74017ca54c3Smrg ;; 74117ca54c3Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 74217ca54c3Smrg basic_machine=hppa1.1-hp 74317ca54c3Smrg ;; 74417ca54c3Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 74517ca54c3Smrg basic_machine=hppa1.0-hp 74617ca54c3Smrg ;; 74717ca54c3Smrg hppa-next) 74817ca54c3Smrg os=-nextstep3 74917ca54c3Smrg ;; 75017ca54c3Smrg hppaosf) 75117ca54c3Smrg basic_machine=hppa1.1-hp 75217ca54c3Smrg os=-osf 75317ca54c3Smrg ;; 75417ca54c3Smrg hppro) 75517ca54c3Smrg basic_machine=hppa1.1-hp 75617ca54c3Smrg os=-proelf 75717ca54c3Smrg ;; 75817ca54c3Smrg i370-ibm* | ibm*) 75917ca54c3Smrg basic_machine=i370-ibm 76017ca54c3Smrg ;; 76117ca54c3Smrg i*86v32) 76217ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76317ca54c3Smrg os=-sysv32 76417ca54c3Smrg ;; 76517ca54c3Smrg i*86v4*) 76617ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 76717ca54c3Smrg os=-sysv4 76817ca54c3Smrg ;; 76917ca54c3Smrg i*86v) 77017ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77117ca54c3Smrg os=-sysv 77217ca54c3Smrg ;; 77317ca54c3Smrg i*86sol2) 77417ca54c3Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 77517ca54c3Smrg os=-solaris2 77617ca54c3Smrg ;; 77717ca54c3Smrg i386mach) 77817ca54c3Smrg basic_machine=i386-mach 77917ca54c3Smrg os=-mach 78017ca54c3Smrg ;; 78117ca54c3Smrg i386-vsta | vsta) 78217ca54c3Smrg basic_machine=i386-unknown 78317ca54c3Smrg os=-vsta 78417ca54c3Smrg ;; 78517ca54c3Smrg iris | iris4d) 78617ca54c3Smrg basic_machine=mips-sgi 78717ca54c3Smrg case $os in 78817ca54c3Smrg -irix*) 78917ca54c3Smrg ;; 79017ca54c3Smrg *) 79117ca54c3Smrg os=-irix4 79217ca54c3Smrg ;; 79317ca54c3Smrg esac 79417ca54c3Smrg ;; 79517ca54c3Smrg isi68 | isi) 79617ca54c3Smrg basic_machine=m68k-isi 79717ca54c3Smrg os=-sysv 79817ca54c3Smrg ;; 79917ca54c3Smrg leon-*|leon[3-9]-*) 80017ca54c3Smrg basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` 80117ca54c3Smrg ;; 80217ca54c3Smrg m68knommu) 80317ca54c3Smrg basic_machine=m68k-unknown 80417ca54c3Smrg os=-linux 80517ca54c3Smrg ;; 80617ca54c3Smrg m68knommu-*) 80717ca54c3Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 80817ca54c3Smrg os=-linux 80917ca54c3Smrg ;; 81017ca54c3Smrg m88k-omron*) 81117ca54c3Smrg basic_machine=m88k-omron 81217ca54c3Smrg ;; 81317ca54c3Smrg magnum | m3230) 81417ca54c3Smrg basic_machine=mips-mips 81517ca54c3Smrg os=-sysv 81617ca54c3Smrg ;; 81717ca54c3Smrg merlin) 81817ca54c3Smrg basic_machine=ns32k-utek 81917ca54c3Smrg os=-sysv 82017ca54c3Smrg ;; 82117ca54c3Smrg microblaze*) 82217ca54c3Smrg basic_machine=microblaze-xilinx 82317ca54c3Smrg ;; 82417ca54c3Smrg mingw64) 82517ca54c3Smrg basic_machine=x86_64-pc 82617ca54c3Smrg os=-mingw64 82717ca54c3Smrg ;; 82817ca54c3Smrg mingw32) 82917ca54c3Smrg basic_machine=i686-pc 83017ca54c3Smrg os=-mingw32 83117ca54c3Smrg ;; 83217ca54c3Smrg mingw32ce) 83317ca54c3Smrg basic_machine=arm-unknown 83417ca54c3Smrg os=-mingw32ce 83517ca54c3Smrg ;; 83617ca54c3Smrg miniframe) 83717ca54c3Smrg basic_machine=m68000-convergent 83817ca54c3Smrg ;; 83917ca54c3Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 84017ca54c3Smrg basic_machine=m68k-atari 84117ca54c3Smrg os=-mint 84217ca54c3Smrg ;; 84317ca54c3Smrg mips3*-*) 84417ca54c3Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 84517ca54c3Smrg ;; 84617ca54c3Smrg mips3*) 84717ca54c3Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 84817ca54c3Smrg ;; 84917ca54c3Smrg monitor) 85017ca54c3Smrg basic_machine=m68k-rom68k 85117ca54c3Smrg os=-coff 85217ca54c3Smrg ;; 85317ca54c3Smrg morphos) 85417ca54c3Smrg basic_machine=powerpc-unknown 85517ca54c3Smrg os=-morphos 85617ca54c3Smrg ;; 85717ca54c3Smrg moxiebox) 85817ca54c3Smrg basic_machine=moxie-unknown 85917ca54c3Smrg os=-moxiebox 86017ca54c3Smrg ;; 86117ca54c3Smrg msdos) 86217ca54c3Smrg basic_machine=i386-pc 86317ca54c3Smrg os=-msdos 86417ca54c3Smrg ;; 86517ca54c3Smrg ms1-*) 86617ca54c3Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 86717ca54c3Smrg ;; 86817ca54c3Smrg msys) 86917ca54c3Smrg basic_machine=i686-pc 87017ca54c3Smrg os=-msys 87117ca54c3Smrg ;; 87217ca54c3Smrg mvs) 87317ca54c3Smrg basic_machine=i370-ibm 87417ca54c3Smrg os=-mvs 87517ca54c3Smrg ;; 87617ca54c3Smrg nacl) 87717ca54c3Smrg basic_machine=le32-unknown 87817ca54c3Smrg os=-nacl 87917ca54c3Smrg ;; 88017ca54c3Smrg ncr3000) 88117ca54c3Smrg basic_machine=i486-ncr 88217ca54c3Smrg os=-sysv4 88317ca54c3Smrg ;; 88417ca54c3Smrg netbsd386) 88517ca54c3Smrg basic_machine=i386-unknown 88617ca54c3Smrg os=-netbsd 88717ca54c3Smrg ;; 88817ca54c3Smrg netwinder) 88917ca54c3Smrg basic_machine=armv4l-rebel 89017ca54c3Smrg os=-linux 89117ca54c3Smrg ;; 89217ca54c3Smrg news | news700 | news800 | news900) 89317ca54c3Smrg basic_machine=m68k-sony 89417ca54c3Smrg os=-newsos 89517ca54c3Smrg ;; 89617ca54c3Smrg news1000) 89717ca54c3Smrg basic_machine=m68030-sony 89817ca54c3Smrg os=-newsos 89917ca54c3Smrg ;; 90017ca54c3Smrg news-3600 | risc-news) 90117ca54c3Smrg basic_machine=mips-sony 90217ca54c3Smrg os=-newsos 90317ca54c3Smrg ;; 90417ca54c3Smrg necv70) 90517ca54c3Smrg basic_machine=v70-nec 90617ca54c3Smrg os=-sysv 90717ca54c3Smrg ;; 90817ca54c3Smrg next | m*-next ) 90917ca54c3Smrg basic_machine=m68k-next 91017ca54c3Smrg case $os in 91117ca54c3Smrg -nextstep* ) 91217ca54c3Smrg ;; 91317ca54c3Smrg -ns2*) 91417ca54c3Smrg os=-nextstep2 91517ca54c3Smrg ;; 91617ca54c3Smrg *) 91717ca54c3Smrg os=-nextstep3 91817ca54c3Smrg ;; 91917ca54c3Smrg esac 92017ca54c3Smrg ;; 92117ca54c3Smrg nh3000) 92217ca54c3Smrg basic_machine=m68k-harris 92317ca54c3Smrg os=-cxux 92417ca54c3Smrg ;; 92517ca54c3Smrg nh[45]000) 92617ca54c3Smrg basic_machine=m88k-harris 92717ca54c3Smrg os=-cxux 92817ca54c3Smrg ;; 92917ca54c3Smrg nindy960) 93017ca54c3Smrg basic_machine=i960-intel 93117ca54c3Smrg os=-nindy 93217ca54c3Smrg ;; 93317ca54c3Smrg mon960) 93417ca54c3Smrg basic_machine=i960-intel 93517ca54c3Smrg os=-mon960 93617ca54c3Smrg ;; 93717ca54c3Smrg nonstopux) 93817ca54c3Smrg basic_machine=mips-compaq 93917ca54c3Smrg os=-nonstopux 94017ca54c3Smrg ;; 94117ca54c3Smrg np1) 94217ca54c3Smrg basic_machine=np1-gould 94317ca54c3Smrg ;; 94417ca54c3Smrg neo-tandem) 94517ca54c3Smrg basic_machine=neo-tandem 94617ca54c3Smrg ;; 94717ca54c3Smrg nse-tandem) 94817ca54c3Smrg basic_machine=nse-tandem 94917ca54c3Smrg ;; 95017ca54c3Smrg nsr-tandem) 95117ca54c3Smrg basic_machine=nsr-tandem 95217ca54c3Smrg ;; 95317ca54c3Smrg nsx-tandem) 95417ca54c3Smrg basic_machine=nsx-tandem 95517ca54c3Smrg ;; 95617ca54c3Smrg op50n-* | op60c-*) 95717ca54c3Smrg basic_machine=hppa1.1-oki 95817ca54c3Smrg os=-proelf 95917ca54c3Smrg ;; 96017ca54c3Smrg openrisc | openrisc-*) 96117ca54c3Smrg basic_machine=or32-unknown 96217ca54c3Smrg ;; 96317ca54c3Smrg os400) 96417ca54c3Smrg basic_machine=powerpc-ibm 96517ca54c3Smrg os=-os400 96617ca54c3Smrg ;; 96717ca54c3Smrg OSE68000 | ose68000) 96817ca54c3Smrg basic_machine=m68000-ericsson 96917ca54c3Smrg os=-ose 97017ca54c3Smrg ;; 97117ca54c3Smrg os68k) 97217ca54c3Smrg basic_machine=m68k-none 97317ca54c3Smrg os=-os68k 97417ca54c3Smrg ;; 97517ca54c3Smrg pa-hitachi) 97617ca54c3Smrg basic_machine=hppa1.1-hitachi 97717ca54c3Smrg os=-hiuxwe2 97817ca54c3Smrg ;; 97917ca54c3Smrg paragon) 98017ca54c3Smrg basic_machine=i860-intel 98117ca54c3Smrg os=-osf 98217ca54c3Smrg ;; 98317ca54c3Smrg parisc) 98417ca54c3Smrg basic_machine=hppa-unknown 98517ca54c3Smrg os=-linux 98617ca54c3Smrg ;; 98717ca54c3Smrg parisc-*) 98817ca54c3Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 98917ca54c3Smrg os=-linux 99017ca54c3Smrg ;; 99117ca54c3Smrg pbd) 99217ca54c3Smrg basic_machine=sparc-tti 99317ca54c3Smrg ;; 99417ca54c3Smrg pbb) 99517ca54c3Smrg basic_machine=m68k-tti 99617ca54c3Smrg ;; 99717ca54c3Smrg pc532 | pc532-*) 99817ca54c3Smrg basic_machine=ns32k-pc532 99917ca54c3Smrg ;; 100017ca54c3Smrg pc98) 100117ca54c3Smrg basic_machine=i386-pc 100217ca54c3Smrg ;; 100317ca54c3Smrg pc98-*) 100417ca54c3Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 100517ca54c3Smrg ;; 100617ca54c3Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 100717ca54c3Smrg basic_machine=i586-pc 100817ca54c3Smrg ;; 100917ca54c3Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 101017ca54c3Smrg basic_machine=i686-pc 101117ca54c3Smrg ;; 101217ca54c3Smrg pentiumii | pentium2 | pentiumiii | pentium3) 101317ca54c3Smrg basic_machine=i686-pc 101417ca54c3Smrg ;; 101517ca54c3Smrg pentium4) 101617ca54c3Smrg basic_machine=i786-pc 101717ca54c3Smrg ;; 101817ca54c3Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 101917ca54c3Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 102017ca54c3Smrg ;; 102117ca54c3Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 102217ca54c3Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102317ca54c3Smrg ;; 102417ca54c3Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 102517ca54c3Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 102617ca54c3Smrg ;; 102717ca54c3Smrg pentium4-*) 102817ca54c3Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 102917ca54c3Smrg ;; 103017ca54c3Smrg pn) 103117ca54c3Smrg basic_machine=pn-gould 103217ca54c3Smrg ;; 103317ca54c3Smrg power) basic_machine=power-ibm 103417ca54c3Smrg ;; 103517ca54c3Smrg ppc | ppcbe) basic_machine=powerpc-unknown 103617ca54c3Smrg ;; 103717ca54c3Smrg ppc-* | ppcbe-*) 103817ca54c3Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 103917ca54c3Smrg ;; 104017ca54c3Smrg ppcle | powerpclittle) 104117ca54c3Smrg basic_machine=powerpcle-unknown 104217ca54c3Smrg ;; 104317ca54c3Smrg ppcle-* | powerpclittle-*) 104417ca54c3Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 104517ca54c3Smrg ;; 104617ca54c3Smrg ppc64) basic_machine=powerpc64-unknown 104717ca54c3Smrg ;; 104817ca54c3Smrg ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 104917ca54c3Smrg ;; 105017ca54c3Smrg ppc64le | powerpc64little) 105117ca54c3Smrg basic_machine=powerpc64le-unknown 105217ca54c3Smrg ;; 105317ca54c3Smrg ppc64le-* | powerpc64little-*) 105417ca54c3Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 105517ca54c3Smrg ;; 105617ca54c3Smrg ps2) 105717ca54c3Smrg basic_machine=i386-ibm 105817ca54c3Smrg ;; 105917ca54c3Smrg pw32) 106017ca54c3Smrg basic_machine=i586-unknown 106117ca54c3Smrg os=-pw32 106217ca54c3Smrg ;; 106317ca54c3Smrg rdos | rdos64) 106417ca54c3Smrg basic_machine=x86_64-pc 106517ca54c3Smrg os=-rdos 106617ca54c3Smrg ;; 106717ca54c3Smrg rdos32) 106817ca54c3Smrg basic_machine=i386-pc 106917ca54c3Smrg os=-rdos 107017ca54c3Smrg ;; 107117ca54c3Smrg rom68k) 107217ca54c3Smrg basic_machine=m68k-rom68k 107317ca54c3Smrg os=-coff 107417ca54c3Smrg ;; 107517ca54c3Smrg rm[46]00) 107617ca54c3Smrg basic_machine=mips-siemens 107717ca54c3Smrg ;; 107817ca54c3Smrg rtpc | rtpc-*) 107917ca54c3Smrg basic_machine=romp-ibm 108017ca54c3Smrg ;; 108117ca54c3Smrg s390 | s390-*) 108217ca54c3Smrg basic_machine=s390-ibm 108317ca54c3Smrg ;; 108417ca54c3Smrg s390x | s390x-*) 108517ca54c3Smrg basic_machine=s390x-ibm 108617ca54c3Smrg ;; 108717ca54c3Smrg sa29200) 108817ca54c3Smrg basic_machine=a29k-amd 108917ca54c3Smrg os=-udi 109017ca54c3Smrg ;; 109117ca54c3Smrg sb1) 109217ca54c3Smrg basic_machine=mipsisa64sb1-unknown 109317ca54c3Smrg ;; 109417ca54c3Smrg sb1el) 109517ca54c3Smrg basic_machine=mipsisa64sb1el-unknown 109617ca54c3Smrg ;; 109717ca54c3Smrg sde) 109817ca54c3Smrg basic_machine=mipsisa32-sde 109917ca54c3Smrg os=-elf 110017ca54c3Smrg ;; 110117ca54c3Smrg sei) 110217ca54c3Smrg basic_machine=mips-sei 110317ca54c3Smrg os=-seiux 110417ca54c3Smrg ;; 110517ca54c3Smrg sequent) 110617ca54c3Smrg basic_machine=i386-sequent 110717ca54c3Smrg ;; 110817ca54c3Smrg sh) 110917ca54c3Smrg basic_machine=sh-hitachi 111017ca54c3Smrg os=-hms 111117ca54c3Smrg ;; 111217ca54c3Smrg sh5el) 111317ca54c3Smrg basic_machine=sh5le-unknown 111417ca54c3Smrg ;; 111517ca54c3Smrg sh64) 111617ca54c3Smrg basic_machine=sh64-unknown 111717ca54c3Smrg ;; 111817ca54c3Smrg sparclite-wrs | simso-wrs) 111917ca54c3Smrg basic_machine=sparclite-wrs 112017ca54c3Smrg os=-vxworks 112117ca54c3Smrg ;; 112217ca54c3Smrg sps7) 112317ca54c3Smrg basic_machine=m68k-bull 112417ca54c3Smrg os=-sysv2 112517ca54c3Smrg ;; 112617ca54c3Smrg spur) 112717ca54c3Smrg basic_machine=spur-unknown 112817ca54c3Smrg ;; 112917ca54c3Smrg st2000) 113017ca54c3Smrg basic_machine=m68k-tandem 113117ca54c3Smrg ;; 113217ca54c3Smrg stratus) 113317ca54c3Smrg basic_machine=i860-stratus 113417ca54c3Smrg os=-sysv4 113517ca54c3Smrg ;; 113617ca54c3Smrg strongarm-* | thumb-*) 113717ca54c3Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 113817ca54c3Smrg ;; 113917ca54c3Smrg sun2) 114017ca54c3Smrg basic_machine=m68000-sun 114117ca54c3Smrg ;; 114217ca54c3Smrg sun2os3) 114317ca54c3Smrg basic_machine=m68000-sun 114417ca54c3Smrg os=-sunos3 114517ca54c3Smrg ;; 114617ca54c3Smrg sun2os4) 114717ca54c3Smrg basic_machine=m68000-sun 114817ca54c3Smrg os=-sunos4 114917ca54c3Smrg ;; 115017ca54c3Smrg sun3os3) 115117ca54c3Smrg basic_machine=m68k-sun 115217ca54c3Smrg os=-sunos3 115317ca54c3Smrg ;; 115417ca54c3Smrg sun3os4) 115517ca54c3Smrg basic_machine=m68k-sun 115617ca54c3Smrg os=-sunos4 115717ca54c3Smrg ;; 115817ca54c3Smrg sun4os3) 115917ca54c3Smrg basic_machine=sparc-sun 116017ca54c3Smrg os=-sunos3 116117ca54c3Smrg ;; 116217ca54c3Smrg sun4os4) 116317ca54c3Smrg basic_machine=sparc-sun 116417ca54c3Smrg os=-sunos4 116517ca54c3Smrg ;; 116617ca54c3Smrg sun4sol2) 116717ca54c3Smrg basic_machine=sparc-sun 116817ca54c3Smrg os=-solaris2 116917ca54c3Smrg ;; 117017ca54c3Smrg sun3 | sun3-*) 117117ca54c3Smrg basic_machine=m68k-sun 117217ca54c3Smrg ;; 117317ca54c3Smrg sun4) 117417ca54c3Smrg basic_machine=sparc-sun 117517ca54c3Smrg ;; 117617ca54c3Smrg sun386 | sun386i | roadrunner) 117717ca54c3Smrg basic_machine=i386-sun 117817ca54c3Smrg ;; 117917ca54c3Smrg sv1) 118017ca54c3Smrg basic_machine=sv1-cray 118117ca54c3Smrg os=-unicos 118217ca54c3Smrg ;; 118317ca54c3Smrg symmetry) 118417ca54c3Smrg basic_machine=i386-sequent 118517ca54c3Smrg os=-dynix 118617ca54c3Smrg ;; 118717ca54c3Smrg t3e) 118817ca54c3Smrg basic_machine=alphaev5-cray 118917ca54c3Smrg os=-unicos 119017ca54c3Smrg ;; 119117ca54c3Smrg t90) 119217ca54c3Smrg basic_machine=t90-cray 119317ca54c3Smrg os=-unicos 119417ca54c3Smrg ;; 119517ca54c3Smrg tile*) 119617ca54c3Smrg basic_machine=$basic_machine-unknown 119717ca54c3Smrg os=-linux-gnu 119817ca54c3Smrg ;; 119917ca54c3Smrg tx39) 120017ca54c3Smrg basic_machine=mipstx39-unknown 120117ca54c3Smrg ;; 120217ca54c3Smrg tx39el) 120317ca54c3Smrg basic_machine=mipstx39el-unknown 120417ca54c3Smrg ;; 120517ca54c3Smrg toad1) 120617ca54c3Smrg basic_machine=pdp10-xkl 120717ca54c3Smrg os=-tops20 120817ca54c3Smrg ;; 120917ca54c3Smrg tower | tower-32) 121017ca54c3Smrg basic_machine=m68k-ncr 121117ca54c3Smrg ;; 121217ca54c3Smrg tpf) 121317ca54c3Smrg basic_machine=s390x-ibm 121417ca54c3Smrg os=-tpf 121517ca54c3Smrg ;; 121617ca54c3Smrg udi29k) 121717ca54c3Smrg basic_machine=a29k-amd 121817ca54c3Smrg os=-udi 121917ca54c3Smrg ;; 122017ca54c3Smrg ultra3) 122117ca54c3Smrg basic_machine=a29k-nyu 122217ca54c3Smrg os=-sym1 122317ca54c3Smrg ;; 122417ca54c3Smrg v810 | necv810) 122517ca54c3Smrg basic_machine=v810-nec 122617ca54c3Smrg os=-none 122717ca54c3Smrg ;; 122817ca54c3Smrg vaxv) 122917ca54c3Smrg basic_machine=vax-dec 123017ca54c3Smrg os=-sysv 123117ca54c3Smrg ;; 123217ca54c3Smrg vms) 123317ca54c3Smrg basic_machine=vax-dec 123417ca54c3Smrg os=-vms 123517ca54c3Smrg ;; 123617ca54c3Smrg vpp*|vx|vx-*) 123717ca54c3Smrg basic_machine=f301-fujitsu 123817ca54c3Smrg ;; 123917ca54c3Smrg vxworks960) 124017ca54c3Smrg basic_machine=i960-wrs 124117ca54c3Smrg os=-vxworks 124217ca54c3Smrg ;; 124317ca54c3Smrg vxworks68) 124417ca54c3Smrg basic_machine=m68k-wrs 124517ca54c3Smrg os=-vxworks 124617ca54c3Smrg ;; 124717ca54c3Smrg vxworks29k) 124817ca54c3Smrg basic_machine=a29k-wrs 124917ca54c3Smrg os=-vxworks 125017ca54c3Smrg ;; 125117ca54c3Smrg wasm32) 125217ca54c3Smrg basic_machine=wasm32-unknown 125317ca54c3Smrg ;; 125417ca54c3Smrg w65*) 125517ca54c3Smrg basic_machine=w65-wdc 125617ca54c3Smrg os=-none 125717ca54c3Smrg ;; 125817ca54c3Smrg w89k-*) 125917ca54c3Smrg basic_machine=hppa1.1-winbond 126017ca54c3Smrg os=-proelf 126117ca54c3Smrg ;; 126217ca54c3Smrg xbox) 126317ca54c3Smrg basic_machine=i686-pc 126417ca54c3Smrg os=-mingw32 126517ca54c3Smrg ;; 126617ca54c3Smrg xps | xps100) 126717ca54c3Smrg basic_machine=xps100-honeywell 126817ca54c3Smrg ;; 126917ca54c3Smrg xscale-* | xscalee[bl]-*) 127017ca54c3Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 127117ca54c3Smrg ;; 127217ca54c3Smrg ymp) 127317ca54c3Smrg basic_machine=ymp-cray 127417ca54c3Smrg os=-unicos 127517ca54c3Smrg ;; 127617ca54c3Smrg z8k-*-coff) 127717ca54c3Smrg basic_machine=z8k-unknown 127817ca54c3Smrg os=-sim 127917ca54c3Smrg ;; 128017ca54c3Smrg z80-*-coff) 128117ca54c3Smrg basic_machine=z80-unknown 128217ca54c3Smrg os=-sim 128317ca54c3Smrg ;; 128417ca54c3Smrg none) 128517ca54c3Smrg basic_machine=none-none 128617ca54c3Smrg os=-none 128717ca54c3Smrg ;; 128817ca54c3Smrg 128917ca54c3Smrg# Here we handle the default manufacturer of certain CPU types. It is in 129017ca54c3Smrg# some cases the only manufacturer, in others, it is the most popular. 129117ca54c3Smrg w89k) 129217ca54c3Smrg basic_machine=hppa1.1-winbond 129317ca54c3Smrg ;; 129417ca54c3Smrg op50n) 129517ca54c3Smrg basic_machine=hppa1.1-oki 129617ca54c3Smrg ;; 129717ca54c3Smrg op60c) 129817ca54c3Smrg basic_machine=hppa1.1-oki 129917ca54c3Smrg ;; 130017ca54c3Smrg romp) 130117ca54c3Smrg basic_machine=romp-ibm 130217ca54c3Smrg ;; 130317ca54c3Smrg mmix) 130417ca54c3Smrg basic_machine=mmix-knuth 130517ca54c3Smrg ;; 130617ca54c3Smrg rs6000) 130717ca54c3Smrg basic_machine=rs6000-ibm 130817ca54c3Smrg ;; 130917ca54c3Smrg vax) 131017ca54c3Smrg basic_machine=vax-dec 131117ca54c3Smrg ;; 131217ca54c3Smrg pdp10) 131317ca54c3Smrg # there are many clones, so DEC is not a safe bet 131417ca54c3Smrg basic_machine=pdp10-unknown 131517ca54c3Smrg ;; 131617ca54c3Smrg pdp11) 131717ca54c3Smrg basic_machine=pdp11-dec 131817ca54c3Smrg ;; 131917ca54c3Smrg we32k) 132017ca54c3Smrg basic_machine=we32k-att 132117ca54c3Smrg ;; 132217ca54c3Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 132317ca54c3Smrg basic_machine=sh-unknown 132417ca54c3Smrg ;; 132517ca54c3Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 132617ca54c3Smrg basic_machine=sparc-sun 132717ca54c3Smrg ;; 132817ca54c3Smrg cydra) 132917ca54c3Smrg basic_machine=cydra-cydrome 133017ca54c3Smrg ;; 133117ca54c3Smrg orion) 133217ca54c3Smrg basic_machine=orion-highlevel 133317ca54c3Smrg ;; 133417ca54c3Smrg orion105) 133517ca54c3Smrg basic_machine=clipper-highlevel 133617ca54c3Smrg ;; 133717ca54c3Smrg mac | mpw | mac-mpw) 133817ca54c3Smrg basic_machine=m68k-apple 133917ca54c3Smrg ;; 134017ca54c3Smrg pmac | pmac-mpw) 134117ca54c3Smrg basic_machine=powerpc-apple 134217ca54c3Smrg ;; 134317ca54c3Smrg *-unknown) 134417ca54c3Smrg # Make sure to match an already-canonicalized machine name. 134517ca54c3Smrg ;; 134617ca54c3Smrg *) 134717ca54c3Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 134817ca54c3Smrg exit 1 134917ca54c3Smrg ;; 135017ca54c3Smrgesac 135117ca54c3Smrg 135217ca54c3Smrg# Here we canonicalize certain aliases for manufacturers. 135317ca54c3Smrgcase $basic_machine in 135417ca54c3Smrg *-digital*) 135517ca54c3Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 135617ca54c3Smrg ;; 135717ca54c3Smrg *-commodore*) 135817ca54c3Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 135917ca54c3Smrg ;; 136017ca54c3Smrg *) 136117ca54c3Smrg ;; 136217ca54c3Smrgesac 136317ca54c3Smrg 136417ca54c3Smrg# Decode manufacturer-specific aliases for certain operating systems. 136517ca54c3Smrg 136617ca54c3Smrgif [ x"$os" != x"" ] 136717ca54c3Smrgthen 136817ca54c3Smrgcase $os in 136917ca54c3Smrg # First match some system type aliases 137017ca54c3Smrg # that might get confused with valid system types. 137117ca54c3Smrg # -solaris* is a basic system type, with this one exception. 137217ca54c3Smrg -auroraux) 137317ca54c3Smrg os=-auroraux 137417ca54c3Smrg ;; 137517ca54c3Smrg -solaris1 | -solaris1.*) 137617ca54c3Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 137717ca54c3Smrg ;; 137817ca54c3Smrg -solaris) 137917ca54c3Smrg os=-solaris2 138017ca54c3Smrg ;; 138117ca54c3Smrg -svr4*) 138217ca54c3Smrg os=-sysv4 138317ca54c3Smrg ;; 138417ca54c3Smrg -unixware*) 138517ca54c3Smrg os=-sysv4.2uw 138617ca54c3Smrg ;; 138717ca54c3Smrg -gnu/linux*) 138817ca54c3Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 138917ca54c3Smrg ;; 139017ca54c3Smrg # First accept the basic system types. 139117ca54c3Smrg # The portable systems comes first. 139217ca54c3Smrg # Each alternative MUST END IN A *, to match a version number. 139317ca54c3Smrg # -sysv* is not here because it comes later, after sysvr4. 139417ca54c3Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 139517ca54c3Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 139617ca54c3Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 139717ca54c3Smrg | -sym* | -kopensolaris* | -plan9* \ 139817ca54c3Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 139917ca54c3Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 140017ca54c3Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 140117ca54c3Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 140217ca54c3Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 140317ca54c3Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 140417ca54c3Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 140517ca54c3Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 140617ca54c3Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 140717ca54c3Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 140817ca54c3Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 140917ca54c3Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 141017ca54c3Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 141117ca54c3Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 141217ca54c3Smrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 141317ca54c3Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 141417ca54c3Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 141517ca54c3Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 141617ca54c3Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 141717ca54c3Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 141817ca54c3Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 141917ca54c3Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 142017ca54c3Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) 142117ca54c3Smrg # Remember, each alternative MUST END IN *, to match a version number. 142217ca54c3Smrg ;; 142317ca54c3Smrg -qnx*) 142417ca54c3Smrg case $basic_machine in 142517ca54c3Smrg x86-* | i*86-*) 142617ca54c3Smrg ;; 142717ca54c3Smrg *) 142817ca54c3Smrg os=-nto$os 142917ca54c3Smrg ;; 143017ca54c3Smrg esac 143117ca54c3Smrg ;; 143217ca54c3Smrg -nto-qnx*) 143317ca54c3Smrg ;; 143417ca54c3Smrg -nto*) 143517ca54c3Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 143617ca54c3Smrg ;; 143717ca54c3Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 143817ca54c3Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 143917ca54c3Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 144017ca54c3Smrg ;; 144117ca54c3Smrg -mac*) 144217ca54c3Smrg os=`echo $os | sed -e 's|mac|macos|'` 144317ca54c3Smrg ;; 144417ca54c3Smrg -linux-dietlibc) 144517ca54c3Smrg os=-linux-dietlibc 144617ca54c3Smrg ;; 144717ca54c3Smrg -linux*) 144817ca54c3Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 144917ca54c3Smrg ;; 145017ca54c3Smrg -sunos5*) 145117ca54c3Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 145217ca54c3Smrg ;; 145317ca54c3Smrg -sunos6*) 145417ca54c3Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 145517ca54c3Smrg ;; 145617ca54c3Smrg -opened*) 145717ca54c3Smrg os=-openedition 145817ca54c3Smrg ;; 145917ca54c3Smrg -os400*) 146017ca54c3Smrg os=-os400 146117ca54c3Smrg ;; 146217ca54c3Smrg -wince*) 146317ca54c3Smrg os=-wince 146417ca54c3Smrg ;; 146517ca54c3Smrg -osfrose*) 146617ca54c3Smrg os=-osfrose 146717ca54c3Smrg ;; 146817ca54c3Smrg -osf*) 146917ca54c3Smrg os=-osf 147017ca54c3Smrg ;; 147117ca54c3Smrg -utek*) 147217ca54c3Smrg os=-bsd 147317ca54c3Smrg ;; 147417ca54c3Smrg -dynix*) 147517ca54c3Smrg os=-bsd 147617ca54c3Smrg ;; 147717ca54c3Smrg -acis*) 147817ca54c3Smrg os=-aos 147917ca54c3Smrg ;; 148017ca54c3Smrg -atheos*) 148117ca54c3Smrg os=-atheos 148217ca54c3Smrg ;; 148317ca54c3Smrg -syllable*) 148417ca54c3Smrg os=-syllable 148517ca54c3Smrg ;; 148617ca54c3Smrg -386bsd) 148717ca54c3Smrg os=-bsd 148817ca54c3Smrg ;; 148917ca54c3Smrg -ctix* | -uts*) 149017ca54c3Smrg os=-sysv 149117ca54c3Smrg ;; 149217ca54c3Smrg -nova*) 149317ca54c3Smrg os=-rtmk-nova 149417ca54c3Smrg ;; 149517ca54c3Smrg -ns2 ) 149617ca54c3Smrg os=-nextstep2 149717ca54c3Smrg ;; 149817ca54c3Smrg -nsk*) 149917ca54c3Smrg os=-nsk 150017ca54c3Smrg ;; 150117ca54c3Smrg # Preserve the version number of sinix5. 150217ca54c3Smrg -sinix5.*) 150317ca54c3Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 150417ca54c3Smrg ;; 150517ca54c3Smrg -sinix*) 150617ca54c3Smrg os=-sysv4 150717ca54c3Smrg ;; 150817ca54c3Smrg -tpf*) 150917ca54c3Smrg os=-tpf 151017ca54c3Smrg ;; 151117ca54c3Smrg -triton*) 151217ca54c3Smrg os=-sysv3 151317ca54c3Smrg ;; 151417ca54c3Smrg -oss*) 151517ca54c3Smrg os=-sysv3 151617ca54c3Smrg ;; 151717ca54c3Smrg -svr4) 151817ca54c3Smrg os=-sysv4 151917ca54c3Smrg ;; 152017ca54c3Smrg -svr3) 152117ca54c3Smrg os=-sysv3 152217ca54c3Smrg ;; 152317ca54c3Smrg -sysvr4) 152417ca54c3Smrg os=-sysv4 152517ca54c3Smrg ;; 152617ca54c3Smrg # This must come after -sysvr4. 152717ca54c3Smrg -sysv*) 152817ca54c3Smrg ;; 152917ca54c3Smrg -ose*) 153017ca54c3Smrg os=-ose 153117ca54c3Smrg ;; 153217ca54c3Smrg -es1800*) 153317ca54c3Smrg os=-ose 153417ca54c3Smrg ;; 153517ca54c3Smrg -xenix) 153617ca54c3Smrg os=-xenix 153717ca54c3Smrg ;; 153817ca54c3Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 153917ca54c3Smrg os=-mint 154017ca54c3Smrg ;; 154117ca54c3Smrg -aros*) 154217ca54c3Smrg os=-aros 154317ca54c3Smrg ;; 154417ca54c3Smrg -zvmoe) 154517ca54c3Smrg os=-zvmoe 154617ca54c3Smrg ;; 154717ca54c3Smrg -dicos*) 154817ca54c3Smrg os=-dicos 154917ca54c3Smrg ;; 155017ca54c3Smrg -nacl*) 155117ca54c3Smrg ;; 155217ca54c3Smrg -ios) 155317ca54c3Smrg ;; 155417ca54c3Smrg -none) 155517ca54c3Smrg ;; 155617ca54c3Smrg *) 155717ca54c3Smrg # Get rid of the `-' at the beginning of $os. 155817ca54c3Smrg os=`echo $os | sed 's/[^-]*-//'` 155917ca54c3Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 156017ca54c3Smrg exit 1 156117ca54c3Smrg ;; 156217ca54c3Smrgesac 156317ca54c3Smrgelse 156417ca54c3Smrg 156517ca54c3Smrg# Here we handle the default operating systems that come with various machines. 156617ca54c3Smrg# The value should be what the vendor currently ships out the door with their 156717ca54c3Smrg# machine or put another way, the most popular os provided with the machine. 156817ca54c3Smrg 156917ca54c3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 157017ca54c3Smrg# "-sun"), then you have to tell the case statement up towards the top 157117ca54c3Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 157217ca54c3Smrg# will signal an error saying that MANUFACTURER isn't an operating 157317ca54c3Smrg# system, and we'll never get to this point. 157417ca54c3Smrg 157517ca54c3Smrgcase $basic_machine in 157617ca54c3Smrg score-*) 157717ca54c3Smrg os=-elf 157817ca54c3Smrg ;; 157917ca54c3Smrg spu-*) 158017ca54c3Smrg os=-elf 158117ca54c3Smrg ;; 158217ca54c3Smrg *-acorn) 158317ca54c3Smrg os=-riscix1.2 158417ca54c3Smrg ;; 158517ca54c3Smrg arm*-rebel) 158617ca54c3Smrg os=-linux 158717ca54c3Smrg ;; 158817ca54c3Smrg arm*-semi) 158917ca54c3Smrg os=-aout 159017ca54c3Smrg ;; 159117ca54c3Smrg c4x-* | tic4x-*) 159217ca54c3Smrg os=-coff 159317ca54c3Smrg ;; 159417ca54c3Smrg c8051-*) 159517ca54c3Smrg os=-elf 159617ca54c3Smrg ;; 159717ca54c3Smrg hexagon-*) 159817ca54c3Smrg os=-elf 159917ca54c3Smrg ;; 160017ca54c3Smrg tic54x-*) 160117ca54c3Smrg os=-coff 160217ca54c3Smrg ;; 160317ca54c3Smrg tic55x-*) 160417ca54c3Smrg os=-coff 160517ca54c3Smrg ;; 160617ca54c3Smrg tic6x-*) 160717ca54c3Smrg os=-coff 160817ca54c3Smrg ;; 160917ca54c3Smrg # This must come before the *-dec entry. 161017ca54c3Smrg pdp10-*) 161117ca54c3Smrg os=-tops20 161217ca54c3Smrg ;; 161317ca54c3Smrg pdp11-*) 161417ca54c3Smrg os=-none 161517ca54c3Smrg ;; 161617ca54c3Smrg *-dec | vax-*) 161717ca54c3Smrg os=-ultrix4.2 161817ca54c3Smrg ;; 161917ca54c3Smrg m68*-apollo) 162017ca54c3Smrg os=-domain 162117ca54c3Smrg ;; 162217ca54c3Smrg i386-sun) 162317ca54c3Smrg os=-sunos4.0.2 162417ca54c3Smrg ;; 162517ca54c3Smrg m68000-sun) 162617ca54c3Smrg os=-sunos3 162717ca54c3Smrg ;; 162817ca54c3Smrg m68*-cisco) 162917ca54c3Smrg os=-aout 163017ca54c3Smrg ;; 163117ca54c3Smrg mep-*) 163217ca54c3Smrg os=-elf 163317ca54c3Smrg ;; 163417ca54c3Smrg mips*-cisco) 163517ca54c3Smrg os=-elf 163617ca54c3Smrg ;; 163717ca54c3Smrg mips*-*) 163817ca54c3Smrg os=-elf 163917ca54c3Smrg ;; 164017ca54c3Smrg or32-*) 164117ca54c3Smrg os=-coff 164217ca54c3Smrg ;; 164317ca54c3Smrg *-tti) # must be before sparc entry or we get the wrong os. 164417ca54c3Smrg os=-sysv3 164517ca54c3Smrg ;; 164617ca54c3Smrg sparc-* | *-sun) 164717ca54c3Smrg os=-sunos4.1.1 164817ca54c3Smrg ;; 164917ca54c3Smrg pru-*) 165017ca54c3Smrg os=-elf 165117ca54c3Smrg ;; 165217ca54c3Smrg *-be) 165317ca54c3Smrg os=-beos 165417ca54c3Smrg ;; 165517ca54c3Smrg *-haiku) 165617ca54c3Smrg os=-haiku 165717ca54c3Smrg ;; 165817ca54c3Smrg *-ibm) 165917ca54c3Smrg os=-aix 166017ca54c3Smrg ;; 166117ca54c3Smrg *-knuth) 166217ca54c3Smrg os=-mmixware 166317ca54c3Smrg ;; 166417ca54c3Smrg *-wec) 166517ca54c3Smrg os=-proelf 166617ca54c3Smrg ;; 166717ca54c3Smrg *-winbond) 166817ca54c3Smrg os=-proelf 166917ca54c3Smrg ;; 167017ca54c3Smrg *-oki) 167117ca54c3Smrg os=-proelf 167217ca54c3Smrg ;; 167317ca54c3Smrg *-hp) 167417ca54c3Smrg os=-hpux 167517ca54c3Smrg ;; 167617ca54c3Smrg *-hitachi) 167717ca54c3Smrg os=-hiux 167817ca54c3Smrg ;; 167917ca54c3Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 168017ca54c3Smrg os=-sysv 168117ca54c3Smrg ;; 168217ca54c3Smrg *-cbm) 168317ca54c3Smrg os=-amigaos 168417ca54c3Smrg ;; 168517ca54c3Smrg *-dg) 168617ca54c3Smrg os=-dgux 168717ca54c3Smrg ;; 168817ca54c3Smrg *-dolphin) 168917ca54c3Smrg os=-sysv3 169017ca54c3Smrg ;; 169117ca54c3Smrg m68k-ccur) 169217ca54c3Smrg os=-rtu 169317ca54c3Smrg ;; 169417ca54c3Smrg m88k-omron*) 169517ca54c3Smrg os=-luna 169617ca54c3Smrg ;; 169717ca54c3Smrg *-next ) 169817ca54c3Smrg os=-nextstep 169917ca54c3Smrg ;; 170017ca54c3Smrg *-sequent) 170117ca54c3Smrg os=-ptx 170217ca54c3Smrg ;; 170317ca54c3Smrg *-crds) 170417ca54c3Smrg os=-unos 170517ca54c3Smrg ;; 170617ca54c3Smrg *-ns) 170717ca54c3Smrg os=-genix 170817ca54c3Smrg ;; 170917ca54c3Smrg i370-*) 171017ca54c3Smrg os=-mvs 171117ca54c3Smrg ;; 171217ca54c3Smrg *-next) 171317ca54c3Smrg os=-nextstep3 171417ca54c3Smrg ;; 171517ca54c3Smrg *-gould) 171617ca54c3Smrg os=-sysv 171717ca54c3Smrg ;; 171817ca54c3Smrg *-highlevel) 171917ca54c3Smrg os=-bsd 172017ca54c3Smrg ;; 172117ca54c3Smrg *-encore) 172217ca54c3Smrg os=-bsd 172317ca54c3Smrg ;; 172417ca54c3Smrg *-sgi) 172517ca54c3Smrg os=-irix 172617ca54c3Smrg ;; 172717ca54c3Smrg *-siemens) 172817ca54c3Smrg os=-sysv4 172917ca54c3Smrg ;; 173017ca54c3Smrg *-masscomp) 173117ca54c3Smrg os=-rtu 173217ca54c3Smrg ;; 173317ca54c3Smrg f30[01]-fujitsu | f700-fujitsu) 173417ca54c3Smrg os=-uxpv 173517ca54c3Smrg ;; 173617ca54c3Smrg *-rom68k) 173717ca54c3Smrg os=-coff 173817ca54c3Smrg ;; 173917ca54c3Smrg *-*bug) 174017ca54c3Smrg os=-coff 174117ca54c3Smrg ;; 174217ca54c3Smrg *-apple) 174317ca54c3Smrg os=-macos 174417ca54c3Smrg ;; 174517ca54c3Smrg *-atari*) 174617ca54c3Smrg os=-mint 174717ca54c3Smrg ;; 174817ca54c3Smrg *) 174917ca54c3Smrg os=-none 175017ca54c3Smrg ;; 175117ca54c3Smrgesac 175217ca54c3Smrgfi 175317ca54c3Smrg 175417ca54c3Smrg# Here we handle the case where we know the os, and the CPU type, but not the 175517ca54c3Smrg# manufacturer. We pick the logical manufacturer. 175617ca54c3Smrgvendor=unknown 175717ca54c3Smrgcase $basic_machine in 175817ca54c3Smrg *-unknown) 175917ca54c3Smrg case $os in 176017ca54c3Smrg -riscix*) 176117ca54c3Smrg vendor=acorn 176217ca54c3Smrg ;; 176317ca54c3Smrg -sunos*) 176417ca54c3Smrg vendor=sun 176517ca54c3Smrg ;; 176617ca54c3Smrg -cnk*|-aix*) 176717ca54c3Smrg vendor=ibm 176817ca54c3Smrg ;; 176917ca54c3Smrg -beos*) 177017ca54c3Smrg vendor=be 177117ca54c3Smrg ;; 177217ca54c3Smrg -hpux*) 177317ca54c3Smrg vendor=hp 177417ca54c3Smrg ;; 177517ca54c3Smrg -mpeix*) 177617ca54c3Smrg vendor=hp 177717ca54c3Smrg ;; 177817ca54c3Smrg -hiux*) 177917ca54c3Smrg vendor=hitachi 178017ca54c3Smrg ;; 178117ca54c3Smrg -unos*) 178217ca54c3Smrg vendor=crds 178317ca54c3Smrg ;; 178417ca54c3Smrg -dgux*) 178517ca54c3Smrg vendor=dg 178617ca54c3Smrg ;; 178717ca54c3Smrg -luna*) 178817ca54c3Smrg vendor=omron 178917ca54c3Smrg ;; 179017ca54c3Smrg -genix*) 179117ca54c3Smrg vendor=ns 179217ca54c3Smrg ;; 179317ca54c3Smrg -mvs* | -opened*) 179417ca54c3Smrg vendor=ibm 179517ca54c3Smrg ;; 179617ca54c3Smrg -os400*) 179717ca54c3Smrg vendor=ibm 179817ca54c3Smrg ;; 179917ca54c3Smrg -ptx*) 180017ca54c3Smrg vendor=sequent 180117ca54c3Smrg ;; 180217ca54c3Smrg -tpf*) 180317ca54c3Smrg vendor=ibm 180417ca54c3Smrg ;; 180517ca54c3Smrg -vxsim* | -vxworks* | -windiss*) 180617ca54c3Smrg vendor=wrs 180717ca54c3Smrg ;; 180817ca54c3Smrg -aux*) 180917ca54c3Smrg vendor=apple 181017ca54c3Smrg ;; 181117ca54c3Smrg -hms*) 181217ca54c3Smrg vendor=hitachi 181317ca54c3Smrg ;; 181417ca54c3Smrg -mpw* | -macos*) 181517ca54c3Smrg vendor=apple 181617ca54c3Smrg ;; 181717ca54c3Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 181817ca54c3Smrg vendor=atari 181917ca54c3Smrg ;; 182017ca54c3Smrg -vos*) 182117ca54c3Smrg vendor=stratus 182217ca54c3Smrg ;; 182317ca54c3Smrg esac 182417ca54c3Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 182517ca54c3Smrg ;; 182617ca54c3Smrgesac 182717ca54c3Smrg 182817ca54c3Smrgecho $basic_machine$os 182917ca54c3Smrgexit 183017ca54c3Smrg 183117ca54c3Smrg# Local variables: 183217ca54c3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 183317ca54c3Smrg# time-stamp-start: "timestamp='" 183417ca54c3Smrg# time-stamp-format: "%:y-%02m-%02d" 183517ca54c3Smrg# time-stamp-end: "'" 183617ca54c3Smrg# End: 1837