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