config.sub revision 7aa89044
14b0ead49Smrg#! /bin/sh 24b0ead49Smrg# Configuration validation subroutine script. 34b0ead49Smrg# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 47aa89044Smrg# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 552b01e16Smrg# Free Software Foundation, Inc. 64b0ead49Smrg 77aa89044Smrgtimestamp='2010-09-11' 84b0ead49Smrg 94b0ead49Smrg# This file is (in principle) common to ALL GNU software. 104b0ead49Smrg# The presence of a machine in this file suggests that SOME GNU software 114b0ead49Smrg# can handle that machine. It does not imply ALL GNU software can. 124b0ead49Smrg# 134b0ead49Smrg# This file is free software; you can redistribute it and/or modify 144b0ead49Smrg# it under the terms of the GNU General Public License as published by 154b0ead49Smrg# the Free Software Foundation; either version 2 of the License, or 164b0ead49Smrg# (at your option) any later version. 174b0ead49Smrg# 184b0ead49Smrg# This program is distributed in the hope that it will be useful, 194b0ead49Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of 204b0ead49Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 214b0ead49Smrg# GNU General Public License for more details. 224b0ead49Smrg# 234b0ead49Smrg# You should have received a copy of the GNU General Public License 244b0ead49Smrg# along with this program; if not, write to the Free Software 254b0ead49Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 264b0ead49Smrg# 02110-1301, USA. 274b0ead49Smrg# 284b0ead49Smrg# As a special exception to the GNU General Public License, if you 294b0ead49Smrg# distribute this file as part of a program that contains a 304b0ead49Smrg# configuration script generated by Autoconf, you may include it under 314b0ead49Smrg# the same distribution terms that you use for the rest of that program. 324b0ead49Smrg 334b0ead49Smrg 344b0ead49Smrg# Please send patches to <config-patches@gnu.org>. Submit a context 3549dc963fSmrg# diff and a properly formatted GNU ChangeLog entry. 364b0ead49Smrg# 374b0ead49Smrg# Configuration subroutine to validate and canonicalize a configuration type. 384b0ead49Smrg# Supply the specified configuration type as an argument. 394b0ead49Smrg# If it is invalid, we print an error message on stderr and exit with code 1. 404b0ead49Smrg# Otherwise, we print the canonical config type on stdout and succeed. 414b0ead49Smrg 4249dc963fSmrg# You can get the latest version of this script from: 4349dc963fSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD 4449dc963fSmrg 454b0ead49Smrg# This file is supposed to be the same for all GNU packages 464b0ead49Smrg# and recognize all the CPU types, system types and aliases 474b0ead49Smrg# that are meaningful with *any* GNU software. 484b0ead49Smrg# Each package is responsible for reporting which valid configurations 494b0ead49Smrg# it does not support. The user should be able to distinguish 504b0ead49Smrg# a failure to support a valid configuration from a meaningless 514b0ead49Smrg# configuration. 524b0ead49Smrg 534b0ead49Smrg# The goal of this file is to map all the various variations of a given 544b0ead49Smrg# machine specification into a single specification in the form: 554b0ead49Smrg# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM 564b0ead49Smrg# or in some cases, the newer four-part form: 574b0ead49Smrg# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM 584b0ead49Smrg# It is wrong to echo any other type of specification. 594b0ead49Smrg 604b0ead49Smrgme=`echo "$0" | sed -e 's,.*/,,'` 614b0ead49Smrg 624b0ead49Smrgusage="\ 634b0ead49SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS 644b0ead49Smrg $0 [OPTION] ALIAS 654b0ead49Smrg 664b0ead49SmrgCanonicalize a configuration name. 674b0ead49Smrg 684b0ead49SmrgOperation modes: 694b0ead49Smrg -h, --help print this help, then exit 704b0ead49Smrg -t, --time-stamp print date of last modification, then exit 714b0ead49Smrg -v, --version print version number, then exit 724b0ead49Smrg 734b0ead49SmrgReport bugs and patches to <config-patches@gnu.org>." 744b0ead49Smrg 754b0ead49Smrgversion="\ 764b0ead49SmrgGNU config.sub ($timestamp) 774b0ead49Smrg 787aa89044SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 797aa89044Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free 807aa89044SmrgSoftware Foundation, Inc. 814b0ead49Smrg 824b0ead49SmrgThis is free software; see the source for copying conditions. There is NO 834b0ead49Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." 844b0ead49Smrg 854b0ead49Smrghelp=" 864b0ead49SmrgTry \`$me --help' for more information." 874b0ead49Smrg 884b0ead49Smrg# Parse command line 894b0ead49Smrgwhile test $# -gt 0 ; do 904b0ead49Smrg case $1 in 914b0ead49Smrg --time-stamp | --time* | -t ) 924b0ead49Smrg echo "$timestamp" ; exit ;; 934b0ead49Smrg --version | -v ) 944b0ead49Smrg echo "$version" ; exit ;; 954b0ead49Smrg --help | --h* | -h ) 964b0ead49Smrg echo "$usage"; exit ;; 974b0ead49Smrg -- ) # Stop option processing 984b0ead49Smrg shift; break ;; 994b0ead49Smrg - ) # Use stdin as input. 1004b0ead49Smrg break ;; 1014b0ead49Smrg -* ) 1024b0ead49Smrg echo "$me: invalid option $1$help" 1034b0ead49Smrg exit 1 ;; 1044b0ead49Smrg 1054b0ead49Smrg *local*) 1064b0ead49Smrg # First pass through any local machine types. 1074b0ead49Smrg echo $1 1084b0ead49Smrg exit ;; 1094b0ead49Smrg 1104b0ead49Smrg * ) 1114b0ead49Smrg break ;; 1124b0ead49Smrg esac 1134b0ead49Smrgdone 1144b0ead49Smrg 1154b0ead49Smrgcase $# in 1164b0ead49Smrg 0) echo "$me: missing argument$help" >&2 1174b0ead49Smrg exit 1;; 1184b0ead49Smrg 1) ;; 1194b0ead49Smrg *) echo "$me: too many arguments$help" >&2 1204b0ead49Smrg exit 1;; 1214b0ead49Smrgesac 1224b0ead49Smrg 1234b0ead49Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). 1244b0ead49Smrg# Here we must recognize all the valid KERNEL-OS combinations. 1254b0ead49Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` 1264b0ead49Smrgcase $maybe_os in 1277aa89044Smrg nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 1287aa89044Smrg linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 1297aa89044Smrg knetbsd*-gnu* | netbsd*-gnu* | \ 13049dc963fSmrg kopensolaris*-gnu* | \ 13152b01e16Smrg storm-chaos* | os2-emx* | rtmk-nova*) 1324b0ead49Smrg os=-$maybe_os 1334b0ead49Smrg basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` 1344b0ead49Smrg ;; 1354b0ead49Smrg *) 1364b0ead49Smrg basic_machine=`echo $1 | sed 's/-[^-]*$//'` 1374b0ead49Smrg if [ $basic_machine != $1 ] 1384b0ead49Smrg then os=`echo $1 | sed 's/.*-/-/'` 1394b0ead49Smrg else os=; fi 1404b0ead49Smrg ;; 1414b0ead49Smrgesac 1424b0ead49Smrg 1434b0ead49Smrg### Let's recognize common machines as not being operating systems so 1444b0ead49Smrg### that things like config.sub decstation-3100 work. We also 1454b0ead49Smrg### recognize some manufacturers as not being operating systems, so we 1464b0ead49Smrg### can provide default operating systems below. 1474b0ead49Smrgcase $os in 1484b0ead49Smrg -sun*os*) 1494b0ead49Smrg # Prevent following clause from handling this invalid input. 1504b0ead49Smrg ;; 1514b0ead49Smrg -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ 1524b0ead49Smrg -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ 1534b0ead49Smrg -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ 1544b0ead49Smrg -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ 1554b0ead49Smrg -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ 1564b0ead49Smrg -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ 15749dc963fSmrg -apple | -axis | -knuth | -cray | -microblaze) 1584b0ead49Smrg os= 1594b0ead49Smrg basic_machine=$1 1604b0ead49Smrg ;; 16149dc963fSmrg -bluegene*) 16249dc963fSmrg os=-cnk 16349dc963fSmrg ;; 1644b0ead49Smrg -sim | -cisco | -oki | -wec | -winbond) 1654b0ead49Smrg os= 1664b0ead49Smrg basic_machine=$1 1674b0ead49Smrg ;; 1684b0ead49Smrg -scout) 1694b0ead49Smrg ;; 1704b0ead49Smrg -wrs) 1714b0ead49Smrg os=-vxworks 1724b0ead49Smrg basic_machine=$1 1734b0ead49Smrg ;; 1744b0ead49Smrg -chorusos*) 1754b0ead49Smrg os=-chorusos 1764b0ead49Smrg basic_machine=$1 1774b0ead49Smrg ;; 1784b0ead49Smrg -chorusrdb) 1794b0ead49Smrg os=-chorusrdb 1804b0ead49Smrg basic_machine=$1 1814b0ead49Smrg ;; 1824b0ead49Smrg -hiux*) 1834b0ead49Smrg os=-hiuxwe2 1844b0ead49Smrg ;; 18552b01e16Smrg -sco6) 18652b01e16Smrg os=-sco5v6 18752b01e16Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 18852b01e16Smrg ;; 1894b0ead49Smrg -sco5) 1904b0ead49Smrg os=-sco3.2v5 1914b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1924b0ead49Smrg ;; 1934b0ead49Smrg -sco4) 1944b0ead49Smrg os=-sco3.2v4 1954b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 1964b0ead49Smrg ;; 1974b0ead49Smrg -sco3.2.[4-9]*) 1984b0ead49Smrg os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` 1994b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2004b0ead49Smrg ;; 2014b0ead49Smrg -sco3.2v[4-9]*) 2024b0ead49Smrg # Don't forget version if it is 3.2v4 or newer. 2034b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2044b0ead49Smrg ;; 20552b01e16Smrg -sco5v6*) 20652b01e16Smrg # Don't forget version if it is 3.2v4 or newer. 20752b01e16Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 20852b01e16Smrg ;; 2094b0ead49Smrg -sco*) 2104b0ead49Smrg os=-sco3.2v2 2114b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2124b0ead49Smrg ;; 2134b0ead49Smrg -udk*) 2144b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2154b0ead49Smrg ;; 2164b0ead49Smrg -isc) 2174b0ead49Smrg os=-isc2.2 2184b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2194b0ead49Smrg ;; 2204b0ead49Smrg -clix*) 2214b0ead49Smrg basic_machine=clipper-intergraph 2224b0ead49Smrg ;; 2234b0ead49Smrg -isc*) 2244b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` 2254b0ead49Smrg ;; 2264b0ead49Smrg -lynx*) 2274b0ead49Smrg os=-lynxos 2284b0ead49Smrg ;; 2294b0ead49Smrg -ptx*) 2304b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` 2314b0ead49Smrg ;; 2324b0ead49Smrg -windowsnt*) 2334b0ead49Smrg os=`echo $os | sed -e 's/windowsnt/winnt/'` 2344b0ead49Smrg ;; 2354b0ead49Smrg -psos*) 2364b0ead49Smrg os=-psos 2374b0ead49Smrg ;; 2384b0ead49Smrg -mint | -mint[0-9]*) 2394b0ead49Smrg basic_machine=m68k-atari 2404b0ead49Smrg os=-mint 2414b0ead49Smrg ;; 2424b0ead49Smrgesac 2434b0ead49Smrg 2444b0ead49Smrg# Decode aliases for certain CPU-COMPANY combinations. 2454b0ead49Smrgcase $basic_machine in 2464b0ead49Smrg # Recognize the basic CPU types without company name. 2474b0ead49Smrg # Some are omitted here because they have special meanings below. 2484b0ead49Smrg 1750a | 580 \ 2494b0ead49Smrg | a29k \ 2504b0ead49Smrg | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ 2514b0ead49Smrg | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ 2524b0ead49Smrg | am33_2.0 \ 25352b01e16Smrg | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ 2544b0ead49Smrg | bfin \ 2554b0ead49Smrg | c4x | clipper \ 2564b0ead49Smrg | d10v | d30v | dlx | dsp16xx \ 25752b01e16Smrg | fido | fr30 | frv \ 2584b0ead49Smrg | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ 2594b0ead49Smrg | i370 | i860 | i960 | ia64 \ 2604b0ead49Smrg | ip2k | iq2000 \ 26149dc963fSmrg | lm32 \ 26252b01e16Smrg | m32c | m32r | m32rle | m68000 | m68k | m88k \ 26349dc963fSmrg | maxq | mb | microblaze | mcore | mep | metag \ 2644b0ead49Smrg | mips | mipsbe | mipseb | mipsel | mipsle \ 2654b0ead49Smrg | mips16 \ 2664b0ead49Smrg | mips64 | mips64el \ 26749dc963fSmrg | mips64octeon | mips64octeonel \ 2684b0ead49Smrg | mips64orion | mips64orionel \ 26949dc963fSmrg | mips64r5900 | mips64r5900el \ 27049dc963fSmrg | mips64vr | mips64vrel \ 2714b0ead49Smrg | mips64vr4100 | mips64vr4100el \ 2724b0ead49Smrg | mips64vr4300 | mips64vr4300el \ 2734b0ead49Smrg | mips64vr5000 | mips64vr5000el \ 2744b0ead49Smrg | mips64vr5900 | mips64vr5900el \ 2754b0ead49Smrg | mipsisa32 | mipsisa32el \ 2764b0ead49Smrg | mipsisa32r2 | mipsisa32r2el \ 2774b0ead49Smrg | mipsisa64 | mipsisa64el \ 2784b0ead49Smrg | mipsisa64r2 | mipsisa64r2el \ 2794b0ead49Smrg | mipsisa64sb1 | mipsisa64sb1el \ 2804b0ead49Smrg | mipsisa64sr71k | mipsisa64sr71kel \ 2814b0ead49Smrg | mipstx39 | mipstx39el \ 2824b0ead49Smrg | mn10200 | mn10300 \ 28349dc963fSmrg | moxie \ 28452b01e16Smrg | mt \ 2854b0ead49Smrg | msp430 \ 2867aa89044Smrg | nds32 | nds32le | nds32be \ 28752b01e16Smrg | nios | nios2 \ 2884b0ead49Smrg | ns16k | ns32k \ 2894b0ead49Smrg | or32 \ 2904b0ead49Smrg | pdp10 | pdp11 | pj | pjl \ 2914b0ead49Smrg | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ 2924b0ead49Smrg | pyramid \ 29349dc963fSmrg | rx \ 29452b01e16Smrg | score \ 29549dc963fSmrg | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ 2964b0ead49Smrg | sh64 | sh64le \ 29752b01e16Smrg | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ 29852b01e16Smrg | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ 29952b01e16Smrg | spu | strongarm \ 3007aa89044Smrg | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ 30149dc963fSmrg | ubicom32 \ 3024b0ead49Smrg | v850 | v850e \ 3034b0ead49Smrg | we32k \ 30452b01e16Smrg | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ 30549dc963fSmrg | z8k | z80) 3064b0ead49Smrg basic_machine=$basic_machine-unknown 3074b0ead49Smrg ;; 3087aa89044Smrg c54x) 3097aa89044Smrg basic_machine=tic54x-unknown 3107aa89044Smrg ;; 3117aa89044Smrg c55x) 3127aa89044Smrg basic_machine=tic55x-unknown 3137aa89044Smrg ;; 3147aa89044Smrg c6x) 3157aa89044Smrg basic_machine=tic6x-unknown 3167aa89044Smrg ;; 31749dc963fSmrg m6811 | m68hc11 | m6812 | m68hc12 | picochip) 3184b0ead49Smrg # Motorola 68HC11/12. 3194b0ead49Smrg basic_machine=$basic_machine-unknown 3204b0ead49Smrg os=-none 3214b0ead49Smrg ;; 3224b0ead49Smrg m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 3234b0ead49Smrg ;; 32452b01e16Smrg ms1) 32552b01e16Smrg basic_machine=mt-unknown 32652b01e16Smrg ;; 3274b0ead49Smrg 3284b0ead49Smrg # We use `pc' rather than `unknown' 3294b0ead49Smrg # because (1) that's what they normally are, and 3304b0ead49Smrg # (2) the word "unknown" tends to confuse beginning users. 3314b0ead49Smrg i*86 | x86_64) 3324b0ead49Smrg basic_machine=$basic_machine-pc 3334b0ead49Smrg ;; 3344b0ead49Smrg # Object if more than one company name word. 3354b0ead49Smrg *-*-*) 3364b0ead49Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 3374b0ead49Smrg exit 1 3384b0ead49Smrg ;; 3394b0ead49Smrg # Recognize the basic CPU types with company name. 3404b0ead49Smrg 580-* \ 3414b0ead49Smrg | a29k-* \ 3424b0ead49Smrg | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ 3434b0ead49Smrg | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ 3444b0ead49Smrg | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ 3454b0ead49Smrg | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ 34652b01e16Smrg | avr-* | avr32-* \ 3474b0ead49Smrg | bfin-* | bs2000-* \ 3487aa89044Smrg | c[123]* | c30-* | [cjt]90-* | c4x-* \ 3494b0ead49Smrg | clipper-* | craynv-* | cydra-* \ 3504b0ead49Smrg | d10v-* | d30v-* | dlx-* \ 3514b0ead49Smrg | elxsi-* \ 35252b01e16Smrg | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ 3534b0ead49Smrg | h8300-* | h8500-* \ 3544b0ead49Smrg | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ 3554b0ead49Smrg | i*86-* | i860-* | i960-* | ia64-* \ 3564b0ead49Smrg | ip2k-* | iq2000-* \ 35749dc963fSmrg | lm32-* \ 35852b01e16Smrg | m32c-* | m32r-* | m32rle-* \ 3594b0ead49Smrg | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 36049dc963fSmrg | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ 3614b0ead49Smrg | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ 3624b0ead49Smrg | mips16-* \ 3634b0ead49Smrg | mips64-* | mips64el-* \ 36449dc963fSmrg | mips64octeon-* | mips64octeonel-* \ 3654b0ead49Smrg | mips64orion-* | mips64orionel-* \ 36649dc963fSmrg | mips64r5900-* | mips64r5900el-* \ 36749dc963fSmrg | mips64vr-* | mips64vrel-* \ 3684b0ead49Smrg | mips64vr4100-* | mips64vr4100el-* \ 3694b0ead49Smrg | mips64vr4300-* | mips64vr4300el-* \ 3704b0ead49Smrg | mips64vr5000-* | mips64vr5000el-* \ 3714b0ead49Smrg | mips64vr5900-* | mips64vr5900el-* \ 3724b0ead49Smrg | mipsisa32-* | mipsisa32el-* \ 3734b0ead49Smrg | mipsisa32r2-* | mipsisa32r2el-* \ 3744b0ead49Smrg | mipsisa64-* | mipsisa64el-* \ 3754b0ead49Smrg | mipsisa64r2-* | mipsisa64r2el-* \ 3764b0ead49Smrg | mipsisa64sb1-* | mipsisa64sb1el-* \ 3774b0ead49Smrg | mipsisa64sr71k-* | mipsisa64sr71kel-* \ 3784b0ead49Smrg | mipstx39-* | mipstx39el-* \ 3794b0ead49Smrg | mmix-* \ 38052b01e16Smrg | mt-* \ 3814b0ead49Smrg | msp430-* \ 3827aa89044Smrg | nds32-* | nds32le-* | nds32be-* \ 38352b01e16Smrg | nios-* | nios2-* \ 3844b0ead49Smrg | none-* | np1-* | ns16k-* | ns32k-* \ 3854b0ead49Smrg | orion-* \ 3864b0ead49Smrg | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ 3874b0ead49Smrg | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ 3884b0ead49Smrg | pyramid-* \ 38949dc963fSmrg | romp-* | rs6000-* | rx-* \ 39049dc963fSmrg | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ 3914b0ead49Smrg | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ 39252b01e16Smrg | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ 3934b0ead49Smrg | sparclite-* \ 39452b01e16Smrg | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ 3954b0ead49Smrg | tahoe-* | thumb-* \ 3967aa89044Smrg | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ 3977aa89044Smrg | tile-* | tilegx-* \ 3984b0ead49Smrg | tron-* \ 39949dc963fSmrg | ubicom32-* \ 4004b0ead49Smrg | v850-* | v850e-* | vax-* \ 4014b0ead49Smrg | we32k-* \ 40252b01e16Smrg | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ 40352b01e16Smrg | xstormy16-* | xtensa*-* \ 4044b0ead49Smrg | ymp-* \ 40549dc963fSmrg | z8k-* | z80-*) 4064b0ead49Smrg ;; 40752b01e16Smrg # Recognize the basic CPU types without company name, with glob match. 40852b01e16Smrg xtensa*) 40952b01e16Smrg basic_machine=$basic_machine-unknown 4104b0ead49Smrg ;; 4114b0ead49Smrg # Recognize the various machine names and aliases which stand 4124b0ead49Smrg # for a CPU type and a company and sometimes even an OS. 4134b0ead49Smrg 386bsd) 4144b0ead49Smrg basic_machine=i386-unknown 4154b0ead49Smrg os=-bsd 4164b0ead49Smrg ;; 4174b0ead49Smrg 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) 4184b0ead49Smrg basic_machine=m68000-att 4194b0ead49Smrg ;; 4204b0ead49Smrg 3b*) 4214b0ead49Smrg basic_machine=we32k-att 4224b0ead49Smrg ;; 4234b0ead49Smrg a29khif) 4244b0ead49Smrg basic_machine=a29k-amd 4254b0ead49Smrg os=-udi 4264b0ead49Smrg ;; 4274b0ead49Smrg abacus) 4284b0ead49Smrg basic_machine=abacus-unknown 4294b0ead49Smrg ;; 4304b0ead49Smrg adobe68k) 4314b0ead49Smrg basic_machine=m68010-adobe 4324b0ead49Smrg os=-scout 4334b0ead49Smrg ;; 4344b0ead49Smrg alliant | fx80) 4354b0ead49Smrg basic_machine=fx80-alliant 4364b0ead49Smrg ;; 4374b0ead49Smrg altos | altos3068) 4384b0ead49Smrg basic_machine=m68k-altos 4394b0ead49Smrg ;; 4404b0ead49Smrg am29k) 4414b0ead49Smrg basic_machine=a29k-none 4424b0ead49Smrg os=-bsd 4434b0ead49Smrg ;; 4444b0ead49Smrg amd64) 4454b0ead49Smrg basic_machine=x86_64-pc 4464b0ead49Smrg ;; 4474b0ead49Smrg amd64-*) 4484b0ead49Smrg basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` 4494b0ead49Smrg ;; 4504b0ead49Smrg amdahl) 4514b0ead49Smrg basic_machine=580-amdahl 4524b0ead49Smrg os=-sysv 4534b0ead49Smrg ;; 4544b0ead49Smrg amiga | amiga-*) 4554b0ead49Smrg basic_machine=m68k-unknown 4564b0ead49Smrg ;; 4574b0ead49Smrg amigaos | amigados) 4584b0ead49Smrg basic_machine=m68k-unknown 4594b0ead49Smrg os=-amigaos 4604b0ead49Smrg ;; 4614b0ead49Smrg amigaunix | amix) 4624b0ead49Smrg basic_machine=m68k-unknown 4634b0ead49Smrg os=-sysv4 4644b0ead49Smrg ;; 4654b0ead49Smrg apollo68) 4664b0ead49Smrg basic_machine=m68k-apollo 4674b0ead49Smrg os=-sysv 4684b0ead49Smrg ;; 4694b0ead49Smrg apollo68bsd) 4704b0ead49Smrg basic_machine=m68k-apollo 4714b0ead49Smrg os=-bsd 4724b0ead49Smrg ;; 47349dc963fSmrg aros) 47449dc963fSmrg basic_machine=i386-pc 47549dc963fSmrg os=-aros 47649dc963fSmrg ;; 4774b0ead49Smrg aux) 4784b0ead49Smrg basic_machine=m68k-apple 4794b0ead49Smrg os=-aux 4804b0ead49Smrg ;; 4814b0ead49Smrg balance) 4824b0ead49Smrg basic_machine=ns32k-sequent 4834b0ead49Smrg os=-dynix 4844b0ead49Smrg ;; 48552b01e16Smrg blackfin) 48652b01e16Smrg basic_machine=bfin-unknown 48752b01e16Smrg os=-linux 48852b01e16Smrg ;; 48952b01e16Smrg blackfin-*) 49052b01e16Smrg basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` 49152b01e16Smrg os=-linux 49252b01e16Smrg ;; 49349dc963fSmrg bluegene*) 49449dc963fSmrg basic_machine=powerpc-ibm 49549dc963fSmrg os=-cnk 49649dc963fSmrg ;; 4977aa89044Smrg c54x-*) 4987aa89044Smrg basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` 4997aa89044Smrg ;; 5007aa89044Smrg c55x-*) 5017aa89044Smrg basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` 5027aa89044Smrg ;; 5037aa89044Smrg c6x-*) 5047aa89044Smrg basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` 5057aa89044Smrg ;; 5064b0ead49Smrg c90) 5074b0ead49Smrg basic_machine=c90-cray 5084b0ead49Smrg os=-unicos 5094b0ead49Smrg ;; 51049dc963fSmrg cegcc) 51149dc963fSmrg basic_machine=arm-unknown 51249dc963fSmrg os=-cegcc 51349dc963fSmrg ;; 5144b0ead49Smrg convex-c1) 5154b0ead49Smrg basic_machine=c1-convex 5164b0ead49Smrg os=-bsd 5174b0ead49Smrg ;; 5184b0ead49Smrg convex-c2) 5194b0ead49Smrg basic_machine=c2-convex 5204b0ead49Smrg os=-bsd 5214b0ead49Smrg ;; 5224b0ead49Smrg convex-c32) 5234b0ead49Smrg basic_machine=c32-convex 5244b0ead49Smrg os=-bsd 5254b0ead49Smrg ;; 5264b0ead49Smrg convex-c34) 5274b0ead49Smrg basic_machine=c34-convex 5284b0ead49Smrg os=-bsd 5294b0ead49Smrg ;; 5304b0ead49Smrg convex-c38) 5314b0ead49Smrg basic_machine=c38-convex 5324b0ead49Smrg os=-bsd 5334b0ead49Smrg ;; 5344b0ead49Smrg cray | j90) 5354b0ead49Smrg basic_machine=j90-cray 5364b0ead49Smrg os=-unicos 5374b0ead49Smrg ;; 5384b0ead49Smrg craynv) 5394b0ead49Smrg basic_machine=craynv-cray 5404b0ead49Smrg os=-unicosmp 5414b0ead49Smrg ;; 54252b01e16Smrg cr16) 54352b01e16Smrg basic_machine=cr16-unknown 5444b0ead49Smrg os=-elf 5454b0ead49Smrg ;; 5464b0ead49Smrg crds | unos) 5474b0ead49Smrg basic_machine=m68k-crds 5484b0ead49Smrg ;; 5494b0ead49Smrg crisv32 | crisv32-* | etraxfs*) 5504b0ead49Smrg basic_machine=crisv32-axis 5514b0ead49Smrg ;; 5524b0ead49Smrg cris | cris-* | etrax*) 5534b0ead49Smrg basic_machine=cris-axis 5544b0ead49Smrg ;; 5554b0ead49Smrg crx) 5564b0ead49Smrg basic_machine=crx-unknown 5574b0ead49Smrg os=-elf 5584b0ead49Smrg ;; 5594b0ead49Smrg da30 | da30-*) 5604b0ead49Smrg basic_machine=m68k-da30 5614b0ead49Smrg ;; 5624b0ead49Smrg decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) 5634b0ead49Smrg basic_machine=mips-dec 5644b0ead49Smrg ;; 5654b0ead49Smrg decsystem10* | dec10*) 5664b0ead49Smrg basic_machine=pdp10-dec 5674b0ead49Smrg os=-tops10 5684b0ead49Smrg ;; 5694b0ead49Smrg decsystem20* | dec20*) 5704b0ead49Smrg basic_machine=pdp10-dec 5714b0ead49Smrg os=-tops20 5724b0ead49Smrg ;; 5734b0ead49Smrg delta | 3300 | motorola-3300 | motorola-delta \ 5744b0ead49Smrg | 3300-motorola | delta-motorola) 5754b0ead49Smrg basic_machine=m68k-motorola 5764b0ead49Smrg ;; 5774b0ead49Smrg delta88) 5784b0ead49Smrg basic_machine=m88k-motorola 5794b0ead49Smrg os=-sysv3 5804b0ead49Smrg ;; 58149dc963fSmrg dicos) 58249dc963fSmrg basic_machine=i686-pc 58349dc963fSmrg os=-dicos 58449dc963fSmrg ;; 5854b0ead49Smrg djgpp) 5864b0ead49Smrg basic_machine=i586-pc 5874b0ead49Smrg os=-msdosdjgpp 5884b0ead49Smrg ;; 5894b0ead49Smrg dpx20 | dpx20-*) 5904b0ead49Smrg basic_machine=rs6000-bull 5914b0ead49Smrg os=-bosx 5924b0ead49Smrg ;; 5934b0ead49Smrg dpx2* | dpx2*-bull) 5944b0ead49Smrg basic_machine=m68k-bull 5954b0ead49Smrg os=-sysv3 5964b0ead49Smrg ;; 5974b0ead49Smrg ebmon29k) 5984b0ead49Smrg basic_machine=a29k-amd 5994b0ead49Smrg os=-ebmon 6004b0ead49Smrg ;; 6014b0ead49Smrg elxsi) 6024b0ead49Smrg basic_machine=elxsi-elxsi 6034b0ead49Smrg os=-bsd 6044b0ead49Smrg ;; 6054b0ead49Smrg encore | umax | mmax) 6064b0ead49Smrg basic_machine=ns32k-encore 6074b0ead49Smrg ;; 6084b0ead49Smrg es1800 | OSE68k | ose68k | ose | OSE) 6094b0ead49Smrg basic_machine=m68k-ericsson 6104b0ead49Smrg os=-ose 6114b0ead49Smrg ;; 6124b0ead49Smrg fx2800) 6134b0ead49Smrg basic_machine=i860-alliant 6144b0ead49Smrg ;; 6154b0ead49Smrg genix) 6164b0ead49Smrg basic_machine=ns32k-ns 6174b0ead49Smrg ;; 6184b0ead49Smrg gmicro) 6194b0ead49Smrg basic_machine=tron-gmicro 6204b0ead49Smrg os=-sysv 6214b0ead49Smrg ;; 6224b0ead49Smrg go32) 6234b0ead49Smrg basic_machine=i386-pc 6244b0ead49Smrg os=-go32 6254b0ead49Smrg ;; 6264b0ead49Smrg h3050r* | hiux*) 6274b0ead49Smrg basic_machine=hppa1.1-hitachi 6284b0ead49Smrg os=-hiuxwe2 6294b0ead49Smrg ;; 6304b0ead49Smrg h8300hms) 6314b0ead49Smrg basic_machine=h8300-hitachi 6324b0ead49Smrg os=-hms 6334b0ead49Smrg ;; 6344b0ead49Smrg h8300xray) 6354b0ead49Smrg basic_machine=h8300-hitachi 6364b0ead49Smrg os=-xray 6374b0ead49Smrg ;; 6384b0ead49Smrg h8500hms) 6394b0ead49Smrg basic_machine=h8500-hitachi 6404b0ead49Smrg os=-hms 6414b0ead49Smrg ;; 6424b0ead49Smrg harris) 6434b0ead49Smrg basic_machine=m88k-harris 6444b0ead49Smrg os=-sysv3 6454b0ead49Smrg ;; 6464b0ead49Smrg hp300-*) 6474b0ead49Smrg basic_machine=m68k-hp 6484b0ead49Smrg ;; 6494b0ead49Smrg hp300bsd) 6504b0ead49Smrg basic_machine=m68k-hp 6514b0ead49Smrg os=-bsd 6524b0ead49Smrg ;; 6534b0ead49Smrg hp300hpux) 6544b0ead49Smrg basic_machine=m68k-hp 6554b0ead49Smrg os=-hpux 6564b0ead49Smrg ;; 6574b0ead49Smrg hp3k9[0-9][0-9] | hp9[0-9][0-9]) 6584b0ead49Smrg basic_machine=hppa1.0-hp 6594b0ead49Smrg ;; 6604b0ead49Smrg hp9k2[0-9][0-9] | hp9k31[0-9]) 6614b0ead49Smrg basic_machine=m68000-hp 6624b0ead49Smrg ;; 6634b0ead49Smrg hp9k3[2-9][0-9]) 6644b0ead49Smrg basic_machine=m68k-hp 6654b0ead49Smrg ;; 6664b0ead49Smrg hp9k6[0-9][0-9] | hp6[0-9][0-9]) 6674b0ead49Smrg basic_machine=hppa1.0-hp 6684b0ead49Smrg ;; 6694b0ead49Smrg hp9k7[0-79][0-9] | hp7[0-79][0-9]) 6704b0ead49Smrg basic_machine=hppa1.1-hp 6714b0ead49Smrg ;; 6724b0ead49Smrg hp9k78[0-9] | hp78[0-9]) 6734b0ead49Smrg # FIXME: really hppa2.0-hp 6744b0ead49Smrg basic_machine=hppa1.1-hp 6754b0ead49Smrg ;; 6764b0ead49Smrg hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) 6774b0ead49Smrg # FIXME: really hppa2.0-hp 6784b0ead49Smrg basic_machine=hppa1.1-hp 6794b0ead49Smrg ;; 6804b0ead49Smrg hp9k8[0-9][13679] | hp8[0-9][13679]) 6814b0ead49Smrg basic_machine=hppa1.1-hp 6824b0ead49Smrg ;; 6834b0ead49Smrg hp9k8[0-9][0-9] | hp8[0-9][0-9]) 6844b0ead49Smrg basic_machine=hppa1.0-hp 6854b0ead49Smrg ;; 6864b0ead49Smrg hppa-next) 6874b0ead49Smrg os=-nextstep3 6884b0ead49Smrg ;; 6894b0ead49Smrg hppaosf) 6904b0ead49Smrg basic_machine=hppa1.1-hp 6914b0ead49Smrg os=-osf 6924b0ead49Smrg ;; 6934b0ead49Smrg hppro) 6944b0ead49Smrg basic_machine=hppa1.1-hp 6954b0ead49Smrg os=-proelf 6964b0ead49Smrg ;; 6974b0ead49Smrg i370-ibm* | ibm*) 6984b0ead49Smrg basic_machine=i370-ibm 6994b0ead49Smrg ;; 7004b0ead49Smrg# I'm not sure what "Sysv32" means. Should this be sysv3.2? 7014b0ead49Smrg i*86v32) 7024b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7034b0ead49Smrg os=-sysv32 7044b0ead49Smrg ;; 7054b0ead49Smrg i*86v4*) 7064b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7074b0ead49Smrg os=-sysv4 7084b0ead49Smrg ;; 7094b0ead49Smrg i*86v) 7104b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7114b0ead49Smrg os=-sysv 7124b0ead49Smrg ;; 7134b0ead49Smrg i*86sol2) 7144b0ead49Smrg basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` 7154b0ead49Smrg os=-solaris2 7164b0ead49Smrg ;; 7174b0ead49Smrg i386mach) 7184b0ead49Smrg basic_machine=i386-mach 7194b0ead49Smrg os=-mach 7204b0ead49Smrg ;; 7214b0ead49Smrg i386-vsta | vsta) 7224b0ead49Smrg basic_machine=i386-unknown 7234b0ead49Smrg os=-vsta 7244b0ead49Smrg ;; 7254b0ead49Smrg iris | iris4d) 7264b0ead49Smrg basic_machine=mips-sgi 7274b0ead49Smrg case $os in 7284b0ead49Smrg -irix*) 7294b0ead49Smrg ;; 7304b0ead49Smrg *) 7314b0ead49Smrg os=-irix4 7324b0ead49Smrg ;; 7334b0ead49Smrg esac 7344b0ead49Smrg ;; 7354b0ead49Smrg isi68 | isi) 7364b0ead49Smrg basic_machine=m68k-isi 7374b0ead49Smrg os=-sysv 7384b0ead49Smrg ;; 73952b01e16Smrg m68knommu) 74052b01e16Smrg basic_machine=m68k-unknown 74152b01e16Smrg os=-linux 74252b01e16Smrg ;; 74352b01e16Smrg m68knommu-*) 74452b01e16Smrg basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` 74552b01e16Smrg os=-linux 74652b01e16Smrg ;; 7474b0ead49Smrg m88k-omron*) 7484b0ead49Smrg basic_machine=m88k-omron 7494b0ead49Smrg ;; 7504b0ead49Smrg magnum | m3230) 7514b0ead49Smrg basic_machine=mips-mips 7524b0ead49Smrg os=-sysv 7534b0ead49Smrg ;; 7544b0ead49Smrg merlin) 7554b0ead49Smrg basic_machine=ns32k-utek 7564b0ead49Smrg os=-sysv 7574b0ead49Smrg ;; 75849dc963fSmrg microblaze) 75949dc963fSmrg basic_machine=microblaze-xilinx 76049dc963fSmrg ;; 7614b0ead49Smrg mingw32) 7624b0ead49Smrg basic_machine=i386-pc 7634b0ead49Smrg os=-mingw32 7644b0ead49Smrg ;; 76552b01e16Smrg mingw32ce) 76652b01e16Smrg basic_machine=arm-unknown 76752b01e16Smrg os=-mingw32ce 76852b01e16Smrg ;; 7694b0ead49Smrg miniframe) 7704b0ead49Smrg basic_machine=m68000-convergent 7714b0ead49Smrg ;; 7724b0ead49Smrg *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) 7734b0ead49Smrg basic_machine=m68k-atari 7744b0ead49Smrg os=-mint 7754b0ead49Smrg ;; 7764b0ead49Smrg mips3*-*) 7774b0ead49Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` 7784b0ead49Smrg ;; 7794b0ead49Smrg mips3*) 7804b0ead49Smrg basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown 7814b0ead49Smrg ;; 7824b0ead49Smrg monitor) 7834b0ead49Smrg basic_machine=m68k-rom68k 7844b0ead49Smrg os=-coff 7854b0ead49Smrg ;; 7864b0ead49Smrg morphos) 7874b0ead49Smrg basic_machine=powerpc-unknown 7884b0ead49Smrg os=-morphos 7894b0ead49Smrg ;; 7904b0ead49Smrg msdos) 7914b0ead49Smrg basic_machine=i386-pc 7924b0ead49Smrg os=-msdos 7934b0ead49Smrg ;; 79452b01e16Smrg ms1-*) 79552b01e16Smrg basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` 79652b01e16Smrg ;; 7974b0ead49Smrg mvs) 7984b0ead49Smrg basic_machine=i370-ibm 7994b0ead49Smrg os=-mvs 8004b0ead49Smrg ;; 8014b0ead49Smrg ncr3000) 8024b0ead49Smrg basic_machine=i486-ncr 8034b0ead49Smrg os=-sysv4 8044b0ead49Smrg ;; 8054b0ead49Smrg netbsd386) 8064b0ead49Smrg basic_machine=i386-unknown 8074b0ead49Smrg os=-netbsd 8084b0ead49Smrg ;; 8094b0ead49Smrg netwinder) 8104b0ead49Smrg basic_machine=armv4l-rebel 8114b0ead49Smrg os=-linux 8124b0ead49Smrg ;; 8134b0ead49Smrg news | news700 | news800 | news900) 8144b0ead49Smrg basic_machine=m68k-sony 8154b0ead49Smrg os=-newsos 8164b0ead49Smrg ;; 8174b0ead49Smrg news1000) 8184b0ead49Smrg basic_machine=m68030-sony 8194b0ead49Smrg os=-newsos 8204b0ead49Smrg ;; 8214b0ead49Smrg news-3600 | risc-news) 8224b0ead49Smrg basic_machine=mips-sony 8234b0ead49Smrg os=-newsos 8244b0ead49Smrg ;; 8254b0ead49Smrg necv70) 8264b0ead49Smrg basic_machine=v70-nec 8274b0ead49Smrg os=-sysv 8284b0ead49Smrg ;; 8294b0ead49Smrg next | m*-next ) 8304b0ead49Smrg basic_machine=m68k-next 8314b0ead49Smrg case $os in 8324b0ead49Smrg -nextstep* ) 8334b0ead49Smrg ;; 8344b0ead49Smrg -ns2*) 8354b0ead49Smrg os=-nextstep2 8364b0ead49Smrg ;; 8374b0ead49Smrg *) 8384b0ead49Smrg os=-nextstep3 8394b0ead49Smrg ;; 8404b0ead49Smrg esac 8414b0ead49Smrg ;; 8424b0ead49Smrg nh3000) 8434b0ead49Smrg basic_machine=m68k-harris 8444b0ead49Smrg os=-cxux 8454b0ead49Smrg ;; 8464b0ead49Smrg nh[45]000) 8474b0ead49Smrg basic_machine=m88k-harris 8484b0ead49Smrg os=-cxux 8494b0ead49Smrg ;; 8504b0ead49Smrg nindy960) 8514b0ead49Smrg basic_machine=i960-intel 8524b0ead49Smrg os=-nindy 8534b0ead49Smrg ;; 8544b0ead49Smrg mon960) 8554b0ead49Smrg basic_machine=i960-intel 8564b0ead49Smrg os=-mon960 8574b0ead49Smrg ;; 8584b0ead49Smrg nonstopux) 8594b0ead49Smrg basic_machine=mips-compaq 8604b0ead49Smrg os=-nonstopux 8614b0ead49Smrg ;; 8624b0ead49Smrg np1) 8634b0ead49Smrg basic_machine=np1-gould 8644b0ead49Smrg ;; 8657aa89044Smrg neo-tandem) 8667aa89044Smrg basic_machine=neo-tandem 8677aa89044Smrg ;; 8687aa89044Smrg nse-tandem) 8697aa89044Smrg basic_machine=nse-tandem 8707aa89044Smrg ;; 8714b0ead49Smrg nsr-tandem) 8724b0ead49Smrg basic_machine=nsr-tandem 8734b0ead49Smrg ;; 8744b0ead49Smrg op50n-* | op60c-*) 8754b0ead49Smrg basic_machine=hppa1.1-oki 8764b0ead49Smrg os=-proelf 8774b0ead49Smrg ;; 8784b0ead49Smrg openrisc | openrisc-*) 8794b0ead49Smrg basic_machine=or32-unknown 8804b0ead49Smrg ;; 8814b0ead49Smrg os400) 8824b0ead49Smrg basic_machine=powerpc-ibm 8834b0ead49Smrg os=-os400 8844b0ead49Smrg ;; 8854b0ead49Smrg OSE68000 | ose68000) 8864b0ead49Smrg basic_machine=m68000-ericsson 8874b0ead49Smrg os=-ose 8884b0ead49Smrg ;; 8894b0ead49Smrg os68k) 8904b0ead49Smrg basic_machine=m68k-none 8914b0ead49Smrg os=-os68k 8924b0ead49Smrg ;; 8934b0ead49Smrg pa-hitachi) 8944b0ead49Smrg basic_machine=hppa1.1-hitachi 8954b0ead49Smrg os=-hiuxwe2 8964b0ead49Smrg ;; 8974b0ead49Smrg paragon) 8984b0ead49Smrg basic_machine=i860-intel 8994b0ead49Smrg os=-osf 9004b0ead49Smrg ;; 90152b01e16Smrg parisc) 90252b01e16Smrg basic_machine=hppa-unknown 90352b01e16Smrg os=-linux 90452b01e16Smrg ;; 90552b01e16Smrg parisc-*) 90652b01e16Smrg basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` 90752b01e16Smrg os=-linux 90852b01e16Smrg ;; 9094b0ead49Smrg pbd) 9104b0ead49Smrg basic_machine=sparc-tti 9114b0ead49Smrg ;; 9124b0ead49Smrg pbb) 9134b0ead49Smrg basic_machine=m68k-tti 9144b0ead49Smrg ;; 9154b0ead49Smrg pc532 | pc532-*) 9164b0ead49Smrg basic_machine=ns32k-pc532 9174b0ead49Smrg ;; 91852b01e16Smrg pc98) 91952b01e16Smrg basic_machine=i386-pc 92052b01e16Smrg ;; 92152b01e16Smrg pc98-*) 92252b01e16Smrg basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` 92352b01e16Smrg ;; 9244b0ead49Smrg pentium | p5 | k5 | k6 | nexgen | viac3) 9254b0ead49Smrg basic_machine=i586-pc 9264b0ead49Smrg ;; 9274b0ead49Smrg pentiumpro | p6 | 6x86 | athlon | athlon_*) 9284b0ead49Smrg basic_machine=i686-pc 9294b0ead49Smrg ;; 9304b0ead49Smrg pentiumii | pentium2 | pentiumiii | pentium3) 9314b0ead49Smrg basic_machine=i686-pc 9324b0ead49Smrg ;; 9334b0ead49Smrg pentium4) 9344b0ead49Smrg basic_machine=i786-pc 9354b0ead49Smrg ;; 9364b0ead49Smrg pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) 9374b0ead49Smrg basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` 9384b0ead49Smrg ;; 9394b0ead49Smrg pentiumpro-* | p6-* | 6x86-* | athlon-*) 9404b0ead49Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 9414b0ead49Smrg ;; 9424b0ead49Smrg pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) 9434b0ead49Smrg basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` 9444b0ead49Smrg ;; 9454b0ead49Smrg pentium4-*) 9464b0ead49Smrg basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` 9474b0ead49Smrg ;; 9484b0ead49Smrg pn) 9494b0ead49Smrg basic_machine=pn-gould 9504b0ead49Smrg ;; 9514b0ead49Smrg power) basic_machine=power-ibm 9524b0ead49Smrg ;; 9534b0ead49Smrg ppc) basic_machine=powerpc-unknown 9544b0ead49Smrg ;; 9554b0ead49Smrg ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` 9564b0ead49Smrg ;; 9574b0ead49Smrg ppcle | powerpclittle | ppc-le | powerpc-little) 9584b0ead49Smrg basic_machine=powerpcle-unknown 9594b0ead49Smrg ;; 9604b0ead49Smrg ppcle-* | powerpclittle-*) 9614b0ead49Smrg basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` 9624b0ead49Smrg ;; 9634b0ead49Smrg ppc64) basic_machine=powerpc64-unknown 9644b0ead49Smrg ;; 9654b0ead49Smrg ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` 9664b0ead49Smrg ;; 9674b0ead49Smrg ppc64le | powerpc64little | ppc64-le | powerpc64-little) 9684b0ead49Smrg basic_machine=powerpc64le-unknown 9694b0ead49Smrg ;; 9704b0ead49Smrg ppc64le-* | powerpc64little-*) 9714b0ead49Smrg basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` 9724b0ead49Smrg ;; 9734b0ead49Smrg ps2) 9744b0ead49Smrg basic_machine=i386-ibm 9754b0ead49Smrg ;; 9764b0ead49Smrg pw32) 9774b0ead49Smrg basic_machine=i586-unknown 9784b0ead49Smrg os=-pw32 9794b0ead49Smrg ;; 98052b01e16Smrg rdos) 98152b01e16Smrg basic_machine=i386-pc 98252b01e16Smrg os=-rdos 98352b01e16Smrg ;; 9844b0ead49Smrg rom68k) 9854b0ead49Smrg basic_machine=m68k-rom68k 9864b0ead49Smrg os=-coff 9874b0ead49Smrg ;; 9884b0ead49Smrg rm[46]00) 9894b0ead49Smrg basic_machine=mips-siemens 9904b0ead49Smrg ;; 9914b0ead49Smrg rtpc | rtpc-*) 9924b0ead49Smrg basic_machine=romp-ibm 9934b0ead49Smrg ;; 9944b0ead49Smrg s390 | s390-*) 9954b0ead49Smrg basic_machine=s390-ibm 9964b0ead49Smrg ;; 9974b0ead49Smrg s390x | s390x-*) 9984b0ead49Smrg basic_machine=s390x-ibm 9994b0ead49Smrg ;; 10004b0ead49Smrg sa29200) 10014b0ead49Smrg basic_machine=a29k-amd 10024b0ead49Smrg os=-udi 10034b0ead49Smrg ;; 10044b0ead49Smrg sb1) 10054b0ead49Smrg basic_machine=mipsisa64sb1-unknown 10064b0ead49Smrg ;; 10074b0ead49Smrg sb1el) 10084b0ead49Smrg basic_machine=mipsisa64sb1el-unknown 10094b0ead49Smrg ;; 101052b01e16Smrg sde) 101152b01e16Smrg basic_machine=mipsisa32-sde 101252b01e16Smrg os=-elf 101352b01e16Smrg ;; 10144b0ead49Smrg sei) 10154b0ead49Smrg basic_machine=mips-sei 10164b0ead49Smrg os=-seiux 10174b0ead49Smrg ;; 10184b0ead49Smrg sequent) 10194b0ead49Smrg basic_machine=i386-sequent 10204b0ead49Smrg ;; 10214b0ead49Smrg sh) 10224b0ead49Smrg basic_machine=sh-hitachi 10234b0ead49Smrg os=-hms 10244b0ead49Smrg ;; 102552b01e16Smrg sh5el) 102652b01e16Smrg basic_machine=sh5le-unknown 102752b01e16Smrg ;; 10284b0ead49Smrg sh64) 10294b0ead49Smrg basic_machine=sh64-unknown 10304b0ead49Smrg ;; 10314b0ead49Smrg sparclite-wrs | simso-wrs) 10324b0ead49Smrg basic_machine=sparclite-wrs 10334b0ead49Smrg os=-vxworks 10344b0ead49Smrg ;; 10354b0ead49Smrg sps7) 10364b0ead49Smrg basic_machine=m68k-bull 10374b0ead49Smrg os=-sysv2 10384b0ead49Smrg ;; 10394b0ead49Smrg spur) 10404b0ead49Smrg basic_machine=spur-unknown 10414b0ead49Smrg ;; 10424b0ead49Smrg st2000) 10434b0ead49Smrg basic_machine=m68k-tandem 10444b0ead49Smrg ;; 10454b0ead49Smrg stratus) 10464b0ead49Smrg basic_machine=i860-stratus 10474b0ead49Smrg os=-sysv4 10484b0ead49Smrg ;; 10494b0ead49Smrg sun2) 10504b0ead49Smrg basic_machine=m68000-sun 10514b0ead49Smrg ;; 10524b0ead49Smrg sun2os3) 10534b0ead49Smrg basic_machine=m68000-sun 10544b0ead49Smrg os=-sunos3 10554b0ead49Smrg ;; 10564b0ead49Smrg sun2os4) 10574b0ead49Smrg basic_machine=m68000-sun 10584b0ead49Smrg os=-sunos4 10594b0ead49Smrg ;; 10604b0ead49Smrg sun3os3) 10614b0ead49Smrg basic_machine=m68k-sun 10624b0ead49Smrg os=-sunos3 10634b0ead49Smrg ;; 10644b0ead49Smrg sun3os4) 10654b0ead49Smrg basic_machine=m68k-sun 10664b0ead49Smrg os=-sunos4 10674b0ead49Smrg ;; 10684b0ead49Smrg sun4os3) 10694b0ead49Smrg basic_machine=sparc-sun 10704b0ead49Smrg os=-sunos3 10714b0ead49Smrg ;; 10724b0ead49Smrg sun4os4) 10734b0ead49Smrg basic_machine=sparc-sun 10744b0ead49Smrg os=-sunos4 10754b0ead49Smrg ;; 10764b0ead49Smrg sun4sol2) 10774b0ead49Smrg basic_machine=sparc-sun 10784b0ead49Smrg os=-solaris2 10794b0ead49Smrg ;; 10804b0ead49Smrg sun3 | sun3-*) 10814b0ead49Smrg basic_machine=m68k-sun 10824b0ead49Smrg ;; 10834b0ead49Smrg sun4) 10844b0ead49Smrg basic_machine=sparc-sun 10854b0ead49Smrg ;; 10864b0ead49Smrg sun386 | sun386i | roadrunner) 10874b0ead49Smrg basic_machine=i386-sun 10884b0ead49Smrg ;; 10894b0ead49Smrg sv1) 10904b0ead49Smrg basic_machine=sv1-cray 10914b0ead49Smrg os=-unicos 10924b0ead49Smrg ;; 10934b0ead49Smrg symmetry) 10944b0ead49Smrg basic_machine=i386-sequent 10954b0ead49Smrg os=-dynix 10964b0ead49Smrg ;; 10974b0ead49Smrg t3e) 10984b0ead49Smrg basic_machine=alphaev5-cray 10994b0ead49Smrg os=-unicos 11004b0ead49Smrg ;; 11014b0ead49Smrg t90) 11024b0ead49Smrg basic_machine=t90-cray 11034b0ead49Smrg os=-unicos 11044b0ead49Smrg ;; 11057aa89044Smrg # This must be matched before tile*. 11067aa89044Smrg tilegx*) 11077aa89044Smrg basic_machine=tilegx-unknown 11087aa89044Smrg os=-linux-gnu 11094b0ead49Smrg ;; 111052b01e16Smrg tile*) 111152b01e16Smrg basic_machine=tile-unknown 111252b01e16Smrg os=-linux-gnu 111352b01e16Smrg ;; 11144b0ead49Smrg tx39) 11154b0ead49Smrg basic_machine=mipstx39-unknown 11164b0ead49Smrg ;; 11174b0ead49Smrg tx39el) 11184b0ead49Smrg basic_machine=mipstx39el-unknown 11194b0ead49Smrg ;; 11204b0ead49Smrg toad1) 11214b0ead49Smrg basic_machine=pdp10-xkl 11224b0ead49Smrg os=-tops20 11234b0ead49Smrg ;; 11244b0ead49Smrg tower | tower-32) 11254b0ead49Smrg basic_machine=m68k-ncr 11264b0ead49Smrg ;; 11274b0ead49Smrg tpf) 11284b0ead49Smrg basic_machine=s390x-ibm 11294b0ead49Smrg os=-tpf 11304b0ead49Smrg ;; 11314b0ead49Smrg udi29k) 11324b0ead49Smrg basic_machine=a29k-amd 11334b0ead49Smrg os=-udi 11344b0ead49Smrg ;; 11354b0ead49Smrg ultra3) 11364b0ead49Smrg basic_machine=a29k-nyu 11374b0ead49Smrg os=-sym1 11384b0ead49Smrg ;; 11394b0ead49Smrg v810 | necv810) 11404b0ead49Smrg basic_machine=v810-nec 11414b0ead49Smrg os=-none 11424b0ead49Smrg ;; 11434b0ead49Smrg vaxv) 11444b0ead49Smrg basic_machine=vax-dec 11454b0ead49Smrg os=-sysv 11464b0ead49Smrg ;; 11474b0ead49Smrg vms) 11484b0ead49Smrg basic_machine=vax-dec 11494b0ead49Smrg os=-vms 11504b0ead49Smrg ;; 11514b0ead49Smrg vpp*|vx|vx-*) 11524b0ead49Smrg basic_machine=f301-fujitsu 11534b0ead49Smrg ;; 11544b0ead49Smrg vxworks960) 11554b0ead49Smrg basic_machine=i960-wrs 11564b0ead49Smrg os=-vxworks 11574b0ead49Smrg ;; 11584b0ead49Smrg vxworks68) 11594b0ead49Smrg basic_machine=m68k-wrs 11604b0ead49Smrg os=-vxworks 11614b0ead49Smrg ;; 11624b0ead49Smrg vxworks29k) 11634b0ead49Smrg basic_machine=a29k-wrs 11644b0ead49Smrg os=-vxworks 11654b0ead49Smrg ;; 11664b0ead49Smrg w65*) 11674b0ead49Smrg basic_machine=w65-wdc 11684b0ead49Smrg os=-none 11694b0ead49Smrg ;; 11704b0ead49Smrg w89k-*) 11714b0ead49Smrg basic_machine=hppa1.1-winbond 11724b0ead49Smrg os=-proelf 11734b0ead49Smrg ;; 11744b0ead49Smrg xbox) 11754b0ead49Smrg basic_machine=i686-pc 11764b0ead49Smrg os=-mingw32 11774b0ead49Smrg ;; 11784b0ead49Smrg xps | xps100) 11794b0ead49Smrg basic_machine=xps100-honeywell 11804b0ead49Smrg ;; 11814b0ead49Smrg ymp) 11824b0ead49Smrg basic_machine=ymp-cray 11834b0ead49Smrg os=-unicos 11844b0ead49Smrg ;; 11854b0ead49Smrg z8k-*-coff) 11864b0ead49Smrg basic_machine=z8k-unknown 11874b0ead49Smrg os=-sim 11884b0ead49Smrg ;; 118949dc963fSmrg z80-*-coff) 119049dc963fSmrg basic_machine=z80-unknown 119149dc963fSmrg os=-sim 119249dc963fSmrg ;; 11934b0ead49Smrg none) 11944b0ead49Smrg basic_machine=none-none 11954b0ead49Smrg os=-none 11964b0ead49Smrg ;; 11974b0ead49Smrg 11984b0ead49Smrg# Here we handle the default manufacturer of certain CPU types. It is in 11994b0ead49Smrg# some cases the only manufacturer, in others, it is the most popular. 12004b0ead49Smrg w89k) 12014b0ead49Smrg basic_machine=hppa1.1-winbond 12024b0ead49Smrg ;; 12034b0ead49Smrg op50n) 12044b0ead49Smrg basic_machine=hppa1.1-oki 12054b0ead49Smrg ;; 12064b0ead49Smrg op60c) 12074b0ead49Smrg basic_machine=hppa1.1-oki 12084b0ead49Smrg ;; 12094b0ead49Smrg romp) 12104b0ead49Smrg basic_machine=romp-ibm 12114b0ead49Smrg ;; 12124b0ead49Smrg mmix) 12134b0ead49Smrg basic_machine=mmix-knuth 12144b0ead49Smrg ;; 12154b0ead49Smrg rs6000) 12164b0ead49Smrg basic_machine=rs6000-ibm 12174b0ead49Smrg ;; 12184b0ead49Smrg vax) 12194b0ead49Smrg basic_machine=vax-dec 12204b0ead49Smrg ;; 12214b0ead49Smrg pdp10) 12224b0ead49Smrg # there are many clones, so DEC is not a safe bet 12234b0ead49Smrg basic_machine=pdp10-unknown 12244b0ead49Smrg ;; 12254b0ead49Smrg pdp11) 12264b0ead49Smrg basic_machine=pdp11-dec 12274b0ead49Smrg ;; 12284b0ead49Smrg we32k) 12294b0ead49Smrg basic_machine=we32k-att 12304b0ead49Smrg ;; 123149dc963fSmrg sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) 12324b0ead49Smrg basic_machine=sh-unknown 12334b0ead49Smrg ;; 123452b01e16Smrg sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 12354b0ead49Smrg basic_machine=sparc-sun 12364b0ead49Smrg ;; 12374b0ead49Smrg cydra) 12384b0ead49Smrg basic_machine=cydra-cydrome 12394b0ead49Smrg ;; 12404b0ead49Smrg orion) 12414b0ead49Smrg basic_machine=orion-highlevel 12424b0ead49Smrg ;; 12434b0ead49Smrg orion105) 12444b0ead49Smrg basic_machine=clipper-highlevel 12454b0ead49Smrg ;; 12464b0ead49Smrg mac | mpw | mac-mpw) 12474b0ead49Smrg basic_machine=m68k-apple 12484b0ead49Smrg ;; 12494b0ead49Smrg pmac | pmac-mpw) 12504b0ead49Smrg basic_machine=powerpc-apple 12514b0ead49Smrg ;; 12524b0ead49Smrg *-unknown) 12534b0ead49Smrg # Make sure to match an already-canonicalized machine name. 12544b0ead49Smrg ;; 12554b0ead49Smrg *) 12564b0ead49Smrg echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 12574b0ead49Smrg exit 1 12584b0ead49Smrg ;; 12594b0ead49Smrgesac 12604b0ead49Smrg 12614b0ead49Smrg# Here we canonicalize certain aliases for manufacturers. 12624b0ead49Smrgcase $basic_machine in 12634b0ead49Smrg *-digital*) 12644b0ead49Smrg basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` 12654b0ead49Smrg ;; 12664b0ead49Smrg *-commodore*) 12674b0ead49Smrg basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` 12684b0ead49Smrg ;; 12694b0ead49Smrg *) 12704b0ead49Smrg ;; 12714b0ead49Smrgesac 12724b0ead49Smrg 12734b0ead49Smrg# Decode manufacturer-specific aliases for certain operating systems. 12744b0ead49Smrg 12754b0ead49Smrgif [ x"$os" != x"" ] 12764b0ead49Smrgthen 12774b0ead49Smrgcase $os in 12784b0ead49Smrg # First match some system type aliases 12794b0ead49Smrg # that might get confused with valid system types. 12804b0ead49Smrg # -solaris* is a basic system type, with this one exception. 128149dc963fSmrg -auroraux) 128249dc963fSmrg os=-auroraux 128349dc963fSmrg ;; 12844b0ead49Smrg -solaris1 | -solaris1.*) 12854b0ead49Smrg os=`echo $os | sed -e 's|solaris1|sunos4|'` 12864b0ead49Smrg ;; 12874b0ead49Smrg -solaris) 12884b0ead49Smrg os=-solaris2 12894b0ead49Smrg ;; 12904b0ead49Smrg -svr4*) 12914b0ead49Smrg os=-sysv4 12924b0ead49Smrg ;; 12934b0ead49Smrg -unixware*) 12944b0ead49Smrg os=-sysv4.2uw 12954b0ead49Smrg ;; 12964b0ead49Smrg -gnu/linux*) 12974b0ead49Smrg os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` 12984b0ead49Smrg ;; 12994b0ead49Smrg # First accept the basic system types. 13004b0ead49Smrg # The portable systems comes first. 13014b0ead49Smrg # Each alternative MUST END IN A *, to match a version number. 13024b0ead49Smrg # -sysv* is not here because it comes later, after sysvr4. 13034b0ead49Smrg -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ 130449dc963fSmrg | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ 130549dc963fSmrg | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ 130649dc963fSmrg | -sym* | -kopensolaris* \ 13074b0ead49Smrg | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ 130849dc963fSmrg | -aos* | -aros* \ 13094b0ead49Smrg | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ 13104b0ead49Smrg | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ 131152b01e16Smrg | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ 131252b01e16Smrg | -openbsd* | -solidbsd* \ 13134b0ead49Smrg | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ 13144b0ead49Smrg | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ 13154b0ead49Smrg | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ 13164b0ead49Smrg | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ 131749dc963fSmrg | -chorusos* | -chorusrdb* | -cegcc* \ 13184b0ead49Smrg | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ 13197aa89044Smrg | -mingw32* | -linux-gnu* | -linux-android* \ 13207aa89044Smrg | -linux-newlib* | -linux-uclibc* \ 132152b01e16Smrg | -uxpv* | -beos* | -mpeix* | -udk* \ 13224b0ead49Smrg | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ 13234b0ead49Smrg | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ 13244b0ead49Smrg | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ 13254b0ead49Smrg | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ 13264b0ead49Smrg | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ 13274b0ead49Smrg | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ 132849dc963fSmrg | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) 13294b0ead49Smrg # Remember, each alternative MUST END IN *, to match a version number. 13304b0ead49Smrg ;; 13314b0ead49Smrg -qnx*) 13324b0ead49Smrg case $basic_machine in 13334b0ead49Smrg x86-* | i*86-*) 13344b0ead49Smrg ;; 13354b0ead49Smrg *) 13364b0ead49Smrg os=-nto$os 13374b0ead49Smrg ;; 13384b0ead49Smrg esac 13394b0ead49Smrg ;; 13404b0ead49Smrg -nto-qnx*) 13414b0ead49Smrg ;; 13424b0ead49Smrg -nto*) 13434b0ead49Smrg os=`echo $os | sed -e 's|nto|nto-qnx|'` 13444b0ead49Smrg ;; 13454b0ead49Smrg -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ 13464b0ead49Smrg | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ 13474b0ead49Smrg | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) 13484b0ead49Smrg ;; 13494b0ead49Smrg -mac*) 13504b0ead49Smrg os=`echo $os | sed -e 's|mac|macos|'` 13514b0ead49Smrg ;; 13524b0ead49Smrg -linux-dietlibc) 13534b0ead49Smrg os=-linux-dietlibc 13544b0ead49Smrg ;; 13554b0ead49Smrg -linux*) 13564b0ead49Smrg os=`echo $os | sed -e 's|linux|linux-gnu|'` 13574b0ead49Smrg ;; 13584b0ead49Smrg -sunos5*) 13594b0ead49Smrg os=`echo $os | sed -e 's|sunos5|solaris2|'` 13604b0ead49Smrg ;; 13614b0ead49Smrg -sunos6*) 13624b0ead49Smrg os=`echo $os | sed -e 's|sunos6|solaris3|'` 13634b0ead49Smrg ;; 13644b0ead49Smrg -opened*) 13654b0ead49Smrg os=-openedition 13664b0ead49Smrg ;; 13674b0ead49Smrg -os400*) 13684b0ead49Smrg os=-os400 13694b0ead49Smrg ;; 13704b0ead49Smrg -wince*) 13714b0ead49Smrg os=-wince 13724b0ead49Smrg ;; 13734b0ead49Smrg -osfrose*) 13744b0ead49Smrg os=-osfrose 13754b0ead49Smrg ;; 13764b0ead49Smrg -osf*) 13774b0ead49Smrg os=-osf 13784b0ead49Smrg ;; 13794b0ead49Smrg -utek*) 13804b0ead49Smrg os=-bsd 13814b0ead49Smrg ;; 13824b0ead49Smrg -dynix*) 13834b0ead49Smrg os=-bsd 13844b0ead49Smrg ;; 13854b0ead49Smrg -acis*) 13864b0ead49Smrg os=-aos 13874b0ead49Smrg ;; 13884b0ead49Smrg -atheos*) 13894b0ead49Smrg os=-atheos 13904b0ead49Smrg ;; 13914b0ead49Smrg -syllable*) 13924b0ead49Smrg os=-syllable 13934b0ead49Smrg ;; 13944b0ead49Smrg -386bsd) 13954b0ead49Smrg os=-bsd 13964b0ead49Smrg ;; 13974b0ead49Smrg -ctix* | -uts*) 13984b0ead49Smrg os=-sysv 13994b0ead49Smrg ;; 14004b0ead49Smrg -nova*) 14014b0ead49Smrg os=-rtmk-nova 14024b0ead49Smrg ;; 14034b0ead49Smrg -ns2 ) 14044b0ead49Smrg os=-nextstep2 14054b0ead49Smrg ;; 14064b0ead49Smrg -nsk*) 14074b0ead49Smrg os=-nsk 14084b0ead49Smrg ;; 14094b0ead49Smrg # Preserve the version number of sinix5. 14104b0ead49Smrg -sinix5.*) 14114b0ead49Smrg os=`echo $os | sed -e 's|sinix|sysv|'` 14124b0ead49Smrg ;; 14134b0ead49Smrg -sinix*) 14144b0ead49Smrg os=-sysv4 14154b0ead49Smrg ;; 14164b0ead49Smrg -tpf*) 14174b0ead49Smrg os=-tpf 14184b0ead49Smrg ;; 14194b0ead49Smrg -triton*) 14204b0ead49Smrg os=-sysv3 14214b0ead49Smrg ;; 14224b0ead49Smrg -oss*) 14234b0ead49Smrg os=-sysv3 14244b0ead49Smrg ;; 14254b0ead49Smrg -svr4) 14264b0ead49Smrg os=-sysv4 14274b0ead49Smrg ;; 14284b0ead49Smrg -svr3) 14294b0ead49Smrg os=-sysv3 14304b0ead49Smrg ;; 14314b0ead49Smrg -sysvr4) 14324b0ead49Smrg os=-sysv4 14334b0ead49Smrg ;; 14344b0ead49Smrg # This must come after -sysvr4. 14354b0ead49Smrg -sysv*) 14364b0ead49Smrg ;; 14374b0ead49Smrg -ose*) 14384b0ead49Smrg os=-ose 14394b0ead49Smrg ;; 14404b0ead49Smrg -es1800*) 14414b0ead49Smrg os=-ose 14424b0ead49Smrg ;; 14434b0ead49Smrg -xenix) 14444b0ead49Smrg os=-xenix 14454b0ead49Smrg ;; 14464b0ead49Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 14474b0ead49Smrg os=-mint 14484b0ead49Smrg ;; 14494b0ead49Smrg -aros*) 14504b0ead49Smrg os=-aros 14514b0ead49Smrg ;; 14524b0ead49Smrg -kaos*) 14534b0ead49Smrg os=-kaos 14544b0ead49Smrg ;; 14554b0ead49Smrg -zvmoe) 14564b0ead49Smrg os=-zvmoe 14574b0ead49Smrg ;; 145849dc963fSmrg -dicos*) 145949dc963fSmrg os=-dicos 146049dc963fSmrg ;; 14617aa89044Smrg -nacl*) 14627aa89044Smrg ;; 14634b0ead49Smrg -none) 14644b0ead49Smrg ;; 14654b0ead49Smrg *) 14664b0ead49Smrg # Get rid of the `-' at the beginning of $os. 14674b0ead49Smrg os=`echo $os | sed 's/[^-]*-//'` 14684b0ead49Smrg echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 14694b0ead49Smrg exit 1 14704b0ead49Smrg ;; 14714b0ead49Smrgesac 14724b0ead49Smrgelse 14734b0ead49Smrg 14744b0ead49Smrg# Here we handle the default operating systems that come with various machines. 14754b0ead49Smrg# The value should be what the vendor currently ships out the door with their 14764b0ead49Smrg# machine or put another way, the most popular os provided with the machine. 14774b0ead49Smrg 14784b0ead49Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say, 14794b0ead49Smrg# "-sun"), then you have to tell the case statement up towards the top 14804b0ead49Smrg# that MANUFACTURER isn't an operating system. Otherwise, code above 14814b0ead49Smrg# will signal an error saying that MANUFACTURER isn't an operating 14824b0ead49Smrg# system, and we'll never get to this point. 14834b0ead49Smrg 14844b0ead49Smrgcase $basic_machine in 148552b01e16Smrg score-*) 148652b01e16Smrg os=-elf 148752b01e16Smrg ;; 148852b01e16Smrg spu-*) 148952b01e16Smrg os=-elf 149052b01e16Smrg ;; 14914b0ead49Smrg *-acorn) 14924b0ead49Smrg os=-riscix1.2 14934b0ead49Smrg ;; 14944b0ead49Smrg arm*-rebel) 14954b0ead49Smrg os=-linux 14964b0ead49Smrg ;; 14974b0ead49Smrg arm*-semi) 14984b0ead49Smrg os=-aout 14994b0ead49Smrg ;; 150052b01e16Smrg c4x-* | tic4x-*) 150152b01e16Smrg os=-coff 150252b01e16Smrg ;; 15037aa89044Smrg tic54x-*) 15047aa89044Smrg os=-coff 15057aa89044Smrg ;; 15067aa89044Smrg tic55x-*) 15077aa89044Smrg os=-coff 15087aa89044Smrg ;; 15097aa89044Smrg tic6x-*) 15107aa89044Smrg os=-coff 15117aa89044Smrg ;; 15124b0ead49Smrg # This must come before the *-dec entry. 15134b0ead49Smrg pdp10-*) 15144b0ead49Smrg os=-tops20 15154b0ead49Smrg ;; 15164b0ead49Smrg pdp11-*) 15174b0ead49Smrg os=-none 15184b0ead49Smrg ;; 15194b0ead49Smrg *-dec | vax-*) 15204b0ead49Smrg os=-ultrix4.2 15214b0ead49Smrg ;; 15224b0ead49Smrg m68*-apollo) 15234b0ead49Smrg os=-domain 15244b0ead49Smrg ;; 15254b0ead49Smrg i386-sun) 15264b0ead49Smrg os=-sunos4.0.2 15274b0ead49Smrg ;; 15284b0ead49Smrg m68000-sun) 15294b0ead49Smrg os=-sunos3 15304b0ead49Smrg # This also exists in the configure program, but was not the 15314b0ead49Smrg # default. 15324b0ead49Smrg # os=-sunos4 15334b0ead49Smrg ;; 15344b0ead49Smrg m68*-cisco) 15354b0ead49Smrg os=-aout 15364b0ead49Smrg ;; 153752b01e16Smrg mep-*) 153852b01e16Smrg os=-elf 153952b01e16Smrg ;; 15404b0ead49Smrg mips*-cisco) 15414b0ead49Smrg os=-elf 15424b0ead49Smrg ;; 15434b0ead49Smrg mips*-*) 15444b0ead49Smrg os=-elf 15454b0ead49Smrg ;; 15464b0ead49Smrg or32-*) 15474b0ead49Smrg os=-coff 15484b0ead49Smrg ;; 15494b0ead49Smrg *-tti) # must be before sparc entry or we get the wrong os. 15504b0ead49Smrg os=-sysv3 15514b0ead49Smrg ;; 15524b0ead49Smrg sparc-* | *-sun) 15534b0ead49Smrg os=-sunos4.1.1 15544b0ead49Smrg ;; 15554b0ead49Smrg *-be) 15564b0ead49Smrg os=-beos 15574b0ead49Smrg ;; 15584b0ead49Smrg *-haiku) 15594b0ead49Smrg os=-haiku 15604b0ead49Smrg ;; 15614b0ead49Smrg *-ibm) 15624b0ead49Smrg os=-aix 15634b0ead49Smrg ;; 15644b0ead49Smrg *-knuth) 15654b0ead49Smrg os=-mmixware 15664b0ead49Smrg ;; 15674b0ead49Smrg *-wec) 15684b0ead49Smrg os=-proelf 15694b0ead49Smrg ;; 15704b0ead49Smrg *-winbond) 15714b0ead49Smrg os=-proelf 15724b0ead49Smrg ;; 15734b0ead49Smrg *-oki) 15744b0ead49Smrg os=-proelf 15754b0ead49Smrg ;; 15764b0ead49Smrg *-hp) 15774b0ead49Smrg os=-hpux 15784b0ead49Smrg ;; 15794b0ead49Smrg *-hitachi) 15804b0ead49Smrg os=-hiux 15814b0ead49Smrg ;; 15824b0ead49Smrg i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) 15834b0ead49Smrg os=-sysv 15844b0ead49Smrg ;; 15854b0ead49Smrg *-cbm) 15864b0ead49Smrg os=-amigaos 15874b0ead49Smrg ;; 15884b0ead49Smrg *-dg) 15894b0ead49Smrg os=-dgux 15904b0ead49Smrg ;; 15914b0ead49Smrg *-dolphin) 15924b0ead49Smrg os=-sysv3 15934b0ead49Smrg ;; 15944b0ead49Smrg m68k-ccur) 15954b0ead49Smrg os=-rtu 15964b0ead49Smrg ;; 15974b0ead49Smrg m88k-omron*) 15984b0ead49Smrg os=-luna 15994b0ead49Smrg ;; 16004b0ead49Smrg *-next ) 16014b0ead49Smrg os=-nextstep 16024b0ead49Smrg ;; 16034b0ead49Smrg *-sequent) 16044b0ead49Smrg os=-ptx 16054b0ead49Smrg ;; 16064b0ead49Smrg *-crds) 16074b0ead49Smrg os=-unos 16084b0ead49Smrg ;; 16094b0ead49Smrg *-ns) 16104b0ead49Smrg os=-genix 16114b0ead49Smrg ;; 16124b0ead49Smrg i370-*) 16134b0ead49Smrg os=-mvs 16144b0ead49Smrg ;; 16154b0ead49Smrg *-next) 16164b0ead49Smrg os=-nextstep3 16174b0ead49Smrg ;; 16184b0ead49Smrg *-gould) 16194b0ead49Smrg os=-sysv 16204b0ead49Smrg ;; 16214b0ead49Smrg *-highlevel) 16224b0ead49Smrg os=-bsd 16234b0ead49Smrg ;; 16244b0ead49Smrg *-encore) 16254b0ead49Smrg os=-bsd 16264b0ead49Smrg ;; 16274b0ead49Smrg *-sgi) 16284b0ead49Smrg os=-irix 16294b0ead49Smrg ;; 16304b0ead49Smrg *-siemens) 16314b0ead49Smrg os=-sysv4 16324b0ead49Smrg ;; 16334b0ead49Smrg *-masscomp) 16344b0ead49Smrg os=-rtu 16354b0ead49Smrg ;; 16364b0ead49Smrg f30[01]-fujitsu | f700-fujitsu) 16374b0ead49Smrg os=-uxpv 16384b0ead49Smrg ;; 16394b0ead49Smrg *-rom68k) 16404b0ead49Smrg os=-coff 16414b0ead49Smrg ;; 16424b0ead49Smrg *-*bug) 16434b0ead49Smrg os=-coff 16444b0ead49Smrg ;; 16454b0ead49Smrg *-apple) 16464b0ead49Smrg os=-macos 16474b0ead49Smrg ;; 16484b0ead49Smrg *-atari*) 16494b0ead49Smrg os=-mint 16504b0ead49Smrg ;; 16514b0ead49Smrg *) 16524b0ead49Smrg os=-none 16534b0ead49Smrg ;; 16544b0ead49Smrgesac 16554b0ead49Smrgfi 16564b0ead49Smrg 16574b0ead49Smrg# Here we handle the case where we know the os, and the CPU type, but not the 16584b0ead49Smrg# manufacturer. We pick the logical manufacturer. 16594b0ead49Smrgvendor=unknown 16604b0ead49Smrgcase $basic_machine in 16614b0ead49Smrg *-unknown) 16624b0ead49Smrg case $os in 16634b0ead49Smrg -riscix*) 16644b0ead49Smrg vendor=acorn 16654b0ead49Smrg ;; 16664b0ead49Smrg -sunos*) 16674b0ead49Smrg vendor=sun 16684b0ead49Smrg ;; 166949dc963fSmrg -cnk*|-aix*) 16704b0ead49Smrg vendor=ibm 16714b0ead49Smrg ;; 16724b0ead49Smrg -beos*) 16734b0ead49Smrg vendor=be 16744b0ead49Smrg ;; 16754b0ead49Smrg -hpux*) 16764b0ead49Smrg vendor=hp 16774b0ead49Smrg ;; 16784b0ead49Smrg -mpeix*) 16794b0ead49Smrg vendor=hp 16804b0ead49Smrg ;; 16814b0ead49Smrg -hiux*) 16824b0ead49Smrg vendor=hitachi 16834b0ead49Smrg ;; 16844b0ead49Smrg -unos*) 16854b0ead49Smrg vendor=crds 16864b0ead49Smrg ;; 16874b0ead49Smrg -dgux*) 16884b0ead49Smrg vendor=dg 16894b0ead49Smrg ;; 16904b0ead49Smrg -luna*) 16914b0ead49Smrg vendor=omron 16924b0ead49Smrg ;; 16934b0ead49Smrg -genix*) 16944b0ead49Smrg vendor=ns 16954b0ead49Smrg ;; 16964b0ead49Smrg -mvs* | -opened*) 16974b0ead49Smrg vendor=ibm 16984b0ead49Smrg ;; 16994b0ead49Smrg -os400*) 17004b0ead49Smrg vendor=ibm 17014b0ead49Smrg ;; 17024b0ead49Smrg -ptx*) 17034b0ead49Smrg vendor=sequent 17044b0ead49Smrg ;; 17054b0ead49Smrg -tpf*) 17064b0ead49Smrg vendor=ibm 17074b0ead49Smrg ;; 17084b0ead49Smrg -vxsim* | -vxworks* | -windiss*) 17094b0ead49Smrg vendor=wrs 17104b0ead49Smrg ;; 17114b0ead49Smrg -aux*) 17124b0ead49Smrg vendor=apple 17134b0ead49Smrg ;; 17144b0ead49Smrg -hms*) 17154b0ead49Smrg vendor=hitachi 17164b0ead49Smrg ;; 17174b0ead49Smrg -mpw* | -macos*) 17184b0ead49Smrg vendor=apple 17194b0ead49Smrg ;; 17204b0ead49Smrg -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) 17214b0ead49Smrg vendor=atari 17224b0ead49Smrg ;; 17234b0ead49Smrg -vos*) 17244b0ead49Smrg vendor=stratus 17254b0ead49Smrg ;; 17264b0ead49Smrg esac 17274b0ead49Smrg basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` 17284b0ead49Smrg ;; 17294b0ead49Smrgesac 17304b0ead49Smrg 17314b0ead49Smrgecho $basic_machine$os 17324b0ead49Smrgexit 17334b0ead49Smrg 17344b0ead49Smrg# Local variables: 17354b0ead49Smrg# eval: (add-hook 'write-file-hooks 'time-stamp) 17364b0ead49Smrg# time-stamp-start: "timestamp='" 17374b0ead49Smrg# time-stamp-format: "%:y-%02m-%02d" 17384b0ead49Smrg# time-stamp-end: "'" 17394b0ead49Smrg# End: 1740