config.sub revision 8f65982a
19aa228fdSmrg#! /bin/sh
29aa228fdSmrg# Configuration validation subroutine script.
39aa228fdSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
48f65982aSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
58f65982aSmrg#   Free Software Foundation, Inc.
69aa228fdSmrg
78f65982aSmrgtimestamp='2010-09-11'
89aa228fdSmrg
99aa228fdSmrg# This file is (in principle) common to ALL GNU software.
109aa228fdSmrg# The presence of a machine in this file suggests that SOME GNU software
119aa228fdSmrg# can handle that machine.  It does not imply ALL GNU software can.
129aa228fdSmrg#
139aa228fdSmrg# This file is free software; you can redistribute it and/or modify
149aa228fdSmrg# it under the terms of the GNU General Public License as published by
159aa228fdSmrg# the Free Software Foundation; either version 2 of the License, or
169aa228fdSmrg# (at your option) any later version.
179aa228fdSmrg#
189aa228fdSmrg# This program is distributed in the hope that it will be useful,
199aa228fdSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
209aa228fdSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
219aa228fdSmrg# GNU General Public License for more details.
229aa228fdSmrg#
239aa228fdSmrg# You should have received a copy of the GNU General Public License
249aa228fdSmrg# along with this program; if not, write to the Free Software
259aa228fdSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269aa228fdSmrg# 02110-1301, USA.
279aa228fdSmrg#
289aa228fdSmrg# As a special exception to the GNU General Public License, if you
299aa228fdSmrg# distribute this file as part of a program that contains a
309aa228fdSmrg# configuration script generated by Autoconf, you may include it under
319aa228fdSmrg# the same distribution terms that you use for the rest of that program.
329aa228fdSmrg
339aa228fdSmrg
349aa228fdSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
358f65982aSmrg# diff and a properly formatted GNU ChangeLog entry.
369aa228fdSmrg#
379aa228fdSmrg# Configuration subroutine to validate and canonicalize a configuration type.
389aa228fdSmrg# Supply the specified configuration type as an argument.
399aa228fdSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
409aa228fdSmrg# Otherwise, we print the canonical config type on stdout and succeed.
419aa228fdSmrg
428f65982aSmrg# You can get the latest version of this script from:
438f65982aSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
448f65982aSmrg
459aa228fdSmrg# This file is supposed to be the same for all GNU packages
469aa228fdSmrg# and recognize all the CPU types, system types and aliases
479aa228fdSmrg# that are meaningful with *any* GNU software.
489aa228fdSmrg# Each package is responsible for reporting which valid configurations
499aa228fdSmrg# it does not support.  The user should be able to distinguish
509aa228fdSmrg# a failure to support a valid configuration from a meaningless
519aa228fdSmrg# configuration.
529aa228fdSmrg
539aa228fdSmrg# The goal of this file is to map all the various variations of a given
549aa228fdSmrg# machine specification into a single specification in the form:
559aa228fdSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
569aa228fdSmrg# or in some cases, the newer four-part form:
579aa228fdSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
589aa228fdSmrg# It is wrong to echo any other type of specification.
599aa228fdSmrg
609aa228fdSmrgme=`echo "$0" | sed -e 's,.*/,,'`
619aa228fdSmrg
629aa228fdSmrgusage="\
639aa228fdSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
649aa228fdSmrg       $0 [OPTION] ALIAS
659aa228fdSmrg
669aa228fdSmrgCanonicalize a configuration name.
679aa228fdSmrg
689aa228fdSmrgOperation modes:
699aa228fdSmrg  -h, --help         print this help, then exit
709aa228fdSmrg  -t, --time-stamp   print date of last modification, then exit
719aa228fdSmrg  -v, --version      print version number, then exit
729aa228fdSmrg
739aa228fdSmrgReport bugs and patches to <config-patches@gnu.org>."
749aa228fdSmrg
759aa228fdSmrgversion="\
769aa228fdSmrgGNU config.sub ($timestamp)
779aa228fdSmrg
788f65982aSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
798f65982aSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
808f65982aSmrgSoftware Foundation, Inc.
819aa228fdSmrg
829aa228fdSmrgThis is free software; see the source for copying conditions.  There is NO
839aa228fdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
849aa228fdSmrg
859aa228fdSmrghelp="
869aa228fdSmrgTry \`$me --help' for more information."
879aa228fdSmrg
889aa228fdSmrg# Parse command line
899aa228fdSmrgwhile test $# -gt 0 ; do
909aa228fdSmrg  case $1 in
919aa228fdSmrg    --time-stamp | --time* | -t )
929aa228fdSmrg       echo "$timestamp" ; exit ;;
939aa228fdSmrg    --version | -v )
949aa228fdSmrg       echo "$version" ; exit ;;
959aa228fdSmrg    --help | --h* | -h )
969aa228fdSmrg       echo "$usage"; exit ;;
979aa228fdSmrg    -- )     # Stop option processing
989aa228fdSmrg       shift; break ;;
999aa228fdSmrg    - )	# Use stdin as input.
1009aa228fdSmrg       break ;;
1019aa228fdSmrg    -* )
1029aa228fdSmrg       echo "$me: invalid option $1$help"
1039aa228fdSmrg       exit 1 ;;
1049aa228fdSmrg
1059aa228fdSmrg    *local*)
1069aa228fdSmrg       # First pass through any local machine types.
1079aa228fdSmrg       echo $1
1089aa228fdSmrg       exit ;;
1099aa228fdSmrg
1109aa228fdSmrg    * )
1119aa228fdSmrg       break ;;
1129aa228fdSmrg  esac
1139aa228fdSmrgdone
1149aa228fdSmrg
1159aa228fdSmrgcase $# in
1169aa228fdSmrg 0) echo "$me: missing argument$help" >&2
1179aa228fdSmrg    exit 1;;
1189aa228fdSmrg 1) ;;
1199aa228fdSmrg *) echo "$me: too many arguments$help" >&2
1209aa228fdSmrg    exit 1;;
1219aa228fdSmrgesac
1229aa228fdSmrg
1239aa228fdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1249aa228fdSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1259aa228fdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1269aa228fdSmrgcase $maybe_os in
1278f65982aSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1288f65982aSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1298f65982aSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1308f65982aSmrg  kopensolaris*-gnu* | \
1319aa228fdSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1329aa228fdSmrg    os=-$maybe_os
1339aa228fdSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1349aa228fdSmrg    ;;
1359aa228fdSmrg  *)
1369aa228fdSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1379aa228fdSmrg    if [ $basic_machine != $1 ]
1389aa228fdSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1399aa228fdSmrg    else os=; fi
1409aa228fdSmrg    ;;
1419aa228fdSmrgesac
1429aa228fdSmrg
1439aa228fdSmrg### Let's recognize common machines as not being operating systems so
1449aa228fdSmrg### that things like config.sub decstation-3100 work.  We also
1459aa228fdSmrg### recognize some manufacturers as not being operating systems, so we
1469aa228fdSmrg### can provide default operating systems below.
1479aa228fdSmrgcase $os in
1489aa228fdSmrg	-sun*os*)
1499aa228fdSmrg		# Prevent following clause from handling this invalid input.
1509aa228fdSmrg		;;
1519aa228fdSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1529aa228fdSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1539aa228fdSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1549aa228fdSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1559aa228fdSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1569aa228fdSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1578f65982aSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1589aa228fdSmrg		os=
1599aa228fdSmrg		basic_machine=$1
1609aa228fdSmrg		;;
1618f65982aSmrg        -bluegene*)
1628f65982aSmrg	        os=-cnk
1638f65982aSmrg		;;
1649aa228fdSmrg	-sim | -cisco | -oki | -wec | -winbond)
1659aa228fdSmrg		os=
1669aa228fdSmrg		basic_machine=$1
1679aa228fdSmrg		;;
1689aa228fdSmrg	-scout)
1699aa228fdSmrg		;;
1709aa228fdSmrg	-wrs)
1719aa228fdSmrg		os=-vxworks
1729aa228fdSmrg		basic_machine=$1
1739aa228fdSmrg		;;
1749aa228fdSmrg	-chorusos*)
1759aa228fdSmrg		os=-chorusos
1769aa228fdSmrg		basic_machine=$1
1779aa228fdSmrg		;;
1789aa228fdSmrg 	-chorusrdb)
1799aa228fdSmrg 		os=-chorusrdb
1809aa228fdSmrg		basic_machine=$1
1819aa228fdSmrg 		;;
1829aa228fdSmrg	-hiux*)
1839aa228fdSmrg		os=-hiuxwe2
1849aa228fdSmrg		;;
1859aa228fdSmrg	-sco6)
1869aa228fdSmrg		os=-sco5v6
1879aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1889aa228fdSmrg		;;
1899aa228fdSmrg	-sco5)
1909aa228fdSmrg		os=-sco3.2v5
1919aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1929aa228fdSmrg		;;
1939aa228fdSmrg	-sco4)
1949aa228fdSmrg		os=-sco3.2v4
1959aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1969aa228fdSmrg		;;
1979aa228fdSmrg	-sco3.2.[4-9]*)
1989aa228fdSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1999aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2009aa228fdSmrg		;;
2019aa228fdSmrg	-sco3.2v[4-9]*)
2029aa228fdSmrg		# Don't forget version if it is 3.2v4 or newer.
2039aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2049aa228fdSmrg		;;
2059aa228fdSmrg	-sco5v6*)
2069aa228fdSmrg		# Don't forget version if it is 3.2v4 or newer.
2079aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2089aa228fdSmrg		;;
2099aa228fdSmrg	-sco*)
2109aa228fdSmrg		os=-sco3.2v2
2119aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2129aa228fdSmrg		;;
2139aa228fdSmrg	-udk*)
2149aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2159aa228fdSmrg		;;
2169aa228fdSmrg	-isc)
2179aa228fdSmrg		os=-isc2.2
2189aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2199aa228fdSmrg		;;
2209aa228fdSmrg	-clix*)
2219aa228fdSmrg		basic_machine=clipper-intergraph
2229aa228fdSmrg		;;
2239aa228fdSmrg	-isc*)
2249aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2259aa228fdSmrg		;;
2269aa228fdSmrg	-lynx*)
2279aa228fdSmrg		os=-lynxos
2289aa228fdSmrg		;;
2299aa228fdSmrg	-ptx*)
2309aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2319aa228fdSmrg		;;
2329aa228fdSmrg	-windowsnt*)
2339aa228fdSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2349aa228fdSmrg		;;
2359aa228fdSmrg	-psos*)
2369aa228fdSmrg		os=-psos
2379aa228fdSmrg		;;
2389aa228fdSmrg	-mint | -mint[0-9]*)
2399aa228fdSmrg		basic_machine=m68k-atari
2409aa228fdSmrg		os=-mint
2419aa228fdSmrg		;;
2429aa228fdSmrgesac
2439aa228fdSmrg
2449aa228fdSmrg# Decode aliases for certain CPU-COMPANY combinations.
2459aa228fdSmrgcase $basic_machine in
2469aa228fdSmrg	# Recognize the basic CPU types without company name.
2479aa228fdSmrg	# Some are omitted here because they have special meanings below.
2489aa228fdSmrg	1750a | 580 \
2499aa228fdSmrg	| a29k \
2509aa228fdSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2519aa228fdSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2529aa228fdSmrg	| am33_2.0 \
2539aa228fdSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2549aa228fdSmrg	| bfin \
2559aa228fdSmrg	| c4x | clipper \
2569aa228fdSmrg	| d10v | d30v | dlx | dsp16xx \
2578f65982aSmrg	| fido | fr30 | frv \
2589aa228fdSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2599aa228fdSmrg	| i370 | i860 | i960 | ia64 \
2609aa228fdSmrg	| ip2k | iq2000 \
2618f65982aSmrg	| lm32 \
2629aa228fdSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2638f65982aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2649aa228fdSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2659aa228fdSmrg	| mips16 \
2669aa228fdSmrg	| mips64 | mips64el \
2678f65982aSmrg	| mips64octeon | mips64octeonel \
2689aa228fdSmrg	| mips64orion | mips64orionel \
2698f65982aSmrg	| mips64r5900 | mips64r5900el \
2708f65982aSmrg	| mips64vr | mips64vrel \
2719aa228fdSmrg	| mips64vr4100 | mips64vr4100el \
2729aa228fdSmrg	| mips64vr4300 | mips64vr4300el \
2739aa228fdSmrg	| mips64vr5000 | mips64vr5000el \
2749aa228fdSmrg	| mips64vr5900 | mips64vr5900el \
2759aa228fdSmrg	| mipsisa32 | mipsisa32el \
2769aa228fdSmrg	| mipsisa32r2 | mipsisa32r2el \
2779aa228fdSmrg	| mipsisa64 | mipsisa64el \
2789aa228fdSmrg	| mipsisa64r2 | mipsisa64r2el \
2799aa228fdSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2809aa228fdSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2819aa228fdSmrg	| mipstx39 | mipstx39el \
2829aa228fdSmrg	| mn10200 | mn10300 \
2838f65982aSmrg	| moxie \
2849aa228fdSmrg	| mt \
2859aa228fdSmrg	| msp430 \
2868f65982aSmrg	| nds32 | nds32le | nds32be \
2879aa228fdSmrg	| nios | nios2 \
2889aa228fdSmrg	| ns16k | ns32k \
2899aa228fdSmrg	| or32 \
2909aa228fdSmrg	| pdp10 | pdp11 | pj | pjl \
2919aa228fdSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2929aa228fdSmrg	| pyramid \
2938f65982aSmrg	| rx \
2949aa228fdSmrg	| score \
2958f65982aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2969aa228fdSmrg	| sh64 | sh64le \
2979aa228fdSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2989aa228fdSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2999aa228fdSmrg	| spu | strongarm \
3008f65982aSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3018f65982aSmrg	| ubicom32 \
3029aa228fdSmrg	| v850 | v850e \
3039aa228fdSmrg	| we32k \
3049aa228fdSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3058f65982aSmrg	| z8k | z80)
3069aa228fdSmrg		basic_machine=$basic_machine-unknown
3079aa228fdSmrg		;;
3088f65982aSmrg	c54x)
3098f65982aSmrg		basic_machine=tic54x-unknown
3108f65982aSmrg		;;
3118f65982aSmrg	c55x)
3128f65982aSmrg		basic_machine=tic55x-unknown
3138f65982aSmrg		;;
3148f65982aSmrg	c6x)
3158f65982aSmrg		basic_machine=tic6x-unknown
3168f65982aSmrg		;;
3178f65982aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3189aa228fdSmrg		# Motorola 68HC11/12.
3199aa228fdSmrg		basic_machine=$basic_machine-unknown
3209aa228fdSmrg		os=-none
3219aa228fdSmrg		;;
3229aa228fdSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3239aa228fdSmrg		;;
3249aa228fdSmrg	ms1)
3259aa228fdSmrg		basic_machine=mt-unknown
3269aa228fdSmrg		;;
3279aa228fdSmrg
3289aa228fdSmrg	# We use `pc' rather than `unknown'
3299aa228fdSmrg	# because (1) that's what they normally are, and
3309aa228fdSmrg	# (2) the word "unknown" tends to confuse beginning users.
3319aa228fdSmrg	i*86 | x86_64)
3329aa228fdSmrg	  basic_machine=$basic_machine-pc
3339aa228fdSmrg	  ;;
3349aa228fdSmrg	# Object if more than one company name word.
3359aa228fdSmrg	*-*-*)
3369aa228fdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3379aa228fdSmrg		exit 1
3389aa228fdSmrg		;;
3399aa228fdSmrg	# Recognize the basic CPU types with company name.
3409aa228fdSmrg	580-* \
3419aa228fdSmrg	| a29k-* \
3429aa228fdSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3439aa228fdSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3449aa228fdSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3459aa228fdSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3469aa228fdSmrg	| avr-* | avr32-* \
3479aa228fdSmrg	| bfin-* | bs2000-* \
3488f65982aSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3499aa228fdSmrg	| clipper-* | craynv-* | cydra-* \
3509aa228fdSmrg	| d10v-* | d30v-* | dlx-* \
3519aa228fdSmrg	| elxsi-* \
3528f65982aSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3539aa228fdSmrg	| h8300-* | h8500-* \
3549aa228fdSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3559aa228fdSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3569aa228fdSmrg	| ip2k-* | iq2000-* \
3578f65982aSmrg	| lm32-* \
3589aa228fdSmrg	| m32c-* | m32r-* | m32rle-* \
3599aa228fdSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3608f65982aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3619aa228fdSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3629aa228fdSmrg	| mips16-* \
3639aa228fdSmrg	| mips64-* | mips64el-* \
3648f65982aSmrg	| mips64octeon-* | mips64octeonel-* \
3659aa228fdSmrg	| mips64orion-* | mips64orionel-* \
3668f65982aSmrg	| mips64r5900-* | mips64r5900el-* \
3678f65982aSmrg	| mips64vr-* | mips64vrel-* \
3689aa228fdSmrg	| mips64vr4100-* | mips64vr4100el-* \
3699aa228fdSmrg	| mips64vr4300-* | mips64vr4300el-* \
3709aa228fdSmrg	| mips64vr5000-* | mips64vr5000el-* \
3719aa228fdSmrg	| mips64vr5900-* | mips64vr5900el-* \
3729aa228fdSmrg	| mipsisa32-* | mipsisa32el-* \
3739aa228fdSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3749aa228fdSmrg	| mipsisa64-* | mipsisa64el-* \
3759aa228fdSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3769aa228fdSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3779aa228fdSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3789aa228fdSmrg	| mipstx39-* | mipstx39el-* \
3799aa228fdSmrg	| mmix-* \
3809aa228fdSmrg	| mt-* \
3819aa228fdSmrg	| msp430-* \
3828f65982aSmrg	| nds32-* | nds32le-* | nds32be-* \
3839aa228fdSmrg	| nios-* | nios2-* \
3849aa228fdSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3859aa228fdSmrg	| orion-* \
3869aa228fdSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3879aa228fdSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3889aa228fdSmrg	| pyramid-* \
3898f65982aSmrg	| romp-* | rs6000-* | rx-* \
3908f65982aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3919aa228fdSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3929aa228fdSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3939aa228fdSmrg	| sparclite-* \
3949aa228fdSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3959aa228fdSmrg	| tahoe-* | thumb-* \
3969aa228fdSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3978f65982aSmrg	| tile-* | tilegx-* \
3989aa228fdSmrg	| tron-* \
3998f65982aSmrg	| ubicom32-* \
4009aa228fdSmrg	| v850-* | v850e-* | vax-* \
4019aa228fdSmrg	| we32k-* \
4029aa228fdSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4038f65982aSmrg	| xstormy16-* | xtensa*-* \
4049aa228fdSmrg	| ymp-* \
4058f65982aSmrg	| z8k-* | z80-*)
4068f65982aSmrg		;;
4078f65982aSmrg	# Recognize the basic CPU types without company name, with glob match.
4088f65982aSmrg	xtensa*)
4098f65982aSmrg		basic_machine=$basic_machine-unknown
4109aa228fdSmrg		;;
4119aa228fdSmrg	# Recognize the various machine names and aliases which stand
4129aa228fdSmrg	# for a CPU type and a company and sometimes even an OS.
4139aa228fdSmrg	386bsd)
4149aa228fdSmrg		basic_machine=i386-unknown
4159aa228fdSmrg		os=-bsd
4169aa228fdSmrg		;;
4179aa228fdSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4189aa228fdSmrg		basic_machine=m68000-att
4199aa228fdSmrg		;;
4209aa228fdSmrg	3b*)
4219aa228fdSmrg		basic_machine=we32k-att
4229aa228fdSmrg		;;
4239aa228fdSmrg	a29khif)
4249aa228fdSmrg		basic_machine=a29k-amd
4259aa228fdSmrg		os=-udi
4269aa228fdSmrg		;;
4279aa228fdSmrg    	abacus)
4289aa228fdSmrg		basic_machine=abacus-unknown
4299aa228fdSmrg		;;
4309aa228fdSmrg	adobe68k)
4319aa228fdSmrg		basic_machine=m68010-adobe
4329aa228fdSmrg		os=-scout
4339aa228fdSmrg		;;
4349aa228fdSmrg	alliant | fx80)
4359aa228fdSmrg		basic_machine=fx80-alliant
4369aa228fdSmrg		;;
4379aa228fdSmrg	altos | altos3068)
4389aa228fdSmrg		basic_machine=m68k-altos
4399aa228fdSmrg		;;
4409aa228fdSmrg	am29k)
4419aa228fdSmrg		basic_machine=a29k-none
4429aa228fdSmrg		os=-bsd
4439aa228fdSmrg		;;
4449aa228fdSmrg	amd64)
4459aa228fdSmrg		basic_machine=x86_64-pc
4469aa228fdSmrg		;;
4479aa228fdSmrg	amd64-*)
4489aa228fdSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4499aa228fdSmrg		;;
4509aa228fdSmrg	amdahl)
4519aa228fdSmrg		basic_machine=580-amdahl
4529aa228fdSmrg		os=-sysv
4539aa228fdSmrg		;;
4549aa228fdSmrg	amiga | amiga-*)
4559aa228fdSmrg		basic_machine=m68k-unknown
4569aa228fdSmrg		;;
4579aa228fdSmrg	amigaos | amigados)
4589aa228fdSmrg		basic_machine=m68k-unknown
4599aa228fdSmrg		os=-amigaos
4609aa228fdSmrg		;;
4619aa228fdSmrg	amigaunix | amix)
4629aa228fdSmrg		basic_machine=m68k-unknown
4639aa228fdSmrg		os=-sysv4
4649aa228fdSmrg		;;
4659aa228fdSmrg	apollo68)
4669aa228fdSmrg		basic_machine=m68k-apollo
4679aa228fdSmrg		os=-sysv
4689aa228fdSmrg		;;
4699aa228fdSmrg	apollo68bsd)
4709aa228fdSmrg		basic_machine=m68k-apollo
4719aa228fdSmrg		os=-bsd
4729aa228fdSmrg		;;
4738f65982aSmrg	aros)
4748f65982aSmrg		basic_machine=i386-pc
4758f65982aSmrg		os=-aros
4768f65982aSmrg		;;
4779aa228fdSmrg	aux)
4789aa228fdSmrg		basic_machine=m68k-apple
4799aa228fdSmrg		os=-aux
4809aa228fdSmrg		;;
4819aa228fdSmrg	balance)
4829aa228fdSmrg		basic_machine=ns32k-sequent
4839aa228fdSmrg		os=-dynix
4849aa228fdSmrg		;;
4858f65982aSmrg	blackfin)
4868f65982aSmrg		basic_machine=bfin-unknown
4878f65982aSmrg		os=-linux
4888f65982aSmrg		;;
4898f65982aSmrg	blackfin-*)
4908f65982aSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4918f65982aSmrg		os=-linux
4928f65982aSmrg		;;
4938f65982aSmrg	bluegene*)
4948f65982aSmrg		basic_machine=powerpc-ibm
4958f65982aSmrg		os=-cnk
4968f65982aSmrg		;;
4978f65982aSmrg	c54x-*)
4988f65982aSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4998f65982aSmrg		;;
5008f65982aSmrg	c55x-*)
5018f65982aSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5028f65982aSmrg		;;
5038f65982aSmrg	c6x-*)
5048f65982aSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5058f65982aSmrg		;;
5069aa228fdSmrg	c90)
5079aa228fdSmrg		basic_machine=c90-cray
5089aa228fdSmrg		os=-unicos
5099aa228fdSmrg		;;
5108f65982aSmrg        cegcc)
5118f65982aSmrg		basic_machine=arm-unknown
5128f65982aSmrg		os=-cegcc
5138f65982aSmrg		;;
5149aa228fdSmrg	convex-c1)
5159aa228fdSmrg		basic_machine=c1-convex
5169aa228fdSmrg		os=-bsd
5179aa228fdSmrg		;;
5189aa228fdSmrg	convex-c2)
5199aa228fdSmrg		basic_machine=c2-convex
5209aa228fdSmrg		os=-bsd
5219aa228fdSmrg		;;
5229aa228fdSmrg	convex-c32)
5239aa228fdSmrg		basic_machine=c32-convex
5249aa228fdSmrg		os=-bsd
5259aa228fdSmrg		;;
5269aa228fdSmrg	convex-c34)
5279aa228fdSmrg		basic_machine=c34-convex
5289aa228fdSmrg		os=-bsd
5299aa228fdSmrg		;;
5309aa228fdSmrg	convex-c38)
5319aa228fdSmrg		basic_machine=c38-convex
5329aa228fdSmrg		os=-bsd
5339aa228fdSmrg		;;
5349aa228fdSmrg	cray | j90)
5359aa228fdSmrg		basic_machine=j90-cray
5369aa228fdSmrg		os=-unicos
5379aa228fdSmrg		;;
5389aa228fdSmrg	craynv)
5399aa228fdSmrg		basic_machine=craynv-cray
5409aa228fdSmrg		os=-unicosmp
5419aa228fdSmrg		;;
5428f65982aSmrg	cr16)
5438f65982aSmrg		basic_machine=cr16-unknown
5449aa228fdSmrg		os=-elf
5459aa228fdSmrg		;;
5469aa228fdSmrg	crds | unos)
5479aa228fdSmrg		basic_machine=m68k-crds
5489aa228fdSmrg		;;
5499aa228fdSmrg	crisv32 | crisv32-* | etraxfs*)
5509aa228fdSmrg		basic_machine=crisv32-axis
5519aa228fdSmrg		;;
5529aa228fdSmrg	cris | cris-* | etrax*)
5539aa228fdSmrg		basic_machine=cris-axis
5549aa228fdSmrg		;;
5559aa228fdSmrg	crx)
5569aa228fdSmrg		basic_machine=crx-unknown
5579aa228fdSmrg		os=-elf
5589aa228fdSmrg		;;
5599aa228fdSmrg	da30 | da30-*)
5609aa228fdSmrg		basic_machine=m68k-da30
5619aa228fdSmrg		;;
5629aa228fdSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5639aa228fdSmrg		basic_machine=mips-dec
5649aa228fdSmrg		;;
5659aa228fdSmrg	decsystem10* | dec10*)
5669aa228fdSmrg		basic_machine=pdp10-dec
5679aa228fdSmrg		os=-tops10
5689aa228fdSmrg		;;
5699aa228fdSmrg	decsystem20* | dec20*)
5709aa228fdSmrg		basic_machine=pdp10-dec
5719aa228fdSmrg		os=-tops20
5729aa228fdSmrg		;;
5739aa228fdSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5749aa228fdSmrg	      | 3300-motorola | delta-motorola)
5759aa228fdSmrg		basic_machine=m68k-motorola
5769aa228fdSmrg		;;
5779aa228fdSmrg	delta88)
5789aa228fdSmrg		basic_machine=m88k-motorola
5799aa228fdSmrg		os=-sysv3
5809aa228fdSmrg		;;
5818f65982aSmrg	dicos)
5828f65982aSmrg		basic_machine=i686-pc
5838f65982aSmrg		os=-dicos
5848f65982aSmrg		;;
5859aa228fdSmrg	djgpp)
5869aa228fdSmrg		basic_machine=i586-pc
5879aa228fdSmrg		os=-msdosdjgpp
5889aa228fdSmrg		;;
5899aa228fdSmrg	dpx20 | dpx20-*)
5909aa228fdSmrg		basic_machine=rs6000-bull
5919aa228fdSmrg		os=-bosx
5929aa228fdSmrg		;;
5939aa228fdSmrg	dpx2* | dpx2*-bull)
5949aa228fdSmrg		basic_machine=m68k-bull
5959aa228fdSmrg		os=-sysv3
5969aa228fdSmrg		;;
5979aa228fdSmrg	ebmon29k)
5989aa228fdSmrg		basic_machine=a29k-amd
5999aa228fdSmrg		os=-ebmon
6009aa228fdSmrg		;;
6019aa228fdSmrg	elxsi)
6029aa228fdSmrg		basic_machine=elxsi-elxsi
6039aa228fdSmrg		os=-bsd
6049aa228fdSmrg		;;
6059aa228fdSmrg	encore | umax | mmax)
6069aa228fdSmrg		basic_machine=ns32k-encore
6079aa228fdSmrg		;;
6089aa228fdSmrg	es1800 | OSE68k | ose68k | ose | OSE)
6099aa228fdSmrg		basic_machine=m68k-ericsson
6109aa228fdSmrg		os=-ose
6119aa228fdSmrg		;;
6129aa228fdSmrg	fx2800)
6139aa228fdSmrg		basic_machine=i860-alliant
6149aa228fdSmrg		;;
6159aa228fdSmrg	genix)
6169aa228fdSmrg		basic_machine=ns32k-ns
6179aa228fdSmrg		;;
6189aa228fdSmrg	gmicro)
6199aa228fdSmrg		basic_machine=tron-gmicro
6209aa228fdSmrg		os=-sysv
6219aa228fdSmrg		;;
6229aa228fdSmrg	go32)
6239aa228fdSmrg		basic_machine=i386-pc
6249aa228fdSmrg		os=-go32
6259aa228fdSmrg		;;
6269aa228fdSmrg	h3050r* | hiux*)
6279aa228fdSmrg		basic_machine=hppa1.1-hitachi
6289aa228fdSmrg		os=-hiuxwe2
6299aa228fdSmrg		;;
6309aa228fdSmrg	h8300hms)
6319aa228fdSmrg		basic_machine=h8300-hitachi
6329aa228fdSmrg		os=-hms
6339aa228fdSmrg		;;
6349aa228fdSmrg	h8300xray)
6359aa228fdSmrg		basic_machine=h8300-hitachi
6369aa228fdSmrg		os=-xray
6379aa228fdSmrg		;;
6389aa228fdSmrg	h8500hms)
6399aa228fdSmrg		basic_machine=h8500-hitachi
6409aa228fdSmrg		os=-hms
6419aa228fdSmrg		;;
6429aa228fdSmrg	harris)
6439aa228fdSmrg		basic_machine=m88k-harris
6449aa228fdSmrg		os=-sysv3
6459aa228fdSmrg		;;
6469aa228fdSmrg	hp300-*)
6479aa228fdSmrg		basic_machine=m68k-hp
6489aa228fdSmrg		;;
6499aa228fdSmrg	hp300bsd)
6509aa228fdSmrg		basic_machine=m68k-hp
6519aa228fdSmrg		os=-bsd
6529aa228fdSmrg		;;
6539aa228fdSmrg	hp300hpux)
6549aa228fdSmrg		basic_machine=m68k-hp
6559aa228fdSmrg		os=-hpux
6569aa228fdSmrg		;;
6579aa228fdSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6589aa228fdSmrg		basic_machine=hppa1.0-hp
6599aa228fdSmrg		;;
6609aa228fdSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6619aa228fdSmrg		basic_machine=m68000-hp
6629aa228fdSmrg		;;
6639aa228fdSmrg	hp9k3[2-9][0-9])
6649aa228fdSmrg		basic_machine=m68k-hp
6659aa228fdSmrg		;;
6669aa228fdSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6679aa228fdSmrg		basic_machine=hppa1.0-hp
6689aa228fdSmrg		;;
6699aa228fdSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6709aa228fdSmrg		basic_machine=hppa1.1-hp
6719aa228fdSmrg		;;
6729aa228fdSmrg	hp9k78[0-9] | hp78[0-9])
6739aa228fdSmrg		# FIXME: really hppa2.0-hp
6749aa228fdSmrg		basic_machine=hppa1.1-hp
6759aa228fdSmrg		;;
6769aa228fdSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6779aa228fdSmrg		# FIXME: really hppa2.0-hp
6789aa228fdSmrg		basic_machine=hppa1.1-hp
6799aa228fdSmrg		;;
6809aa228fdSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6819aa228fdSmrg		basic_machine=hppa1.1-hp
6829aa228fdSmrg		;;
6839aa228fdSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6849aa228fdSmrg		basic_machine=hppa1.0-hp
6859aa228fdSmrg		;;
6869aa228fdSmrg	hppa-next)
6879aa228fdSmrg		os=-nextstep3
6889aa228fdSmrg		;;
6899aa228fdSmrg	hppaosf)
6909aa228fdSmrg		basic_machine=hppa1.1-hp
6919aa228fdSmrg		os=-osf
6929aa228fdSmrg		;;
6939aa228fdSmrg	hppro)
6949aa228fdSmrg		basic_machine=hppa1.1-hp
6959aa228fdSmrg		os=-proelf
6969aa228fdSmrg		;;
6979aa228fdSmrg	i370-ibm* | ibm*)
6989aa228fdSmrg		basic_machine=i370-ibm
6999aa228fdSmrg		;;
7009aa228fdSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7019aa228fdSmrg	i*86v32)
7029aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7039aa228fdSmrg		os=-sysv32
7049aa228fdSmrg		;;
7059aa228fdSmrg	i*86v4*)
7069aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7079aa228fdSmrg		os=-sysv4
7089aa228fdSmrg		;;
7099aa228fdSmrg	i*86v)
7109aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7119aa228fdSmrg		os=-sysv
7129aa228fdSmrg		;;
7139aa228fdSmrg	i*86sol2)
7149aa228fdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7159aa228fdSmrg		os=-solaris2
7169aa228fdSmrg		;;
7179aa228fdSmrg	i386mach)
7189aa228fdSmrg		basic_machine=i386-mach
7199aa228fdSmrg		os=-mach
7209aa228fdSmrg		;;
7219aa228fdSmrg	i386-vsta | vsta)
7229aa228fdSmrg		basic_machine=i386-unknown
7239aa228fdSmrg		os=-vsta
7249aa228fdSmrg		;;
7259aa228fdSmrg	iris | iris4d)
7269aa228fdSmrg		basic_machine=mips-sgi
7279aa228fdSmrg		case $os in
7289aa228fdSmrg		    -irix*)
7299aa228fdSmrg			;;
7309aa228fdSmrg		    *)
7319aa228fdSmrg			os=-irix4
7329aa228fdSmrg			;;
7339aa228fdSmrg		esac
7349aa228fdSmrg		;;
7359aa228fdSmrg	isi68 | isi)
7369aa228fdSmrg		basic_machine=m68k-isi
7379aa228fdSmrg		os=-sysv
7389aa228fdSmrg		;;
7398f65982aSmrg	m68knommu)
7408f65982aSmrg		basic_machine=m68k-unknown
7418f65982aSmrg		os=-linux
7428f65982aSmrg		;;
7438f65982aSmrg	m68knommu-*)
7448f65982aSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7458f65982aSmrg		os=-linux
7468f65982aSmrg		;;
7479aa228fdSmrg	m88k-omron*)
7489aa228fdSmrg		basic_machine=m88k-omron
7499aa228fdSmrg		;;
7509aa228fdSmrg	magnum | m3230)
7519aa228fdSmrg		basic_machine=mips-mips
7529aa228fdSmrg		os=-sysv
7539aa228fdSmrg		;;
7549aa228fdSmrg	merlin)
7559aa228fdSmrg		basic_machine=ns32k-utek
7569aa228fdSmrg		os=-sysv
7579aa228fdSmrg		;;
7588f65982aSmrg        microblaze)
7598f65982aSmrg		basic_machine=microblaze-xilinx
7608f65982aSmrg		;;
7619aa228fdSmrg	mingw32)
7629aa228fdSmrg		basic_machine=i386-pc
7639aa228fdSmrg		os=-mingw32
7649aa228fdSmrg		;;
7658f65982aSmrg	mingw32ce)
7668f65982aSmrg		basic_machine=arm-unknown
7678f65982aSmrg		os=-mingw32ce
7688f65982aSmrg		;;
7699aa228fdSmrg	miniframe)
7709aa228fdSmrg		basic_machine=m68000-convergent
7719aa228fdSmrg		;;
7729aa228fdSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7739aa228fdSmrg		basic_machine=m68k-atari
7749aa228fdSmrg		os=-mint
7759aa228fdSmrg		;;
7769aa228fdSmrg	mips3*-*)
7779aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7789aa228fdSmrg		;;
7799aa228fdSmrg	mips3*)
7809aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7819aa228fdSmrg		;;
7829aa228fdSmrg	monitor)
7839aa228fdSmrg		basic_machine=m68k-rom68k
7849aa228fdSmrg		os=-coff
7859aa228fdSmrg		;;
7869aa228fdSmrg	morphos)
7879aa228fdSmrg		basic_machine=powerpc-unknown
7889aa228fdSmrg		os=-morphos
7899aa228fdSmrg		;;
7909aa228fdSmrg	msdos)
7919aa228fdSmrg		basic_machine=i386-pc
7929aa228fdSmrg		os=-msdos
7939aa228fdSmrg		;;
7949aa228fdSmrg	ms1-*)
7959aa228fdSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7969aa228fdSmrg		;;
7979aa228fdSmrg	mvs)
7989aa228fdSmrg		basic_machine=i370-ibm
7999aa228fdSmrg		os=-mvs
8009aa228fdSmrg		;;
8019aa228fdSmrg	ncr3000)
8029aa228fdSmrg		basic_machine=i486-ncr
8039aa228fdSmrg		os=-sysv4
8049aa228fdSmrg		;;
8059aa228fdSmrg	netbsd386)
8069aa228fdSmrg		basic_machine=i386-unknown
8079aa228fdSmrg		os=-netbsd
8089aa228fdSmrg		;;
8099aa228fdSmrg	netwinder)
8109aa228fdSmrg		basic_machine=armv4l-rebel
8119aa228fdSmrg		os=-linux
8129aa228fdSmrg		;;
8139aa228fdSmrg	news | news700 | news800 | news900)
8149aa228fdSmrg		basic_machine=m68k-sony
8159aa228fdSmrg		os=-newsos
8169aa228fdSmrg		;;
8179aa228fdSmrg	news1000)
8189aa228fdSmrg		basic_machine=m68030-sony
8199aa228fdSmrg		os=-newsos
8209aa228fdSmrg		;;
8219aa228fdSmrg	news-3600 | risc-news)
8229aa228fdSmrg		basic_machine=mips-sony
8239aa228fdSmrg		os=-newsos
8249aa228fdSmrg		;;
8259aa228fdSmrg	necv70)
8269aa228fdSmrg		basic_machine=v70-nec
8279aa228fdSmrg		os=-sysv
8289aa228fdSmrg		;;
8299aa228fdSmrg	next | m*-next )
8309aa228fdSmrg		basic_machine=m68k-next
8319aa228fdSmrg		case $os in
8329aa228fdSmrg		    -nextstep* )
8339aa228fdSmrg			;;
8349aa228fdSmrg		    -ns2*)
8359aa228fdSmrg		      os=-nextstep2
8369aa228fdSmrg			;;
8379aa228fdSmrg		    *)
8389aa228fdSmrg		      os=-nextstep3
8399aa228fdSmrg			;;
8409aa228fdSmrg		esac
8419aa228fdSmrg		;;
8429aa228fdSmrg	nh3000)
8439aa228fdSmrg		basic_machine=m68k-harris
8449aa228fdSmrg		os=-cxux
8459aa228fdSmrg		;;
8469aa228fdSmrg	nh[45]000)
8479aa228fdSmrg		basic_machine=m88k-harris
8489aa228fdSmrg		os=-cxux
8499aa228fdSmrg		;;
8509aa228fdSmrg	nindy960)
8519aa228fdSmrg		basic_machine=i960-intel
8529aa228fdSmrg		os=-nindy
8539aa228fdSmrg		;;
8549aa228fdSmrg	mon960)
8559aa228fdSmrg		basic_machine=i960-intel
8569aa228fdSmrg		os=-mon960
8579aa228fdSmrg		;;
8589aa228fdSmrg	nonstopux)
8599aa228fdSmrg		basic_machine=mips-compaq
8609aa228fdSmrg		os=-nonstopux
8619aa228fdSmrg		;;
8629aa228fdSmrg	np1)
8639aa228fdSmrg		basic_machine=np1-gould
8649aa228fdSmrg		;;
8658f65982aSmrg        neo-tandem)
8668f65982aSmrg		basic_machine=neo-tandem
8678f65982aSmrg		;;
8688f65982aSmrg        nse-tandem)
8698f65982aSmrg		basic_machine=nse-tandem
8708f65982aSmrg		;;
8719aa228fdSmrg	nsr-tandem)
8729aa228fdSmrg		basic_machine=nsr-tandem
8739aa228fdSmrg		;;
8749aa228fdSmrg	op50n-* | op60c-*)
8759aa228fdSmrg		basic_machine=hppa1.1-oki
8769aa228fdSmrg		os=-proelf
8779aa228fdSmrg		;;
8789aa228fdSmrg	openrisc | openrisc-*)
8799aa228fdSmrg		basic_machine=or32-unknown
8809aa228fdSmrg		;;
8819aa228fdSmrg	os400)
8829aa228fdSmrg		basic_machine=powerpc-ibm
8839aa228fdSmrg		os=-os400
8849aa228fdSmrg		;;
8859aa228fdSmrg	OSE68000 | ose68000)
8869aa228fdSmrg		basic_machine=m68000-ericsson
8879aa228fdSmrg		os=-ose
8889aa228fdSmrg		;;
8899aa228fdSmrg	os68k)
8909aa228fdSmrg		basic_machine=m68k-none
8919aa228fdSmrg		os=-os68k
8929aa228fdSmrg		;;
8939aa228fdSmrg	pa-hitachi)
8949aa228fdSmrg		basic_machine=hppa1.1-hitachi
8959aa228fdSmrg		os=-hiuxwe2
8969aa228fdSmrg		;;
8979aa228fdSmrg	paragon)
8989aa228fdSmrg		basic_machine=i860-intel
8999aa228fdSmrg		os=-osf
9009aa228fdSmrg		;;
9018f65982aSmrg	parisc)
9028f65982aSmrg		basic_machine=hppa-unknown
9038f65982aSmrg		os=-linux
9048f65982aSmrg		;;
9058f65982aSmrg	parisc-*)
9068f65982aSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9078f65982aSmrg		os=-linux
9088f65982aSmrg		;;
9099aa228fdSmrg	pbd)
9109aa228fdSmrg		basic_machine=sparc-tti
9119aa228fdSmrg		;;
9129aa228fdSmrg	pbb)
9139aa228fdSmrg		basic_machine=m68k-tti
9149aa228fdSmrg		;;
9159aa228fdSmrg	pc532 | pc532-*)
9169aa228fdSmrg		basic_machine=ns32k-pc532
9179aa228fdSmrg		;;
9189aa228fdSmrg	pc98)
9199aa228fdSmrg		basic_machine=i386-pc
9209aa228fdSmrg		;;
9219aa228fdSmrg	pc98-*)
9229aa228fdSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9239aa228fdSmrg		;;
9249aa228fdSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9259aa228fdSmrg		basic_machine=i586-pc
9269aa228fdSmrg		;;
9279aa228fdSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9289aa228fdSmrg		basic_machine=i686-pc
9299aa228fdSmrg		;;
9309aa228fdSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
9319aa228fdSmrg		basic_machine=i686-pc
9329aa228fdSmrg		;;
9339aa228fdSmrg	pentium4)
9349aa228fdSmrg		basic_machine=i786-pc
9359aa228fdSmrg		;;
9369aa228fdSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9379aa228fdSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9389aa228fdSmrg		;;
9399aa228fdSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9409aa228fdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9419aa228fdSmrg		;;
9429aa228fdSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9439aa228fdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9449aa228fdSmrg		;;
9459aa228fdSmrg	pentium4-*)
9469aa228fdSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9479aa228fdSmrg		;;
9489aa228fdSmrg	pn)
9499aa228fdSmrg		basic_machine=pn-gould
9509aa228fdSmrg		;;
9519aa228fdSmrg	power)	basic_machine=power-ibm
9529aa228fdSmrg		;;
9539aa228fdSmrg	ppc)	basic_machine=powerpc-unknown
9549aa228fdSmrg		;;
9559aa228fdSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9569aa228fdSmrg		;;
9579aa228fdSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9589aa228fdSmrg		basic_machine=powerpcle-unknown
9599aa228fdSmrg		;;
9609aa228fdSmrg	ppcle-* | powerpclittle-*)
9619aa228fdSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9629aa228fdSmrg		;;
9639aa228fdSmrg	ppc64)	basic_machine=powerpc64-unknown
9649aa228fdSmrg		;;
9659aa228fdSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9669aa228fdSmrg		;;
9679aa228fdSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9689aa228fdSmrg		basic_machine=powerpc64le-unknown
9699aa228fdSmrg		;;
9709aa228fdSmrg	ppc64le-* | powerpc64little-*)
9719aa228fdSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9729aa228fdSmrg		;;
9739aa228fdSmrg	ps2)
9749aa228fdSmrg		basic_machine=i386-ibm
9759aa228fdSmrg		;;
9769aa228fdSmrg	pw32)
9779aa228fdSmrg		basic_machine=i586-unknown
9789aa228fdSmrg		os=-pw32
9799aa228fdSmrg		;;
9809aa228fdSmrg	rdos)
9819aa228fdSmrg		basic_machine=i386-pc
9829aa228fdSmrg		os=-rdos
9839aa228fdSmrg		;;
9849aa228fdSmrg	rom68k)
9859aa228fdSmrg		basic_machine=m68k-rom68k
9869aa228fdSmrg		os=-coff
9879aa228fdSmrg		;;
9889aa228fdSmrg	rm[46]00)
9899aa228fdSmrg		basic_machine=mips-siemens
9909aa228fdSmrg		;;
9919aa228fdSmrg	rtpc | rtpc-*)
9929aa228fdSmrg		basic_machine=romp-ibm
9939aa228fdSmrg		;;
9949aa228fdSmrg	s390 | s390-*)
9959aa228fdSmrg		basic_machine=s390-ibm
9969aa228fdSmrg		;;
9979aa228fdSmrg	s390x | s390x-*)
9989aa228fdSmrg		basic_machine=s390x-ibm
9999aa228fdSmrg		;;
10009aa228fdSmrg	sa29200)
10019aa228fdSmrg		basic_machine=a29k-amd
10029aa228fdSmrg		os=-udi
10039aa228fdSmrg		;;
10049aa228fdSmrg	sb1)
10059aa228fdSmrg		basic_machine=mipsisa64sb1-unknown
10069aa228fdSmrg		;;
10079aa228fdSmrg	sb1el)
10089aa228fdSmrg		basic_machine=mipsisa64sb1el-unknown
10099aa228fdSmrg		;;
10109aa228fdSmrg	sde)
10119aa228fdSmrg		basic_machine=mipsisa32-sde
10129aa228fdSmrg		os=-elf
10139aa228fdSmrg		;;
10149aa228fdSmrg	sei)
10159aa228fdSmrg		basic_machine=mips-sei
10169aa228fdSmrg		os=-seiux
10179aa228fdSmrg		;;
10189aa228fdSmrg	sequent)
10199aa228fdSmrg		basic_machine=i386-sequent
10209aa228fdSmrg		;;
10219aa228fdSmrg	sh)
10229aa228fdSmrg		basic_machine=sh-hitachi
10239aa228fdSmrg		os=-hms
10249aa228fdSmrg		;;
10258f65982aSmrg	sh5el)
10268f65982aSmrg		basic_machine=sh5le-unknown
10278f65982aSmrg		;;
10289aa228fdSmrg	sh64)
10299aa228fdSmrg		basic_machine=sh64-unknown
10309aa228fdSmrg		;;
10319aa228fdSmrg	sparclite-wrs | simso-wrs)
10329aa228fdSmrg		basic_machine=sparclite-wrs
10339aa228fdSmrg		os=-vxworks
10349aa228fdSmrg		;;
10359aa228fdSmrg	sps7)
10369aa228fdSmrg		basic_machine=m68k-bull
10379aa228fdSmrg		os=-sysv2
10389aa228fdSmrg		;;
10399aa228fdSmrg	spur)
10409aa228fdSmrg		basic_machine=spur-unknown
10419aa228fdSmrg		;;
10429aa228fdSmrg	st2000)
10439aa228fdSmrg		basic_machine=m68k-tandem
10449aa228fdSmrg		;;
10459aa228fdSmrg	stratus)
10469aa228fdSmrg		basic_machine=i860-stratus
10479aa228fdSmrg		os=-sysv4
10489aa228fdSmrg		;;
10499aa228fdSmrg	sun2)
10509aa228fdSmrg		basic_machine=m68000-sun
10519aa228fdSmrg		;;
10529aa228fdSmrg	sun2os3)
10539aa228fdSmrg		basic_machine=m68000-sun
10549aa228fdSmrg		os=-sunos3
10559aa228fdSmrg		;;
10569aa228fdSmrg	sun2os4)
10579aa228fdSmrg		basic_machine=m68000-sun
10589aa228fdSmrg		os=-sunos4
10599aa228fdSmrg		;;
10609aa228fdSmrg	sun3os3)
10619aa228fdSmrg		basic_machine=m68k-sun
10629aa228fdSmrg		os=-sunos3
10639aa228fdSmrg		;;
10649aa228fdSmrg	sun3os4)
10659aa228fdSmrg		basic_machine=m68k-sun
10669aa228fdSmrg		os=-sunos4
10679aa228fdSmrg		;;
10689aa228fdSmrg	sun4os3)
10699aa228fdSmrg		basic_machine=sparc-sun
10709aa228fdSmrg		os=-sunos3
10719aa228fdSmrg		;;
10729aa228fdSmrg	sun4os4)
10739aa228fdSmrg		basic_machine=sparc-sun
10749aa228fdSmrg		os=-sunos4
10759aa228fdSmrg		;;
10769aa228fdSmrg	sun4sol2)
10779aa228fdSmrg		basic_machine=sparc-sun
10789aa228fdSmrg		os=-solaris2
10799aa228fdSmrg		;;
10809aa228fdSmrg	sun3 | sun3-*)
10819aa228fdSmrg		basic_machine=m68k-sun
10829aa228fdSmrg		;;
10839aa228fdSmrg	sun4)
10849aa228fdSmrg		basic_machine=sparc-sun
10859aa228fdSmrg		;;
10869aa228fdSmrg	sun386 | sun386i | roadrunner)
10879aa228fdSmrg		basic_machine=i386-sun
10889aa228fdSmrg		;;
10899aa228fdSmrg	sv1)
10909aa228fdSmrg		basic_machine=sv1-cray
10919aa228fdSmrg		os=-unicos
10929aa228fdSmrg		;;
10939aa228fdSmrg	symmetry)
10949aa228fdSmrg		basic_machine=i386-sequent
10959aa228fdSmrg		os=-dynix
10969aa228fdSmrg		;;
10979aa228fdSmrg	t3e)
10989aa228fdSmrg		basic_machine=alphaev5-cray
10999aa228fdSmrg		os=-unicos
11009aa228fdSmrg		;;
11019aa228fdSmrg	t90)
11029aa228fdSmrg		basic_machine=t90-cray
11039aa228fdSmrg		os=-unicos
11049aa228fdSmrg		;;
11058f65982aSmrg        # This must be matched before tile*.
11068f65982aSmrg        tilegx*)
11078f65982aSmrg		basic_machine=tilegx-unknown
11088f65982aSmrg		os=-linux-gnu
11099aa228fdSmrg		;;
11108f65982aSmrg	tile*)
11118f65982aSmrg		basic_machine=tile-unknown
11128f65982aSmrg		os=-linux-gnu
11139aa228fdSmrg		;;
11149aa228fdSmrg	tx39)
11159aa228fdSmrg		basic_machine=mipstx39-unknown
11169aa228fdSmrg		;;
11179aa228fdSmrg	tx39el)
11189aa228fdSmrg		basic_machine=mipstx39el-unknown
11199aa228fdSmrg		;;
11209aa228fdSmrg	toad1)
11219aa228fdSmrg		basic_machine=pdp10-xkl
11229aa228fdSmrg		os=-tops20
11239aa228fdSmrg		;;
11249aa228fdSmrg	tower | tower-32)
11259aa228fdSmrg		basic_machine=m68k-ncr
11269aa228fdSmrg		;;
11279aa228fdSmrg	tpf)
11289aa228fdSmrg		basic_machine=s390x-ibm
11299aa228fdSmrg		os=-tpf
11309aa228fdSmrg		;;
11319aa228fdSmrg	udi29k)
11329aa228fdSmrg		basic_machine=a29k-amd
11339aa228fdSmrg		os=-udi
11349aa228fdSmrg		;;
11359aa228fdSmrg	ultra3)
11369aa228fdSmrg		basic_machine=a29k-nyu
11379aa228fdSmrg		os=-sym1
11389aa228fdSmrg		;;
11399aa228fdSmrg	v810 | necv810)
11409aa228fdSmrg		basic_machine=v810-nec
11419aa228fdSmrg		os=-none
11429aa228fdSmrg		;;
11439aa228fdSmrg	vaxv)
11449aa228fdSmrg		basic_machine=vax-dec
11459aa228fdSmrg		os=-sysv
11469aa228fdSmrg		;;
11479aa228fdSmrg	vms)
11489aa228fdSmrg		basic_machine=vax-dec
11499aa228fdSmrg		os=-vms
11509aa228fdSmrg		;;
11519aa228fdSmrg	vpp*|vx|vx-*)
11529aa228fdSmrg		basic_machine=f301-fujitsu
11539aa228fdSmrg		;;
11549aa228fdSmrg	vxworks960)
11559aa228fdSmrg		basic_machine=i960-wrs
11569aa228fdSmrg		os=-vxworks
11579aa228fdSmrg		;;
11589aa228fdSmrg	vxworks68)
11599aa228fdSmrg		basic_machine=m68k-wrs
11609aa228fdSmrg		os=-vxworks
11619aa228fdSmrg		;;
11629aa228fdSmrg	vxworks29k)
11639aa228fdSmrg		basic_machine=a29k-wrs
11649aa228fdSmrg		os=-vxworks
11659aa228fdSmrg		;;
11669aa228fdSmrg	w65*)
11679aa228fdSmrg		basic_machine=w65-wdc
11689aa228fdSmrg		os=-none
11699aa228fdSmrg		;;
11709aa228fdSmrg	w89k-*)
11719aa228fdSmrg		basic_machine=hppa1.1-winbond
11729aa228fdSmrg		os=-proelf
11739aa228fdSmrg		;;
11749aa228fdSmrg	xbox)
11759aa228fdSmrg		basic_machine=i686-pc
11769aa228fdSmrg		os=-mingw32
11779aa228fdSmrg		;;
11789aa228fdSmrg	xps | xps100)
11799aa228fdSmrg		basic_machine=xps100-honeywell
11809aa228fdSmrg		;;
11819aa228fdSmrg	ymp)
11829aa228fdSmrg		basic_machine=ymp-cray
11839aa228fdSmrg		os=-unicos
11849aa228fdSmrg		;;
11859aa228fdSmrg	z8k-*-coff)
11869aa228fdSmrg		basic_machine=z8k-unknown
11879aa228fdSmrg		os=-sim
11889aa228fdSmrg		;;
11898f65982aSmrg	z80-*-coff)
11908f65982aSmrg		basic_machine=z80-unknown
11918f65982aSmrg		os=-sim
11928f65982aSmrg		;;
11939aa228fdSmrg	none)
11949aa228fdSmrg		basic_machine=none-none
11959aa228fdSmrg		os=-none
11969aa228fdSmrg		;;
11979aa228fdSmrg
11989aa228fdSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11999aa228fdSmrg# some cases the only manufacturer, in others, it is the most popular.
12009aa228fdSmrg	w89k)
12019aa228fdSmrg		basic_machine=hppa1.1-winbond
12029aa228fdSmrg		;;
12039aa228fdSmrg	op50n)
12049aa228fdSmrg		basic_machine=hppa1.1-oki
12059aa228fdSmrg		;;
12069aa228fdSmrg	op60c)
12079aa228fdSmrg		basic_machine=hppa1.1-oki
12089aa228fdSmrg		;;
12099aa228fdSmrg	romp)
12109aa228fdSmrg		basic_machine=romp-ibm
12119aa228fdSmrg		;;
12129aa228fdSmrg	mmix)
12139aa228fdSmrg		basic_machine=mmix-knuth
12149aa228fdSmrg		;;
12159aa228fdSmrg	rs6000)
12169aa228fdSmrg		basic_machine=rs6000-ibm
12179aa228fdSmrg		;;
12189aa228fdSmrg	vax)
12199aa228fdSmrg		basic_machine=vax-dec
12209aa228fdSmrg		;;
12219aa228fdSmrg	pdp10)
12229aa228fdSmrg		# there are many clones, so DEC is not a safe bet
12239aa228fdSmrg		basic_machine=pdp10-unknown
12249aa228fdSmrg		;;
12259aa228fdSmrg	pdp11)
12269aa228fdSmrg		basic_machine=pdp11-dec
12279aa228fdSmrg		;;
12289aa228fdSmrg	we32k)
12299aa228fdSmrg		basic_machine=we32k-att
12309aa228fdSmrg		;;
12318f65982aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12329aa228fdSmrg		basic_machine=sh-unknown
12339aa228fdSmrg		;;
12349aa228fdSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12359aa228fdSmrg		basic_machine=sparc-sun
12369aa228fdSmrg		;;
12379aa228fdSmrg	cydra)
12389aa228fdSmrg		basic_machine=cydra-cydrome
12399aa228fdSmrg		;;
12409aa228fdSmrg	orion)
12419aa228fdSmrg		basic_machine=orion-highlevel
12429aa228fdSmrg		;;
12439aa228fdSmrg	orion105)
12449aa228fdSmrg		basic_machine=clipper-highlevel
12459aa228fdSmrg		;;
12469aa228fdSmrg	mac | mpw | mac-mpw)
12479aa228fdSmrg		basic_machine=m68k-apple
12489aa228fdSmrg		;;
12499aa228fdSmrg	pmac | pmac-mpw)
12509aa228fdSmrg		basic_machine=powerpc-apple
12519aa228fdSmrg		;;
12529aa228fdSmrg	*-unknown)
12539aa228fdSmrg		# Make sure to match an already-canonicalized machine name.
12549aa228fdSmrg		;;
12559aa228fdSmrg	*)
12569aa228fdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12579aa228fdSmrg		exit 1
12589aa228fdSmrg		;;
12599aa228fdSmrgesac
12609aa228fdSmrg
12619aa228fdSmrg# Here we canonicalize certain aliases for manufacturers.
12629aa228fdSmrgcase $basic_machine in
12639aa228fdSmrg	*-digital*)
12649aa228fdSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12659aa228fdSmrg		;;
12669aa228fdSmrg	*-commodore*)
12679aa228fdSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12689aa228fdSmrg		;;
12699aa228fdSmrg	*)
12709aa228fdSmrg		;;
12719aa228fdSmrgesac
12729aa228fdSmrg
12739aa228fdSmrg# Decode manufacturer-specific aliases for certain operating systems.
12749aa228fdSmrg
12759aa228fdSmrgif [ x"$os" != x"" ]
12769aa228fdSmrgthen
12779aa228fdSmrgcase $os in
12789aa228fdSmrg        # First match some system type aliases
12799aa228fdSmrg        # that might get confused with valid system types.
12809aa228fdSmrg	# -solaris* is a basic system type, with this one exception.
12818f65982aSmrg        -auroraux)
12828f65982aSmrg	        os=-auroraux
12838f65982aSmrg		;;
12849aa228fdSmrg	-solaris1 | -solaris1.*)
12859aa228fdSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12869aa228fdSmrg		;;
12879aa228fdSmrg	-solaris)
12889aa228fdSmrg		os=-solaris2
12899aa228fdSmrg		;;
12909aa228fdSmrg	-svr4*)
12919aa228fdSmrg		os=-sysv4
12929aa228fdSmrg		;;
12939aa228fdSmrg	-unixware*)
12949aa228fdSmrg		os=-sysv4.2uw
12959aa228fdSmrg		;;
12969aa228fdSmrg	-gnu/linux*)
12979aa228fdSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12989aa228fdSmrg		;;
12999aa228fdSmrg	# First accept the basic system types.
13009aa228fdSmrg	# The portable systems comes first.
13019aa228fdSmrg	# Each alternative MUST END IN A *, to match a version number.
13029aa228fdSmrg	# -sysv* is not here because it comes later, after sysvr4.
13039aa228fdSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13048f65982aSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13058f65982aSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13068f65982aSmrg	      | -sym* | -kopensolaris* \
13079aa228fdSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13088f65982aSmrg	      | -aos* | -aros* \
13099aa228fdSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13109aa228fdSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13119aa228fdSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13129aa228fdSmrg	      | -openbsd* | -solidbsd* \
13139aa228fdSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13149aa228fdSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13159aa228fdSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13169aa228fdSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13178f65982aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13189aa228fdSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13198f65982aSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13208f65982aSmrg	      | -linux-newlib* | -linux-uclibc* \
13219aa228fdSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13229aa228fdSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13239aa228fdSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13249aa228fdSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13259aa228fdSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13269aa228fdSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13279aa228fdSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13288f65982aSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13299aa228fdSmrg	# Remember, each alternative MUST END IN *, to match a version number.
13309aa228fdSmrg		;;
13319aa228fdSmrg	-qnx*)
13329aa228fdSmrg		case $basic_machine in
13339aa228fdSmrg		    x86-* | i*86-*)
13349aa228fdSmrg			;;
13359aa228fdSmrg		    *)
13369aa228fdSmrg			os=-nto$os
13379aa228fdSmrg			;;
13389aa228fdSmrg		esac
13399aa228fdSmrg		;;
13409aa228fdSmrg	-nto-qnx*)
13419aa228fdSmrg		;;
13429aa228fdSmrg	-nto*)
13439aa228fdSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13449aa228fdSmrg		;;
13459aa228fdSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13469aa228fdSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13479aa228fdSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13489aa228fdSmrg		;;
13499aa228fdSmrg	-mac*)
13509aa228fdSmrg		os=`echo $os | sed -e 's|mac|macos|'`
13519aa228fdSmrg		;;
13529aa228fdSmrg	-linux-dietlibc)
13539aa228fdSmrg		os=-linux-dietlibc
13549aa228fdSmrg		;;
13559aa228fdSmrg	-linux*)
13569aa228fdSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13579aa228fdSmrg		;;
13589aa228fdSmrg	-sunos5*)
13599aa228fdSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13609aa228fdSmrg		;;
13619aa228fdSmrg	-sunos6*)
13629aa228fdSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13639aa228fdSmrg		;;
13649aa228fdSmrg	-opened*)
13659aa228fdSmrg		os=-openedition
13669aa228fdSmrg		;;
13679aa228fdSmrg        -os400*)
13689aa228fdSmrg		os=-os400
13699aa228fdSmrg		;;
13709aa228fdSmrg	-wince*)
13719aa228fdSmrg		os=-wince
13729aa228fdSmrg		;;
13739aa228fdSmrg	-osfrose*)
13749aa228fdSmrg		os=-osfrose
13759aa228fdSmrg		;;
13769aa228fdSmrg	-osf*)
13779aa228fdSmrg		os=-osf
13789aa228fdSmrg		;;
13799aa228fdSmrg	-utek*)
13809aa228fdSmrg		os=-bsd
13819aa228fdSmrg		;;
13829aa228fdSmrg	-dynix*)
13839aa228fdSmrg		os=-bsd
13849aa228fdSmrg		;;
13859aa228fdSmrg	-acis*)
13869aa228fdSmrg		os=-aos
13879aa228fdSmrg		;;
13889aa228fdSmrg	-atheos*)
13899aa228fdSmrg		os=-atheos
13909aa228fdSmrg		;;
13919aa228fdSmrg	-syllable*)
13929aa228fdSmrg		os=-syllable
13939aa228fdSmrg		;;
13949aa228fdSmrg	-386bsd)
13959aa228fdSmrg		os=-bsd
13969aa228fdSmrg		;;
13979aa228fdSmrg	-ctix* | -uts*)
13989aa228fdSmrg		os=-sysv
13999aa228fdSmrg		;;
14009aa228fdSmrg	-nova*)
14019aa228fdSmrg		os=-rtmk-nova
14029aa228fdSmrg		;;
14039aa228fdSmrg	-ns2 )
14049aa228fdSmrg		os=-nextstep2
14059aa228fdSmrg		;;
14069aa228fdSmrg	-nsk*)
14079aa228fdSmrg		os=-nsk
14089aa228fdSmrg		;;
14099aa228fdSmrg	# Preserve the version number of sinix5.
14109aa228fdSmrg	-sinix5.*)
14119aa228fdSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14129aa228fdSmrg		;;
14139aa228fdSmrg	-sinix*)
14149aa228fdSmrg		os=-sysv4
14159aa228fdSmrg		;;
14169aa228fdSmrg        -tpf*)
14179aa228fdSmrg		os=-tpf
14189aa228fdSmrg		;;
14199aa228fdSmrg	-triton*)
14209aa228fdSmrg		os=-sysv3
14219aa228fdSmrg		;;
14229aa228fdSmrg	-oss*)
14239aa228fdSmrg		os=-sysv3
14249aa228fdSmrg		;;
14259aa228fdSmrg	-svr4)
14269aa228fdSmrg		os=-sysv4
14279aa228fdSmrg		;;
14289aa228fdSmrg	-svr3)
14299aa228fdSmrg		os=-sysv3
14309aa228fdSmrg		;;
14319aa228fdSmrg	-sysvr4)
14329aa228fdSmrg		os=-sysv4
14339aa228fdSmrg		;;
14349aa228fdSmrg	# This must come after -sysvr4.
14359aa228fdSmrg	-sysv*)
14369aa228fdSmrg		;;
14379aa228fdSmrg	-ose*)
14389aa228fdSmrg		os=-ose
14399aa228fdSmrg		;;
14409aa228fdSmrg	-es1800*)
14419aa228fdSmrg		os=-ose
14429aa228fdSmrg		;;
14439aa228fdSmrg	-xenix)
14449aa228fdSmrg		os=-xenix
14459aa228fdSmrg		;;
14469aa228fdSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14479aa228fdSmrg		os=-mint
14489aa228fdSmrg		;;
14499aa228fdSmrg	-aros*)
14509aa228fdSmrg		os=-aros
14519aa228fdSmrg		;;
14529aa228fdSmrg	-kaos*)
14539aa228fdSmrg		os=-kaos
14549aa228fdSmrg		;;
14559aa228fdSmrg	-zvmoe)
14569aa228fdSmrg		os=-zvmoe
14579aa228fdSmrg		;;
14588f65982aSmrg	-dicos*)
14598f65982aSmrg		os=-dicos
14608f65982aSmrg		;;
14618f65982aSmrg        -nacl*)
14628f65982aSmrg	        ;;
14639aa228fdSmrg	-none)
14649aa228fdSmrg		;;
14659aa228fdSmrg	*)
14669aa228fdSmrg		# Get rid of the `-' at the beginning of $os.
14679aa228fdSmrg		os=`echo $os | sed 's/[^-]*-//'`
14689aa228fdSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14699aa228fdSmrg		exit 1
14709aa228fdSmrg		;;
14719aa228fdSmrgesac
14729aa228fdSmrgelse
14739aa228fdSmrg
14749aa228fdSmrg# Here we handle the default operating systems that come with various machines.
14759aa228fdSmrg# The value should be what the vendor currently ships out the door with their
14769aa228fdSmrg# machine or put another way, the most popular os provided with the machine.
14779aa228fdSmrg
14789aa228fdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14799aa228fdSmrg# "-sun"), then you have to tell the case statement up towards the top
14809aa228fdSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14819aa228fdSmrg# will signal an error saying that MANUFACTURER isn't an operating
14829aa228fdSmrg# system, and we'll never get to this point.
14839aa228fdSmrg
14849aa228fdSmrgcase $basic_machine in
14859aa228fdSmrg        score-*)
14869aa228fdSmrg		os=-elf
14879aa228fdSmrg		;;
14889aa228fdSmrg        spu-*)
14899aa228fdSmrg		os=-elf
14909aa228fdSmrg		;;
14919aa228fdSmrg	*-acorn)
14929aa228fdSmrg		os=-riscix1.2
14939aa228fdSmrg		;;
14949aa228fdSmrg	arm*-rebel)
14959aa228fdSmrg		os=-linux
14969aa228fdSmrg		;;
14979aa228fdSmrg	arm*-semi)
14989aa228fdSmrg		os=-aout
14999aa228fdSmrg		;;
15009aa228fdSmrg        c4x-* | tic4x-*)
15019aa228fdSmrg        	os=-coff
15029aa228fdSmrg		;;
15038f65982aSmrg	tic54x-*)
15048f65982aSmrg		os=-coff
15058f65982aSmrg		;;
15068f65982aSmrg	tic55x-*)
15078f65982aSmrg		os=-coff
15088f65982aSmrg		;;
15098f65982aSmrg	tic6x-*)
15108f65982aSmrg		os=-coff
15118f65982aSmrg		;;
15129aa228fdSmrg	# This must come before the *-dec entry.
15139aa228fdSmrg	pdp10-*)
15149aa228fdSmrg		os=-tops20
15159aa228fdSmrg		;;
15169aa228fdSmrg	pdp11-*)
15179aa228fdSmrg		os=-none
15189aa228fdSmrg		;;
15199aa228fdSmrg	*-dec | vax-*)
15209aa228fdSmrg		os=-ultrix4.2
15219aa228fdSmrg		;;
15229aa228fdSmrg	m68*-apollo)
15239aa228fdSmrg		os=-domain
15249aa228fdSmrg		;;
15259aa228fdSmrg	i386-sun)
15269aa228fdSmrg		os=-sunos4.0.2
15279aa228fdSmrg		;;
15289aa228fdSmrg	m68000-sun)
15299aa228fdSmrg		os=-sunos3
15309aa228fdSmrg		# This also exists in the configure program, but was not the
15319aa228fdSmrg		# default.
15329aa228fdSmrg		# os=-sunos4
15339aa228fdSmrg		;;
15349aa228fdSmrg	m68*-cisco)
15359aa228fdSmrg		os=-aout
15369aa228fdSmrg		;;
15378f65982aSmrg        mep-*)
15388f65982aSmrg		os=-elf
15398f65982aSmrg		;;
15409aa228fdSmrg	mips*-cisco)
15419aa228fdSmrg		os=-elf
15429aa228fdSmrg		;;
15439aa228fdSmrg	mips*-*)
15449aa228fdSmrg		os=-elf
15459aa228fdSmrg		;;
15469aa228fdSmrg	or32-*)
15479aa228fdSmrg		os=-coff
15489aa228fdSmrg		;;
15499aa228fdSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
15509aa228fdSmrg		os=-sysv3
15519aa228fdSmrg		;;
15529aa228fdSmrg	sparc-* | *-sun)
15539aa228fdSmrg		os=-sunos4.1.1
15549aa228fdSmrg		;;
15559aa228fdSmrg	*-be)
15569aa228fdSmrg		os=-beos
15579aa228fdSmrg		;;
15589aa228fdSmrg	*-haiku)
15599aa228fdSmrg		os=-haiku
15609aa228fdSmrg		;;
15619aa228fdSmrg	*-ibm)
15629aa228fdSmrg		os=-aix
15639aa228fdSmrg		;;
15649aa228fdSmrg    	*-knuth)
15659aa228fdSmrg		os=-mmixware
15669aa228fdSmrg		;;
15679aa228fdSmrg	*-wec)
15689aa228fdSmrg		os=-proelf
15699aa228fdSmrg		;;
15709aa228fdSmrg	*-winbond)
15719aa228fdSmrg		os=-proelf
15729aa228fdSmrg		;;
15739aa228fdSmrg	*-oki)
15749aa228fdSmrg		os=-proelf
15759aa228fdSmrg		;;
15769aa228fdSmrg	*-hp)
15779aa228fdSmrg		os=-hpux
15789aa228fdSmrg		;;
15799aa228fdSmrg	*-hitachi)
15809aa228fdSmrg		os=-hiux
15819aa228fdSmrg		;;
15829aa228fdSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15839aa228fdSmrg		os=-sysv
15849aa228fdSmrg		;;
15859aa228fdSmrg	*-cbm)
15869aa228fdSmrg		os=-amigaos
15879aa228fdSmrg		;;
15889aa228fdSmrg	*-dg)
15899aa228fdSmrg		os=-dgux
15909aa228fdSmrg		;;
15919aa228fdSmrg	*-dolphin)
15929aa228fdSmrg		os=-sysv3
15939aa228fdSmrg		;;
15949aa228fdSmrg	m68k-ccur)
15959aa228fdSmrg		os=-rtu
15969aa228fdSmrg		;;
15979aa228fdSmrg	m88k-omron*)
15989aa228fdSmrg		os=-luna
15999aa228fdSmrg		;;
16009aa228fdSmrg	*-next )
16019aa228fdSmrg		os=-nextstep
16029aa228fdSmrg		;;
16039aa228fdSmrg	*-sequent)
16049aa228fdSmrg		os=-ptx
16059aa228fdSmrg		;;
16069aa228fdSmrg	*-crds)
16079aa228fdSmrg		os=-unos
16089aa228fdSmrg		;;
16099aa228fdSmrg	*-ns)
16109aa228fdSmrg		os=-genix
16119aa228fdSmrg		;;
16129aa228fdSmrg	i370-*)
16139aa228fdSmrg		os=-mvs
16149aa228fdSmrg		;;
16159aa228fdSmrg	*-next)
16169aa228fdSmrg		os=-nextstep3
16179aa228fdSmrg		;;
16189aa228fdSmrg	*-gould)
16199aa228fdSmrg		os=-sysv
16209aa228fdSmrg		;;
16219aa228fdSmrg	*-highlevel)
16229aa228fdSmrg		os=-bsd
16239aa228fdSmrg		;;
16249aa228fdSmrg	*-encore)
16259aa228fdSmrg		os=-bsd
16269aa228fdSmrg		;;
16279aa228fdSmrg	*-sgi)
16289aa228fdSmrg		os=-irix
16299aa228fdSmrg		;;
16309aa228fdSmrg	*-siemens)
16319aa228fdSmrg		os=-sysv4
16329aa228fdSmrg		;;
16339aa228fdSmrg	*-masscomp)
16349aa228fdSmrg		os=-rtu
16359aa228fdSmrg		;;
16369aa228fdSmrg	f30[01]-fujitsu | f700-fujitsu)
16379aa228fdSmrg		os=-uxpv
16389aa228fdSmrg		;;
16399aa228fdSmrg	*-rom68k)
16409aa228fdSmrg		os=-coff
16419aa228fdSmrg		;;
16429aa228fdSmrg	*-*bug)
16439aa228fdSmrg		os=-coff
16449aa228fdSmrg		;;
16459aa228fdSmrg	*-apple)
16469aa228fdSmrg		os=-macos
16479aa228fdSmrg		;;
16489aa228fdSmrg	*-atari*)
16499aa228fdSmrg		os=-mint
16509aa228fdSmrg		;;
16519aa228fdSmrg	*)
16529aa228fdSmrg		os=-none
16539aa228fdSmrg		;;
16549aa228fdSmrgesac
16559aa228fdSmrgfi
16569aa228fdSmrg
16579aa228fdSmrg# Here we handle the case where we know the os, and the CPU type, but not the
16589aa228fdSmrg# manufacturer.  We pick the logical manufacturer.
16599aa228fdSmrgvendor=unknown
16609aa228fdSmrgcase $basic_machine in
16619aa228fdSmrg	*-unknown)
16629aa228fdSmrg		case $os in
16639aa228fdSmrg			-riscix*)
16649aa228fdSmrg				vendor=acorn
16659aa228fdSmrg				;;
16669aa228fdSmrg			-sunos*)
16679aa228fdSmrg				vendor=sun
16689aa228fdSmrg				;;
16698f65982aSmrg			-cnk*|-aix*)
16709aa228fdSmrg				vendor=ibm
16719aa228fdSmrg				;;
16729aa228fdSmrg			-beos*)
16739aa228fdSmrg				vendor=be
16749aa228fdSmrg				;;
16759aa228fdSmrg			-hpux*)
16769aa228fdSmrg				vendor=hp
16779aa228fdSmrg				;;
16789aa228fdSmrg			-mpeix*)
16799aa228fdSmrg				vendor=hp
16809aa228fdSmrg				;;
16819aa228fdSmrg			-hiux*)
16829aa228fdSmrg				vendor=hitachi
16839aa228fdSmrg				;;
16849aa228fdSmrg			-unos*)
16859aa228fdSmrg				vendor=crds
16869aa228fdSmrg				;;
16879aa228fdSmrg			-dgux*)
16889aa228fdSmrg				vendor=dg
16899aa228fdSmrg				;;
16909aa228fdSmrg			-luna*)
16919aa228fdSmrg				vendor=omron
16929aa228fdSmrg				;;
16939aa228fdSmrg			-genix*)
16949aa228fdSmrg				vendor=ns
16959aa228fdSmrg				;;
16969aa228fdSmrg			-mvs* | -opened*)
16979aa228fdSmrg				vendor=ibm
16989aa228fdSmrg				;;
16999aa228fdSmrg			-os400*)
17009aa228fdSmrg				vendor=ibm
17019aa228fdSmrg				;;
17029aa228fdSmrg			-ptx*)
17039aa228fdSmrg				vendor=sequent
17049aa228fdSmrg				;;
17059aa228fdSmrg			-tpf*)
17069aa228fdSmrg				vendor=ibm
17079aa228fdSmrg				;;
17089aa228fdSmrg			-vxsim* | -vxworks* | -windiss*)
17099aa228fdSmrg				vendor=wrs
17109aa228fdSmrg				;;
17119aa228fdSmrg			-aux*)
17129aa228fdSmrg				vendor=apple
17139aa228fdSmrg				;;
17149aa228fdSmrg			-hms*)
17159aa228fdSmrg				vendor=hitachi
17169aa228fdSmrg				;;
17179aa228fdSmrg			-mpw* | -macos*)
17189aa228fdSmrg				vendor=apple
17199aa228fdSmrg				;;
17209aa228fdSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17219aa228fdSmrg				vendor=atari
17229aa228fdSmrg				;;
17239aa228fdSmrg			-vos*)
17249aa228fdSmrg				vendor=stratus
17259aa228fdSmrg				;;
17269aa228fdSmrg		esac
17279aa228fdSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17289aa228fdSmrg		;;
17299aa228fdSmrgesac
17309aa228fdSmrg
17319aa228fdSmrgecho $basic_machine$os
17329aa228fdSmrgexit
17339aa228fdSmrg
17349aa228fdSmrg# Local variables:
17359aa228fdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17369aa228fdSmrg# time-stamp-start: "timestamp='"
17379aa228fdSmrg# time-stamp-format: "%:y-%02m-%02d"
17389aa228fdSmrg# time-stamp-end: "'"
17399aa228fdSmrg# End:
1740