config.sub revision 9c019ec5
11ab64890Smrg#! /bin/sh 21ab64890Smrg# Configuration validation subroutine script. 35afda2e6Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 41ab64890Smrg 59c019ec5Smayatimestamp='2018-02-22' 61ab64890Smrg 7eb411b4bSmrg# This file is free software; you can redistribute it and/or modify it 8eb411b4bSmrg# under the terms of the GNU General Public License as published by 9eb411b4bSmrg# the Free Software Foundation; either version 3 of the License, or 101ab64890Smrg# (at your option) any later version. 111ab64890Smrg# 12eb411b4bSmrg# This program is distributed in the hope that it will be useful, but 13eb411b4bSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 14eb411b4bSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15eb411b4bSmrg# General Public License for more details. 161ab64890Smrg# 171ab64890Smrg# You should have received a copy of the GNU General Public License 185afda2e6Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 191ab64890Smrg# 201ab64890Smrg# As a special exception to the GNU General Public License, if you 211ab64890Smrg# distribute this file as part of a program that contains a 221ab64890Smrg# configuration script generated by Autoconf, you may include it under 23eb411b4bSmrg# the same distribution terms that you use for the rest of that 24eb411b4bSmrg# program. This Exception is an additional permission under section 7 25eb411b4bSmrg# of the GNU General Public License, version 3 ("GPLv3"). 261ab64890Smrg 271ab64890Smrg 28862bcd1aSmrg# Please send patches to <config-patches@gnu.org>. 291ab64890Smrg# 301ab64890Smrg# Configuration subroutine to validate and canonicalize a configuration type. 311ab64890Smrg# Supply the specified configuration type as an argument. 321ab64890Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 331ab64890Smrg# Otherwise, we print the canonical config type on stdout and succeed. 341ab64890Smrg 3588de56ccSmrg# You can get the latest version of this script from: 365afda2e6Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 3788de56ccSmrg 381ab64890Smrg# This file is supposed to be the same for all GNU packages 391ab64890Smrg# and recognize all the CPU types, system types and aliases 401ab64890Smrg# that are meaningful with *any* GNU software. 411ab64890Smrg# Each package is responsible for reporting which valid configurations 421ab64890Smrg# it does not support. The user should be able to distinguish 431ab64890Smrg# a failure to support a valid configuration from a meaningless 441ab64890Smrg# configuration. 451ab64890Smrg 461ab64890Smrg# The goal of this file is to map all the various variations of a given 471ab64890Smrg# machine specification into a single specification in the form: 481ab64890Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 491ab64890Smrg# or in some cases, the newer four-part form: 501ab64890Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 511ab64890Smrg# It is wrong to echo any other type of specification. 521ab64890Smrg 531ab64890Smrgme=`echo "$0" | sed -e 's,.*/,,'` 541ab64890Smrg 551ab64890Smrgusage="\ 5638ae11fcSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 571ab64890Smrg 581ab64890SmrgCanonicalize a configuration name. 591ab64890Smrg 605afda2e6SmrgOptions: 611ab64890Smrg -h, --help print this help, then exit 621ab64890Smrg -t, --time-stamp print date of last modification, then exit 631ab64890Smrg -v, --version print version number, then exit 641ab64890Smrg 651ab64890SmrgReport bugs and patches to <config-patches@gnu.org>." 661ab64890Smrg 671ab64890Smrgversion="\ 681ab64890SmrgGNU config.sub ($timestamp) 691ab64890Smrg 705afda2e6SmrgCopyright 1992-2018 Free Software Foundation, Inc. 711ab64890Smrg 721ab64890SmrgThis is free software; see the source for copying conditions. There is NO 731ab64890Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 741ab64890Smrg 751ab64890Smrghelp=" 761ab64890SmrgTry \`$me --help' for more information." 771ab64890Smrg 781ab64890Smrg# Parse command line 791ab64890Smrgwhile test $# -gt 0 ; do 801ab64890Smrg case $1 in 811ab64890Smrg --time-stamp | --time* | -t ) 821ab64890Smrg echo "$timestamp" ; exit ;; 831ab64890Smrg --version | -v ) 841ab64890Smrg echo "$version" ; exit ;; 851ab64890Smrg --help | --h* | -h ) 861ab64890Smrg echo "$usage"; exit ;; 871ab64890Smrg -- ) # Stop option processing 881ab64890Smrg shift; break ;; 891ab64890Smrg - ) # Use stdin as input. 901ab64890Smrg break ;; 911ab64890Smrg -* ) 921ab64890Smrg echo "$me: invalid option $1$help" 931ab64890Smrg exit 1 ;; 941ab64890Smrg 951ab64890Smrg *local*) 961ab64890Smrg # First pass through any local machine types. 975afda2e6Smrg echo "$1" 981ab64890Smrg exit ;; 991ab64890Smrg 1001ab64890Smrg * ) 1011ab64890Smrg break ;; 1021ab64890Smrg esac 1031ab64890Smrgdone 1041ab64890Smrg 1051ab64890Smrgcase $# in 1061ab64890Smrg 0) echo "$me: missing argument$help" >&2 1071ab64890Smrg exit 1;; 1081ab64890Smrg 1) ;; 1091ab64890Smrg *) echo "$me: too many arguments$help" >&2 1101ab64890Smrg exit 1;; 1111ab64890Smrgesac 1121ab64890Smrg 1139c019ec5Smaya# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1149c019ec5Smaya# Here we must recognize all the valid KERNEL-OS combinations. 1159c019ec5Smayamaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1169c019ec5Smayacase $maybe_os in 1179c019ec5Smaya nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1189c019ec5Smaya linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1199c019ec5Smaya knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1209c019ec5Smaya kopensolaris*-gnu* | cloudabi*-eabi* | \ 1219c019ec5Smaya storm-chaos* | os2-emx* | rtmk-nova*) 1229c019ec5Smaya os=-$maybe_os 1239c019ec5Smaya basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1249c019ec5Smaya ;; 1259c019ec5Smaya android-linux) 1269c019ec5Smaya os=-linux-android 1279c019ec5Smaya basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1289c019ec5Smaya ;; 1299c019ec5Smaya *) 1309c019ec5Smaya basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1319c019ec5Smaya if [ "$basic_machine" != "$1" ] 1329c019ec5Smaya then os=`echo "$1" | sed 's/.*-/-/'` 1339c019ec5Smaya else os=; fi 1349c019ec5Smaya ;; 1359c019ec5Smayaesac 1361ab64890Smrg 1379c019ec5Smaya### Let's recognize common machines as not being operating systems so 1389c019ec5Smaya### that things like config.sub decstation-3100 work. We also 1399c019ec5Smaya### recognize some manufacturers as not being operating systems, so we 1409c019ec5Smaya### can provide default operating systems below. 1419c019ec5Smayacase $os in 1429c019ec5Smaya -sun*os*) 1439c019ec5Smaya # Prevent following clause from handling this invalid input. 1441ab64890Smrg ;; 1459c019ec5Smaya -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1469c019ec5Smaya -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1479c019ec5Smaya -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1489c019ec5Smaya -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1499c019ec5Smaya -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1509c019ec5Smaya -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1519c019ec5Smaya -apple | -axis | -knuth | -cray | -microblaze*) 1529c019ec5Smaya os= 1539c019ec5Smaya basic_machine=$1 1541ab64890Smrg ;; 1559c019ec5Smaya -bluegene*) 1569c019ec5Smaya os=-cnk 1571ab64890Smrg ;; 1589c019ec5Smaya -sim | -cisco | -oki | -wec | -winbond) 1599c019ec5Smaya os= 1609c019ec5Smaya basic_machine=$1 1611ab64890Smrg ;; 1629c019ec5Smaya -scout) 1639c019ec5Smaya ;; 1649c019ec5Smaya -wrs) 1659c019ec5Smaya os=-vxworks 1669c019ec5Smaya basic_machine=$1 1679c019ec5Smaya ;; 1689c019ec5Smaya -chorusos*) 1699c019ec5Smaya os=-chorusos 1709c019ec5Smaya basic_machine=$1 1719c019ec5Smaya ;; 1729c019ec5Smaya -chorusrdb) 1739c019ec5Smaya os=-chorusrdb 1749c019ec5Smaya basic_machine=$1 1759c019ec5Smaya ;; 1769c019ec5Smaya -hiux*) 1779c019ec5Smaya os=-hiuxwe2 1789c019ec5Smaya ;; 1799c019ec5Smaya -sco6) 1809c019ec5Smaya os=-sco5v6 1819c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1829c019ec5Smaya ;; 1839c019ec5Smaya -sco5) 1849c019ec5Smaya os=-sco3.2v5 1859c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1869c019ec5Smaya ;; 1879c019ec5Smaya -sco4) 1889c019ec5Smaya os=-sco3.2v4 1899c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1909c019ec5Smaya ;; 1919c019ec5Smaya -sco3.2.[4-9]*) 1929c019ec5Smaya os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1939c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1949c019ec5Smaya ;; 1959c019ec5Smaya -sco3.2v[4-9]*) 1969c019ec5Smaya # Don't forget version if it is 3.2v4 or newer. 1979c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1989c019ec5Smaya ;; 1999c019ec5Smaya -sco5v6*) 2009c019ec5Smaya # Don't forget version if it is 3.2v4 or newer. 2019c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2029c019ec5Smaya ;; 2039c019ec5Smaya -sco*) 2049c019ec5Smaya os=-sco3.2v2 2059c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2069c019ec5Smaya ;; 2079c019ec5Smaya -udk*) 2089c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2099c019ec5Smaya ;; 2109c019ec5Smaya -isc) 2119c019ec5Smaya os=-isc2.2 2129c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2139c019ec5Smaya ;; 2149c019ec5Smaya -clix*) 2159c019ec5Smaya basic_machine=clipper-intergraph 2169c019ec5Smaya ;; 2179c019ec5Smaya -isc*) 2189c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2199c019ec5Smaya ;; 2209c019ec5Smaya -lynx*178) 2219c019ec5Smaya os=-lynxos178 2229c019ec5Smaya ;; 2239c019ec5Smaya -lynx*5) 2249c019ec5Smaya os=-lynxos5 2259c019ec5Smaya ;; 2269c019ec5Smaya -lynx*) 2279c019ec5Smaya os=-lynxos 2289c019ec5Smaya ;; 2299c019ec5Smaya -ptx*) 2309c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 2319c019ec5Smaya ;; 2329c019ec5Smaya -psos*) 2339c019ec5Smaya os=-psos 2349c019ec5Smaya ;; 2359c019ec5Smaya -mint | -mint[0-9]*) 2369c019ec5Smaya basic_machine=m68k-atari 2379c019ec5Smaya os=-mint 2381ab64890Smrg ;; 2391ab64890Smrgesac 2401ab64890Smrg 2419c019ec5Smaya# Decode aliases for certain CPU-COMPANY combinations. 2421ab64890Smrgcase $basic_machine in 2439c019ec5Smaya # Recognize the basic CPU types without company name. 2449c019ec5Smaya # Some are omitted here because they have special meanings below. 2459c019ec5Smaya 1750a | 580 \ 2469c019ec5Smaya | a29k \ 2479c019ec5Smaya | aarch64 | aarch64_be \ 2489c019ec5Smaya | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2499c019ec5Smaya | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2509c019ec5Smaya | am33_2.0 \ 2519c019ec5Smaya | arc | arceb \ 2529c019ec5Smaya | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2539c019ec5Smaya | avr | avr32 \ 2549c019ec5Smaya | ba \ 2559c019ec5Smaya | be32 | be64 \ 2569c019ec5Smaya | bfin \ 2579c019ec5Smaya | c4x | c8051 | clipper \ 2589c019ec5Smaya | d10v | d30v | dlx | dsp16xx \ 2599c019ec5Smaya | e2k | epiphany \ 2609c019ec5Smaya | fido | fr30 | frv | ft32 \ 2619c019ec5Smaya | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2629c019ec5Smaya | hexagon \ 2639c019ec5Smaya | i370 | i860 | i960 | ia16 | ia64 \ 2649c019ec5Smaya | ip2k | iq2000 \ 2659c019ec5Smaya | k1om \ 2669c019ec5Smaya | le32 | le64 \ 2679c019ec5Smaya | lm32 \ 2689c019ec5Smaya | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2699c019ec5Smaya | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2709c019ec5Smaya | mips | mipsbe | mipseb | mipsel | mipsle \ 2719c019ec5Smaya | mips16 \ 2729c019ec5Smaya | mips64 | mips64el \ 2739c019ec5Smaya | mips64octeon | mips64octeonel \ 2749c019ec5Smaya | mips64orion | mips64orionel \ 2759c019ec5Smaya | mips64r5900 | mips64r5900el \ 2769c019ec5Smaya | mips64vr | mips64vrel \ 2779c019ec5Smaya | mips64vr4100 | mips64vr4100el \ 2789c019ec5Smaya | mips64vr4300 | mips64vr4300el \ 2799c019ec5Smaya | mips64vr5000 | mips64vr5000el \ 2809c019ec5Smaya | mips64vr5900 | mips64vr5900el \ 2819c019ec5Smaya | mipsisa32 | mipsisa32el \ 2829c019ec5Smaya | mipsisa32r2 | mipsisa32r2el \ 2839c019ec5Smaya | mipsisa32r6 | mipsisa32r6el \ 2849c019ec5Smaya | mipsisa64 | mipsisa64el \ 2859c019ec5Smaya | mipsisa64r2 | mipsisa64r2el \ 2869c019ec5Smaya | mipsisa64r6 | mipsisa64r6el \ 2879c019ec5Smaya | mipsisa64sb1 | mipsisa64sb1el \ 2889c019ec5Smaya | mipsisa64sr71k | mipsisa64sr71kel \ 2899c019ec5Smaya | mipsr5900 | mipsr5900el \ 2909c019ec5Smaya | mipstx39 | mipstx39el \ 2919c019ec5Smaya | mn10200 | mn10300 \ 2929c019ec5Smaya | moxie \ 2939c019ec5Smaya | mt \ 2949c019ec5Smaya | msp430 \ 2959c019ec5Smaya | nds32 | nds32le | nds32be \ 2969c019ec5Smaya | nios | nios2 | nios2eb | nios2el \ 2979c019ec5Smaya | ns16k | ns32k \ 2989c019ec5Smaya | open8 | or1k | or1knd | or32 \ 2999c019ec5Smaya | pdp10 | pj | pjl \ 3009c019ec5Smaya | powerpc | powerpc64 | powerpc64le | powerpcle \ 3019c019ec5Smaya | pru \ 3029c019ec5Smaya | pyramid \ 3039c019ec5Smaya | riscv32 | riscv64 \ 3049c019ec5Smaya | rl78 | rx \ 3059c019ec5Smaya | score \ 3069c019ec5Smaya | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3079c019ec5Smaya | sh64 | sh64le \ 3089c019ec5Smaya | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3099c019ec5Smaya | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3109c019ec5Smaya | spu \ 3119c019ec5Smaya | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3129c019ec5Smaya | ubicom32 \ 3139c019ec5Smaya | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3149c019ec5Smaya | visium \ 3159c019ec5Smaya | wasm32 \ 3169c019ec5Smaya | x86 | xc16x | xstormy16 | xtensa \ 3179c019ec5Smaya | z8k | z80) 3189c019ec5Smaya basic_machine=$basic_machine-unknown 3199c019ec5Smaya ;; 3209c019ec5Smaya c54x) 3219c019ec5Smaya basic_machine=tic54x-unknown 3229c019ec5Smaya ;; 3239c019ec5Smaya c55x) 3249c019ec5Smaya basic_machine=tic55x-unknown 3259c019ec5Smaya ;; 3269c019ec5Smaya c6x) 3279c019ec5Smaya basic_machine=tic6x-unknown 3281ab64890Smrg ;; 3299c019ec5Smaya leon|leon[3-9]) 3309c019ec5Smaya basic_machine=sparc-$basic_machine 3311ab64890Smrg ;; 3329c019ec5Smaya m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3339c019ec5Smaya basic_machine=$basic_machine-unknown 3349c019ec5Smaya os=-none 3351ab64890Smrg ;; 3369c019ec5Smaya m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 337eb411b4bSmrg ;; 3389c019ec5Smaya ms1) 3399c019ec5Smaya basic_machine=mt-unknown 340eb411b4bSmrg ;; 3419c019ec5Smaya 3429c019ec5Smaya strongarm | thumb | xscale) 3439c019ec5Smaya basic_machine=arm-unknown 344eb411b4bSmrg ;; 3459c019ec5Smaya xgate) 3469c019ec5Smaya basic_machine=$basic_machine-unknown 3479c019ec5Smaya os=-none 3489c019ec5Smaya ;; 3499c019ec5Smaya xscaleeb) 3509c019ec5Smaya basic_machine=armeb-unknown 3519c019ec5Smaya ;; 3529c019ec5Smaya 3539c019ec5Smaya xscaleel) 3549c019ec5Smaya basic_machine=armel-unknown 355eb411b4bSmrg ;; 356eb411b4bSmrg 3579c019ec5Smaya # We use `pc' rather than `unknown' 3589c019ec5Smaya # because (1) that's what they normally are, and 3599c019ec5Smaya # (2) the word "unknown" tends to confuse beginning users. 3609c019ec5Smaya i*86 | x86_64) 3619c019ec5Smaya basic_machine=$basic_machine-pc 3629c019ec5Smaya ;; 3639c019ec5Smaya # Object if more than one company name word. 3649c019ec5Smaya *-*-*) 3659c019ec5Smaya echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 3669c019ec5Smaya exit 1 3679c019ec5Smaya ;; 3689c019ec5Smaya # Recognize the basic CPU types with company name. 3699c019ec5Smaya 580-* \ 3709c019ec5Smaya | a29k-* \ 3719c019ec5Smaya | aarch64-* | aarch64_be-* \ 3729c019ec5Smaya | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3739c019ec5Smaya | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3749c019ec5Smaya | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3759c019ec5Smaya | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3769c019ec5Smaya | avr-* | avr32-* \ 3779c019ec5Smaya | ba-* \ 3789c019ec5Smaya | be32-* | be64-* \ 3799c019ec5Smaya | bfin-* | bs2000-* \ 3809c019ec5Smaya | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3819c019ec5Smaya | c8051-* | clipper-* | craynv-* | cydra-* \ 3829c019ec5Smaya | d10v-* | d30v-* | dlx-* \ 3839c019ec5Smaya | e2k-* | elxsi-* \ 3849c019ec5Smaya | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3859c019ec5Smaya | h8300-* | h8500-* \ 3869c019ec5Smaya | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3879c019ec5Smaya | hexagon-* \ 3889c019ec5Smaya | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3899c019ec5Smaya | ip2k-* | iq2000-* \ 3909c019ec5Smaya | k1om-* \ 3919c019ec5Smaya | le32-* | le64-* \ 3929c019ec5Smaya | lm32-* \ 3939c019ec5Smaya | m32c-* | m32r-* | m32rle-* \ 3949c019ec5Smaya | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3959c019ec5Smaya | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3969c019ec5Smaya | microblaze-* | microblazeel-* \ 3979c019ec5Smaya | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3989c019ec5Smaya | mips16-* \ 3999c019ec5Smaya | mips64-* | mips64el-* \ 4009c019ec5Smaya | mips64octeon-* | mips64octeonel-* \ 4019c019ec5Smaya | mips64orion-* | mips64orionel-* \ 4029c019ec5Smaya | mips64r5900-* | mips64r5900el-* \ 4039c019ec5Smaya | mips64vr-* | mips64vrel-* \ 4049c019ec5Smaya | mips64vr4100-* | mips64vr4100el-* \ 4059c019ec5Smaya | mips64vr4300-* | mips64vr4300el-* \ 4069c019ec5Smaya | mips64vr5000-* | mips64vr5000el-* \ 4079c019ec5Smaya | mips64vr5900-* | mips64vr5900el-* \ 4089c019ec5Smaya | mipsisa32-* | mipsisa32el-* \ 4099c019ec5Smaya | mipsisa32r2-* | mipsisa32r2el-* \ 4109c019ec5Smaya | mipsisa32r6-* | mipsisa32r6el-* \ 4119c019ec5Smaya | mipsisa64-* | mipsisa64el-* \ 4129c019ec5Smaya | mipsisa64r2-* | mipsisa64r2el-* \ 4139c019ec5Smaya | mipsisa64r6-* | mipsisa64r6el-* \ 4149c019ec5Smaya | mipsisa64sb1-* | mipsisa64sb1el-* \ 4159c019ec5Smaya | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4169c019ec5Smaya | mipsr5900-* | mipsr5900el-* \ 4179c019ec5Smaya | mipstx39-* | mipstx39el-* \ 4189c019ec5Smaya | mmix-* \ 4199c019ec5Smaya | mt-* \ 4209c019ec5Smaya | msp430-* \ 4219c019ec5Smaya | nds32-* | nds32le-* | nds32be-* \ 4229c019ec5Smaya | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4239c019ec5Smaya | none-* | np1-* | ns16k-* | ns32k-* \ 4249c019ec5Smaya | open8-* \ 4259c019ec5Smaya | or1k*-* \ 4269c019ec5Smaya | orion-* \ 4279c019ec5Smaya | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4289c019ec5Smaya | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4299c019ec5Smaya | pru-* \ 4309c019ec5Smaya | pyramid-* \ 4319c019ec5Smaya | riscv32-* | riscv64-* \ 4329c019ec5Smaya | rl78-* | romp-* | rs6000-* | rx-* \ 4339c019ec5Smaya | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4349c019ec5Smaya | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4359c019ec5Smaya | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4369c019ec5Smaya | sparclite-* \ 4379c019ec5Smaya | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 4389c019ec5Smaya | tahoe-* \ 4399c019ec5Smaya | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4409c019ec5Smaya | tile*-* \ 4419c019ec5Smaya | tron-* \ 4429c019ec5Smaya | ubicom32-* \ 4439c019ec5Smaya | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4449c019ec5Smaya | vax-* \ 4459c019ec5Smaya | visium-* \ 4469c019ec5Smaya | wasm32-* \ 4479c019ec5Smaya | we32k-* \ 4489c019ec5Smaya | x86-* | x86_64-* | xc16x-* | xps100-* \ 4499c019ec5Smaya | xstormy16-* | xtensa*-* \ 4509c019ec5Smaya | ymp-* \ 4519c019ec5Smaya | z8k-* | z80-*) 4529c019ec5Smaya ;; 4539c019ec5Smaya # Recognize the basic CPU types without company name, with glob match. 4549c019ec5Smaya xtensa*) 4559c019ec5Smaya basic_machine=$basic_machine-unknown 4569c019ec5Smaya ;; 4571ab64890Smrg # Recognize the various machine names and aliases which stand 4581ab64890Smrg # for a CPU type and a company and sometimes even an OS. 4599c019ec5Smaya 386bsd) 4609c019ec5Smaya basic_machine=i386-pc 4619c019ec5Smaya os=-bsd 4629c019ec5Smaya ;; 4631ab64890Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4649c019ec5Smaya basic_machine=m68000-att 4651ab64890Smrg ;; 4661ab64890Smrg 3b*) 4679c019ec5Smaya basic_machine=we32k-att 4689c019ec5Smaya ;; 4699c019ec5Smaya a29khif) 4709c019ec5Smaya basic_machine=a29k-amd 4719c019ec5Smaya os=-udi 4729c019ec5Smaya ;; 4739c019ec5Smaya abacus) 4749c019ec5Smaya basic_machine=abacus-unknown 4759c019ec5Smaya ;; 4769c019ec5Smaya adobe68k) 4779c019ec5Smaya basic_machine=m68010-adobe 4789c019ec5Smaya os=-scout 4799c019ec5Smaya ;; 4809c019ec5Smaya alliant | fx80) 4819c019ec5Smaya basic_machine=fx80-alliant 4829c019ec5Smaya ;; 4839c019ec5Smaya altos | altos3068) 4849c019ec5Smaya basic_machine=m68k-altos 4859c019ec5Smaya ;; 4869c019ec5Smaya am29k) 4879c019ec5Smaya basic_machine=a29k-none 4889c019ec5Smaya os=-bsd 4899c019ec5Smaya ;; 4909c019ec5Smaya amd64) 4919c019ec5Smaya basic_machine=x86_64-pc 4929c019ec5Smaya ;; 4939c019ec5Smaya amd64-*) 4949c019ec5Smaya basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4959c019ec5Smaya ;; 4969c019ec5Smaya amdahl) 4979c019ec5Smaya basic_machine=580-amdahl 4989c019ec5Smaya os=-sysv 4999c019ec5Smaya ;; 5009c019ec5Smaya amiga | amiga-*) 5019c019ec5Smaya basic_machine=m68k-unknown 5029c019ec5Smaya ;; 5039c019ec5Smaya amigaos | amigados) 5049c019ec5Smaya basic_machine=m68k-unknown 5059c019ec5Smaya os=-amigaos 5069c019ec5Smaya ;; 5079c019ec5Smaya amigaunix | amix) 5089c019ec5Smaya basic_machine=m68k-unknown 5099c019ec5Smaya os=-sysv4 5109c019ec5Smaya ;; 5119c019ec5Smaya apollo68) 5129c019ec5Smaya basic_machine=m68k-apollo 5139c019ec5Smaya os=-sysv 5149c019ec5Smaya ;; 5159c019ec5Smaya apollo68bsd) 5169c019ec5Smaya basic_machine=m68k-apollo 5179c019ec5Smaya os=-bsd 5189c019ec5Smaya ;; 5199c019ec5Smaya aros) 5209c019ec5Smaya basic_machine=i386-pc 5219c019ec5Smaya os=-aros 5229c019ec5Smaya ;; 5239c019ec5Smaya asmjs) 5249c019ec5Smaya basic_machine=asmjs-unknown 5259c019ec5Smaya ;; 5269c019ec5Smaya aux) 5279c019ec5Smaya basic_machine=m68k-apple 5289c019ec5Smaya os=-aux 5299c019ec5Smaya ;; 5309c019ec5Smaya balance) 5319c019ec5Smaya basic_machine=ns32k-sequent 5329c019ec5Smaya os=-dynix 5339c019ec5Smaya ;; 5349c019ec5Smaya blackfin) 5359c019ec5Smaya basic_machine=bfin-unknown 5369c019ec5Smaya os=-linux 5379c019ec5Smaya ;; 5389c019ec5Smaya blackfin-*) 5399c019ec5Smaya basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5409c019ec5Smaya os=-linux 54161b2299dSmrg ;; 54288de56ccSmrg bluegene*) 5439c019ec5Smaya basic_machine=powerpc-ibm 5449c019ec5Smaya os=-cnk 5459c019ec5Smaya ;; 5469c019ec5Smaya c54x-*) 5479c019ec5Smaya basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5489c019ec5Smaya ;; 5499c019ec5Smaya c55x-*) 5509c019ec5Smaya basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5519c019ec5Smaya ;; 5529c019ec5Smaya c6x-*) 5539c019ec5Smaya basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5549c019ec5Smaya ;; 5559c019ec5Smaya c90) 5569c019ec5Smaya basic_machine=c90-cray 5579c019ec5Smaya os=-unicos 5589c019ec5Smaya ;; 5599c019ec5Smaya cegcc) 5609c019ec5Smaya basic_machine=arm-unknown 5619c019ec5Smaya os=-cegcc 5629c019ec5Smaya ;; 5639c019ec5Smaya convex-c1) 5649c019ec5Smaya basic_machine=c1-convex 5659c019ec5Smaya os=-bsd 5669c019ec5Smaya ;; 5679c019ec5Smaya convex-c2) 5689c019ec5Smaya basic_machine=c2-convex 5699c019ec5Smaya os=-bsd 5709c019ec5Smaya ;; 5719c019ec5Smaya convex-c32) 5729c019ec5Smaya basic_machine=c32-convex 5739c019ec5Smaya os=-bsd 5749c019ec5Smaya ;; 5759c019ec5Smaya convex-c34) 5769c019ec5Smaya basic_machine=c34-convex 5779c019ec5Smaya os=-bsd 5789c019ec5Smaya ;; 5799c019ec5Smaya convex-c38) 5809c019ec5Smaya basic_machine=c38-convex 5819c019ec5Smaya os=-bsd 5829c019ec5Smaya ;; 5839c019ec5Smaya cray | j90) 5849c019ec5Smaya basic_machine=j90-cray 5859c019ec5Smaya os=-unicos 5869c019ec5Smaya ;; 5879c019ec5Smaya craynv) 5889c019ec5Smaya basic_machine=craynv-cray 5899c019ec5Smaya os=-unicosmp 5909c019ec5Smaya ;; 5919c019ec5Smaya cr16 | cr16-*) 5929c019ec5Smaya basic_machine=cr16-unknown 5939c019ec5Smaya os=-elf 5949c019ec5Smaya ;; 5959c019ec5Smaya crds | unos) 5969c019ec5Smaya basic_machine=m68k-crds 5979c019ec5Smaya ;; 5989c019ec5Smaya crisv32 | crisv32-* | etraxfs*) 5999c019ec5Smaya basic_machine=crisv32-axis 6009c019ec5Smaya ;; 6019c019ec5Smaya cris | cris-* | etrax*) 6029c019ec5Smaya basic_machine=cris-axis 6039c019ec5Smaya ;; 6049c019ec5Smaya crx) 6059c019ec5Smaya basic_machine=crx-unknown 6069c019ec5Smaya os=-elf 6079c019ec5Smaya ;; 6089c019ec5Smaya da30 | da30-*) 6099c019ec5Smaya basic_machine=m68k-da30 6109c019ec5Smaya ;; 6119c019ec5Smaya decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6129c019ec5Smaya basic_machine=mips-dec 6131ab64890Smrg ;; 6141ab64890Smrg decsystem10* | dec10*) 6159c019ec5Smaya basic_machine=pdp10-dec 6169c019ec5Smaya os=-tops10 6171ab64890Smrg ;; 6181ab64890Smrg decsystem20* | dec20*) 6199c019ec5Smaya basic_machine=pdp10-dec 6209c019ec5Smaya os=-tops20 6211ab64890Smrg ;; 6221ab64890Smrg delta | 3300 | motorola-3300 | motorola-delta \ 6231ab64890Smrg | 3300-motorola | delta-motorola) 6249c019ec5Smaya basic_machine=m68k-motorola 6259c019ec5Smaya ;; 6269c019ec5Smaya delta88) 6279c019ec5Smaya basic_machine=m88k-motorola 6289c019ec5Smaya os=-sysv3 6299c019ec5Smaya ;; 6309c019ec5Smaya dicos) 6319c019ec5Smaya basic_machine=i686-pc 6329c019ec5Smaya os=-dicos 6339c019ec5Smaya ;; 6349c019ec5Smaya djgpp) 6359c019ec5Smaya basic_machine=i586-pc 6369c019ec5Smaya os=-msdosdjgpp 6379c019ec5Smaya ;; 6389c019ec5Smaya dpx20 | dpx20-*) 6399c019ec5Smaya basic_machine=rs6000-bull 6409c019ec5Smaya os=-bosx 64188de56ccSmrg ;; 6425afda2e6Smrg dpx2*) 6439c019ec5Smaya basic_machine=m68k-bull 6449c019ec5Smaya os=-sysv3 6451ab64890Smrg ;; 6469c019ec5Smaya e500v[12]) 6479c019ec5Smaya basic_machine=powerpc-unknown 6489c019ec5Smaya os=$os"spe" 6499c019ec5Smaya ;; 6509c019ec5Smaya e500v[12]-*) 6519c019ec5Smaya basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6529c019ec5Smaya os=$os"spe" 6539c019ec5Smaya ;; 6549c019ec5Smaya ebmon29k) 6559c019ec5Smaya basic_machine=a29k-amd 6569c019ec5Smaya os=-ebmon 6571ab64890Smrg ;; 6585afda2e6Smrg elxsi) 6599c019ec5Smaya basic_machine=elxsi-elxsi 6609c019ec5Smaya os=-bsd 6619c019ec5Smaya ;; 6629c019ec5Smaya encore | umax | mmax) 6639c019ec5Smaya basic_machine=ns32k-encore 6649c019ec5Smaya ;; 6659c019ec5Smaya es1800 | OSE68k | ose68k | ose | OSE) 6669c019ec5Smaya basic_machine=m68k-ericsson 6679c019ec5Smaya os=-ose 6681ab64890Smrg ;; 6691ab64890Smrg fx2800) 6709c019ec5Smaya basic_machine=i860-alliant 6711ab64890Smrg ;; 6721ab64890Smrg genix) 6739c019ec5Smaya basic_machine=ns32k-ns 6749c019ec5Smaya ;; 6759c019ec5Smaya gmicro) 6769c019ec5Smaya basic_machine=tron-gmicro 6779c019ec5Smaya os=-sysv 6789c019ec5Smaya ;; 6799c019ec5Smaya go32) 6809c019ec5Smaya basic_machine=i386-pc 6819c019ec5Smaya os=-go32 6821ab64890Smrg ;; 6831ab64890Smrg h3050r* | hiux*) 6849c019ec5Smaya basic_machine=hppa1.1-hitachi 6859c019ec5Smaya os=-hiuxwe2 6869c019ec5Smaya ;; 6879c019ec5Smaya h8300hms) 6889c019ec5Smaya basic_machine=h8300-hitachi 6899c019ec5Smaya os=-hms 6909c019ec5Smaya ;; 6919c019ec5Smaya h8300xray) 6929c019ec5Smaya basic_machine=h8300-hitachi 6939c019ec5Smaya os=-xray 6949c019ec5Smaya ;; 6959c019ec5Smaya h8500hms) 6969c019ec5Smaya basic_machine=h8500-hitachi 6979c019ec5Smaya os=-hms 6989c019ec5Smaya ;; 6999c019ec5Smaya harris) 7009c019ec5Smaya basic_machine=m88k-harris 7019c019ec5Smaya os=-sysv3 7029c019ec5Smaya ;; 7039c019ec5Smaya hp300-*) 7049c019ec5Smaya basic_machine=m68k-hp 7059c019ec5Smaya ;; 7069c019ec5Smaya hp300bsd) 7079c019ec5Smaya basic_machine=m68k-hp 7089c019ec5Smaya os=-bsd 7099c019ec5Smaya ;; 7109c019ec5Smaya hp300hpux) 7119c019ec5Smaya basic_machine=m68k-hp 7129c019ec5Smaya os=-hpux 7131ab64890Smrg ;; 7141ab64890Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7159c019ec5Smaya basic_machine=hppa1.0-hp 7161ab64890Smrg ;; 7171ab64890Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 7189c019ec5Smaya basic_machine=m68000-hp 7191ab64890Smrg ;; 7201ab64890Smrg hp9k3[2-9][0-9]) 7219c019ec5Smaya basic_machine=m68k-hp 7221ab64890Smrg ;; 7231ab64890Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7249c019ec5Smaya basic_machine=hppa1.0-hp 7251ab64890Smrg ;; 7261ab64890Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7279c019ec5Smaya basic_machine=hppa1.1-hp 7281ab64890Smrg ;; 7291ab64890Smrg hp9k78[0-9] | hp78[0-9]) 7301ab64890Smrg # FIXME: really hppa2.0-hp 7319c019ec5Smaya basic_machine=hppa1.1-hp 7321ab64890Smrg ;; 7331ab64890Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7341ab64890Smrg # FIXME: really hppa2.0-hp 7359c019ec5Smaya basic_machine=hppa1.1-hp 7361ab64890Smrg ;; 7371ab64890Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7389c019ec5Smaya basic_machine=hppa1.1-hp 7391ab64890Smrg ;; 7401ab64890Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7419c019ec5Smaya basic_machine=hppa1.0-hp 7429c019ec5Smaya ;; 7439c019ec5Smaya hppaosf) 7449c019ec5Smaya basic_machine=hppa1.1-hp 7459c019ec5Smaya os=-osf 7469c019ec5Smaya ;; 7479c019ec5Smaya hppro) 7489c019ec5Smaya basic_machine=hppa1.1-hp 7499c019ec5Smaya os=-proelf 7509c019ec5Smaya ;; 7519c019ec5Smaya i370-ibm* | ibm*) 7529c019ec5Smaya basic_machine=i370-ibm 7531ab64890Smrg ;; 7541ab64890Smrg i*86v32) 7559c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7569c019ec5Smaya os=-sysv32 7571ab64890Smrg ;; 7581ab64890Smrg i*86v4*) 7599c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7609c019ec5Smaya os=-sysv4 7611ab64890Smrg ;; 7621ab64890Smrg i*86v) 7639c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7649c019ec5Smaya os=-sysv 7651ab64890Smrg ;; 7661ab64890Smrg i*86sol2) 7679c019ec5Smaya basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7689c019ec5Smaya os=-solaris2 7691ab64890Smrg ;; 7709c019ec5Smaya i386mach) 7719c019ec5Smaya basic_machine=i386-mach 7729c019ec5Smaya os=-mach 7739c019ec5Smaya ;; 7749c019ec5Smaya vsta) 7759c019ec5Smaya basic_machine=i386-unknown 7769c019ec5Smaya os=-vsta 7771ab64890Smrg ;; 7781ab64890Smrg iris | iris4d) 7799c019ec5Smaya basic_machine=mips-sgi 7801ab64890Smrg case $os in 7819c019ec5Smaya -irix*) 7821ab64890Smrg ;; 7831ab64890Smrg *) 7849c019ec5Smaya os=-irix4 7851ab64890Smrg ;; 7861ab64890Smrg esac 7871ab64890Smrg ;; 7889c019ec5Smaya isi68 | isi) 7899c019ec5Smaya basic_machine=m68k-isi 7909c019ec5Smaya os=-sysv 7919c019ec5Smaya ;; 7929c019ec5Smaya leon-*|leon[3-9]-*) 7939c019ec5Smaya basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 7949c019ec5Smaya ;; 7959c019ec5Smaya m68knommu) 7969c019ec5Smaya basic_machine=m68k-unknown 7979c019ec5Smaya os=-linux 7989c019ec5Smaya ;; 7999c019ec5Smaya m68knommu-*) 8009c019ec5Smaya basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 8019c019ec5Smaya os=-linux 8029c019ec5Smaya ;; 8039c019ec5Smaya magnum | m3230) 8049c019ec5Smaya basic_machine=mips-mips 8059c019ec5Smaya os=-sysv 8069c019ec5Smaya ;; 8079c019ec5Smaya merlin) 8089c019ec5Smaya basic_machine=ns32k-utek 8099c019ec5Smaya os=-sysv 8109c019ec5Smaya ;; 8119c019ec5Smaya microblaze*) 8129c019ec5Smaya basic_machine=microblaze-xilinx 8139c019ec5Smaya ;; 8149c019ec5Smaya mingw64) 8159c019ec5Smaya basic_machine=x86_64-pc 8169c019ec5Smaya os=-mingw64 8179c019ec5Smaya ;; 8189c019ec5Smaya mingw32) 8199c019ec5Smaya basic_machine=i686-pc 8209c019ec5Smaya os=-mingw32 8219c019ec5Smaya ;; 8229c019ec5Smaya mingw32ce) 8239c019ec5Smaya basic_machine=arm-unknown 8249c019ec5Smaya os=-mingw32ce 8259c019ec5Smaya ;; 8261ab64890Smrg miniframe) 8279c019ec5Smaya basic_machine=m68000-convergent 8289c019ec5Smaya ;; 8299c019ec5Smaya *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8309c019ec5Smaya basic_machine=m68k-atari 8319c019ec5Smaya os=-mint 8329c019ec5Smaya ;; 8339c019ec5Smaya mips3*-*) 8349c019ec5Smaya basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 8359c019ec5Smaya ;; 8369c019ec5Smaya mips3*) 8379c019ec5Smaya basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 8389c019ec5Smaya ;; 8399c019ec5Smaya monitor) 8409c019ec5Smaya basic_machine=m68k-rom68k 8419c019ec5Smaya os=-coff 8429c019ec5Smaya ;; 8439c019ec5Smaya morphos) 8449c019ec5Smaya basic_machine=powerpc-unknown 8459c019ec5Smaya os=-morphos 8469c019ec5Smaya ;; 8479c019ec5Smaya moxiebox) 8489c019ec5Smaya basic_machine=moxie-unknown 8499c019ec5Smaya os=-moxiebox 8509c019ec5Smaya ;; 8519c019ec5Smaya msdos) 8529c019ec5Smaya basic_machine=i386-pc 8539c019ec5Smaya os=-msdos 8549c019ec5Smaya ;; 8559c019ec5Smaya ms1-*) 8569c019ec5Smaya basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8579c019ec5Smaya ;; 8589c019ec5Smaya msys) 8599c019ec5Smaya basic_machine=i686-pc 8609c019ec5Smaya os=-msys 8619c019ec5Smaya ;; 8629c019ec5Smaya mvs) 8639c019ec5Smaya basic_machine=i370-ibm 8649c019ec5Smaya os=-mvs 8659c019ec5Smaya ;; 8669c019ec5Smaya nacl) 8679c019ec5Smaya basic_machine=le32-unknown 8689c019ec5Smaya os=-nacl 8691ab64890Smrg ;; 8709c019ec5Smaya ncr3000) 8719c019ec5Smaya basic_machine=i486-ncr 8729c019ec5Smaya os=-sysv4 8739c019ec5Smaya ;; 8749c019ec5Smaya netbsd386) 8759c019ec5Smaya basic_machine=i386-unknown 8769c019ec5Smaya os=-netbsd 8779c019ec5Smaya ;; 8789c019ec5Smaya netwinder) 8799c019ec5Smaya basic_machine=armv4l-rebel 8809c019ec5Smaya os=-linux 8819c019ec5Smaya ;; 8829c019ec5Smaya news | news700 | news800 | news900) 8839c019ec5Smaya basic_machine=m68k-sony 8849c019ec5Smaya os=-newsos 8859c019ec5Smaya ;; 8869c019ec5Smaya news1000) 8879c019ec5Smaya basic_machine=m68030-sony 8889c019ec5Smaya os=-newsos 8891ab64890Smrg ;; 8901ab64890Smrg news-3600 | risc-news) 8919c019ec5Smaya basic_machine=mips-sony 8929c019ec5Smaya os=-newsos 8939c019ec5Smaya ;; 8949c019ec5Smaya necv70) 8959c019ec5Smaya basic_machine=v70-nec 8969c019ec5Smaya os=-sysv 8971ab64890Smrg ;; 8985afda2e6Smrg next | m*-next) 8999c019ec5Smaya basic_machine=m68k-next 9001ab64890Smrg case $os in 9019c019ec5Smaya -nextstep* ) 9021ab64890Smrg ;; 9039c019ec5Smaya -ns2*) 9049c019ec5Smaya os=-nextstep2 9051ab64890Smrg ;; 9061ab64890Smrg *) 9079c019ec5Smaya os=-nextstep3 9081ab64890Smrg ;; 9091ab64890Smrg esac 9101ab64890Smrg ;; 9119c019ec5Smaya nh3000) 9129c019ec5Smaya basic_machine=m68k-harris 9139c019ec5Smaya os=-cxux 9149c019ec5Smaya ;; 9159c019ec5Smaya nh[45]000) 9169c019ec5Smaya basic_machine=m88k-harris 9179c019ec5Smaya os=-cxux 9189c019ec5Smaya ;; 9199c019ec5Smaya nindy960) 9209c019ec5Smaya basic_machine=i960-intel 9219c019ec5Smaya os=-nindy 9229c019ec5Smaya ;; 9239c019ec5Smaya mon960) 9249c019ec5Smaya basic_machine=i960-intel 9259c019ec5Smaya os=-mon960 9269c019ec5Smaya ;; 9279c019ec5Smaya nonstopux) 9289c019ec5Smaya basic_machine=mips-compaq 9299c019ec5Smaya os=-nonstopux 9309c019ec5Smaya ;; 9311ab64890Smrg np1) 9329c019ec5Smaya basic_machine=np1-gould 9339c019ec5Smaya ;; 9349c019ec5Smaya neo-tandem) 9359c019ec5Smaya basic_machine=neo-tandem 9369c019ec5Smaya ;; 9379c019ec5Smaya nse-tandem) 9389c019ec5Smaya basic_machine=nse-tandem 9399c019ec5Smaya ;; 9409c019ec5Smaya nsr-tandem) 9419c019ec5Smaya basic_machine=nsr-tandem 9429c019ec5Smaya ;; 9439c019ec5Smaya nsv-tandem) 9449c019ec5Smaya basic_machine=nsv-tandem 9459c019ec5Smaya ;; 9469c019ec5Smaya nsx-tandem) 9479c019ec5Smaya basic_machine=nsx-tandem 9481ab64890Smrg ;; 9491ab64890Smrg op50n-* | op60c-*) 9509c019ec5Smaya basic_machine=hppa1.1-oki 9519c019ec5Smaya os=-proelf 9529c019ec5Smaya ;; 9539c019ec5Smaya openrisc | openrisc-*) 9549c019ec5Smaya basic_machine=or32-unknown 9559c019ec5Smaya ;; 9569c019ec5Smaya os400) 9579c019ec5Smaya basic_machine=powerpc-ibm 9589c019ec5Smaya os=-os400 9599c019ec5Smaya ;; 9609c019ec5Smaya OSE68000 | ose68000) 9619c019ec5Smaya basic_machine=m68000-ericsson 9629c019ec5Smaya os=-ose 9639c019ec5Smaya ;; 9649c019ec5Smaya os68k) 9659c019ec5Smaya basic_machine=m68k-none 9669c019ec5Smaya os=-os68k 9671ab64890Smrg ;; 9681ab64890Smrg pa-hitachi) 9699c019ec5Smaya basic_machine=hppa1.1-hitachi 9709c019ec5Smaya os=-hiuxwe2 9719c019ec5Smaya ;; 9729c019ec5Smaya paragon) 9739c019ec5Smaya basic_machine=i860-intel 9749c019ec5Smaya os=-osf 9759c019ec5Smaya ;; 9769c019ec5Smaya parisc) 9779c019ec5Smaya basic_machine=hppa-unknown 9789c019ec5Smaya os=-linux 9799c019ec5Smaya ;; 9809c019ec5Smaya parisc-*) 9819c019ec5Smaya basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9829c019ec5Smaya os=-linux 98361b2299dSmrg ;; 9841ab64890Smrg pbd) 9859c019ec5Smaya basic_machine=sparc-tti 9861ab64890Smrg ;; 9871ab64890Smrg pbb) 9889c019ec5Smaya basic_machine=m68k-tti 9899c019ec5Smaya ;; 9909c019ec5Smaya pc532 | pc532-*) 9919c019ec5Smaya basic_machine=ns32k-pc532 9929c019ec5Smaya ;; 9939c019ec5Smaya pc98) 9949c019ec5Smaya basic_machine=i386-pc 9959c019ec5Smaya ;; 9969c019ec5Smaya pc98-*) 9979c019ec5Smaya basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9989c019ec5Smaya ;; 9999c019ec5Smaya pentium | p5 | k5 | k6 | nexgen | viac3) 10009c019ec5Smaya basic_machine=i586-pc 10019c019ec5Smaya ;; 10029c019ec5Smaya pentiumpro | p6 | 6x86 | athlon | athlon_*) 10039c019ec5Smaya basic_machine=i686-pc 10049c019ec5Smaya ;; 10059c019ec5Smaya pentiumii | pentium2 | pentiumiii | pentium3) 10069c019ec5Smaya basic_machine=i686-pc 10079c019ec5Smaya ;; 10089c019ec5Smaya pentium4) 10099c019ec5Smaya basic_machine=i786-pc 10109c019ec5Smaya ;; 10119c019ec5Smaya pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10129c019ec5Smaya basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10139c019ec5Smaya ;; 10149c019ec5Smaya pentiumpro-* | p6-* | 6x86-* | athlon-*) 10159c019ec5Smaya basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10161ab64890Smrg ;; 10179c019ec5Smaya pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10189c019ec5Smaya basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10199c019ec5Smaya ;; 10209c019ec5Smaya pentium4-*) 10219c019ec5Smaya basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10221ab64890Smrg ;; 10231ab64890Smrg pn) 10249c019ec5Smaya basic_machine=pn-gould 10251ab64890Smrg ;; 10269c019ec5Smaya power) basic_machine=power-ibm 10271ab64890Smrg ;; 10289c019ec5Smaya ppc | ppcbe) basic_machine=powerpc-unknown 10291ab64890Smrg ;; 10309c019ec5Smaya ppc-* | ppcbe-*) 10319c019ec5Smaya basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10321ab64890Smrg ;; 10339c019ec5Smaya ppcle | powerpclittle) 10349c019ec5Smaya basic_machine=powerpcle-unknown 10351ab64890Smrg ;; 10369c019ec5Smaya ppcle-* | powerpclittle-*) 10379c019ec5Smaya basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10381ab64890Smrg ;; 10399c019ec5Smaya ppc64) basic_machine=powerpc64-unknown 10401ab64890Smrg ;; 10419c019ec5Smaya ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10421ab64890Smrg ;; 10439c019ec5Smaya ppc64le | powerpc64little) 10449c019ec5Smaya basic_machine=powerpc64le-unknown 10459c019ec5Smaya ;; 10469c019ec5Smaya ppc64le-* | powerpc64little-*) 10479c019ec5Smaya basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10481ab64890Smrg ;; 10499c019ec5Smaya ps2) 10509c019ec5Smaya basic_machine=i386-ibm 10511ab64890Smrg ;; 10529c019ec5Smaya pw32) 10539c019ec5Smaya basic_machine=i586-unknown 10549c019ec5Smaya os=-pw32 10551ab64890Smrg ;; 10569c019ec5Smaya rdos | rdos64) 10579c019ec5Smaya basic_machine=x86_64-pc 10589c019ec5Smaya os=-rdos 10591ab64890Smrg ;; 10609c019ec5Smaya rdos32) 10619c019ec5Smaya basic_machine=i386-pc 10629c019ec5Smaya os=-rdos 10631ab64890Smrg ;; 10649c019ec5Smaya rom68k) 10659c019ec5Smaya basic_machine=m68k-rom68k 10669c019ec5Smaya os=-coff 10671ab64890Smrg ;; 10689c019ec5Smaya rm[46]00) 10699c019ec5Smaya basic_machine=mips-siemens 10701ab64890Smrg ;; 10719c019ec5Smaya rtpc | rtpc-*) 10729c019ec5Smaya basic_machine=romp-ibm 10731ab64890Smrg ;; 10749c019ec5Smaya s390 | s390-*) 10759c019ec5Smaya basic_machine=s390-ibm 10761ab64890Smrg ;; 10779c019ec5Smaya s390x | s390x-*) 10789c019ec5Smaya basic_machine=s390x-ibm 10791ab64890Smrg ;; 10809c019ec5Smaya sa29200) 10819c019ec5Smaya basic_machine=a29k-amd 10829c019ec5Smaya os=-udi 1083eb411b4bSmrg ;; 10849c019ec5Smaya sb1) 10859c019ec5Smaya basic_machine=mipsisa64sb1-unknown 10861ab64890Smrg ;; 10879c019ec5Smaya sb1el) 10889c019ec5Smaya basic_machine=mipsisa64sb1el-unknown 10891ab64890Smrg ;; 10909c019ec5Smaya sde) 10919c019ec5Smaya basic_machine=mipsisa32-sde 10929c019ec5Smaya os=-elf 10931ab64890Smrg ;; 10949c019ec5Smaya sei) 10959c019ec5Smaya basic_machine=mips-sei 10969c019ec5Smaya os=-seiux 10971ab64890Smrg ;; 10989c019ec5Smaya sequent) 10999c019ec5Smaya basic_machine=i386-sequent 11001ab64890Smrg ;; 11019c019ec5Smaya sh5el) 11029c019ec5Smaya basic_machine=sh5le-unknown 11031ab64890Smrg ;; 11049c019ec5Smaya simso-wrs) 11059c019ec5Smaya basic_machine=sparclite-wrs 11069c019ec5Smaya os=-vxworks 11071ab64890Smrg ;; 11089c019ec5Smaya sps7) 11099c019ec5Smaya basic_machine=m68k-bull 11109c019ec5Smaya os=-sysv2 11111ab64890Smrg ;; 11129c019ec5Smaya spur) 11139c019ec5Smaya basic_machine=spur-unknown 11141ab64890Smrg ;; 11159c019ec5Smaya st2000) 11169c019ec5Smaya basic_machine=m68k-tandem 11171ab64890Smrg ;; 11189c019ec5Smaya stratus) 11199c019ec5Smaya basic_machine=i860-stratus 11209c019ec5Smaya os=-sysv4 11211ab64890Smrg ;; 11229c019ec5Smaya strongarm-* | thumb-*) 11239c019ec5Smaya basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 11241ab64890Smrg ;; 11259c019ec5Smaya sun2) 11269c019ec5Smaya basic_machine=m68000-sun 11271ab64890Smrg ;; 11289c019ec5Smaya sun2os3) 11299c019ec5Smaya basic_machine=m68000-sun 11309c019ec5Smaya os=-sunos3 11311ab64890Smrg ;; 11329c019ec5Smaya sun2os4) 11339c019ec5Smaya basic_machine=m68000-sun 11349c019ec5Smaya os=-sunos4 11351ab64890Smrg ;; 11369c019ec5Smaya sun3os3) 11379c019ec5Smaya basic_machine=m68k-sun 11389c019ec5Smaya os=-sunos3 113961b2299dSmrg ;; 11409c019ec5Smaya sun3os4) 11419c019ec5Smaya basic_machine=m68k-sun 11429c019ec5Smaya os=-sunos4 11431ab64890Smrg ;; 11449c019ec5Smaya sun4os3) 11459c019ec5Smaya basic_machine=sparc-sun 11469c019ec5Smaya os=-sunos3 11471ab64890Smrg ;; 11489c019ec5Smaya sun4os4) 11499c019ec5Smaya basic_machine=sparc-sun 11509c019ec5Smaya os=-sunos4 11511ab64890Smrg ;; 11529c019ec5Smaya sun4sol2) 11539c019ec5Smaya basic_machine=sparc-sun 11549c019ec5Smaya os=-solaris2 11551ab64890Smrg ;; 11569c019ec5Smaya sun3 | sun3-*) 11579c019ec5Smaya basic_machine=m68k-sun 11581ab64890Smrg ;; 11599c019ec5Smaya sun4) 11609c019ec5Smaya basic_machine=sparc-sun 11611ab64890Smrg ;; 11629c019ec5Smaya sun386 | sun386i | roadrunner) 11639c019ec5Smaya basic_machine=i386-sun 11641ab64890Smrg ;; 11659c019ec5Smaya sv1) 11669c019ec5Smaya basic_machine=sv1-cray 11679c019ec5Smaya os=-unicos 11681ab64890Smrg ;; 11699c019ec5Smaya symmetry) 11709c019ec5Smaya basic_machine=i386-sequent 11719c019ec5Smaya os=-dynix 11721ab64890Smrg ;; 11739c019ec5Smaya t3e) 11749c019ec5Smaya basic_machine=alphaev5-cray 11759c019ec5Smaya os=-unicos 11761ab64890Smrg ;; 11779c019ec5Smaya t90) 11789c019ec5Smaya basic_machine=t90-cray 11799c019ec5Smaya os=-unicos 11801ab64890Smrg ;; 11819c019ec5Smaya tile*) 11829c019ec5Smaya basic_machine=$basic_machine-unknown 11839c019ec5Smaya os=-linux-gnu 11841ab64890Smrg ;; 11859c019ec5Smaya tx39) 11869c019ec5Smaya basic_machine=mipstx39-unknown 11871ab64890Smrg ;; 11889c019ec5Smaya tx39el) 11899c019ec5Smaya basic_machine=mipstx39el-unknown 11901ab64890Smrg ;; 11919c019ec5Smaya toad1) 11929c019ec5Smaya basic_machine=pdp10-xkl 11939c019ec5Smaya os=-tops20 11941ab64890Smrg ;; 11959c019ec5Smaya tower | tower-32) 11969c019ec5Smaya basic_machine=m68k-ncr 11971ab64890Smrg ;; 11989c019ec5Smaya tpf) 11999c019ec5Smaya basic_machine=s390x-ibm 12009c019ec5Smaya os=-tpf 12011ab64890Smrg ;; 12029c019ec5Smaya udi29k) 12039c019ec5Smaya basic_machine=a29k-amd 12049c019ec5Smaya os=-udi 12051ab64890Smrg ;; 12069c019ec5Smaya ultra3) 12079c019ec5Smaya basic_machine=a29k-nyu 12089c019ec5Smaya os=-sym1 1209eb411b4bSmrg ;; 12109c019ec5Smaya v810 | necv810) 12119c019ec5Smaya basic_machine=v810-nec 12129c019ec5Smaya os=-none 12131ab64890Smrg ;; 12149c019ec5Smaya vaxv) 12159c019ec5Smaya basic_machine=vax-dec 12169c019ec5Smaya os=-sysv 12171ab64890Smrg ;; 12189c019ec5Smaya vms) 12199c019ec5Smaya basic_machine=vax-dec 12209c019ec5Smaya os=-vms 122188de56ccSmrg ;; 12229c019ec5Smaya vpp*|vx|vx-*) 12239c019ec5Smaya basic_machine=f301-fujitsu 12241ab64890Smrg ;; 12259c019ec5Smaya vxworks960) 12269c019ec5Smaya basic_machine=i960-wrs 12279c019ec5Smaya os=-vxworks 12281ab64890Smrg ;; 12299c019ec5Smaya vxworks68) 12309c019ec5Smaya basic_machine=m68k-wrs 12319c019ec5Smaya os=-vxworks 12329c019ec5Smaya ;; 12339c019ec5Smaya vxworks29k) 12349c019ec5Smaya basic_machine=a29k-wrs 12359c019ec5Smaya os=-vxworks 12361ab64890Smrg ;; 12379c019ec5Smaya w65*) 12389c019ec5Smaya basic_machine=w65-wdc 12399c019ec5Smaya os=-none 12401ab64890Smrg ;; 12419c019ec5Smaya w89k-*) 12429c019ec5Smaya basic_machine=hppa1.1-winbond 12439c019ec5Smaya os=-proelf 12441ab64890Smrg ;; 12459c019ec5Smaya x64) 12469c019ec5Smaya basic_machine=x86_64-pc 12479c019ec5Smaya ;; 12489c019ec5Smaya xbox) 12499c019ec5Smaya basic_machine=i686-pc 12509c019ec5Smaya os=-mingw32 12519c019ec5Smaya ;; 12529c019ec5Smaya xps | xps100) 12539c019ec5Smaya basic_machine=xps100-honeywell 12541ab64890Smrg ;; 12555afda2e6Smrg xscale-* | xscalee[bl]-*) 12569c019ec5Smaya basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 12579c019ec5Smaya ;; 12589c019ec5Smaya ymp) 12599c019ec5Smaya basic_machine=ymp-cray 12609c019ec5Smaya os=-unicos 12619c019ec5Smaya ;; 12629c019ec5Smaya none) 12639c019ec5Smaya basic_machine=none-none 12649c019ec5Smaya os=-none 12651ab64890Smrg ;; 12665afda2e6Smrg 12679c019ec5Smaya# Here we handle the default manufacturer of certain CPU types. It is in 12689c019ec5Smaya# some cases the only manufacturer, in others, it is the most popular. 12699c019ec5Smaya w89k) 12709c019ec5Smaya basic_machine=hppa1.1-winbond 12711ab64890Smrg ;; 12729c019ec5Smaya op50n) 12739c019ec5Smaya basic_machine=hppa1.1-oki 12741ab64890Smrg ;; 12759c019ec5Smaya op60c) 12769c019ec5Smaya basic_machine=hppa1.1-oki 12771ab64890Smrg ;; 12789c019ec5Smaya romp) 12799c019ec5Smaya basic_machine=romp-ibm 12801ab64890Smrg ;; 12819c019ec5Smaya mmix) 12829c019ec5Smaya basic_machine=mmix-knuth 12831ab64890Smrg ;; 12849c019ec5Smaya rs6000) 12859c019ec5Smaya basic_machine=rs6000-ibm 12861ab64890Smrg ;; 12879c019ec5Smaya vax) 12889c019ec5Smaya basic_machine=vax-dec 12891ab64890Smrg ;; 12909c019ec5Smaya pdp11) 12919c019ec5Smaya basic_machine=pdp11-dec 12921ab64890Smrg ;; 12939c019ec5Smaya we32k) 12949c019ec5Smaya basic_machine=we32k-att 12951ab64890Smrg ;; 12969c019ec5Smaya sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12979c019ec5Smaya basic_machine=sh-unknown 12981ab64890Smrg ;; 12999c019ec5Smaya cydra) 13009c019ec5Smaya basic_machine=cydra-cydrome 13011ab64890Smrg ;; 13029c019ec5Smaya orion) 13039c019ec5Smaya basic_machine=orion-highlevel 13049c019ec5Smaya ;; 13059c019ec5Smaya orion105) 13069c019ec5Smaya basic_machine=clipper-highlevel 13079c019ec5Smaya ;; 13089c019ec5Smaya mac | mpw | mac-mpw) 13099c019ec5Smaya basic_machine=m68k-apple 13109c019ec5Smaya ;; 13119c019ec5Smaya pmac | pmac-mpw) 13129c019ec5Smaya basic_machine=powerpc-apple 13139c019ec5Smaya ;; 13149c019ec5Smaya *-unknown) 13159c019ec5Smaya # Make sure to match an already-canonicalized machine name. 13161ab64890Smrg ;; 13171ab64890Smrg *) 13189c019ec5Smaya echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 13199c019ec5Smaya exit 1 13201ab64890Smrg ;; 13211ab64890Smrgesac 13221ab64890Smrg 13231ab64890Smrg# Here we canonicalize certain aliases for manufacturers. 13249c019ec5Smayacase $basic_machine in 13259c019ec5Smaya *-digital*) 13269c019ec5Smaya basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 13271ab64890Smrg ;; 13289c019ec5Smaya *-commodore*) 13299c019ec5Smaya basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 13301ab64890Smrg ;; 13311ab64890Smrg *) 13321ab64890Smrg ;; 13331ab64890Smrgesac 13341ab64890Smrg 13351ab64890Smrg# Decode manufacturer-specific aliases for certain operating systems. 13361ab64890Smrg 13379c019ec5Smayaif [ x"$os" != x"" ] 13381ab64890Smrgthen 13391ab64890Smrgcase $os in 13405afda2e6Smrg # First match some system type aliases that might get confused 13415afda2e6Smrg # with valid system types. 13429c019ec5Smaya # -solaris* is a basic system type, with this one exception. 13439c019ec5Smaya -auroraux) 13449c019ec5Smaya os=-auroraux 134588de56ccSmrg ;; 13469c019ec5Smaya -solaris1 | -solaris1.*) 13475afda2e6Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13481ab64890Smrg ;; 13499c019ec5Smaya -solaris) 13509c019ec5Smaya os=-solaris2 13511ab64890Smrg ;; 13529c019ec5Smaya -unixware*) 13539c019ec5Smaya os=-sysv4.2uw 13541ab64890Smrg ;; 13559c019ec5Smaya -gnu/linux*) 13561ab64890Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13571ab64890Smrg ;; 13585afda2e6Smrg # es1800 is here to avoid being matched by es* (a different OS) 13599c019ec5Smaya -es1800*) 13609c019ec5Smaya os=-ose 13615afda2e6Smrg ;; 13625afda2e6Smrg # Now accept the basic system types. 13631ab64890Smrg # The portable systems comes first. 13645afda2e6Smrg # Each alternative MUST end in a * to match a version number. 13659c019ec5Smaya # -sysv* is not here because it comes later, after sysvr4. 13669c019ec5Smaya -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13679c019ec5Smaya | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13689c019ec5Smaya | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13699c019ec5Smaya | -sym* | -kopensolaris* | -plan9* \ 13709c019ec5Smaya | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13719c019ec5Smaya | -aos* | -aros* | -cloudabi* | -sortix* \ 13729c019ec5Smaya | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13739c019ec5Smaya | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13749c019ec5Smaya | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13759c019ec5Smaya | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13769c019ec5Smaya | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13779c019ec5Smaya | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13789c019ec5Smaya | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13799c019ec5Smaya | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13809c019ec5Smaya | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 13819c019ec5Smaya | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13829c019ec5Smaya | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13839c019ec5Smaya | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 13849c019ec5Smaya | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13859c019ec5Smaya | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 13869c019ec5Smaya | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13879c019ec5Smaya | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13889c019ec5Smaya | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13899c019ec5Smaya | -morphos* | -superux* | -rtmk* | -windiss* \ 13909c019ec5Smaya | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13919c019ec5Smaya | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13929c019ec5Smaya | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13939c019ec5Smaya | -midnightbsd*) 13941ab64890Smrg # Remember, each alternative MUST END IN *, to match a version number. 13951ab64890Smrg ;; 13969c019ec5Smaya -qnx*) 13979c019ec5Smaya case $basic_machine in 13989c019ec5Smaya x86-* | i*86-*) 13991ab64890Smrg ;; 14001ab64890Smrg *) 14019c019ec5Smaya os=-nto$os 14021ab64890Smrg ;; 14031ab64890Smrg esac 14041ab64890Smrg ;; 14059c019ec5Smaya -nto-qnx*) 14061ab64890Smrg ;; 14079c019ec5Smaya -nto*) 14085afda2e6Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 14091ab64890Smrg ;; 14109c019ec5Smaya -sim | -xray | -os68k* | -v88r* \ 14119c019ec5Smaya | -windows* | -osx | -abug | -netware* | -os9* \ 14129c019ec5Smaya | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14131ab64890Smrg ;; 14149c019ec5Smaya -mac*) 14155afda2e6Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 14161ab64890Smrg ;; 14179c019ec5Smaya -linux-dietlibc) 14189c019ec5Smaya os=-linux-dietlibc 14191ab64890Smrg ;; 14209c019ec5Smaya -linux*) 14219c019ec5Smaya os=`echo $os | sed -e 's|linux|linux-gnu|'` 14221ab64890Smrg ;; 14239c019ec5Smaya -sunos5*) 14245afda2e6Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14251ab64890Smrg ;; 14269c019ec5Smaya -sunos6*) 14275afda2e6Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14281ab64890Smrg ;; 14299c019ec5Smaya -opened*) 14309c019ec5Smaya os=-openedition 14311ab64890Smrg ;; 14329c019ec5Smaya -os400*) 14339c019ec5Smaya os=-os400 14341ab64890Smrg ;; 14359c019ec5Smaya -wince*) 14369c019ec5Smaya os=-wince 14371ab64890Smrg ;; 14389c019ec5Smaya -utek*) 14399c019ec5Smaya os=-bsd 14401ab64890Smrg ;; 14419c019ec5Smaya -dynix*) 14429c019ec5Smaya os=-bsd 14431ab64890Smrg ;; 14449c019ec5Smaya -acis*) 14459c019ec5Smaya os=-aos 14465afda2e6Smrg ;; 14479c019ec5Smaya -atheos*) 14489c019ec5Smaya os=-atheos 14491ab64890Smrg ;; 14509c019ec5Smaya -syllable*) 14519c019ec5Smaya os=-syllable 14521ab64890Smrg ;; 14539c019ec5Smaya -386bsd) 14549c019ec5Smaya os=-bsd 14551ab64890Smrg ;; 14569c019ec5Smaya -ctix* | -uts*) 14579c019ec5Smaya os=-sysv 14585afda2e6Smrg ;; 14599c019ec5Smaya -nova*) 14609c019ec5Smaya os=-rtmk-nova 14619c019ec5Smaya ;; 14629c019ec5Smaya -ns2) 14639c019ec5Smaya os=-nextstep2 14649c019ec5Smaya ;; 14659c019ec5Smaya -nsk*) 14669c019ec5Smaya os=-nsk 14671ab64890Smrg ;; 14681ab64890Smrg # Preserve the version number of sinix5. 14699c019ec5Smaya -sinix5.*) 14701ab64890Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 14711ab64890Smrg ;; 14729c019ec5Smaya -sinix*) 14739c019ec5Smaya os=-sysv4 14741ab64890Smrg ;; 14759c019ec5Smaya -tpf*) 14769c019ec5Smaya os=-tpf 14771ab64890Smrg ;; 14789c019ec5Smaya -triton*) 14799c019ec5Smaya os=-sysv3 14801ab64890Smrg ;; 14819c019ec5Smaya -oss*) 14829c019ec5Smaya os=-sysv3 14831ab64890Smrg ;; 14849c019ec5Smaya -svr4*) 14859c019ec5Smaya os=-sysv4 14861ab64890Smrg ;; 14879c019ec5Smaya -svr3) 14889c019ec5Smaya os=-sysv3 14891ab64890Smrg ;; 14909c019ec5Smaya -sysvr4) 14919c019ec5Smaya os=-sysv4 14921ab64890Smrg ;; 14939c019ec5Smaya # This must come after -sysvr4. 14949c019ec5Smaya -sysv*) 14951ab64890Smrg ;; 14969c019ec5Smaya -ose*) 14979c019ec5Smaya os=-ose 14981ab64890Smrg ;; 14999c019ec5Smaya -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15009c019ec5Smaya os=-mint 15011ab64890Smrg ;; 15029c019ec5Smaya -zvmoe) 15039c019ec5Smaya os=-zvmoe 15041ab64890Smrg ;; 15059c019ec5Smaya -dicos*) 15069c019ec5Smaya os=-dicos 15071ab64890Smrg ;; 15089c019ec5Smaya -pikeos*) 15095afda2e6Smrg # Until real need of OS specific support for 15105afda2e6Smrg # particular features comes up, bare metal 15115afda2e6Smrg # configurations are quite functional. 15129c019ec5Smaya case $basic_machine in 15135afda2e6Smrg arm*) 15149c019ec5Smaya os=-eabi 15155afda2e6Smrg ;; 15165afda2e6Smrg *) 15179c019ec5Smaya os=-elf 15185afda2e6Smrg ;; 15195afda2e6Smrg esac 15201ab64890Smrg ;; 15219c019ec5Smaya -nacl*) 152288de56ccSmrg ;; 15239c019ec5Smaya -ios) 1524eb411b4bSmrg ;; 15259c019ec5Smaya -none) 15261ab64890Smrg ;; 15271ab64890Smrg *) 15289c019ec5Smaya # Get rid of the `-' at the beginning of $os. 15299c019ec5Smaya os=`echo $os | sed 's/[^-]*-//'` 15305afda2e6Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 15311ab64890Smrg exit 1 15321ab64890Smrg ;; 15331ab64890Smrgesac 15341ab64890Smrgelse 15351ab64890Smrg 15361ab64890Smrg# Here we handle the default operating systems that come with various machines. 15371ab64890Smrg# The value should be what the vendor currently ships out the door with their 15381ab64890Smrg# machine or put another way, the most popular os provided with the machine. 15391ab64890Smrg 15401ab64890Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15411ab64890Smrg# "-sun"), then you have to tell the case statement up towards the top 15421ab64890Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15431ab64890Smrg# will signal an error saying that MANUFACTURER isn't an operating 15441ab64890Smrg# system, and we'll never get to this point. 15451ab64890Smrg 15469c019ec5Smayacase $basic_machine in 1547eb411b4bSmrg score-*) 15489c019ec5Smaya os=-elf 15491ab64890Smrg ;; 1550eb411b4bSmrg spu-*) 15519c019ec5Smaya os=-elf 15521ab64890Smrg ;; 15531ab64890Smrg *-acorn) 15549c019ec5Smaya os=-riscix1.2 15551ab64890Smrg ;; 15561ab64890Smrg arm*-rebel) 15579c019ec5Smaya os=-linux 15581ab64890Smrg ;; 15591ab64890Smrg arm*-semi) 15609c019ec5Smaya os=-aout 15611ab64890Smrg ;; 1562eb411b4bSmrg c4x-* | tic4x-*) 15639c019ec5Smaya os=-coff 1564eb411b4bSmrg ;; 15650f8248bfSmrg c8051-*) 15669c019ec5Smaya os=-elf 15670f8248bfSmrg ;; 1568eb411b4bSmrg hexagon-*) 15699c019ec5Smaya os=-elf 15701ab64890Smrg ;; 1571e9fcaa8aSmrg tic54x-*) 15729c019ec5Smaya os=-coff 1573e9fcaa8aSmrg ;; 1574e9fcaa8aSmrg tic55x-*) 15759c019ec5Smaya os=-coff 1576e9fcaa8aSmrg ;; 1577e9fcaa8aSmrg tic6x-*) 15789c019ec5Smaya os=-coff 1579e9fcaa8aSmrg ;; 15801ab64890Smrg # This must come before the *-dec entry. 15811ab64890Smrg pdp10-*) 15829c019ec5Smaya os=-tops20 15831ab64890Smrg ;; 15841ab64890Smrg pdp11-*) 15859c019ec5Smaya os=-none 15861ab64890Smrg ;; 15871ab64890Smrg *-dec | vax-*) 15889c019ec5Smaya os=-ultrix4.2 15891ab64890Smrg ;; 15901ab64890Smrg m68*-apollo) 15919c019ec5Smaya os=-domain 15921ab64890Smrg ;; 15931ab64890Smrg i386-sun) 15949c019ec5Smaya os=-sunos4.0.2 15951ab64890Smrg ;; 15961ab64890Smrg m68000-sun) 15979c019ec5Smaya os=-sunos3 15981ab64890Smrg ;; 15991ab64890Smrg m68*-cisco) 16009c019ec5Smaya os=-aout 16011ab64890Smrg ;; 1602eb411b4bSmrg mep-*) 16039c019ec5Smaya os=-elf 16041ab64890Smrg ;; 16051ab64890Smrg mips*-cisco) 16069c019ec5Smaya os=-elf 16071ab64890Smrg ;; 16081ab64890Smrg mips*-*) 16099c019ec5Smaya os=-elf 16101ab64890Smrg ;; 16111ab64890Smrg or32-*) 16129c019ec5Smaya os=-coff 16131ab64890Smrg ;; 16141ab64890Smrg *-tti) # must be before sparc entry or we get the wrong os. 16159c019ec5Smaya os=-sysv3 16161ab64890Smrg ;; 16171ab64890Smrg sparc-* | *-sun) 16189c019ec5Smaya os=-sunos4.1.1 16191ab64890Smrg ;; 162038ae11fcSmrg pru-*) 16219c019ec5Smaya os=-elf 162238ae11fcSmrg ;; 16231ab64890Smrg *-be) 16249c019ec5Smaya os=-beos 16251ab64890Smrg ;; 16261ab64890Smrg *-ibm) 16279c019ec5Smaya os=-aix 16281ab64890Smrg ;; 1629eb411b4bSmrg *-knuth) 16309c019ec5Smaya os=-mmixware 16311ab64890Smrg ;; 16321ab64890Smrg *-wec) 16339c019ec5Smaya os=-proelf 16341ab64890Smrg ;; 16351ab64890Smrg *-winbond) 16369c019ec5Smaya os=-proelf 16371ab64890Smrg ;; 16381ab64890Smrg *-oki) 16399c019ec5Smaya os=-proelf 16401ab64890Smrg ;; 16411ab64890Smrg *-hp) 16429c019ec5Smaya os=-hpux 16431ab64890Smrg ;; 16441ab64890Smrg *-hitachi) 16459c019ec5Smaya os=-hiux 16461ab64890Smrg ;; 16471ab64890Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16489c019ec5Smaya os=-sysv 16491ab64890Smrg ;; 16501ab64890Smrg *-cbm) 16519c019ec5Smaya os=-amigaos 16521ab64890Smrg ;; 16531ab64890Smrg *-dg) 16549c019ec5Smaya os=-dgux 16551ab64890Smrg ;; 16561ab64890Smrg *-dolphin) 16579c019ec5Smaya os=-sysv3 16581ab64890Smrg ;; 16591ab64890Smrg m68k-ccur) 16609c019ec5Smaya os=-rtu 16611ab64890Smrg ;; 16621ab64890Smrg m88k-omron*) 16639c019ec5Smaya os=-luna 16641ab64890Smrg ;; 16655afda2e6Smrg *-next) 16669c019ec5Smaya os=-nextstep 16671ab64890Smrg ;; 16681ab64890Smrg *-sequent) 16699c019ec5Smaya os=-ptx 16701ab64890Smrg ;; 16711ab64890Smrg *-crds) 16729c019ec5Smaya os=-unos 16731ab64890Smrg ;; 16741ab64890Smrg *-ns) 16759c019ec5Smaya os=-genix 16761ab64890Smrg ;; 16771ab64890Smrg i370-*) 16789c019ec5Smaya os=-mvs 16791ab64890Smrg ;; 16801ab64890Smrg *-gould) 16819c019ec5Smaya os=-sysv 16821ab64890Smrg ;; 16831ab64890Smrg *-highlevel) 16849c019ec5Smaya os=-bsd 16851ab64890Smrg ;; 16861ab64890Smrg *-encore) 16879c019ec5Smaya os=-bsd 16881ab64890Smrg ;; 16891ab64890Smrg *-sgi) 16909c019ec5Smaya os=-irix 16911ab64890Smrg ;; 16921ab64890Smrg *-siemens) 16939c019ec5Smaya os=-sysv4 16941ab64890Smrg ;; 16951ab64890Smrg *-masscomp) 16969c019ec5Smaya os=-rtu 16971ab64890Smrg ;; 16981ab64890Smrg f30[01]-fujitsu | f700-fujitsu) 16999c019ec5Smaya os=-uxpv 17001ab64890Smrg ;; 17011ab64890Smrg *-rom68k) 17029c019ec5Smaya os=-coff 17031ab64890Smrg ;; 17041ab64890Smrg *-*bug) 17059c019ec5Smaya os=-coff 17061ab64890Smrg ;; 17071ab64890Smrg *-apple) 17089c019ec5Smaya os=-macos 17091ab64890Smrg ;; 17101ab64890Smrg *-atari*) 17119c019ec5Smaya os=-mint 17121ab64890Smrg ;; 17131ab64890Smrg *) 17149c019ec5Smaya os=-none 17151ab64890Smrg ;; 17161ab64890Smrgesac 17171ab64890Smrgfi 17181ab64890Smrg 17191ab64890Smrg# Here we handle the case where we know the os, and the CPU type, but not the 17201ab64890Smrg# manufacturer. We pick the logical manufacturer. 17219c019ec5Smayavendor=unknown 17229c019ec5Smayacase $basic_machine in 17239c019ec5Smaya *-unknown) 17241ab64890Smrg case $os in 17259c019ec5Smaya -riscix*) 17261ab64890Smrg vendor=acorn 17271ab64890Smrg ;; 17289c019ec5Smaya -sunos*) 17291ab64890Smrg vendor=sun 17301ab64890Smrg ;; 17319c019ec5Smaya -cnk*|-aix*) 17321ab64890Smrg vendor=ibm 17331ab64890Smrg ;; 17349c019ec5Smaya -beos*) 17351ab64890Smrg vendor=be 17361ab64890Smrg ;; 17379c019ec5Smaya -hpux*) 17381ab64890Smrg vendor=hp 17391ab64890Smrg ;; 17409c019ec5Smaya -mpeix*) 17411ab64890Smrg vendor=hp 17421ab64890Smrg ;; 17439c019ec5Smaya -hiux*) 17441ab64890Smrg vendor=hitachi 17451ab64890Smrg ;; 17469c019ec5Smaya -unos*) 17471ab64890Smrg vendor=crds 17481ab64890Smrg ;; 17499c019ec5Smaya -dgux*) 17501ab64890Smrg vendor=dg 17511ab64890Smrg ;; 17529c019ec5Smaya -luna*) 17531ab64890Smrg vendor=omron 17541ab64890Smrg ;; 17559c019ec5Smaya -genix*) 17561ab64890Smrg vendor=ns 17571ab64890Smrg ;; 17589c019ec5Smaya -mvs* | -opened*) 17591ab64890Smrg vendor=ibm 17601ab64890Smrg ;; 17619c019ec5Smaya -os400*) 17621ab64890Smrg vendor=ibm 17631ab64890Smrg ;; 17649c019ec5Smaya -ptx*) 17651ab64890Smrg vendor=sequent 17661ab64890Smrg ;; 17679c019ec5Smaya -tpf*) 17681ab64890Smrg vendor=ibm 17691ab64890Smrg ;; 17709c019ec5Smaya -vxsim* | -vxworks* | -windiss*) 17711ab64890Smrg vendor=wrs 17721ab64890Smrg ;; 17739c019ec5Smaya -aux*) 17741ab64890Smrg vendor=apple 17751ab64890Smrg ;; 17769c019ec5Smaya -hms*) 17771ab64890Smrg vendor=hitachi 17781ab64890Smrg ;; 17799c019ec5Smaya -mpw* | -macos*) 17801ab64890Smrg vendor=apple 17811ab64890Smrg ;; 17829c019ec5Smaya -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17831ab64890Smrg vendor=atari 17841ab64890Smrg ;; 17859c019ec5Smaya -vos*) 17861ab64890Smrg vendor=stratus 17871ab64890Smrg ;; 17881ab64890Smrg esac 17899c019ec5Smaya basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 17901ab64890Smrg ;; 17911ab64890Smrgesac 17921ab64890Smrg 17939c019ec5Smayaecho "$basic_machine$os" 17941ab64890Smrgexit 17951ab64890Smrg 17961ab64890Smrg# Local variables: 17979c019ec5Smaya# eval: (add-hook 'write-file-functions 'time-stamp) 17981ab64890Smrg# time-stamp-start: "timestamp='" 17991ab64890Smrg# time-stamp-format: "%:y-%02m-%02d" 18001ab64890Smrg# time-stamp-end: "'" 18011ab64890Smrg# End: 1802