config.sub revision 1c80d5b0
14c61c93dSmrg#! /bin/sh 24c61c93dSmrg# Configuration validation subroutine script. 31c80d5b0Smrg# Copyright 1992-2013 Free Software Foundation, Inc. 44c61c93dSmrg 51c80d5b0Smrgtimestamp='2013-04-24' 64c61c93dSmrg 71c80d5b0Smrg# This file is free software; you can redistribute it and/or modify it 81c80d5b0Smrg# under the terms of the GNU General Public License as published by 91c80d5b0Smrg# the Free Software Foundation; either version 3 of the License, or 104c61c93dSmrg# (at your option) any later version. 114c61c93dSmrg# 121c80d5b0Smrg# This program is distributed in the hope that it will be useful, but 131c80d5b0Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of 141c80d5b0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 151c80d5b0Smrg# General Public License for more details. 164c61c93dSmrg# 174c61c93dSmrg# You should have received a copy of the GNU General Public License 181c80d5b0Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>. 194c61c93dSmrg# 204c61c93dSmrg# As a special exception to the GNU General Public License, if you 214c61c93dSmrg# distribute this file as part of a program that contains a 224c61c93dSmrg# configuration script generated by Autoconf, you may include it under 231c80d5b0Smrg# the same distribution terms that you use for the rest of that 241c80d5b0Smrg# program. This Exception is an additional permission under section 7 251c80d5b0Smrg# of the GNU General Public License, version 3 ("GPLv3"). 264c61c93dSmrg 274c61c93dSmrg 281c80d5b0Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org. 294c61c93dSmrg# 304c61c93dSmrg# Configuration subroutine to validate and canonicalize a configuration type. 314c61c93dSmrg# Supply the specified configuration type as an argument. 324c61c93dSmrg# If it is invalid, we print an error message on stderr and exit with code 1. 334c61c93dSmrg# Otherwise, we print the canonical config type on stdout and succeed. 344c61c93dSmrg 35d7ffce2aSmrg# You can get the latest version of this script from: 36d7ffce2aSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 37d7ffce2aSmrg 384c61c93dSmrg# This file is supposed to be the same for all GNU packages 394c61c93dSmrg# and recognize all the CPU types, system types and aliases 404c61c93dSmrg# that are meaningful with *any* GNU software. 414c61c93dSmrg# Each package is responsible for reporting which valid configurations 424c61c93dSmrg# it does not support. The user should be able to distinguish 434c61c93dSmrg# a failure to support a valid configuration from a meaningless 444c61c93dSmrg# configuration. 454c61c93dSmrg 464c61c93dSmrg# The goal of this file is to map all the various variations of a given 474c61c93dSmrg# machine specification into a single specification in the form: 484c61c93dSmrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 494c61c93dSmrg# or in some cases, the newer four-part form: 504c61c93dSmrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 514c61c93dSmrg# It is wrong to echo any other type of specification. 524c61c93dSmrg 534c61c93dSmrgme=`echo "$0" | sed -e 's,.*/,,'` 544c61c93dSmrg 554c61c93dSmrgusage="\ 564c61c93dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 574c61c93dSmrg $0 [OPTION] ALIAS 584c61c93dSmrg 594c61c93dSmrgCanonicalize a configuration name. 604c61c93dSmrg 614c61c93dSmrgOperation modes: 624c61c93dSmrg -h, --help print this help, then exit 634c61c93dSmrg -t, --time-stamp print date of last modification, then exit 644c61c93dSmrg -v, --version print version number, then exit 654c61c93dSmrg 664c61c93dSmrgReport bugs and patches to <config-patches@gnu.org>." 674c61c93dSmrg 684c61c93dSmrgversion="\ 694c61c93dSmrgGNU config.sub ($timestamp) 704c61c93dSmrg 711c80d5b0SmrgCopyright 1992-2013 Free Software Foundation, Inc. 724c61c93dSmrg 734c61c93dSmrgThis is free software; see the source for copying conditions. There is NO 744c61c93dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 754c61c93dSmrg 764c61c93dSmrghelp=" 774c61c93dSmrgTry \`$me --help' for more information." 784c61c93dSmrg 794c61c93dSmrg# Parse command line 804c61c93dSmrgwhile test $# -gt 0 ; do 814c61c93dSmrg case $1 in 824c61c93dSmrg --time-stamp | --time* | -t ) 834c61c93dSmrg echo "$timestamp" ; exit ;; 844c61c93dSmrg --version | -v ) 854c61c93dSmrg echo "$version" ; exit ;; 864c61c93dSmrg --help | --h* | -h ) 874c61c93dSmrg echo "$usage"; exit ;; 884c61c93dSmrg -- ) # Stop option processing 894c61c93dSmrg shift; break ;; 904c61c93dSmrg - ) # Use stdin as input. 914c61c93dSmrg break ;; 924c61c93dSmrg -* ) 934c61c93dSmrg echo "$me: invalid option $1$help" 944c61c93dSmrg exit 1 ;; 954c61c93dSmrg 964c61c93dSmrg *local*) 974c61c93dSmrg # First pass through any local machine types. 984c61c93dSmrg echo $1 994c61c93dSmrg exit ;; 1004c61c93dSmrg 1014c61c93dSmrg * ) 1024c61c93dSmrg break ;; 1034c61c93dSmrg esac 1044c61c93dSmrgdone 1054c61c93dSmrg 1064c61c93dSmrgcase $# in 1074c61c93dSmrg 0) echo "$me: missing argument$help" >&2 1084c61c93dSmrg exit 1;; 1094c61c93dSmrg 1) ;; 1104c61c93dSmrg *) echo "$me: too many arguments$help" >&2 1114c61c93dSmrg exit 1;; 1124c61c93dSmrgesac 1134c61c93dSmrg 1144c61c93dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1154c61c93dSmrg# Here we must recognize all the valid KERNEL-OS combinations. 1164c61c93dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1174c61c93dSmrgcase $maybe_os in 118d7ffce2aSmrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1191c80d5b0Smrg linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 120d7ffce2aSmrg knetbsd*-gnu* | netbsd*-gnu* | \ 1214c61c93dSmrg kopensolaris*-gnu* | \ 1224c61c93dSmrg storm-chaos* | os2-emx* | rtmk-nova*) 1234c61c93dSmrg os=-$maybe_os 1244c61c93dSmrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1254c61c93dSmrg ;; 1261c80d5b0Smrg android-linux) 1271c80d5b0Smrg os=-linux-android 1281c80d5b0Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown 1291c80d5b0Smrg ;; 1304c61c93dSmrg *) 1314c61c93dSmrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 1324c61c93dSmrg if [ $basic_machine != $1 ] 1334c61c93dSmrg then os=`echo $1 | sed 's/.*-/-/'` 1344c61c93dSmrg else os=; fi 1354c61c93dSmrg ;; 1364c61c93dSmrgesac 1374c61c93dSmrg 1384c61c93dSmrg### Let's recognize common machines as not being operating systems so 1394c61c93dSmrg### that things like config.sub decstation-3100 work. We also 1404c61c93dSmrg### recognize some manufacturers as not being operating systems, so we 1414c61c93dSmrg### can provide default operating systems below. 1424c61c93dSmrgcase $os in 1434c61c93dSmrg -sun*os*) 1444c61c93dSmrg # Prevent following clause from handling this invalid input. 1454c61c93dSmrg ;; 1464c61c93dSmrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1474c61c93dSmrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1484c61c93dSmrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1494c61c93dSmrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1504c61c93dSmrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1514c61c93dSmrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 1521c80d5b0Smrg -apple | -axis | -knuth | -cray | -microblaze*) 1534c61c93dSmrg os= 1544c61c93dSmrg basic_machine=$1 1554c61c93dSmrg ;; 1561c80d5b0Smrg -bluegene*) 1571c80d5b0Smrg os=-cnk 158d7ffce2aSmrg ;; 1594c61c93dSmrg -sim | -cisco | -oki | -wec | -winbond) 1604c61c93dSmrg os= 1614c61c93dSmrg basic_machine=$1 1624c61c93dSmrg ;; 1634c61c93dSmrg -scout) 1644c61c93dSmrg ;; 1654c61c93dSmrg -wrs) 1664c61c93dSmrg os=-vxworks 1674c61c93dSmrg basic_machine=$1 1684c61c93dSmrg ;; 1694c61c93dSmrg -chorusos*) 1704c61c93dSmrg os=-chorusos 1714c61c93dSmrg basic_machine=$1 1724c61c93dSmrg ;; 1731c80d5b0Smrg -chorusrdb) 1741c80d5b0Smrg os=-chorusrdb 1754c61c93dSmrg basic_machine=$1 1761c80d5b0Smrg ;; 1774c61c93dSmrg -hiux*) 1784c61c93dSmrg os=-hiuxwe2 1794c61c93dSmrg ;; 1804c61c93dSmrg -sco6) 1814c61c93dSmrg os=-sco5v6 1824c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1834c61c93dSmrg ;; 1844c61c93dSmrg -sco5) 1854c61c93dSmrg os=-sco3.2v5 1864c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1874c61c93dSmrg ;; 1884c61c93dSmrg -sco4) 1894c61c93dSmrg os=-sco3.2v4 1904c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1914c61c93dSmrg ;; 1924c61c93dSmrg -sco3.2.[4-9]*) 1934c61c93dSmrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1944c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1954c61c93dSmrg ;; 1964c61c93dSmrg -sco3.2v[4-9]*) 1974c61c93dSmrg # Don't forget version if it is 3.2v4 or newer. 1984c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1994c61c93dSmrg ;; 2004c61c93dSmrg -sco5v6*) 2014c61c93dSmrg # Don't forget version if it is 3.2v4 or newer. 2024c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2034c61c93dSmrg ;; 2044c61c93dSmrg -sco*) 2054c61c93dSmrg os=-sco3.2v2 2064c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2074c61c93dSmrg ;; 2084c61c93dSmrg -udk*) 2094c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2104c61c93dSmrg ;; 2114c61c93dSmrg -isc) 2124c61c93dSmrg os=-isc2.2 2134c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2144c61c93dSmrg ;; 2154c61c93dSmrg -clix*) 2164c61c93dSmrg basic_machine=clipper-intergraph 2174c61c93dSmrg ;; 2184c61c93dSmrg -isc*) 2194c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2204c61c93dSmrg ;; 2211c80d5b0Smrg -lynx*178) 2221c80d5b0Smrg os=-lynxos178 2231c80d5b0Smrg ;; 2241c80d5b0Smrg -lynx*5) 2251c80d5b0Smrg os=-lynxos5 2261c80d5b0Smrg ;; 2274c61c93dSmrg -lynx*) 2284c61c93dSmrg os=-lynxos 2294c61c93dSmrg ;; 2304c61c93dSmrg -ptx*) 2314c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 2324c61c93dSmrg ;; 2334c61c93dSmrg -windowsnt*) 2344c61c93dSmrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 2354c61c93dSmrg ;; 2364c61c93dSmrg -psos*) 2374c61c93dSmrg os=-psos 2384c61c93dSmrg ;; 2394c61c93dSmrg -mint | -mint[0-9]*) 2404c61c93dSmrg basic_machine=m68k-atari 2414c61c93dSmrg os=-mint 2424c61c93dSmrg ;; 2434c61c93dSmrgesac 2444c61c93dSmrg 2454c61c93dSmrg# Decode aliases for certain CPU-COMPANY combinations. 2464c61c93dSmrgcase $basic_machine in 2474c61c93dSmrg # Recognize the basic CPU types without company name. 2484c61c93dSmrg # Some are omitted here because they have special meanings below. 2494c61c93dSmrg 1750a | 580 \ 2504c61c93dSmrg | a29k \ 2511c80d5b0Smrg | aarch64 | aarch64_be \ 2524c61c93dSmrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2534c61c93dSmrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2544c61c93dSmrg | am33_2.0 \ 2551c80d5b0Smrg | arc | arceb \ 2561c80d5b0Smrg | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ 2571c80d5b0Smrg | avr | avr32 \ 2581c80d5b0Smrg | be32 | be64 \ 2594c61c93dSmrg | bfin \ 2604c61c93dSmrg | c4x | clipper \ 2614c61c93dSmrg | d10v | d30v | dlx | dsp16xx \ 2621c80d5b0Smrg | epiphany \ 2634c61c93dSmrg | fido | fr30 | frv \ 2644c61c93dSmrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2651c80d5b0Smrg | hexagon \ 2664c61c93dSmrg | i370 | i860 | i960 | ia64 \ 2674c61c93dSmrg | ip2k | iq2000 \ 2681c80d5b0Smrg | le32 | le64 \ 2694c61c93dSmrg | lm32 \ 2704c61c93dSmrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 2711c80d5b0Smrg | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ 2724c61c93dSmrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2734c61c93dSmrg | mips16 \ 2744c61c93dSmrg | mips64 | mips64el \ 2754c61c93dSmrg | mips64octeon | mips64octeonel \ 2764c61c93dSmrg | mips64orion | mips64orionel \ 2774c61c93dSmrg | mips64r5900 | mips64r5900el \ 2784c61c93dSmrg | mips64vr | mips64vrel \ 2794c61c93dSmrg | mips64vr4100 | mips64vr4100el \ 2804c61c93dSmrg | mips64vr4300 | mips64vr4300el \ 2814c61c93dSmrg | mips64vr5000 | mips64vr5000el \ 2824c61c93dSmrg | mips64vr5900 | mips64vr5900el \ 2834c61c93dSmrg | mipsisa32 | mipsisa32el \ 2844c61c93dSmrg | mipsisa32r2 | mipsisa32r2el \ 2854c61c93dSmrg | mipsisa64 | mipsisa64el \ 2864c61c93dSmrg | mipsisa64r2 | mipsisa64r2el \ 2874c61c93dSmrg | mipsisa64sb1 | mipsisa64sb1el \ 2884c61c93dSmrg | mipsisa64sr71k | mipsisa64sr71kel \ 2891c80d5b0Smrg | mipsr5900 | mipsr5900el \ 2904c61c93dSmrg | mipstx39 | mipstx39el \ 2914c61c93dSmrg | mn10200 | mn10300 \ 2924c61c93dSmrg | moxie \ 2934c61c93dSmrg | mt \ 2944c61c93dSmrg | msp430 \ 295d7ffce2aSmrg | nds32 | nds32le | nds32be \ 2961c80d5b0Smrg | nios | nios2 | nios2eb | nios2el \ 2974c61c93dSmrg | ns16k | ns32k \ 2981c80d5b0Smrg | open8 \ 2991c80d5b0Smrg | or1k | or32 \ 3004c61c93dSmrg | pdp10 | pdp11 | pj | pjl \ 3011c80d5b0Smrg | powerpc | powerpc64 | powerpc64le | powerpcle \ 3024c61c93dSmrg | pyramid \ 3031c80d5b0Smrg | rl78 | rx \ 3044c61c93dSmrg | score \ 3054c61c93dSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 3064c61c93dSmrg | sh64 | sh64le \ 3074c61c93dSmrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 3084c61c93dSmrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 3091c80d5b0Smrg | spu \ 3101c80d5b0Smrg | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 311d7ffce2aSmrg | ubicom32 \ 3121c80d5b0Smrg | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ 3134c61c93dSmrg | we32k \ 3141c80d5b0Smrg | x86 | xc16x | xstormy16 | xtensa \ 3154c61c93dSmrg | z8k | z80) 3164c61c93dSmrg basic_machine=$basic_machine-unknown 3174c61c93dSmrg ;; 318d7ffce2aSmrg c54x) 319d7ffce2aSmrg basic_machine=tic54x-unknown 320d7ffce2aSmrg ;; 321d7ffce2aSmrg c55x) 322d7ffce2aSmrg basic_machine=tic55x-unknown 323d7ffce2aSmrg ;; 324d7ffce2aSmrg c6x) 325d7ffce2aSmrg basic_machine=tic6x-unknown 326d7ffce2aSmrg ;; 3271c80d5b0Smrg m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) 3284c61c93dSmrg basic_machine=$basic_machine-unknown 3294c61c93dSmrg os=-none 3304c61c93dSmrg ;; 3314c61c93dSmrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 3324c61c93dSmrg ;; 3334c61c93dSmrg ms1) 3344c61c93dSmrg basic_machine=mt-unknown 3354c61c93dSmrg ;; 3364c61c93dSmrg 3371c80d5b0Smrg strongarm | thumb | xscale) 3381c80d5b0Smrg basic_machine=arm-unknown 3391c80d5b0Smrg ;; 3401c80d5b0Smrg xgate) 3411c80d5b0Smrg basic_machine=$basic_machine-unknown 3421c80d5b0Smrg os=-none 3431c80d5b0Smrg ;; 3441c80d5b0Smrg xscaleeb) 3451c80d5b0Smrg basic_machine=armeb-unknown 3461c80d5b0Smrg ;; 3471c80d5b0Smrg 3481c80d5b0Smrg xscaleel) 3491c80d5b0Smrg basic_machine=armel-unknown 3501c80d5b0Smrg ;; 3511c80d5b0Smrg 3524c61c93dSmrg # We use `pc' rather than `unknown' 3534c61c93dSmrg # because (1) that's what they normally are, and 3544c61c93dSmrg # (2) the word "unknown" tends to confuse beginning users. 3554c61c93dSmrg i*86 | x86_64) 3564c61c93dSmrg basic_machine=$basic_machine-pc 3574c61c93dSmrg ;; 3584c61c93dSmrg # Object if more than one company name word. 3594c61c93dSmrg *-*-*) 3604c61c93dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 3614c61c93dSmrg exit 1 3624c61c93dSmrg ;; 3634c61c93dSmrg # Recognize the basic CPU types with company name. 3644c61c93dSmrg 580-* \ 3654c61c93dSmrg | a29k-* \ 3661c80d5b0Smrg | aarch64-* | aarch64_be-* \ 3674c61c93dSmrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3684c61c93dSmrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3691c80d5b0Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ 3704c61c93dSmrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 3714c61c93dSmrg | avr-* | avr32-* \ 3721c80d5b0Smrg | be32-* | be64-* \ 3734c61c93dSmrg | bfin-* | bs2000-* \ 374d7ffce2aSmrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3754c61c93dSmrg | clipper-* | craynv-* | cydra-* \ 3764c61c93dSmrg | d10v-* | d30v-* | dlx-* \ 3774c61c93dSmrg | elxsi-* \ 3784c61c93dSmrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3794c61c93dSmrg | h8300-* | h8500-* \ 3804c61c93dSmrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3811c80d5b0Smrg | hexagon-* \ 3824c61c93dSmrg | i*86-* | i860-* | i960-* | ia64-* \ 3834c61c93dSmrg | ip2k-* | iq2000-* \ 3841c80d5b0Smrg | le32-* | le64-* \ 3854c61c93dSmrg | lm32-* \ 3864c61c93dSmrg | m32c-* | m32r-* | m32rle-* \ 3874c61c93dSmrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 3881c80d5b0Smrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 3891c80d5b0Smrg | microblaze-* | microblazeel-* \ 3904c61c93dSmrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3914c61c93dSmrg | mips16-* \ 3924c61c93dSmrg | mips64-* | mips64el-* \ 3934c61c93dSmrg | mips64octeon-* | mips64octeonel-* \ 3944c61c93dSmrg | mips64orion-* | mips64orionel-* \ 3954c61c93dSmrg | mips64r5900-* | mips64r5900el-* \ 3964c61c93dSmrg | mips64vr-* | mips64vrel-* \ 3974c61c93dSmrg | mips64vr4100-* | mips64vr4100el-* \ 3984c61c93dSmrg | mips64vr4300-* | mips64vr4300el-* \ 3994c61c93dSmrg | mips64vr5000-* | mips64vr5000el-* \ 4004c61c93dSmrg | mips64vr5900-* | mips64vr5900el-* \ 4014c61c93dSmrg | mipsisa32-* | mipsisa32el-* \ 4024c61c93dSmrg | mipsisa32r2-* | mipsisa32r2el-* \ 4034c61c93dSmrg | mipsisa64-* | mipsisa64el-* \ 4044c61c93dSmrg | mipsisa64r2-* | mipsisa64r2el-* \ 4054c61c93dSmrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 4064c61c93dSmrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 4071c80d5b0Smrg | mipsr5900-* | mipsr5900el-* \ 4084c61c93dSmrg | mipstx39-* | mipstx39el-* \ 4094c61c93dSmrg | mmix-* \ 4104c61c93dSmrg | mt-* \ 4114c61c93dSmrg | msp430-* \ 412d7ffce2aSmrg | nds32-* | nds32le-* | nds32be-* \ 4131c80d5b0Smrg | nios-* | nios2-* | nios2eb-* | nios2el-* \ 4144c61c93dSmrg | none-* | np1-* | ns16k-* | ns32k-* \ 4151c80d5b0Smrg | open8-* \ 4164c61c93dSmrg | orion-* \ 4174c61c93dSmrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 4181c80d5b0Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ 4194c61c93dSmrg | pyramid-* \ 4201c80d5b0Smrg | rl78-* | romp-* | rs6000-* | rx-* \ 4214c61c93dSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 4224c61c93dSmrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 4234c61c93dSmrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 4244c61c93dSmrg | sparclite-* \ 4251c80d5b0Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ 4261c80d5b0Smrg | tahoe-* \ 427d7ffce2aSmrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 4281c80d5b0Smrg | tile*-* \ 4294c61c93dSmrg | tron-* \ 430d7ffce2aSmrg | ubicom32-* \ 4311c80d5b0Smrg | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ 4321c80d5b0Smrg | vax-* \ 4334c61c93dSmrg | we32k-* \ 4341c80d5b0Smrg | x86-* | x86_64-* | xc16x-* | xps100-* \ 4354c61c93dSmrg | xstormy16-* | xtensa*-* \ 4364c61c93dSmrg | ymp-* \ 4374c61c93dSmrg | z8k-* | z80-*) 4384c61c93dSmrg ;; 4394c61c93dSmrg # Recognize the basic CPU types without company name, with glob match. 4404c61c93dSmrg xtensa*) 4414c61c93dSmrg basic_machine=$basic_machine-unknown 4424c61c93dSmrg ;; 4434c61c93dSmrg # Recognize the various machine names and aliases which stand 4444c61c93dSmrg # for a CPU type and a company and sometimes even an OS. 4454c61c93dSmrg 386bsd) 4464c61c93dSmrg basic_machine=i386-unknown 4474c61c93dSmrg os=-bsd 4484c61c93dSmrg ;; 4494c61c93dSmrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4504c61c93dSmrg basic_machine=m68000-att 4514c61c93dSmrg ;; 4524c61c93dSmrg 3b*) 4534c61c93dSmrg basic_machine=we32k-att 4544c61c93dSmrg ;; 4554c61c93dSmrg a29khif) 4564c61c93dSmrg basic_machine=a29k-amd 4574c61c93dSmrg os=-udi 4584c61c93dSmrg ;; 4591c80d5b0Smrg abacus) 4604c61c93dSmrg basic_machine=abacus-unknown 4614c61c93dSmrg ;; 4624c61c93dSmrg adobe68k) 4634c61c93dSmrg basic_machine=m68010-adobe 4644c61c93dSmrg os=-scout 4654c61c93dSmrg ;; 4664c61c93dSmrg alliant | fx80) 4674c61c93dSmrg basic_machine=fx80-alliant 4684c61c93dSmrg ;; 4694c61c93dSmrg altos | altos3068) 4704c61c93dSmrg basic_machine=m68k-altos 4714c61c93dSmrg ;; 4724c61c93dSmrg am29k) 4734c61c93dSmrg basic_machine=a29k-none 4744c61c93dSmrg os=-bsd 4754c61c93dSmrg ;; 4764c61c93dSmrg amd64) 4774c61c93dSmrg basic_machine=x86_64-pc 4784c61c93dSmrg ;; 4794c61c93dSmrg amd64-*) 4804c61c93dSmrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4814c61c93dSmrg ;; 4824c61c93dSmrg amdahl) 4834c61c93dSmrg basic_machine=580-amdahl 4844c61c93dSmrg os=-sysv 4854c61c93dSmrg ;; 4864c61c93dSmrg amiga | amiga-*) 4874c61c93dSmrg basic_machine=m68k-unknown 4884c61c93dSmrg ;; 4894c61c93dSmrg amigaos | amigados) 4904c61c93dSmrg basic_machine=m68k-unknown 4914c61c93dSmrg os=-amigaos 4924c61c93dSmrg ;; 4934c61c93dSmrg amigaunix | amix) 4944c61c93dSmrg basic_machine=m68k-unknown 4954c61c93dSmrg os=-sysv4 4964c61c93dSmrg ;; 4974c61c93dSmrg apollo68) 4984c61c93dSmrg basic_machine=m68k-apollo 4994c61c93dSmrg os=-sysv 5004c61c93dSmrg ;; 5014c61c93dSmrg apollo68bsd) 5024c61c93dSmrg basic_machine=m68k-apollo 5034c61c93dSmrg os=-bsd 5044c61c93dSmrg ;; 5054c61c93dSmrg aros) 5064c61c93dSmrg basic_machine=i386-pc 5074c61c93dSmrg os=-aros 5084c61c93dSmrg ;; 5094c61c93dSmrg aux) 5104c61c93dSmrg basic_machine=m68k-apple 5114c61c93dSmrg os=-aux 5124c61c93dSmrg ;; 5134c61c93dSmrg balance) 5144c61c93dSmrg basic_machine=ns32k-sequent 5154c61c93dSmrg os=-dynix 5164c61c93dSmrg ;; 5174c61c93dSmrg blackfin) 5184c61c93dSmrg basic_machine=bfin-unknown 5194c61c93dSmrg os=-linux 5204c61c93dSmrg ;; 5214c61c93dSmrg blackfin-*) 5224c61c93dSmrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 5234c61c93dSmrg os=-linux 5244c61c93dSmrg ;; 525d7ffce2aSmrg bluegene*) 526d7ffce2aSmrg basic_machine=powerpc-ibm 527d7ffce2aSmrg os=-cnk 528d7ffce2aSmrg ;; 529d7ffce2aSmrg c54x-*) 530d7ffce2aSmrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 531d7ffce2aSmrg ;; 532d7ffce2aSmrg c55x-*) 533d7ffce2aSmrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 534d7ffce2aSmrg ;; 535d7ffce2aSmrg c6x-*) 536d7ffce2aSmrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 537d7ffce2aSmrg ;; 5384c61c93dSmrg c90) 5394c61c93dSmrg basic_machine=c90-cray 5404c61c93dSmrg os=-unicos 5414c61c93dSmrg ;; 5421c80d5b0Smrg cegcc) 5434c61c93dSmrg basic_machine=arm-unknown 5444c61c93dSmrg os=-cegcc 5454c61c93dSmrg ;; 5464c61c93dSmrg convex-c1) 5474c61c93dSmrg basic_machine=c1-convex 5484c61c93dSmrg os=-bsd 5494c61c93dSmrg ;; 5504c61c93dSmrg convex-c2) 5514c61c93dSmrg basic_machine=c2-convex 5524c61c93dSmrg os=-bsd 5534c61c93dSmrg ;; 5544c61c93dSmrg convex-c32) 5554c61c93dSmrg basic_machine=c32-convex 5564c61c93dSmrg os=-bsd 5574c61c93dSmrg ;; 5584c61c93dSmrg convex-c34) 5594c61c93dSmrg basic_machine=c34-convex 5604c61c93dSmrg os=-bsd 5614c61c93dSmrg ;; 5624c61c93dSmrg convex-c38) 5634c61c93dSmrg basic_machine=c38-convex 5644c61c93dSmrg os=-bsd 5654c61c93dSmrg ;; 5664c61c93dSmrg cray | j90) 5674c61c93dSmrg basic_machine=j90-cray 5684c61c93dSmrg os=-unicos 5694c61c93dSmrg ;; 5704c61c93dSmrg craynv) 5714c61c93dSmrg basic_machine=craynv-cray 5724c61c93dSmrg os=-unicosmp 5734c61c93dSmrg ;; 5741c80d5b0Smrg cr16 | cr16-*) 5754c61c93dSmrg basic_machine=cr16-unknown 5764c61c93dSmrg os=-elf 5774c61c93dSmrg ;; 5784c61c93dSmrg crds | unos) 5794c61c93dSmrg basic_machine=m68k-crds 5804c61c93dSmrg ;; 5814c61c93dSmrg crisv32 | crisv32-* | etraxfs*) 5824c61c93dSmrg basic_machine=crisv32-axis 5834c61c93dSmrg ;; 5844c61c93dSmrg cris | cris-* | etrax*) 5854c61c93dSmrg basic_machine=cris-axis 5864c61c93dSmrg ;; 5874c61c93dSmrg crx) 5884c61c93dSmrg basic_machine=crx-unknown 5894c61c93dSmrg os=-elf 5904c61c93dSmrg ;; 5914c61c93dSmrg da30 | da30-*) 5924c61c93dSmrg basic_machine=m68k-da30 5934c61c93dSmrg ;; 5944c61c93dSmrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 5954c61c93dSmrg basic_machine=mips-dec 5964c61c93dSmrg ;; 5974c61c93dSmrg decsystem10* | dec10*) 5984c61c93dSmrg basic_machine=pdp10-dec 5994c61c93dSmrg os=-tops10 6004c61c93dSmrg ;; 6014c61c93dSmrg decsystem20* | dec20*) 6024c61c93dSmrg basic_machine=pdp10-dec 6034c61c93dSmrg os=-tops20 6044c61c93dSmrg ;; 6054c61c93dSmrg delta | 3300 | motorola-3300 | motorola-delta \ 6064c61c93dSmrg | 3300-motorola | delta-motorola) 6074c61c93dSmrg basic_machine=m68k-motorola 6084c61c93dSmrg ;; 6094c61c93dSmrg delta88) 6104c61c93dSmrg basic_machine=m88k-motorola 6114c61c93dSmrg os=-sysv3 6124c61c93dSmrg ;; 6134c61c93dSmrg dicos) 6144c61c93dSmrg basic_machine=i686-pc 6154c61c93dSmrg os=-dicos 6164c61c93dSmrg ;; 6174c61c93dSmrg djgpp) 6184c61c93dSmrg basic_machine=i586-pc 6194c61c93dSmrg os=-msdosdjgpp 6204c61c93dSmrg ;; 6214c61c93dSmrg dpx20 | dpx20-*) 6224c61c93dSmrg basic_machine=rs6000-bull 6234c61c93dSmrg os=-bosx 6244c61c93dSmrg ;; 6254c61c93dSmrg dpx2* | dpx2*-bull) 6264c61c93dSmrg basic_machine=m68k-bull 6274c61c93dSmrg os=-sysv3 6284c61c93dSmrg ;; 6294c61c93dSmrg ebmon29k) 6304c61c93dSmrg basic_machine=a29k-amd 6314c61c93dSmrg os=-ebmon 6324c61c93dSmrg ;; 6334c61c93dSmrg elxsi) 6344c61c93dSmrg basic_machine=elxsi-elxsi 6354c61c93dSmrg os=-bsd 6364c61c93dSmrg ;; 6374c61c93dSmrg encore | umax | mmax) 6384c61c93dSmrg basic_machine=ns32k-encore 6394c61c93dSmrg ;; 6404c61c93dSmrg es1800 | OSE68k | ose68k | ose | OSE) 6414c61c93dSmrg basic_machine=m68k-ericsson 6424c61c93dSmrg os=-ose 6434c61c93dSmrg ;; 6444c61c93dSmrg fx2800) 6454c61c93dSmrg basic_machine=i860-alliant 6464c61c93dSmrg ;; 6474c61c93dSmrg genix) 6484c61c93dSmrg basic_machine=ns32k-ns 6494c61c93dSmrg ;; 6504c61c93dSmrg gmicro) 6514c61c93dSmrg basic_machine=tron-gmicro 6524c61c93dSmrg os=-sysv 6534c61c93dSmrg ;; 6544c61c93dSmrg go32) 6554c61c93dSmrg basic_machine=i386-pc 6564c61c93dSmrg os=-go32 6574c61c93dSmrg ;; 6584c61c93dSmrg h3050r* | hiux*) 6594c61c93dSmrg basic_machine=hppa1.1-hitachi 6604c61c93dSmrg os=-hiuxwe2 6614c61c93dSmrg ;; 6624c61c93dSmrg h8300hms) 6634c61c93dSmrg basic_machine=h8300-hitachi 6644c61c93dSmrg os=-hms 6654c61c93dSmrg ;; 6664c61c93dSmrg h8300xray) 6674c61c93dSmrg basic_machine=h8300-hitachi 6684c61c93dSmrg os=-xray 6694c61c93dSmrg ;; 6704c61c93dSmrg h8500hms) 6714c61c93dSmrg basic_machine=h8500-hitachi 6724c61c93dSmrg os=-hms 6734c61c93dSmrg ;; 6744c61c93dSmrg harris) 6754c61c93dSmrg basic_machine=m88k-harris 6764c61c93dSmrg os=-sysv3 6774c61c93dSmrg ;; 6784c61c93dSmrg hp300-*) 6794c61c93dSmrg basic_machine=m68k-hp 6804c61c93dSmrg ;; 6814c61c93dSmrg hp300bsd) 6824c61c93dSmrg basic_machine=m68k-hp 6834c61c93dSmrg os=-bsd 6844c61c93dSmrg ;; 6854c61c93dSmrg hp300hpux) 6864c61c93dSmrg basic_machine=m68k-hp 6874c61c93dSmrg os=-hpux 6884c61c93dSmrg ;; 6894c61c93dSmrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 6904c61c93dSmrg basic_machine=hppa1.0-hp 6914c61c93dSmrg ;; 6924c61c93dSmrg hp9k2[0-9][0-9] | hp9k31[0-9]) 6934c61c93dSmrg basic_machine=m68000-hp 6944c61c93dSmrg ;; 6954c61c93dSmrg hp9k3[2-9][0-9]) 6964c61c93dSmrg basic_machine=m68k-hp 6974c61c93dSmrg ;; 6984c61c93dSmrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 6994c61c93dSmrg basic_machine=hppa1.0-hp 7004c61c93dSmrg ;; 7014c61c93dSmrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 7024c61c93dSmrg basic_machine=hppa1.1-hp 7034c61c93dSmrg ;; 7044c61c93dSmrg hp9k78[0-9] | hp78[0-9]) 7054c61c93dSmrg # FIXME: really hppa2.0-hp 7064c61c93dSmrg basic_machine=hppa1.1-hp 7074c61c93dSmrg ;; 7084c61c93dSmrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 7094c61c93dSmrg # FIXME: really hppa2.0-hp 7104c61c93dSmrg basic_machine=hppa1.1-hp 7114c61c93dSmrg ;; 7124c61c93dSmrg hp9k8[0-9][13679] | hp8[0-9][13679]) 7134c61c93dSmrg basic_machine=hppa1.1-hp 7144c61c93dSmrg ;; 7154c61c93dSmrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 7164c61c93dSmrg basic_machine=hppa1.0-hp 7174c61c93dSmrg ;; 7184c61c93dSmrg hppa-next) 7194c61c93dSmrg os=-nextstep3 7204c61c93dSmrg ;; 7214c61c93dSmrg hppaosf) 7224c61c93dSmrg basic_machine=hppa1.1-hp 7234c61c93dSmrg os=-osf 7244c61c93dSmrg ;; 7254c61c93dSmrg hppro) 7264c61c93dSmrg basic_machine=hppa1.1-hp 7274c61c93dSmrg os=-proelf 7284c61c93dSmrg ;; 7294c61c93dSmrg i370-ibm* | ibm*) 7304c61c93dSmrg basic_machine=i370-ibm 7314c61c93dSmrg ;; 7324c61c93dSmrg i*86v32) 7334c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7344c61c93dSmrg os=-sysv32 7354c61c93dSmrg ;; 7364c61c93dSmrg i*86v4*) 7374c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7384c61c93dSmrg os=-sysv4 7394c61c93dSmrg ;; 7404c61c93dSmrg i*86v) 7414c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7424c61c93dSmrg os=-sysv 7434c61c93dSmrg ;; 7444c61c93dSmrg i*86sol2) 7454c61c93dSmrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7464c61c93dSmrg os=-solaris2 7474c61c93dSmrg ;; 7484c61c93dSmrg i386mach) 7494c61c93dSmrg basic_machine=i386-mach 7504c61c93dSmrg os=-mach 7514c61c93dSmrg ;; 7524c61c93dSmrg i386-vsta | vsta) 7534c61c93dSmrg basic_machine=i386-unknown 7544c61c93dSmrg os=-vsta 7554c61c93dSmrg ;; 7564c61c93dSmrg iris | iris4d) 7574c61c93dSmrg basic_machine=mips-sgi 7584c61c93dSmrg case $os in 7594c61c93dSmrg -irix*) 7604c61c93dSmrg ;; 7614c61c93dSmrg *) 7624c61c93dSmrg os=-irix4 7634c61c93dSmrg ;; 7644c61c93dSmrg esac 7654c61c93dSmrg ;; 7664c61c93dSmrg isi68 | isi) 7674c61c93dSmrg basic_machine=m68k-isi 7684c61c93dSmrg os=-sysv 7694c61c93dSmrg ;; 7704c61c93dSmrg m68knommu) 7714c61c93dSmrg basic_machine=m68k-unknown 7724c61c93dSmrg os=-linux 7734c61c93dSmrg ;; 7744c61c93dSmrg m68knommu-*) 7754c61c93dSmrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 7764c61c93dSmrg os=-linux 7774c61c93dSmrg ;; 7784c61c93dSmrg m88k-omron*) 7794c61c93dSmrg basic_machine=m88k-omron 7804c61c93dSmrg ;; 7814c61c93dSmrg magnum | m3230) 7824c61c93dSmrg basic_machine=mips-mips 7834c61c93dSmrg os=-sysv 7844c61c93dSmrg ;; 7854c61c93dSmrg merlin) 7864c61c93dSmrg basic_machine=ns32k-utek 7874c61c93dSmrg os=-sysv 7884c61c93dSmrg ;; 7891c80d5b0Smrg microblaze*) 790d7ffce2aSmrg basic_machine=microblaze-xilinx 791d7ffce2aSmrg ;; 7921c80d5b0Smrg mingw64) 7931c80d5b0Smrg basic_machine=x86_64-pc 7941c80d5b0Smrg os=-mingw64 7951c80d5b0Smrg ;; 7964c61c93dSmrg mingw32) 7974c61c93dSmrg basic_machine=i386-pc 7984c61c93dSmrg os=-mingw32 7994c61c93dSmrg ;; 8004c61c93dSmrg mingw32ce) 8014c61c93dSmrg basic_machine=arm-unknown 8024c61c93dSmrg os=-mingw32ce 8034c61c93dSmrg ;; 8044c61c93dSmrg miniframe) 8054c61c93dSmrg basic_machine=m68000-convergent 8064c61c93dSmrg ;; 8074c61c93dSmrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 8084c61c93dSmrg basic_machine=m68k-atari 8094c61c93dSmrg os=-mint 8104c61c93dSmrg ;; 8114c61c93dSmrg mips3*-*) 8124c61c93dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 8134c61c93dSmrg ;; 8144c61c93dSmrg mips3*) 8154c61c93dSmrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 8164c61c93dSmrg ;; 8174c61c93dSmrg monitor) 8184c61c93dSmrg basic_machine=m68k-rom68k 8194c61c93dSmrg os=-coff 8204c61c93dSmrg ;; 8214c61c93dSmrg morphos) 8224c61c93dSmrg basic_machine=powerpc-unknown 8234c61c93dSmrg os=-morphos 8244c61c93dSmrg ;; 8254c61c93dSmrg msdos) 8264c61c93dSmrg basic_machine=i386-pc 8274c61c93dSmrg os=-msdos 8284c61c93dSmrg ;; 8294c61c93dSmrg ms1-*) 8304c61c93dSmrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 8314c61c93dSmrg ;; 8321c80d5b0Smrg msys) 8331c80d5b0Smrg basic_machine=i386-pc 8341c80d5b0Smrg os=-msys 8351c80d5b0Smrg ;; 8364c61c93dSmrg mvs) 8374c61c93dSmrg basic_machine=i370-ibm 8384c61c93dSmrg os=-mvs 8394c61c93dSmrg ;; 8401c80d5b0Smrg nacl) 8411c80d5b0Smrg basic_machine=le32-unknown 8421c80d5b0Smrg os=-nacl 8431c80d5b0Smrg ;; 8444c61c93dSmrg ncr3000) 8454c61c93dSmrg basic_machine=i486-ncr 8464c61c93dSmrg os=-sysv4 8474c61c93dSmrg ;; 8484c61c93dSmrg netbsd386) 8494c61c93dSmrg basic_machine=i386-unknown 8504c61c93dSmrg os=-netbsd 8514c61c93dSmrg ;; 8524c61c93dSmrg netwinder) 8534c61c93dSmrg basic_machine=armv4l-rebel 8544c61c93dSmrg os=-linux 8554c61c93dSmrg ;; 8564c61c93dSmrg news | news700 | news800 | news900) 8574c61c93dSmrg basic_machine=m68k-sony 8584c61c93dSmrg os=-newsos 8594c61c93dSmrg ;; 8604c61c93dSmrg news1000) 8614c61c93dSmrg basic_machine=m68030-sony 8624c61c93dSmrg os=-newsos 8634c61c93dSmrg ;; 8644c61c93dSmrg news-3600 | risc-news) 8654c61c93dSmrg basic_machine=mips-sony 8664c61c93dSmrg os=-newsos 8674c61c93dSmrg ;; 8684c61c93dSmrg necv70) 8694c61c93dSmrg basic_machine=v70-nec 8704c61c93dSmrg os=-sysv 8714c61c93dSmrg ;; 8724c61c93dSmrg next | m*-next ) 8734c61c93dSmrg basic_machine=m68k-next 8744c61c93dSmrg case $os in 8754c61c93dSmrg -nextstep* ) 8764c61c93dSmrg ;; 8774c61c93dSmrg -ns2*) 8784c61c93dSmrg os=-nextstep2 8794c61c93dSmrg ;; 8804c61c93dSmrg *) 8814c61c93dSmrg os=-nextstep3 8824c61c93dSmrg ;; 8834c61c93dSmrg esac 8844c61c93dSmrg ;; 8854c61c93dSmrg nh3000) 8864c61c93dSmrg basic_machine=m68k-harris 8874c61c93dSmrg os=-cxux 8884c61c93dSmrg ;; 8894c61c93dSmrg nh[45]000) 8904c61c93dSmrg basic_machine=m88k-harris 8914c61c93dSmrg os=-cxux 8924c61c93dSmrg ;; 8934c61c93dSmrg nindy960) 8944c61c93dSmrg basic_machine=i960-intel 8954c61c93dSmrg os=-nindy 8964c61c93dSmrg ;; 8974c61c93dSmrg mon960) 8984c61c93dSmrg basic_machine=i960-intel 8994c61c93dSmrg os=-mon960 9004c61c93dSmrg ;; 9014c61c93dSmrg nonstopux) 9024c61c93dSmrg basic_machine=mips-compaq 9034c61c93dSmrg os=-nonstopux 9044c61c93dSmrg ;; 9054c61c93dSmrg np1) 9064c61c93dSmrg basic_machine=np1-gould 9074c61c93dSmrg ;; 9081c80d5b0Smrg neo-tandem) 909d7ffce2aSmrg basic_machine=neo-tandem 910d7ffce2aSmrg ;; 9111c80d5b0Smrg nse-tandem) 912d7ffce2aSmrg basic_machine=nse-tandem 913d7ffce2aSmrg ;; 9144c61c93dSmrg nsr-tandem) 9154c61c93dSmrg basic_machine=nsr-tandem 9164c61c93dSmrg ;; 9174c61c93dSmrg op50n-* | op60c-*) 9184c61c93dSmrg basic_machine=hppa1.1-oki 9194c61c93dSmrg os=-proelf 9204c61c93dSmrg ;; 9214c61c93dSmrg openrisc | openrisc-*) 9224c61c93dSmrg basic_machine=or32-unknown 9234c61c93dSmrg ;; 9244c61c93dSmrg os400) 9254c61c93dSmrg basic_machine=powerpc-ibm 9264c61c93dSmrg os=-os400 9274c61c93dSmrg ;; 9284c61c93dSmrg OSE68000 | ose68000) 9294c61c93dSmrg basic_machine=m68000-ericsson 9304c61c93dSmrg os=-ose 9314c61c93dSmrg ;; 9324c61c93dSmrg os68k) 9334c61c93dSmrg basic_machine=m68k-none 9344c61c93dSmrg os=-os68k 9354c61c93dSmrg ;; 9364c61c93dSmrg pa-hitachi) 9374c61c93dSmrg basic_machine=hppa1.1-hitachi 9384c61c93dSmrg os=-hiuxwe2 9394c61c93dSmrg ;; 9404c61c93dSmrg paragon) 9414c61c93dSmrg basic_machine=i860-intel 9424c61c93dSmrg os=-osf 9434c61c93dSmrg ;; 9444c61c93dSmrg parisc) 9454c61c93dSmrg basic_machine=hppa-unknown 9464c61c93dSmrg os=-linux 9474c61c93dSmrg ;; 9484c61c93dSmrg parisc-*) 9494c61c93dSmrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 9504c61c93dSmrg os=-linux 9514c61c93dSmrg ;; 9524c61c93dSmrg pbd) 9534c61c93dSmrg basic_machine=sparc-tti 9544c61c93dSmrg ;; 9554c61c93dSmrg pbb) 9564c61c93dSmrg basic_machine=m68k-tti 9574c61c93dSmrg ;; 9584c61c93dSmrg pc532 | pc532-*) 9594c61c93dSmrg basic_machine=ns32k-pc532 9604c61c93dSmrg ;; 9614c61c93dSmrg pc98) 9624c61c93dSmrg basic_machine=i386-pc 9634c61c93dSmrg ;; 9644c61c93dSmrg pc98-*) 9654c61c93dSmrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 9664c61c93dSmrg ;; 9674c61c93dSmrg pentium | p5 | k5 | k6 | nexgen | viac3) 9684c61c93dSmrg basic_machine=i586-pc 9694c61c93dSmrg ;; 9704c61c93dSmrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 9714c61c93dSmrg basic_machine=i686-pc 9724c61c93dSmrg ;; 9734c61c93dSmrg pentiumii | pentium2 | pentiumiii | pentium3) 9744c61c93dSmrg basic_machine=i686-pc 9754c61c93dSmrg ;; 9764c61c93dSmrg pentium4) 9774c61c93dSmrg basic_machine=i786-pc 9784c61c93dSmrg ;; 9794c61c93dSmrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 9804c61c93dSmrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 9814c61c93dSmrg ;; 9824c61c93dSmrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 9834c61c93dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 9844c61c93dSmrg ;; 9854c61c93dSmrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 9864c61c93dSmrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 9874c61c93dSmrg ;; 9884c61c93dSmrg pentium4-*) 9894c61c93dSmrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 9904c61c93dSmrg ;; 9914c61c93dSmrg pn) 9924c61c93dSmrg basic_machine=pn-gould 9934c61c93dSmrg ;; 9944c61c93dSmrg power) basic_machine=power-ibm 9954c61c93dSmrg ;; 9961c80d5b0Smrg ppc | ppcbe) basic_machine=powerpc-unknown 9974c61c93dSmrg ;; 9981c80d5b0Smrg ppc-* | ppcbe-*) 9991c80d5b0Smrg basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 10004c61c93dSmrg ;; 10014c61c93dSmrg ppcle | powerpclittle | ppc-le | powerpc-little) 10024c61c93dSmrg basic_machine=powerpcle-unknown 10034c61c93dSmrg ;; 10044c61c93dSmrg ppcle-* | powerpclittle-*) 10054c61c93dSmrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 10064c61c93dSmrg ;; 10074c61c93dSmrg ppc64) basic_machine=powerpc64-unknown 10084c61c93dSmrg ;; 10094c61c93dSmrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 10104c61c93dSmrg ;; 10114c61c93dSmrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 10124c61c93dSmrg basic_machine=powerpc64le-unknown 10134c61c93dSmrg ;; 10144c61c93dSmrg ppc64le-* | powerpc64little-*) 10154c61c93dSmrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 10164c61c93dSmrg ;; 10174c61c93dSmrg ps2) 10184c61c93dSmrg basic_machine=i386-ibm 10194c61c93dSmrg ;; 10204c61c93dSmrg pw32) 10214c61c93dSmrg basic_machine=i586-unknown 10224c61c93dSmrg os=-pw32 10234c61c93dSmrg ;; 10241c80d5b0Smrg rdos | rdos64) 10251c80d5b0Smrg basic_machine=x86_64-pc 10261c80d5b0Smrg os=-rdos 10271c80d5b0Smrg ;; 10281c80d5b0Smrg rdos32) 10294c61c93dSmrg basic_machine=i386-pc 10304c61c93dSmrg os=-rdos 10314c61c93dSmrg ;; 10324c61c93dSmrg rom68k) 10334c61c93dSmrg basic_machine=m68k-rom68k 10344c61c93dSmrg os=-coff 10354c61c93dSmrg ;; 10364c61c93dSmrg rm[46]00) 10374c61c93dSmrg basic_machine=mips-siemens 10384c61c93dSmrg ;; 10394c61c93dSmrg rtpc | rtpc-*) 10404c61c93dSmrg basic_machine=romp-ibm 10414c61c93dSmrg ;; 10424c61c93dSmrg s390 | s390-*) 10434c61c93dSmrg basic_machine=s390-ibm 10444c61c93dSmrg ;; 10454c61c93dSmrg s390x | s390x-*) 10464c61c93dSmrg basic_machine=s390x-ibm 10474c61c93dSmrg ;; 10484c61c93dSmrg sa29200) 10494c61c93dSmrg basic_machine=a29k-amd 10504c61c93dSmrg os=-udi 10514c61c93dSmrg ;; 10524c61c93dSmrg sb1) 10534c61c93dSmrg basic_machine=mipsisa64sb1-unknown 10544c61c93dSmrg ;; 10554c61c93dSmrg sb1el) 10564c61c93dSmrg basic_machine=mipsisa64sb1el-unknown 10574c61c93dSmrg ;; 10584c61c93dSmrg sde) 10594c61c93dSmrg basic_machine=mipsisa32-sde 10604c61c93dSmrg os=-elf 10614c61c93dSmrg ;; 10624c61c93dSmrg sei) 10634c61c93dSmrg basic_machine=mips-sei 10644c61c93dSmrg os=-seiux 10654c61c93dSmrg ;; 10664c61c93dSmrg sequent) 10674c61c93dSmrg basic_machine=i386-sequent 10684c61c93dSmrg ;; 10694c61c93dSmrg sh) 10704c61c93dSmrg basic_machine=sh-hitachi 10714c61c93dSmrg os=-hms 10724c61c93dSmrg ;; 10734c61c93dSmrg sh5el) 10744c61c93dSmrg basic_machine=sh5le-unknown 10754c61c93dSmrg ;; 10764c61c93dSmrg sh64) 10774c61c93dSmrg basic_machine=sh64-unknown 10784c61c93dSmrg ;; 10794c61c93dSmrg sparclite-wrs | simso-wrs) 10804c61c93dSmrg basic_machine=sparclite-wrs 10814c61c93dSmrg os=-vxworks 10824c61c93dSmrg ;; 10834c61c93dSmrg sps7) 10844c61c93dSmrg basic_machine=m68k-bull 10854c61c93dSmrg os=-sysv2 10864c61c93dSmrg ;; 10874c61c93dSmrg spur) 10884c61c93dSmrg basic_machine=spur-unknown 10894c61c93dSmrg ;; 10904c61c93dSmrg st2000) 10914c61c93dSmrg basic_machine=m68k-tandem 10924c61c93dSmrg ;; 10934c61c93dSmrg stratus) 10944c61c93dSmrg basic_machine=i860-stratus 10954c61c93dSmrg os=-sysv4 10964c61c93dSmrg ;; 10971c80d5b0Smrg strongarm-* | thumb-*) 10981c80d5b0Smrg basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` 10991c80d5b0Smrg ;; 11004c61c93dSmrg sun2) 11014c61c93dSmrg basic_machine=m68000-sun 11024c61c93dSmrg ;; 11034c61c93dSmrg sun2os3) 11044c61c93dSmrg basic_machine=m68000-sun 11054c61c93dSmrg os=-sunos3 11064c61c93dSmrg ;; 11074c61c93dSmrg sun2os4) 11084c61c93dSmrg basic_machine=m68000-sun 11094c61c93dSmrg os=-sunos4 11104c61c93dSmrg ;; 11114c61c93dSmrg sun3os3) 11124c61c93dSmrg basic_machine=m68k-sun 11134c61c93dSmrg os=-sunos3 11144c61c93dSmrg ;; 11154c61c93dSmrg sun3os4) 11164c61c93dSmrg basic_machine=m68k-sun 11174c61c93dSmrg os=-sunos4 11184c61c93dSmrg ;; 11194c61c93dSmrg sun4os3) 11204c61c93dSmrg basic_machine=sparc-sun 11214c61c93dSmrg os=-sunos3 11224c61c93dSmrg ;; 11234c61c93dSmrg sun4os4) 11244c61c93dSmrg basic_machine=sparc-sun 11254c61c93dSmrg os=-sunos4 11264c61c93dSmrg ;; 11274c61c93dSmrg sun4sol2) 11284c61c93dSmrg basic_machine=sparc-sun 11294c61c93dSmrg os=-solaris2 11304c61c93dSmrg ;; 11314c61c93dSmrg sun3 | sun3-*) 11324c61c93dSmrg basic_machine=m68k-sun 11334c61c93dSmrg ;; 11344c61c93dSmrg sun4) 11354c61c93dSmrg basic_machine=sparc-sun 11364c61c93dSmrg ;; 11374c61c93dSmrg sun386 | sun386i | roadrunner) 11384c61c93dSmrg basic_machine=i386-sun 11394c61c93dSmrg ;; 11404c61c93dSmrg sv1) 11414c61c93dSmrg basic_machine=sv1-cray 11424c61c93dSmrg os=-unicos 11434c61c93dSmrg ;; 11444c61c93dSmrg symmetry) 11454c61c93dSmrg basic_machine=i386-sequent 11464c61c93dSmrg os=-dynix 11474c61c93dSmrg ;; 11484c61c93dSmrg t3e) 11494c61c93dSmrg basic_machine=alphaev5-cray 11504c61c93dSmrg os=-unicos 11514c61c93dSmrg ;; 11524c61c93dSmrg t90) 11534c61c93dSmrg basic_machine=t90-cray 11544c61c93dSmrg os=-unicos 11554c61c93dSmrg ;; 11564c61c93dSmrg tile*) 11571c80d5b0Smrg basic_machine=$basic_machine-unknown 11584c61c93dSmrg os=-linux-gnu 11594c61c93dSmrg ;; 11604c61c93dSmrg tx39) 11614c61c93dSmrg basic_machine=mipstx39-unknown 11624c61c93dSmrg ;; 11634c61c93dSmrg tx39el) 11644c61c93dSmrg basic_machine=mipstx39el-unknown 11654c61c93dSmrg ;; 11664c61c93dSmrg toad1) 11674c61c93dSmrg basic_machine=pdp10-xkl 11684c61c93dSmrg os=-tops20 11694c61c93dSmrg ;; 11704c61c93dSmrg tower | tower-32) 11714c61c93dSmrg basic_machine=m68k-ncr 11724c61c93dSmrg ;; 11734c61c93dSmrg tpf) 11744c61c93dSmrg basic_machine=s390x-ibm 11754c61c93dSmrg os=-tpf 11764c61c93dSmrg ;; 11774c61c93dSmrg udi29k) 11784c61c93dSmrg basic_machine=a29k-amd 11794c61c93dSmrg os=-udi 11804c61c93dSmrg ;; 11814c61c93dSmrg ultra3) 11824c61c93dSmrg basic_machine=a29k-nyu 11834c61c93dSmrg os=-sym1 11844c61c93dSmrg ;; 11854c61c93dSmrg v810 | necv810) 11864c61c93dSmrg basic_machine=v810-nec 11874c61c93dSmrg os=-none 11884c61c93dSmrg ;; 11894c61c93dSmrg vaxv) 11904c61c93dSmrg basic_machine=vax-dec 11914c61c93dSmrg os=-sysv 11924c61c93dSmrg ;; 11934c61c93dSmrg vms) 11944c61c93dSmrg basic_machine=vax-dec 11954c61c93dSmrg os=-vms 11964c61c93dSmrg ;; 11974c61c93dSmrg vpp*|vx|vx-*) 11984c61c93dSmrg basic_machine=f301-fujitsu 11994c61c93dSmrg ;; 12004c61c93dSmrg vxworks960) 12014c61c93dSmrg basic_machine=i960-wrs 12024c61c93dSmrg os=-vxworks 12034c61c93dSmrg ;; 12044c61c93dSmrg vxworks68) 12054c61c93dSmrg basic_machine=m68k-wrs 12064c61c93dSmrg os=-vxworks 12074c61c93dSmrg ;; 12084c61c93dSmrg vxworks29k) 12094c61c93dSmrg basic_machine=a29k-wrs 12104c61c93dSmrg os=-vxworks 12114c61c93dSmrg ;; 12124c61c93dSmrg w65*) 12134c61c93dSmrg basic_machine=w65-wdc 12144c61c93dSmrg os=-none 12154c61c93dSmrg ;; 12164c61c93dSmrg w89k-*) 12174c61c93dSmrg basic_machine=hppa1.1-winbond 12184c61c93dSmrg os=-proelf 12194c61c93dSmrg ;; 12204c61c93dSmrg xbox) 12214c61c93dSmrg basic_machine=i686-pc 12224c61c93dSmrg os=-mingw32 12234c61c93dSmrg ;; 12244c61c93dSmrg xps | xps100) 12254c61c93dSmrg basic_machine=xps100-honeywell 12264c61c93dSmrg ;; 12271c80d5b0Smrg xscale-* | xscalee[bl]-*) 12281c80d5b0Smrg basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` 12291c80d5b0Smrg ;; 12304c61c93dSmrg ymp) 12314c61c93dSmrg basic_machine=ymp-cray 12324c61c93dSmrg os=-unicos 12334c61c93dSmrg ;; 12344c61c93dSmrg z8k-*-coff) 12354c61c93dSmrg basic_machine=z8k-unknown 12364c61c93dSmrg os=-sim 12374c61c93dSmrg ;; 12384c61c93dSmrg z80-*-coff) 12394c61c93dSmrg basic_machine=z80-unknown 12404c61c93dSmrg os=-sim 12414c61c93dSmrg ;; 12424c61c93dSmrg none) 12434c61c93dSmrg basic_machine=none-none 12444c61c93dSmrg os=-none 12454c61c93dSmrg ;; 12464c61c93dSmrg 12474c61c93dSmrg# Here we handle the default manufacturer of certain CPU types. It is in 12484c61c93dSmrg# some cases the only manufacturer, in others, it is the most popular. 12494c61c93dSmrg w89k) 12504c61c93dSmrg basic_machine=hppa1.1-winbond 12514c61c93dSmrg ;; 12524c61c93dSmrg op50n) 12534c61c93dSmrg basic_machine=hppa1.1-oki 12544c61c93dSmrg ;; 12554c61c93dSmrg op60c) 12564c61c93dSmrg basic_machine=hppa1.1-oki 12574c61c93dSmrg ;; 12584c61c93dSmrg romp) 12594c61c93dSmrg basic_machine=romp-ibm 12604c61c93dSmrg ;; 12614c61c93dSmrg mmix) 12624c61c93dSmrg basic_machine=mmix-knuth 12634c61c93dSmrg ;; 12644c61c93dSmrg rs6000) 12654c61c93dSmrg basic_machine=rs6000-ibm 12664c61c93dSmrg ;; 12674c61c93dSmrg vax) 12684c61c93dSmrg basic_machine=vax-dec 12694c61c93dSmrg ;; 12704c61c93dSmrg pdp10) 12714c61c93dSmrg # there are many clones, so DEC is not a safe bet 12724c61c93dSmrg basic_machine=pdp10-unknown 12734c61c93dSmrg ;; 12744c61c93dSmrg pdp11) 12754c61c93dSmrg basic_machine=pdp11-dec 12764c61c93dSmrg ;; 12774c61c93dSmrg we32k) 12784c61c93dSmrg basic_machine=we32k-att 12794c61c93dSmrg ;; 12804c61c93dSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12814c61c93dSmrg basic_machine=sh-unknown 12824c61c93dSmrg ;; 12834c61c93dSmrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 12844c61c93dSmrg basic_machine=sparc-sun 12854c61c93dSmrg ;; 12864c61c93dSmrg cydra) 12874c61c93dSmrg basic_machine=cydra-cydrome 12884c61c93dSmrg ;; 12894c61c93dSmrg orion) 12904c61c93dSmrg basic_machine=orion-highlevel 12914c61c93dSmrg ;; 12924c61c93dSmrg orion105) 12934c61c93dSmrg basic_machine=clipper-highlevel 12944c61c93dSmrg ;; 12954c61c93dSmrg mac | mpw | mac-mpw) 12964c61c93dSmrg basic_machine=m68k-apple 12974c61c93dSmrg ;; 12984c61c93dSmrg pmac | pmac-mpw) 12994c61c93dSmrg basic_machine=powerpc-apple 13004c61c93dSmrg ;; 13014c61c93dSmrg *-unknown) 13024c61c93dSmrg # Make sure to match an already-canonicalized machine name. 13034c61c93dSmrg ;; 13044c61c93dSmrg *) 13054c61c93dSmrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 13064c61c93dSmrg exit 1 13074c61c93dSmrg ;; 13084c61c93dSmrgesac 13094c61c93dSmrg 13104c61c93dSmrg# Here we canonicalize certain aliases for manufacturers. 13114c61c93dSmrgcase $basic_machine in 13124c61c93dSmrg *-digital*) 13134c61c93dSmrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 13144c61c93dSmrg ;; 13154c61c93dSmrg *-commodore*) 13164c61c93dSmrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 13174c61c93dSmrg ;; 13184c61c93dSmrg *) 13194c61c93dSmrg ;; 13204c61c93dSmrgesac 13214c61c93dSmrg 13224c61c93dSmrg# Decode manufacturer-specific aliases for certain operating systems. 13234c61c93dSmrg 13244c61c93dSmrgif [ x"$os" != x"" ] 13254c61c93dSmrgthen 13264c61c93dSmrgcase $os in 13271c80d5b0Smrg # First match some system type aliases 13281c80d5b0Smrg # that might get confused with valid system types. 13294c61c93dSmrg # -solaris* is a basic system type, with this one exception. 13301c80d5b0Smrg -auroraux) 13311c80d5b0Smrg os=-auroraux 1332d7ffce2aSmrg ;; 13334c61c93dSmrg -solaris1 | -solaris1.*) 13344c61c93dSmrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 13354c61c93dSmrg ;; 13364c61c93dSmrg -solaris) 13374c61c93dSmrg os=-solaris2 13384c61c93dSmrg ;; 13394c61c93dSmrg -svr4*) 13404c61c93dSmrg os=-sysv4 13414c61c93dSmrg ;; 13424c61c93dSmrg -unixware*) 13434c61c93dSmrg os=-sysv4.2uw 13444c61c93dSmrg ;; 13454c61c93dSmrg -gnu/linux*) 13464c61c93dSmrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 13474c61c93dSmrg ;; 13484c61c93dSmrg # First accept the basic system types. 13494c61c93dSmrg # The portable systems comes first. 13504c61c93dSmrg # Each alternative MUST END IN A *, to match a version number. 13514c61c93dSmrg # -sysv* is not here because it comes later, after sysvr4. 13524c61c93dSmrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 1353d7ffce2aSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 1354d7ffce2aSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 13551c80d5b0Smrg | -sym* | -kopensolaris* | -plan9* \ 13564c61c93dSmrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 13574c61c93dSmrg | -aos* | -aros* \ 13584c61c93dSmrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13594c61c93dSmrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 13604c61c93dSmrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 13611c80d5b0Smrg | -bitrig* | -openbsd* | -solidbsd* \ 13624c61c93dSmrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13634c61c93dSmrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13644c61c93dSmrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13654c61c93dSmrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 13664c61c93dSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13671c80d5b0Smrg | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13681c80d5b0Smrg | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ 13691c80d5b0Smrg | -linux-newlib* | -linux-musl* | -linux-uclibc* \ 13704c61c93dSmrg | -uxpv* | -beos* | -mpeix* | -udk* \ 13714c61c93dSmrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 13724c61c93dSmrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13734c61c93dSmrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13744c61c93dSmrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13754c61c93dSmrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13764c61c93dSmrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 1377d7ffce2aSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 13784c61c93dSmrg # Remember, each alternative MUST END IN *, to match a version number. 13794c61c93dSmrg ;; 13804c61c93dSmrg -qnx*) 13814c61c93dSmrg case $basic_machine in 13824c61c93dSmrg x86-* | i*86-*) 13834c61c93dSmrg ;; 13844c61c93dSmrg *) 13854c61c93dSmrg os=-nto$os 13864c61c93dSmrg ;; 13874c61c93dSmrg esac 13884c61c93dSmrg ;; 13894c61c93dSmrg -nto-qnx*) 13904c61c93dSmrg ;; 13914c61c93dSmrg -nto*) 13924c61c93dSmrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 13934c61c93dSmrg ;; 13944c61c93dSmrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 13954c61c93dSmrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 13964c61c93dSmrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 13974c61c93dSmrg ;; 13984c61c93dSmrg -mac*) 13994c61c93dSmrg os=`echo $os | sed -e 's|mac|macos|'` 14004c61c93dSmrg ;; 14014c61c93dSmrg -linux-dietlibc) 14024c61c93dSmrg os=-linux-dietlibc 14034c61c93dSmrg ;; 14044c61c93dSmrg -linux*) 14054c61c93dSmrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 14064c61c93dSmrg ;; 14074c61c93dSmrg -sunos5*) 14084c61c93dSmrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 14094c61c93dSmrg ;; 14104c61c93dSmrg -sunos6*) 14114c61c93dSmrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 14124c61c93dSmrg ;; 14134c61c93dSmrg -opened*) 14144c61c93dSmrg os=-openedition 14154c61c93dSmrg ;; 14161c80d5b0Smrg -os400*) 14174c61c93dSmrg os=-os400 14184c61c93dSmrg ;; 14194c61c93dSmrg -wince*) 14204c61c93dSmrg os=-wince 14214c61c93dSmrg ;; 14224c61c93dSmrg -osfrose*) 14234c61c93dSmrg os=-osfrose 14244c61c93dSmrg ;; 14254c61c93dSmrg -osf*) 14264c61c93dSmrg os=-osf 14274c61c93dSmrg ;; 14284c61c93dSmrg -utek*) 14294c61c93dSmrg os=-bsd 14304c61c93dSmrg ;; 14314c61c93dSmrg -dynix*) 14324c61c93dSmrg os=-bsd 14334c61c93dSmrg ;; 14344c61c93dSmrg -acis*) 14354c61c93dSmrg os=-aos 14364c61c93dSmrg ;; 14374c61c93dSmrg -atheos*) 14384c61c93dSmrg os=-atheos 14394c61c93dSmrg ;; 14404c61c93dSmrg -syllable*) 14414c61c93dSmrg os=-syllable 14424c61c93dSmrg ;; 14434c61c93dSmrg -386bsd) 14444c61c93dSmrg os=-bsd 14454c61c93dSmrg ;; 14464c61c93dSmrg -ctix* | -uts*) 14474c61c93dSmrg os=-sysv 14484c61c93dSmrg ;; 14494c61c93dSmrg -nova*) 14504c61c93dSmrg os=-rtmk-nova 14514c61c93dSmrg ;; 14524c61c93dSmrg -ns2 ) 14534c61c93dSmrg os=-nextstep2 14544c61c93dSmrg ;; 14554c61c93dSmrg -nsk*) 14564c61c93dSmrg os=-nsk 14574c61c93dSmrg ;; 14584c61c93dSmrg # Preserve the version number of sinix5. 14594c61c93dSmrg -sinix5.*) 14604c61c93dSmrg os=`echo $os | sed -e 's|sinix|sysv|'` 14614c61c93dSmrg ;; 14624c61c93dSmrg -sinix*) 14634c61c93dSmrg os=-sysv4 14644c61c93dSmrg ;; 14651c80d5b0Smrg -tpf*) 14664c61c93dSmrg os=-tpf 14674c61c93dSmrg ;; 14684c61c93dSmrg -triton*) 14694c61c93dSmrg os=-sysv3 14704c61c93dSmrg ;; 14714c61c93dSmrg -oss*) 14724c61c93dSmrg os=-sysv3 14734c61c93dSmrg ;; 14744c61c93dSmrg -svr4) 14754c61c93dSmrg os=-sysv4 14764c61c93dSmrg ;; 14774c61c93dSmrg -svr3) 14784c61c93dSmrg os=-sysv3 14794c61c93dSmrg ;; 14804c61c93dSmrg -sysvr4) 14814c61c93dSmrg os=-sysv4 14824c61c93dSmrg ;; 14834c61c93dSmrg # This must come after -sysvr4. 14844c61c93dSmrg -sysv*) 14854c61c93dSmrg ;; 14864c61c93dSmrg -ose*) 14874c61c93dSmrg os=-ose 14884c61c93dSmrg ;; 14894c61c93dSmrg -es1800*) 14904c61c93dSmrg os=-ose 14914c61c93dSmrg ;; 14924c61c93dSmrg -xenix) 14934c61c93dSmrg os=-xenix 14944c61c93dSmrg ;; 14954c61c93dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 14964c61c93dSmrg os=-mint 14974c61c93dSmrg ;; 14984c61c93dSmrg -aros*) 14994c61c93dSmrg os=-aros 15004c61c93dSmrg ;; 15014c61c93dSmrg -zvmoe) 15024c61c93dSmrg os=-zvmoe 15034c61c93dSmrg ;; 15044c61c93dSmrg -dicos*) 15054c61c93dSmrg os=-dicos 15064c61c93dSmrg ;; 15071c80d5b0Smrg -nacl*) 15081c80d5b0Smrg ;; 15094c61c93dSmrg -none) 15104c61c93dSmrg ;; 15114c61c93dSmrg *) 15124c61c93dSmrg # Get rid of the `-' at the beginning of $os. 15134c61c93dSmrg os=`echo $os | sed 's/[^-]*-//'` 15144c61c93dSmrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 15154c61c93dSmrg exit 1 15164c61c93dSmrg ;; 15174c61c93dSmrgesac 15184c61c93dSmrgelse 15194c61c93dSmrg 15204c61c93dSmrg# Here we handle the default operating systems that come with various machines. 15214c61c93dSmrg# The value should be what the vendor currently ships out the door with their 15224c61c93dSmrg# machine or put another way, the most popular os provided with the machine. 15234c61c93dSmrg 15244c61c93dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 15254c61c93dSmrg# "-sun"), then you have to tell the case statement up towards the top 15264c61c93dSmrg# that MANUFACTURER isn't an operating system. Otherwise, code above 15274c61c93dSmrg# will signal an error saying that MANUFACTURER isn't an operating 15284c61c93dSmrg# system, and we'll never get to this point. 15294c61c93dSmrg 15304c61c93dSmrgcase $basic_machine in 15311c80d5b0Smrg score-*) 15324c61c93dSmrg os=-elf 15334c61c93dSmrg ;; 15341c80d5b0Smrg spu-*) 15354c61c93dSmrg os=-elf 15364c61c93dSmrg ;; 15374c61c93dSmrg *-acorn) 15384c61c93dSmrg os=-riscix1.2 15394c61c93dSmrg ;; 15404c61c93dSmrg arm*-rebel) 15414c61c93dSmrg os=-linux 15424c61c93dSmrg ;; 15434c61c93dSmrg arm*-semi) 15444c61c93dSmrg os=-aout 15454c61c93dSmrg ;; 15461c80d5b0Smrg c4x-* | tic4x-*) 15471c80d5b0Smrg os=-coff 15481c80d5b0Smrg ;; 15491c80d5b0Smrg hexagon-*) 15501c80d5b0Smrg os=-elf 15514c61c93dSmrg ;; 1552d7ffce2aSmrg tic54x-*) 1553d7ffce2aSmrg os=-coff 1554d7ffce2aSmrg ;; 1555d7ffce2aSmrg tic55x-*) 1556d7ffce2aSmrg os=-coff 1557d7ffce2aSmrg ;; 1558d7ffce2aSmrg tic6x-*) 1559d7ffce2aSmrg os=-coff 1560d7ffce2aSmrg ;; 15614c61c93dSmrg # This must come before the *-dec entry. 15624c61c93dSmrg pdp10-*) 15634c61c93dSmrg os=-tops20 15644c61c93dSmrg ;; 15654c61c93dSmrg pdp11-*) 15664c61c93dSmrg os=-none 15674c61c93dSmrg ;; 15684c61c93dSmrg *-dec | vax-*) 15694c61c93dSmrg os=-ultrix4.2 15704c61c93dSmrg ;; 15714c61c93dSmrg m68*-apollo) 15724c61c93dSmrg os=-domain 15734c61c93dSmrg ;; 15744c61c93dSmrg i386-sun) 15754c61c93dSmrg os=-sunos4.0.2 15764c61c93dSmrg ;; 15774c61c93dSmrg m68000-sun) 15784c61c93dSmrg os=-sunos3 15794c61c93dSmrg ;; 15804c61c93dSmrg m68*-cisco) 15814c61c93dSmrg os=-aout 15824c61c93dSmrg ;; 15831c80d5b0Smrg mep-*) 15844c61c93dSmrg os=-elf 15854c61c93dSmrg ;; 15864c61c93dSmrg mips*-cisco) 15874c61c93dSmrg os=-elf 15884c61c93dSmrg ;; 15894c61c93dSmrg mips*-*) 15904c61c93dSmrg os=-elf 15914c61c93dSmrg ;; 15921c80d5b0Smrg or1k-*) 15931c80d5b0Smrg os=-elf 15941c80d5b0Smrg ;; 15954c61c93dSmrg or32-*) 15964c61c93dSmrg os=-coff 15974c61c93dSmrg ;; 15984c61c93dSmrg *-tti) # must be before sparc entry or we get the wrong os. 15994c61c93dSmrg os=-sysv3 16004c61c93dSmrg ;; 16014c61c93dSmrg sparc-* | *-sun) 16024c61c93dSmrg os=-sunos4.1.1 16034c61c93dSmrg ;; 16044c61c93dSmrg *-be) 16054c61c93dSmrg os=-beos 16064c61c93dSmrg ;; 16074c61c93dSmrg *-haiku) 16084c61c93dSmrg os=-haiku 16094c61c93dSmrg ;; 16104c61c93dSmrg *-ibm) 16114c61c93dSmrg os=-aix 16124c61c93dSmrg ;; 16131c80d5b0Smrg *-knuth) 16144c61c93dSmrg os=-mmixware 16154c61c93dSmrg ;; 16164c61c93dSmrg *-wec) 16174c61c93dSmrg os=-proelf 16184c61c93dSmrg ;; 16194c61c93dSmrg *-winbond) 16204c61c93dSmrg os=-proelf 16214c61c93dSmrg ;; 16224c61c93dSmrg *-oki) 16234c61c93dSmrg os=-proelf 16244c61c93dSmrg ;; 16254c61c93dSmrg *-hp) 16264c61c93dSmrg os=-hpux 16274c61c93dSmrg ;; 16284c61c93dSmrg *-hitachi) 16294c61c93dSmrg os=-hiux 16304c61c93dSmrg ;; 16314c61c93dSmrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 16324c61c93dSmrg os=-sysv 16334c61c93dSmrg ;; 16344c61c93dSmrg *-cbm) 16354c61c93dSmrg os=-amigaos 16364c61c93dSmrg ;; 16374c61c93dSmrg *-dg) 16384c61c93dSmrg os=-dgux 16394c61c93dSmrg ;; 16404c61c93dSmrg *-dolphin) 16414c61c93dSmrg os=-sysv3 16424c61c93dSmrg ;; 16434c61c93dSmrg m68k-ccur) 16444c61c93dSmrg os=-rtu 16454c61c93dSmrg ;; 16464c61c93dSmrg m88k-omron*) 16474c61c93dSmrg os=-luna 16484c61c93dSmrg ;; 16494c61c93dSmrg *-next ) 16504c61c93dSmrg os=-nextstep 16514c61c93dSmrg ;; 16524c61c93dSmrg *-sequent) 16534c61c93dSmrg os=-ptx 16544c61c93dSmrg ;; 16554c61c93dSmrg *-crds) 16564c61c93dSmrg os=-unos 16574c61c93dSmrg ;; 16584c61c93dSmrg *-ns) 16594c61c93dSmrg os=-genix 16604c61c93dSmrg ;; 16614c61c93dSmrg i370-*) 16624c61c93dSmrg os=-mvs 16634c61c93dSmrg ;; 16644c61c93dSmrg *-next) 16654c61c93dSmrg os=-nextstep3 16664c61c93dSmrg ;; 16674c61c93dSmrg *-gould) 16684c61c93dSmrg os=-sysv 16694c61c93dSmrg ;; 16704c61c93dSmrg *-highlevel) 16714c61c93dSmrg os=-bsd 16724c61c93dSmrg ;; 16734c61c93dSmrg *-encore) 16744c61c93dSmrg os=-bsd 16754c61c93dSmrg ;; 16764c61c93dSmrg *-sgi) 16774c61c93dSmrg os=-irix 16784c61c93dSmrg ;; 16794c61c93dSmrg *-siemens) 16804c61c93dSmrg os=-sysv4 16814c61c93dSmrg ;; 16824c61c93dSmrg *-masscomp) 16834c61c93dSmrg os=-rtu 16844c61c93dSmrg ;; 16854c61c93dSmrg f30[01]-fujitsu | f700-fujitsu) 16864c61c93dSmrg os=-uxpv 16874c61c93dSmrg ;; 16884c61c93dSmrg *-rom68k) 16894c61c93dSmrg os=-coff 16904c61c93dSmrg ;; 16914c61c93dSmrg *-*bug) 16924c61c93dSmrg os=-coff 16934c61c93dSmrg ;; 16944c61c93dSmrg *-apple) 16954c61c93dSmrg os=-macos 16964c61c93dSmrg ;; 16974c61c93dSmrg *-atari*) 16984c61c93dSmrg os=-mint 16994c61c93dSmrg ;; 17004c61c93dSmrg *) 17014c61c93dSmrg os=-none 17024c61c93dSmrg ;; 17034c61c93dSmrgesac 17044c61c93dSmrgfi 17054c61c93dSmrg 17064c61c93dSmrg# Here we handle the case where we know the os, and the CPU type, but not the 17074c61c93dSmrg# manufacturer. We pick the logical manufacturer. 17084c61c93dSmrgvendor=unknown 17094c61c93dSmrgcase $basic_machine in 17104c61c93dSmrg *-unknown) 17114c61c93dSmrg case $os in 17124c61c93dSmrg -riscix*) 17134c61c93dSmrg vendor=acorn 17144c61c93dSmrg ;; 17154c61c93dSmrg -sunos*) 17164c61c93dSmrg vendor=sun 17174c61c93dSmrg ;; 1718d7ffce2aSmrg -cnk*|-aix*) 17194c61c93dSmrg vendor=ibm 17204c61c93dSmrg ;; 17214c61c93dSmrg -beos*) 17224c61c93dSmrg vendor=be 17234c61c93dSmrg ;; 17244c61c93dSmrg -hpux*) 17254c61c93dSmrg vendor=hp 17264c61c93dSmrg ;; 17274c61c93dSmrg -mpeix*) 17284c61c93dSmrg vendor=hp 17294c61c93dSmrg ;; 17304c61c93dSmrg -hiux*) 17314c61c93dSmrg vendor=hitachi 17324c61c93dSmrg ;; 17334c61c93dSmrg -unos*) 17344c61c93dSmrg vendor=crds 17354c61c93dSmrg ;; 17364c61c93dSmrg -dgux*) 17374c61c93dSmrg vendor=dg 17384c61c93dSmrg ;; 17394c61c93dSmrg -luna*) 17404c61c93dSmrg vendor=omron 17414c61c93dSmrg ;; 17424c61c93dSmrg -genix*) 17434c61c93dSmrg vendor=ns 17444c61c93dSmrg ;; 17454c61c93dSmrg -mvs* | -opened*) 17464c61c93dSmrg vendor=ibm 17474c61c93dSmrg ;; 17484c61c93dSmrg -os400*) 17494c61c93dSmrg vendor=ibm 17504c61c93dSmrg ;; 17514c61c93dSmrg -ptx*) 17524c61c93dSmrg vendor=sequent 17534c61c93dSmrg ;; 17544c61c93dSmrg -tpf*) 17554c61c93dSmrg vendor=ibm 17564c61c93dSmrg ;; 17574c61c93dSmrg -vxsim* | -vxworks* | -windiss*) 17584c61c93dSmrg vendor=wrs 17594c61c93dSmrg ;; 17604c61c93dSmrg -aux*) 17614c61c93dSmrg vendor=apple 17624c61c93dSmrg ;; 17634c61c93dSmrg -hms*) 17644c61c93dSmrg vendor=hitachi 17654c61c93dSmrg ;; 17664c61c93dSmrg -mpw* | -macos*) 17674c61c93dSmrg vendor=apple 17684c61c93dSmrg ;; 17694c61c93dSmrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17704c61c93dSmrg vendor=atari 17714c61c93dSmrg ;; 17724c61c93dSmrg -vos*) 17734c61c93dSmrg vendor=stratus 17744c61c93dSmrg ;; 17754c61c93dSmrg esac 17764c61c93dSmrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 17774c61c93dSmrg ;; 17784c61c93dSmrgesac 17794c61c93dSmrg 17804c61c93dSmrgecho $basic_machine$os 17814c61c93dSmrgexit 17824c61c93dSmrg 17834c61c93dSmrg# Local variables: 17844c61c93dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp) 17854c61c93dSmrg# time-stamp-start: "timestamp='" 17864c61c93dSmrg# time-stamp-format: "%:y-%02m-%02d" 17874c61c93dSmrg# time-stamp-end: "'" 17884c61c93dSmrg# End: 1789