config.sub revision 7a2631fc
13e747e6dSmrg#! /bin/sh
23e747e6dSmrg# Configuration validation subroutine script.
33e747e6dSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
47a2631fcSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
53e747e6dSmrg#   Free Software Foundation, Inc.
63e747e6dSmrg
77a2631fcSmrgtimestamp='2010-09-11'
83e747e6dSmrg
93e747e6dSmrg# This file is (in principle) common to ALL GNU software.
103e747e6dSmrg# The presence of a machine in this file suggests that SOME GNU software
113e747e6dSmrg# can handle that machine.  It does not imply ALL GNU software can.
123e747e6dSmrg#
133e747e6dSmrg# This file is free software; you can redistribute it and/or modify
143e747e6dSmrg# it under the terms of the GNU General Public License as published by
153e747e6dSmrg# the Free Software Foundation; either version 2 of the License, or
163e747e6dSmrg# (at your option) any later version.
173e747e6dSmrg#
183e747e6dSmrg# This program is distributed in the hope that it will be useful,
193e747e6dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
203e747e6dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
213e747e6dSmrg# GNU General Public License for more details.
223e747e6dSmrg#
233e747e6dSmrg# You should have received a copy of the GNU General Public License
243e747e6dSmrg# along with this program; if not, write to the Free Software
253e747e6dSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
263e747e6dSmrg# 02110-1301, USA.
273e747e6dSmrg#
283e747e6dSmrg# As a special exception to the GNU General Public License, if you
293e747e6dSmrg# distribute this file as part of a program that contains a
303e747e6dSmrg# configuration script generated by Autoconf, you may include it under
313e747e6dSmrg# the same distribution terms that you use for the rest of that program.
323e747e6dSmrg
333e747e6dSmrg
343e747e6dSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
357a2631fcSmrg# diff and a properly formatted GNU ChangeLog entry.
363e747e6dSmrg#
373e747e6dSmrg# Configuration subroutine to validate and canonicalize a configuration type.
383e747e6dSmrg# Supply the specified configuration type as an argument.
393e747e6dSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
403e747e6dSmrg# Otherwise, we print the canonical config type on stdout and succeed.
413e747e6dSmrg
427a2631fcSmrg# You can get the latest version of this script from:
437a2631fcSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
447a2631fcSmrg
453e747e6dSmrg# This file is supposed to be the same for all GNU packages
463e747e6dSmrg# and recognize all the CPU types, system types and aliases
473e747e6dSmrg# that are meaningful with *any* GNU software.
483e747e6dSmrg# Each package is responsible for reporting which valid configurations
493e747e6dSmrg# it does not support.  The user should be able to distinguish
503e747e6dSmrg# a failure to support a valid configuration from a meaningless
513e747e6dSmrg# configuration.
523e747e6dSmrg
533e747e6dSmrg# The goal of this file is to map all the various variations of a given
543e747e6dSmrg# machine specification into a single specification in the form:
553e747e6dSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
563e747e6dSmrg# or in some cases, the newer four-part form:
573e747e6dSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
583e747e6dSmrg# It is wrong to echo any other type of specification.
593e747e6dSmrg
603e747e6dSmrgme=`echo "$0" | sed -e 's,.*/,,'`
613e747e6dSmrg
623e747e6dSmrgusage="\
633e747e6dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
643e747e6dSmrg       $0 [OPTION] ALIAS
653e747e6dSmrg
663e747e6dSmrgCanonicalize a configuration name.
673e747e6dSmrg
683e747e6dSmrgOperation modes:
693e747e6dSmrg  -h, --help         print this help, then exit
703e747e6dSmrg  -t, --time-stamp   print date of last modification, then exit
713e747e6dSmrg  -v, --version      print version number, then exit
723e747e6dSmrg
733e747e6dSmrgReport bugs and patches to <config-patches@gnu.org>."
743e747e6dSmrg
753e747e6dSmrgversion="\
763e747e6dSmrgGNU config.sub ($timestamp)
773e747e6dSmrg
787a2631fcSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
797a2631fcSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
807a2631fcSmrgSoftware Foundation, Inc.
813e747e6dSmrg
823e747e6dSmrgThis is free software; see the source for copying conditions.  There is NO
833e747e6dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
843e747e6dSmrg
853e747e6dSmrghelp="
863e747e6dSmrgTry \`$me --help' for more information."
873e747e6dSmrg
883e747e6dSmrg# Parse command line
893e747e6dSmrgwhile test $# -gt 0 ; do
903e747e6dSmrg  case $1 in
913e747e6dSmrg    --time-stamp | --time* | -t )
923e747e6dSmrg       echo "$timestamp" ; exit ;;
933e747e6dSmrg    --version | -v )
943e747e6dSmrg       echo "$version" ; exit ;;
953e747e6dSmrg    --help | --h* | -h )
963e747e6dSmrg       echo "$usage"; exit ;;
973e747e6dSmrg    -- )     # Stop option processing
983e747e6dSmrg       shift; break ;;
993e747e6dSmrg    - )	# Use stdin as input.
1003e747e6dSmrg       break ;;
1013e747e6dSmrg    -* )
1023e747e6dSmrg       echo "$me: invalid option $1$help"
1033e747e6dSmrg       exit 1 ;;
1043e747e6dSmrg
1053e747e6dSmrg    *local*)
1063e747e6dSmrg       # First pass through any local machine types.
1073e747e6dSmrg       echo $1
1083e747e6dSmrg       exit ;;
1093e747e6dSmrg
1103e747e6dSmrg    * )
1113e747e6dSmrg       break ;;
1123e747e6dSmrg  esac
1133e747e6dSmrgdone
1143e747e6dSmrg
1153e747e6dSmrgcase $# in
1163e747e6dSmrg 0) echo "$me: missing argument$help" >&2
1173e747e6dSmrg    exit 1;;
1183e747e6dSmrg 1) ;;
1193e747e6dSmrg *) echo "$me: too many arguments$help" >&2
1203e747e6dSmrg    exit 1;;
1213e747e6dSmrgesac
1223e747e6dSmrg
1233e747e6dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1243e747e6dSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1253e747e6dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1263e747e6dSmrgcase $maybe_os in
1277a2631fcSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1287a2631fcSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1297a2631fcSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
1307a2631fcSmrg  kopensolaris*-gnu* | \
1313e747e6dSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1323e747e6dSmrg    os=-$maybe_os
1333e747e6dSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1343e747e6dSmrg    ;;
1353e747e6dSmrg  *)
1363e747e6dSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1373e747e6dSmrg    if [ $basic_machine != $1 ]
1383e747e6dSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1393e747e6dSmrg    else os=; fi
1403e747e6dSmrg    ;;
1413e747e6dSmrgesac
1423e747e6dSmrg
1433e747e6dSmrg### Let's recognize common machines as not being operating systems so
1443e747e6dSmrg### that things like config.sub decstation-3100 work.  We also
1453e747e6dSmrg### recognize some manufacturers as not being operating systems, so we
1463e747e6dSmrg### can provide default operating systems below.
1473e747e6dSmrgcase $os in
1483e747e6dSmrg	-sun*os*)
1493e747e6dSmrg		# Prevent following clause from handling this invalid input.
1503e747e6dSmrg		;;
1513e747e6dSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1523e747e6dSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1533e747e6dSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1543e747e6dSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1553e747e6dSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1563e747e6dSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1577a2631fcSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1583e747e6dSmrg		os=
1593e747e6dSmrg		basic_machine=$1
1603e747e6dSmrg		;;
1617a2631fcSmrg        -bluegene*)
1627a2631fcSmrg	        os=-cnk
1637a2631fcSmrg		;;
1643e747e6dSmrg	-sim | -cisco | -oki | -wec | -winbond)
1653e747e6dSmrg		os=
1663e747e6dSmrg		basic_machine=$1
1673e747e6dSmrg		;;
1683e747e6dSmrg	-scout)
1693e747e6dSmrg		;;
1703e747e6dSmrg	-wrs)
1713e747e6dSmrg		os=-vxworks
1723e747e6dSmrg		basic_machine=$1
1733e747e6dSmrg		;;
1743e747e6dSmrg	-chorusos*)
1753e747e6dSmrg		os=-chorusos
1763e747e6dSmrg		basic_machine=$1
1773e747e6dSmrg		;;
1783e747e6dSmrg 	-chorusrdb)
1793e747e6dSmrg 		os=-chorusrdb
1803e747e6dSmrg		basic_machine=$1
1813e747e6dSmrg 		;;
1823e747e6dSmrg	-hiux*)
1833e747e6dSmrg		os=-hiuxwe2
1843e747e6dSmrg		;;
1853e747e6dSmrg	-sco6)
1863e747e6dSmrg		os=-sco5v6
1873e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1883e747e6dSmrg		;;
1893e747e6dSmrg	-sco5)
1903e747e6dSmrg		os=-sco3.2v5
1913e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1923e747e6dSmrg		;;
1933e747e6dSmrg	-sco4)
1943e747e6dSmrg		os=-sco3.2v4
1953e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1963e747e6dSmrg		;;
1973e747e6dSmrg	-sco3.2.[4-9]*)
1983e747e6dSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1993e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2003e747e6dSmrg		;;
2013e747e6dSmrg	-sco3.2v[4-9]*)
2023e747e6dSmrg		# Don't forget version if it is 3.2v4 or newer.
2033e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2043e747e6dSmrg		;;
2053e747e6dSmrg	-sco5v6*)
2063e747e6dSmrg		# Don't forget version if it is 3.2v4 or newer.
2073e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2083e747e6dSmrg		;;
2093e747e6dSmrg	-sco*)
2103e747e6dSmrg		os=-sco3.2v2
2113e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2123e747e6dSmrg		;;
2133e747e6dSmrg	-udk*)
2143e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2153e747e6dSmrg		;;
2163e747e6dSmrg	-isc)
2173e747e6dSmrg		os=-isc2.2
2183e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2193e747e6dSmrg		;;
2203e747e6dSmrg	-clix*)
2213e747e6dSmrg		basic_machine=clipper-intergraph
2223e747e6dSmrg		;;
2233e747e6dSmrg	-isc*)
2243e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2253e747e6dSmrg		;;
2263e747e6dSmrg	-lynx*)
2273e747e6dSmrg		os=-lynxos
2283e747e6dSmrg		;;
2293e747e6dSmrg	-ptx*)
2303e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2313e747e6dSmrg		;;
2323e747e6dSmrg	-windowsnt*)
2333e747e6dSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2343e747e6dSmrg		;;
2353e747e6dSmrg	-psos*)
2363e747e6dSmrg		os=-psos
2373e747e6dSmrg		;;
2383e747e6dSmrg	-mint | -mint[0-9]*)
2393e747e6dSmrg		basic_machine=m68k-atari
2403e747e6dSmrg		os=-mint
2413e747e6dSmrg		;;
2423e747e6dSmrgesac
2433e747e6dSmrg
2443e747e6dSmrg# Decode aliases for certain CPU-COMPANY combinations.
2453e747e6dSmrgcase $basic_machine in
2463e747e6dSmrg	# Recognize the basic CPU types without company name.
2473e747e6dSmrg	# Some are omitted here because they have special meanings below.
2483e747e6dSmrg	1750a | 580 \
2493e747e6dSmrg	| a29k \
2503e747e6dSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2513e747e6dSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2523e747e6dSmrg	| am33_2.0 \
2533e747e6dSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2543e747e6dSmrg	| bfin \
2553e747e6dSmrg	| c4x | clipper \
2563e747e6dSmrg	| d10v | d30v | dlx | dsp16xx \
2573e747e6dSmrg	| fido | fr30 | frv \
2583e747e6dSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2593e747e6dSmrg	| i370 | i860 | i960 | ia64 \
2603e747e6dSmrg	| ip2k | iq2000 \
2617a2631fcSmrg	| lm32 \
2623e747e6dSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2637a2631fcSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2643e747e6dSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2653e747e6dSmrg	| mips16 \
2663e747e6dSmrg	| mips64 | mips64el \
2677a2631fcSmrg	| mips64octeon | mips64octeonel \
2683e747e6dSmrg	| mips64orion | mips64orionel \
2697a2631fcSmrg	| mips64r5900 | mips64r5900el \
2707a2631fcSmrg	| mips64vr | mips64vrel \
2713e747e6dSmrg	| mips64vr4100 | mips64vr4100el \
2723e747e6dSmrg	| mips64vr4300 | mips64vr4300el \
2733e747e6dSmrg	| mips64vr5000 | mips64vr5000el \
2743e747e6dSmrg	| mips64vr5900 | mips64vr5900el \
2753e747e6dSmrg	| mipsisa32 | mipsisa32el \
2763e747e6dSmrg	| mipsisa32r2 | mipsisa32r2el \
2773e747e6dSmrg	| mipsisa64 | mipsisa64el \
2783e747e6dSmrg	| mipsisa64r2 | mipsisa64r2el \
2793e747e6dSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2803e747e6dSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2813e747e6dSmrg	| mipstx39 | mipstx39el \
2823e747e6dSmrg	| mn10200 | mn10300 \
2837a2631fcSmrg	| moxie \
2843e747e6dSmrg	| mt \
2853e747e6dSmrg	| msp430 \
2867a2631fcSmrg	| nds32 | nds32le | nds32be \
2873e747e6dSmrg	| nios | nios2 \
2883e747e6dSmrg	| ns16k | ns32k \
2893e747e6dSmrg	| or32 \
2903e747e6dSmrg	| pdp10 | pdp11 | pj | pjl \
2913e747e6dSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2923e747e6dSmrg	| pyramid \
2937a2631fcSmrg	| rx \
2943e747e6dSmrg	| score \
2957a2631fcSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2963e747e6dSmrg	| sh64 | sh64le \
2973e747e6dSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2983e747e6dSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2993e747e6dSmrg	| spu | strongarm \
3007a2631fcSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3017a2631fcSmrg	| ubicom32 \
3023e747e6dSmrg	| v850 | v850e \
3033e747e6dSmrg	| we32k \
3043e747e6dSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3057a2631fcSmrg	| z8k | z80)
3063e747e6dSmrg		basic_machine=$basic_machine-unknown
3073e747e6dSmrg		;;
3087a2631fcSmrg	c54x)
3097a2631fcSmrg		basic_machine=tic54x-unknown
3107a2631fcSmrg		;;
3117a2631fcSmrg	c55x)
3127a2631fcSmrg		basic_machine=tic55x-unknown
3137a2631fcSmrg		;;
3147a2631fcSmrg	c6x)
3157a2631fcSmrg		basic_machine=tic6x-unknown
3167a2631fcSmrg		;;
3177a2631fcSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3183e747e6dSmrg		# Motorola 68HC11/12.
3193e747e6dSmrg		basic_machine=$basic_machine-unknown
3203e747e6dSmrg		os=-none
3213e747e6dSmrg		;;
3223e747e6dSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3233e747e6dSmrg		;;
3243e747e6dSmrg	ms1)
3253e747e6dSmrg		basic_machine=mt-unknown
3263e747e6dSmrg		;;
3273e747e6dSmrg
3283e747e6dSmrg	# We use `pc' rather than `unknown'
3293e747e6dSmrg	# because (1) that's what they normally are, and
3303e747e6dSmrg	# (2) the word "unknown" tends to confuse beginning users.
3313e747e6dSmrg	i*86 | x86_64)
3323e747e6dSmrg	  basic_machine=$basic_machine-pc
3333e747e6dSmrg	  ;;
3343e747e6dSmrg	# Object if more than one company name word.
3353e747e6dSmrg	*-*-*)
3363e747e6dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3373e747e6dSmrg		exit 1
3383e747e6dSmrg		;;
3393e747e6dSmrg	# Recognize the basic CPU types with company name.
3403e747e6dSmrg	580-* \
3413e747e6dSmrg	| a29k-* \
3423e747e6dSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3433e747e6dSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3443e747e6dSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3453e747e6dSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3463e747e6dSmrg	| avr-* | avr32-* \
3473e747e6dSmrg	| bfin-* | bs2000-* \
3487a2631fcSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3493e747e6dSmrg	| clipper-* | craynv-* | cydra-* \
3503e747e6dSmrg	| d10v-* | d30v-* | dlx-* \
3513e747e6dSmrg	| elxsi-* \
3523e747e6dSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3533e747e6dSmrg	| h8300-* | h8500-* \
3543e747e6dSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3553e747e6dSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3563e747e6dSmrg	| ip2k-* | iq2000-* \
3577a2631fcSmrg	| lm32-* \
3583e747e6dSmrg	| m32c-* | m32r-* | m32rle-* \
3593e747e6dSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3607a2631fcSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3613e747e6dSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3623e747e6dSmrg	| mips16-* \
3633e747e6dSmrg	| mips64-* | mips64el-* \
3647a2631fcSmrg	| mips64octeon-* | mips64octeonel-* \
3653e747e6dSmrg	| mips64orion-* | mips64orionel-* \
3667a2631fcSmrg	| mips64r5900-* | mips64r5900el-* \
3677a2631fcSmrg	| mips64vr-* | mips64vrel-* \
3683e747e6dSmrg	| mips64vr4100-* | mips64vr4100el-* \
3693e747e6dSmrg	| mips64vr4300-* | mips64vr4300el-* \
3703e747e6dSmrg	| mips64vr5000-* | mips64vr5000el-* \
3713e747e6dSmrg	| mips64vr5900-* | mips64vr5900el-* \
3723e747e6dSmrg	| mipsisa32-* | mipsisa32el-* \
3733e747e6dSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3743e747e6dSmrg	| mipsisa64-* | mipsisa64el-* \
3753e747e6dSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3763e747e6dSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3773e747e6dSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3783e747e6dSmrg	| mipstx39-* | mipstx39el-* \
3793e747e6dSmrg	| mmix-* \
3803e747e6dSmrg	| mt-* \
3813e747e6dSmrg	| msp430-* \
3827a2631fcSmrg	| nds32-* | nds32le-* | nds32be-* \
3833e747e6dSmrg	| nios-* | nios2-* \
3843e747e6dSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3853e747e6dSmrg	| orion-* \
3863e747e6dSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3873e747e6dSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3883e747e6dSmrg	| pyramid-* \
3897a2631fcSmrg	| romp-* | rs6000-* | rx-* \
3907a2631fcSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3913e747e6dSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3923e747e6dSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3933e747e6dSmrg	| sparclite-* \
3943e747e6dSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3953e747e6dSmrg	| tahoe-* | thumb-* \
3963e747e6dSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3977a2631fcSmrg	| tile-* | tilegx-* \
3983e747e6dSmrg	| tron-* \
3997a2631fcSmrg	| ubicom32-* \
4003e747e6dSmrg	| v850-* | v850e-* | vax-* \
4013e747e6dSmrg	| we32k-* \
4023e747e6dSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4033e747e6dSmrg	| xstormy16-* | xtensa*-* \
4043e747e6dSmrg	| ymp-* \
4057a2631fcSmrg	| z8k-* | z80-*)
4063e747e6dSmrg		;;
4073e747e6dSmrg	# Recognize the basic CPU types without company name, with glob match.
4083e747e6dSmrg	xtensa*)
4093e747e6dSmrg		basic_machine=$basic_machine-unknown
4103e747e6dSmrg		;;
4113e747e6dSmrg	# Recognize the various machine names and aliases which stand
4123e747e6dSmrg	# for a CPU type and a company and sometimes even an OS.
4133e747e6dSmrg	386bsd)
4143e747e6dSmrg		basic_machine=i386-unknown
4153e747e6dSmrg		os=-bsd
4163e747e6dSmrg		;;
4173e747e6dSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4183e747e6dSmrg		basic_machine=m68000-att
4193e747e6dSmrg		;;
4203e747e6dSmrg	3b*)
4213e747e6dSmrg		basic_machine=we32k-att
4223e747e6dSmrg		;;
4233e747e6dSmrg	a29khif)
4243e747e6dSmrg		basic_machine=a29k-amd
4253e747e6dSmrg		os=-udi
4263e747e6dSmrg		;;
4273e747e6dSmrg    	abacus)
4283e747e6dSmrg		basic_machine=abacus-unknown
4293e747e6dSmrg		;;
4303e747e6dSmrg	adobe68k)
4313e747e6dSmrg		basic_machine=m68010-adobe
4323e747e6dSmrg		os=-scout
4333e747e6dSmrg		;;
4343e747e6dSmrg	alliant | fx80)
4353e747e6dSmrg		basic_machine=fx80-alliant
4363e747e6dSmrg		;;
4373e747e6dSmrg	altos | altos3068)
4383e747e6dSmrg		basic_machine=m68k-altos
4393e747e6dSmrg		;;
4403e747e6dSmrg	am29k)
4413e747e6dSmrg		basic_machine=a29k-none
4423e747e6dSmrg		os=-bsd
4433e747e6dSmrg		;;
4443e747e6dSmrg	amd64)
4453e747e6dSmrg		basic_machine=x86_64-pc
4463e747e6dSmrg		;;
4473e747e6dSmrg	amd64-*)
4483e747e6dSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4493e747e6dSmrg		;;
4503e747e6dSmrg	amdahl)
4513e747e6dSmrg		basic_machine=580-amdahl
4523e747e6dSmrg		os=-sysv
4533e747e6dSmrg		;;
4543e747e6dSmrg	amiga | amiga-*)
4553e747e6dSmrg		basic_machine=m68k-unknown
4563e747e6dSmrg		;;
4573e747e6dSmrg	amigaos | amigados)
4583e747e6dSmrg		basic_machine=m68k-unknown
4593e747e6dSmrg		os=-amigaos
4603e747e6dSmrg		;;
4613e747e6dSmrg	amigaunix | amix)
4623e747e6dSmrg		basic_machine=m68k-unknown
4633e747e6dSmrg		os=-sysv4
4643e747e6dSmrg		;;
4653e747e6dSmrg	apollo68)
4663e747e6dSmrg		basic_machine=m68k-apollo
4673e747e6dSmrg		os=-sysv
4683e747e6dSmrg		;;
4693e747e6dSmrg	apollo68bsd)
4703e747e6dSmrg		basic_machine=m68k-apollo
4713e747e6dSmrg		os=-bsd
4723e747e6dSmrg		;;
4737a2631fcSmrg	aros)
4747a2631fcSmrg		basic_machine=i386-pc
4757a2631fcSmrg		os=-aros
4767a2631fcSmrg		;;
4773e747e6dSmrg	aux)
4783e747e6dSmrg		basic_machine=m68k-apple
4793e747e6dSmrg		os=-aux
4803e747e6dSmrg		;;
4813e747e6dSmrg	balance)
4823e747e6dSmrg		basic_machine=ns32k-sequent
4833e747e6dSmrg		os=-dynix
4843e747e6dSmrg		;;
4853e747e6dSmrg	blackfin)
4863e747e6dSmrg		basic_machine=bfin-unknown
4873e747e6dSmrg		os=-linux
4883e747e6dSmrg		;;
4893e747e6dSmrg	blackfin-*)
4903e747e6dSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4913e747e6dSmrg		os=-linux
4923e747e6dSmrg		;;
4937a2631fcSmrg	bluegene*)
4947a2631fcSmrg		basic_machine=powerpc-ibm
4957a2631fcSmrg		os=-cnk
4967a2631fcSmrg		;;
4977a2631fcSmrg	c54x-*)
4987a2631fcSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4997a2631fcSmrg		;;
5007a2631fcSmrg	c55x-*)
5017a2631fcSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5027a2631fcSmrg		;;
5037a2631fcSmrg	c6x-*)
5047a2631fcSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5057a2631fcSmrg		;;
5063e747e6dSmrg	c90)
5073e747e6dSmrg		basic_machine=c90-cray
5083e747e6dSmrg		os=-unicos
5093e747e6dSmrg		;;
5107a2631fcSmrg        cegcc)
5117a2631fcSmrg		basic_machine=arm-unknown
5127a2631fcSmrg		os=-cegcc
5137a2631fcSmrg		;;
5143e747e6dSmrg	convex-c1)
5153e747e6dSmrg		basic_machine=c1-convex
5163e747e6dSmrg		os=-bsd
5173e747e6dSmrg		;;
5183e747e6dSmrg	convex-c2)
5193e747e6dSmrg		basic_machine=c2-convex
5203e747e6dSmrg		os=-bsd
5213e747e6dSmrg		;;
5223e747e6dSmrg	convex-c32)
5233e747e6dSmrg		basic_machine=c32-convex
5243e747e6dSmrg		os=-bsd
5253e747e6dSmrg		;;
5263e747e6dSmrg	convex-c34)
5273e747e6dSmrg		basic_machine=c34-convex
5283e747e6dSmrg		os=-bsd
5293e747e6dSmrg		;;
5303e747e6dSmrg	convex-c38)
5313e747e6dSmrg		basic_machine=c38-convex
5323e747e6dSmrg		os=-bsd
5333e747e6dSmrg		;;
5343e747e6dSmrg	cray | j90)
5353e747e6dSmrg		basic_machine=j90-cray
5363e747e6dSmrg		os=-unicos
5373e747e6dSmrg		;;
5383e747e6dSmrg	craynv)
5393e747e6dSmrg		basic_machine=craynv-cray
5403e747e6dSmrg		os=-unicosmp
5413e747e6dSmrg		;;
5423e747e6dSmrg	cr16)
5433e747e6dSmrg		basic_machine=cr16-unknown
5443e747e6dSmrg		os=-elf
5453e747e6dSmrg		;;
5463e747e6dSmrg	crds | unos)
5473e747e6dSmrg		basic_machine=m68k-crds
5483e747e6dSmrg		;;
5493e747e6dSmrg	crisv32 | crisv32-* | etraxfs*)
5503e747e6dSmrg		basic_machine=crisv32-axis
5513e747e6dSmrg		;;
5523e747e6dSmrg	cris | cris-* | etrax*)
5533e747e6dSmrg		basic_machine=cris-axis
5543e747e6dSmrg		;;
5553e747e6dSmrg	crx)
5563e747e6dSmrg		basic_machine=crx-unknown
5573e747e6dSmrg		os=-elf
5583e747e6dSmrg		;;
5593e747e6dSmrg	da30 | da30-*)
5603e747e6dSmrg		basic_machine=m68k-da30
5613e747e6dSmrg		;;
5623e747e6dSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5633e747e6dSmrg		basic_machine=mips-dec
5643e747e6dSmrg		;;
5653e747e6dSmrg	decsystem10* | dec10*)
5663e747e6dSmrg		basic_machine=pdp10-dec
5673e747e6dSmrg		os=-tops10
5683e747e6dSmrg		;;
5693e747e6dSmrg	decsystem20* | dec20*)
5703e747e6dSmrg		basic_machine=pdp10-dec
5713e747e6dSmrg		os=-tops20
5723e747e6dSmrg		;;
5733e747e6dSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5743e747e6dSmrg	      | 3300-motorola | delta-motorola)
5753e747e6dSmrg		basic_machine=m68k-motorola
5763e747e6dSmrg		;;
5773e747e6dSmrg	delta88)
5783e747e6dSmrg		basic_machine=m88k-motorola
5793e747e6dSmrg		os=-sysv3
5803e747e6dSmrg		;;
5817a2631fcSmrg	dicos)
5827a2631fcSmrg		basic_machine=i686-pc
5837a2631fcSmrg		os=-dicos
5847a2631fcSmrg		;;
5853e747e6dSmrg	djgpp)
5863e747e6dSmrg		basic_machine=i586-pc
5873e747e6dSmrg		os=-msdosdjgpp
5883e747e6dSmrg		;;
5893e747e6dSmrg	dpx20 | dpx20-*)
5903e747e6dSmrg		basic_machine=rs6000-bull
5913e747e6dSmrg		os=-bosx
5923e747e6dSmrg		;;
5933e747e6dSmrg	dpx2* | dpx2*-bull)
5943e747e6dSmrg		basic_machine=m68k-bull
5953e747e6dSmrg		os=-sysv3
5963e747e6dSmrg		;;
5973e747e6dSmrg	ebmon29k)
5983e747e6dSmrg		basic_machine=a29k-amd
5993e747e6dSmrg		os=-ebmon
6003e747e6dSmrg		;;
6013e747e6dSmrg	elxsi)
6023e747e6dSmrg		basic_machine=elxsi-elxsi
6033e747e6dSmrg		os=-bsd
6043e747e6dSmrg		;;
6053e747e6dSmrg	encore | umax | mmax)
6063e747e6dSmrg		basic_machine=ns32k-encore
6073e747e6dSmrg		;;
6083e747e6dSmrg	es1800 | OSE68k | ose68k | ose | OSE)
6093e747e6dSmrg		basic_machine=m68k-ericsson
6103e747e6dSmrg		os=-ose
6113e747e6dSmrg		;;
6123e747e6dSmrg	fx2800)
6133e747e6dSmrg		basic_machine=i860-alliant
6143e747e6dSmrg		;;
6153e747e6dSmrg	genix)
6163e747e6dSmrg		basic_machine=ns32k-ns
6173e747e6dSmrg		;;
6183e747e6dSmrg	gmicro)
6193e747e6dSmrg		basic_machine=tron-gmicro
6203e747e6dSmrg		os=-sysv
6213e747e6dSmrg		;;
6223e747e6dSmrg	go32)
6233e747e6dSmrg		basic_machine=i386-pc
6243e747e6dSmrg		os=-go32
6253e747e6dSmrg		;;
6263e747e6dSmrg	h3050r* | hiux*)
6273e747e6dSmrg		basic_machine=hppa1.1-hitachi
6283e747e6dSmrg		os=-hiuxwe2
6293e747e6dSmrg		;;
6303e747e6dSmrg	h8300hms)
6313e747e6dSmrg		basic_machine=h8300-hitachi
6323e747e6dSmrg		os=-hms
6333e747e6dSmrg		;;
6343e747e6dSmrg	h8300xray)
6353e747e6dSmrg		basic_machine=h8300-hitachi
6363e747e6dSmrg		os=-xray
6373e747e6dSmrg		;;
6383e747e6dSmrg	h8500hms)
6393e747e6dSmrg		basic_machine=h8500-hitachi
6403e747e6dSmrg		os=-hms
6413e747e6dSmrg		;;
6423e747e6dSmrg	harris)
6433e747e6dSmrg		basic_machine=m88k-harris
6443e747e6dSmrg		os=-sysv3
6453e747e6dSmrg		;;
6463e747e6dSmrg	hp300-*)
6473e747e6dSmrg		basic_machine=m68k-hp
6483e747e6dSmrg		;;
6493e747e6dSmrg	hp300bsd)
6503e747e6dSmrg		basic_machine=m68k-hp
6513e747e6dSmrg		os=-bsd
6523e747e6dSmrg		;;
6533e747e6dSmrg	hp300hpux)
6543e747e6dSmrg		basic_machine=m68k-hp
6553e747e6dSmrg		os=-hpux
6563e747e6dSmrg		;;
6573e747e6dSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6583e747e6dSmrg		basic_machine=hppa1.0-hp
6593e747e6dSmrg		;;
6603e747e6dSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6613e747e6dSmrg		basic_machine=m68000-hp
6623e747e6dSmrg		;;
6633e747e6dSmrg	hp9k3[2-9][0-9])
6643e747e6dSmrg		basic_machine=m68k-hp
6653e747e6dSmrg		;;
6663e747e6dSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6673e747e6dSmrg		basic_machine=hppa1.0-hp
6683e747e6dSmrg		;;
6693e747e6dSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6703e747e6dSmrg		basic_machine=hppa1.1-hp
6713e747e6dSmrg		;;
6723e747e6dSmrg	hp9k78[0-9] | hp78[0-9])
6733e747e6dSmrg		# FIXME: really hppa2.0-hp
6743e747e6dSmrg		basic_machine=hppa1.1-hp
6753e747e6dSmrg		;;
6763e747e6dSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6773e747e6dSmrg		# FIXME: really hppa2.0-hp
6783e747e6dSmrg		basic_machine=hppa1.1-hp
6793e747e6dSmrg		;;
6803e747e6dSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6813e747e6dSmrg		basic_machine=hppa1.1-hp
6823e747e6dSmrg		;;
6833e747e6dSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6843e747e6dSmrg		basic_machine=hppa1.0-hp
6853e747e6dSmrg		;;
6863e747e6dSmrg	hppa-next)
6873e747e6dSmrg		os=-nextstep3
6883e747e6dSmrg		;;
6893e747e6dSmrg	hppaosf)
6903e747e6dSmrg		basic_machine=hppa1.1-hp
6913e747e6dSmrg		os=-osf
6923e747e6dSmrg		;;
6933e747e6dSmrg	hppro)
6943e747e6dSmrg		basic_machine=hppa1.1-hp
6953e747e6dSmrg		os=-proelf
6963e747e6dSmrg		;;
6973e747e6dSmrg	i370-ibm* | ibm*)
6983e747e6dSmrg		basic_machine=i370-ibm
6993e747e6dSmrg		;;
7003e747e6dSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7013e747e6dSmrg	i*86v32)
7023e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7033e747e6dSmrg		os=-sysv32
7043e747e6dSmrg		;;
7053e747e6dSmrg	i*86v4*)
7063e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7073e747e6dSmrg		os=-sysv4
7083e747e6dSmrg		;;
7093e747e6dSmrg	i*86v)
7103e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7113e747e6dSmrg		os=-sysv
7123e747e6dSmrg		;;
7133e747e6dSmrg	i*86sol2)
7143e747e6dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7153e747e6dSmrg		os=-solaris2
7163e747e6dSmrg		;;
7173e747e6dSmrg	i386mach)
7183e747e6dSmrg		basic_machine=i386-mach
7193e747e6dSmrg		os=-mach
7203e747e6dSmrg		;;
7213e747e6dSmrg	i386-vsta | vsta)
7223e747e6dSmrg		basic_machine=i386-unknown
7233e747e6dSmrg		os=-vsta
7243e747e6dSmrg		;;
7253e747e6dSmrg	iris | iris4d)
7263e747e6dSmrg		basic_machine=mips-sgi
7273e747e6dSmrg		case $os in
7283e747e6dSmrg		    -irix*)
7293e747e6dSmrg			;;
7303e747e6dSmrg		    *)
7313e747e6dSmrg			os=-irix4
7323e747e6dSmrg			;;
7333e747e6dSmrg		esac
7343e747e6dSmrg		;;
7353e747e6dSmrg	isi68 | isi)
7363e747e6dSmrg		basic_machine=m68k-isi
7373e747e6dSmrg		os=-sysv
7383e747e6dSmrg		;;
7393e747e6dSmrg	m68knommu)
7403e747e6dSmrg		basic_machine=m68k-unknown
7413e747e6dSmrg		os=-linux
7423e747e6dSmrg		;;
7433e747e6dSmrg	m68knommu-*)
7443e747e6dSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7453e747e6dSmrg		os=-linux
7463e747e6dSmrg		;;
7473e747e6dSmrg	m88k-omron*)
7483e747e6dSmrg		basic_machine=m88k-omron
7493e747e6dSmrg		;;
7503e747e6dSmrg	magnum | m3230)
7513e747e6dSmrg		basic_machine=mips-mips
7523e747e6dSmrg		os=-sysv
7533e747e6dSmrg		;;
7543e747e6dSmrg	merlin)
7553e747e6dSmrg		basic_machine=ns32k-utek
7563e747e6dSmrg		os=-sysv
7573e747e6dSmrg		;;
7587a2631fcSmrg        microblaze)
7597a2631fcSmrg		basic_machine=microblaze-xilinx
7607a2631fcSmrg		;;
7613e747e6dSmrg	mingw32)
7623e747e6dSmrg		basic_machine=i386-pc
7633e747e6dSmrg		os=-mingw32
7643e747e6dSmrg		;;
7653e747e6dSmrg	mingw32ce)
7663e747e6dSmrg		basic_machine=arm-unknown
7673e747e6dSmrg		os=-mingw32ce
7683e747e6dSmrg		;;
7693e747e6dSmrg	miniframe)
7703e747e6dSmrg		basic_machine=m68000-convergent
7713e747e6dSmrg		;;
7723e747e6dSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7733e747e6dSmrg		basic_machine=m68k-atari
7743e747e6dSmrg		os=-mint
7753e747e6dSmrg		;;
7763e747e6dSmrg	mips3*-*)
7773e747e6dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7783e747e6dSmrg		;;
7793e747e6dSmrg	mips3*)
7803e747e6dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7813e747e6dSmrg		;;
7823e747e6dSmrg	monitor)
7833e747e6dSmrg		basic_machine=m68k-rom68k
7843e747e6dSmrg		os=-coff
7853e747e6dSmrg		;;
7863e747e6dSmrg	morphos)
7873e747e6dSmrg		basic_machine=powerpc-unknown
7883e747e6dSmrg		os=-morphos
7893e747e6dSmrg		;;
7903e747e6dSmrg	msdos)
7913e747e6dSmrg		basic_machine=i386-pc
7923e747e6dSmrg		os=-msdos
7933e747e6dSmrg		;;
7943e747e6dSmrg	ms1-*)
7953e747e6dSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7963e747e6dSmrg		;;
7973e747e6dSmrg	mvs)
7983e747e6dSmrg		basic_machine=i370-ibm
7993e747e6dSmrg		os=-mvs
8003e747e6dSmrg		;;
8013e747e6dSmrg	ncr3000)
8023e747e6dSmrg		basic_machine=i486-ncr
8033e747e6dSmrg		os=-sysv4
8043e747e6dSmrg		;;
8053e747e6dSmrg	netbsd386)
8063e747e6dSmrg		basic_machine=i386-unknown
8073e747e6dSmrg		os=-netbsd
8083e747e6dSmrg		;;
8093e747e6dSmrg	netwinder)
8103e747e6dSmrg		basic_machine=armv4l-rebel
8113e747e6dSmrg		os=-linux
8123e747e6dSmrg		;;
8133e747e6dSmrg	news | news700 | news800 | news900)
8143e747e6dSmrg		basic_machine=m68k-sony
8153e747e6dSmrg		os=-newsos
8163e747e6dSmrg		;;
8173e747e6dSmrg	news1000)
8183e747e6dSmrg		basic_machine=m68030-sony
8193e747e6dSmrg		os=-newsos
8203e747e6dSmrg		;;
8213e747e6dSmrg	news-3600 | risc-news)
8223e747e6dSmrg		basic_machine=mips-sony
8233e747e6dSmrg		os=-newsos
8243e747e6dSmrg		;;
8253e747e6dSmrg	necv70)
8263e747e6dSmrg		basic_machine=v70-nec
8273e747e6dSmrg		os=-sysv
8283e747e6dSmrg		;;
8293e747e6dSmrg	next | m*-next )
8303e747e6dSmrg		basic_machine=m68k-next
8313e747e6dSmrg		case $os in
8323e747e6dSmrg		    -nextstep* )
8333e747e6dSmrg			;;
8343e747e6dSmrg		    -ns2*)
8353e747e6dSmrg		      os=-nextstep2
8363e747e6dSmrg			;;
8373e747e6dSmrg		    *)
8383e747e6dSmrg		      os=-nextstep3
8393e747e6dSmrg			;;
8403e747e6dSmrg		esac
8413e747e6dSmrg		;;
8423e747e6dSmrg	nh3000)
8433e747e6dSmrg		basic_machine=m68k-harris
8443e747e6dSmrg		os=-cxux
8453e747e6dSmrg		;;
8463e747e6dSmrg	nh[45]000)
8473e747e6dSmrg		basic_machine=m88k-harris
8483e747e6dSmrg		os=-cxux
8493e747e6dSmrg		;;
8503e747e6dSmrg	nindy960)
8513e747e6dSmrg		basic_machine=i960-intel
8523e747e6dSmrg		os=-nindy
8533e747e6dSmrg		;;
8543e747e6dSmrg	mon960)
8553e747e6dSmrg		basic_machine=i960-intel
8563e747e6dSmrg		os=-mon960
8573e747e6dSmrg		;;
8583e747e6dSmrg	nonstopux)
8593e747e6dSmrg		basic_machine=mips-compaq
8603e747e6dSmrg		os=-nonstopux
8613e747e6dSmrg		;;
8623e747e6dSmrg	np1)
8633e747e6dSmrg		basic_machine=np1-gould
8643e747e6dSmrg		;;
8657a2631fcSmrg        neo-tandem)
8667a2631fcSmrg		basic_machine=neo-tandem
8677a2631fcSmrg		;;
8687a2631fcSmrg        nse-tandem)
8697a2631fcSmrg		basic_machine=nse-tandem
8707a2631fcSmrg		;;
8713e747e6dSmrg	nsr-tandem)
8723e747e6dSmrg		basic_machine=nsr-tandem
8733e747e6dSmrg		;;
8743e747e6dSmrg	op50n-* | op60c-*)
8753e747e6dSmrg		basic_machine=hppa1.1-oki
8763e747e6dSmrg		os=-proelf
8773e747e6dSmrg		;;
8783e747e6dSmrg	openrisc | openrisc-*)
8793e747e6dSmrg		basic_machine=or32-unknown
8803e747e6dSmrg		;;
8813e747e6dSmrg	os400)
8823e747e6dSmrg		basic_machine=powerpc-ibm
8833e747e6dSmrg		os=-os400
8843e747e6dSmrg		;;
8853e747e6dSmrg	OSE68000 | ose68000)
8863e747e6dSmrg		basic_machine=m68000-ericsson
8873e747e6dSmrg		os=-ose
8883e747e6dSmrg		;;
8893e747e6dSmrg	os68k)
8903e747e6dSmrg		basic_machine=m68k-none
8913e747e6dSmrg		os=-os68k
8923e747e6dSmrg		;;
8933e747e6dSmrg	pa-hitachi)
8943e747e6dSmrg		basic_machine=hppa1.1-hitachi
8953e747e6dSmrg		os=-hiuxwe2
8963e747e6dSmrg		;;
8973e747e6dSmrg	paragon)
8983e747e6dSmrg		basic_machine=i860-intel
8993e747e6dSmrg		os=-osf
9003e747e6dSmrg		;;
9013e747e6dSmrg	parisc)
9023e747e6dSmrg		basic_machine=hppa-unknown
9033e747e6dSmrg		os=-linux
9043e747e6dSmrg		;;
9053e747e6dSmrg	parisc-*)
9063e747e6dSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9073e747e6dSmrg		os=-linux
9083e747e6dSmrg		;;
9093e747e6dSmrg	pbd)
9103e747e6dSmrg		basic_machine=sparc-tti
9113e747e6dSmrg		;;
9123e747e6dSmrg	pbb)
9133e747e6dSmrg		basic_machine=m68k-tti
9143e747e6dSmrg		;;
9153e747e6dSmrg	pc532 | pc532-*)
9163e747e6dSmrg		basic_machine=ns32k-pc532
9173e747e6dSmrg		;;
9183e747e6dSmrg	pc98)
9193e747e6dSmrg		basic_machine=i386-pc
9203e747e6dSmrg		;;
9213e747e6dSmrg	pc98-*)
9223e747e6dSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9233e747e6dSmrg		;;
9243e747e6dSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9253e747e6dSmrg		basic_machine=i586-pc
9263e747e6dSmrg		;;
9273e747e6dSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9283e747e6dSmrg		basic_machine=i686-pc
9293e747e6dSmrg		;;
9303e747e6dSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
9313e747e6dSmrg		basic_machine=i686-pc
9323e747e6dSmrg		;;
9333e747e6dSmrg	pentium4)
9343e747e6dSmrg		basic_machine=i786-pc
9353e747e6dSmrg		;;
9363e747e6dSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9373e747e6dSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9383e747e6dSmrg		;;
9393e747e6dSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9403e747e6dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9413e747e6dSmrg		;;
9423e747e6dSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9433e747e6dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9443e747e6dSmrg		;;
9453e747e6dSmrg	pentium4-*)
9463e747e6dSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9473e747e6dSmrg		;;
9483e747e6dSmrg	pn)
9493e747e6dSmrg		basic_machine=pn-gould
9503e747e6dSmrg		;;
9513e747e6dSmrg	power)	basic_machine=power-ibm
9523e747e6dSmrg		;;
9533e747e6dSmrg	ppc)	basic_machine=powerpc-unknown
9543e747e6dSmrg		;;
9553e747e6dSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9563e747e6dSmrg		;;
9573e747e6dSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9583e747e6dSmrg		basic_machine=powerpcle-unknown
9593e747e6dSmrg		;;
9603e747e6dSmrg	ppcle-* | powerpclittle-*)
9613e747e6dSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9623e747e6dSmrg		;;
9633e747e6dSmrg	ppc64)	basic_machine=powerpc64-unknown
9643e747e6dSmrg		;;
9653e747e6dSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9663e747e6dSmrg		;;
9673e747e6dSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9683e747e6dSmrg		basic_machine=powerpc64le-unknown
9693e747e6dSmrg		;;
9703e747e6dSmrg	ppc64le-* | powerpc64little-*)
9713e747e6dSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9723e747e6dSmrg		;;
9733e747e6dSmrg	ps2)
9743e747e6dSmrg		basic_machine=i386-ibm
9753e747e6dSmrg		;;
9763e747e6dSmrg	pw32)
9773e747e6dSmrg		basic_machine=i586-unknown
9783e747e6dSmrg		os=-pw32
9793e747e6dSmrg		;;
9803e747e6dSmrg	rdos)
9813e747e6dSmrg		basic_machine=i386-pc
9823e747e6dSmrg		os=-rdos
9833e747e6dSmrg		;;
9843e747e6dSmrg	rom68k)
9853e747e6dSmrg		basic_machine=m68k-rom68k
9863e747e6dSmrg		os=-coff
9873e747e6dSmrg		;;
9883e747e6dSmrg	rm[46]00)
9893e747e6dSmrg		basic_machine=mips-siemens
9903e747e6dSmrg		;;
9913e747e6dSmrg	rtpc | rtpc-*)
9923e747e6dSmrg		basic_machine=romp-ibm
9933e747e6dSmrg		;;
9943e747e6dSmrg	s390 | s390-*)
9953e747e6dSmrg		basic_machine=s390-ibm
9963e747e6dSmrg		;;
9973e747e6dSmrg	s390x | s390x-*)
9983e747e6dSmrg		basic_machine=s390x-ibm
9993e747e6dSmrg		;;
10003e747e6dSmrg	sa29200)
10013e747e6dSmrg		basic_machine=a29k-amd
10023e747e6dSmrg		os=-udi
10033e747e6dSmrg		;;
10043e747e6dSmrg	sb1)
10053e747e6dSmrg		basic_machine=mipsisa64sb1-unknown
10063e747e6dSmrg		;;
10073e747e6dSmrg	sb1el)
10083e747e6dSmrg		basic_machine=mipsisa64sb1el-unknown
10093e747e6dSmrg		;;
10103e747e6dSmrg	sde)
10113e747e6dSmrg		basic_machine=mipsisa32-sde
10123e747e6dSmrg		os=-elf
10133e747e6dSmrg		;;
10143e747e6dSmrg	sei)
10153e747e6dSmrg		basic_machine=mips-sei
10163e747e6dSmrg		os=-seiux
10173e747e6dSmrg		;;
10183e747e6dSmrg	sequent)
10193e747e6dSmrg		basic_machine=i386-sequent
10203e747e6dSmrg		;;
10213e747e6dSmrg	sh)
10223e747e6dSmrg		basic_machine=sh-hitachi
10233e747e6dSmrg		os=-hms
10243e747e6dSmrg		;;
10253e747e6dSmrg	sh5el)
10263e747e6dSmrg		basic_machine=sh5le-unknown
10273e747e6dSmrg		;;
10283e747e6dSmrg	sh64)
10293e747e6dSmrg		basic_machine=sh64-unknown
10303e747e6dSmrg		;;
10313e747e6dSmrg	sparclite-wrs | simso-wrs)
10323e747e6dSmrg		basic_machine=sparclite-wrs
10333e747e6dSmrg		os=-vxworks
10343e747e6dSmrg		;;
10353e747e6dSmrg	sps7)
10363e747e6dSmrg		basic_machine=m68k-bull
10373e747e6dSmrg		os=-sysv2
10383e747e6dSmrg		;;
10393e747e6dSmrg	spur)
10403e747e6dSmrg		basic_machine=spur-unknown
10413e747e6dSmrg		;;
10423e747e6dSmrg	st2000)
10433e747e6dSmrg		basic_machine=m68k-tandem
10443e747e6dSmrg		;;
10453e747e6dSmrg	stratus)
10463e747e6dSmrg		basic_machine=i860-stratus
10473e747e6dSmrg		os=-sysv4
10483e747e6dSmrg		;;
10493e747e6dSmrg	sun2)
10503e747e6dSmrg		basic_machine=m68000-sun
10513e747e6dSmrg		;;
10523e747e6dSmrg	sun2os3)
10533e747e6dSmrg		basic_machine=m68000-sun
10543e747e6dSmrg		os=-sunos3
10553e747e6dSmrg		;;
10563e747e6dSmrg	sun2os4)
10573e747e6dSmrg		basic_machine=m68000-sun
10583e747e6dSmrg		os=-sunos4
10593e747e6dSmrg		;;
10603e747e6dSmrg	sun3os3)
10613e747e6dSmrg		basic_machine=m68k-sun
10623e747e6dSmrg		os=-sunos3
10633e747e6dSmrg		;;
10643e747e6dSmrg	sun3os4)
10653e747e6dSmrg		basic_machine=m68k-sun
10663e747e6dSmrg		os=-sunos4
10673e747e6dSmrg		;;
10683e747e6dSmrg	sun4os3)
10693e747e6dSmrg		basic_machine=sparc-sun
10703e747e6dSmrg		os=-sunos3
10713e747e6dSmrg		;;
10723e747e6dSmrg	sun4os4)
10733e747e6dSmrg		basic_machine=sparc-sun
10743e747e6dSmrg		os=-sunos4
10753e747e6dSmrg		;;
10763e747e6dSmrg	sun4sol2)
10773e747e6dSmrg		basic_machine=sparc-sun
10783e747e6dSmrg		os=-solaris2
10793e747e6dSmrg		;;
10803e747e6dSmrg	sun3 | sun3-*)
10813e747e6dSmrg		basic_machine=m68k-sun
10823e747e6dSmrg		;;
10833e747e6dSmrg	sun4)
10843e747e6dSmrg		basic_machine=sparc-sun
10853e747e6dSmrg		;;
10863e747e6dSmrg	sun386 | sun386i | roadrunner)
10873e747e6dSmrg		basic_machine=i386-sun
10883e747e6dSmrg		;;
10893e747e6dSmrg	sv1)
10903e747e6dSmrg		basic_machine=sv1-cray
10913e747e6dSmrg		os=-unicos
10923e747e6dSmrg		;;
10933e747e6dSmrg	symmetry)
10943e747e6dSmrg		basic_machine=i386-sequent
10953e747e6dSmrg		os=-dynix
10963e747e6dSmrg		;;
10973e747e6dSmrg	t3e)
10983e747e6dSmrg		basic_machine=alphaev5-cray
10993e747e6dSmrg		os=-unicos
11003e747e6dSmrg		;;
11013e747e6dSmrg	t90)
11023e747e6dSmrg		basic_machine=t90-cray
11033e747e6dSmrg		os=-unicos
11043e747e6dSmrg		;;
11057a2631fcSmrg        # This must be matched before tile*.
11067a2631fcSmrg        tilegx*)
11077a2631fcSmrg		basic_machine=tilegx-unknown
11087a2631fcSmrg		os=-linux-gnu
11093e747e6dSmrg		;;
11103e747e6dSmrg	tile*)
11113e747e6dSmrg		basic_machine=tile-unknown
11123e747e6dSmrg		os=-linux-gnu
11133e747e6dSmrg		;;
11143e747e6dSmrg	tx39)
11153e747e6dSmrg		basic_machine=mipstx39-unknown
11163e747e6dSmrg		;;
11173e747e6dSmrg	tx39el)
11183e747e6dSmrg		basic_machine=mipstx39el-unknown
11193e747e6dSmrg		;;
11203e747e6dSmrg	toad1)
11213e747e6dSmrg		basic_machine=pdp10-xkl
11223e747e6dSmrg		os=-tops20
11233e747e6dSmrg		;;
11243e747e6dSmrg	tower | tower-32)
11253e747e6dSmrg		basic_machine=m68k-ncr
11263e747e6dSmrg		;;
11273e747e6dSmrg	tpf)
11283e747e6dSmrg		basic_machine=s390x-ibm
11293e747e6dSmrg		os=-tpf
11303e747e6dSmrg		;;
11313e747e6dSmrg	udi29k)
11323e747e6dSmrg		basic_machine=a29k-amd
11333e747e6dSmrg		os=-udi
11343e747e6dSmrg		;;
11353e747e6dSmrg	ultra3)
11363e747e6dSmrg		basic_machine=a29k-nyu
11373e747e6dSmrg		os=-sym1
11383e747e6dSmrg		;;
11393e747e6dSmrg	v810 | necv810)
11403e747e6dSmrg		basic_machine=v810-nec
11413e747e6dSmrg		os=-none
11423e747e6dSmrg		;;
11433e747e6dSmrg	vaxv)
11443e747e6dSmrg		basic_machine=vax-dec
11453e747e6dSmrg		os=-sysv
11463e747e6dSmrg		;;
11473e747e6dSmrg	vms)
11483e747e6dSmrg		basic_machine=vax-dec
11493e747e6dSmrg		os=-vms
11503e747e6dSmrg		;;
11513e747e6dSmrg	vpp*|vx|vx-*)
11523e747e6dSmrg		basic_machine=f301-fujitsu
11533e747e6dSmrg		;;
11543e747e6dSmrg	vxworks960)
11553e747e6dSmrg		basic_machine=i960-wrs
11563e747e6dSmrg		os=-vxworks
11573e747e6dSmrg		;;
11583e747e6dSmrg	vxworks68)
11593e747e6dSmrg		basic_machine=m68k-wrs
11603e747e6dSmrg		os=-vxworks
11613e747e6dSmrg		;;
11623e747e6dSmrg	vxworks29k)
11633e747e6dSmrg		basic_machine=a29k-wrs
11643e747e6dSmrg		os=-vxworks
11653e747e6dSmrg		;;
11663e747e6dSmrg	w65*)
11673e747e6dSmrg		basic_machine=w65-wdc
11683e747e6dSmrg		os=-none
11693e747e6dSmrg		;;
11703e747e6dSmrg	w89k-*)
11713e747e6dSmrg		basic_machine=hppa1.1-winbond
11723e747e6dSmrg		os=-proelf
11733e747e6dSmrg		;;
11743e747e6dSmrg	xbox)
11753e747e6dSmrg		basic_machine=i686-pc
11763e747e6dSmrg		os=-mingw32
11773e747e6dSmrg		;;
11783e747e6dSmrg	xps | xps100)
11793e747e6dSmrg		basic_machine=xps100-honeywell
11803e747e6dSmrg		;;
11813e747e6dSmrg	ymp)
11823e747e6dSmrg		basic_machine=ymp-cray
11833e747e6dSmrg		os=-unicos
11843e747e6dSmrg		;;
11853e747e6dSmrg	z8k-*-coff)
11863e747e6dSmrg		basic_machine=z8k-unknown
11873e747e6dSmrg		os=-sim
11883e747e6dSmrg		;;
11897a2631fcSmrg	z80-*-coff)
11907a2631fcSmrg		basic_machine=z80-unknown
11917a2631fcSmrg		os=-sim
11927a2631fcSmrg		;;
11933e747e6dSmrg	none)
11943e747e6dSmrg		basic_machine=none-none
11953e747e6dSmrg		os=-none
11963e747e6dSmrg		;;
11973e747e6dSmrg
11983e747e6dSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11993e747e6dSmrg# some cases the only manufacturer, in others, it is the most popular.
12003e747e6dSmrg	w89k)
12013e747e6dSmrg		basic_machine=hppa1.1-winbond
12023e747e6dSmrg		;;
12033e747e6dSmrg	op50n)
12043e747e6dSmrg		basic_machine=hppa1.1-oki
12053e747e6dSmrg		;;
12063e747e6dSmrg	op60c)
12073e747e6dSmrg		basic_machine=hppa1.1-oki
12083e747e6dSmrg		;;
12093e747e6dSmrg	romp)
12103e747e6dSmrg		basic_machine=romp-ibm
12113e747e6dSmrg		;;
12123e747e6dSmrg	mmix)
12133e747e6dSmrg		basic_machine=mmix-knuth
12143e747e6dSmrg		;;
12153e747e6dSmrg	rs6000)
12163e747e6dSmrg		basic_machine=rs6000-ibm
12173e747e6dSmrg		;;
12183e747e6dSmrg	vax)
12193e747e6dSmrg		basic_machine=vax-dec
12203e747e6dSmrg		;;
12213e747e6dSmrg	pdp10)
12223e747e6dSmrg		# there are many clones, so DEC is not a safe bet
12233e747e6dSmrg		basic_machine=pdp10-unknown
12243e747e6dSmrg		;;
12253e747e6dSmrg	pdp11)
12263e747e6dSmrg		basic_machine=pdp11-dec
12273e747e6dSmrg		;;
12283e747e6dSmrg	we32k)
12293e747e6dSmrg		basic_machine=we32k-att
12303e747e6dSmrg		;;
12317a2631fcSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12323e747e6dSmrg		basic_machine=sh-unknown
12333e747e6dSmrg		;;
12343e747e6dSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12353e747e6dSmrg		basic_machine=sparc-sun
12363e747e6dSmrg		;;
12373e747e6dSmrg	cydra)
12383e747e6dSmrg		basic_machine=cydra-cydrome
12393e747e6dSmrg		;;
12403e747e6dSmrg	orion)
12413e747e6dSmrg		basic_machine=orion-highlevel
12423e747e6dSmrg		;;
12433e747e6dSmrg	orion105)
12443e747e6dSmrg		basic_machine=clipper-highlevel
12453e747e6dSmrg		;;
12463e747e6dSmrg	mac | mpw | mac-mpw)
12473e747e6dSmrg		basic_machine=m68k-apple
12483e747e6dSmrg		;;
12493e747e6dSmrg	pmac | pmac-mpw)
12503e747e6dSmrg		basic_machine=powerpc-apple
12513e747e6dSmrg		;;
12523e747e6dSmrg	*-unknown)
12533e747e6dSmrg		# Make sure to match an already-canonicalized machine name.
12543e747e6dSmrg		;;
12553e747e6dSmrg	*)
12563e747e6dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12573e747e6dSmrg		exit 1
12583e747e6dSmrg		;;
12593e747e6dSmrgesac
12603e747e6dSmrg
12613e747e6dSmrg# Here we canonicalize certain aliases for manufacturers.
12623e747e6dSmrgcase $basic_machine in
12633e747e6dSmrg	*-digital*)
12643e747e6dSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12653e747e6dSmrg		;;
12663e747e6dSmrg	*-commodore*)
12673e747e6dSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12683e747e6dSmrg		;;
12693e747e6dSmrg	*)
12703e747e6dSmrg		;;
12713e747e6dSmrgesac
12723e747e6dSmrg
12733e747e6dSmrg# Decode manufacturer-specific aliases for certain operating systems.
12743e747e6dSmrg
12753e747e6dSmrgif [ x"$os" != x"" ]
12763e747e6dSmrgthen
12773e747e6dSmrgcase $os in
12783e747e6dSmrg        # First match some system type aliases
12793e747e6dSmrg        # that might get confused with valid system types.
12803e747e6dSmrg	# -solaris* is a basic system type, with this one exception.
12817a2631fcSmrg        -auroraux)
12827a2631fcSmrg	        os=-auroraux
12837a2631fcSmrg		;;
12843e747e6dSmrg	-solaris1 | -solaris1.*)
12853e747e6dSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12863e747e6dSmrg		;;
12873e747e6dSmrg	-solaris)
12883e747e6dSmrg		os=-solaris2
12893e747e6dSmrg		;;
12903e747e6dSmrg	-svr4*)
12913e747e6dSmrg		os=-sysv4
12923e747e6dSmrg		;;
12933e747e6dSmrg	-unixware*)
12943e747e6dSmrg		os=-sysv4.2uw
12953e747e6dSmrg		;;
12963e747e6dSmrg	-gnu/linux*)
12973e747e6dSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12983e747e6dSmrg		;;
12993e747e6dSmrg	# First accept the basic system types.
13003e747e6dSmrg	# The portable systems comes first.
13013e747e6dSmrg	# Each alternative MUST END IN A *, to match a version number.
13023e747e6dSmrg	# -sysv* is not here because it comes later, after sysvr4.
13033e747e6dSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13047a2631fcSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13057a2631fcSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13067a2631fcSmrg	      | -sym* | -kopensolaris* \
13073e747e6dSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13087a2631fcSmrg	      | -aos* | -aros* \
13093e747e6dSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13103e747e6dSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13113e747e6dSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13123e747e6dSmrg	      | -openbsd* | -solidbsd* \
13133e747e6dSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13143e747e6dSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13153e747e6dSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13163e747e6dSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13177a2631fcSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13183e747e6dSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13197a2631fcSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13207a2631fcSmrg	      | -linux-newlib* | -linux-uclibc* \
13213e747e6dSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13223e747e6dSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13233e747e6dSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13243e747e6dSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13253e747e6dSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13263e747e6dSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13273e747e6dSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13287a2631fcSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13293e747e6dSmrg	# Remember, each alternative MUST END IN *, to match a version number.
13303e747e6dSmrg		;;
13313e747e6dSmrg	-qnx*)
13323e747e6dSmrg		case $basic_machine in
13333e747e6dSmrg		    x86-* | i*86-*)
13343e747e6dSmrg			;;
13353e747e6dSmrg		    *)
13363e747e6dSmrg			os=-nto$os
13373e747e6dSmrg			;;
13383e747e6dSmrg		esac
13393e747e6dSmrg		;;
13403e747e6dSmrg	-nto-qnx*)
13413e747e6dSmrg		;;
13423e747e6dSmrg	-nto*)
13433e747e6dSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13443e747e6dSmrg		;;
13453e747e6dSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13463e747e6dSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13473e747e6dSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13483e747e6dSmrg		;;
13493e747e6dSmrg	-mac*)
13503e747e6dSmrg		os=`echo $os | sed -e 's|mac|macos|'`
13513e747e6dSmrg		;;
13523e747e6dSmrg	-linux-dietlibc)
13533e747e6dSmrg		os=-linux-dietlibc
13543e747e6dSmrg		;;
13553e747e6dSmrg	-linux*)
13563e747e6dSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13573e747e6dSmrg		;;
13583e747e6dSmrg	-sunos5*)
13593e747e6dSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13603e747e6dSmrg		;;
13613e747e6dSmrg	-sunos6*)
13623e747e6dSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13633e747e6dSmrg		;;
13643e747e6dSmrg	-opened*)
13653e747e6dSmrg		os=-openedition
13663e747e6dSmrg		;;
13673e747e6dSmrg        -os400*)
13683e747e6dSmrg		os=-os400
13693e747e6dSmrg		;;
13703e747e6dSmrg	-wince*)
13713e747e6dSmrg		os=-wince
13723e747e6dSmrg		;;
13733e747e6dSmrg	-osfrose*)
13743e747e6dSmrg		os=-osfrose
13753e747e6dSmrg		;;
13763e747e6dSmrg	-osf*)
13773e747e6dSmrg		os=-osf
13783e747e6dSmrg		;;
13793e747e6dSmrg	-utek*)
13803e747e6dSmrg		os=-bsd
13813e747e6dSmrg		;;
13823e747e6dSmrg	-dynix*)
13833e747e6dSmrg		os=-bsd
13843e747e6dSmrg		;;
13853e747e6dSmrg	-acis*)
13863e747e6dSmrg		os=-aos
13873e747e6dSmrg		;;
13883e747e6dSmrg	-atheos*)
13893e747e6dSmrg		os=-atheos
13903e747e6dSmrg		;;
13913e747e6dSmrg	-syllable*)
13923e747e6dSmrg		os=-syllable
13933e747e6dSmrg		;;
13943e747e6dSmrg	-386bsd)
13953e747e6dSmrg		os=-bsd
13963e747e6dSmrg		;;
13973e747e6dSmrg	-ctix* | -uts*)
13983e747e6dSmrg		os=-sysv
13993e747e6dSmrg		;;
14003e747e6dSmrg	-nova*)
14013e747e6dSmrg		os=-rtmk-nova
14023e747e6dSmrg		;;
14033e747e6dSmrg	-ns2 )
14043e747e6dSmrg		os=-nextstep2
14053e747e6dSmrg		;;
14063e747e6dSmrg	-nsk*)
14073e747e6dSmrg		os=-nsk
14083e747e6dSmrg		;;
14093e747e6dSmrg	# Preserve the version number of sinix5.
14103e747e6dSmrg	-sinix5.*)
14113e747e6dSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14123e747e6dSmrg		;;
14133e747e6dSmrg	-sinix*)
14143e747e6dSmrg		os=-sysv4
14153e747e6dSmrg		;;
14163e747e6dSmrg        -tpf*)
14173e747e6dSmrg		os=-tpf
14183e747e6dSmrg		;;
14193e747e6dSmrg	-triton*)
14203e747e6dSmrg		os=-sysv3
14213e747e6dSmrg		;;
14223e747e6dSmrg	-oss*)
14233e747e6dSmrg		os=-sysv3
14243e747e6dSmrg		;;
14253e747e6dSmrg	-svr4)
14263e747e6dSmrg		os=-sysv4
14273e747e6dSmrg		;;
14283e747e6dSmrg	-svr3)
14293e747e6dSmrg		os=-sysv3
14303e747e6dSmrg		;;
14313e747e6dSmrg	-sysvr4)
14323e747e6dSmrg		os=-sysv4
14333e747e6dSmrg		;;
14343e747e6dSmrg	# This must come after -sysvr4.
14353e747e6dSmrg	-sysv*)
14363e747e6dSmrg		;;
14373e747e6dSmrg	-ose*)
14383e747e6dSmrg		os=-ose
14393e747e6dSmrg		;;
14403e747e6dSmrg	-es1800*)
14413e747e6dSmrg		os=-ose
14423e747e6dSmrg		;;
14433e747e6dSmrg	-xenix)
14443e747e6dSmrg		os=-xenix
14453e747e6dSmrg		;;
14463e747e6dSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14473e747e6dSmrg		os=-mint
14483e747e6dSmrg		;;
14493e747e6dSmrg	-aros*)
14503e747e6dSmrg		os=-aros
14513e747e6dSmrg		;;
14523e747e6dSmrg	-kaos*)
14533e747e6dSmrg		os=-kaos
14543e747e6dSmrg		;;
14553e747e6dSmrg	-zvmoe)
14563e747e6dSmrg		os=-zvmoe
14573e747e6dSmrg		;;
14587a2631fcSmrg	-dicos*)
14597a2631fcSmrg		os=-dicos
14607a2631fcSmrg		;;
14617a2631fcSmrg        -nacl*)
14627a2631fcSmrg	        ;;
14633e747e6dSmrg	-none)
14643e747e6dSmrg		;;
14653e747e6dSmrg	*)
14663e747e6dSmrg		# Get rid of the `-' at the beginning of $os.
14673e747e6dSmrg		os=`echo $os | sed 's/[^-]*-//'`
14683e747e6dSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14693e747e6dSmrg		exit 1
14703e747e6dSmrg		;;
14713e747e6dSmrgesac
14723e747e6dSmrgelse
14733e747e6dSmrg
14743e747e6dSmrg# Here we handle the default operating systems that come with various machines.
14753e747e6dSmrg# The value should be what the vendor currently ships out the door with their
14763e747e6dSmrg# machine or put another way, the most popular os provided with the machine.
14773e747e6dSmrg
14783e747e6dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14793e747e6dSmrg# "-sun"), then you have to tell the case statement up towards the top
14803e747e6dSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14813e747e6dSmrg# will signal an error saying that MANUFACTURER isn't an operating
14823e747e6dSmrg# system, and we'll never get to this point.
14833e747e6dSmrg
14843e747e6dSmrgcase $basic_machine in
14853e747e6dSmrg        score-*)
14863e747e6dSmrg		os=-elf
14873e747e6dSmrg		;;
14883e747e6dSmrg        spu-*)
14893e747e6dSmrg		os=-elf
14903e747e6dSmrg		;;
14913e747e6dSmrg	*-acorn)
14923e747e6dSmrg		os=-riscix1.2
14933e747e6dSmrg		;;
14943e747e6dSmrg	arm*-rebel)
14953e747e6dSmrg		os=-linux
14963e747e6dSmrg		;;
14973e747e6dSmrg	arm*-semi)
14983e747e6dSmrg		os=-aout
14993e747e6dSmrg		;;
15003e747e6dSmrg        c4x-* | tic4x-*)
15013e747e6dSmrg        	os=-coff
15023e747e6dSmrg		;;
15037a2631fcSmrg	tic54x-*)
15047a2631fcSmrg		os=-coff
15057a2631fcSmrg		;;
15067a2631fcSmrg	tic55x-*)
15077a2631fcSmrg		os=-coff
15087a2631fcSmrg		;;
15097a2631fcSmrg	tic6x-*)
15107a2631fcSmrg		os=-coff
15117a2631fcSmrg		;;
15123e747e6dSmrg	# This must come before the *-dec entry.
15133e747e6dSmrg	pdp10-*)
15143e747e6dSmrg		os=-tops20
15153e747e6dSmrg		;;
15163e747e6dSmrg	pdp11-*)
15173e747e6dSmrg		os=-none
15183e747e6dSmrg		;;
15193e747e6dSmrg	*-dec | vax-*)
15203e747e6dSmrg		os=-ultrix4.2
15213e747e6dSmrg		;;
15223e747e6dSmrg	m68*-apollo)
15233e747e6dSmrg		os=-domain
15243e747e6dSmrg		;;
15253e747e6dSmrg	i386-sun)
15263e747e6dSmrg		os=-sunos4.0.2
15273e747e6dSmrg		;;
15283e747e6dSmrg	m68000-sun)
15293e747e6dSmrg		os=-sunos3
15303e747e6dSmrg		# This also exists in the configure program, but was not the
15313e747e6dSmrg		# default.
15323e747e6dSmrg		# os=-sunos4
15333e747e6dSmrg		;;
15343e747e6dSmrg	m68*-cisco)
15353e747e6dSmrg		os=-aout
15363e747e6dSmrg		;;
15373e747e6dSmrg        mep-*)
15383e747e6dSmrg		os=-elf
15393e747e6dSmrg		;;
15403e747e6dSmrg	mips*-cisco)
15413e747e6dSmrg		os=-elf
15423e747e6dSmrg		;;
15433e747e6dSmrg	mips*-*)
15443e747e6dSmrg		os=-elf
15453e747e6dSmrg		;;
15463e747e6dSmrg	or32-*)
15473e747e6dSmrg		os=-coff
15483e747e6dSmrg		;;
15493e747e6dSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
15503e747e6dSmrg		os=-sysv3
15513e747e6dSmrg		;;
15523e747e6dSmrg	sparc-* | *-sun)
15533e747e6dSmrg		os=-sunos4.1.1
15543e747e6dSmrg		;;
15553e747e6dSmrg	*-be)
15563e747e6dSmrg		os=-beos
15573e747e6dSmrg		;;
15583e747e6dSmrg	*-haiku)
15593e747e6dSmrg		os=-haiku
15603e747e6dSmrg		;;
15613e747e6dSmrg	*-ibm)
15623e747e6dSmrg		os=-aix
15633e747e6dSmrg		;;
15643e747e6dSmrg    	*-knuth)
15653e747e6dSmrg		os=-mmixware
15663e747e6dSmrg		;;
15673e747e6dSmrg	*-wec)
15683e747e6dSmrg		os=-proelf
15693e747e6dSmrg		;;
15703e747e6dSmrg	*-winbond)
15713e747e6dSmrg		os=-proelf
15723e747e6dSmrg		;;
15733e747e6dSmrg	*-oki)
15743e747e6dSmrg		os=-proelf
15753e747e6dSmrg		;;
15763e747e6dSmrg	*-hp)
15773e747e6dSmrg		os=-hpux
15783e747e6dSmrg		;;
15793e747e6dSmrg	*-hitachi)
15803e747e6dSmrg		os=-hiux
15813e747e6dSmrg		;;
15823e747e6dSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15833e747e6dSmrg		os=-sysv
15843e747e6dSmrg		;;
15853e747e6dSmrg	*-cbm)
15863e747e6dSmrg		os=-amigaos
15873e747e6dSmrg		;;
15883e747e6dSmrg	*-dg)
15893e747e6dSmrg		os=-dgux
15903e747e6dSmrg		;;
15913e747e6dSmrg	*-dolphin)
15923e747e6dSmrg		os=-sysv3
15933e747e6dSmrg		;;
15943e747e6dSmrg	m68k-ccur)
15953e747e6dSmrg		os=-rtu
15963e747e6dSmrg		;;
15973e747e6dSmrg	m88k-omron*)
15983e747e6dSmrg		os=-luna
15993e747e6dSmrg		;;
16003e747e6dSmrg	*-next )
16013e747e6dSmrg		os=-nextstep
16023e747e6dSmrg		;;
16033e747e6dSmrg	*-sequent)
16043e747e6dSmrg		os=-ptx
16053e747e6dSmrg		;;
16063e747e6dSmrg	*-crds)
16073e747e6dSmrg		os=-unos
16083e747e6dSmrg		;;
16093e747e6dSmrg	*-ns)
16103e747e6dSmrg		os=-genix
16113e747e6dSmrg		;;
16123e747e6dSmrg	i370-*)
16133e747e6dSmrg		os=-mvs
16143e747e6dSmrg		;;
16153e747e6dSmrg	*-next)
16163e747e6dSmrg		os=-nextstep3
16173e747e6dSmrg		;;
16183e747e6dSmrg	*-gould)
16193e747e6dSmrg		os=-sysv
16203e747e6dSmrg		;;
16213e747e6dSmrg	*-highlevel)
16223e747e6dSmrg		os=-bsd
16233e747e6dSmrg		;;
16243e747e6dSmrg	*-encore)
16253e747e6dSmrg		os=-bsd
16263e747e6dSmrg		;;
16273e747e6dSmrg	*-sgi)
16283e747e6dSmrg		os=-irix
16293e747e6dSmrg		;;
16303e747e6dSmrg	*-siemens)
16313e747e6dSmrg		os=-sysv4
16323e747e6dSmrg		;;
16333e747e6dSmrg	*-masscomp)
16343e747e6dSmrg		os=-rtu
16353e747e6dSmrg		;;
16363e747e6dSmrg	f30[01]-fujitsu | f700-fujitsu)
16373e747e6dSmrg		os=-uxpv
16383e747e6dSmrg		;;
16393e747e6dSmrg	*-rom68k)
16403e747e6dSmrg		os=-coff
16413e747e6dSmrg		;;
16423e747e6dSmrg	*-*bug)
16433e747e6dSmrg		os=-coff
16443e747e6dSmrg		;;
16453e747e6dSmrg	*-apple)
16463e747e6dSmrg		os=-macos
16473e747e6dSmrg		;;
16483e747e6dSmrg	*-atari*)
16493e747e6dSmrg		os=-mint
16503e747e6dSmrg		;;
16513e747e6dSmrg	*)
16523e747e6dSmrg		os=-none
16533e747e6dSmrg		;;
16543e747e6dSmrgesac
16553e747e6dSmrgfi
16563e747e6dSmrg
16573e747e6dSmrg# Here we handle the case where we know the os, and the CPU type, but not the
16583e747e6dSmrg# manufacturer.  We pick the logical manufacturer.
16593e747e6dSmrgvendor=unknown
16603e747e6dSmrgcase $basic_machine in
16613e747e6dSmrg	*-unknown)
16623e747e6dSmrg		case $os in
16633e747e6dSmrg			-riscix*)
16643e747e6dSmrg				vendor=acorn
16653e747e6dSmrg				;;
16663e747e6dSmrg			-sunos*)
16673e747e6dSmrg				vendor=sun
16683e747e6dSmrg				;;
16697a2631fcSmrg			-cnk*|-aix*)
16703e747e6dSmrg				vendor=ibm
16713e747e6dSmrg				;;
16723e747e6dSmrg			-beos*)
16733e747e6dSmrg				vendor=be
16743e747e6dSmrg				;;
16753e747e6dSmrg			-hpux*)
16763e747e6dSmrg				vendor=hp
16773e747e6dSmrg				;;
16783e747e6dSmrg			-mpeix*)
16793e747e6dSmrg				vendor=hp
16803e747e6dSmrg				;;
16813e747e6dSmrg			-hiux*)
16823e747e6dSmrg				vendor=hitachi
16833e747e6dSmrg				;;
16843e747e6dSmrg			-unos*)
16853e747e6dSmrg				vendor=crds
16863e747e6dSmrg				;;
16873e747e6dSmrg			-dgux*)
16883e747e6dSmrg				vendor=dg
16893e747e6dSmrg				;;
16903e747e6dSmrg			-luna*)
16913e747e6dSmrg				vendor=omron
16923e747e6dSmrg				;;
16933e747e6dSmrg			-genix*)
16943e747e6dSmrg				vendor=ns
16953e747e6dSmrg				;;
16963e747e6dSmrg			-mvs* | -opened*)
16973e747e6dSmrg				vendor=ibm
16983e747e6dSmrg				;;
16993e747e6dSmrg			-os400*)
17003e747e6dSmrg				vendor=ibm
17013e747e6dSmrg				;;
17023e747e6dSmrg			-ptx*)
17033e747e6dSmrg				vendor=sequent
17043e747e6dSmrg				;;
17053e747e6dSmrg			-tpf*)
17063e747e6dSmrg				vendor=ibm
17073e747e6dSmrg				;;
17083e747e6dSmrg			-vxsim* | -vxworks* | -windiss*)
17093e747e6dSmrg				vendor=wrs
17103e747e6dSmrg				;;
17113e747e6dSmrg			-aux*)
17123e747e6dSmrg				vendor=apple
17133e747e6dSmrg				;;
17143e747e6dSmrg			-hms*)
17153e747e6dSmrg				vendor=hitachi
17163e747e6dSmrg				;;
17173e747e6dSmrg			-mpw* | -macos*)
17183e747e6dSmrg				vendor=apple
17193e747e6dSmrg				;;
17203e747e6dSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17213e747e6dSmrg				vendor=atari
17223e747e6dSmrg				;;
17233e747e6dSmrg			-vos*)
17243e747e6dSmrg				vendor=stratus
17253e747e6dSmrg				;;
17263e747e6dSmrg		esac
17273e747e6dSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17283e747e6dSmrg		;;
17293e747e6dSmrgesac
17303e747e6dSmrg
17313e747e6dSmrgecho $basic_machine$os
17323e747e6dSmrgexit
17333e747e6dSmrg
17343e747e6dSmrg# Local variables:
17353e747e6dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17363e747e6dSmrg# time-stamp-start: "timestamp='"
17373e747e6dSmrg# time-stamp-format: "%:y-%02m-%02d"
17383e747e6dSmrg# time-stamp-end: "'"
17393e747e6dSmrg# End:
1740