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