config.sub revision d5d8cc55
18ff16396Smrg#! /bin/sh
28ff16396Smrg# Configuration validation subroutine script.
38ff16396Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4d5d8cc55Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
58ff16396Smrg#   Free Software Foundation, Inc.
68ff16396Smrg
7d5d8cc55Smrgtimestamp='2010-09-11'
88ff16396Smrg
98ff16396Smrg# This file is (in principle) common to ALL GNU software.
108ff16396Smrg# The presence of a machine in this file suggests that SOME GNU software
118ff16396Smrg# can handle that machine.  It does not imply ALL GNU software can.
128ff16396Smrg#
138ff16396Smrg# This file is free software; you can redistribute it and/or modify
148ff16396Smrg# it under the terms of the GNU General Public License as published by
158ff16396Smrg# the Free Software Foundation; either version 2 of the License, or
168ff16396Smrg# (at your option) any later version.
178ff16396Smrg#
188ff16396Smrg# This program is distributed in the hope that it will be useful,
198ff16396Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
208ff16396Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
218ff16396Smrg# GNU General Public License for more details.
228ff16396Smrg#
238ff16396Smrg# You should have received a copy of the GNU General Public License
248ff16396Smrg# along with this program; if not, write to the Free Software
258ff16396Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
268ff16396Smrg# 02110-1301, USA.
278ff16396Smrg#
288ff16396Smrg# As a special exception to the GNU General Public License, if you
298ff16396Smrg# distribute this file as part of a program that contains a
308ff16396Smrg# configuration script generated by Autoconf, you may include it under
318ff16396Smrg# the same distribution terms that you use for the rest of that program.
328ff16396Smrg
338ff16396Smrg
348ff16396Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35d5d8cc55Smrg# diff and a properly formatted GNU ChangeLog entry.
368ff16396Smrg#
378ff16396Smrg# Configuration subroutine to validate and canonicalize a configuration type.
388ff16396Smrg# Supply the specified configuration type as an argument.
398ff16396Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
408ff16396Smrg# Otherwise, we print the canonical config type on stdout and succeed.
418ff16396Smrg
42d5d8cc55Smrg# You can get the latest version of this script from:
43d5d8cc55Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44d5d8cc55Smrg
458ff16396Smrg# This file is supposed to be the same for all GNU packages
468ff16396Smrg# and recognize all the CPU types, system types and aliases
478ff16396Smrg# that are meaningful with *any* GNU software.
488ff16396Smrg# Each package is responsible for reporting which valid configurations
498ff16396Smrg# it does not support.  The user should be able to distinguish
508ff16396Smrg# a failure to support a valid configuration from a meaningless
518ff16396Smrg# configuration.
528ff16396Smrg
538ff16396Smrg# The goal of this file is to map all the various variations of a given
548ff16396Smrg# machine specification into a single specification in the form:
558ff16396Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
568ff16396Smrg# or in some cases, the newer four-part form:
578ff16396Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
588ff16396Smrg# It is wrong to echo any other type of specification.
598ff16396Smrg
608ff16396Smrgme=`echo "$0" | sed -e 's,.*/,,'`
618ff16396Smrg
628ff16396Smrgusage="\
638ff16396SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
648ff16396Smrg       $0 [OPTION] ALIAS
658ff16396Smrg
668ff16396SmrgCanonicalize a configuration name.
678ff16396Smrg
688ff16396SmrgOperation modes:
698ff16396Smrg  -h, --help         print this help, then exit
708ff16396Smrg  -t, --time-stamp   print date of last modification, then exit
718ff16396Smrg  -v, --version      print version number, then exit
728ff16396Smrg
738ff16396SmrgReport bugs and patches to <config-patches@gnu.org>."
748ff16396Smrg
758ff16396Smrgversion="\
768ff16396SmrgGNU config.sub ($timestamp)
778ff16396Smrg
78d5d8cc55SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79d5d8cc55Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80d5d8cc55SmrgSoftware Foundation, Inc.
818ff16396Smrg
828ff16396SmrgThis is free software; see the source for copying conditions.  There is NO
838ff16396Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
848ff16396Smrg
858ff16396Smrghelp="
868ff16396SmrgTry \`$me --help' for more information."
878ff16396Smrg
888ff16396Smrg# Parse command line
898ff16396Smrgwhile test $# -gt 0 ; do
908ff16396Smrg  case $1 in
918ff16396Smrg    --time-stamp | --time* | -t )
928ff16396Smrg       echo "$timestamp" ; exit ;;
938ff16396Smrg    --version | -v )
948ff16396Smrg       echo "$version" ; exit ;;
958ff16396Smrg    --help | --h* | -h )
968ff16396Smrg       echo "$usage"; exit ;;
978ff16396Smrg    -- )     # Stop option processing
988ff16396Smrg       shift; break ;;
998ff16396Smrg    - )	# Use stdin as input.
1008ff16396Smrg       break ;;
1018ff16396Smrg    -* )
1028ff16396Smrg       echo "$me: invalid option $1$help"
1038ff16396Smrg       exit 1 ;;
1048ff16396Smrg
1058ff16396Smrg    *local*)
1068ff16396Smrg       # First pass through any local machine types.
1078ff16396Smrg       echo $1
1088ff16396Smrg       exit ;;
1098ff16396Smrg
1108ff16396Smrg    * )
1118ff16396Smrg       break ;;
1128ff16396Smrg  esac
1138ff16396Smrgdone
1148ff16396Smrg
1158ff16396Smrgcase $# in
1168ff16396Smrg 0) echo "$me: missing argument$help" >&2
1178ff16396Smrg    exit 1;;
1188ff16396Smrg 1) ;;
1198ff16396Smrg *) echo "$me: too many arguments$help" >&2
1208ff16396Smrg    exit 1;;
1218ff16396Smrgesac
1228ff16396Smrg
1238ff16396Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1248ff16396Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1258ff16396Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1268ff16396Smrgcase $maybe_os in
127d5d8cc55Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128d5d8cc55Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129d5d8cc55Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1308ff16396Smrg  kopensolaris*-gnu* | \
1318ff16396Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1328ff16396Smrg    os=-$maybe_os
1338ff16396Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1348ff16396Smrg    ;;
1358ff16396Smrg  *)
1368ff16396Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1378ff16396Smrg    if [ $basic_machine != $1 ]
1388ff16396Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1398ff16396Smrg    else os=; fi
1408ff16396Smrg    ;;
1418ff16396Smrgesac
1428ff16396Smrg
1438ff16396Smrg### Let's recognize common machines as not being operating systems so
1448ff16396Smrg### that things like config.sub decstation-3100 work.  We also
1458ff16396Smrg### recognize some manufacturers as not being operating systems, so we
1468ff16396Smrg### can provide default operating systems below.
1478ff16396Smrgcase $os in
1488ff16396Smrg	-sun*os*)
1498ff16396Smrg		# Prevent following clause from handling this invalid input.
1508ff16396Smrg		;;
1518ff16396Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1528ff16396Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1538ff16396Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1548ff16396Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1558ff16396Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1568ff16396Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157d5d8cc55Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1588ff16396Smrg		os=
1598ff16396Smrg		basic_machine=$1
1608ff16396Smrg		;;
161d5d8cc55Smrg        -bluegene*)
162d5d8cc55Smrg	        os=-cnk
163d5d8cc55Smrg		;;
1648ff16396Smrg	-sim | -cisco | -oki | -wec | -winbond)
1658ff16396Smrg		os=
1668ff16396Smrg		basic_machine=$1
1678ff16396Smrg		;;
1688ff16396Smrg	-scout)
1698ff16396Smrg		;;
1708ff16396Smrg	-wrs)
1718ff16396Smrg		os=-vxworks
1728ff16396Smrg		basic_machine=$1
1738ff16396Smrg		;;
1748ff16396Smrg	-chorusos*)
1758ff16396Smrg		os=-chorusos
1768ff16396Smrg		basic_machine=$1
1778ff16396Smrg		;;
1788ff16396Smrg 	-chorusrdb)
1798ff16396Smrg 		os=-chorusrdb
1808ff16396Smrg		basic_machine=$1
1818ff16396Smrg 		;;
1828ff16396Smrg	-hiux*)
1838ff16396Smrg		os=-hiuxwe2
1848ff16396Smrg		;;
1858ff16396Smrg	-sco6)
1868ff16396Smrg		os=-sco5v6
1878ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1888ff16396Smrg		;;
1898ff16396Smrg	-sco5)
1908ff16396Smrg		os=-sco3.2v5
1918ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1928ff16396Smrg		;;
1938ff16396Smrg	-sco4)
1948ff16396Smrg		os=-sco3.2v4
1958ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1968ff16396Smrg		;;
1978ff16396Smrg	-sco3.2.[4-9]*)
1988ff16396Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1998ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2008ff16396Smrg		;;
2018ff16396Smrg	-sco3.2v[4-9]*)
2028ff16396Smrg		# Don't forget version if it is 3.2v4 or newer.
2038ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2048ff16396Smrg		;;
2058ff16396Smrg	-sco5v6*)
2068ff16396Smrg		# Don't forget version if it is 3.2v4 or newer.
2078ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2088ff16396Smrg		;;
2098ff16396Smrg	-sco*)
2108ff16396Smrg		os=-sco3.2v2
2118ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2128ff16396Smrg		;;
2138ff16396Smrg	-udk*)
2148ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2158ff16396Smrg		;;
2168ff16396Smrg	-isc)
2178ff16396Smrg		os=-isc2.2
2188ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2198ff16396Smrg		;;
2208ff16396Smrg	-clix*)
2218ff16396Smrg		basic_machine=clipper-intergraph
2228ff16396Smrg		;;
2238ff16396Smrg	-isc*)
2248ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2258ff16396Smrg		;;
2268ff16396Smrg	-lynx*)
2278ff16396Smrg		os=-lynxos
2288ff16396Smrg		;;
2298ff16396Smrg	-ptx*)
2308ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2318ff16396Smrg		;;
2328ff16396Smrg	-windowsnt*)
2338ff16396Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2348ff16396Smrg		;;
2358ff16396Smrg	-psos*)
2368ff16396Smrg		os=-psos
2378ff16396Smrg		;;
2388ff16396Smrg	-mint | -mint[0-9]*)
2398ff16396Smrg		basic_machine=m68k-atari
2408ff16396Smrg		os=-mint
2418ff16396Smrg		;;
2428ff16396Smrgesac
2438ff16396Smrg
2448ff16396Smrg# Decode aliases for certain CPU-COMPANY combinations.
2458ff16396Smrgcase $basic_machine in
2468ff16396Smrg	# Recognize the basic CPU types without company name.
2478ff16396Smrg	# Some are omitted here because they have special meanings below.
2488ff16396Smrg	1750a | 580 \
2498ff16396Smrg	| a29k \
2508ff16396Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2518ff16396Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2528ff16396Smrg	| am33_2.0 \
2538ff16396Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2548ff16396Smrg	| bfin \
2558ff16396Smrg	| c4x | clipper \
256d5d8cc55Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
2578ff16396Smrg	| fido | fr30 | frv \
2588ff16396Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2598ff16396Smrg	| i370 | i860 | i960 | ia64 \
2608ff16396Smrg	| ip2k | iq2000 \
2618ff16396Smrg	| lm32 \
2628ff16396Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2638ff16396Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2648ff16396Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2658ff16396Smrg	| mips16 \
2668ff16396Smrg	| mips64 | mips64el \
2678ff16396Smrg	| mips64octeon | mips64octeonel \
2688ff16396Smrg	| mips64orion | mips64orionel \
2698ff16396Smrg	| mips64r5900 | mips64r5900el \
2708ff16396Smrg	| mips64vr | mips64vrel \
2718ff16396Smrg	| mips64vr4100 | mips64vr4100el \
2728ff16396Smrg	| mips64vr4300 | mips64vr4300el \
2738ff16396Smrg	| mips64vr5000 | mips64vr5000el \
2748ff16396Smrg	| mips64vr5900 | mips64vr5900el \
2758ff16396Smrg	| mipsisa32 | mipsisa32el \
2768ff16396Smrg	| mipsisa32r2 | mipsisa32r2el \
2778ff16396Smrg	| mipsisa64 | mipsisa64el \
2788ff16396Smrg	| mipsisa64r2 | mipsisa64r2el \
2798ff16396Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2808ff16396Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2818ff16396Smrg	| mipstx39 | mipstx39el \
2828ff16396Smrg	| mn10200 | mn10300 \
2838ff16396Smrg	| moxie \
2848ff16396Smrg	| mt \
2858ff16396Smrg	| msp430 \
286d5d8cc55Smrg	| nds32 | nds32le | nds32be \
2878ff16396Smrg	| nios | nios2 \
2888ff16396Smrg	| ns16k | ns32k \
2898ff16396Smrg	| or32 \
2908ff16396Smrg	| pdp10 | pdp11 | pj | pjl \
2918ff16396Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2928ff16396Smrg	| pyramid \
293d5d8cc55Smrg	| rx \
2948ff16396Smrg	| score \
2958ff16396Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2968ff16396Smrg	| sh64 | sh64le \
2978ff16396Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2988ff16396Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2998ff16396Smrg	| spu | strongarm \
300d5d8cc55Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301d5d8cc55Smrg	| ubicom32 \
3028ff16396Smrg	| v850 | v850e \
3038ff16396Smrg	| we32k \
3048ff16396Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3058ff16396Smrg	| z8k | z80)
3068ff16396Smrg		basic_machine=$basic_machine-unknown
3078ff16396Smrg		;;
308d5d8cc55Smrg	c54x)
309d5d8cc55Smrg		basic_machine=tic54x-unknown
310d5d8cc55Smrg		;;
311d5d8cc55Smrg	c55x)
312d5d8cc55Smrg		basic_machine=tic55x-unknown
313d5d8cc55Smrg		;;
314d5d8cc55Smrg	c6x)
315d5d8cc55Smrg		basic_machine=tic6x-unknown
316d5d8cc55Smrg		;;
317d5d8cc55Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3188ff16396Smrg		# Motorola 68HC11/12.
3198ff16396Smrg		basic_machine=$basic_machine-unknown
3208ff16396Smrg		os=-none
3218ff16396Smrg		;;
3228ff16396Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3238ff16396Smrg		;;
3248ff16396Smrg	ms1)
3258ff16396Smrg		basic_machine=mt-unknown
3268ff16396Smrg		;;
3278ff16396Smrg
3288ff16396Smrg	# We use `pc' rather than `unknown'
3298ff16396Smrg	# because (1) that's what they normally are, and
3308ff16396Smrg	# (2) the word "unknown" tends to confuse beginning users.
3318ff16396Smrg	i*86 | x86_64)
3328ff16396Smrg	  basic_machine=$basic_machine-pc
3338ff16396Smrg	  ;;
3348ff16396Smrg	# Object if more than one company name word.
3358ff16396Smrg	*-*-*)
3368ff16396Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3378ff16396Smrg		exit 1
3388ff16396Smrg		;;
3398ff16396Smrg	# Recognize the basic CPU types with company name.
3408ff16396Smrg	580-* \
3418ff16396Smrg	| a29k-* \
3428ff16396Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3438ff16396Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3448ff16396Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3458ff16396Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3468ff16396Smrg	| avr-* | avr32-* \
3478ff16396Smrg	| bfin-* | bs2000-* \
348d5d8cc55Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3498ff16396Smrg	| clipper-* | craynv-* | cydra-* \
3508ff16396Smrg	| d10v-* | d30v-* | dlx-* \
3518ff16396Smrg	| elxsi-* \
3528ff16396Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3538ff16396Smrg	| h8300-* | h8500-* \
3548ff16396Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3558ff16396Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3568ff16396Smrg	| ip2k-* | iq2000-* \
3578ff16396Smrg	| lm32-* \
3588ff16396Smrg	| m32c-* | m32r-* | m32rle-* \
3598ff16396Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360d5d8cc55Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3618ff16396Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3628ff16396Smrg	| mips16-* \
3638ff16396Smrg	| mips64-* | mips64el-* \
3648ff16396Smrg	| mips64octeon-* | mips64octeonel-* \
3658ff16396Smrg	| mips64orion-* | mips64orionel-* \
3668ff16396Smrg	| mips64r5900-* | mips64r5900el-* \
3678ff16396Smrg	| mips64vr-* | mips64vrel-* \
3688ff16396Smrg	| mips64vr4100-* | mips64vr4100el-* \
3698ff16396Smrg	| mips64vr4300-* | mips64vr4300el-* \
3708ff16396Smrg	| mips64vr5000-* | mips64vr5000el-* \
3718ff16396Smrg	| mips64vr5900-* | mips64vr5900el-* \
3728ff16396Smrg	| mipsisa32-* | mipsisa32el-* \
3738ff16396Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3748ff16396Smrg	| mipsisa64-* | mipsisa64el-* \
3758ff16396Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3768ff16396Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3778ff16396Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3788ff16396Smrg	| mipstx39-* | mipstx39el-* \
3798ff16396Smrg	| mmix-* \
3808ff16396Smrg	| mt-* \
3818ff16396Smrg	| msp430-* \
382d5d8cc55Smrg	| nds32-* | nds32le-* | nds32be-* \
3838ff16396Smrg	| nios-* | nios2-* \
3848ff16396Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3858ff16396Smrg	| orion-* \
3868ff16396Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3878ff16396Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3888ff16396Smrg	| pyramid-* \
389d5d8cc55Smrg	| romp-* | rs6000-* | rx-* \
3908ff16396Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3918ff16396Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3928ff16396Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3938ff16396Smrg	| sparclite-* \
3948ff16396Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3958ff16396Smrg	| tahoe-* | thumb-* \
396d5d8cc55Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397d5d8cc55Smrg	| tile-* | tilegx-* \
3988ff16396Smrg	| tron-* \
399d5d8cc55Smrg	| ubicom32-* \
4008ff16396Smrg	| v850-* | v850e-* | vax-* \
4018ff16396Smrg	| we32k-* \
4028ff16396Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4038ff16396Smrg	| xstormy16-* | xtensa*-* \
4048ff16396Smrg	| ymp-* \
4058ff16396Smrg	| z8k-* | z80-*)
4068ff16396Smrg		;;
4078ff16396Smrg	# Recognize the basic CPU types without company name, with glob match.
4088ff16396Smrg	xtensa*)
4098ff16396Smrg		basic_machine=$basic_machine-unknown
4108ff16396Smrg		;;
4118ff16396Smrg	# Recognize the various machine names and aliases which stand
4128ff16396Smrg	# for a CPU type and a company and sometimes even an OS.
4138ff16396Smrg	386bsd)
4148ff16396Smrg		basic_machine=i386-unknown
4158ff16396Smrg		os=-bsd
4168ff16396Smrg		;;
4178ff16396Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4188ff16396Smrg		basic_machine=m68000-att
4198ff16396Smrg		;;
4208ff16396Smrg	3b*)
4218ff16396Smrg		basic_machine=we32k-att
4228ff16396Smrg		;;
4238ff16396Smrg	a29khif)
4248ff16396Smrg		basic_machine=a29k-amd
4258ff16396Smrg		os=-udi
4268ff16396Smrg		;;
4278ff16396Smrg    	abacus)
4288ff16396Smrg		basic_machine=abacus-unknown
4298ff16396Smrg		;;
4308ff16396Smrg	adobe68k)
4318ff16396Smrg		basic_machine=m68010-adobe
4328ff16396Smrg		os=-scout
4338ff16396Smrg		;;
4348ff16396Smrg	alliant | fx80)
4358ff16396Smrg		basic_machine=fx80-alliant
4368ff16396Smrg		;;
4378ff16396Smrg	altos | altos3068)
4388ff16396Smrg		basic_machine=m68k-altos
4398ff16396Smrg		;;
4408ff16396Smrg	am29k)
4418ff16396Smrg		basic_machine=a29k-none
4428ff16396Smrg		os=-bsd
4438ff16396Smrg		;;
4448ff16396Smrg	amd64)
4458ff16396Smrg		basic_machine=x86_64-pc
4468ff16396Smrg		;;
4478ff16396Smrg	amd64-*)
4488ff16396Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4498ff16396Smrg		;;
4508ff16396Smrg	amdahl)
4518ff16396Smrg		basic_machine=580-amdahl
4528ff16396Smrg		os=-sysv
4538ff16396Smrg		;;
4548ff16396Smrg	amiga | amiga-*)
4558ff16396Smrg		basic_machine=m68k-unknown
4568ff16396Smrg		;;
4578ff16396Smrg	amigaos | amigados)
4588ff16396Smrg		basic_machine=m68k-unknown
4598ff16396Smrg		os=-amigaos
4608ff16396Smrg		;;
4618ff16396Smrg	amigaunix | amix)
4628ff16396Smrg		basic_machine=m68k-unknown
4638ff16396Smrg		os=-sysv4
4648ff16396Smrg		;;
4658ff16396Smrg	apollo68)
4668ff16396Smrg		basic_machine=m68k-apollo
4678ff16396Smrg		os=-sysv
4688ff16396Smrg		;;
4698ff16396Smrg	apollo68bsd)
4708ff16396Smrg		basic_machine=m68k-apollo
4718ff16396Smrg		os=-bsd
4728ff16396Smrg		;;
4738ff16396Smrg	aros)
4748ff16396Smrg		basic_machine=i386-pc
4758ff16396Smrg		os=-aros
4768ff16396Smrg		;;
4778ff16396Smrg	aux)
4788ff16396Smrg		basic_machine=m68k-apple
4798ff16396Smrg		os=-aux
4808ff16396Smrg		;;
4818ff16396Smrg	balance)
4828ff16396Smrg		basic_machine=ns32k-sequent
4838ff16396Smrg		os=-dynix
4848ff16396Smrg		;;
4858ff16396Smrg	blackfin)
4868ff16396Smrg		basic_machine=bfin-unknown
4878ff16396Smrg		os=-linux
4888ff16396Smrg		;;
4898ff16396Smrg	blackfin-*)
4908ff16396Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4918ff16396Smrg		os=-linux
4928ff16396Smrg		;;
493d5d8cc55Smrg	bluegene*)
494d5d8cc55Smrg		basic_machine=powerpc-ibm
495d5d8cc55Smrg		os=-cnk
496d5d8cc55Smrg		;;
497d5d8cc55Smrg	c54x-*)
498d5d8cc55Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499d5d8cc55Smrg		;;
500d5d8cc55Smrg	c55x-*)
501d5d8cc55Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502d5d8cc55Smrg		;;
503d5d8cc55Smrg	c6x-*)
504d5d8cc55Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505d5d8cc55Smrg		;;
5068ff16396Smrg	c90)
5078ff16396Smrg		basic_machine=c90-cray
5088ff16396Smrg		os=-unicos
5098ff16396Smrg		;;
5108ff16396Smrg        cegcc)
5118ff16396Smrg		basic_machine=arm-unknown
5128ff16396Smrg		os=-cegcc
5138ff16396Smrg		;;
5148ff16396Smrg	convex-c1)
5158ff16396Smrg		basic_machine=c1-convex
5168ff16396Smrg		os=-bsd
5178ff16396Smrg		;;
5188ff16396Smrg	convex-c2)
5198ff16396Smrg		basic_machine=c2-convex
5208ff16396Smrg		os=-bsd
5218ff16396Smrg		;;
5228ff16396Smrg	convex-c32)
5238ff16396Smrg		basic_machine=c32-convex
5248ff16396Smrg		os=-bsd
5258ff16396Smrg		;;
5268ff16396Smrg	convex-c34)
5278ff16396Smrg		basic_machine=c34-convex
5288ff16396Smrg		os=-bsd
5298ff16396Smrg		;;
5308ff16396Smrg	convex-c38)
5318ff16396Smrg		basic_machine=c38-convex
5328ff16396Smrg		os=-bsd
5338ff16396Smrg		;;
5348ff16396Smrg	cray | j90)
5358ff16396Smrg		basic_machine=j90-cray
5368ff16396Smrg		os=-unicos
5378ff16396Smrg		;;
5388ff16396Smrg	craynv)
5398ff16396Smrg		basic_machine=craynv-cray
5408ff16396Smrg		os=-unicosmp
5418ff16396Smrg		;;
5428ff16396Smrg	cr16)
5438ff16396Smrg		basic_machine=cr16-unknown
5448ff16396Smrg		os=-elf
5458ff16396Smrg		;;
5468ff16396Smrg	crds | unos)
5478ff16396Smrg		basic_machine=m68k-crds
5488ff16396Smrg		;;
5498ff16396Smrg	crisv32 | crisv32-* | etraxfs*)
5508ff16396Smrg		basic_machine=crisv32-axis
5518ff16396Smrg		;;
5528ff16396Smrg	cris | cris-* | etrax*)
5538ff16396Smrg		basic_machine=cris-axis
5548ff16396Smrg		;;
5558ff16396Smrg	crx)
5568ff16396Smrg		basic_machine=crx-unknown
5578ff16396Smrg		os=-elf
5588ff16396Smrg		;;
5598ff16396Smrg	da30 | da30-*)
5608ff16396Smrg		basic_machine=m68k-da30
5618ff16396Smrg		;;
5628ff16396Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5638ff16396Smrg		basic_machine=mips-dec
5648ff16396Smrg		;;
5658ff16396Smrg	decsystem10* | dec10*)
5668ff16396Smrg		basic_machine=pdp10-dec
5678ff16396Smrg		os=-tops10
5688ff16396Smrg		;;
5698ff16396Smrg	decsystem20* | dec20*)
5708ff16396Smrg		basic_machine=pdp10-dec
5718ff16396Smrg		os=-tops20
5728ff16396Smrg		;;
5738ff16396Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5748ff16396Smrg	      | 3300-motorola | delta-motorola)
5758ff16396Smrg		basic_machine=m68k-motorola
5768ff16396Smrg		;;
5778ff16396Smrg	delta88)
5788ff16396Smrg		basic_machine=m88k-motorola
5798ff16396Smrg		os=-sysv3
5808ff16396Smrg		;;
5818ff16396Smrg	dicos)
5828ff16396Smrg		basic_machine=i686-pc
5838ff16396Smrg		os=-dicos
5848ff16396Smrg		;;
5858ff16396Smrg	djgpp)
5868ff16396Smrg		basic_machine=i586-pc
5878ff16396Smrg		os=-msdosdjgpp
5888ff16396Smrg		;;
5898ff16396Smrg	dpx20 | dpx20-*)
5908ff16396Smrg		basic_machine=rs6000-bull
5918ff16396Smrg		os=-bosx
5928ff16396Smrg		;;
5938ff16396Smrg	dpx2* | dpx2*-bull)
5948ff16396Smrg		basic_machine=m68k-bull
5958ff16396Smrg		os=-sysv3
5968ff16396Smrg		;;
5978ff16396Smrg	ebmon29k)
5988ff16396Smrg		basic_machine=a29k-amd
5998ff16396Smrg		os=-ebmon
6008ff16396Smrg		;;
6018ff16396Smrg	elxsi)
6028ff16396Smrg		basic_machine=elxsi-elxsi
6038ff16396Smrg		os=-bsd
6048ff16396Smrg		;;
6058ff16396Smrg	encore | umax | mmax)
6068ff16396Smrg		basic_machine=ns32k-encore
6078ff16396Smrg		;;
6088ff16396Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6098ff16396Smrg		basic_machine=m68k-ericsson
6108ff16396Smrg		os=-ose
6118ff16396Smrg		;;
6128ff16396Smrg	fx2800)
6138ff16396Smrg		basic_machine=i860-alliant
6148ff16396Smrg		;;
6158ff16396Smrg	genix)
6168ff16396Smrg		basic_machine=ns32k-ns
6178ff16396Smrg		;;
6188ff16396Smrg	gmicro)
6198ff16396Smrg		basic_machine=tron-gmicro
6208ff16396Smrg		os=-sysv
6218ff16396Smrg		;;
6228ff16396Smrg	go32)
6238ff16396Smrg		basic_machine=i386-pc
6248ff16396Smrg		os=-go32
6258ff16396Smrg		;;
6268ff16396Smrg	h3050r* | hiux*)
6278ff16396Smrg		basic_machine=hppa1.1-hitachi
6288ff16396Smrg		os=-hiuxwe2
6298ff16396Smrg		;;
6308ff16396Smrg	h8300hms)
6318ff16396Smrg		basic_machine=h8300-hitachi
6328ff16396Smrg		os=-hms
6338ff16396Smrg		;;
6348ff16396Smrg	h8300xray)
6358ff16396Smrg		basic_machine=h8300-hitachi
6368ff16396Smrg		os=-xray
6378ff16396Smrg		;;
6388ff16396Smrg	h8500hms)
6398ff16396Smrg		basic_machine=h8500-hitachi
6408ff16396Smrg		os=-hms
6418ff16396Smrg		;;
6428ff16396Smrg	harris)
6438ff16396Smrg		basic_machine=m88k-harris
6448ff16396Smrg		os=-sysv3
6458ff16396Smrg		;;
6468ff16396Smrg	hp300-*)
6478ff16396Smrg		basic_machine=m68k-hp
6488ff16396Smrg		;;
6498ff16396Smrg	hp300bsd)
6508ff16396Smrg		basic_machine=m68k-hp
6518ff16396Smrg		os=-bsd
6528ff16396Smrg		;;
6538ff16396Smrg	hp300hpux)
6548ff16396Smrg		basic_machine=m68k-hp
6558ff16396Smrg		os=-hpux
6568ff16396Smrg		;;
6578ff16396Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6588ff16396Smrg		basic_machine=hppa1.0-hp
6598ff16396Smrg		;;
6608ff16396Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6618ff16396Smrg		basic_machine=m68000-hp
6628ff16396Smrg		;;
6638ff16396Smrg	hp9k3[2-9][0-9])
6648ff16396Smrg		basic_machine=m68k-hp
6658ff16396Smrg		;;
6668ff16396Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6678ff16396Smrg		basic_machine=hppa1.0-hp
6688ff16396Smrg		;;
6698ff16396Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6708ff16396Smrg		basic_machine=hppa1.1-hp
6718ff16396Smrg		;;
6728ff16396Smrg	hp9k78[0-9] | hp78[0-9])
6738ff16396Smrg		# FIXME: really hppa2.0-hp
6748ff16396Smrg		basic_machine=hppa1.1-hp
6758ff16396Smrg		;;
6768ff16396Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6778ff16396Smrg		# FIXME: really hppa2.0-hp
6788ff16396Smrg		basic_machine=hppa1.1-hp
6798ff16396Smrg		;;
6808ff16396Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6818ff16396Smrg		basic_machine=hppa1.1-hp
6828ff16396Smrg		;;
6838ff16396Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6848ff16396Smrg		basic_machine=hppa1.0-hp
6858ff16396Smrg		;;
6868ff16396Smrg	hppa-next)
6878ff16396Smrg		os=-nextstep3
6888ff16396Smrg		;;
6898ff16396Smrg	hppaosf)
6908ff16396Smrg		basic_machine=hppa1.1-hp
6918ff16396Smrg		os=-osf
6928ff16396Smrg		;;
6938ff16396Smrg	hppro)
6948ff16396Smrg		basic_machine=hppa1.1-hp
6958ff16396Smrg		os=-proelf
6968ff16396Smrg		;;
6978ff16396Smrg	i370-ibm* | ibm*)
6988ff16396Smrg		basic_machine=i370-ibm
6998ff16396Smrg		;;
7008ff16396Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7018ff16396Smrg	i*86v32)
7028ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7038ff16396Smrg		os=-sysv32
7048ff16396Smrg		;;
7058ff16396Smrg	i*86v4*)
7068ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7078ff16396Smrg		os=-sysv4
7088ff16396Smrg		;;
7098ff16396Smrg	i*86v)
7108ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7118ff16396Smrg		os=-sysv
7128ff16396Smrg		;;
7138ff16396Smrg	i*86sol2)
7148ff16396Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7158ff16396Smrg		os=-solaris2
7168ff16396Smrg		;;
7178ff16396Smrg	i386mach)
7188ff16396Smrg		basic_machine=i386-mach
7198ff16396Smrg		os=-mach
7208ff16396Smrg		;;
7218ff16396Smrg	i386-vsta | vsta)
7228ff16396Smrg		basic_machine=i386-unknown
7238ff16396Smrg		os=-vsta
7248ff16396Smrg		;;
7258ff16396Smrg	iris | iris4d)
7268ff16396Smrg		basic_machine=mips-sgi
7278ff16396Smrg		case $os in
7288ff16396Smrg		    -irix*)
7298ff16396Smrg			;;
7308ff16396Smrg		    *)
7318ff16396Smrg			os=-irix4
7328ff16396Smrg			;;
7338ff16396Smrg		esac
7348ff16396Smrg		;;
7358ff16396Smrg	isi68 | isi)
7368ff16396Smrg		basic_machine=m68k-isi
7378ff16396Smrg		os=-sysv
7388ff16396Smrg		;;
7398ff16396Smrg	m68knommu)
7408ff16396Smrg		basic_machine=m68k-unknown
7418ff16396Smrg		os=-linux
7428ff16396Smrg		;;
7438ff16396Smrg	m68knommu-*)
7448ff16396Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7458ff16396Smrg		os=-linux
7468ff16396Smrg		;;
7478ff16396Smrg	m88k-omron*)
7488ff16396Smrg		basic_machine=m88k-omron
7498ff16396Smrg		;;
7508ff16396Smrg	magnum | m3230)
7518ff16396Smrg		basic_machine=mips-mips
7528ff16396Smrg		os=-sysv
7538ff16396Smrg		;;
7548ff16396Smrg	merlin)
7558ff16396Smrg		basic_machine=ns32k-utek
7568ff16396Smrg		os=-sysv
7578ff16396Smrg		;;
758d5d8cc55Smrg        microblaze)
759d5d8cc55Smrg		basic_machine=microblaze-xilinx
760d5d8cc55Smrg		;;
7618ff16396Smrg	mingw32)
7628ff16396Smrg		basic_machine=i386-pc
7638ff16396Smrg		os=-mingw32
7648ff16396Smrg		;;
7658ff16396Smrg	mingw32ce)
7668ff16396Smrg		basic_machine=arm-unknown
7678ff16396Smrg		os=-mingw32ce
7688ff16396Smrg		;;
7698ff16396Smrg	miniframe)
7708ff16396Smrg		basic_machine=m68000-convergent
7718ff16396Smrg		;;
7728ff16396Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7738ff16396Smrg		basic_machine=m68k-atari
7748ff16396Smrg		os=-mint
7758ff16396Smrg		;;
776d5d8cc55Smrg	mipsEE* | ee | ps2)
777d5d8cc55Smrg		basic_machine=mips64r5900el-scei
778d5d8cc55Smrg		case $os in
779d5d8cc55Smrg		    -linux*)
780d5d8cc55Smrg			;;
781d5d8cc55Smrg		    *)
782d5d8cc55Smrg			os=-elf
783d5d8cc55Smrg			;;
784d5d8cc55Smrg		esac
785d5d8cc55Smrg		;;
786d5d8cc55Smrg	iop)
787d5d8cc55Smrg		basic_machine=mipsel-scei
788d5d8cc55Smrg		os=-irx
789d5d8cc55Smrg		;;
790d5d8cc55Smrg	dvp)
791d5d8cc55Smrg		basic_machine=dvp-scei
792d5d8cc55Smrg		os=-elf
793d5d8cc55Smrg		;;
7948ff16396Smrg	mips3*-*)
7958ff16396Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7968ff16396Smrg		;;
7978ff16396Smrg	mips3*)
7988ff16396Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7998ff16396Smrg		;;
8008ff16396Smrg	monitor)
8018ff16396Smrg		basic_machine=m68k-rom68k
8028ff16396Smrg		os=-coff
8038ff16396Smrg		;;
8048ff16396Smrg	morphos)
8058ff16396Smrg		basic_machine=powerpc-unknown
8068ff16396Smrg		os=-morphos
8078ff16396Smrg		;;
8088ff16396Smrg	msdos)
8098ff16396Smrg		basic_machine=i386-pc
8108ff16396Smrg		os=-msdos
8118ff16396Smrg		;;
8128ff16396Smrg	ms1-*)
8138ff16396Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8148ff16396Smrg		;;
8158ff16396Smrg	mvs)
8168ff16396Smrg		basic_machine=i370-ibm
8178ff16396Smrg		os=-mvs
8188ff16396Smrg		;;
8198ff16396Smrg	ncr3000)
8208ff16396Smrg		basic_machine=i486-ncr
8218ff16396Smrg		os=-sysv4
8228ff16396Smrg		;;
8238ff16396Smrg	netbsd386)
8248ff16396Smrg		basic_machine=i386-unknown
8258ff16396Smrg		os=-netbsd
8268ff16396Smrg		;;
8278ff16396Smrg	netwinder)
8288ff16396Smrg		basic_machine=armv4l-rebel
8298ff16396Smrg		os=-linux
8308ff16396Smrg		;;
8318ff16396Smrg	news | news700 | news800 | news900)
8328ff16396Smrg		basic_machine=m68k-sony
8338ff16396Smrg		os=-newsos
8348ff16396Smrg		;;
8358ff16396Smrg	news1000)
8368ff16396Smrg		basic_machine=m68030-sony
8378ff16396Smrg		os=-newsos
8388ff16396Smrg		;;
8398ff16396Smrg	news-3600 | risc-news)
8408ff16396Smrg		basic_machine=mips-sony
8418ff16396Smrg		os=-newsos
8428ff16396Smrg		;;
8438ff16396Smrg	necv70)
8448ff16396Smrg		basic_machine=v70-nec
8458ff16396Smrg		os=-sysv
8468ff16396Smrg		;;
8478ff16396Smrg	next | m*-next )
8488ff16396Smrg		basic_machine=m68k-next
8498ff16396Smrg		case $os in
8508ff16396Smrg		    -nextstep* )
8518ff16396Smrg			;;
8528ff16396Smrg		    -ns2*)
8538ff16396Smrg		      os=-nextstep2
8548ff16396Smrg			;;
8558ff16396Smrg		    *)
8568ff16396Smrg		      os=-nextstep3
8578ff16396Smrg			;;
8588ff16396Smrg		esac
8598ff16396Smrg		;;
8608ff16396Smrg	nh3000)
8618ff16396Smrg		basic_machine=m68k-harris
8628ff16396Smrg		os=-cxux
8638ff16396Smrg		;;
8648ff16396Smrg	nh[45]000)
8658ff16396Smrg		basic_machine=m88k-harris
8668ff16396Smrg		os=-cxux
8678ff16396Smrg		;;
8688ff16396Smrg	nindy960)
8698ff16396Smrg		basic_machine=i960-intel
8708ff16396Smrg		os=-nindy
8718ff16396Smrg		;;
8728ff16396Smrg	mon960)
8738ff16396Smrg		basic_machine=i960-intel
8748ff16396Smrg		os=-mon960
8758ff16396Smrg		;;
8768ff16396Smrg	nonstopux)
8778ff16396Smrg		basic_machine=mips-compaq
8788ff16396Smrg		os=-nonstopux
8798ff16396Smrg		;;
8808ff16396Smrg	np1)
8818ff16396Smrg		basic_machine=np1-gould
8828ff16396Smrg		;;
883d5d8cc55Smrg        neo-tandem)
884d5d8cc55Smrg		basic_machine=neo-tandem
885d5d8cc55Smrg		;;
886d5d8cc55Smrg        nse-tandem)
887d5d8cc55Smrg		basic_machine=nse-tandem
888d5d8cc55Smrg		;;
8898ff16396Smrg	nsr-tandem)
8908ff16396Smrg		basic_machine=nsr-tandem
8918ff16396Smrg		;;
8928ff16396Smrg	op50n-* | op60c-*)
8938ff16396Smrg		basic_machine=hppa1.1-oki
8948ff16396Smrg		os=-proelf
8958ff16396Smrg		;;
8968ff16396Smrg	openrisc | openrisc-*)
8978ff16396Smrg		basic_machine=or32-unknown
8988ff16396Smrg		;;
8998ff16396Smrg	os400)
9008ff16396Smrg		basic_machine=powerpc-ibm
9018ff16396Smrg		os=-os400
9028ff16396Smrg		;;
9038ff16396Smrg	OSE68000 | ose68000)
9048ff16396Smrg		basic_machine=m68000-ericsson
9058ff16396Smrg		os=-ose
9068ff16396Smrg		;;
9078ff16396Smrg	os68k)
9088ff16396Smrg		basic_machine=m68k-none
9098ff16396Smrg		os=-os68k
9108ff16396Smrg		;;
9118ff16396Smrg	pa-hitachi)
9128ff16396Smrg		basic_machine=hppa1.1-hitachi
9138ff16396Smrg		os=-hiuxwe2
9148ff16396Smrg		;;
9158ff16396Smrg	paragon)
9168ff16396Smrg		basic_machine=i860-intel
9178ff16396Smrg		os=-osf
9188ff16396Smrg		;;
9198ff16396Smrg	parisc)
9208ff16396Smrg		basic_machine=hppa-unknown
9218ff16396Smrg		os=-linux
9228ff16396Smrg		;;
9238ff16396Smrg	parisc-*)
9248ff16396Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9258ff16396Smrg		os=-linux
9268ff16396Smrg		;;
9278ff16396Smrg	pbd)
9288ff16396Smrg		basic_machine=sparc-tti
9298ff16396Smrg		;;
9308ff16396Smrg	pbb)
9318ff16396Smrg		basic_machine=m68k-tti
9328ff16396Smrg		;;
9338ff16396Smrg	pc532 | pc532-*)
9348ff16396Smrg		basic_machine=ns32k-pc532
9358ff16396Smrg		;;
9368ff16396Smrg	pc98)
9378ff16396Smrg		basic_machine=i386-pc
9388ff16396Smrg		;;
9398ff16396Smrg	pc98-*)
9408ff16396Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9418ff16396Smrg		;;
9428ff16396Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9438ff16396Smrg		basic_machine=i586-pc
9448ff16396Smrg		;;
9458ff16396Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9468ff16396Smrg		basic_machine=i686-pc
9478ff16396Smrg		;;
9488ff16396Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9498ff16396Smrg		basic_machine=i686-pc
9508ff16396Smrg		;;
9518ff16396Smrg	pentium4)
9528ff16396Smrg		basic_machine=i786-pc
9538ff16396Smrg		;;
9548ff16396Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9558ff16396Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9568ff16396Smrg		;;
9578ff16396Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9588ff16396Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9598ff16396Smrg		;;
9608ff16396Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9618ff16396Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9628ff16396Smrg		;;
9638ff16396Smrg	pentium4-*)
9648ff16396Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9658ff16396Smrg		;;
9668ff16396Smrg	pn)
9678ff16396Smrg		basic_machine=pn-gould
9688ff16396Smrg		;;
9698ff16396Smrg	power)	basic_machine=power-ibm
9708ff16396Smrg		;;
9718ff16396Smrg	ppc)	basic_machine=powerpc-unknown
9728ff16396Smrg		;;
9738ff16396Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9748ff16396Smrg		;;
9758ff16396Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9768ff16396Smrg		basic_machine=powerpcle-unknown
9778ff16396Smrg		;;
9788ff16396Smrg	ppcle-* | powerpclittle-*)
9798ff16396Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9808ff16396Smrg		;;
9818ff16396Smrg	ppc64)	basic_machine=powerpc64-unknown
9828ff16396Smrg		;;
9838ff16396Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9848ff16396Smrg		;;
9858ff16396Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9868ff16396Smrg		basic_machine=powerpc64le-unknown
9878ff16396Smrg		;;
9888ff16396Smrg	ppc64le-* | powerpc64little-*)
9898ff16396Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9908ff16396Smrg		;;
9918ff16396Smrg	ps2)
9928ff16396Smrg		basic_machine=i386-ibm
9938ff16396Smrg		;;
9948ff16396Smrg	pw32)
9958ff16396Smrg		basic_machine=i586-unknown
9968ff16396Smrg		os=-pw32
9978ff16396Smrg		;;
9988ff16396Smrg	rdos)
9998ff16396Smrg		basic_machine=i386-pc
10008ff16396Smrg		os=-rdos
10018ff16396Smrg		;;
10028ff16396Smrg	rom68k)
10038ff16396Smrg		basic_machine=m68k-rom68k
10048ff16396Smrg		os=-coff
10058ff16396Smrg		;;
10068ff16396Smrg	rm[46]00)
10078ff16396Smrg		basic_machine=mips-siemens
10088ff16396Smrg		;;
10098ff16396Smrg	rtpc | rtpc-*)
10108ff16396Smrg		basic_machine=romp-ibm
10118ff16396Smrg		;;
10128ff16396Smrg	s390 | s390-*)
10138ff16396Smrg		basic_machine=s390-ibm
10148ff16396Smrg		;;
10158ff16396Smrg	s390x | s390x-*)
10168ff16396Smrg		basic_machine=s390x-ibm
10178ff16396Smrg		;;
10188ff16396Smrg	sa29200)
10198ff16396Smrg		basic_machine=a29k-amd
10208ff16396Smrg		os=-udi
10218ff16396Smrg		;;
10228ff16396Smrg	sb1)
10238ff16396Smrg		basic_machine=mipsisa64sb1-unknown
10248ff16396Smrg		;;
10258ff16396Smrg	sb1el)
10268ff16396Smrg		basic_machine=mipsisa64sb1el-unknown
10278ff16396Smrg		;;
10288ff16396Smrg	sde)
10298ff16396Smrg		basic_machine=mipsisa32-sde
10308ff16396Smrg		os=-elf
10318ff16396Smrg		;;
10328ff16396Smrg	sei)
10338ff16396Smrg		basic_machine=mips-sei
10348ff16396Smrg		os=-seiux
10358ff16396Smrg		;;
10368ff16396Smrg	sequent)
10378ff16396Smrg		basic_machine=i386-sequent
10388ff16396Smrg		;;
10398ff16396Smrg	sh)
10408ff16396Smrg		basic_machine=sh-hitachi
10418ff16396Smrg		os=-hms
10428ff16396Smrg		;;
10438ff16396Smrg	sh5el)
10448ff16396Smrg		basic_machine=sh5le-unknown
10458ff16396Smrg		;;
10468ff16396Smrg	sh64)
10478ff16396Smrg		basic_machine=sh64-unknown
10488ff16396Smrg		;;
10498ff16396Smrg	sparclite-wrs | simso-wrs)
10508ff16396Smrg		basic_machine=sparclite-wrs
10518ff16396Smrg		os=-vxworks
10528ff16396Smrg		;;
10538ff16396Smrg	sps7)
10548ff16396Smrg		basic_machine=m68k-bull
10558ff16396Smrg		os=-sysv2
10568ff16396Smrg		;;
10578ff16396Smrg	spur)
10588ff16396Smrg		basic_machine=spur-unknown
10598ff16396Smrg		;;
10608ff16396Smrg	st2000)
10618ff16396Smrg		basic_machine=m68k-tandem
10628ff16396Smrg		;;
10638ff16396Smrg	stratus)
10648ff16396Smrg		basic_machine=i860-stratus
10658ff16396Smrg		os=-sysv4
10668ff16396Smrg		;;
10678ff16396Smrg	sun2)
10688ff16396Smrg		basic_machine=m68000-sun
10698ff16396Smrg		;;
10708ff16396Smrg	sun2os3)
10718ff16396Smrg		basic_machine=m68000-sun
10728ff16396Smrg		os=-sunos3
10738ff16396Smrg		;;
10748ff16396Smrg	sun2os4)
10758ff16396Smrg		basic_machine=m68000-sun
10768ff16396Smrg		os=-sunos4
10778ff16396Smrg		;;
10788ff16396Smrg	sun3os3)
10798ff16396Smrg		basic_machine=m68k-sun
10808ff16396Smrg		os=-sunos3
10818ff16396Smrg		;;
10828ff16396Smrg	sun3os4)
10838ff16396Smrg		basic_machine=m68k-sun
10848ff16396Smrg		os=-sunos4
10858ff16396Smrg		;;
10868ff16396Smrg	sun4os3)
10878ff16396Smrg		basic_machine=sparc-sun
10888ff16396Smrg		os=-sunos3
10898ff16396Smrg		;;
10908ff16396Smrg	sun4os4)
10918ff16396Smrg		basic_machine=sparc-sun
10928ff16396Smrg		os=-sunos4
10938ff16396Smrg		;;
10948ff16396Smrg	sun4sol2)
10958ff16396Smrg		basic_machine=sparc-sun
10968ff16396Smrg		os=-solaris2
10978ff16396Smrg		;;
10988ff16396Smrg	sun3 | sun3-*)
10998ff16396Smrg		basic_machine=m68k-sun
11008ff16396Smrg		;;
11018ff16396Smrg	sun4)
11028ff16396Smrg		basic_machine=sparc-sun
11038ff16396Smrg		;;
11048ff16396Smrg	sun386 | sun386i | roadrunner)
11058ff16396Smrg		basic_machine=i386-sun
11068ff16396Smrg		;;
11078ff16396Smrg	sv1)
11088ff16396Smrg		basic_machine=sv1-cray
11098ff16396Smrg		os=-unicos
11108ff16396Smrg		;;
11118ff16396Smrg	symmetry)
11128ff16396Smrg		basic_machine=i386-sequent
11138ff16396Smrg		os=-dynix
11148ff16396Smrg		;;
11158ff16396Smrg	t3e)
11168ff16396Smrg		basic_machine=alphaev5-cray
11178ff16396Smrg		os=-unicos
11188ff16396Smrg		;;
11198ff16396Smrg	t90)
11208ff16396Smrg		basic_machine=t90-cray
11218ff16396Smrg		os=-unicos
11228ff16396Smrg		;;
1123d5d8cc55Smrg        # This must be matched before tile*.
1124d5d8cc55Smrg        tilegx*)
1125d5d8cc55Smrg		basic_machine=tilegx-unknown
1126d5d8cc55Smrg		os=-linux-gnu
11278ff16396Smrg		;;
11288ff16396Smrg	tile*)
11298ff16396Smrg		basic_machine=tile-unknown
11308ff16396Smrg		os=-linux-gnu
11318ff16396Smrg		;;
11328ff16396Smrg	tx39)
11338ff16396Smrg		basic_machine=mipstx39-unknown
11348ff16396Smrg		;;
11358ff16396Smrg	tx39el)
11368ff16396Smrg		basic_machine=mipstx39el-unknown
11378ff16396Smrg		;;
11388ff16396Smrg	toad1)
11398ff16396Smrg		basic_machine=pdp10-xkl
11408ff16396Smrg		os=-tops20
11418ff16396Smrg		;;
11428ff16396Smrg	tower | tower-32)
11438ff16396Smrg		basic_machine=m68k-ncr
11448ff16396Smrg		;;
11458ff16396Smrg	tpf)
11468ff16396Smrg		basic_machine=s390x-ibm
11478ff16396Smrg		os=-tpf
11488ff16396Smrg		;;
11498ff16396Smrg	udi29k)
11508ff16396Smrg		basic_machine=a29k-amd
11518ff16396Smrg		os=-udi
11528ff16396Smrg		;;
11538ff16396Smrg	ultra3)
11548ff16396Smrg		basic_machine=a29k-nyu
11558ff16396Smrg		os=-sym1
11568ff16396Smrg		;;
11578ff16396Smrg	v810 | necv810)
11588ff16396Smrg		basic_machine=v810-nec
11598ff16396Smrg		os=-none
11608ff16396Smrg		;;
11618ff16396Smrg	vaxv)
11628ff16396Smrg		basic_machine=vax-dec
11638ff16396Smrg		os=-sysv
11648ff16396Smrg		;;
11658ff16396Smrg	vms)
11668ff16396Smrg		basic_machine=vax-dec
11678ff16396Smrg		os=-vms
11688ff16396Smrg		;;
11698ff16396Smrg	vpp*|vx|vx-*)
11708ff16396Smrg		basic_machine=f301-fujitsu
11718ff16396Smrg		;;
11728ff16396Smrg	vxworks960)
11738ff16396Smrg		basic_machine=i960-wrs
11748ff16396Smrg		os=-vxworks
11758ff16396Smrg		;;
11768ff16396Smrg	vxworks68)
11778ff16396Smrg		basic_machine=m68k-wrs
11788ff16396Smrg		os=-vxworks
11798ff16396Smrg		;;
11808ff16396Smrg	vxworks29k)
11818ff16396Smrg		basic_machine=a29k-wrs
11828ff16396Smrg		os=-vxworks
11838ff16396Smrg		;;
11848ff16396Smrg	w65*)
11858ff16396Smrg		basic_machine=w65-wdc
11868ff16396Smrg		os=-none
11878ff16396Smrg		;;
11888ff16396Smrg	w89k-*)
11898ff16396Smrg		basic_machine=hppa1.1-winbond
11908ff16396Smrg		os=-proelf
11918ff16396Smrg		;;
11928ff16396Smrg	xbox)
11938ff16396Smrg		basic_machine=i686-pc
11948ff16396Smrg		os=-mingw32
11958ff16396Smrg		;;
11968ff16396Smrg	xps | xps100)
11978ff16396Smrg		basic_machine=xps100-honeywell
11988ff16396Smrg		;;
11998ff16396Smrg	ymp)
12008ff16396Smrg		basic_machine=ymp-cray
12018ff16396Smrg		os=-unicos
12028ff16396Smrg		;;
12038ff16396Smrg	z8k-*-coff)
12048ff16396Smrg		basic_machine=z8k-unknown
12058ff16396Smrg		os=-sim
12068ff16396Smrg		;;
12078ff16396Smrg	z80-*-coff)
12088ff16396Smrg		basic_machine=z80-unknown
12098ff16396Smrg		os=-sim
12108ff16396Smrg		;;
12118ff16396Smrg	none)
12128ff16396Smrg		basic_machine=none-none
12138ff16396Smrg		os=-none
12148ff16396Smrg		;;
12158ff16396Smrg
12168ff16396Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12178ff16396Smrg# some cases the only manufacturer, in others, it is the most popular.
12188ff16396Smrg	w89k)
12198ff16396Smrg		basic_machine=hppa1.1-winbond
12208ff16396Smrg		;;
12218ff16396Smrg	op50n)
12228ff16396Smrg		basic_machine=hppa1.1-oki
12238ff16396Smrg		;;
12248ff16396Smrg	op60c)
12258ff16396Smrg		basic_machine=hppa1.1-oki
12268ff16396Smrg		;;
12278ff16396Smrg	romp)
12288ff16396Smrg		basic_machine=romp-ibm
12298ff16396Smrg		;;
12308ff16396Smrg	mmix)
12318ff16396Smrg		basic_machine=mmix-knuth
12328ff16396Smrg		;;
12338ff16396Smrg	rs6000)
12348ff16396Smrg		basic_machine=rs6000-ibm
12358ff16396Smrg		;;
12368ff16396Smrg	vax)
12378ff16396Smrg		basic_machine=vax-dec
12388ff16396Smrg		;;
12398ff16396Smrg	pdp10)
12408ff16396Smrg		# there are many clones, so DEC is not a safe bet
12418ff16396Smrg		basic_machine=pdp10-unknown
12428ff16396Smrg		;;
12438ff16396Smrg	pdp11)
12448ff16396Smrg		basic_machine=pdp11-dec
12458ff16396Smrg		;;
12468ff16396Smrg	we32k)
12478ff16396Smrg		basic_machine=we32k-att
12488ff16396Smrg		;;
12498ff16396Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12508ff16396Smrg		basic_machine=sh-unknown
12518ff16396Smrg		;;
12528ff16396Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12538ff16396Smrg		basic_machine=sparc-sun
12548ff16396Smrg		;;
12558ff16396Smrg	cydra)
12568ff16396Smrg		basic_machine=cydra-cydrome
12578ff16396Smrg		;;
12588ff16396Smrg	orion)
12598ff16396Smrg		basic_machine=orion-highlevel
12608ff16396Smrg		;;
12618ff16396Smrg	orion105)
12628ff16396Smrg		basic_machine=clipper-highlevel
12638ff16396Smrg		;;
12648ff16396Smrg	mac | mpw | mac-mpw)
12658ff16396Smrg		basic_machine=m68k-apple
12668ff16396Smrg		;;
12678ff16396Smrg	pmac | pmac-mpw)
12688ff16396Smrg		basic_machine=powerpc-apple
12698ff16396Smrg		;;
12708ff16396Smrg	*-unknown)
12718ff16396Smrg		# Make sure to match an already-canonicalized machine name.
12728ff16396Smrg		;;
12738ff16396Smrg	*)
12748ff16396Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12758ff16396Smrg		exit 1
12768ff16396Smrg		;;
12778ff16396Smrgesac
12788ff16396Smrg
12798ff16396Smrg# Here we canonicalize certain aliases for manufacturers.
12808ff16396Smrgcase $basic_machine in
12818ff16396Smrg	*-digital*)
12828ff16396Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12838ff16396Smrg		;;
12848ff16396Smrg	*-commodore*)
12858ff16396Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12868ff16396Smrg		;;
12878ff16396Smrg	*)
12888ff16396Smrg		;;
12898ff16396Smrgesac
12908ff16396Smrg
12918ff16396Smrg# Decode manufacturer-specific aliases for certain operating systems.
12928ff16396Smrg
12938ff16396Smrgif [ x"$os" != x"" ]
12948ff16396Smrgthen
12958ff16396Smrgcase $os in
12968ff16396Smrg        # First match some system type aliases
12978ff16396Smrg        # that might get confused with valid system types.
12988ff16396Smrg	# -solaris* is a basic system type, with this one exception.
1299d5d8cc55Smrg        -auroraux)
1300d5d8cc55Smrg	        os=-auroraux
1301d5d8cc55Smrg		;;
13028ff16396Smrg	-solaris1 | -solaris1.*)
13038ff16396Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13048ff16396Smrg		;;
13058ff16396Smrg	-solaris)
13068ff16396Smrg		os=-solaris2
13078ff16396Smrg		;;
13088ff16396Smrg	-svr4*)
13098ff16396Smrg		os=-sysv4
13108ff16396Smrg		;;
13118ff16396Smrg	-unixware*)
13128ff16396Smrg		os=-sysv4.2uw
13138ff16396Smrg		;;
13148ff16396Smrg	-gnu/linux*)
13158ff16396Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13168ff16396Smrg		;;
13178ff16396Smrg	# First accept the basic system types.
13188ff16396Smrg	# The portable systems comes first.
13198ff16396Smrg	# Each alternative MUST END IN A *, to match a version number.
13208ff16396Smrg	# -sysv* is not here because it comes later, after sysvr4.
13218ff16396Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1322d5d8cc55Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1323d5d8cc55Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1324d5d8cc55Smrg	      | -sym* | -kopensolaris* \
13258ff16396Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13268ff16396Smrg	      | -aos* | -aros* \
13278ff16396Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13288ff16396Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13298ff16396Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13308ff16396Smrg	      | -openbsd* | -solidbsd* \
13318ff16396Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13328ff16396Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13338ff16396Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13348ff16396Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13358ff16396Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13368ff16396Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1337d5d8cc55Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1338d5d8cc55Smrg	      | -linux-newlib* | -linux-uclibc* \
13398ff16396Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13408ff16396Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13418ff16396Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1342d5d8cc55Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
13438ff16396Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13448ff16396Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13458ff16396Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1346d5d8cc55Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13478ff16396Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13488ff16396Smrg		;;
13498ff16396Smrg	-qnx*)
13508ff16396Smrg		case $basic_machine in
13518ff16396Smrg		    x86-* | i*86-*)
13528ff16396Smrg			;;
13538ff16396Smrg		    *)
13548ff16396Smrg			os=-nto$os
13558ff16396Smrg			;;
13568ff16396Smrg		esac
13578ff16396Smrg		;;
13588ff16396Smrg	-nto-qnx*)
13598ff16396Smrg		;;
13608ff16396Smrg	-nto*)
13618ff16396Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13628ff16396Smrg		;;
13638ff16396Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13648ff16396Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13658ff16396Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13668ff16396Smrg		;;
13678ff16396Smrg	-mac*)
13688ff16396Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13698ff16396Smrg		;;
13708ff16396Smrg	-linux-dietlibc)
13718ff16396Smrg		os=-linux-dietlibc
13728ff16396Smrg		;;
13738ff16396Smrg	-linux*)
13748ff16396Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13758ff16396Smrg		;;
13768ff16396Smrg	-sunos5*)
13778ff16396Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13788ff16396Smrg		;;
13798ff16396Smrg	-sunos6*)
13808ff16396Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13818ff16396Smrg		;;
13828ff16396Smrg	-opened*)
13838ff16396Smrg		os=-openedition
13848ff16396Smrg		;;
13858ff16396Smrg        -os400*)
13868ff16396Smrg		os=-os400
13878ff16396Smrg		;;
13888ff16396Smrg	-wince*)
13898ff16396Smrg		os=-wince
13908ff16396Smrg		;;
13918ff16396Smrg	-osfrose*)
13928ff16396Smrg		os=-osfrose
13938ff16396Smrg		;;
13948ff16396Smrg	-osf*)
13958ff16396Smrg		os=-osf
13968ff16396Smrg		;;
13978ff16396Smrg	-utek*)
13988ff16396Smrg		os=-bsd
13998ff16396Smrg		;;
14008ff16396Smrg	-dynix*)
14018ff16396Smrg		os=-bsd
14028ff16396Smrg		;;
14038ff16396Smrg	-acis*)
14048ff16396Smrg		os=-aos
14058ff16396Smrg		;;
14068ff16396Smrg	-atheos*)
14078ff16396Smrg		os=-atheos
14088ff16396Smrg		;;
14098ff16396Smrg	-syllable*)
14108ff16396Smrg		os=-syllable
14118ff16396Smrg		;;
14128ff16396Smrg	-386bsd)
14138ff16396Smrg		os=-bsd
14148ff16396Smrg		;;
14158ff16396Smrg	-ctix* | -uts*)
14168ff16396Smrg		os=-sysv
14178ff16396Smrg		;;
14188ff16396Smrg	-nova*)
14198ff16396Smrg		os=-rtmk-nova
14208ff16396Smrg		;;
14218ff16396Smrg	-ns2 )
14228ff16396Smrg		os=-nextstep2
14238ff16396Smrg		;;
14248ff16396Smrg	-nsk*)
14258ff16396Smrg		os=-nsk
14268ff16396Smrg		;;
14278ff16396Smrg	# Preserve the version number of sinix5.
14288ff16396Smrg	-sinix5.*)
14298ff16396Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14308ff16396Smrg		;;
14318ff16396Smrg	-sinix*)
14328ff16396Smrg		os=-sysv4
14338ff16396Smrg		;;
14348ff16396Smrg        -tpf*)
14358ff16396Smrg		os=-tpf
14368ff16396Smrg		;;
14378ff16396Smrg	-triton*)
14388ff16396Smrg		os=-sysv3
14398ff16396Smrg		;;
14408ff16396Smrg	-oss*)
14418ff16396Smrg		os=-sysv3
14428ff16396Smrg		;;
14438ff16396Smrg	-svr4)
14448ff16396Smrg		os=-sysv4
14458ff16396Smrg		;;
14468ff16396Smrg	-svr3)
14478ff16396Smrg		os=-sysv3
14488ff16396Smrg		;;
14498ff16396Smrg	-sysvr4)
14508ff16396Smrg		os=-sysv4
14518ff16396Smrg		;;
14528ff16396Smrg	# This must come after -sysvr4.
14538ff16396Smrg	-sysv*)
14548ff16396Smrg		;;
14558ff16396Smrg	-ose*)
14568ff16396Smrg		os=-ose
14578ff16396Smrg		;;
14588ff16396Smrg	-es1800*)
14598ff16396Smrg		os=-ose
14608ff16396Smrg		;;
14618ff16396Smrg	-xenix)
14628ff16396Smrg		os=-xenix
14638ff16396Smrg		;;
14648ff16396Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14658ff16396Smrg		os=-mint
14668ff16396Smrg		;;
14678ff16396Smrg	-aros*)
14688ff16396Smrg		os=-aros
14698ff16396Smrg		;;
14708ff16396Smrg	-kaos*)
14718ff16396Smrg		os=-kaos
14728ff16396Smrg		;;
14738ff16396Smrg	-zvmoe)
14748ff16396Smrg		os=-zvmoe
14758ff16396Smrg		;;
14768ff16396Smrg	-dicos*)
14778ff16396Smrg		os=-dicos
14788ff16396Smrg		;;
1479d5d8cc55Smrg        -nacl*)
1480d5d8cc55Smrg	        ;;
14818ff16396Smrg	-none)
14828ff16396Smrg		;;
14838ff16396Smrg	*)
14848ff16396Smrg		# Get rid of the `-' at the beginning of $os.
14858ff16396Smrg		os=`echo $os | sed 's/[^-]*-//'`
14868ff16396Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14878ff16396Smrg		exit 1
14888ff16396Smrg		;;
14898ff16396Smrgesac
14908ff16396Smrgelse
14918ff16396Smrg
14928ff16396Smrg# Here we handle the default operating systems that come with various machines.
14938ff16396Smrg# The value should be what the vendor currently ships out the door with their
14948ff16396Smrg# machine or put another way, the most popular os provided with the machine.
14958ff16396Smrg
14968ff16396Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14978ff16396Smrg# "-sun"), then you have to tell the case statement up towards the top
14988ff16396Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14998ff16396Smrg# will signal an error saying that MANUFACTURER isn't an operating
15008ff16396Smrg# system, and we'll never get to this point.
15018ff16396Smrg
15028ff16396Smrgcase $basic_machine in
15038ff16396Smrg        score-*)
15048ff16396Smrg		os=-elf
15058ff16396Smrg		;;
15068ff16396Smrg        spu-*)
15078ff16396Smrg		os=-elf
15088ff16396Smrg		;;
15098ff16396Smrg	*-acorn)
15108ff16396Smrg		os=-riscix1.2
15118ff16396Smrg		;;
15128ff16396Smrg	arm*-rebel)
15138ff16396Smrg		os=-linux
15148ff16396Smrg		;;
15158ff16396Smrg	arm*-semi)
15168ff16396Smrg		os=-aout
15178ff16396Smrg		;;
15188ff16396Smrg        c4x-* | tic4x-*)
15198ff16396Smrg        	os=-coff
15208ff16396Smrg		;;
1521d5d8cc55Smrg	tic54x-*)
1522d5d8cc55Smrg		os=-coff
1523d5d8cc55Smrg		;;
1524d5d8cc55Smrg	tic55x-*)
1525d5d8cc55Smrg		os=-coff
1526d5d8cc55Smrg		;;
1527d5d8cc55Smrg	tic6x-*)
1528d5d8cc55Smrg		os=-coff
1529d5d8cc55Smrg		;;
15308ff16396Smrg	# This must come before the *-dec entry.
15318ff16396Smrg	pdp10-*)
15328ff16396Smrg		os=-tops20
15338ff16396Smrg		;;
15348ff16396Smrg	pdp11-*)
15358ff16396Smrg		os=-none
15368ff16396Smrg		;;
15378ff16396Smrg	*-dec | vax-*)
15388ff16396Smrg		os=-ultrix4.2
15398ff16396Smrg		;;
15408ff16396Smrg	m68*-apollo)
15418ff16396Smrg		os=-domain
15428ff16396Smrg		;;
15438ff16396Smrg	i386-sun)
15448ff16396Smrg		os=-sunos4.0.2
15458ff16396Smrg		;;
15468ff16396Smrg	m68000-sun)
15478ff16396Smrg		os=-sunos3
15488ff16396Smrg		# This also exists in the configure program, but was not the
15498ff16396Smrg		# default.
15508ff16396Smrg		# os=-sunos4
15518ff16396Smrg		;;
15528ff16396Smrg	m68*-cisco)
15538ff16396Smrg		os=-aout
15548ff16396Smrg		;;
15558ff16396Smrg        mep-*)
15568ff16396Smrg		os=-elf
15578ff16396Smrg		;;
15588ff16396Smrg	mips*-cisco)
15598ff16396Smrg		os=-elf
15608ff16396Smrg		;;
15618ff16396Smrg	mips*-*)
15628ff16396Smrg		os=-elf
15638ff16396Smrg		;;
15648ff16396Smrg	or32-*)
15658ff16396Smrg		os=-coff
15668ff16396Smrg		;;
15678ff16396Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15688ff16396Smrg		os=-sysv3
15698ff16396Smrg		;;
15708ff16396Smrg	sparc-* | *-sun)
15718ff16396Smrg		os=-sunos4.1.1
15728ff16396Smrg		;;
15738ff16396Smrg	*-be)
15748ff16396Smrg		os=-beos
15758ff16396Smrg		;;
15768ff16396Smrg	*-haiku)
15778ff16396Smrg		os=-haiku
15788ff16396Smrg		;;
15798ff16396Smrg	*-ibm)
15808ff16396Smrg		os=-aix
15818ff16396Smrg		;;
15828ff16396Smrg    	*-knuth)
15838ff16396Smrg		os=-mmixware
15848ff16396Smrg		;;
15858ff16396Smrg	*-wec)
15868ff16396Smrg		os=-proelf
15878ff16396Smrg		;;
15888ff16396Smrg	*-winbond)
15898ff16396Smrg		os=-proelf
15908ff16396Smrg		;;
15918ff16396Smrg	*-oki)
15928ff16396Smrg		os=-proelf
15938ff16396Smrg		;;
15948ff16396Smrg	*-hp)
15958ff16396Smrg		os=-hpux
15968ff16396Smrg		;;
15978ff16396Smrg	*-hitachi)
15988ff16396Smrg		os=-hiux
15998ff16396Smrg		;;
16008ff16396Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16018ff16396Smrg		os=-sysv
16028ff16396Smrg		;;
16038ff16396Smrg	*-cbm)
16048ff16396Smrg		os=-amigaos
16058ff16396Smrg		;;
16068ff16396Smrg	*-dg)
16078ff16396Smrg		os=-dgux
16088ff16396Smrg		;;
16098ff16396Smrg	*-dolphin)
16108ff16396Smrg		os=-sysv3
16118ff16396Smrg		;;
16128ff16396Smrg	m68k-ccur)
16138ff16396Smrg		os=-rtu
16148ff16396Smrg		;;
16158ff16396Smrg	m88k-omron*)
16168ff16396Smrg		os=-luna
16178ff16396Smrg		;;
16188ff16396Smrg	*-next )
16198ff16396Smrg		os=-nextstep
16208ff16396Smrg		;;
16218ff16396Smrg	*-sequent)
16228ff16396Smrg		os=-ptx
16238ff16396Smrg		;;
16248ff16396Smrg	*-crds)
16258ff16396Smrg		os=-unos
16268ff16396Smrg		;;
16278ff16396Smrg	*-ns)
16288ff16396Smrg		os=-genix
16298ff16396Smrg		;;
16308ff16396Smrg	i370-*)
16318ff16396Smrg		os=-mvs
16328ff16396Smrg		;;
16338ff16396Smrg	*-next)
16348ff16396Smrg		os=-nextstep3
16358ff16396Smrg		;;
16368ff16396Smrg	*-gould)
16378ff16396Smrg		os=-sysv
16388ff16396Smrg		;;
16398ff16396Smrg	*-highlevel)
16408ff16396Smrg		os=-bsd
16418ff16396Smrg		;;
16428ff16396Smrg	*-encore)
16438ff16396Smrg		os=-bsd
16448ff16396Smrg		;;
16458ff16396Smrg	*-sgi)
16468ff16396Smrg		os=-irix
16478ff16396Smrg		;;
16488ff16396Smrg	*-siemens)
16498ff16396Smrg		os=-sysv4
16508ff16396Smrg		;;
16518ff16396Smrg	*-masscomp)
16528ff16396Smrg		os=-rtu
16538ff16396Smrg		;;
16548ff16396Smrg	f30[01]-fujitsu | f700-fujitsu)
16558ff16396Smrg		os=-uxpv
16568ff16396Smrg		;;
16578ff16396Smrg	*-rom68k)
16588ff16396Smrg		os=-coff
16598ff16396Smrg		;;
16608ff16396Smrg	*-*bug)
16618ff16396Smrg		os=-coff
16628ff16396Smrg		;;
16638ff16396Smrg	*-apple)
16648ff16396Smrg		os=-macos
16658ff16396Smrg		;;
16668ff16396Smrg	*-atari*)
16678ff16396Smrg		os=-mint
16688ff16396Smrg		;;
16698ff16396Smrg	*)
16708ff16396Smrg		os=-none
16718ff16396Smrg		;;
16728ff16396Smrgesac
16738ff16396Smrgfi
16748ff16396Smrg
16758ff16396Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16768ff16396Smrg# manufacturer.  We pick the logical manufacturer.
16778ff16396Smrgvendor=unknown
16788ff16396Smrgcase $basic_machine in
16798ff16396Smrg	*-unknown)
16808ff16396Smrg		case $os in
16818ff16396Smrg			-riscix*)
16828ff16396Smrg				vendor=acorn
16838ff16396Smrg				;;
16848ff16396Smrg			-sunos*)
16858ff16396Smrg				vendor=sun
16868ff16396Smrg				;;
1687d5d8cc55Smrg			-cnk*|-aix*)
16888ff16396Smrg				vendor=ibm
16898ff16396Smrg				;;
16908ff16396Smrg			-beos*)
16918ff16396Smrg				vendor=be
16928ff16396Smrg				;;
16938ff16396Smrg			-hpux*)
16948ff16396Smrg				vendor=hp
16958ff16396Smrg				;;
16968ff16396Smrg			-mpeix*)
16978ff16396Smrg				vendor=hp
16988ff16396Smrg				;;
16998ff16396Smrg			-hiux*)
17008ff16396Smrg				vendor=hitachi
17018ff16396Smrg				;;
17028ff16396Smrg			-unos*)
17038ff16396Smrg				vendor=crds
17048ff16396Smrg				;;
17058ff16396Smrg			-dgux*)
17068ff16396Smrg				vendor=dg
17078ff16396Smrg				;;
17088ff16396Smrg			-luna*)
17098ff16396Smrg				vendor=omron
17108ff16396Smrg				;;
17118ff16396Smrg			-genix*)
17128ff16396Smrg				vendor=ns
17138ff16396Smrg				;;
17148ff16396Smrg			-mvs* | -opened*)
17158ff16396Smrg				vendor=ibm
17168ff16396Smrg				;;
17178ff16396Smrg			-os400*)
17188ff16396Smrg				vendor=ibm
17198ff16396Smrg				;;
17208ff16396Smrg			-ptx*)
17218ff16396Smrg				vendor=sequent
17228ff16396Smrg				;;
17238ff16396Smrg			-tpf*)
17248ff16396Smrg				vendor=ibm
17258ff16396Smrg				;;
17268ff16396Smrg			-vxsim* | -vxworks* | -windiss*)
17278ff16396Smrg				vendor=wrs
17288ff16396Smrg				;;
17298ff16396Smrg			-aux*)
17308ff16396Smrg				vendor=apple
17318ff16396Smrg				;;
17328ff16396Smrg			-hms*)
17338ff16396Smrg				vendor=hitachi
17348ff16396Smrg				;;
17358ff16396Smrg			-mpw* | -macos*)
17368ff16396Smrg				vendor=apple
17378ff16396Smrg				;;
17388ff16396Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17398ff16396Smrg				vendor=atari
17408ff16396Smrg				;;
17418ff16396Smrg			-vos*)
17428ff16396Smrg				vendor=stratus
17438ff16396Smrg				;;
17448ff16396Smrg		esac
17458ff16396Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17468ff16396Smrg		;;
17478ff16396Smrgesac
17488ff16396Smrg
17498ff16396Smrgecho $basic_machine$os
17508ff16396Smrgexit
17518ff16396Smrg
17528ff16396Smrg# Local variables:
17538ff16396Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17548ff16396Smrg# time-stamp-start: "timestamp='"
17558ff16396Smrg# time-stamp-format: "%:y-%02m-%02d"
17568ff16396Smrg# time-stamp-end: "'"
17578ff16396Smrg# End:
1758