config.sub revision 0df20633
14d9b34d9Smrg#! /bin/sh 24d9b34d9Smrg# Configuration validation subroutine script. 30df20633Smrg# Copyright 1992-2018 Free Software Foundation, Inc. 44d9b34d9Smrg 50df20633Smrgtimestamp='2018-02-28' 64d9b34d9Smrg 719d64aeeSmrg# This file is free software; you can redistribute it and/or modify it 819d64aeeSmrg# under the terms of the GNU General Public License as published by 919d64aeeSmrg# the Free Software Foundation; either version 3 of the License, or 104d9b34d9Smrg# (at your option) any later version. 114d9b34d9Smrg# 1219d64aeeSmrg# This program is distributed in the hope that it will be useful, but 1319d64aeeSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of 1419d64aeeSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 1519d64aeeSmrg# General Public License for more details. 164d9b34d9Smrg# 174d9b34d9Smrg# You should have received a copy of the GNU General Public License 180df20633Smrg# along with this program; if not, see <https://www.gnu.org/licenses/>. 194d9b34d9Smrg# 204d9b34d9Smrg# As a special exception to the GNU General Public License, if you 214d9b34d9Smrg# distribute this file as part of a program that contains a 224d9b34d9Smrg# configuration script generated by Autoconf, you may include it under 2319d64aeeSmrg# the same distribution terms that you use for the rest of that 2419d64aeeSmrg# program. This Exception is an additional permission under section 7 2519d64aeeSmrg# of the GNU General Public License, version 3 ("GPLv3"). 264d9b34d9Smrg 274d9b34d9Smrg 2819d64aeeSmrg# Please send patches to <config-patches@gnu.org>. 294d9b34d9Smrg# 304d9b34d9Smrg# Configuration subroutine to validate and canonicalize a configuration type. 314d9b34d9Smrg# Supply the specified configuration type as an argument. 324d9b34d9Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 334d9b34d9Smrg# Otherwise, we print the canonical config type on stdout and succeed. 344d9b34d9Smrg 358512f934Smrg# You can get the latest version of this script from: 360df20633Smrg# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub 378512f934Smrg 384d9b34d9Smrg# This file is supposed to be the same for all GNU packages 394d9b34d9Smrg# and recognize all the CPU types, system types and aliases 404d9b34d9Smrg# that are meaningful with *any* GNU software. 414d9b34d9Smrg# Each package is responsible for reporting which valid configurations 424d9b34d9Smrg# it does not support. The user should be able to distinguish 434d9b34d9Smrg# a failure to support a valid configuration from a meaningless 444d9b34d9Smrg# configuration. 454d9b34d9Smrg 464d9b34d9Smrg# The goal of this file is to map all the various variations of a given 474d9b34d9Smrg# machine specification into a single specification in the form: 484d9b34d9Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 494d9b34d9Smrg# or in some cases, the newer four-part form: 504d9b34d9Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 514d9b34d9Smrg# It is wrong to echo any other type of specification. 524d9b34d9Smrg 534d9b34d9Smrgme=`echo "$0" | sed -e 's,.*/,,'` 544d9b34d9Smrg 554d9b34d9Smrgusage="\ 560df20633SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS 574d9b34d9Smrg 584d9b34d9SmrgCanonicalize a configuration name. 594d9b34d9Smrg 600df20633SmrgOptions: 614d9b34d9Smrg -h, --help print this help, then exit 624d9b34d9Smrg -t, --time-stamp print date of last modification, then exit 634d9b34d9Smrg -v, --version print version number, then exit 644d9b34d9Smrg 654d9b34d9SmrgReport bugs and patches to <config-patches@gnu.org>." 664d9b34d9Smrg 674d9b34d9Smrgversion="\ 684d9b34d9SmrgGNU config.sub ($timestamp) 694d9b34d9Smrg 700df20633SmrgCopyright 1992-2018 Free Software Foundation, Inc. 714d9b34d9Smrg 724d9b34d9SmrgThis is free software; see the source for copying conditions. There is NO 734d9b34d9Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 744d9b34d9Smrg 754d9b34d9Smrghelp=" 764d9b34d9SmrgTry \`$me --help' for more information." 774d9b34d9Smrg 784d9b34d9Smrg# Parse command line 794d9b34d9Smrgwhile test $# -gt 0 ; do 804d9b34d9Smrg case $1 in 814d9b34d9Smrg --time-stamp | --time* | -t ) 824d9b34d9Smrg echo "$timestamp" ; exit ;; 834d9b34d9Smrg --version | -v ) 844d9b34d9Smrg echo "$version" ; exit ;; 854d9b34d9Smrg --help | --h* | -h ) 864d9b34d9Smrg echo "$usage"; exit ;; 874d9b34d9Smrg -- ) # Stop option processing 884d9b34d9Smrg shift; break ;; 894d9b34d9Smrg - ) # Use stdin as input. 904d9b34d9Smrg break ;; 914d9b34d9Smrg -* ) 924d9b34d9Smrg echo "$me: invalid option $1$help" 934d9b34d9Smrg exit 1 ;; 944d9b34d9Smrg 954d9b34d9Smrg *local*) 964d9b34d9Smrg # First pass through any local machine types. 970df20633Smrg echo "$1" 984d9b34d9Smrg exit ;; 994d9b34d9Smrg 1004d9b34d9Smrg * ) 1014d9b34d9Smrg break ;; 1024d9b34d9Smrg esac 1034d9b34d9Smrgdone 1044d9b34d9Smrg 1054d9b34d9Smrgcase $# in 1064d9b34d9Smrg 0) echo "$me: missing argument$help" >&2 1074d9b34d9Smrg exit 1;; 1084d9b34d9Smrg 1) ;; 1094d9b34d9Smrg *) echo "$me: too many arguments$help" >&2 1104d9b34d9Smrg exit 1;; 1114d9b34d9Smrgesac 1124d9b34d9Smrg 1134d9b34d9Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1144d9b34d9Smrg# Here we must recognize all the valid KERNEL-OS combinations. 1150df20633Smrgmaybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1164d9b34d9Smrgcase $maybe_os in 11712e1d9cbSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 11819d64aeeSmrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1190df20633Smrg knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ 1200df20633Smrg kopensolaris*-gnu* | cloudabi*-eabi* | \ 1214d9b34d9Smrg storm-chaos* | os2-emx* | rtmk-nova*) 1224d9b34d9Smrg os=-$maybe_os 1230df20633Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1244d9b34d9Smrg ;; 12519d64aeeSmrg android-linux) 12619d64aeeSmrg os=-linux-android 1270df20633Smrg basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 12819d64aeeSmrg ;; 1294d9b34d9Smrg *) 1300df20633Smrg basic_machine=`echo "$1" | sed 's/-[^-]*$//'` 1310df20633Smrg if [ "$basic_machine" != "$1" ] 1320df20633Smrg then os=`echo "$1" | sed 's/.*-/-/'` 1334d9b34d9Smrg else os=; fi 1344d9b34d9Smrg ;; 1354d9b34d9Smrgesac 1364d9b34d9Smrg 1374d9b34d9Smrg### Let's recognize common machines as not being operating systems so 1384d9b34d9Smrg### that things like config.sub decstation-3100 work. We also 1394d9b34d9Smrg### recognize some manufacturers as not being operating systems, so we 1404d9b34d9Smrg### can provide default operating systems below. 1414d9b34d9Smrgcase $os in 1424d9b34d9Smrg -sun*os*) 1434d9b34d9Smrg # Prevent following clause from handling this invalid input. 1444d9b34d9Smrg ;; 1454d9b34d9Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1464d9b34d9Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1474d9b34d9Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1484d9b34d9Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1494d9b34d9Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1504d9b34d9Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15119d64aeeSmrg -apple | -axis | -knuth | -cray | -microblaze*) 1524d9b34d9Smrg os= 1534d9b34d9Smrg basic_machine=$1 1544d9b34d9Smrg ;; 155498372abSmrg -bluegene*) 156498372abSmrg os=-cnk 1578512f934Smrg ;; 1584d9b34d9Smrg -sim | -cisco | -oki | -wec | -winbond) 1594d9b34d9Smrg os= 1604d9b34d9Smrg basic_machine=$1 1614d9b34d9Smrg ;; 1624d9b34d9Smrg -scout) 1634d9b34d9Smrg ;; 1644d9b34d9Smrg -wrs) 1654d9b34d9Smrg os=-vxworks 1664d9b34d9Smrg basic_machine=$1 1674d9b34d9Smrg ;; 1684d9b34d9Smrg -chorusos*) 1694d9b34d9Smrg os=-chorusos 1704d9b34d9Smrg basic_machine=$1 1714d9b34d9Smrg ;; 172498372abSmrg -chorusrdb) 173498372abSmrg os=-chorusrdb 1744d9b34d9Smrg basic_machine=$1 175498372abSmrg ;; 1764d9b34d9Smrg -hiux*) 1774d9b34d9Smrg os=-hiuxwe2 1784d9b34d9Smrg ;; 1794d9b34d9Smrg -sco6) 1804d9b34d9Smrg os=-sco5v6 1810df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1824d9b34d9Smrg ;; 1834d9b34d9Smrg -sco5) 1844d9b34d9Smrg os=-sco3.2v5 1850df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1864d9b34d9Smrg ;; 1874d9b34d9Smrg -sco4) 1884d9b34d9Smrg os=-sco3.2v4 1890df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1904d9b34d9Smrg ;; 1914d9b34d9Smrg -sco3.2.[4-9]*) 1924d9b34d9Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1930df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1944d9b34d9Smrg ;; 1954d9b34d9Smrg -sco3.2v[4-9]*) 1964d9b34d9Smrg # Don't forget version if it is 3.2v4 or newer. 1970df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 1984d9b34d9Smrg ;; 1994d9b34d9Smrg -sco5v6*) 2004d9b34d9Smrg # Don't forget version if it is 3.2v4 or newer. 2010df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2024d9b34d9Smrg ;; 2034d9b34d9Smrg -sco*) 2044d9b34d9Smrg os=-sco3.2v2 2050df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2064d9b34d9Smrg ;; 2074d9b34d9Smrg -udk*) 2080df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2094d9b34d9Smrg ;; 2104d9b34d9Smrg -isc) 2114d9b34d9Smrg os=-isc2.2 2120df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2134d9b34d9Smrg ;; 2144d9b34d9Smrg -clix*) 2154d9b34d9Smrg basic_machine=clipper-intergraph 2164d9b34d9Smrg ;; 2174d9b34d9Smrg -isc*) 2180df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'` 2194d9b34d9Smrg ;; 22019d64aeeSmrg -lynx*178) 22119d64aeeSmrg os=-lynxos178 22219d64aeeSmrg ;; 22319d64aeeSmrg -lynx*5) 22419d64aeeSmrg os=-lynxos5 22519d64aeeSmrg ;; 2264d9b34d9Smrg -lynx*) 2274d9b34d9Smrg os=-lynxos 2284d9b34d9Smrg ;; 2294d9b34d9Smrg -ptx*) 2300df20633Smrg basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'` 2314d9b34d9Smrg ;; 2324d9b34d9Smrg -psos*) 2334d9b34d9Smrg os=-psos 2344d9b34d9Smrg ;; 2354d9b34d9Smrg -mint | -mint[0-9]*) 2364d9b34d9Smrg basic_machine=m68k-atari 2374d9b34d9Smrg os=-mint 2384d9b34d9Smrg ;; 2394d9b34d9Smrgesac 2404d9b34d9Smrg 2414d9b34d9Smrg# Decode aliases for certain CPU-COMPANY combinations. 2424d9b34d9Smrgcase $basic_machine in 2434d9b34d9Smrg # Recognize the basic CPU types without company name. 2444d9b34d9Smrg # Some are omitted here because they have special meanings below. 2454d9b34d9Smrg 1750a | 580 \ 2464d9b34d9Smrg | a29k \ 24719d64aeeSmrg | aarch64 | aarch64_be \ 2484d9b34d9Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2494d9b34d9Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2504d9b34d9Smrg | am33_2.0 \ 25119d64aeeSmrg | arc | arceb \ 25219d64aeeSmrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 25319d64aeeSmrg | avr | avr32 \ 2540df20633Smrg | ba \ 25519d64aeeSmrg | be32 | be64 \ 2564d9b34d9Smrg | bfin \ 25719d64aeeSmrg | c4x | c8051 | clipper \ 2584d9b34d9Smrg | d10v | d30v | dlx | dsp16xx \ 2590df20633Smrg | e2k | epiphany \ 2600df20633Smrg | fido | fr30 | frv | ft32 \ 2614d9b34d9Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 262498372abSmrg | hexagon \ 2630df20633Smrg | i370 | i860 | i960 | ia16 | ia64 \ 2644d9b34d9Smrg | ip2k | iq2000 \ 26519d64aeeSmrg | k1om \ 266498372abSmrg | le32 | le64 \ 2678512f934Smrg | lm32 \ 2684d9b34d9Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26919d64aeeSmrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2704d9b34d9Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2714d9b34d9Smrg | mips16 \ 2724d9b34d9Smrg | mips64 | mips64el \ 2738512f934Smrg | mips64octeon | mips64octeonel \ 2744d9b34d9Smrg | mips64orion | mips64orionel \ 2758512f934Smrg | mips64r5900 | mips64r5900el \ 2768512f934Smrg | mips64vr | mips64vrel \ 2774d9b34d9Smrg | mips64vr4100 | mips64vr4100el \ 2784d9b34d9Smrg | mips64vr4300 | mips64vr4300el \ 2794d9b34d9Smrg | mips64vr5000 | mips64vr5000el \ 2804d9b34d9Smrg | mips64vr5900 | mips64vr5900el \ 2814d9b34d9Smrg | mipsisa32 | mipsisa32el \ 2824d9b34d9Smrg | mipsisa32r2 | mipsisa32r2el \ 28319d64aeeSmrg | mipsisa32r6 | mipsisa32r6el \ 2844d9b34d9Smrg | mipsisa64 | mipsisa64el \ 2854d9b34d9Smrg | mipsisa64r2 | mipsisa64r2el \ 28619d64aeeSmrg | mipsisa64r6 | mipsisa64r6el \ 2874d9b34d9Smrg | mipsisa64sb1 | mipsisa64sb1el \ 2884d9b34d9Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 28919d64aeeSmrg | mipsr5900 | mipsr5900el \ 2904d9b34d9Smrg | mipstx39 | mipstx39el \ 2914d9b34d9Smrg | mn10200 | mn10300 \ 2928512f934Smrg | moxie \ 2934d9b34d9Smrg | mt \ 2944d9b34d9Smrg | msp430 \ 29512e1d9cbSmrg | nds32 | nds32le | nds32be \ 29619d64aeeSmrg | nios | nios2 | nios2eb | nios2el \ 2974d9b34d9Smrg | ns16k | ns32k \ 29819d64aeeSmrg | open8 | or1k | or1knd | or32 \ 2990df20633Smrg | pdp10 | pj | pjl \ 300498372abSmrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3010df20633Smrg | pru \ 3024d9b34d9Smrg | pyramid \ 30319d64aeeSmrg | riscv32 | riscv64 \ 304498372abSmrg | rl78 | rx \ 3054d9b34d9Smrg | score \ 3060df20633Smrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3074d9b34d9Smrg | sh64 | sh64le \ 3084d9b34d9Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3094d9b34d9Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 310498372abSmrg | spu \ 311498372abSmrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 3128512f934Smrg | ubicom32 \ 313498372abSmrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 31419d64aeeSmrg | visium \ 3150df20633Smrg | wasm32 \ 316498372abSmrg | x86 | xc16x | xstormy16 | xtensa \ 3178512f934Smrg | z8k | z80) 3184d9b34d9Smrg basic_machine=$basic_machine-unknown 3194d9b34d9Smrg ;; 32012e1d9cbSmrg c54x) 32112e1d9cbSmrg basic_machine=tic54x-unknown 32212e1d9cbSmrg ;; 32312e1d9cbSmrg c55x) 32412e1d9cbSmrg basic_machine=tic55x-unknown 32512e1d9cbSmrg ;; 32612e1d9cbSmrg c6x) 32712e1d9cbSmrg basic_machine=tic6x-unknown 32812e1d9cbSmrg ;; 32919d64aeeSmrg leon|leon[3-9]) 33019d64aeeSmrg basic_machine=sparc-$basic_machine 33119d64aeeSmrg ;; 33219d64aeeSmrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) 3334d9b34d9Smrg basic_machine=$basic_machine-unknown 3344d9b34d9Smrg os=-none 3354d9b34d9Smrg ;; 3360df20633Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65) 3374d9b34d9Smrg ;; 3384d9b34d9Smrg ms1) 3394d9b34d9Smrg basic_machine=mt-unknown 3404d9b34d9Smrg ;; 3414d9b34d9Smrg 342498372abSmrg strongarm | thumb | xscale) 343498372abSmrg basic_machine=arm-unknown 344498372abSmrg ;; 34519d64aeeSmrg xgate) 34619d64aeeSmrg basic_machine=$basic_machine-unknown 34719d64aeeSmrg os=-none 34819d64aeeSmrg ;; 349498372abSmrg xscaleeb) 350498372abSmrg basic_machine=armeb-unknown 351498372abSmrg ;; 352498372abSmrg 353498372abSmrg xscaleel) 354498372abSmrg basic_machine=armel-unknown 355498372abSmrg ;; 356498372abSmrg 3574d9b34d9Smrg # We use `pc' rather than `unknown' 3584d9b34d9Smrg # because (1) that's what they normally are, and 3594d9b34d9Smrg # (2) the word "unknown" tends to confuse beginning users. 3604d9b34d9Smrg i*86 | x86_64) 3614d9b34d9Smrg basic_machine=$basic_machine-pc 3624d9b34d9Smrg ;; 3634d9b34d9Smrg # Object if more than one company name word. 3644d9b34d9Smrg *-*-*) 3650df20633Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 3664d9b34d9Smrg exit 1 3674d9b34d9Smrg ;; 3684d9b34d9Smrg # Recognize the basic CPU types with company name. 3694d9b34d9Smrg 580-* \ 3704d9b34d9Smrg | a29k-* \ 37119d64aeeSmrg | aarch64-* | aarch64_be-* \ 3724d9b34d9Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3734d9b34d9Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 37419d64aeeSmrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3754d9b34d9Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3764d9b34d9Smrg | avr-* | avr32-* \ 3770df20633Smrg | ba-* \ 378498372abSmrg | be32-* | be64-* \ 3794d9b34d9Smrg | bfin-* | bs2000-* \ 38012e1d9cbSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 38119d64aeeSmrg | c8051-* | clipper-* | craynv-* | cydra-* \ 3824d9b34d9Smrg | d10v-* | d30v-* | dlx-* \ 3830df20633Smrg | e2k-* | elxsi-* \ 3848512f934Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3854d9b34d9Smrg | h8300-* | h8500-* \ 3864d9b34d9Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 387498372abSmrg | hexagon-* \ 3880df20633Smrg | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ 3894d9b34d9Smrg | ip2k-* | iq2000-* \ 39019d64aeeSmrg | k1om-* \ 391498372abSmrg | le32-* | le64-* \ 3928512f934Smrg | lm32-* \ 3934d9b34d9Smrg | m32c-* | m32r-* | m32rle-* \ 3944d9b34d9Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 39519d64aeeSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 39619d64aeeSmrg | microblaze-* | microblazeel-* \ 3974d9b34d9Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3984d9b34d9Smrg | mips16-* \ 3994d9b34d9Smrg | mips64-* | mips64el-* \ 4008512f934Smrg | mips64octeon-* | mips64octeonel-* \ 4014d9b34d9Smrg | mips64orion-* | mips64orionel-* \ 4028512f934Smrg | mips64r5900-* | mips64r5900el-* \ 4038512f934Smrg | mips64vr-* | mips64vrel-* \ 4044d9b34d9Smrg | mips64vr4100-* | mips64vr4100el-* \ 4054d9b34d9Smrg | mips64vr4300-* | mips64vr4300el-* \ 4064d9b34d9Smrg | mips64vr5000-* | mips64vr5000el-* \ 4074d9b34d9Smrg | mips64vr5900-* | mips64vr5900el-* \ 4084d9b34d9Smrg | mipsisa32-* | mipsisa32el-* \ 4094d9b34d9Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 41019d64aeeSmrg | mipsisa32r6-* | mipsisa32r6el-* \ 4114d9b34d9Smrg | mipsisa64-* | mipsisa64el-* \ 4124d9b34d9Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 41319d64aeeSmrg | mipsisa64r6-* | mipsisa64r6el-* \ 4144d9b34d9Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 4154d9b34d9Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 41619d64aeeSmrg | mipsr5900-* | mipsr5900el-* \ 4174d9b34d9Smrg | mipstx39-* | mipstx39el-* \ 4184d9b34d9Smrg | mmix-* \ 4194d9b34d9Smrg | mt-* \ 4204d9b34d9Smrg | msp430-* \ 42112e1d9cbSmrg | nds32-* | nds32le-* | nds32be-* \ 42219d64aeeSmrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4234d9b34d9Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 424498372abSmrg | open8-* \ 42519d64aeeSmrg | or1k*-* \ 4264d9b34d9Smrg | orion-* \ 4274d9b34d9Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 428498372abSmrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4290df20633Smrg | pru-* \ 4304d9b34d9Smrg | pyramid-* \ 4310df20633Smrg | riscv32-* | riscv64-* \ 432498372abSmrg | rl78-* | romp-* | rs6000-* | rx-* \ 4338512f934Smrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4344d9b34d9Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4354d9b34d9Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4364d9b34d9Smrg | sparclite-* \ 4370df20633Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ 438498372abSmrg | tahoe-* \ 43912e1d9cbSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 440498372abSmrg | tile*-* \ 4414d9b34d9Smrg | tron-* \ 4428512f934Smrg | ubicom32-* \ 443498372abSmrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 444498372abSmrg | vax-* \ 44519d64aeeSmrg | visium-* \ 4460df20633Smrg | wasm32-* \ 4474d9b34d9Smrg | we32k-* \ 448498372abSmrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4498512f934Smrg | xstormy16-* | xtensa*-* \ 4504d9b34d9Smrg | ymp-* \ 4518512f934Smrg | z8k-* | z80-*) 4528512f934Smrg ;; 4538512f934Smrg # Recognize the basic CPU types without company name, with glob match. 4548512f934Smrg xtensa*) 4558512f934Smrg basic_machine=$basic_machine-unknown 4564d9b34d9Smrg ;; 4574d9b34d9Smrg # Recognize the various machine names and aliases which stand 4584d9b34d9Smrg # for a CPU type and a company and sometimes even an OS. 4594d9b34d9Smrg 386bsd) 4600df20633Smrg basic_machine=i386-pc 4614d9b34d9Smrg os=-bsd 4624d9b34d9Smrg ;; 4634d9b34d9Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4644d9b34d9Smrg basic_machine=m68000-att 4654d9b34d9Smrg ;; 4664d9b34d9Smrg 3b*) 4674d9b34d9Smrg basic_machine=we32k-att 4684d9b34d9Smrg ;; 4694d9b34d9Smrg a29khif) 4704d9b34d9Smrg basic_machine=a29k-amd 4714d9b34d9Smrg os=-udi 4724d9b34d9Smrg ;; 473498372abSmrg abacus) 4744d9b34d9Smrg basic_machine=abacus-unknown 4754d9b34d9Smrg ;; 4764d9b34d9Smrg adobe68k) 4774d9b34d9Smrg basic_machine=m68010-adobe 4784d9b34d9Smrg os=-scout 4794d9b34d9Smrg ;; 4804d9b34d9Smrg alliant | fx80) 4814d9b34d9Smrg basic_machine=fx80-alliant 4824d9b34d9Smrg ;; 4834d9b34d9Smrg altos | altos3068) 4844d9b34d9Smrg basic_machine=m68k-altos 4854d9b34d9Smrg ;; 4864d9b34d9Smrg am29k) 4874d9b34d9Smrg basic_machine=a29k-none 4884d9b34d9Smrg os=-bsd 4894d9b34d9Smrg ;; 4904d9b34d9Smrg amd64) 4914d9b34d9Smrg basic_machine=x86_64-pc 4924d9b34d9Smrg ;; 4934d9b34d9Smrg amd64-*) 4940df20633Smrg basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 4954d9b34d9Smrg ;; 4964d9b34d9Smrg amdahl) 4974d9b34d9Smrg basic_machine=580-amdahl 4984d9b34d9Smrg os=-sysv 4994d9b34d9Smrg ;; 5004d9b34d9Smrg amiga | amiga-*) 5014d9b34d9Smrg basic_machine=m68k-unknown 5024d9b34d9Smrg ;; 5034d9b34d9Smrg amigaos | amigados) 5044d9b34d9Smrg basic_machine=m68k-unknown 5054d9b34d9Smrg os=-amigaos 5064d9b34d9Smrg ;; 5074d9b34d9Smrg amigaunix | amix) 5084d9b34d9Smrg basic_machine=m68k-unknown 5094d9b34d9Smrg os=-sysv4 5104d9b34d9Smrg ;; 5114d9b34d9Smrg apollo68) 5124d9b34d9Smrg basic_machine=m68k-apollo 5134d9b34d9Smrg os=-sysv 5144d9b34d9Smrg ;; 5154d9b34d9Smrg apollo68bsd) 5164d9b34d9Smrg basic_machine=m68k-apollo 5174d9b34d9Smrg os=-bsd 5184d9b34d9Smrg ;; 5198512f934Smrg aros) 5208512f934Smrg basic_machine=i386-pc 5218512f934Smrg os=-aros 5228512f934Smrg ;; 5230df20633Smrg asmjs) 5240df20633Smrg basic_machine=asmjs-unknown 5250df20633Smrg ;; 5264d9b34d9Smrg aux) 5274d9b34d9Smrg basic_machine=m68k-apple 5284d9b34d9Smrg os=-aux 5294d9b34d9Smrg ;; 5304d9b34d9Smrg balance) 5314d9b34d9Smrg basic_machine=ns32k-sequent 5324d9b34d9Smrg os=-dynix 5334d9b34d9Smrg ;; 5348512f934Smrg blackfin) 5358512f934Smrg basic_machine=bfin-unknown 5368512f934Smrg os=-linux 5378512f934Smrg ;; 5388512f934Smrg blackfin-*) 5390df20633Smrg basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'` 5408512f934Smrg os=-linux 5418512f934Smrg ;; 5428512f934Smrg bluegene*) 5438512f934Smrg basic_machine=powerpc-ibm 5448512f934Smrg os=-cnk 5458512f934Smrg ;; 54612e1d9cbSmrg c54x-*) 5470df20633Smrg basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 54812e1d9cbSmrg ;; 54912e1d9cbSmrg c55x-*) 5500df20633Smrg basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55112e1d9cbSmrg ;; 55212e1d9cbSmrg c6x-*) 5530df20633Smrg basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'` 55412e1d9cbSmrg ;; 5554d9b34d9Smrg c90) 5564d9b34d9Smrg basic_machine=c90-cray 5574d9b34d9Smrg os=-unicos 5584d9b34d9Smrg ;; 559498372abSmrg cegcc) 5608512f934Smrg basic_machine=arm-unknown 5618512f934Smrg os=-cegcc 5628512f934Smrg ;; 5634d9b34d9Smrg convex-c1) 5644d9b34d9Smrg basic_machine=c1-convex 5654d9b34d9Smrg os=-bsd 5664d9b34d9Smrg ;; 5674d9b34d9Smrg convex-c2) 5684d9b34d9Smrg basic_machine=c2-convex 5694d9b34d9Smrg os=-bsd 5704d9b34d9Smrg ;; 5714d9b34d9Smrg convex-c32) 5724d9b34d9Smrg basic_machine=c32-convex 5734d9b34d9Smrg os=-bsd 5744d9b34d9Smrg ;; 5754d9b34d9Smrg convex-c34) 5764d9b34d9Smrg basic_machine=c34-convex 5774d9b34d9Smrg os=-bsd 5784d9b34d9Smrg ;; 5794d9b34d9Smrg convex-c38) 5804d9b34d9Smrg basic_machine=c38-convex 5814d9b34d9Smrg os=-bsd 5824d9b34d9Smrg ;; 5834d9b34d9Smrg cray | j90) 5844d9b34d9Smrg basic_machine=j90-cray 5854d9b34d9Smrg os=-unicos 5864d9b34d9Smrg ;; 5874d9b34d9Smrg craynv) 5884d9b34d9Smrg basic_machine=craynv-cray 5894d9b34d9Smrg os=-unicosmp 5904d9b34d9Smrg ;; 591498372abSmrg cr16 | cr16-*) 5928512f934Smrg basic_machine=cr16-unknown 5934d9b34d9Smrg os=-elf 5944d9b34d9Smrg ;; 5954d9b34d9Smrg crds | unos) 5964d9b34d9Smrg basic_machine=m68k-crds 5974d9b34d9Smrg ;; 5984d9b34d9Smrg crisv32 | crisv32-* | etraxfs*) 5994d9b34d9Smrg basic_machine=crisv32-axis 6004d9b34d9Smrg ;; 6014d9b34d9Smrg cris | cris-* | etrax*) 6024d9b34d9Smrg basic_machine=cris-axis 6034d9b34d9Smrg ;; 6044d9b34d9Smrg crx) 6054d9b34d9Smrg basic_machine=crx-unknown 6064d9b34d9Smrg os=-elf 6074d9b34d9Smrg ;; 6084d9b34d9Smrg da30 | da30-*) 6094d9b34d9Smrg basic_machine=m68k-da30 6104d9b34d9Smrg ;; 6114d9b34d9Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 6124d9b34d9Smrg basic_machine=mips-dec 6134d9b34d9Smrg ;; 6144d9b34d9Smrg decsystem10* | dec10*) 6154d9b34d9Smrg basic_machine=pdp10-dec 6164d9b34d9Smrg os=-tops10 6174d9b34d9Smrg ;; 6184d9b34d9Smrg decsystem20* | dec20*) 6194d9b34d9Smrg basic_machine=pdp10-dec 6204d9b34d9Smrg os=-tops20 6214d9b34d9Smrg ;; 6224d9b34d9Smrg delta | 3300 | motorola-3300 | motorola-delta \ 6234d9b34d9Smrg | 3300-motorola | delta-motorola) 6244d9b34d9Smrg basic_machine=m68k-motorola 6254d9b34d9Smrg ;; 6264d9b34d9Smrg delta88) 6274d9b34d9Smrg basic_machine=m88k-motorola 6284d9b34d9Smrg os=-sysv3 6294d9b34d9Smrg ;; 6308512f934Smrg dicos) 6318512f934Smrg basic_machine=i686-pc 6328512f934Smrg os=-dicos 6338512f934Smrg ;; 6344d9b34d9Smrg djgpp) 6354d9b34d9Smrg basic_machine=i586-pc 6364d9b34d9Smrg os=-msdosdjgpp 6374d9b34d9Smrg ;; 6384d9b34d9Smrg dpx20 | dpx20-*) 6394d9b34d9Smrg basic_machine=rs6000-bull 6404d9b34d9Smrg os=-bosx 6414d9b34d9Smrg ;; 6420df20633Smrg dpx2*) 6434d9b34d9Smrg basic_machine=m68k-bull 6444d9b34d9Smrg os=-sysv3 6454d9b34d9Smrg ;; 6460df20633Smrg e500v[12]) 6470df20633Smrg basic_machine=powerpc-unknown 6480df20633Smrg os=$os"spe" 6490df20633Smrg ;; 6500df20633Smrg e500v[12]-*) 6510df20633Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 6520df20633Smrg os=$os"spe" 6530df20633Smrg ;; 6544d9b34d9Smrg ebmon29k) 6554d9b34d9Smrg basic_machine=a29k-amd 6564d9b34d9Smrg os=-ebmon 6574d9b34d9Smrg ;; 6584d9b34d9Smrg elxsi) 6594d9b34d9Smrg basic_machine=elxsi-elxsi 6604d9b34d9Smrg os=-bsd 6614d9b34d9Smrg ;; 6624d9b34d9Smrg encore | umax | mmax) 6634d9b34d9Smrg basic_machine=ns32k-encore 6644d9b34d9Smrg ;; 6654d9b34d9Smrg es1800 | OSE68k | ose68k | ose | OSE) 6664d9b34d9Smrg basic_machine=m68k-ericsson 6674d9b34d9Smrg os=-ose 6684d9b34d9Smrg ;; 6694d9b34d9Smrg fx2800) 6704d9b34d9Smrg basic_machine=i860-alliant 6714d9b34d9Smrg ;; 6724d9b34d9Smrg genix) 6734d9b34d9Smrg basic_machine=ns32k-ns 6744d9b34d9Smrg ;; 6754d9b34d9Smrg gmicro) 6764d9b34d9Smrg basic_machine=tron-gmicro 6774d9b34d9Smrg os=-sysv 6784d9b34d9Smrg ;; 6794d9b34d9Smrg go32) 6804d9b34d9Smrg basic_machine=i386-pc 6814d9b34d9Smrg os=-go32 6824d9b34d9Smrg ;; 6834d9b34d9Smrg h3050r* | hiux*) 6844d9b34d9Smrg basic_machine=hppa1.1-hitachi 6854d9b34d9Smrg os=-hiuxwe2 6864d9b34d9Smrg ;; 6874d9b34d9Smrg h8300hms) 6884d9b34d9Smrg basic_machine=h8300-hitachi 6894d9b34d9Smrg os=-hms 6904d9b34d9Smrg ;; 6914d9b34d9Smrg h8300xray) 6924d9b34d9Smrg basic_machine=h8300-hitachi 6934d9b34d9Smrg os=-xray 6944d9b34d9Smrg ;; 6954d9b34d9Smrg h8500hms) 6964d9b34d9Smrg basic_machine=h8500-hitachi 6974d9b34d9Smrg os=-hms 6984d9b34d9Smrg ;; 6994d9b34d9Smrg harris) 7004d9b34d9Smrg basic_machine=m88k-harris 7014d9b34d9Smrg os=-sysv3 7024d9b34d9Smrg ;; 7034d9b34d9Smrg hp300-*) 7044d9b34d9Smrg basic_machine=m68k-hp 7054d9b34d9Smrg ;; 7064d9b34d9Smrg hp300bsd) 7074d9b34d9Smrg basic_machine=m68k-hp 7084d9b34d9Smrg os=-bsd 7094d9b34d9Smrg ;; 7104d9b34d9Smrg hp300hpux) 7114d9b34d9Smrg basic_machine=m68k-hp 7124d9b34d9Smrg os=-hpux 7134d9b34d9Smrg ;; 7144d9b34d9Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 7154d9b34d9Smrg basic_machine=hppa1.0-hp 7164d9b34d9Smrg ;; 7174d9b34d9Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 7184d9b34d9Smrg basic_machine=m68000-hp 7194d9b34d9Smrg ;; 7204d9b34d9Smrg hp9k3[2-9][0-9]) 7214d9b34d9Smrg basic_machine=m68k-hp 7224d9b34d9Smrg ;; 7234d9b34d9Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 7244d9b34d9Smrg basic_machine=hppa1.0-hp 7254d9b34d9Smrg ;; 7264d9b34d9Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7274d9b34d9Smrg basic_machine=hppa1.1-hp 7284d9b34d9Smrg ;; 7294d9b34d9Smrg hp9k78[0-9] | hp78[0-9]) 7304d9b34d9Smrg # FIXME: really hppa2.0-hp 7314d9b34d9Smrg basic_machine=hppa1.1-hp 7324d9b34d9Smrg ;; 7334d9b34d9Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7344d9b34d9Smrg # FIXME: really hppa2.0-hp 7354d9b34d9Smrg basic_machine=hppa1.1-hp 7364d9b34d9Smrg ;; 7374d9b34d9Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7384d9b34d9Smrg basic_machine=hppa1.1-hp 7394d9b34d9Smrg ;; 7404d9b34d9Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7414d9b34d9Smrg basic_machine=hppa1.0-hp 7424d9b34d9Smrg ;; 7434d9b34d9Smrg hppaosf) 7444d9b34d9Smrg basic_machine=hppa1.1-hp 7454d9b34d9Smrg os=-osf 7464d9b34d9Smrg ;; 7474d9b34d9Smrg hppro) 7484d9b34d9Smrg basic_machine=hppa1.1-hp 7494d9b34d9Smrg os=-proelf 7504d9b34d9Smrg ;; 7514d9b34d9Smrg i370-ibm* | ibm*) 7524d9b34d9Smrg basic_machine=i370-ibm 7534d9b34d9Smrg ;; 7544d9b34d9Smrg i*86v32) 7550df20633Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7564d9b34d9Smrg os=-sysv32 7574d9b34d9Smrg ;; 7584d9b34d9Smrg i*86v4*) 7590df20633Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7604d9b34d9Smrg os=-sysv4 7614d9b34d9Smrg ;; 7624d9b34d9Smrg i*86v) 7630df20633Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7644d9b34d9Smrg os=-sysv 7654d9b34d9Smrg ;; 7664d9b34d9Smrg i*86sol2) 7670df20633Smrg basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'` 7684d9b34d9Smrg os=-solaris2 7694d9b34d9Smrg ;; 7704d9b34d9Smrg i386mach) 7714d9b34d9Smrg basic_machine=i386-mach 7724d9b34d9Smrg os=-mach 7734d9b34d9Smrg ;; 7740df20633Smrg vsta) 7754d9b34d9Smrg basic_machine=i386-unknown 7764d9b34d9Smrg os=-vsta 7774d9b34d9Smrg ;; 7784d9b34d9Smrg iris | iris4d) 7794d9b34d9Smrg basic_machine=mips-sgi 7804d9b34d9Smrg case $os in 7814d9b34d9Smrg -irix*) 7824d9b34d9Smrg ;; 7834d9b34d9Smrg *) 7844d9b34d9Smrg os=-irix4 7854d9b34d9Smrg ;; 7864d9b34d9Smrg esac 7874d9b34d9Smrg ;; 7884d9b34d9Smrg isi68 | isi) 7894d9b34d9Smrg basic_machine=m68k-isi 7904d9b34d9Smrg os=-sysv 7914d9b34d9Smrg ;; 79219d64aeeSmrg leon-*|leon[3-9]-*) 7930df20633Smrg basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'` 79419d64aeeSmrg ;; 7958512f934Smrg m68knommu) 7968512f934Smrg basic_machine=m68k-unknown 7978512f934Smrg os=-linux 7988512f934Smrg ;; 7998512f934Smrg m68knommu-*) 8000df20633Smrg basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'` 8018512f934Smrg os=-linux 8028512f934Smrg ;; 8034d9b34d9Smrg magnum | m3230) 8044d9b34d9Smrg basic_machine=mips-mips 8054d9b34d9Smrg os=-sysv 8064d9b34d9Smrg ;; 8074d9b34d9Smrg merlin) 8084d9b34d9Smrg basic_machine=ns32k-utek 8094d9b34d9Smrg os=-sysv 8104d9b34d9Smrg ;; 81119d64aeeSmrg microblaze*) 8128512f934Smrg basic_machine=microblaze-xilinx 8138512f934Smrg ;; 81419d64aeeSmrg mingw64) 81519d64aeeSmrg basic_machine=x86_64-pc 81619d64aeeSmrg os=-mingw64 81719d64aeeSmrg ;; 8184d9b34d9Smrg mingw32) 81919d64aeeSmrg basic_machine=i686-pc 8204d9b34d9Smrg os=-mingw32 8214d9b34d9Smrg ;; 8228512f934Smrg mingw32ce) 8238512f934Smrg basic_machine=arm-unknown 8248512f934Smrg os=-mingw32ce 8258512f934Smrg ;; 8264d9b34d9Smrg miniframe) 8274d9b34d9Smrg basic_machine=m68000-convergent 8284d9b34d9Smrg ;; 8294d9b34d9Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8304d9b34d9Smrg basic_machine=m68k-atari 8314d9b34d9Smrg os=-mint 8324d9b34d9Smrg ;; 8334d9b34d9Smrg mips3*-*) 8340df20633Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'` 8354d9b34d9Smrg ;; 8364d9b34d9Smrg mips3*) 8370df20633Smrg basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown 8384d9b34d9Smrg ;; 8394d9b34d9Smrg monitor) 8404d9b34d9Smrg basic_machine=m68k-rom68k 8414d9b34d9Smrg os=-coff 8424d9b34d9Smrg ;; 8434d9b34d9Smrg morphos) 8444d9b34d9Smrg basic_machine=powerpc-unknown 8454d9b34d9Smrg os=-morphos 8464d9b34d9Smrg ;; 84719d64aeeSmrg moxiebox) 84819d64aeeSmrg basic_machine=moxie-unknown 84919d64aeeSmrg os=-moxiebox 85019d64aeeSmrg ;; 8514d9b34d9Smrg msdos) 8524d9b34d9Smrg basic_machine=i386-pc 8534d9b34d9Smrg os=-msdos 8544d9b34d9Smrg ;; 8554d9b34d9Smrg ms1-*) 8560df20633Smrg basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'` 8574d9b34d9Smrg ;; 858498372abSmrg msys) 85919d64aeeSmrg basic_machine=i686-pc 860498372abSmrg os=-msys 861498372abSmrg ;; 8624d9b34d9Smrg mvs) 8634d9b34d9Smrg basic_machine=i370-ibm 8644d9b34d9Smrg os=-mvs 8654d9b34d9Smrg ;; 866498372abSmrg nacl) 867498372abSmrg basic_machine=le32-unknown 868498372abSmrg os=-nacl 869498372abSmrg ;; 8704d9b34d9Smrg ncr3000) 8714d9b34d9Smrg basic_machine=i486-ncr 8724d9b34d9Smrg os=-sysv4 8734d9b34d9Smrg ;; 8744d9b34d9Smrg netbsd386) 8754d9b34d9Smrg basic_machine=i386-unknown 8764d9b34d9Smrg os=-netbsd 8774d9b34d9Smrg ;; 8784d9b34d9Smrg netwinder) 8794d9b34d9Smrg basic_machine=armv4l-rebel 8804d9b34d9Smrg os=-linux 8814d9b34d9Smrg ;; 8824d9b34d9Smrg news | news700 | news800 | news900) 8834d9b34d9Smrg basic_machine=m68k-sony 8844d9b34d9Smrg os=-newsos 8854d9b34d9Smrg ;; 8864d9b34d9Smrg news1000) 8874d9b34d9Smrg basic_machine=m68030-sony 8884d9b34d9Smrg os=-newsos 8894d9b34d9Smrg ;; 8904d9b34d9Smrg news-3600 | risc-news) 8914d9b34d9Smrg basic_machine=mips-sony 8924d9b34d9Smrg os=-newsos 8934d9b34d9Smrg ;; 8944d9b34d9Smrg necv70) 8954d9b34d9Smrg basic_machine=v70-nec 8964d9b34d9Smrg os=-sysv 8974d9b34d9Smrg ;; 8980df20633Smrg next | m*-next) 8994d9b34d9Smrg basic_machine=m68k-next 9004d9b34d9Smrg case $os in 9014d9b34d9Smrg -nextstep* ) 9024d9b34d9Smrg ;; 9034d9b34d9Smrg -ns2*) 9044d9b34d9Smrg os=-nextstep2 9054d9b34d9Smrg ;; 9064d9b34d9Smrg *) 9074d9b34d9Smrg os=-nextstep3 9084d9b34d9Smrg ;; 9094d9b34d9Smrg esac 9104d9b34d9Smrg ;; 9114d9b34d9Smrg nh3000) 9124d9b34d9Smrg basic_machine=m68k-harris 9134d9b34d9Smrg os=-cxux 9144d9b34d9Smrg ;; 9154d9b34d9Smrg nh[45]000) 9164d9b34d9Smrg basic_machine=m88k-harris 9174d9b34d9Smrg os=-cxux 9184d9b34d9Smrg ;; 9194d9b34d9Smrg nindy960) 9204d9b34d9Smrg basic_machine=i960-intel 9214d9b34d9Smrg os=-nindy 9224d9b34d9Smrg ;; 9234d9b34d9Smrg mon960) 9244d9b34d9Smrg basic_machine=i960-intel 9254d9b34d9Smrg os=-mon960 9264d9b34d9Smrg ;; 9274d9b34d9Smrg nonstopux) 9284d9b34d9Smrg basic_machine=mips-compaq 9294d9b34d9Smrg os=-nonstopux 9304d9b34d9Smrg ;; 9314d9b34d9Smrg np1) 9324d9b34d9Smrg basic_machine=np1-gould 9334d9b34d9Smrg ;; 934498372abSmrg neo-tandem) 93512e1d9cbSmrg basic_machine=neo-tandem 93612e1d9cbSmrg ;; 937498372abSmrg nse-tandem) 93812e1d9cbSmrg basic_machine=nse-tandem 93912e1d9cbSmrg ;; 9404d9b34d9Smrg nsr-tandem) 9414d9b34d9Smrg basic_machine=nsr-tandem 9424d9b34d9Smrg ;; 9430df20633Smrg nsv-tandem) 9440df20633Smrg basic_machine=nsv-tandem 9450df20633Smrg ;; 9460df20633Smrg nsx-tandem) 9470df20633Smrg basic_machine=nsx-tandem 9480df20633Smrg ;; 9494d9b34d9Smrg op50n-* | op60c-*) 9504d9b34d9Smrg basic_machine=hppa1.1-oki 9514d9b34d9Smrg os=-proelf 9524d9b34d9Smrg ;; 9534d9b34d9Smrg openrisc | openrisc-*) 9544d9b34d9Smrg basic_machine=or32-unknown 9554d9b34d9Smrg ;; 9564d9b34d9Smrg os400) 9574d9b34d9Smrg basic_machine=powerpc-ibm 9584d9b34d9Smrg os=-os400 9594d9b34d9Smrg ;; 9604d9b34d9Smrg OSE68000 | ose68000) 9614d9b34d9Smrg basic_machine=m68000-ericsson 9624d9b34d9Smrg os=-ose 9634d9b34d9Smrg ;; 9644d9b34d9Smrg os68k) 9654d9b34d9Smrg basic_machine=m68k-none 9664d9b34d9Smrg os=-os68k 9674d9b34d9Smrg ;; 9684d9b34d9Smrg pa-hitachi) 9694d9b34d9Smrg basic_machine=hppa1.1-hitachi 9704d9b34d9Smrg os=-hiuxwe2 9714d9b34d9Smrg ;; 9724d9b34d9Smrg paragon) 9734d9b34d9Smrg basic_machine=i860-intel 9744d9b34d9Smrg os=-osf 9754d9b34d9Smrg ;; 9768512f934Smrg parisc) 9778512f934Smrg basic_machine=hppa-unknown 9788512f934Smrg os=-linux 9798512f934Smrg ;; 9808512f934Smrg parisc-*) 9810df20633Smrg basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9828512f934Smrg os=-linux 9838512f934Smrg ;; 9844d9b34d9Smrg pbd) 9854d9b34d9Smrg basic_machine=sparc-tti 9864d9b34d9Smrg ;; 9874d9b34d9Smrg pbb) 9884d9b34d9Smrg basic_machine=m68k-tti 9894d9b34d9Smrg ;; 9904d9b34d9Smrg pc532 | pc532-*) 9914d9b34d9Smrg basic_machine=ns32k-pc532 9924d9b34d9Smrg ;; 9934d9b34d9Smrg pc98) 9944d9b34d9Smrg basic_machine=i386-pc 9954d9b34d9Smrg ;; 9964d9b34d9Smrg pc98-*) 9970df20633Smrg basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'` 9984d9b34d9Smrg ;; 9994d9b34d9Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 10004d9b34d9Smrg basic_machine=i586-pc 10014d9b34d9Smrg ;; 10024d9b34d9Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 10034d9b34d9Smrg basic_machine=i686-pc 10044d9b34d9Smrg ;; 10054d9b34d9Smrg pentiumii | pentium2 | pentiumiii | pentium3) 10064d9b34d9Smrg basic_machine=i686-pc 10074d9b34d9Smrg ;; 10084d9b34d9Smrg pentium4) 10094d9b34d9Smrg basic_machine=i786-pc 10104d9b34d9Smrg ;; 10114d9b34d9Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 10120df20633Smrg basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10134d9b34d9Smrg ;; 10144d9b34d9Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 10150df20633Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10164d9b34d9Smrg ;; 10174d9b34d9Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 10180df20633Smrg basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10194d9b34d9Smrg ;; 10204d9b34d9Smrg pentium4-*) 10210df20633Smrg basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10224d9b34d9Smrg ;; 10234d9b34d9Smrg pn) 10244d9b34d9Smrg basic_machine=pn-gould 10254d9b34d9Smrg ;; 10264d9b34d9Smrg power) basic_machine=power-ibm 10274d9b34d9Smrg ;; 1028498372abSmrg ppc | ppcbe) basic_machine=powerpc-unknown 10294d9b34d9Smrg ;; 1030498372abSmrg ppc-* | ppcbe-*) 10310df20633Smrg basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10324d9b34d9Smrg ;; 10330df20633Smrg ppcle | powerpclittle) 10344d9b34d9Smrg basic_machine=powerpcle-unknown 10354d9b34d9Smrg ;; 10364d9b34d9Smrg ppcle-* | powerpclittle-*) 10370df20633Smrg basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10384d9b34d9Smrg ;; 10394d9b34d9Smrg ppc64) basic_machine=powerpc64-unknown 10404d9b34d9Smrg ;; 10410df20633Smrg ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10424d9b34d9Smrg ;; 10430df20633Smrg ppc64le | powerpc64little) 10444d9b34d9Smrg basic_machine=powerpc64le-unknown 10454d9b34d9Smrg ;; 10464d9b34d9Smrg ppc64le-* | powerpc64little-*) 10470df20633Smrg basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'` 10484d9b34d9Smrg ;; 10494d9b34d9Smrg ps2) 10504d9b34d9Smrg basic_machine=i386-ibm 10514d9b34d9Smrg ;; 10524d9b34d9Smrg pw32) 10534d9b34d9Smrg basic_machine=i586-unknown 10544d9b34d9Smrg os=-pw32 10554d9b34d9Smrg ;; 105619d64aeeSmrg rdos | rdos64) 105719d64aeeSmrg basic_machine=x86_64-pc 105819d64aeeSmrg os=-rdos 105919d64aeeSmrg ;; 106019d64aeeSmrg rdos32) 10614d9b34d9Smrg basic_machine=i386-pc 10624d9b34d9Smrg os=-rdos 10634d9b34d9Smrg ;; 10644d9b34d9Smrg rom68k) 10654d9b34d9Smrg basic_machine=m68k-rom68k 10664d9b34d9Smrg os=-coff 10674d9b34d9Smrg ;; 10684d9b34d9Smrg rm[46]00) 10694d9b34d9Smrg basic_machine=mips-siemens 10704d9b34d9Smrg ;; 10714d9b34d9Smrg rtpc | rtpc-*) 10724d9b34d9Smrg basic_machine=romp-ibm 10734d9b34d9Smrg ;; 10744d9b34d9Smrg s390 | s390-*) 10754d9b34d9Smrg basic_machine=s390-ibm 10764d9b34d9Smrg ;; 10774d9b34d9Smrg s390x | s390x-*) 10784d9b34d9Smrg basic_machine=s390x-ibm 10794d9b34d9Smrg ;; 10804d9b34d9Smrg sa29200) 10814d9b34d9Smrg basic_machine=a29k-amd 10824d9b34d9Smrg os=-udi 10834d9b34d9Smrg ;; 10844d9b34d9Smrg sb1) 10854d9b34d9Smrg basic_machine=mipsisa64sb1-unknown 10864d9b34d9Smrg ;; 10874d9b34d9Smrg sb1el) 10884d9b34d9Smrg basic_machine=mipsisa64sb1el-unknown 10894d9b34d9Smrg ;; 10904d9b34d9Smrg sde) 10914d9b34d9Smrg basic_machine=mipsisa32-sde 10924d9b34d9Smrg os=-elf 10934d9b34d9Smrg ;; 10944d9b34d9Smrg sei) 10954d9b34d9Smrg basic_machine=mips-sei 10964d9b34d9Smrg os=-seiux 10974d9b34d9Smrg ;; 10984d9b34d9Smrg sequent) 10994d9b34d9Smrg basic_machine=i386-sequent 11004d9b34d9Smrg ;; 11018512f934Smrg sh5el) 11028512f934Smrg basic_machine=sh5le-unknown 11038512f934Smrg ;; 11040df20633Smrg simso-wrs) 11054d9b34d9Smrg basic_machine=sparclite-wrs 11064d9b34d9Smrg os=-vxworks 11074d9b34d9Smrg ;; 11084d9b34d9Smrg sps7) 11094d9b34d9Smrg basic_machine=m68k-bull 11104d9b34d9Smrg os=-sysv2 11114d9b34d9Smrg ;; 11124d9b34d9Smrg spur) 11134d9b34d9Smrg basic_machine=spur-unknown 11144d9b34d9Smrg ;; 11154d9b34d9Smrg st2000) 11164d9b34d9Smrg basic_machine=m68k-tandem 11174d9b34d9Smrg ;; 11184d9b34d9Smrg stratus) 11194d9b34d9Smrg basic_machine=i860-stratus 11204d9b34d9Smrg os=-sysv4 11214d9b34d9Smrg ;; 1122498372abSmrg strongarm-* | thumb-*) 11230df20633Smrg basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'` 1124498372abSmrg ;; 11254d9b34d9Smrg sun2) 11264d9b34d9Smrg basic_machine=m68000-sun 11274d9b34d9Smrg ;; 11284d9b34d9Smrg sun2os3) 11294d9b34d9Smrg basic_machine=m68000-sun 11304d9b34d9Smrg os=-sunos3 11314d9b34d9Smrg ;; 11324d9b34d9Smrg sun2os4) 11334d9b34d9Smrg basic_machine=m68000-sun 11344d9b34d9Smrg os=-sunos4 11354d9b34d9Smrg ;; 11364d9b34d9Smrg sun3os3) 11374d9b34d9Smrg basic_machine=m68k-sun 11384d9b34d9Smrg os=-sunos3 11394d9b34d9Smrg ;; 11404d9b34d9Smrg sun3os4) 11414d9b34d9Smrg basic_machine=m68k-sun 11424d9b34d9Smrg os=-sunos4 11434d9b34d9Smrg ;; 11444d9b34d9Smrg sun4os3) 11454d9b34d9Smrg basic_machine=sparc-sun 11464d9b34d9Smrg os=-sunos3 11474d9b34d9Smrg ;; 11484d9b34d9Smrg sun4os4) 11494d9b34d9Smrg basic_machine=sparc-sun 11504d9b34d9Smrg os=-sunos4 11514d9b34d9Smrg ;; 11524d9b34d9Smrg sun4sol2) 11534d9b34d9Smrg basic_machine=sparc-sun 11544d9b34d9Smrg os=-solaris2 11554d9b34d9Smrg ;; 11564d9b34d9Smrg sun3 | sun3-*) 11574d9b34d9Smrg basic_machine=m68k-sun 11584d9b34d9Smrg ;; 11594d9b34d9Smrg sun4) 11604d9b34d9Smrg basic_machine=sparc-sun 11614d9b34d9Smrg ;; 11624d9b34d9Smrg sun386 | sun386i | roadrunner) 11634d9b34d9Smrg basic_machine=i386-sun 11644d9b34d9Smrg ;; 11654d9b34d9Smrg sv1) 11664d9b34d9Smrg basic_machine=sv1-cray 11674d9b34d9Smrg os=-unicos 11684d9b34d9Smrg ;; 11694d9b34d9Smrg symmetry) 11704d9b34d9Smrg basic_machine=i386-sequent 11714d9b34d9Smrg os=-dynix 11724d9b34d9Smrg ;; 11734d9b34d9Smrg t3e) 11744d9b34d9Smrg basic_machine=alphaev5-cray 11754d9b34d9Smrg os=-unicos 11764d9b34d9Smrg ;; 11774d9b34d9Smrg t90) 11784d9b34d9Smrg basic_machine=t90-cray 11794d9b34d9Smrg os=-unicos 11804d9b34d9Smrg ;; 11818512f934Smrg tile*) 1182498372abSmrg basic_machine=$basic_machine-unknown 11838512f934Smrg os=-linux-gnu 11848512f934Smrg ;; 11854d9b34d9Smrg tx39) 11864d9b34d9Smrg basic_machine=mipstx39-unknown 11874d9b34d9Smrg ;; 11884d9b34d9Smrg tx39el) 11894d9b34d9Smrg basic_machine=mipstx39el-unknown 11904d9b34d9Smrg ;; 11914d9b34d9Smrg toad1) 11924d9b34d9Smrg basic_machine=pdp10-xkl 11934d9b34d9Smrg os=-tops20 11944d9b34d9Smrg ;; 11954d9b34d9Smrg tower | tower-32) 11964d9b34d9Smrg basic_machine=m68k-ncr 11974d9b34d9Smrg ;; 11984d9b34d9Smrg tpf) 11994d9b34d9Smrg basic_machine=s390x-ibm 12004d9b34d9Smrg os=-tpf 12014d9b34d9Smrg ;; 12024d9b34d9Smrg udi29k) 12034d9b34d9Smrg basic_machine=a29k-amd 12044d9b34d9Smrg os=-udi 12054d9b34d9Smrg ;; 12064d9b34d9Smrg ultra3) 12074d9b34d9Smrg basic_machine=a29k-nyu 12084d9b34d9Smrg os=-sym1 12094d9b34d9Smrg ;; 12104d9b34d9Smrg v810 | necv810) 12114d9b34d9Smrg basic_machine=v810-nec 12124d9b34d9Smrg os=-none 12134d9b34d9Smrg ;; 12144d9b34d9Smrg vaxv) 12154d9b34d9Smrg basic_machine=vax-dec 12164d9b34d9Smrg os=-sysv 12174d9b34d9Smrg ;; 12184d9b34d9Smrg vms) 12194d9b34d9Smrg basic_machine=vax-dec 12204d9b34d9Smrg os=-vms 12214d9b34d9Smrg ;; 12224d9b34d9Smrg vpp*|vx|vx-*) 12234d9b34d9Smrg basic_machine=f301-fujitsu 12244d9b34d9Smrg ;; 12254d9b34d9Smrg vxworks960) 12264d9b34d9Smrg basic_machine=i960-wrs 12274d9b34d9Smrg os=-vxworks 12284d9b34d9Smrg ;; 12294d9b34d9Smrg vxworks68) 12304d9b34d9Smrg basic_machine=m68k-wrs 12314d9b34d9Smrg os=-vxworks 12324d9b34d9Smrg ;; 12334d9b34d9Smrg vxworks29k) 12344d9b34d9Smrg basic_machine=a29k-wrs 12354d9b34d9Smrg os=-vxworks 12364d9b34d9Smrg ;; 12374d9b34d9Smrg w65*) 12384d9b34d9Smrg basic_machine=w65-wdc 12394d9b34d9Smrg os=-none 12404d9b34d9Smrg ;; 12414d9b34d9Smrg w89k-*) 12424d9b34d9Smrg basic_machine=hppa1.1-winbond 12434d9b34d9Smrg os=-proelf 12444d9b34d9Smrg ;; 12450df20633Smrg x64) 12460df20633Smrg basic_machine=x86_64-pc 12470df20633Smrg ;; 12484d9b34d9Smrg xbox) 12494d9b34d9Smrg basic_machine=i686-pc 12504d9b34d9Smrg os=-mingw32 12514d9b34d9Smrg ;; 12524d9b34d9Smrg xps | xps100) 12534d9b34d9Smrg basic_machine=xps100-honeywell 12544d9b34d9Smrg ;; 1255498372abSmrg xscale-* | xscalee[bl]-*) 12560df20633Smrg basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'` 1257498372abSmrg ;; 12584d9b34d9Smrg ymp) 12594d9b34d9Smrg basic_machine=ymp-cray 12604d9b34d9Smrg os=-unicos 12614d9b34d9Smrg ;; 12624d9b34d9Smrg none) 12634d9b34d9Smrg basic_machine=none-none 12644d9b34d9Smrg os=-none 12654d9b34d9Smrg ;; 12664d9b34d9Smrg 12674d9b34d9Smrg# Here we handle the default manufacturer of certain CPU types. It is in 12684d9b34d9Smrg# some cases the only manufacturer, in others, it is the most popular. 12694d9b34d9Smrg w89k) 12704d9b34d9Smrg basic_machine=hppa1.1-winbond 12714d9b34d9Smrg ;; 12724d9b34d9Smrg op50n) 12734d9b34d9Smrg basic_machine=hppa1.1-oki 12744d9b34d9Smrg ;; 12754d9b34d9Smrg op60c) 12764d9b34d9Smrg basic_machine=hppa1.1-oki 12774d9b34d9Smrg ;; 12784d9b34d9Smrg romp) 12794d9b34d9Smrg basic_machine=romp-ibm 12804d9b34d9Smrg ;; 12814d9b34d9Smrg mmix) 12824d9b34d9Smrg basic_machine=mmix-knuth 12834d9b34d9Smrg ;; 12844d9b34d9Smrg rs6000) 12854d9b34d9Smrg basic_machine=rs6000-ibm 12864d9b34d9Smrg ;; 12874d9b34d9Smrg vax) 12884d9b34d9Smrg basic_machine=vax-dec 12894d9b34d9Smrg ;; 12904d9b34d9Smrg pdp11) 12914d9b34d9Smrg basic_machine=pdp11-dec 12924d9b34d9Smrg ;; 12934d9b34d9Smrg we32k) 12944d9b34d9Smrg basic_machine=we32k-att 12954d9b34d9Smrg ;; 12968512f934Smrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12974d9b34d9Smrg basic_machine=sh-unknown 12984d9b34d9Smrg ;; 12994d9b34d9Smrg cydra) 13004d9b34d9Smrg basic_machine=cydra-cydrome 13014d9b34d9Smrg ;; 13024d9b34d9Smrg orion) 13034d9b34d9Smrg basic_machine=orion-highlevel 13044d9b34d9Smrg ;; 13054d9b34d9Smrg orion105) 13064d9b34d9Smrg basic_machine=clipper-highlevel 13074d9b34d9Smrg ;; 13084d9b34d9Smrg mac | mpw | mac-mpw) 13094d9b34d9Smrg basic_machine=m68k-apple 13104d9b34d9Smrg ;; 13114d9b34d9Smrg pmac | pmac-mpw) 13124d9b34d9Smrg basic_machine=powerpc-apple 13134d9b34d9Smrg ;; 13144d9b34d9Smrg *-unknown) 13154d9b34d9Smrg # Make sure to match an already-canonicalized machine name. 13164d9b34d9Smrg ;; 13174d9b34d9Smrg *) 13180df20633Smrg echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2 13194d9b34d9Smrg exit 1 13204d9b34d9Smrg ;; 13214d9b34d9Smrgesac 13224d9b34d9Smrg 13234d9b34d9Smrg# Here we canonicalize certain aliases for manufacturers. 13244d9b34d9Smrgcase $basic_machine in 13254d9b34d9Smrg *-digital*) 13260df20633Smrg basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'` 13274d9b34d9Smrg ;; 13284d9b34d9Smrg *-commodore*) 13290df20633Smrg basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'` 13304d9b34d9Smrg ;; 13314d9b34d9Smrg *) 13324d9b34d9Smrg ;; 13334d9b34d9Smrgesac 13344d9b34d9Smrg 13354d9b34d9Smrg# Decode manufacturer-specific aliases for certain operating systems. 13364d9b34d9Smrg 13374d9b34d9Smrgif [ x"$os" != x"" ] 13384d9b34d9Smrgthen 13394d9b34d9Smrgcase $os in 13400df20633Smrg # First match some system type aliases that might get confused 13410df20633Smrg # with valid system types. 13424d9b34d9Smrg # -solaris* is a basic system type, with this one exception. 1343498372abSmrg -auroraux) 1344498372abSmrg os=-auroraux 13458512f934Smrg ;; 13464d9b34d9Smrg -solaris1 | -solaris1.*) 13474d9b34d9Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13484d9b34d9Smrg ;; 13494d9b34d9Smrg -solaris) 13504d9b34d9Smrg os=-solaris2 13514d9b34d9Smrg ;; 13524d9b34d9Smrg -unixware*) 13534d9b34d9Smrg os=-sysv4.2uw 13544d9b34d9Smrg ;; 13554d9b34d9Smrg -gnu/linux*) 13564d9b34d9Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13574d9b34d9Smrg ;; 13580df20633Smrg # es1800 is here to avoid being matched by es* (a different OS) 13590df20633Smrg -es1800*) 13600df20633Smrg os=-ose 13610df20633Smrg ;; 13620df20633Smrg # Now accept the basic system types. 13634d9b34d9Smrg # The portable systems comes first. 13640df20633Smrg # Each alternative MUST end in a * to match a version number. 13654d9b34d9Smrg # -sysv* is not here because it comes later, after sysvr4. 13664d9b34d9Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 13678512f934Smrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 13688512f934Smrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 136919d64aeeSmrg | -sym* | -kopensolaris* | -plan9* \ 13704d9b34d9Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13710df20633Smrg | -aos* | -aros* | -cloudabi* | -sortix* \ 13724d9b34d9Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13734d9b34d9Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13740df20633Smrg | -hiux* | -knetbsd* | -mirbsd* | -netbsd* \ 13750df20633Smrg | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ 13764d9b34d9Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13774d9b34d9Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13784d9b34d9Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13790df20633Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \ 13800df20633Smrg | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ 1381498372abSmrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13820df20633Smrg | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 138319d64aeeSmrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 138419d64aeeSmrg | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ 13850df20633Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \ 13864d9b34d9Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13874d9b34d9Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13884d9b34d9Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13890df20633Smrg | -morphos* | -superux* | -rtmk* | -windiss* \ 13904d9b34d9Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 13910df20633Smrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ 13920df20633Smrg | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \ 13930df20633Smrg | -midnightbsd*) 13944d9b34d9Smrg # Remember, each alternative MUST END IN *, to match a version number. 13954d9b34d9Smrg ;; 13964d9b34d9Smrg -qnx*) 13974d9b34d9Smrg case $basic_machine in 13984d9b34d9Smrg x86-* | i*86-*) 13994d9b34d9Smrg ;; 14004d9b34d9Smrg *) 14014d9b34d9Smrg os=-nto$os 14024d9b34d9Smrg ;; 14034d9b34d9Smrg esac 14044d9b34d9Smrg ;; 14054d9b34d9Smrg -nto-qnx*) 14064d9b34d9Smrg ;; 14074d9b34d9Smrg -nto*) 14084d9b34d9Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 14094d9b34d9Smrg ;; 14100df20633Smrg -sim | -xray | -os68k* | -v88r* \ 14110df20633Smrg | -windows* | -osx | -abug | -netware* | -os9* \ 14124d9b34d9Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 14134d9b34d9Smrg ;; 14144d9b34d9Smrg -mac*) 14150df20633Smrg os=`echo "$os" | sed -e 's|mac|macos|'` 14164d9b34d9Smrg ;; 14174d9b34d9Smrg -linux-dietlibc) 14184d9b34d9Smrg os=-linux-dietlibc 14194d9b34d9Smrg ;; 14204d9b34d9Smrg -linux*) 14214d9b34d9Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 14224d9b34d9Smrg ;; 14234d9b34d9Smrg -sunos5*) 14240df20633Smrg os=`echo "$os" | sed -e 's|sunos5|solaris2|'` 14254d9b34d9Smrg ;; 14264d9b34d9Smrg -sunos6*) 14270df20633Smrg os=`echo "$os" | sed -e 's|sunos6|solaris3|'` 14284d9b34d9Smrg ;; 14294d9b34d9Smrg -opened*) 14304d9b34d9Smrg os=-openedition 14314d9b34d9Smrg ;; 1432498372abSmrg -os400*) 14334d9b34d9Smrg os=-os400 14344d9b34d9Smrg ;; 14354d9b34d9Smrg -wince*) 14364d9b34d9Smrg os=-wince 14374d9b34d9Smrg ;; 14384d9b34d9Smrg -utek*) 14394d9b34d9Smrg os=-bsd 14404d9b34d9Smrg ;; 14414d9b34d9Smrg -dynix*) 14424d9b34d9Smrg os=-bsd 14434d9b34d9Smrg ;; 14444d9b34d9Smrg -acis*) 14454d9b34d9Smrg os=-aos 14464d9b34d9Smrg ;; 14474d9b34d9Smrg -atheos*) 14484d9b34d9Smrg os=-atheos 14494d9b34d9Smrg ;; 14504d9b34d9Smrg -syllable*) 14514d9b34d9Smrg os=-syllable 14524d9b34d9Smrg ;; 14534d9b34d9Smrg -386bsd) 14544d9b34d9Smrg os=-bsd 14554d9b34d9Smrg ;; 14564d9b34d9Smrg -ctix* | -uts*) 14574d9b34d9Smrg os=-sysv 14584d9b34d9Smrg ;; 14594d9b34d9Smrg -nova*) 14604d9b34d9Smrg os=-rtmk-nova 14614d9b34d9Smrg ;; 14620df20633Smrg -ns2) 14634d9b34d9Smrg os=-nextstep2 14644d9b34d9Smrg ;; 14654d9b34d9Smrg -nsk*) 14664d9b34d9Smrg os=-nsk 14674d9b34d9Smrg ;; 14684d9b34d9Smrg # Preserve the version number of sinix5. 14694d9b34d9Smrg -sinix5.*) 14704d9b34d9Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 14714d9b34d9Smrg ;; 14724d9b34d9Smrg -sinix*) 14734d9b34d9Smrg os=-sysv4 14744d9b34d9Smrg ;; 1475498372abSmrg -tpf*) 14764d9b34d9Smrg os=-tpf 14774d9b34d9Smrg ;; 14784d9b34d9Smrg -triton*) 14794d9b34d9Smrg os=-sysv3 14804d9b34d9Smrg ;; 14814d9b34d9Smrg -oss*) 14824d9b34d9Smrg os=-sysv3 14834d9b34d9Smrg ;; 14840df20633Smrg -svr4*) 14854d9b34d9Smrg os=-sysv4 14864d9b34d9Smrg ;; 14874d9b34d9Smrg -svr3) 14884d9b34d9Smrg os=-sysv3 14894d9b34d9Smrg ;; 14904d9b34d9Smrg -sysvr4) 14914d9b34d9Smrg os=-sysv4 14924d9b34d9Smrg ;; 14934d9b34d9Smrg # This must come after -sysvr4. 14944d9b34d9Smrg -sysv*) 14954d9b34d9Smrg ;; 14964d9b34d9Smrg -ose*) 14974d9b34d9Smrg os=-ose 14984d9b34d9Smrg ;; 14994d9b34d9Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 15004d9b34d9Smrg os=-mint 15014d9b34d9Smrg ;; 15024d9b34d9Smrg -zvmoe) 15034d9b34d9Smrg os=-zvmoe 15044d9b34d9Smrg ;; 15058512f934Smrg -dicos*) 15068512f934Smrg os=-dicos 15078512f934Smrg ;; 15080df20633Smrg -pikeos*) 15090df20633Smrg # Until real need of OS specific support for 15100df20633Smrg # particular features comes up, bare metal 15110df20633Smrg # configurations are quite functional. 15120df20633Smrg case $basic_machine in 15130df20633Smrg arm*) 15140df20633Smrg os=-eabi 15150df20633Smrg ;; 15160df20633Smrg *) 15170df20633Smrg os=-elf 15180df20633Smrg ;; 15190df20633Smrg esac 15200df20633Smrg ;; 1521498372abSmrg -nacl*) 1522498372abSmrg ;; 15230df20633Smrg -ios) 15240df20633Smrg ;; 15254d9b34d9Smrg -none) 15264d9b34d9Smrg ;; 15274d9b34d9Smrg *) 15284d9b34d9Smrg # Get rid of the `-' at the beginning of $os. 15294d9b34d9Smrg os=`echo $os | sed 's/[^-]*-//'` 15300df20633Smrg echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2 15314d9b34d9Smrg exit 1 15324d9b34d9Smrg ;; 15334d9b34d9Smrgesac 15344d9b34d9Smrgelse 15354d9b34d9Smrg 15364d9b34d9Smrg# Here we handle the default operating systems that come with various machines. 15374d9b34d9Smrg# The value should be what the vendor currently ships out the door with their 15384d9b34d9Smrg# machine or put another way, the most popular os provided with the machine. 15394d9b34d9Smrg 15404d9b34d9Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15414d9b34d9Smrg# "-sun"), then you have to tell the case statement up towards the top 15424d9b34d9Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15434d9b34d9Smrg# will signal an error saying that MANUFACTURER isn't an operating 15444d9b34d9Smrg# system, and we'll never get to this point. 15454d9b34d9Smrg 15464d9b34d9Smrgcase $basic_machine in 1547498372abSmrg score-*) 15484d9b34d9Smrg os=-elf 15494d9b34d9Smrg ;; 1550498372abSmrg spu-*) 15514d9b34d9Smrg os=-elf 15524d9b34d9Smrg ;; 15534d9b34d9Smrg *-acorn) 15544d9b34d9Smrg os=-riscix1.2 15554d9b34d9Smrg ;; 15564d9b34d9Smrg arm*-rebel) 15574d9b34d9Smrg os=-linux 15584d9b34d9Smrg ;; 15594d9b34d9Smrg arm*-semi) 15604d9b34d9Smrg os=-aout 15614d9b34d9Smrg ;; 1562498372abSmrg c4x-* | tic4x-*) 1563498372abSmrg os=-coff 15644d9b34d9Smrg ;; 156519d64aeeSmrg c8051-*) 156619d64aeeSmrg os=-elf 156719d64aeeSmrg ;; 156819d64aeeSmrg hexagon-*) 156919d64aeeSmrg os=-elf 157019d64aeeSmrg ;; 157112e1d9cbSmrg tic54x-*) 157212e1d9cbSmrg os=-coff 157312e1d9cbSmrg ;; 157412e1d9cbSmrg tic55x-*) 157512e1d9cbSmrg os=-coff 157612e1d9cbSmrg ;; 157712e1d9cbSmrg tic6x-*) 157812e1d9cbSmrg os=-coff 157912e1d9cbSmrg ;; 15804d9b34d9Smrg # This must come before the *-dec entry. 15814d9b34d9Smrg pdp10-*) 15824d9b34d9Smrg os=-tops20 15834d9b34d9Smrg ;; 15844d9b34d9Smrg pdp11-*) 15854d9b34d9Smrg os=-none 15864d9b34d9Smrg ;; 15874d9b34d9Smrg *-dec | vax-*) 15884d9b34d9Smrg os=-ultrix4.2 15894d9b34d9Smrg ;; 15904d9b34d9Smrg m68*-apollo) 15914d9b34d9Smrg os=-domain 15924d9b34d9Smrg ;; 15934d9b34d9Smrg i386-sun) 15944d9b34d9Smrg os=-sunos4.0.2 15954d9b34d9Smrg ;; 15964d9b34d9Smrg m68000-sun) 15974d9b34d9Smrg os=-sunos3 15984d9b34d9Smrg ;; 15994d9b34d9Smrg m68*-cisco) 16004d9b34d9Smrg os=-aout 16014d9b34d9Smrg ;; 1602498372abSmrg mep-*) 16038512f934Smrg os=-elf 16048512f934Smrg ;; 16054d9b34d9Smrg mips*-cisco) 16064d9b34d9Smrg os=-elf 16074d9b34d9Smrg ;; 16084d9b34d9Smrg mips*-*) 16094d9b34d9Smrg os=-elf 16104d9b34d9Smrg ;; 16114d9b34d9Smrg or32-*) 16124d9b34d9Smrg os=-coff 16134d9b34d9Smrg ;; 16144d9b34d9Smrg *-tti) # must be before sparc entry or we get the wrong os. 16154d9b34d9Smrg os=-sysv3 16164d9b34d9Smrg ;; 16174d9b34d9Smrg sparc-* | *-sun) 16184d9b34d9Smrg os=-sunos4.1.1 16194d9b34d9Smrg ;; 16200df20633Smrg pru-*) 16210df20633Smrg os=-elf 16220df20633Smrg ;; 16234d9b34d9Smrg *-be) 16244d9b34d9Smrg os=-beos 16254d9b34d9Smrg ;; 16264d9b34d9Smrg *-ibm) 16274d9b34d9Smrg os=-aix 16284d9b34d9Smrg ;; 1629498372abSmrg *-knuth) 16304d9b34d9Smrg os=-mmixware 16314d9b34d9Smrg ;; 16324d9b34d9Smrg *-wec) 16334d9b34d9Smrg os=-proelf 16344d9b34d9Smrg ;; 16354d9b34d9Smrg *-winbond) 16364d9b34d9Smrg os=-proelf 16374d9b34d9Smrg ;; 16384d9b34d9Smrg *-oki) 16394d9b34d9Smrg os=-proelf 16404d9b34d9Smrg ;; 16414d9b34d9Smrg *-hp) 16424d9b34d9Smrg os=-hpux 16434d9b34d9Smrg ;; 16444d9b34d9Smrg *-hitachi) 16454d9b34d9Smrg os=-hiux 16464d9b34d9Smrg ;; 16474d9b34d9Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16484d9b34d9Smrg os=-sysv 16494d9b34d9Smrg ;; 16504d9b34d9Smrg *-cbm) 16514d9b34d9Smrg os=-amigaos 16524d9b34d9Smrg ;; 16534d9b34d9Smrg *-dg) 16544d9b34d9Smrg os=-dgux 16554d9b34d9Smrg ;; 16564d9b34d9Smrg *-dolphin) 16574d9b34d9Smrg os=-sysv3 16584d9b34d9Smrg ;; 16594d9b34d9Smrg m68k-ccur) 16604d9b34d9Smrg os=-rtu 16614d9b34d9Smrg ;; 16624d9b34d9Smrg m88k-omron*) 16634d9b34d9Smrg os=-luna 16644d9b34d9Smrg ;; 16650df20633Smrg *-next) 16664d9b34d9Smrg os=-nextstep 16674d9b34d9Smrg ;; 16684d9b34d9Smrg *-sequent) 16694d9b34d9Smrg os=-ptx 16704d9b34d9Smrg ;; 16714d9b34d9Smrg *-crds) 16724d9b34d9Smrg os=-unos 16734d9b34d9Smrg ;; 16744d9b34d9Smrg *-ns) 16754d9b34d9Smrg os=-genix 16764d9b34d9Smrg ;; 16774d9b34d9Smrg i370-*) 16784d9b34d9Smrg os=-mvs 16794d9b34d9Smrg ;; 16804d9b34d9Smrg *-gould) 16814d9b34d9Smrg os=-sysv 16824d9b34d9Smrg ;; 16834d9b34d9Smrg *-highlevel) 16844d9b34d9Smrg os=-bsd 16854d9b34d9Smrg ;; 16864d9b34d9Smrg *-encore) 16874d9b34d9Smrg os=-bsd 16884d9b34d9Smrg ;; 16894d9b34d9Smrg *-sgi) 16904d9b34d9Smrg os=-irix 16914d9b34d9Smrg ;; 16924d9b34d9Smrg *-siemens) 16934d9b34d9Smrg os=-sysv4 16944d9b34d9Smrg ;; 16954d9b34d9Smrg *-masscomp) 16964d9b34d9Smrg os=-rtu 16974d9b34d9Smrg ;; 16984d9b34d9Smrg f30[01]-fujitsu | f700-fujitsu) 16994d9b34d9Smrg os=-uxpv 17004d9b34d9Smrg ;; 17014d9b34d9Smrg *-rom68k) 17024d9b34d9Smrg os=-coff 17034d9b34d9Smrg ;; 17044d9b34d9Smrg *-*bug) 17054d9b34d9Smrg os=-coff 17064d9b34d9Smrg ;; 17074d9b34d9Smrg *-apple) 17084d9b34d9Smrg os=-macos 17094d9b34d9Smrg ;; 17104d9b34d9Smrg *-atari*) 17114d9b34d9Smrg os=-mint 17124d9b34d9Smrg ;; 17134d9b34d9Smrg *) 17144d9b34d9Smrg os=-none 17154d9b34d9Smrg ;; 17164d9b34d9Smrgesac 17174d9b34d9Smrgfi 17184d9b34d9Smrg 17194d9b34d9Smrg# Here we handle the case where we know the os, and the CPU type, but not the 17204d9b34d9Smrg# manufacturer. We pick the logical manufacturer. 17214d9b34d9Smrgvendor=unknown 17224d9b34d9Smrgcase $basic_machine in 17234d9b34d9Smrg *-unknown) 17244d9b34d9Smrg case $os in 17254d9b34d9Smrg -riscix*) 17264d9b34d9Smrg vendor=acorn 17274d9b34d9Smrg ;; 17284d9b34d9Smrg -sunos*) 17294d9b34d9Smrg vendor=sun 17304d9b34d9Smrg ;; 17318512f934Smrg -cnk*|-aix*) 17324d9b34d9Smrg vendor=ibm 17334d9b34d9Smrg ;; 17344d9b34d9Smrg -beos*) 17354d9b34d9Smrg vendor=be 17364d9b34d9Smrg ;; 17374d9b34d9Smrg -hpux*) 17384d9b34d9Smrg vendor=hp 17394d9b34d9Smrg ;; 17404d9b34d9Smrg -mpeix*) 17414d9b34d9Smrg vendor=hp 17424d9b34d9Smrg ;; 17434d9b34d9Smrg -hiux*) 17444d9b34d9Smrg vendor=hitachi 17454d9b34d9Smrg ;; 17464d9b34d9Smrg -unos*) 17474d9b34d9Smrg vendor=crds 17484d9b34d9Smrg ;; 17494d9b34d9Smrg -dgux*) 17504d9b34d9Smrg vendor=dg 17514d9b34d9Smrg ;; 17524d9b34d9Smrg -luna*) 17534d9b34d9Smrg vendor=omron 17544d9b34d9Smrg ;; 17554d9b34d9Smrg -genix*) 17564d9b34d9Smrg vendor=ns 17574d9b34d9Smrg ;; 17584d9b34d9Smrg -mvs* | -opened*) 17594d9b34d9Smrg vendor=ibm 17604d9b34d9Smrg ;; 17614d9b34d9Smrg -os400*) 17624d9b34d9Smrg vendor=ibm 17634d9b34d9Smrg ;; 17644d9b34d9Smrg -ptx*) 17654d9b34d9Smrg vendor=sequent 17664d9b34d9Smrg ;; 17674d9b34d9Smrg -tpf*) 17684d9b34d9Smrg vendor=ibm 17694d9b34d9Smrg ;; 17704d9b34d9Smrg -vxsim* | -vxworks* | -windiss*) 17714d9b34d9Smrg vendor=wrs 17724d9b34d9Smrg ;; 17734d9b34d9Smrg -aux*) 17744d9b34d9Smrg vendor=apple 17754d9b34d9Smrg ;; 17764d9b34d9Smrg -hms*) 17774d9b34d9Smrg vendor=hitachi 17784d9b34d9Smrg ;; 17794d9b34d9Smrg -mpw* | -macos*) 17804d9b34d9Smrg vendor=apple 17814d9b34d9Smrg ;; 17824d9b34d9Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17834d9b34d9Smrg vendor=atari 17844d9b34d9Smrg ;; 17854d9b34d9Smrg -vos*) 17864d9b34d9Smrg vendor=stratus 17874d9b34d9Smrg ;; 17884d9b34d9Smrg esac 17890df20633Smrg basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"` 17904d9b34d9Smrg ;; 17914d9b34d9Smrgesac 17924d9b34d9Smrg 17930df20633Smrgecho "$basic_machine$os" 17944d9b34d9Smrgexit 17954d9b34d9Smrg 17964d9b34d9Smrg# Local variables: 17970df20633Smrg# eval: (add-hook 'write-file-functions 'time-stamp) 17984d9b34d9Smrg# time-stamp-start: "timestamp='" 17994d9b34d9Smrg# time-stamp-format: "%:y-%02m-%02d" 18004d9b34d9Smrg# time-stamp-end: "'" 18014d9b34d9Smrg# End: 1802