config.sub revision 604a4f4c
11e00de39Smrg#! /bin/sh
21e00de39Smrg# Configuration validation subroutine script.
31e00de39Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4604a4f4cSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
51e00de39Smrg#   Free Software Foundation, Inc.
61e00de39Smrg
7604a4f4cSmrgtimestamp='2010-09-11'
81e00de39Smrg
91e00de39Smrg# This file is (in principle) common to ALL GNU software.
101e00de39Smrg# The presence of a machine in this file suggests that SOME GNU software
111e00de39Smrg# can handle that machine.  It does not imply ALL GNU software can.
121e00de39Smrg#
131e00de39Smrg# This file is free software; you can redistribute it and/or modify
141e00de39Smrg# it under the terms of the GNU General Public License as published by
151e00de39Smrg# the Free Software Foundation; either version 2 of the License, or
161e00de39Smrg# (at your option) any later version.
171e00de39Smrg#
181e00de39Smrg# This program is distributed in the hope that it will be useful,
191e00de39Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
201e00de39Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
211e00de39Smrg# GNU General Public License for more details.
221e00de39Smrg#
231e00de39Smrg# You should have received a copy of the GNU General Public License
241e00de39Smrg# along with this program; if not, write to the Free Software
251e00de39Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
261e00de39Smrg# 02110-1301, USA.
271e00de39Smrg#
281e00de39Smrg# As a special exception to the GNU General Public License, if you
291e00de39Smrg# distribute this file as part of a program that contains a
301e00de39Smrg# configuration script generated by Autoconf, you may include it under
311e00de39Smrg# the same distribution terms that you use for the rest of that program.
321e00de39Smrg
331e00de39Smrg
341e00de39Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35604a4f4cSmrg# diff and a properly formatted GNU ChangeLog entry.
361e00de39Smrg#
371e00de39Smrg# Configuration subroutine to validate and canonicalize a configuration type.
381e00de39Smrg# Supply the specified configuration type as an argument.
391e00de39Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
401e00de39Smrg# Otherwise, we print the canonical config type on stdout and succeed.
411e00de39Smrg
42604a4f4cSmrg# You can get the latest version of this script from:
43604a4f4cSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44604a4f4cSmrg
451e00de39Smrg# This file is supposed to be the same for all GNU packages
461e00de39Smrg# and recognize all the CPU types, system types and aliases
471e00de39Smrg# that are meaningful with *any* GNU software.
481e00de39Smrg# Each package is responsible for reporting which valid configurations
491e00de39Smrg# it does not support.  The user should be able to distinguish
501e00de39Smrg# a failure to support a valid configuration from a meaningless
511e00de39Smrg# configuration.
521e00de39Smrg
531e00de39Smrg# The goal of this file is to map all the various variations of a given
541e00de39Smrg# machine specification into a single specification in the form:
551e00de39Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
561e00de39Smrg# or in some cases, the newer four-part form:
571e00de39Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
581e00de39Smrg# It is wrong to echo any other type of specification.
591e00de39Smrg
601e00de39Smrgme=`echo "$0" | sed -e 's,.*/,,'`
611e00de39Smrg
621e00de39Smrgusage="\
631e00de39SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
641e00de39Smrg       $0 [OPTION] ALIAS
651e00de39Smrg
661e00de39SmrgCanonicalize a configuration name.
671e00de39Smrg
681e00de39SmrgOperation modes:
691e00de39Smrg  -h, --help         print this help, then exit
701e00de39Smrg  -t, --time-stamp   print date of last modification, then exit
711e00de39Smrg  -v, --version      print version number, then exit
721e00de39Smrg
731e00de39SmrgReport bugs and patches to <config-patches@gnu.org>."
741e00de39Smrg
751e00de39Smrgversion="\
761e00de39SmrgGNU config.sub ($timestamp)
771e00de39Smrg
78604a4f4cSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79604a4f4cSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80604a4f4cSmrgSoftware Foundation, Inc.
811e00de39Smrg
821e00de39SmrgThis is free software; see the source for copying conditions.  There is NO
831e00de39Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
841e00de39Smrg
851e00de39Smrghelp="
861e00de39SmrgTry \`$me --help' for more information."
871e00de39Smrg
881e00de39Smrg# Parse command line
891e00de39Smrgwhile test $# -gt 0 ; do
901e00de39Smrg  case $1 in
911e00de39Smrg    --time-stamp | --time* | -t )
921e00de39Smrg       echo "$timestamp" ; exit ;;
931e00de39Smrg    --version | -v )
941e00de39Smrg       echo "$version" ; exit ;;
951e00de39Smrg    --help | --h* | -h )
961e00de39Smrg       echo "$usage"; exit ;;
971e00de39Smrg    -- )     # Stop option processing
981e00de39Smrg       shift; break ;;
991e00de39Smrg    - )	# Use stdin as input.
1001e00de39Smrg       break ;;
1011e00de39Smrg    -* )
1021e00de39Smrg       echo "$me: invalid option $1$help"
1031e00de39Smrg       exit 1 ;;
1041e00de39Smrg
1051e00de39Smrg    *local*)
1061e00de39Smrg       # First pass through any local machine types.
1071e00de39Smrg       echo $1
1081e00de39Smrg       exit ;;
1091e00de39Smrg
1101e00de39Smrg    * )
1111e00de39Smrg       break ;;
1121e00de39Smrg  esac
1131e00de39Smrgdone
1141e00de39Smrg
1151e00de39Smrgcase $# in
1161e00de39Smrg 0) echo "$me: missing argument$help" >&2
1171e00de39Smrg    exit 1;;
1181e00de39Smrg 1) ;;
1191e00de39Smrg *) echo "$me: too many arguments$help" >&2
1201e00de39Smrg    exit 1;;
1211e00de39Smrgesac
1221e00de39Smrg
1231e00de39Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1241e00de39Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1251e00de39Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1261e00de39Smrgcase $maybe_os in
127604a4f4cSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128604a4f4cSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129604a4f4cSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
13021ecb1efSmrg  kopensolaris*-gnu* | \
1311e00de39Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1321e00de39Smrg    os=-$maybe_os
1331e00de39Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1341e00de39Smrg    ;;
1351e00de39Smrg  *)
1361e00de39Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1371e00de39Smrg    if [ $basic_machine != $1 ]
1381e00de39Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1391e00de39Smrg    else os=; fi
1401e00de39Smrg    ;;
1411e00de39Smrgesac
1421e00de39Smrg
1431e00de39Smrg### Let's recognize common machines as not being operating systems so
1441e00de39Smrg### that things like config.sub decstation-3100 work.  We also
1451e00de39Smrg### recognize some manufacturers as not being operating systems, so we
1461e00de39Smrg### can provide default operating systems below.
1471e00de39Smrgcase $os in
1481e00de39Smrg	-sun*os*)
1491e00de39Smrg		# Prevent following clause from handling this invalid input.
1501e00de39Smrg		;;
1511e00de39Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1521e00de39Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1531e00de39Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1541e00de39Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1551e00de39Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1561e00de39Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157604a4f4cSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1581e00de39Smrg		os=
1591e00de39Smrg		basic_machine=$1
1601e00de39Smrg		;;
161604a4f4cSmrg        -bluegene*)
162604a4f4cSmrg	        os=-cnk
163604a4f4cSmrg		;;
1641e00de39Smrg	-sim | -cisco | -oki | -wec | -winbond)
1651e00de39Smrg		os=
1661e00de39Smrg		basic_machine=$1
1671e00de39Smrg		;;
1681e00de39Smrg	-scout)
1691e00de39Smrg		;;
1701e00de39Smrg	-wrs)
1711e00de39Smrg		os=-vxworks
1721e00de39Smrg		basic_machine=$1
1731e00de39Smrg		;;
1741e00de39Smrg	-chorusos*)
1751e00de39Smrg		os=-chorusos
1761e00de39Smrg		basic_machine=$1
1771e00de39Smrg		;;
1781e00de39Smrg 	-chorusrdb)
1791e00de39Smrg 		os=-chorusrdb
1801e00de39Smrg		basic_machine=$1
1811e00de39Smrg 		;;
1821e00de39Smrg	-hiux*)
1831e00de39Smrg		os=-hiuxwe2
1841e00de39Smrg		;;
1851e00de39Smrg	-sco6)
1861e00de39Smrg		os=-sco5v6
1871e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1881e00de39Smrg		;;
1891e00de39Smrg	-sco5)
1901e00de39Smrg		os=-sco3.2v5
1911e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1921e00de39Smrg		;;
1931e00de39Smrg	-sco4)
1941e00de39Smrg		os=-sco3.2v4
1951e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1961e00de39Smrg		;;
1971e00de39Smrg	-sco3.2.[4-9]*)
1981e00de39Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1991e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2001e00de39Smrg		;;
2011e00de39Smrg	-sco3.2v[4-9]*)
2021e00de39Smrg		# Don't forget version if it is 3.2v4 or newer.
2031e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2041e00de39Smrg		;;
2051e00de39Smrg	-sco5v6*)
2061e00de39Smrg		# Don't forget version if it is 3.2v4 or newer.
2071e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2081e00de39Smrg		;;
2091e00de39Smrg	-sco*)
2101e00de39Smrg		os=-sco3.2v2
2111e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2121e00de39Smrg		;;
2131e00de39Smrg	-udk*)
2141e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2151e00de39Smrg		;;
2161e00de39Smrg	-isc)
2171e00de39Smrg		os=-isc2.2
2181e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2191e00de39Smrg		;;
2201e00de39Smrg	-clix*)
2211e00de39Smrg		basic_machine=clipper-intergraph
2221e00de39Smrg		;;
2231e00de39Smrg	-isc*)
2241e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2251e00de39Smrg		;;
2261e00de39Smrg	-lynx*)
2271e00de39Smrg		os=-lynxos
2281e00de39Smrg		;;
2291e00de39Smrg	-ptx*)
2301e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2311e00de39Smrg		;;
2321e00de39Smrg	-windowsnt*)
2331e00de39Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2341e00de39Smrg		;;
2351e00de39Smrg	-psos*)
2361e00de39Smrg		os=-psos
2371e00de39Smrg		;;
2381e00de39Smrg	-mint | -mint[0-9]*)
2391e00de39Smrg		basic_machine=m68k-atari
2401e00de39Smrg		os=-mint
2411e00de39Smrg		;;
2421e00de39Smrgesac
2431e00de39Smrg
2441e00de39Smrg# Decode aliases for certain CPU-COMPANY combinations.
2451e00de39Smrgcase $basic_machine in
2461e00de39Smrg	# Recognize the basic CPU types without company name.
2471e00de39Smrg	# Some are omitted here because they have special meanings below.
2481e00de39Smrg	1750a | 580 \
2491e00de39Smrg	| a29k \
2501e00de39Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2511e00de39Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2521e00de39Smrg	| am33_2.0 \
2531e00de39Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2541e00de39Smrg	| bfin \
2551e00de39Smrg	| c4x | clipper \
2561e00de39Smrg	| d10v | d30v | dlx | dsp16xx \
2571e00de39Smrg	| fido | fr30 | frv \
2581e00de39Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2591e00de39Smrg	| i370 | i860 | i960 | ia64 \
2601e00de39Smrg	| ip2k | iq2000 \
26121ecb1efSmrg	| lm32 \
2621e00de39Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26321ecb1efSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2641e00de39Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2651e00de39Smrg	| mips16 \
2661e00de39Smrg	| mips64 | mips64el \
26721ecb1efSmrg	| mips64octeon | mips64octeonel \
2681e00de39Smrg	| mips64orion | mips64orionel \
26921ecb1efSmrg	| mips64r5900 | mips64r5900el \
27021ecb1efSmrg	| mips64vr | mips64vrel \
2711e00de39Smrg	| mips64vr4100 | mips64vr4100el \
2721e00de39Smrg	| mips64vr4300 | mips64vr4300el \
2731e00de39Smrg	| mips64vr5000 | mips64vr5000el \
2741e00de39Smrg	| mips64vr5900 | mips64vr5900el \
2751e00de39Smrg	| mipsisa32 | mipsisa32el \
2761e00de39Smrg	| mipsisa32r2 | mipsisa32r2el \
2771e00de39Smrg	| mipsisa64 | mipsisa64el \
2781e00de39Smrg	| mipsisa64r2 | mipsisa64r2el \
2791e00de39Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2801e00de39Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2811e00de39Smrg	| mipstx39 | mipstx39el \
2821e00de39Smrg	| mn10200 | mn10300 \
28321ecb1efSmrg	| moxie \
2841e00de39Smrg	| mt \
2851e00de39Smrg	| msp430 \
286604a4f4cSmrg	| nds32 | nds32le | nds32be \
2871e00de39Smrg	| nios | nios2 \
2881e00de39Smrg	| ns16k | ns32k \
2891e00de39Smrg	| or32 \
2901e00de39Smrg	| pdp10 | pdp11 | pj | pjl \
2911e00de39Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2921e00de39Smrg	| pyramid \
293604a4f4cSmrg	| rx \
2941e00de39Smrg	| score \
29521ecb1efSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2961e00de39Smrg	| sh64 | sh64le \
2971e00de39Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2981e00de39Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2991e00de39Smrg	| spu | strongarm \
300604a4f4cSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301604a4f4cSmrg	| ubicom32 \
3021e00de39Smrg	| v850 | v850e \
3031e00de39Smrg	| we32k \
3041e00de39Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30521ecb1efSmrg	| z8k | z80)
3061e00de39Smrg		basic_machine=$basic_machine-unknown
3071e00de39Smrg		;;
308604a4f4cSmrg	c54x)
309604a4f4cSmrg		basic_machine=tic54x-unknown
310604a4f4cSmrg		;;
311604a4f4cSmrg	c55x)
312604a4f4cSmrg		basic_machine=tic55x-unknown
313604a4f4cSmrg		;;
314604a4f4cSmrg	c6x)
315604a4f4cSmrg		basic_machine=tic6x-unknown
316604a4f4cSmrg		;;
317604a4f4cSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3181e00de39Smrg		# Motorola 68HC11/12.
3191e00de39Smrg		basic_machine=$basic_machine-unknown
3201e00de39Smrg		os=-none
3211e00de39Smrg		;;
3221e00de39Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3231e00de39Smrg		;;
3241e00de39Smrg	ms1)
3251e00de39Smrg		basic_machine=mt-unknown
3261e00de39Smrg		;;
3271e00de39Smrg
3281e00de39Smrg	# We use `pc' rather than `unknown'
3291e00de39Smrg	# because (1) that's what they normally are, and
3301e00de39Smrg	# (2) the word "unknown" tends to confuse beginning users.
3311e00de39Smrg	i*86 | x86_64)
3321e00de39Smrg	  basic_machine=$basic_machine-pc
3331e00de39Smrg	  ;;
3341e00de39Smrg	# Object if more than one company name word.
3351e00de39Smrg	*-*-*)
3361e00de39Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3371e00de39Smrg		exit 1
3381e00de39Smrg		;;
3391e00de39Smrg	# Recognize the basic CPU types with company name.
3401e00de39Smrg	580-* \
3411e00de39Smrg	| a29k-* \
3421e00de39Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3431e00de39Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3441e00de39Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3451e00de39Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3461e00de39Smrg	| avr-* | avr32-* \
3471e00de39Smrg	| bfin-* | bs2000-* \
348604a4f4cSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3491e00de39Smrg	| clipper-* | craynv-* | cydra-* \
3501e00de39Smrg	| d10v-* | d30v-* | dlx-* \
3511e00de39Smrg	| elxsi-* \
3521e00de39Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3531e00de39Smrg	| h8300-* | h8500-* \
3541e00de39Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3551e00de39Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3561e00de39Smrg	| ip2k-* | iq2000-* \
35721ecb1efSmrg	| lm32-* \
3581e00de39Smrg	| m32c-* | m32r-* | m32rle-* \
3591e00de39Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360604a4f4cSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3611e00de39Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3621e00de39Smrg	| mips16-* \
3631e00de39Smrg	| mips64-* | mips64el-* \
36421ecb1efSmrg	| mips64octeon-* | mips64octeonel-* \
3651e00de39Smrg	| mips64orion-* | mips64orionel-* \
36621ecb1efSmrg	| mips64r5900-* | mips64r5900el-* \
36721ecb1efSmrg	| mips64vr-* | mips64vrel-* \
3681e00de39Smrg	| mips64vr4100-* | mips64vr4100el-* \
3691e00de39Smrg	| mips64vr4300-* | mips64vr4300el-* \
3701e00de39Smrg	| mips64vr5000-* | mips64vr5000el-* \
3711e00de39Smrg	| mips64vr5900-* | mips64vr5900el-* \
3721e00de39Smrg	| mipsisa32-* | mipsisa32el-* \
3731e00de39Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3741e00de39Smrg	| mipsisa64-* | mipsisa64el-* \
3751e00de39Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3761e00de39Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3771e00de39Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3781e00de39Smrg	| mipstx39-* | mipstx39el-* \
3791e00de39Smrg	| mmix-* \
3801e00de39Smrg	| mt-* \
3811e00de39Smrg	| msp430-* \
382604a4f4cSmrg	| nds32-* | nds32le-* | nds32be-* \
3831e00de39Smrg	| nios-* | nios2-* \
3841e00de39Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3851e00de39Smrg	| orion-* \
3861e00de39Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3871e00de39Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3881e00de39Smrg	| pyramid-* \
389604a4f4cSmrg	| romp-* | rs6000-* | rx-* \
39021ecb1efSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3911e00de39Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3921e00de39Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3931e00de39Smrg	| sparclite-* \
3941e00de39Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3951e00de39Smrg	| tahoe-* | thumb-* \
396604a4f4cSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397604a4f4cSmrg	| tile-* | tilegx-* \
3981e00de39Smrg	| tron-* \
399604a4f4cSmrg	| ubicom32-* \
4001e00de39Smrg	| v850-* | v850e-* | vax-* \
4011e00de39Smrg	| we32k-* \
4021e00de39Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4031e00de39Smrg	| xstormy16-* | xtensa*-* \
4041e00de39Smrg	| ymp-* \
40521ecb1efSmrg	| z8k-* | z80-*)
4061e00de39Smrg		;;
4071e00de39Smrg	# Recognize the basic CPU types without company name, with glob match.
4081e00de39Smrg	xtensa*)
4091e00de39Smrg		basic_machine=$basic_machine-unknown
4101e00de39Smrg		;;
4111e00de39Smrg	# Recognize the various machine names and aliases which stand
4121e00de39Smrg	# for a CPU type and a company and sometimes even an OS.
4131e00de39Smrg	386bsd)
4141e00de39Smrg		basic_machine=i386-unknown
4151e00de39Smrg		os=-bsd
4161e00de39Smrg		;;
4171e00de39Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4181e00de39Smrg		basic_machine=m68000-att
4191e00de39Smrg		;;
4201e00de39Smrg	3b*)
4211e00de39Smrg		basic_machine=we32k-att
4221e00de39Smrg		;;
4231e00de39Smrg	a29khif)
4241e00de39Smrg		basic_machine=a29k-amd
4251e00de39Smrg		os=-udi
4261e00de39Smrg		;;
4271e00de39Smrg    	abacus)
4281e00de39Smrg		basic_machine=abacus-unknown
4291e00de39Smrg		;;
4301e00de39Smrg	adobe68k)
4311e00de39Smrg		basic_machine=m68010-adobe
4321e00de39Smrg		os=-scout
4331e00de39Smrg		;;
4341e00de39Smrg	alliant | fx80)
4351e00de39Smrg		basic_machine=fx80-alliant
4361e00de39Smrg		;;
4371e00de39Smrg	altos | altos3068)
4381e00de39Smrg		basic_machine=m68k-altos
4391e00de39Smrg		;;
4401e00de39Smrg	am29k)
4411e00de39Smrg		basic_machine=a29k-none
4421e00de39Smrg		os=-bsd
4431e00de39Smrg		;;
4441e00de39Smrg	amd64)
4451e00de39Smrg		basic_machine=x86_64-pc
4461e00de39Smrg		;;
4471e00de39Smrg	amd64-*)
4481e00de39Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4491e00de39Smrg		;;
4501e00de39Smrg	amdahl)
4511e00de39Smrg		basic_machine=580-amdahl
4521e00de39Smrg		os=-sysv
4531e00de39Smrg		;;
4541e00de39Smrg	amiga | amiga-*)
4551e00de39Smrg		basic_machine=m68k-unknown
4561e00de39Smrg		;;
4571e00de39Smrg	amigaos | amigados)
4581e00de39Smrg		basic_machine=m68k-unknown
4591e00de39Smrg		os=-amigaos
4601e00de39Smrg		;;
4611e00de39Smrg	amigaunix | amix)
4621e00de39Smrg		basic_machine=m68k-unknown
4631e00de39Smrg		os=-sysv4
4641e00de39Smrg		;;
4651e00de39Smrg	apollo68)
4661e00de39Smrg		basic_machine=m68k-apollo
4671e00de39Smrg		os=-sysv
4681e00de39Smrg		;;
4691e00de39Smrg	apollo68bsd)
4701e00de39Smrg		basic_machine=m68k-apollo
4711e00de39Smrg		os=-bsd
4721e00de39Smrg		;;
47321ecb1efSmrg	aros)
47421ecb1efSmrg		basic_machine=i386-pc
47521ecb1efSmrg		os=-aros
47621ecb1efSmrg		;;
4771e00de39Smrg	aux)
4781e00de39Smrg		basic_machine=m68k-apple
4791e00de39Smrg		os=-aux
4801e00de39Smrg		;;
4811e00de39Smrg	balance)
4821e00de39Smrg		basic_machine=ns32k-sequent
4831e00de39Smrg		os=-dynix
4841e00de39Smrg		;;
4851e00de39Smrg	blackfin)
4861e00de39Smrg		basic_machine=bfin-unknown
4871e00de39Smrg		os=-linux
4881e00de39Smrg		;;
4891e00de39Smrg	blackfin-*)
4901e00de39Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4911e00de39Smrg		os=-linux
4921e00de39Smrg		;;
493604a4f4cSmrg	bluegene*)
494604a4f4cSmrg		basic_machine=powerpc-ibm
495604a4f4cSmrg		os=-cnk
496604a4f4cSmrg		;;
497604a4f4cSmrg	c54x-*)
498604a4f4cSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499604a4f4cSmrg		;;
500604a4f4cSmrg	c55x-*)
501604a4f4cSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502604a4f4cSmrg		;;
503604a4f4cSmrg	c6x-*)
504604a4f4cSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505604a4f4cSmrg		;;
5061e00de39Smrg	c90)
5071e00de39Smrg		basic_machine=c90-cray
5081e00de39Smrg		os=-unicos
5091e00de39Smrg		;;
51021ecb1efSmrg        cegcc)
51121ecb1efSmrg		basic_machine=arm-unknown
51221ecb1efSmrg		os=-cegcc
51321ecb1efSmrg		;;
5141e00de39Smrg	convex-c1)
5151e00de39Smrg		basic_machine=c1-convex
5161e00de39Smrg		os=-bsd
5171e00de39Smrg		;;
5181e00de39Smrg	convex-c2)
5191e00de39Smrg		basic_machine=c2-convex
5201e00de39Smrg		os=-bsd
5211e00de39Smrg		;;
5221e00de39Smrg	convex-c32)
5231e00de39Smrg		basic_machine=c32-convex
5241e00de39Smrg		os=-bsd
5251e00de39Smrg		;;
5261e00de39Smrg	convex-c34)
5271e00de39Smrg		basic_machine=c34-convex
5281e00de39Smrg		os=-bsd
5291e00de39Smrg		;;
5301e00de39Smrg	convex-c38)
5311e00de39Smrg		basic_machine=c38-convex
5321e00de39Smrg		os=-bsd
5331e00de39Smrg		;;
5341e00de39Smrg	cray | j90)
5351e00de39Smrg		basic_machine=j90-cray
5361e00de39Smrg		os=-unicos
5371e00de39Smrg		;;
5381e00de39Smrg	craynv)
5391e00de39Smrg		basic_machine=craynv-cray
5401e00de39Smrg		os=-unicosmp
5411e00de39Smrg		;;
5421e00de39Smrg	cr16)
5431e00de39Smrg		basic_machine=cr16-unknown
5441e00de39Smrg		os=-elf
5451e00de39Smrg		;;
5461e00de39Smrg	crds | unos)
5471e00de39Smrg		basic_machine=m68k-crds
5481e00de39Smrg		;;
5491e00de39Smrg	crisv32 | crisv32-* | etraxfs*)
5501e00de39Smrg		basic_machine=crisv32-axis
5511e00de39Smrg		;;
5521e00de39Smrg	cris | cris-* | etrax*)
5531e00de39Smrg		basic_machine=cris-axis
5541e00de39Smrg		;;
5551e00de39Smrg	crx)
5561e00de39Smrg		basic_machine=crx-unknown
5571e00de39Smrg		os=-elf
5581e00de39Smrg		;;
5591e00de39Smrg	da30 | da30-*)
5601e00de39Smrg		basic_machine=m68k-da30
5611e00de39Smrg		;;
5621e00de39Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5631e00de39Smrg		basic_machine=mips-dec
5641e00de39Smrg		;;
5651e00de39Smrg	decsystem10* | dec10*)
5661e00de39Smrg		basic_machine=pdp10-dec
5671e00de39Smrg		os=-tops10
5681e00de39Smrg		;;
5691e00de39Smrg	decsystem20* | dec20*)
5701e00de39Smrg		basic_machine=pdp10-dec
5711e00de39Smrg		os=-tops20
5721e00de39Smrg		;;
5731e00de39Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5741e00de39Smrg	      | 3300-motorola | delta-motorola)
5751e00de39Smrg		basic_machine=m68k-motorola
5761e00de39Smrg		;;
5771e00de39Smrg	delta88)
5781e00de39Smrg		basic_machine=m88k-motorola
5791e00de39Smrg		os=-sysv3
5801e00de39Smrg		;;
58121ecb1efSmrg	dicos)
58221ecb1efSmrg		basic_machine=i686-pc
58321ecb1efSmrg		os=-dicos
58421ecb1efSmrg		;;
5851e00de39Smrg	djgpp)
5861e00de39Smrg		basic_machine=i586-pc
5871e00de39Smrg		os=-msdosdjgpp
5881e00de39Smrg		;;
5891e00de39Smrg	dpx20 | dpx20-*)
5901e00de39Smrg		basic_machine=rs6000-bull
5911e00de39Smrg		os=-bosx
5921e00de39Smrg		;;
5931e00de39Smrg	dpx2* | dpx2*-bull)
5941e00de39Smrg		basic_machine=m68k-bull
5951e00de39Smrg		os=-sysv3
5961e00de39Smrg		;;
5971e00de39Smrg	ebmon29k)
5981e00de39Smrg		basic_machine=a29k-amd
5991e00de39Smrg		os=-ebmon
6001e00de39Smrg		;;
6011e00de39Smrg	elxsi)
6021e00de39Smrg		basic_machine=elxsi-elxsi
6031e00de39Smrg		os=-bsd
6041e00de39Smrg		;;
6051e00de39Smrg	encore | umax | mmax)
6061e00de39Smrg		basic_machine=ns32k-encore
6071e00de39Smrg		;;
6081e00de39Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6091e00de39Smrg		basic_machine=m68k-ericsson
6101e00de39Smrg		os=-ose
6111e00de39Smrg		;;
6121e00de39Smrg	fx2800)
6131e00de39Smrg		basic_machine=i860-alliant
6141e00de39Smrg		;;
6151e00de39Smrg	genix)
6161e00de39Smrg		basic_machine=ns32k-ns
6171e00de39Smrg		;;
6181e00de39Smrg	gmicro)
6191e00de39Smrg		basic_machine=tron-gmicro
6201e00de39Smrg		os=-sysv
6211e00de39Smrg		;;
6221e00de39Smrg	go32)
6231e00de39Smrg		basic_machine=i386-pc
6241e00de39Smrg		os=-go32
6251e00de39Smrg		;;
6261e00de39Smrg	h3050r* | hiux*)
6271e00de39Smrg		basic_machine=hppa1.1-hitachi
6281e00de39Smrg		os=-hiuxwe2
6291e00de39Smrg		;;
6301e00de39Smrg	h8300hms)
6311e00de39Smrg		basic_machine=h8300-hitachi
6321e00de39Smrg		os=-hms
6331e00de39Smrg		;;
6341e00de39Smrg	h8300xray)
6351e00de39Smrg		basic_machine=h8300-hitachi
6361e00de39Smrg		os=-xray
6371e00de39Smrg		;;
6381e00de39Smrg	h8500hms)
6391e00de39Smrg		basic_machine=h8500-hitachi
6401e00de39Smrg		os=-hms
6411e00de39Smrg		;;
6421e00de39Smrg	harris)
6431e00de39Smrg		basic_machine=m88k-harris
6441e00de39Smrg		os=-sysv3
6451e00de39Smrg		;;
6461e00de39Smrg	hp300-*)
6471e00de39Smrg		basic_machine=m68k-hp
6481e00de39Smrg		;;
6491e00de39Smrg	hp300bsd)
6501e00de39Smrg		basic_machine=m68k-hp
6511e00de39Smrg		os=-bsd
6521e00de39Smrg		;;
6531e00de39Smrg	hp300hpux)
6541e00de39Smrg		basic_machine=m68k-hp
6551e00de39Smrg		os=-hpux
6561e00de39Smrg		;;
6571e00de39Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6581e00de39Smrg		basic_machine=hppa1.0-hp
6591e00de39Smrg		;;
6601e00de39Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6611e00de39Smrg		basic_machine=m68000-hp
6621e00de39Smrg		;;
6631e00de39Smrg	hp9k3[2-9][0-9])
6641e00de39Smrg		basic_machine=m68k-hp
6651e00de39Smrg		;;
6661e00de39Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6671e00de39Smrg		basic_machine=hppa1.0-hp
6681e00de39Smrg		;;
6691e00de39Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6701e00de39Smrg		basic_machine=hppa1.1-hp
6711e00de39Smrg		;;
6721e00de39Smrg	hp9k78[0-9] | hp78[0-9])
6731e00de39Smrg		# FIXME: really hppa2.0-hp
6741e00de39Smrg		basic_machine=hppa1.1-hp
6751e00de39Smrg		;;
6761e00de39Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6771e00de39Smrg		# FIXME: really hppa2.0-hp
6781e00de39Smrg		basic_machine=hppa1.1-hp
6791e00de39Smrg		;;
6801e00de39Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6811e00de39Smrg		basic_machine=hppa1.1-hp
6821e00de39Smrg		;;
6831e00de39Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6841e00de39Smrg		basic_machine=hppa1.0-hp
6851e00de39Smrg		;;
6861e00de39Smrg	hppa-next)
6871e00de39Smrg		os=-nextstep3
6881e00de39Smrg		;;
6891e00de39Smrg	hppaosf)
6901e00de39Smrg		basic_machine=hppa1.1-hp
6911e00de39Smrg		os=-osf
6921e00de39Smrg		;;
6931e00de39Smrg	hppro)
6941e00de39Smrg		basic_machine=hppa1.1-hp
6951e00de39Smrg		os=-proelf
6961e00de39Smrg		;;
6971e00de39Smrg	i370-ibm* | ibm*)
6981e00de39Smrg		basic_machine=i370-ibm
6991e00de39Smrg		;;
7001e00de39Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7011e00de39Smrg	i*86v32)
7021e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7031e00de39Smrg		os=-sysv32
7041e00de39Smrg		;;
7051e00de39Smrg	i*86v4*)
7061e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7071e00de39Smrg		os=-sysv4
7081e00de39Smrg		;;
7091e00de39Smrg	i*86v)
7101e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7111e00de39Smrg		os=-sysv
7121e00de39Smrg		;;
7131e00de39Smrg	i*86sol2)
7141e00de39Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7151e00de39Smrg		os=-solaris2
7161e00de39Smrg		;;
7171e00de39Smrg	i386mach)
7181e00de39Smrg		basic_machine=i386-mach
7191e00de39Smrg		os=-mach
7201e00de39Smrg		;;
7211e00de39Smrg	i386-vsta | vsta)
7221e00de39Smrg		basic_machine=i386-unknown
7231e00de39Smrg		os=-vsta
7241e00de39Smrg		;;
7251e00de39Smrg	iris | iris4d)
7261e00de39Smrg		basic_machine=mips-sgi
7271e00de39Smrg		case $os in
7281e00de39Smrg		    -irix*)
7291e00de39Smrg			;;
7301e00de39Smrg		    *)
7311e00de39Smrg			os=-irix4
7321e00de39Smrg			;;
7331e00de39Smrg		esac
7341e00de39Smrg		;;
7351e00de39Smrg	isi68 | isi)
7361e00de39Smrg		basic_machine=m68k-isi
7371e00de39Smrg		os=-sysv
7381e00de39Smrg		;;
7391e00de39Smrg	m68knommu)
7401e00de39Smrg		basic_machine=m68k-unknown
7411e00de39Smrg		os=-linux
7421e00de39Smrg		;;
7431e00de39Smrg	m68knommu-*)
7441e00de39Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7451e00de39Smrg		os=-linux
7461e00de39Smrg		;;
7471e00de39Smrg	m88k-omron*)
7481e00de39Smrg		basic_machine=m88k-omron
7491e00de39Smrg		;;
7501e00de39Smrg	magnum | m3230)
7511e00de39Smrg		basic_machine=mips-mips
7521e00de39Smrg		os=-sysv
7531e00de39Smrg		;;
7541e00de39Smrg	merlin)
7551e00de39Smrg		basic_machine=ns32k-utek
7561e00de39Smrg		os=-sysv
7571e00de39Smrg		;;
758604a4f4cSmrg        microblaze)
759604a4f4cSmrg		basic_machine=microblaze-xilinx
760604a4f4cSmrg		;;
7611e00de39Smrg	mingw32)
7621e00de39Smrg		basic_machine=i386-pc
7631e00de39Smrg		os=-mingw32
7641e00de39Smrg		;;
7651e00de39Smrg	mingw32ce)
7661e00de39Smrg		basic_machine=arm-unknown
7671e00de39Smrg		os=-mingw32ce
7681e00de39Smrg		;;
7691e00de39Smrg	miniframe)
7701e00de39Smrg		basic_machine=m68000-convergent
7711e00de39Smrg		;;
7721e00de39Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7731e00de39Smrg		basic_machine=m68k-atari
7741e00de39Smrg		os=-mint
7751e00de39Smrg		;;
7761e00de39Smrg	mips3*-*)
7771e00de39Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7781e00de39Smrg		;;
7791e00de39Smrg	mips3*)
7801e00de39Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7811e00de39Smrg		;;
7821e00de39Smrg	monitor)
7831e00de39Smrg		basic_machine=m68k-rom68k
7841e00de39Smrg		os=-coff
7851e00de39Smrg		;;
7861e00de39Smrg	morphos)
7871e00de39Smrg		basic_machine=powerpc-unknown
7881e00de39Smrg		os=-morphos
7891e00de39Smrg		;;
7901e00de39Smrg	msdos)
7911e00de39Smrg		basic_machine=i386-pc
7921e00de39Smrg		os=-msdos
7931e00de39Smrg		;;
7941e00de39Smrg	ms1-*)
7951e00de39Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7961e00de39Smrg		;;
7971e00de39Smrg	mvs)
7981e00de39Smrg		basic_machine=i370-ibm
7991e00de39Smrg		os=-mvs
8001e00de39Smrg		;;
8011e00de39Smrg	ncr3000)
8021e00de39Smrg		basic_machine=i486-ncr
8031e00de39Smrg		os=-sysv4
8041e00de39Smrg		;;
8051e00de39Smrg	netbsd386)
8061e00de39Smrg		basic_machine=i386-unknown
8071e00de39Smrg		os=-netbsd
8081e00de39Smrg		;;
8091e00de39Smrg	netwinder)
8101e00de39Smrg		basic_machine=armv4l-rebel
8111e00de39Smrg		os=-linux
8121e00de39Smrg		;;
8131e00de39Smrg	news | news700 | news800 | news900)
8141e00de39Smrg		basic_machine=m68k-sony
8151e00de39Smrg		os=-newsos
8161e00de39Smrg		;;
8171e00de39Smrg	news1000)
8181e00de39Smrg		basic_machine=m68030-sony
8191e00de39Smrg		os=-newsos
8201e00de39Smrg		;;
8211e00de39Smrg	news-3600 | risc-news)
8221e00de39Smrg		basic_machine=mips-sony
8231e00de39Smrg		os=-newsos
8241e00de39Smrg		;;
8251e00de39Smrg	necv70)
8261e00de39Smrg		basic_machine=v70-nec
8271e00de39Smrg		os=-sysv
8281e00de39Smrg		;;
8291e00de39Smrg	next | m*-next )
8301e00de39Smrg		basic_machine=m68k-next
8311e00de39Smrg		case $os in
8321e00de39Smrg		    -nextstep* )
8331e00de39Smrg			;;
8341e00de39Smrg		    -ns2*)
8351e00de39Smrg		      os=-nextstep2
8361e00de39Smrg			;;
8371e00de39Smrg		    *)
8381e00de39Smrg		      os=-nextstep3
8391e00de39Smrg			;;
8401e00de39Smrg		esac
8411e00de39Smrg		;;
8421e00de39Smrg	nh3000)
8431e00de39Smrg		basic_machine=m68k-harris
8441e00de39Smrg		os=-cxux
8451e00de39Smrg		;;
8461e00de39Smrg	nh[45]000)
8471e00de39Smrg		basic_machine=m88k-harris
8481e00de39Smrg		os=-cxux
8491e00de39Smrg		;;
8501e00de39Smrg	nindy960)
8511e00de39Smrg		basic_machine=i960-intel
8521e00de39Smrg		os=-nindy
8531e00de39Smrg		;;
8541e00de39Smrg	mon960)
8551e00de39Smrg		basic_machine=i960-intel
8561e00de39Smrg		os=-mon960
8571e00de39Smrg		;;
8581e00de39Smrg	nonstopux)
8591e00de39Smrg		basic_machine=mips-compaq
8601e00de39Smrg		os=-nonstopux
8611e00de39Smrg		;;
8621e00de39Smrg	np1)
8631e00de39Smrg		basic_machine=np1-gould
8641e00de39Smrg		;;
865604a4f4cSmrg        neo-tandem)
866604a4f4cSmrg		basic_machine=neo-tandem
867604a4f4cSmrg		;;
868604a4f4cSmrg        nse-tandem)
869604a4f4cSmrg		basic_machine=nse-tandem
870604a4f4cSmrg		;;
8711e00de39Smrg	nsr-tandem)
8721e00de39Smrg		basic_machine=nsr-tandem
8731e00de39Smrg		;;
8741e00de39Smrg	op50n-* | op60c-*)
8751e00de39Smrg		basic_machine=hppa1.1-oki
8761e00de39Smrg		os=-proelf
8771e00de39Smrg		;;
8781e00de39Smrg	openrisc | openrisc-*)
8791e00de39Smrg		basic_machine=or32-unknown
8801e00de39Smrg		;;
8811e00de39Smrg	os400)
8821e00de39Smrg		basic_machine=powerpc-ibm
8831e00de39Smrg		os=-os400
8841e00de39Smrg		;;
8851e00de39Smrg	OSE68000 | ose68000)
8861e00de39Smrg		basic_machine=m68000-ericsson
8871e00de39Smrg		os=-ose
8881e00de39Smrg		;;
8891e00de39Smrg	os68k)
8901e00de39Smrg		basic_machine=m68k-none
8911e00de39Smrg		os=-os68k
8921e00de39Smrg		;;
8931e00de39Smrg	pa-hitachi)
8941e00de39Smrg		basic_machine=hppa1.1-hitachi
8951e00de39Smrg		os=-hiuxwe2
8961e00de39Smrg		;;
8971e00de39Smrg	paragon)
8981e00de39Smrg		basic_machine=i860-intel
8991e00de39Smrg		os=-osf
9001e00de39Smrg		;;
9011e00de39Smrg	parisc)
9021e00de39Smrg		basic_machine=hppa-unknown
9031e00de39Smrg		os=-linux
9041e00de39Smrg		;;
9051e00de39Smrg	parisc-*)
9061e00de39Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9071e00de39Smrg		os=-linux
9081e00de39Smrg		;;
9091e00de39Smrg	pbd)
9101e00de39Smrg		basic_machine=sparc-tti
9111e00de39Smrg		;;
9121e00de39Smrg	pbb)
9131e00de39Smrg		basic_machine=m68k-tti
9141e00de39Smrg		;;
9151e00de39Smrg	pc532 | pc532-*)
9161e00de39Smrg		basic_machine=ns32k-pc532
9171e00de39Smrg		;;
9181e00de39Smrg	pc98)
9191e00de39Smrg		basic_machine=i386-pc
9201e00de39Smrg		;;
9211e00de39Smrg	pc98-*)
9221e00de39Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9231e00de39Smrg		;;
9241e00de39Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9251e00de39Smrg		basic_machine=i586-pc
9261e00de39Smrg		;;
9271e00de39Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9281e00de39Smrg		basic_machine=i686-pc
9291e00de39Smrg		;;
9301e00de39Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9311e00de39Smrg		basic_machine=i686-pc
9321e00de39Smrg		;;
9331e00de39Smrg	pentium4)
9341e00de39Smrg		basic_machine=i786-pc
9351e00de39Smrg		;;
9361e00de39Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9371e00de39Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9381e00de39Smrg		;;
9391e00de39Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9401e00de39Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9411e00de39Smrg		;;
9421e00de39Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9431e00de39Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9441e00de39Smrg		;;
9451e00de39Smrg	pentium4-*)
9461e00de39Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9471e00de39Smrg		;;
9481e00de39Smrg	pn)
9491e00de39Smrg		basic_machine=pn-gould
9501e00de39Smrg		;;
9511e00de39Smrg	power)	basic_machine=power-ibm
9521e00de39Smrg		;;
9531e00de39Smrg	ppc)	basic_machine=powerpc-unknown
9541e00de39Smrg		;;
9551e00de39Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9561e00de39Smrg		;;
9571e00de39Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9581e00de39Smrg		basic_machine=powerpcle-unknown
9591e00de39Smrg		;;
9601e00de39Smrg	ppcle-* | powerpclittle-*)
9611e00de39Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9621e00de39Smrg		;;
9631e00de39Smrg	ppc64)	basic_machine=powerpc64-unknown
9641e00de39Smrg		;;
9651e00de39Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9661e00de39Smrg		;;
9671e00de39Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9681e00de39Smrg		basic_machine=powerpc64le-unknown
9691e00de39Smrg		;;
9701e00de39Smrg	ppc64le-* | powerpc64little-*)
9711e00de39Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9721e00de39Smrg		;;
9731e00de39Smrg	ps2)
9741e00de39Smrg		basic_machine=i386-ibm
9751e00de39Smrg		;;
9761e00de39Smrg	pw32)
9771e00de39Smrg		basic_machine=i586-unknown
9781e00de39Smrg		os=-pw32
9791e00de39Smrg		;;
9801e00de39Smrg	rdos)
9811e00de39Smrg		basic_machine=i386-pc
9821e00de39Smrg		os=-rdos
9831e00de39Smrg		;;
9841e00de39Smrg	rom68k)
9851e00de39Smrg		basic_machine=m68k-rom68k
9861e00de39Smrg		os=-coff
9871e00de39Smrg		;;
9881e00de39Smrg	rm[46]00)
9891e00de39Smrg		basic_machine=mips-siemens
9901e00de39Smrg		;;
9911e00de39Smrg	rtpc | rtpc-*)
9921e00de39Smrg		basic_machine=romp-ibm
9931e00de39Smrg		;;
9941e00de39Smrg	s390 | s390-*)
9951e00de39Smrg		basic_machine=s390-ibm
9961e00de39Smrg		;;
9971e00de39Smrg	s390x | s390x-*)
9981e00de39Smrg		basic_machine=s390x-ibm
9991e00de39Smrg		;;
10001e00de39Smrg	sa29200)
10011e00de39Smrg		basic_machine=a29k-amd
10021e00de39Smrg		os=-udi
10031e00de39Smrg		;;
10041e00de39Smrg	sb1)
10051e00de39Smrg		basic_machine=mipsisa64sb1-unknown
10061e00de39Smrg		;;
10071e00de39Smrg	sb1el)
10081e00de39Smrg		basic_machine=mipsisa64sb1el-unknown
10091e00de39Smrg		;;
10101e00de39Smrg	sde)
10111e00de39Smrg		basic_machine=mipsisa32-sde
10121e00de39Smrg		os=-elf
10131e00de39Smrg		;;
10141e00de39Smrg	sei)
10151e00de39Smrg		basic_machine=mips-sei
10161e00de39Smrg		os=-seiux
10171e00de39Smrg		;;
10181e00de39Smrg	sequent)
10191e00de39Smrg		basic_machine=i386-sequent
10201e00de39Smrg		;;
10211e00de39Smrg	sh)
10221e00de39Smrg		basic_machine=sh-hitachi
10231e00de39Smrg		os=-hms
10241e00de39Smrg		;;
10251e00de39Smrg	sh5el)
10261e00de39Smrg		basic_machine=sh5le-unknown
10271e00de39Smrg		;;
10281e00de39Smrg	sh64)
10291e00de39Smrg		basic_machine=sh64-unknown
10301e00de39Smrg		;;
10311e00de39Smrg	sparclite-wrs | simso-wrs)
10321e00de39Smrg		basic_machine=sparclite-wrs
10331e00de39Smrg		os=-vxworks
10341e00de39Smrg		;;
10351e00de39Smrg	sps7)
10361e00de39Smrg		basic_machine=m68k-bull
10371e00de39Smrg		os=-sysv2
10381e00de39Smrg		;;
10391e00de39Smrg	spur)
10401e00de39Smrg		basic_machine=spur-unknown
10411e00de39Smrg		;;
10421e00de39Smrg	st2000)
10431e00de39Smrg		basic_machine=m68k-tandem
10441e00de39Smrg		;;
10451e00de39Smrg	stratus)
10461e00de39Smrg		basic_machine=i860-stratus
10471e00de39Smrg		os=-sysv4
10481e00de39Smrg		;;
10491e00de39Smrg	sun2)
10501e00de39Smrg		basic_machine=m68000-sun
10511e00de39Smrg		;;
10521e00de39Smrg	sun2os3)
10531e00de39Smrg		basic_machine=m68000-sun
10541e00de39Smrg		os=-sunos3
10551e00de39Smrg		;;
10561e00de39Smrg	sun2os4)
10571e00de39Smrg		basic_machine=m68000-sun
10581e00de39Smrg		os=-sunos4
10591e00de39Smrg		;;
10601e00de39Smrg	sun3os3)
10611e00de39Smrg		basic_machine=m68k-sun
10621e00de39Smrg		os=-sunos3
10631e00de39Smrg		;;
10641e00de39Smrg	sun3os4)
10651e00de39Smrg		basic_machine=m68k-sun
10661e00de39Smrg		os=-sunos4
10671e00de39Smrg		;;
10681e00de39Smrg	sun4os3)
10691e00de39Smrg		basic_machine=sparc-sun
10701e00de39Smrg		os=-sunos3
10711e00de39Smrg		;;
10721e00de39Smrg	sun4os4)
10731e00de39Smrg		basic_machine=sparc-sun
10741e00de39Smrg		os=-sunos4
10751e00de39Smrg		;;
10761e00de39Smrg	sun4sol2)
10771e00de39Smrg		basic_machine=sparc-sun
10781e00de39Smrg		os=-solaris2
10791e00de39Smrg		;;
10801e00de39Smrg	sun3 | sun3-*)
10811e00de39Smrg		basic_machine=m68k-sun
10821e00de39Smrg		;;
10831e00de39Smrg	sun4)
10841e00de39Smrg		basic_machine=sparc-sun
10851e00de39Smrg		;;
10861e00de39Smrg	sun386 | sun386i | roadrunner)
10871e00de39Smrg		basic_machine=i386-sun
10881e00de39Smrg		;;
10891e00de39Smrg	sv1)
10901e00de39Smrg		basic_machine=sv1-cray
10911e00de39Smrg		os=-unicos
10921e00de39Smrg		;;
10931e00de39Smrg	symmetry)
10941e00de39Smrg		basic_machine=i386-sequent
10951e00de39Smrg		os=-dynix
10961e00de39Smrg		;;
10971e00de39Smrg	t3e)
10981e00de39Smrg		basic_machine=alphaev5-cray
10991e00de39Smrg		os=-unicos
11001e00de39Smrg		;;
11011e00de39Smrg	t90)
11021e00de39Smrg		basic_machine=t90-cray
11031e00de39Smrg		os=-unicos
11041e00de39Smrg		;;
1105604a4f4cSmrg        # This must be matched before tile*.
1106604a4f4cSmrg        tilegx*)
1107604a4f4cSmrg		basic_machine=tilegx-unknown
1108604a4f4cSmrg		os=-linux-gnu
11091e00de39Smrg		;;
11101e00de39Smrg	tile*)
11111e00de39Smrg		basic_machine=tile-unknown
11121e00de39Smrg		os=-linux-gnu
11131e00de39Smrg		;;
11141e00de39Smrg	tx39)
11151e00de39Smrg		basic_machine=mipstx39-unknown
11161e00de39Smrg		;;
11171e00de39Smrg	tx39el)
11181e00de39Smrg		basic_machine=mipstx39el-unknown
11191e00de39Smrg		;;
11201e00de39Smrg	toad1)
11211e00de39Smrg		basic_machine=pdp10-xkl
11221e00de39Smrg		os=-tops20
11231e00de39Smrg		;;
11241e00de39Smrg	tower | tower-32)
11251e00de39Smrg		basic_machine=m68k-ncr
11261e00de39Smrg		;;
11271e00de39Smrg	tpf)
11281e00de39Smrg		basic_machine=s390x-ibm
11291e00de39Smrg		os=-tpf
11301e00de39Smrg		;;
11311e00de39Smrg	udi29k)
11321e00de39Smrg		basic_machine=a29k-amd
11331e00de39Smrg		os=-udi
11341e00de39Smrg		;;
11351e00de39Smrg	ultra3)
11361e00de39Smrg		basic_machine=a29k-nyu
11371e00de39Smrg		os=-sym1
11381e00de39Smrg		;;
11391e00de39Smrg	v810 | necv810)
11401e00de39Smrg		basic_machine=v810-nec
11411e00de39Smrg		os=-none
11421e00de39Smrg		;;
11431e00de39Smrg	vaxv)
11441e00de39Smrg		basic_machine=vax-dec
11451e00de39Smrg		os=-sysv
11461e00de39Smrg		;;
11471e00de39Smrg	vms)
11481e00de39Smrg		basic_machine=vax-dec
11491e00de39Smrg		os=-vms
11501e00de39Smrg		;;
11511e00de39Smrg	vpp*|vx|vx-*)
11521e00de39Smrg		basic_machine=f301-fujitsu
11531e00de39Smrg		;;
11541e00de39Smrg	vxworks960)
11551e00de39Smrg		basic_machine=i960-wrs
11561e00de39Smrg		os=-vxworks
11571e00de39Smrg		;;
11581e00de39Smrg	vxworks68)
11591e00de39Smrg		basic_machine=m68k-wrs
11601e00de39Smrg		os=-vxworks
11611e00de39Smrg		;;
11621e00de39Smrg	vxworks29k)
11631e00de39Smrg		basic_machine=a29k-wrs
11641e00de39Smrg		os=-vxworks
11651e00de39Smrg		;;
11661e00de39Smrg	w65*)
11671e00de39Smrg		basic_machine=w65-wdc
11681e00de39Smrg		os=-none
11691e00de39Smrg		;;
11701e00de39Smrg	w89k-*)
11711e00de39Smrg		basic_machine=hppa1.1-winbond
11721e00de39Smrg		os=-proelf
11731e00de39Smrg		;;
11741e00de39Smrg	xbox)
11751e00de39Smrg		basic_machine=i686-pc
11761e00de39Smrg		os=-mingw32
11771e00de39Smrg		;;
11781e00de39Smrg	xps | xps100)
11791e00de39Smrg		basic_machine=xps100-honeywell
11801e00de39Smrg		;;
11811e00de39Smrg	ymp)
11821e00de39Smrg		basic_machine=ymp-cray
11831e00de39Smrg		os=-unicos
11841e00de39Smrg		;;
11851e00de39Smrg	z8k-*-coff)
11861e00de39Smrg		basic_machine=z8k-unknown
11871e00de39Smrg		os=-sim
11881e00de39Smrg		;;
118921ecb1efSmrg	z80-*-coff)
119021ecb1efSmrg		basic_machine=z80-unknown
119121ecb1efSmrg		os=-sim
119221ecb1efSmrg		;;
11931e00de39Smrg	none)
11941e00de39Smrg		basic_machine=none-none
11951e00de39Smrg		os=-none
11961e00de39Smrg		;;
11971e00de39Smrg
11981e00de39Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11991e00de39Smrg# some cases the only manufacturer, in others, it is the most popular.
12001e00de39Smrg	w89k)
12011e00de39Smrg		basic_machine=hppa1.1-winbond
12021e00de39Smrg		;;
12031e00de39Smrg	op50n)
12041e00de39Smrg		basic_machine=hppa1.1-oki
12051e00de39Smrg		;;
12061e00de39Smrg	op60c)
12071e00de39Smrg		basic_machine=hppa1.1-oki
12081e00de39Smrg		;;
12091e00de39Smrg	romp)
12101e00de39Smrg		basic_machine=romp-ibm
12111e00de39Smrg		;;
12121e00de39Smrg	mmix)
12131e00de39Smrg		basic_machine=mmix-knuth
12141e00de39Smrg		;;
12151e00de39Smrg	rs6000)
12161e00de39Smrg		basic_machine=rs6000-ibm
12171e00de39Smrg		;;
12181e00de39Smrg	vax)
12191e00de39Smrg		basic_machine=vax-dec
12201e00de39Smrg		;;
12211e00de39Smrg	pdp10)
12221e00de39Smrg		# there are many clones, so DEC is not a safe bet
12231e00de39Smrg		basic_machine=pdp10-unknown
12241e00de39Smrg		;;
12251e00de39Smrg	pdp11)
12261e00de39Smrg		basic_machine=pdp11-dec
12271e00de39Smrg		;;
12281e00de39Smrg	we32k)
12291e00de39Smrg		basic_machine=we32k-att
12301e00de39Smrg		;;
123121ecb1efSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12321e00de39Smrg		basic_machine=sh-unknown
12331e00de39Smrg		;;
12341e00de39Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12351e00de39Smrg		basic_machine=sparc-sun
12361e00de39Smrg		;;
12371e00de39Smrg	cydra)
12381e00de39Smrg		basic_machine=cydra-cydrome
12391e00de39Smrg		;;
12401e00de39Smrg	orion)
12411e00de39Smrg		basic_machine=orion-highlevel
12421e00de39Smrg		;;
12431e00de39Smrg	orion105)
12441e00de39Smrg		basic_machine=clipper-highlevel
12451e00de39Smrg		;;
12461e00de39Smrg	mac | mpw | mac-mpw)
12471e00de39Smrg		basic_machine=m68k-apple
12481e00de39Smrg		;;
12491e00de39Smrg	pmac | pmac-mpw)
12501e00de39Smrg		basic_machine=powerpc-apple
12511e00de39Smrg		;;
12521e00de39Smrg	*-unknown)
12531e00de39Smrg		# Make sure to match an already-canonicalized machine name.
12541e00de39Smrg		;;
12551e00de39Smrg	*)
12561e00de39Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12571e00de39Smrg		exit 1
12581e00de39Smrg		;;
12591e00de39Smrgesac
12601e00de39Smrg
12611e00de39Smrg# Here we canonicalize certain aliases for manufacturers.
12621e00de39Smrgcase $basic_machine in
12631e00de39Smrg	*-digital*)
12641e00de39Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12651e00de39Smrg		;;
12661e00de39Smrg	*-commodore*)
12671e00de39Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12681e00de39Smrg		;;
12691e00de39Smrg	*)
12701e00de39Smrg		;;
12711e00de39Smrgesac
12721e00de39Smrg
12731e00de39Smrg# Decode manufacturer-specific aliases for certain operating systems.
12741e00de39Smrg
12751e00de39Smrgif [ x"$os" != x"" ]
12761e00de39Smrgthen
12771e00de39Smrgcase $os in
12781e00de39Smrg        # First match some system type aliases
12791e00de39Smrg        # that might get confused with valid system types.
12801e00de39Smrg	# -solaris* is a basic system type, with this one exception.
1281604a4f4cSmrg        -auroraux)
1282604a4f4cSmrg	        os=-auroraux
1283604a4f4cSmrg		;;
12841e00de39Smrg	-solaris1 | -solaris1.*)
12851e00de39Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12861e00de39Smrg		;;
12871e00de39Smrg	-solaris)
12881e00de39Smrg		os=-solaris2
12891e00de39Smrg		;;
12901e00de39Smrg	-svr4*)
12911e00de39Smrg		os=-sysv4
12921e00de39Smrg		;;
12931e00de39Smrg	-unixware*)
12941e00de39Smrg		os=-sysv4.2uw
12951e00de39Smrg		;;
12961e00de39Smrg	-gnu/linux*)
12971e00de39Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12981e00de39Smrg		;;
12991e00de39Smrg	# First accept the basic system types.
13001e00de39Smrg	# The portable systems comes first.
13011e00de39Smrg	# Each alternative MUST END IN A *, to match a version number.
13021e00de39Smrg	# -sysv* is not here because it comes later, after sysvr4.
13031e00de39Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304604a4f4cSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305604a4f4cSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306604a4f4cSmrg	      | -sym* | -kopensolaris* \
13071e00de39Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
130821ecb1efSmrg	      | -aos* | -aros* \
13091e00de39Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13101e00de39Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13111e00de39Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13121e00de39Smrg	      | -openbsd* | -solidbsd* \
13131e00de39Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13141e00de39Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13151e00de39Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13161e00de39Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
131721ecb1efSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13181e00de39Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319604a4f4cSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320604a4f4cSmrg	      | -linux-newlib* | -linux-uclibc* \
13211e00de39Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13221e00de39Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13231e00de39Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13241e00de39Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13251e00de39Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13261e00de39Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13271e00de39Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328604a4f4cSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13291e00de39Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13301e00de39Smrg		;;
13311e00de39Smrg	-qnx*)
13321e00de39Smrg		case $basic_machine in
13331e00de39Smrg		    x86-* | i*86-*)
13341e00de39Smrg			;;
13351e00de39Smrg		    *)
13361e00de39Smrg			os=-nto$os
13371e00de39Smrg			;;
13381e00de39Smrg		esac
13391e00de39Smrg		;;
13401e00de39Smrg	-nto-qnx*)
13411e00de39Smrg		;;
13421e00de39Smrg	-nto*)
13431e00de39Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13441e00de39Smrg		;;
13451e00de39Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13461e00de39Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13471e00de39Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13481e00de39Smrg		;;
13491e00de39Smrg	-mac*)
13501e00de39Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13511e00de39Smrg		;;
13521e00de39Smrg	-linux-dietlibc)
13531e00de39Smrg		os=-linux-dietlibc
13541e00de39Smrg		;;
13551e00de39Smrg	-linux*)
13561e00de39Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13571e00de39Smrg		;;
13581e00de39Smrg	-sunos5*)
13591e00de39Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13601e00de39Smrg		;;
13611e00de39Smrg	-sunos6*)
13621e00de39Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13631e00de39Smrg		;;
13641e00de39Smrg	-opened*)
13651e00de39Smrg		os=-openedition
13661e00de39Smrg		;;
13671e00de39Smrg        -os400*)
13681e00de39Smrg		os=-os400
13691e00de39Smrg		;;
13701e00de39Smrg	-wince*)
13711e00de39Smrg		os=-wince
13721e00de39Smrg		;;
13731e00de39Smrg	-osfrose*)
13741e00de39Smrg		os=-osfrose
13751e00de39Smrg		;;
13761e00de39Smrg	-osf*)
13771e00de39Smrg		os=-osf
13781e00de39Smrg		;;
13791e00de39Smrg	-utek*)
13801e00de39Smrg		os=-bsd
13811e00de39Smrg		;;
13821e00de39Smrg	-dynix*)
13831e00de39Smrg		os=-bsd
13841e00de39Smrg		;;
13851e00de39Smrg	-acis*)
13861e00de39Smrg		os=-aos
13871e00de39Smrg		;;
13881e00de39Smrg	-atheos*)
13891e00de39Smrg		os=-atheos
13901e00de39Smrg		;;
13911e00de39Smrg	-syllable*)
13921e00de39Smrg		os=-syllable
13931e00de39Smrg		;;
13941e00de39Smrg	-386bsd)
13951e00de39Smrg		os=-bsd
13961e00de39Smrg		;;
13971e00de39Smrg	-ctix* | -uts*)
13981e00de39Smrg		os=-sysv
13991e00de39Smrg		;;
14001e00de39Smrg	-nova*)
14011e00de39Smrg		os=-rtmk-nova
14021e00de39Smrg		;;
14031e00de39Smrg	-ns2 )
14041e00de39Smrg		os=-nextstep2
14051e00de39Smrg		;;
14061e00de39Smrg	-nsk*)
14071e00de39Smrg		os=-nsk
14081e00de39Smrg		;;
14091e00de39Smrg	# Preserve the version number of sinix5.
14101e00de39Smrg	-sinix5.*)
14111e00de39Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14121e00de39Smrg		;;
14131e00de39Smrg	-sinix*)
14141e00de39Smrg		os=-sysv4
14151e00de39Smrg		;;
14161e00de39Smrg        -tpf*)
14171e00de39Smrg		os=-tpf
14181e00de39Smrg		;;
14191e00de39Smrg	-triton*)
14201e00de39Smrg		os=-sysv3
14211e00de39Smrg		;;
14221e00de39Smrg	-oss*)
14231e00de39Smrg		os=-sysv3
14241e00de39Smrg		;;
14251e00de39Smrg	-svr4)
14261e00de39Smrg		os=-sysv4
14271e00de39Smrg		;;
14281e00de39Smrg	-svr3)
14291e00de39Smrg		os=-sysv3
14301e00de39Smrg		;;
14311e00de39Smrg	-sysvr4)
14321e00de39Smrg		os=-sysv4
14331e00de39Smrg		;;
14341e00de39Smrg	# This must come after -sysvr4.
14351e00de39Smrg	-sysv*)
14361e00de39Smrg		;;
14371e00de39Smrg	-ose*)
14381e00de39Smrg		os=-ose
14391e00de39Smrg		;;
14401e00de39Smrg	-es1800*)
14411e00de39Smrg		os=-ose
14421e00de39Smrg		;;
14431e00de39Smrg	-xenix)
14441e00de39Smrg		os=-xenix
14451e00de39Smrg		;;
14461e00de39Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14471e00de39Smrg		os=-mint
14481e00de39Smrg		;;
14491e00de39Smrg	-aros*)
14501e00de39Smrg		os=-aros
14511e00de39Smrg		;;
14521e00de39Smrg	-kaos*)
14531e00de39Smrg		os=-kaos
14541e00de39Smrg		;;
14551e00de39Smrg	-zvmoe)
14561e00de39Smrg		os=-zvmoe
14571e00de39Smrg		;;
145821ecb1efSmrg	-dicos*)
145921ecb1efSmrg		os=-dicos
146021ecb1efSmrg		;;
1461604a4f4cSmrg        -nacl*)
1462604a4f4cSmrg	        ;;
14631e00de39Smrg	-none)
14641e00de39Smrg		;;
14651e00de39Smrg	*)
14661e00de39Smrg		# Get rid of the `-' at the beginning of $os.
14671e00de39Smrg		os=`echo $os | sed 's/[^-]*-//'`
14681e00de39Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14691e00de39Smrg		exit 1
14701e00de39Smrg		;;
14711e00de39Smrgesac
14721e00de39Smrgelse
14731e00de39Smrg
14741e00de39Smrg# Here we handle the default operating systems that come with various machines.
14751e00de39Smrg# The value should be what the vendor currently ships out the door with their
14761e00de39Smrg# machine or put another way, the most popular os provided with the machine.
14771e00de39Smrg
14781e00de39Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14791e00de39Smrg# "-sun"), then you have to tell the case statement up towards the top
14801e00de39Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14811e00de39Smrg# will signal an error saying that MANUFACTURER isn't an operating
14821e00de39Smrg# system, and we'll never get to this point.
14831e00de39Smrg
14841e00de39Smrgcase $basic_machine in
14851e00de39Smrg        score-*)
14861e00de39Smrg		os=-elf
14871e00de39Smrg		;;
14881e00de39Smrg        spu-*)
14891e00de39Smrg		os=-elf
14901e00de39Smrg		;;
14911e00de39Smrg	*-acorn)
14921e00de39Smrg		os=-riscix1.2
14931e00de39Smrg		;;
14941e00de39Smrg	arm*-rebel)
14951e00de39Smrg		os=-linux
14961e00de39Smrg		;;
14971e00de39Smrg	arm*-semi)
14981e00de39Smrg		os=-aout
14991e00de39Smrg		;;
15001e00de39Smrg        c4x-* | tic4x-*)
15011e00de39Smrg        	os=-coff
15021e00de39Smrg		;;
1503604a4f4cSmrg	tic54x-*)
1504604a4f4cSmrg		os=-coff
1505604a4f4cSmrg		;;
1506604a4f4cSmrg	tic55x-*)
1507604a4f4cSmrg		os=-coff
1508604a4f4cSmrg		;;
1509604a4f4cSmrg	tic6x-*)
1510604a4f4cSmrg		os=-coff
1511604a4f4cSmrg		;;
15121e00de39Smrg	# This must come before the *-dec entry.
15131e00de39Smrg	pdp10-*)
15141e00de39Smrg		os=-tops20
15151e00de39Smrg		;;
15161e00de39Smrg	pdp11-*)
15171e00de39Smrg		os=-none
15181e00de39Smrg		;;
15191e00de39Smrg	*-dec | vax-*)
15201e00de39Smrg		os=-ultrix4.2
15211e00de39Smrg		;;
15221e00de39Smrg	m68*-apollo)
15231e00de39Smrg		os=-domain
15241e00de39Smrg		;;
15251e00de39Smrg	i386-sun)
15261e00de39Smrg		os=-sunos4.0.2
15271e00de39Smrg		;;
15281e00de39Smrg	m68000-sun)
15291e00de39Smrg		os=-sunos3
15301e00de39Smrg		# This also exists in the configure program, but was not the
15311e00de39Smrg		# default.
15321e00de39Smrg		# os=-sunos4
15331e00de39Smrg		;;
15341e00de39Smrg	m68*-cisco)
15351e00de39Smrg		os=-aout
15361e00de39Smrg		;;
15371e00de39Smrg        mep-*)
15381e00de39Smrg		os=-elf
15391e00de39Smrg		;;
15401e00de39Smrg	mips*-cisco)
15411e00de39Smrg		os=-elf
15421e00de39Smrg		;;
15431e00de39Smrg	mips*-*)
15441e00de39Smrg		os=-elf
15451e00de39Smrg		;;
15461e00de39Smrg	or32-*)
15471e00de39Smrg		os=-coff
15481e00de39Smrg		;;
15491e00de39Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15501e00de39Smrg		os=-sysv3
15511e00de39Smrg		;;
15521e00de39Smrg	sparc-* | *-sun)
15531e00de39Smrg		os=-sunos4.1.1
15541e00de39Smrg		;;
15551e00de39Smrg	*-be)
15561e00de39Smrg		os=-beos
15571e00de39Smrg		;;
15581e00de39Smrg	*-haiku)
15591e00de39Smrg		os=-haiku
15601e00de39Smrg		;;
15611e00de39Smrg	*-ibm)
15621e00de39Smrg		os=-aix
15631e00de39Smrg		;;
15641e00de39Smrg    	*-knuth)
15651e00de39Smrg		os=-mmixware
15661e00de39Smrg		;;
15671e00de39Smrg	*-wec)
15681e00de39Smrg		os=-proelf
15691e00de39Smrg		;;
15701e00de39Smrg	*-winbond)
15711e00de39Smrg		os=-proelf
15721e00de39Smrg		;;
15731e00de39Smrg	*-oki)
15741e00de39Smrg		os=-proelf
15751e00de39Smrg		;;
15761e00de39Smrg	*-hp)
15771e00de39Smrg		os=-hpux
15781e00de39Smrg		;;
15791e00de39Smrg	*-hitachi)
15801e00de39Smrg		os=-hiux
15811e00de39Smrg		;;
15821e00de39Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15831e00de39Smrg		os=-sysv
15841e00de39Smrg		;;
15851e00de39Smrg	*-cbm)
15861e00de39Smrg		os=-amigaos
15871e00de39Smrg		;;
15881e00de39Smrg	*-dg)
15891e00de39Smrg		os=-dgux
15901e00de39Smrg		;;
15911e00de39Smrg	*-dolphin)
15921e00de39Smrg		os=-sysv3
15931e00de39Smrg		;;
15941e00de39Smrg	m68k-ccur)
15951e00de39Smrg		os=-rtu
15961e00de39Smrg		;;
15971e00de39Smrg	m88k-omron*)
15981e00de39Smrg		os=-luna
15991e00de39Smrg		;;
16001e00de39Smrg	*-next )
16011e00de39Smrg		os=-nextstep
16021e00de39Smrg		;;
16031e00de39Smrg	*-sequent)
16041e00de39Smrg		os=-ptx
16051e00de39Smrg		;;
16061e00de39Smrg	*-crds)
16071e00de39Smrg		os=-unos
16081e00de39Smrg		;;
16091e00de39Smrg	*-ns)
16101e00de39Smrg		os=-genix
16111e00de39Smrg		;;
16121e00de39Smrg	i370-*)
16131e00de39Smrg		os=-mvs
16141e00de39Smrg		;;
16151e00de39Smrg	*-next)
16161e00de39Smrg		os=-nextstep3
16171e00de39Smrg		;;
16181e00de39Smrg	*-gould)
16191e00de39Smrg		os=-sysv
16201e00de39Smrg		;;
16211e00de39Smrg	*-highlevel)
16221e00de39Smrg		os=-bsd
16231e00de39Smrg		;;
16241e00de39Smrg	*-encore)
16251e00de39Smrg		os=-bsd
16261e00de39Smrg		;;
16271e00de39Smrg	*-sgi)
16281e00de39Smrg		os=-irix
16291e00de39Smrg		;;
16301e00de39Smrg	*-siemens)
16311e00de39Smrg		os=-sysv4
16321e00de39Smrg		;;
16331e00de39Smrg	*-masscomp)
16341e00de39Smrg		os=-rtu
16351e00de39Smrg		;;
16361e00de39Smrg	f30[01]-fujitsu | f700-fujitsu)
16371e00de39Smrg		os=-uxpv
16381e00de39Smrg		;;
16391e00de39Smrg	*-rom68k)
16401e00de39Smrg		os=-coff
16411e00de39Smrg		;;
16421e00de39Smrg	*-*bug)
16431e00de39Smrg		os=-coff
16441e00de39Smrg		;;
16451e00de39Smrg	*-apple)
16461e00de39Smrg		os=-macos
16471e00de39Smrg		;;
16481e00de39Smrg	*-atari*)
16491e00de39Smrg		os=-mint
16501e00de39Smrg		;;
16511e00de39Smrg	*)
16521e00de39Smrg		os=-none
16531e00de39Smrg		;;
16541e00de39Smrgesac
16551e00de39Smrgfi
16561e00de39Smrg
16571e00de39Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16581e00de39Smrg# manufacturer.  We pick the logical manufacturer.
16591e00de39Smrgvendor=unknown
16601e00de39Smrgcase $basic_machine in
16611e00de39Smrg	*-unknown)
16621e00de39Smrg		case $os in
16631e00de39Smrg			-riscix*)
16641e00de39Smrg				vendor=acorn
16651e00de39Smrg				;;
16661e00de39Smrg			-sunos*)
16671e00de39Smrg				vendor=sun
16681e00de39Smrg				;;
1669604a4f4cSmrg			-cnk*|-aix*)
16701e00de39Smrg				vendor=ibm
16711e00de39Smrg				;;
16721e00de39Smrg			-beos*)
16731e00de39Smrg				vendor=be
16741e00de39Smrg				;;
16751e00de39Smrg			-hpux*)
16761e00de39Smrg				vendor=hp
16771e00de39Smrg				;;
16781e00de39Smrg			-mpeix*)
16791e00de39Smrg				vendor=hp
16801e00de39Smrg				;;
16811e00de39Smrg			-hiux*)
16821e00de39Smrg				vendor=hitachi
16831e00de39Smrg				;;
16841e00de39Smrg			-unos*)
16851e00de39Smrg				vendor=crds
16861e00de39Smrg				;;
16871e00de39Smrg			-dgux*)
16881e00de39Smrg				vendor=dg
16891e00de39Smrg				;;
16901e00de39Smrg			-luna*)
16911e00de39Smrg				vendor=omron
16921e00de39Smrg				;;
16931e00de39Smrg			-genix*)
16941e00de39Smrg				vendor=ns
16951e00de39Smrg				;;
16961e00de39Smrg			-mvs* | -opened*)
16971e00de39Smrg				vendor=ibm
16981e00de39Smrg				;;
16991e00de39Smrg			-os400*)
17001e00de39Smrg				vendor=ibm
17011e00de39Smrg				;;
17021e00de39Smrg			-ptx*)
17031e00de39Smrg				vendor=sequent
17041e00de39Smrg				;;
17051e00de39Smrg			-tpf*)
17061e00de39Smrg				vendor=ibm
17071e00de39Smrg				;;
17081e00de39Smrg			-vxsim* | -vxworks* | -windiss*)
17091e00de39Smrg				vendor=wrs
17101e00de39Smrg				;;
17111e00de39Smrg			-aux*)
17121e00de39Smrg				vendor=apple
17131e00de39Smrg				;;
17141e00de39Smrg			-hms*)
17151e00de39Smrg				vendor=hitachi
17161e00de39Smrg				;;
17171e00de39Smrg			-mpw* | -macos*)
17181e00de39Smrg				vendor=apple
17191e00de39Smrg				;;
17201e00de39Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17211e00de39Smrg				vendor=atari
17221e00de39Smrg				;;
17231e00de39Smrg			-vos*)
17241e00de39Smrg				vendor=stratus
17251e00de39Smrg				;;
17261e00de39Smrg		esac
17271e00de39Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17281e00de39Smrg		;;
17291e00de39Smrgesac
17301e00de39Smrg
17311e00de39Smrgecho $basic_machine$os
17321e00de39Smrgexit
17331e00de39Smrg
17341e00de39Smrg# Local variables:
17351e00de39Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17361e00de39Smrg# time-stamp-start: "timestamp='"
17371e00de39Smrg# time-stamp-format: "%:y-%02m-%02d"
17381e00de39Smrg# time-stamp-end: "'"
17391e00de39Smrg# End:
1740