config.sub revision 42941e3b
16f03b1f6Smrg#! /bin/sh
26f03b1f6Smrg# Configuration validation subroutine script.
36f03b1f6Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
442941e3bSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
598af18c5Smrg#   Free Software Foundation, Inc.
66f03b1f6Smrg
742941e3bSmrgtimestamp='2010-09-11'
86f03b1f6Smrg
96f03b1f6Smrg# This file is (in principle) common to ALL GNU software.
106f03b1f6Smrg# The presence of a machine in this file suggests that SOME GNU software
116f03b1f6Smrg# can handle that machine.  It does not imply ALL GNU software can.
126f03b1f6Smrg#
136f03b1f6Smrg# This file is free software; you can redistribute it and/or modify
146f03b1f6Smrg# it under the terms of the GNU General Public License as published by
156f03b1f6Smrg# the Free Software Foundation; either version 2 of the License, or
166f03b1f6Smrg# (at your option) any later version.
176f03b1f6Smrg#
186f03b1f6Smrg# This program is distributed in the hope that it will be useful,
196f03b1f6Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
206f03b1f6Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
216f03b1f6Smrg# GNU General Public License for more details.
226f03b1f6Smrg#
236f03b1f6Smrg# You should have received a copy of the GNU General Public License
246f03b1f6Smrg# along with this program; if not, write to the Free Software
256f03b1f6Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
266f03b1f6Smrg# 02110-1301, USA.
276f03b1f6Smrg#
286f03b1f6Smrg# As a special exception to the GNU General Public License, if you
296f03b1f6Smrg# distribute this file as part of a program that contains a
306f03b1f6Smrg# configuration script generated by Autoconf, you may include it under
316f03b1f6Smrg# the same distribution terms that you use for the rest of that program.
326f03b1f6Smrg
336f03b1f6Smrg
346f03b1f6Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35356f6debSmrg# diff and a properly formatted GNU ChangeLog entry.
366f03b1f6Smrg#
376f03b1f6Smrg# Configuration subroutine to validate and canonicalize a configuration type.
386f03b1f6Smrg# Supply the specified configuration type as an argument.
396f03b1f6Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
406f03b1f6Smrg# Otherwise, we print the canonical config type on stdout and succeed.
416f03b1f6Smrg
42356f6debSmrg# You can get the latest version of this script from:
43356f6debSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44356f6debSmrg
456f03b1f6Smrg# This file is supposed to be the same for all GNU packages
466f03b1f6Smrg# and recognize all the CPU types, system types and aliases
476f03b1f6Smrg# that are meaningful with *any* GNU software.
486f03b1f6Smrg# Each package is responsible for reporting which valid configurations
496f03b1f6Smrg# it does not support.  The user should be able to distinguish
506f03b1f6Smrg# a failure to support a valid configuration from a meaningless
516f03b1f6Smrg# configuration.
526f03b1f6Smrg
536f03b1f6Smrg# The goal of this file is to map all the various variations of a given
546f03b1f6Smrg# machine specification into a single specification in the form:
556f03b1f6Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
566f03b1f6Smrg# or in some cases, the newer four-part form:
576f03b1f6Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
586f03b1f6Smrg# It is wrong to echo any other type of specification.
596f03b1f6Smrg
606f03b1f6Smrgme=`echo "$0" | sed -e 's,.*/,,'`
616f03b1f6Smrg
626f03b1f6Smrgusage="\
636f03b1f6SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
646f03b1f6Smrg       $0 [OPTION] ALIAS
656f03b1f6Smrg
666f03b1f6SmrgCanonicalize a configuration name.
676f03b1f6Smrg
686f03b1f6SmrgOperation modes:
696f03b1f6Smrg  -h, --help         print this help, then exit
706f03b1f6Smrg  -t, --time-stamp   print date of last modification, then exit
716f03b1f6Smrg  -v, --version      print version number, then exit
726f03b1f6Smrg
736f03b1f6SmrgReport bugs and patches to <config-patches@gnu.org>."
746f03b1f6Smrg
756f03b1f6Smrgversion="\
766f03b1f6SmrgGNU config.sub ($timestamp)
776f03b1f6Smrg
7842941e3bSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
7942941e3bSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
8042941e3bSmrgSoftware Foundation, Inc.
816f03b1f6Smrg
826f03b1f6SmrgThis is free software; see the source for copying conditions.  There is NO
836f03b1f6Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
846f03b1f6Smrg
856f03b1f6Smrghelp="
866f03b1f6SmrgTry \`$me --help' for more information."
876f03b1f6Smrg
886f03b1f6Smrg# Parse command line
896f03b1f6Smrgwhile test $# -gt 0 ; do
906f03b1f6Smrg  case $1 in
916f03b1f6Smrg    --time-stamp | --time* | -t )
926f03b1f6Smrg       echo "$timestamp" ; exit ;;
936f03b1f6Smrg    --version | -v )
946f03b1f6Smrg       echo "$version" ; exit ;;
956f03b1f6Smrg    --help | --h* | -h )
966f03b1f6Smrg       echo "$usage"; exit ;;
976f03b1f6Smrg    -- )     # Stop option processing
986f03b1f6Smrg       shift; break ;;
996f03b1f6Smrg    - )	# Use stdin as input.
1006f03b1f6Smrg       break ;;
1016f03b1f6Smrg    -* )
1026f03b1f6Smrg       echo "$me: invalid option $1$help"
1036f03b1f6Smrg       exit 1 ;;
1046f03b1f6Smrg
1056f03b1f6Smrg    *local*)
1066f03b1f6Smrg       # First pass through any local machine types.
1076f03b1f6Smrg       echo $1
1086f03b1f6Smrg       exit ;;
1096f03b1f6Smrg
1106f03b1f6Smrg    * )
1116f03b1f6Smrg       break ;;
1126f03b1f6Smrg  esac
1136f03b1f6Smrgdone
1146f03b1f6Smrg
1156f03b1f6Smrgcase $# in
1166f03b1f6Smrg 0) echo "$me: missing argument$help" >&2
1176f03b1f6Smrg    exit 1;;
1186f03b1f6Smrg 1) ;;
1196f03b1f6Smrg *) echo "$me: too many arguments$help" >&2
1206f03b1f6Smrg    exit 1;;
1216f03b1f6Smrgesac
1226f03b1f6Smrg
1236f03b1f6Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1246f03b1f6Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1256f03b1f6Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1266f03b1f6Smrgcase $maybe_os in
12742941e3bSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
12842941e3bSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12942941e3bSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130356f6debSmrg  kopensolaris*-gnu* | \
1316f03b1f6Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1326f03b1f6Smrg    os=-$maybe_os
1336f03b1f6Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1346f03b1f6Smrg    ;;
1356f03b1f6Smrg  *)
1366f03b1f6Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1376f03b1f6Smrg    if [ $basic_machine != $1 ]
1386f03b1f6Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1396f03b1f6Smrg    else os=; fi
1406f03b1f6Smrg    ;;
1416f03b1f6Smrgesac
1426f03b1f6Smrg
1436f03b1f6Smrg### Let's recognize common machines as not being operating systems so
1446f03b1f6Smrg### that things like config.sub decstation-3100 work.  We also
1456f03b1f6Smrg### recognize some manufacturers as not being operating systems, so we
1466f03b1f6Smrg### can provide default operating systems below.
1476f03b1f6Smrgcase $os in
1486f03b1f6Smrg	-sun*os*)
1496f03b1f6Smrg		# Prevent following clause from handling this invalid input.
1506f03b1f6Smrg		;;
1516f03b1f6Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1526f03b1f6Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1536f03b1f6Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1546f03b1f6Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1556f03b1f6Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1566f03b1f6Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157356f6debSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1586f03b1f6Smrg		os=
1596f03b1f6Smrg		basic_machine=$1
1606f03b1f6Smrg		;;
161356f6debSmrg        -bluegene*)
162356f6debSmrg	        os=-cnk
163356f6debSmrg		;;
1646f03b1f6Smrg	-sim | -cisco | -oki | -wec | -winbond)
1656f03b1f6Smrg		os=
1666f03b1f6Smrg		basic_machine=$1
1676f03b1f6Smrg		;;
1686f03b1f6Smrg	-scout)
1696f03b1f6Smrg		;;
1706f03b1f6Smrg	-wrs)
1716f03b1f6Smrg		os=-vxworks
1726f03b1f6Smrg		basic_machine=$1
1736f03b1f6Smrg		;;
1746f03b1f6Smrg	-chorusos*)
1756f03b1f6Smrg		os=-chorusos
1766f03b1f6Smrg		basic_machine=$1
1776f03b1f6Smrg		;;
1786f03b1f6Smrg 	-chorusrdb)
1796f03b1f6Smrg 		os=-chorusrdb
1806f03b1f6Smrg		basic_machine=$1
1816f03b1f6Smrg 		;;
1826f03b1f6Smrg	-hiux*)
1836f03b1f6Smrg		os=-hiuxwe2
1846f03b1f6Smrg		;;
1856f03b1f6Smrg	-sco6)
1866f03b1f6Smrg		os=-sco5v6
1876f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1886f03b1f6Smrg		;;
1896f03b1f6Smrg	-sco5)
1906f03b1f6Smrg		os=-sco3.2v5
1916f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1926f03b1f6Smrg		;;
1936f03b1f6Smrg	-sco4)
1946f03b1f6Smrg		os=-sco3.2v4
1956f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1966f03b1f6Smrg		;;
1976f03b1f6Smrg	-sco3.2.[4-9]*)
1986f03b1f6Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1996f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2006f03b1f6Smrg		;;
2016f03b1f6Smrg	-sco3.2v[4-9]*)
2026f03b1f6Smrg		# Don't forget version if it is 3.2v4 or newer.
2036f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2046f03b1f6Smrg		;;
2056f03b1f6Smrg	-sco5v6*)
2066f03b1f6Smrg		# Don't forget version if it is 3.2v4 or newer.
2076f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2086f03b1f6Smrg		;;
2096f03b1f6Smrg	-sco*)
2106f03b1f6Smrg		os=-sco3.2v2
2116f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2126f03b1f6Smrg		;;
2136f03b1f6Smrg	-udk*)
2146f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2156f03b1f6Smrg		;;
2166f03b1f6Smrg	-isc)
2176f03b1f6Smrg		os=-isc2.2
2186f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2196f03b1f6Smrg		;;
2206f03b1f6Smrg	-clix*)
2216f03b1f6Smrg		basic_machine=clipper-intergraph
2226f03b1f6Smrg		;;
2236f03b1f6Smrg	-isc*)
2246f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2256f03b1f6Smrg		;;
2266f03b1f6Smrg	-lynx*)
2276f03b1f6Smrg		os=-lynxos
2286f03b1f6Smrg		;;
2296f03b1f6Smrg	-ptx*)
2306f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2316f03b1f6Smrg		;;
2326f03b1f6Smrg	-windowsnt*)
2336f03b1f6Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2346f03b1f6Smrg		;;
2356f03b1f6Smrg	-psos*)
2366f03b1f6Smrg		os=-psos
2376f03b1f6Smrg		;;
2386f03b1f6Smrg	-mint | -mint[0-9]*)
2396f03b1f6Smrg		basic_machine=m68k-atari
2406f03b1f6Smrg		os=-mint
2416f03b1f6Smrg		;;
2426f03b1f6Smrgesac
2436f03b1f6Smrg
2446f03b1f6Smrg# Decode aliases for certain CPU-COMPANY combinations.
2456f03b1f6Smrgcase $basic_machine in
2466f03b1f6Smrg	# Recognize the basic CPU types without company name.
2476f03b1f6Smrg	# Some are omitted here because they have special meanings below.
2486f03b1f6Smrg	1750a | 580 \
2496f03b1f6Smrg	| a29k \
2506f03b1f6Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2516f03b1f6Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2526f03b1f6Smrg	| am33_2.0 \
25398af18c5Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2546f03b1f6Smrg	| bfin \
2556f03b1f6Smrg	| c4x | clipper \
2566f03b1f6Smrg	| d10v | d30v | dlx | dsp16xx \
25798af18c5Smrg	| fido | fr30 | frv \
2586f03b1f6Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2596f03b1f6Smrg	| i370 | i860 | i960 | ia64 \
2606f03b1f6Smrg	| ip2k | iq2000 \
261356f6debSmrg	| lm32 \
26298af18c5Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263356f6debSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2646f03b1f6Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2656f03b1f6Smrg	| mips16 \
2666f03b1f6Smrg	| mips64 | mips64el \
267356f6debSmrg	| mips64octeon | mips64octeonel \
2686f03b1f6Smrg	| mips64orion | mips64orionel \
269356f6debSmrg	| mips64r5900 | mips64r5900el \
270356f6debSmrg	| mips64vr | mips64vrel \
2716f03b1f6Smrg	| mips64vr4100 | mips64vr4100el \
2726f03b1f6Smrg	| mips64vr4300 | mips64vr4300el \
2736f03b1f6Smrg	| mips64vr5000 | mips64vr5000el \
2746f03b1f6Smrg	| mips64vr5900 | mips64vr5900el \
2756f03b1f6Smrg	| mipsisa32 | mipsisa32el \
2766f03b1f6Smrg	| mipsisa32r2 | mipsisa32r2el \
2776f03b1f6Smrg	| mipsisa64 | mipsisa64el \
2786f03b1f6Smrg	| mipsisa64r2 | mipsisa64r2el \
2796f03b1f6Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2806f03b1f6Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2816f03b1f6Smrg	| mipstx39 | mipstx39el \
2826f03b1f6Smrg	| mn10200 | mn10300 \
283356f6debSmrg	| moxie \
2846f03b1f6Smrg	| mt \
2856f03b1f6Smrg	| msp430 \
28642941e3bSmrg	| nds32 | nds32le | nds32be \
2876f03b1f6Smrg	| nios | nios2 \
2886f03b1f6Smrg	| ns16k | ns32k \
2896f03b1f6Smrg	| or32 \
2906f03b1f6Smrg	| pdp10 | pdp11 | pj | pjl \
2916f03b1f6Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2926f03b1f6Smrg	| pyramid \
293356f6debSmrg	| rx \
29498af18c5Smrg	| score \
295356f6debSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2966f03b1f6Smrg	| sh64 | sh64le \
29798af18c5Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29898af18c5Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29998af18c5Smrg	| spu | strongarm \
30042941e3bSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301356f6debSmrg	| ubicom32 \
3026f03b1f6Smrg	| v850 | v850e \
3036f03b1f6Smrg	| we32k \
30498af18c5Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305356f6debSmrg	| z8k | z80)
3066f03b1f6Smrg		basic_machine=$basic_machine-unknown
3076f03b1f6Smrg		;;
30842941e3bSmrg	c54x)
30942941e3bSmrg		basic_machine=tic54x-unknown
31042941e3bSmrg		;;
31142941e3bSmrg	c55x)
31242941e3bSmrg		basic_machine=tic55x-unknown
31342941e3bSmrg		;;
31442941e3bSmrg	c6x)
31542941e3bSmrg		basic_machine=tic6x-unknown
31642941e3bSmrg		;;
317356f6debSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3186f03b1f6Smrg		# Motorola 68HC11/12.
3196f03b1f6Smrg		basic_machine=$basic_machine-unknown
3206f03b1f6Smrg		os=-none
3216f03b1f6Smrg		;;
3226f03b1f6Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3236f03b1f6Smrg		;;
3246f03b1f6Smrg	ms1)
3256f03b1f6Smrg		basic_machine=mt-unknown
3266f03b1f6Smrg		;;
3276f03b1f6Smrg
3286f03b1f6Smrg	# We use `pc' rather than `unknown'
3296f03b1f6Smrg	# because (1) that's what they normally are, and
3306f03b1f6Smrg	# (2) the word "unknown" tends to confuse beginning users.
3316f03b1f6Smrg	i*86 | x86_64)
3326f03b1f6Smrg	  basic_machine=$basic_machine-pc
3336f03b1f6Smrg	  ;;
3346f03b1f6Smrg	# Object if more than one company name word.
3356f03b1f6Smrg	*-*-*)
3366f03b1f6Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3376f03b1f6Smrg		exit 1
3386f03b1f6Smrg		;;
3396f03b1f6Smrg	# Recognize the basic CPU types with company name.
3406f03b1f6Smrg	580-* \
3416f03b1f6Smrg	| a29k-* \
3426f03b1f6Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3436f03b1f6Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3446f03b1f6Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3456f03b1f6Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34698af18c5Smrg	| avr-* | avr32-* \
3476f03b1f6Smrg	| bfin-* | bs2000-* \
34842941e3bSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3496f03b1f6Smrg	| clipper-* | craynv-* | cydra-* \
3506f03b1f6Smrg	| d10v-* | d30v-* | dlx-* \
3516f03b1f6Smrg	| elxsi-* \
35298af18c5Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3536f03b1f6Smrg	| h8300-* | h8500-* \
3546f03b1f6Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3556f03b1f6Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3566f03b1f6Smrg	| ip2k-* | iq2000-* \
357356f6debSmrg	| lm32-* \
35898af18c5Smrg	| m32c-* | m32r-* | m32rle-* \
3596f03b1f6Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360356f6debSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3616f03b1f6Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3626f03b1f6Smrg	| mips16-* \
3636f03b1f6Smrg	| mips64-* | mips64el-* \
364356f6debSmrg	| mips64octeon-* | mips64octeonel-* \
3656f03b1f6Smrg	| mips64orion-* | mips64orionel-* \
366356f6debSmrg	| mips64r5900-* | mips64r5900el-* \
367356f6debSmrg	| mips64vr-* | mips64vrel-* \
3686f03b1f6Smrg	| mips64vr4100-* | mips64vr4100el-* \
3696f03b1f6Smrg	| mips64vr4300-* | mips64vr4300el-* \
3706f03b1f6Smrg	| mips64vr5000-* | mips64vr5000el-* \
3716f03b1f6Smrg	| mips64vr5900-* | mips64vr5900el-* \
3726f03b1f6Smrg	| mipsisa32-* | mipsisa32el-* \
3736f03b1f6Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3746f03b1f6Smrg	| mipsisa64-* | mipsisa64el-* \
3756f03b1f6Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3766f03b1f6Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3776f03b1f6Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3786f03b1f6Smrg	| mipstx39-* | mipstx39el-* \
3796f03b1f6Smrg	| mmix-* \
3806f03b1f6Smrg	| mt-* \
3816f03b1f6Smrg	| msp430-* \
38242941e3bSmrg	| nds32-* | nds32le-* | nds32be-* \
3836f03b1f6Smrg	| nios-* | nios2-* \
3846f03b1f6Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3856f03b1f6Smrg	| orion-* \
3866f03b1f6Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3876f03b1f6Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3886f03b1f6Smrg	| pyramid-* \
389356f6debSmrg	| romp-* | rs6000-* | rx-* \
390356f6debSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3916f03b1f6Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39298af18c5Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3936f03b1f6Smrg	| sparclite-* \
39498af18c5Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3956f03b1f6Smrg	| tahoe-* | thumb-* \
39642941e3bSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
39742941e3bSmrg	| tile-* | tilegx-* \
3986f03b1f6Smrg	| tron-* \
399356f6debSmrg	| ubicom32-* \
4006f03b1f6Smrg	| v850-* | v850e-* | vax-* \
4016f03b1f6Smrg	| we32k-* \
40298af18c5Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
40398af18c5Smrg	| xstormy16-* | xtensa*-* \
4046f03b1f6Smrg	| ymp-* \
405356f6debSmrg	| z8k-* | z80-*)
4066f03b1f6Smrg		;;
40798af18c5Smrg	# Recognize the basic CPU types without company name, with glob match.
40898af18c5Smrg	xtensa*)
40998af18c5Smrg		basic_machine=$basic_machine-unknown
4106f03b1f6Smrg		;;
4116f03b1f6Smrg	# Recognize the various machine names and aliases which stand
4126f03b1f6Smrg	# for a CPU type and a company and sometimes even an OS.
4136f03b1f6Smrg	386bsd)
4146f03b1f6Smrg		basic_machine=i386-unknown
4156f03b1f6Smrg		os=-bsd
4166f03b1f6Smrg		;;
4176f03b1f6Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4186f03b1f6Smrg		basic_machine=m68000-att
4196f03b1f6Smrg		;;
4206f03b1f6Smrg	3b*)
4216f03b1f6Smrg		basic_machine=we32k-att
4226f03b1f6Smrg		;;
4236f03b1f6Smrg	a29khif)
4246f03b1f6Smrg		basic_machine=a29k-amd
4256f03b1f6Smrg		os=-udi
4266f03b1f6Smrg		;;
4276f03b1f6Smrg    	abacus)
4286f03b1f6Smrg		basic_machine=abacus-unknown
4296f03b1f6Smrg		;;
4306f03b1f6Smrg	adobe68k)
4316f03b1f6Smrg		basic_machine=m68010-adobe
4326f03b1f6Smrg		os=-scout
4336f03b1f6Smrg		;;
4346f03b1f6Smrg	alliant | fx80)
4356f03b1f6Smrg		basic_machine=fx80-alliant
4366f03b1f6Smrg		;;
4376f03b1f6Smrg	altos | altos3068)
4386f03b1f6Smrg		basic_machine=m68k-altos
4396f03b1f6Smrg		;;
4406f03b1f6Smrg	am29k)
4416f03b1f6Smrg		basic_machine=a29k-none
4426f03b1f6Smrg		os=-bsd
4436f03b1f6Smrg		;;
4446f03b1f6Smrg	amd64)
4456f03b1f6Smrg		basic_machine=x86_64-pc
4466f03b1f6Smrg		;;
4476f03b1f6Smrg	amd64-*)
4486f03b1f6Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4496f03b1f6Smrg		;;
4506f03b1f6Smrg	amdahl)
4516f03b1f6Smrg		basic_machine=580-amdahl
4526f03b1f6Smrg		os=-sysv
4536f03b1f6Smrg		;;
4546f03b1f6Smrg	amiga | amiga-*)
4556f03b1f6Smrg		basic_machine=m68k-unknown
4566f03b1f6Smrg		;;
4576f03b1f6Smrg	amigaos | amigados)
4586f03b1f6Smrg		basic_machine=m68k-unknown
4596f03b1f6Smrg		os=-amigaos
4606f03b1f6Smrg		;;
4616f03b1f6Smrg	amigaunix | amix)
4626f03b1f6Smrg		basic_machine=m68k-unknown
4636f03b1f6Smrg		os=-sysv4
4646f03b1f6Smrg		;;
4656f03b1f6Smrg	apollo68)
4666f03b1f6Smrg		basic_machine=m68k-apollo
4676f03b1f6Smrg		os=-sysv
4686f03b1f6Smrg		;;
4696f03b1f6Smrg	apollo68bsd)
4706f03b1f6Smrg		basic_machine=m68k-apollo
4716f03b1f6Smrg		os=-bsd
4726f03b1f6Smrg		;;
473356f6debSmrg	aros)
474356f6debSmrg		basic_machine=i386-pc
475356f6debSmrg		os=-aros
476356f6debSmrg		;;
4776f03b1f6Smrg	aux)
4786f03b1f6Smrg		basic_machine=m68k-apple
4796f03b1f6Smrg		os=-aux
4806f03b1f6Smrg		;;
4816f03b1f6Smrg	balance)
4826f03b1f6Smrg		basic_machine=ns32k-sequent
4836f03b1f6Smrg		os=-dynix
4846f03b1f6Smrg		;;
48598af18c5Smrg	blackfin)
48698af18c5Smrg		basic_machine=bfin-unknown
48798af18c5Smrg		os=-linux
48898af18c5Smrg		;;
48998af18c5Smrg	blackfin-*)
49098af18c5Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
49198af18c5Smrg		os=-linux
49298af18c5Smrg		;;
493356f6debSmrg	bluegene*)
494356f6debSmrg		basic_machine=powerpc-ibm
495356f6debSmrg		os=-cnk
496356f6debSmrg		;;
49742941e3bSmrg	c54x-*)
49842941e3bSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
49942941e3bSmrg		;;
50042941e3bSmrg	c55x-*)
50142941e3bSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
50242941e3bSmrg		;;
50342941e3bSmrg	c6x-*)
50442941e3bSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
50542941e3bSmrg		;;
5066f03b1f6Smrg	c90)
5076f03b1f6Smrg		basic_machine=c90-cray
5086f03b1f6Smrg		os=-unicos
5096f03b1f6Smrg		;;
510356f6debSmrg        cegcc)
511356f6debSmrg		basic_machine=arm-unknown
512356f6debSmrg		os=-cegcc
513356f6debSmrg		;;
5146f03b1f6Smrg	convex-c1)
5156f03b1f6Smrg		basic_machine=c1-convex
5166f03b1f6Smrg		os=-bsd
5176f03b1f6Smrg		;;
5186f03b1f6Smrg	convex-c2)
5196f03b1f6Smrg		basic_machine=c2-convex
5206f03b1f6Smrg		os=-bsd
5216f03b1f6Smrg		;;
5226f03b1f6Smrg	convex-c32)
5236f03b1f6Smrg		basic_machine=c32-convex
5246f03b1f6Smrg		os=-bsd
5256f03b1f6Smrg		;;
5266f03b1f6Smrg	convex-c34)
5276f03b1f6Smrg		basic_machine=c34-convex
5286f03b1f6Smrg		os=-bsd
5296f03b1f6Smrg		;;
5306f03b1f6Smrg	convex-c38)
5316f03b1f6Smrg		basic_machine=c38-convex
5326f03b1f6Smrg		os=-bsd
5336f03b1f6Smrg		;;
5346f03b1f6Smrg	cray | j90)
5356f03b1f6Smrg		basic_machine=j90-cray
5366f03b1f6Smrg		os=-unicos
5376f03b1f6Smrg		;;
5386f03b1f6Smrg	craynv)
5396f03b1f6Smrg		basic_machine=craynv-cray
5406f03b1f6Smrg		os=-unicosmp
5416f03b1f6Smrg		;;
54298af18c5Smrg	cr16)
54398af18c5Smrg		basic_machine=cr16-unknown
5446f03b1f6Smrg		os=-elf
5456f03b1f6Smrg		;;
5466f03b1f6Smrg	crds | unos)
5476f03b1f6Smrg		basic_machine=m68k-crds
5486f03b1f6Smrg		;;
5496f03b1f6Smrg	crisv32 | crisv32-* | etraxfs*)
5506f03b1f6Smrg		basic_machine=crisv32-axis
5516f03b1f6Smrg		;;
5526f03b1f6Smrg	cris | cris-* | etrax*)
5536f03b1f6Smrg		basic_machine=cris-axis
5546f03b1f6Smrg		;;
5556f03b1f6Smrg	crx)
5566f03b1f6Smrg		basic_machine=crx-unknown
5576f03b1f6Smrg		os=-elf
5586f03b1f6Smrg		;;
5596f03b1f6Smrg	da30 | da30-*)
5606f03b1f6Smrg		basic_machine=m68k-da30
5616f03b1f6Smrg		;;
5626f03b1f6Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5636f03b1f6Smrg		basic_machine=mips-dec
5646f03b1f6Smrg		;;
5656f03b1f6Smrg	decsystem10* | dec10*)
5666f03b1f6Smrg		basic_machine=pdp10-dec
5676f03b1f6Smrg		os=-tops10
5686f03b1f6Smrg		;;
5696f03b1f6Smrg	decsystem20* | dec20*)
5706f03b1f6Smrg		basic_machine=pdp10-dec
5716f03b1f6Smrg		os=-tops20
5726f03b1f6Smrg		;;
5736f03b1f6Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5746f03b1f6Smrg	      | 3300-motorola | delta-motorola)
5756f03b1f6Smrg		basic_machine=m68k-motorola
5766f03b1f6Smrg		;;
5776f03b1f6Smrg	delta88)
5786f03b1f6Smrg		basic_machine=m88k-motorola
5796f03b1f6Smrg		os=-sysv3
5806f03b1f6Smrg		;;
581356f6debSmrg	dicos)
582356f6debSmrg		basic_machine=i686-pc
583356f6debSmrg		os=-dicos
584356f6debSmrg		;;
5856f03b1f6Smrg	djgpp)
5866f03b1f6Smrg		basic_machine=i586-pc
5876f03b1f6Smrg		os=-msdosdjgpp
5886f03b1f6Smrg		;;
5896f03b1f6Smrg	dpx20 | dpx20-*)
5906f03b1f6Smrg		basic_machine=rs6000-bull
5916f03b1f6Smrg		os=-bosx
5926f03b1f6Smrg		;;
5936f03b1f6Smrg	dpx2* | dpx2*-bull)
5946f03b1f6Smrg		basic_machine=m68k-bull
5956f03b1f6Smrg		os=-sysv3
5966f03b1f6Smrg		;;
5976f03b1f6Smrg	ebmon29k)
5986f03b1f6Smrg		basic_machine=a29k-amd
5996f03b1f6Smrg		os=-ebmon
6006f03b1f6Smrg		;;
6016f03b1f6Smrg	elxsi)
6026f03b1f6Smrg		basic_machine=elxsi-elxsi
6036f03b1f6Smrg		os=-bsd
6046f03b1f6Smrg		;;
6056f03b1f6Smrg	encore | umax | mmax)
6066f03b1f6Smrg		basic_machine=ns32k-encore
6076f03b1f6Smrg		;;
6086f03b1f6Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6096f03b1f6Smrg		basic_machine=m68k-ericsson
6106f03b1f6Smrg		os=-ose
6116f03b1f6Smrg		;;
6126f03b1f6Smrg	fx2800)
6136f03b1f6Smrg		basic_machine=i860-alliant
6146f03b1f6Smrg		;;
6156f03b1f6Smrg	genix)
6166f03b1f6Smrg		basic_machine=ns32k-ns
6176f03b1f6Smrg		;;
6186f03b1f6Smrg	gmicro)
6196f03b1f6Smrg		basic_machine=tron-gmicro
6206f03b1f6Smrg		os=-sysv
6216f03b1f6Smrg		;;
6226f03b1f6Smrg	go32)
6236f03b1f6Smrg		basic_machine=i386-pc
6246f03b1f6Smrg		os=-go32
6256f03b1f6Smrg		;;
6266f03b1f6Smrg	h3050r* | hiux*)
6276f03b1f6Smrg		basic_machine=hppa1.1-hitachi
6286f03b1f6Smrg		os=-hiuxwe2
6296f03b1f6Smrg		;;
6306f03b1f6Smrg	h8300hms)
6316f03b1f6Smrg		basic_machine=h8300-hitachi
6326f03b1f6Smrg		os=-hms
6336f03b1f6Smrg		;;
6346f03b1f6Smrg	h8300xray)
6356f03b1f6Smrg		basic_machine=h8300-hitachi
6366f03b1f6Smrg		os=-xray
6376f03b1f6Smrg		;;
6386f03b1f6Smrg	h8500hms)
6396f03b1f6Smrg		basic_machine=h8500-hitachi
6406f03b1f6Smrg		os=-hms
6416f03b1f6Smrg		;;
6426f03b1f6Smrg	harris)
6436f03b1f6Smrg		basic_machine=m88k-harris
6446f03b1f6Smrg		os=-sysv3
6456f03b1f6Smrg		;;
6466f03b1f6Smrg	hp300-*)
6476f03b1f6Smrg		basic_machine=m68k-hp
6486f03b1f6Smrg		;;
6496f03b1f6Smrg	hp300bsd)
6506f03b1f6Smrg		basic_machine=m68k-hp
6516f03b1f6Smrg		os=-bsd
6526f03b1f6Smrg		;;
6536f03b1f6Smrg	hp300hpux)
6546f03b1f6Smrg		basic_machine=m68k-hp
6556f03b1f6Smrg		os=-hpux
6566f03b1f6Smrg		;;
6576f03b1f6Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6586f03b1f6Smrg		basic_machine=hppa1.0-hp
6596f03b1f6Smrg		;;
6606f03b1f6Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6616f03b1f6Smrg		basic_machine=m68000-hp
6626f03b1f6Smrg		;;
6636f03b1f6Smrg	hp9k3[2-9][0-9])
6646f03b1f6Smrg		basic_machine=m68k-hp
6656f03b1f6Smrg		;;
6666f03b1f6Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6676f03b1f6Smrg		basic_machine=hppa1.0-hp
6686f03b1f6Smrg		;;
6696f03b1f6Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6706f03b1f6Smrg		basic_machine=hppa1.1-hp
6716f03b1f6Smrg		;;
6726f03b1f6Smrg	hp9k78[0-9] | hp78[0-9])
6736f03b1f6Smrg		# FIXME: really hppa2.0-hp
6746f03b1f6Smrg		basic_machine=hppa1.1-hp
6756f03b1f6Smrg		;;
6766f03b1f6Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6776f03b1f6Smrg		# FIXME: really hppa2.0-hp
6786f03b1f6Smrg		basic_machine=hppa1.1-hp
6796f03b1f6Smrg		;;
6806f03b1f6Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6816f03b1f6Smrg		basic_machine=hppa1.1-hp
6826f03b1f6Smrg		;;
6836f03b1f6Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6846f03b1f6Smrg		basic_machine=hppa1.0-hp
6856f03b1f6Smrg		;;
6866f03b1f6Smrg	hppa-next)
6876f03b1f6Smrg		os=-nextstep3
6886f03b1f6Smrg		;;
6896f03b1f6Smrg	hppaosf)
6906f03b1f6Smrg		basic_machine=hppa1.1-hp
6916f03b1f6Smrg		os=-osf
6926f03b1f6Smrg		;;
6936f03b1f6Smrg	hppro)
6946f03b1f6Smrg		basic_machine=hppa1.1-hp
6956f03b1f6Smrg		os=-proelf
6966f03b1f6Smrg		;;
6976f03b1f6Smrg	i370-ibm* | ibm*)
6986f03b1f6Smrg		basic_machine=i370-ibm
6996f03b1f6Smrg		;;
7006f03b1f6Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7016f03b1f6Smrg	i*86v32)
7026f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7036f03b1f6Smrg		os=-sysv32
7046f03b1f6Smrg		;;
7056f03b1f6Smrg	i*86v4*)
7066f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7076f03b1f6Smrg		os=-sysv4
7086f03b1f6Smrg		;;
7096f03b1f6Smrg	i*86v)
7106f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7116f03b1f6Smrg		os=-sysv
7126f03b1f6Smrg		;;
7136f03b1f6Smrg	i*86sol2)
7146f03b1f6Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7156f03b1f6Smrg		os=-solaris2
7166f03b1f6Smrg		;;
7176f03b1f6Smrg	i386mach)
7186f03b1f6Smrg		basic_machine=i386-mach
7196f03b1f6Smrg		os=-mach
7206f03b1f6Smrg		;;
7216f03b1f6Smrg	i386-vsta | vsta)
7226f03b1f6Smrg		basic_machine=i386-unknown
7236f03b1f6Smrg		os=-vsta
7246f03b1f6Smrg		;;
7256f03b1f6Smrg	iris | iris4d)
7266f03b1f6Smrg		basic_machine=mips-sgi
7276f03b1f6Smrg		case $os in
7286f03b1f6Smrg		    -irix*)
7296f03b1f6Smrg			;;
7306f03b1f6Smrg		    *)
7316f03b1f6Smrg			os=-irix4
7326f03b1f6Smrg			;;
7336f03b1f6Smrg		esac
7346f03b1f6Smrg		;;
7356f03b1f6Smrg	isi68 | isi)
7366f03b1f6Smrg		basic_machine=m68k-isi
7376f03b1f6Smrg		os=-sysv
7386f03b1f6Smrg		;;
73998af18c5Smrg	m68knommu)
74098af18c5Smrg		basic_machine=m68k-unknown
74198af18c5Smrg		os=-linux
74298af18c5Smrg		;;
74398af18c5Smrg	m68knommu-*)
74498af18c5Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
74598af18c5Smrg		os=-linux
74698af18c5Smrg		;;
7476f03b1f6Smrg	m88k-omron*)
7486f03b1f6Smrg		basic_machine=m88k-omron
7496f03b1f6Smrg		;;
7506f03b1f6Smrg	magnum | m3230)
7516f03b1f6Smrg		basic_machine=mips-mips
7526f03b1f6Smrg		os=-sysv
7536f03b1f6Smrg		;;
7546f03b1f6Smrg	merlin)
7556f03b1f6Smrg		basic_machine=ns32k-utek
7566f03b1f6Smrg		os=-sysv
7576f03b1f6Smrg		;;
758356f6debSmrg        microblaze)
759356f6debSmrg		basic_machine=microblaze-xilinx
760356f6debSmrg		;;
7616f03b1f6Smrg	mingw32)
7626f03b1f6Smrg		basic_machine=i386-pc
7636f03b1f6Smrg		os=-mingw32
7646f03b1f6Smrg		;;
76598af18c5Smrg	mingw32ce)
76698af18c5Smrg		basic_machine=arm-unknown
76798af18c5Smrg		os=-mingw32ce
76898af18c5Smrg		;;
7696f03b1f6Smrg	miniframe)
7706f03b1f6Smrg		basic_machine=m68000-convergent
7716f03b1f6Smrg		;;
7726f03b1f6Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7736f03b1f6Smrg		basic_machine=m68k-atari
7746f03b1f6Smrg		os=-mint
7756f03b1f6Smrg		;;
7766f03b1f6Smrg	mips3*-*)
7776f03b1f6Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7786f03b1f6Smrg		;;
7796f03b1f6Smrg	mips3*)
7806f03b1f6Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7816f03b1f6Smrg		;;
7826f03b1f6Smrg	monitor)
7836f03b1f6Smrg		basic_machine=m68k-rom68k
7846f03b1f6Smrg		os=-coff
7856f03b1f6Smrg		;;
7866f03b1f6Smrg	morphos)
7876f03b1f6Smrg		basic_machine=powerpc-unknown
7886f03b1f6Smrg		os=-morphos
7896f03b1f6Smrg		;;
7906f03b1f6Smrg	msdos)
7916f03b1f6Smrg		basic_machine=i386-pc
7926f03b1f6Smrg		os=-msdos
7936f03b1f6Smrg		;;
7946f03b1f6Smrg	ms1-*)
7956f03b1f6Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7966f03b1f6Smrg		;;
7976f03b1f6Smrg	mvs)
7986f03b1f6Smrg		basic_machine=i370-ibm
7996f03b1f6Smrg		os=-mvs
8006f03b1f6Smrg		;;
8016f03b1f6Smrg	ncr3000)
8026f03b1f6Smrg		basic_machine=i486-ncr
8036f03b1f6Smrg		os=-sysv4
8046f03b1f6Smrg		;;
8056f03b1f6Smrg	netbsd386)
8066f03b1f6Smrg		basic_machine=i386-unknown
8076f03b1f6Smrg		os=-netbsd
8086f03b1f6Smrg		;;
8096f03b1f6Smrg	netwinder)
8106f03b1f6Smrg		basic_machine=armv4l-rebel
8116f03b1f6Smrg		os=-linux
8126f03b1f6Smrg		;;
8136f03b1f6Smrg	news | news700 | news800 | news900)
8146f03b1f6Smrg		basic_machine=m68k-sony
8156f03b1f6Smrg		os=-newsos
8166f03b1f6Smrg		;;
8176f03b1f6Smrg	news1000)
8186f03b1f6Smrg		basic_machine=m68030-sony
8196f03b1f6Smrg		os=-newsos
8206f03b1f6Smrg		;;
8216f03b1f6Smrg	news-3600 | risc-news)
8226f03b1f6Smrg		basic_machine=mips-sony
8236f03b1f6Smrg		os=-newsos
8246f03b1f6Smrg		;;
8256f03b1f6Smrg	necv70)
8266f03b1f6Smrg		basic_machine=v70-nec
8276f03b1f6Smrg		os=-sysv
8286f03b1f6Smrg		;;
8296f03b1f6Smrg	next | m*-next )
8306f03b1f6Smrg		basic_machine=m68k-next
8316f03b1f6Smrg		case $os in
8326f03b1f6Smrg		    -nextstep* )
8336f03b1f6Smrg			;;
8346f03b1f6Smrg		    -ns2*)
8356f03b1f6Smrg		      os=-nextstep2
8366f03b1f6Smrg			;;
8376f03b1f6Smrg		    *)
8386f03b1f6Smrg		      os=-nextstep3
8396f03b1f6Smrg			;;
8406f03b1f6Smrg		esac
8416f03b1f6Smrg		;;
8426f03b1f6Smrg	nh3000)
8436f03b1f6Smrg		basic_machine=m68k-harris
8446f03b1f6Smrg		os=-cxux
8456f03b1f6Smrg		;;
8466f03b1f6Smrg	nh[45]000)
8476f03b1f6Smrg		basic_machine=m88k-harris
8486f03b1f6Smrg		os=-cxux
8496f03b1f6Smrg		;;
8506f03b1f6Smrg	nindy960)
8516f03b1f6Smrg		basic_machine=i960-intel
8526f03b1f6Smrg		os=-nindy
8536f03b1f6Smrg		;;
8546f03b1f6Smrg	mon960)
8556f03b1f6Smrg		basic_machine=i960-intel
8566f03b1f6Smrg		os=-mon960
8576f03b1f6Smrg		;;
8586f03b1f6Smrg	nonstopux)
8596f03b1f6Smrg		basic_machine=mips-compaq
8606f03b1f6Smrg		os=-nonstopux
8616f03b1f6Smrg		;;
8626f03b1f6Smrg	np1)
8636f03b1f6Smrg		basic_machine=np1-gould
8646f03b1f6Smrg		;;
86542941e3bSmrg        neo-tandem)
86642941e3bSmrg		basic_machine=neo-tandem
86742941e3bSmrg		;;
86842941e3bSmrg        nse-tandem)
86942941e3bSmrg		basic_machine=nse-tandem
87042941e3bSmrg		;;
8716f03b1f6Smrg	nsr-tandem)
8726f03b1f6Smrg		basic_machine=nsr-tandem
8736f03b1f6Smrg		;;
8746f03b1f6Smrg	op50n-* | op60c-*)
8756f03b1f6Smrg		basic_machine=hppa1.1-oki
8766f03b1f6Smrg		os=-proelf
8776f03b1f6Smrg		;;
8786f03b1f6Smrg	openrisc | openrisc-*)
8796f03b1f6Smrg		basic_machine=or32-unknown
8806f03b1f6Smrg		;;
8816f03b1f6Smrg	os400)
8826f03b1f6Smrg		basic_machine=powerpc-ibm
8836f03b1f6Smrg		os=-os400
8846f03b1f6Smrg		;;
8856f03b1f6Smrg	OSE68000 | ose68000)
8866f03b1f6Smrg		basic_machine=m68000-ericsson
8876f03b1f6Smrg		os=-ose
8886f03b1f6Smrg		;;
8896f03b1f6Smrg	os68k)
8906f03b1f6Smrg		basic_machine=m68k-none
8916f03b1f6Smrg		os=-os68k
8926f03b1f6Smrg		;;
8936f03b1f6Smrg	pa-hitachi)
8946f03b1f6Smrg		basic_machine=hppa1.1-hitachi
8956f03b1f6Smrg		os=-hiuxwe2
8966f03b1f6Smrg		;;
8976f03b1f6Smrg	paragon)
8986f03b1f6Smrg		basic_machine=i860-intel
8996f03b1f6Smrg		os=-osf
9006f03b1f6Smrg		;;
90198af18c5Smrg	parisc)
90298af18c5Smrg		basic_machine=hppa-unknown
90398af18c5Smrg		os=-linux
90498af18c5Smrg		;;
90598af18c5Smrg	parisc-*)
90698af18c5Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
90798af18c5Smrg		os=-linux
90898af18c5Smrg		;;
9096f03b1f6Smrg	pbd)
9106f03b1f6Smrg		basic_machine=sparc-tti
9116f03b1f6Smrg		;;
9126f03b1f6Smrg	pbb)
9136f03b1f6Smrg		basic_machine=m68k-tti
9146f03b1f6Smrg		;;
9156f03b1f6Smrg	pc532 | pc532-*)
9166f03b1f6Smrg		basic_machine=ns32k-pc532
9176f03b1f6Smrg		;;
9186f03b1f6Smrg	pc98)
9196f03b1f6Smrg		basic_machine=i386-pc
9206f03b1f6Smrg		;;
9216f03b1f6Smrg	pc98-*)
9226f03b1f6Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9236f03b1f6Smrg		;;
9246f03b1f6Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9256f03b1f6Smrg		basic_machine=i586-pc
9266f03b1f6Smrg		;;
9276f03b1f6Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9286f03b1f6Smrg		basic_machine=i686-pc
9296f03b1f6Smrg		;;
9306f03b1f6Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9316f03b1f6Smrg		basic_machine=i686-pc
9326f03b1f6Smrg		;;
9336f03b1f6Smrg	pentium4)
9346f03b1f6Smrg		basic_machine=i786-pc
9356f03b1f6Smrg		;;
9366f03b1f6Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9376f03b1f6Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9386f03b1f6Smrg		;;
9396f03b1f6Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9406f03b1f6Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9416f03b1f6Smrg		;;
9426f03b1f6Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9436f03b1f6Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9446f03b1f6Smrg		;;
9456f03b1f6Smrg	pentium4-*)
9466f03b1f6Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9476f03b1f6Smrg		;;
9486f03b1f6Smrg	pn)
9496f03b1f6Smrg		basic_machine=pn-gould
9506f03b1f6Smrg		;;
9516f03b1f6Smrg	power)	basic_machine=power-ibm
9526f03b1f6Smrg		;;
9536f03b1f6Smrg	ppc)	basic_machine=powerpc-unknown
9546f03b1f6Smrg		;;
9556f03b1f6Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9566f03b1f6Smrg		;;
9576f03b1f6Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9586f03b1f6Smrg		basic_machine=powerpcle-unknown
9596f03b1f6Smrg		;;
9606f03b1f6Smrg	ppcle-* | powerpclittle-*)
9616f03b1f6Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9626f03b1f6Smrg		;;
9636f03b1f6Smrg	ppc64)	basic_machine=powerpc64-unknown
9646f03b1f6Smrg		;;
9656f03b1f6Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9666f03b1f6Smrg		;;
9676f03b1f6Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9686f03b1f6Smrg		basic_machine=powerpc64le-unknown
9696f03b1f6Smrg		;;
9706f03b1f6Smrg	ppc64le-* | powerpc64little-*)
9716f03b1f6Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9726f03b1f6Smrg		;;
9736f03b1f6Smrg	ps2)
9746f03b1f6Smrg		basic_machine=i386-ibm
9756f03b1f6Smrg		;;
9766f03b1f6Smrg	pw32)
9776f03b1f6Smrg		basic_machine=i586-unknown
9786f03b1f6Smrg		os=-pw32
9796f03b1f6Smrg		;;
9806f03b1f6Smrg	rdos)
9816f03b1f6Smrg		basic_machine=i386-pc
9826f03b1f6Smrg		os=-rdos
9836f03b1f6Smrg		;;
9846f03b1f6Smrg	rom68k)
9856f03b1f6Smrg		basic_machine=m68k-rom68k
9866f03b1f6Smrg		os=-coff
9876f03b1f6Smrg		;;
9886f03b1f6Smrg	rm[46]00)
9896f03b1f6Smrg		basic_machine=mips-siemens
9906f03b1f6Smrg		;;
9916f03b1f6Smrg	rtpc | rtpc-*)
9926f03b1f6Smrg		basic_machine=romp-ibm
9936f03b1f6Smrg		;;
9946f03b1f6Smrg	s390 | s390-*)
9956f03b1f6Smrg		basic_machine=s390-ibm
9966f03b1f6Smrg		;;
9976f03b1f6Smrg	s390x | s390x-*)
9986f03b1f6Smrg		basic_machine=s390x-ibm
9996f03b1f6Smrg		;;
10006f03b1f6Smrg	sa29200)
10016f03b1f6Smrg		basic_machine=a29k-amd
10026f03b1f6Smrg		os=-udi
10036f03b1f6Smrg		;;
10046f03b1f6Smrg	sb1)
10056f03b1f6Smrg		basic_machine=mipsisa64sb1-unknown
10066f03b1f6Smrg		;;
10076f03b1f6Smrg	sb1el)
10086f03b1f6Smrg		basic_machine=mipsisa64sb1el-unknown
10096f03b1f6Smrg		;;
101098af18c5Smrg	sde)
101198af18c5Smrg		basic_machine=mipsisa32-sde
101298af18c5Smrg		os=-elf
101398af18c5Smrg		;;
10146f03b1f6Smrg	sei)
10156f03b1f6Smrg		basic_machine=mips-sei
10166f03b1f6Smrg		os=-seiux
10176f03b1f6Smrg		;;
10186f03b1f6Smrg	sequent)
10196f03b1f6Smrg		basic_machine=i386-sequent
10206f03b1f6Smrg		;;
10216f03b1f6Smrg	sh)
10226f03b1f6Smrg		basic_machine=sh-hitachi
10236f03b1f6Smrg		os=-hms
10246f03b1f6Smrg		;;
102598af18c5Smrg	sh5el)
102698af18c5Smrg		basic_machine=sh5le-unknown
102798af18c5Smrg		;;
10286f03b1f6Smrg	sh64)
10296f03b1f6Smrg		basic_machine=sh64-unknown
10306f03b1f6Smrg		;;
10316f03b1f6Smrg	sparclite-wrs | simso-wrs)
10326f03b1f6Smrg		basic_machine=sparclite-wrs
10336f03b1f6Smrg		os=-vxworks
10346f03b1f6Smrg		;;
10356f03b1f6Smrg	sps7)
10366f03b1f6Smrg		basic_machine=m68k-bull
10376f03b1f6Smrg		os=-sysv2
10386f03b1f6Smrg		;;
10396f03b1f6Smrg	spur)
10406f03b1f6Smrg		basic_machine=spur-unknown
10416f03b1f6Smrg		;;
10426f03b1f6Smrg	st2000)
10436f03b1f6Smrg		basic_machine=m68k-tandem
10446f03b1f6Smrg		;;
10456f03b1f6Smrg	stratus)
10466f03b1f6Smrg		basic_machine=i860-stratus
10476f03b1f6Smrg		os=-sysv4
10486f03b1f6Smrg		;;
10496f03b1f6Smrg	sun2)
10506f03b1f6Smrg		basic_machine=m68000-sun
10516f03b1f6Smrg		;;
10526f03b1f6Smrg	sun2os3)
10536f03b1f6Smrg		basic_machine=m68000-sun
10546f03b1f6Smrg		os=-sunos3
10556f03b1f6Smrg		;;
10566f03b1f6Smrg	sun2os4)
10576f03b1f6Smrg		basic_machine=m68000-sun
10586f03b1f6Smrg		os=-sunos4
10596f03b1f6Smrg		;;
10606f03b1f6Smrg	sun3os3)
10616f03b1f6Smrg		basic_machine=m68k-sun
10626f03b1f6Smrg		os=-sunos3
10636f03b1f6Smrg		;;
10646f03b1f6Smrg	sun3os4)
10656f03b1f6Smrg		basic_machine=m68k-sun
10666f03b1f6Smrg		os=-sunos4
10676f03b1f6Smrg		;;
10686f03b1f6Smrg	sun4os3)
10696f03b1f6Smrg		basic_machine=sparc-sun
10706f03b1f6Smrg		os=-sunos3
10716f03b1f6Smrg		;;
10726f03b1f6Smrg	sun4os4)
10736f03b1f6Smrg		basic_machine=sparc-sun
10746f03b1f6Smrg		os=-sunos4
10756f03b1f6Smrg		;;
10766f03b1f6Smrg	sun4sol2)
10776f03b1f6Smrg		basic_machine=sparc-sun
10786f03b1f6Smrg		os=-solaris2
10796f03b1f6Smrg		;;
10806f03b1f6Smrg	sun3 | sun3-*)
10816f03b1f6Smrg		basic_machine=m68k-sun
10826f03b1f6Smrg		;;
10836f03b1f6Smrg	sun4)
10846f03b1f6Smrg		basic_machine=sparc-sun
10856f03b1f6Smrg		;;
10866f03b1f6Smrg	sun386 | sun386i | roadrunner)
10876f03b1f6Smrg		basic_machine=i386-sun
10886f03b1f6Smrg		;;
10896f03b1f6Smrg	sv1)
10906f03b1f6Smrg		basic_machine=sv1-cray
10916f03b1f6Smrg		os=-unicos
10926f03b1f6Smrg		;;
10936f03b1f6Smrg	symmetry)
10946f03b1f6Smrg		basic_machine=i386-sequent
10956f03b1f6Smrg		os=-dynix
10966f03b1f6Smrg		;;
10976f03b1f6Smrg	t3e)
10986f03b1f6Smrg		basic_machine=alphaev5-cray
10996f03b1f6Smrg		os=-unicos
11006f03b1f6Smrg		;;
11016f03b1f6Smrg	t90)
11026f03b1f6Smrg		basic_machine=t90-cray
11036f03b1f6Smrg		os=-unicos
11046f03b1f6Smrg		;;
110542941e3bSmrg        # This must be matched before tile*.
110642941e3bSmrg        tilegx*)
110742941e3bSmrg		basic_machine=tilegx-unknown
110842941e3bSmrg		os=-linux-gnu
11096f03b1f6Smrg		;;
111098af18c5Smrg	tile*)
111198af18c5Smrg		basic_machine=tile-unknown
111298af18c5Smrg		os=-linux-gnu
111398af18c5Smrg		;;
11146f03b1f6Smrg	tx39)
11156f03b1f6Smrg		basic_machine=mipstx39-unknown
11166f03b1f6Smrg		;;
11176f03b1f6Smrg	tx39el)
11186f03b1f6Smrg		basic_machine=mipstx39el-unknown
11196f03b1f6Smrg		;;
11206f03b1f6Smrg	toad1)
11216f03b1f6Smrg		basic_machine=pdp10-xkl
11226f03b1f6Smrg		os=-tops20
11236f03b1f6Smrg		;;
11246f03b1f6Smrg	tower | tower-32)
11256f03b1f6Smrg		basic_machine=m68k-ncr
11266f03b1f6Smrg		;;
11276f03b1f6Smrg	tpf)
11286f03b1f6Smrg		basic_machine=s390x-ibm
11296f03b1f6Smrg		os=-tpf
11306f03b1f6Smrg		;;
11316f03b1f6Smrg	udi29k)
11326f03b1f6Smrg		basic_machine=a29k-amd
11336f03b1f6Smrg		os=-udi
11346f03b1f6Smrg		;;
11356f03b1f6Smrg	ultra3)
11366f03b1f6Smrg		basic_machine=a29k-nyu
11376f03b1f6Smrg		os=-sym1
11386f03b1f6Smrg		;;
11396f03b1f6Smrg	v810 | necv810)
11406f03b1f6Smrg		basic_machine=v810-nec
11416f03b1f6Smrg		os=-none
11426f03b1f6Smrg		;;
11436f03b1f6Smrg	vaxv)
11446f03b1f6Smrg		basic_machine=vax-dec
11456f03b1f6Smrg		os=-sysv
11466f03b1f6Smrg		;;
11476f03b1f6Smrg	vms)
11486f03b1f6Smrg		basic_machine=vax-dec
11496f03b1f6Smrg		os=-vms
11506f03b1f6Smrg		;;
11516f03b1f6Smrg	vpp*|vx|vx-*)
11526f03b1f6Smrg		basic_machine=f301-fujitsu
11536f03b1f6Smrg		;;
11546f03b1f6Smrg	vxworks960)
11556f03b1f6Smrg		basic_machine=i960-wrs
11566f03b1f6Smrg		os=-vxworks
11576f03b1f6Smrg		;;
11586f03b1f6Smrg	vxworks68)
11596f03b1f6Smrg		basic_machine=m68k-wrs
11606f03b1f6Smrg		os=-vxworks
11616f03b1f6Smrg		;;
11626f03b1f6Smrg	vxworks29k)
11636f03b1f6Smrg		basic_machine=a29k-wrs
11646f03b1f6Smrg		os=-vxworks
11656f03b1f6Smrg		;;
11666f03b1f6Smrg	w65*)
11676f03b1f6Smrg		basic_machine=w65-wdc
11686f03b1f6Smrg		os=-none
11696f03b1f6Smrg		;;
11706f03b1f6Smrg	w89k-*)
11716f03b1f6Smrg		basic_machine=hppa1.1-winbond
11726f03b1f6Smrg		os=-proelf
11736f03b1f6Smrg		;;
11746f03b1f6Smrg	xbox)
11756f03b1f6Smrg		basic_machine=i686-pc
11766f03b1f6Smrg		os=-mingw32
11776f03b1f6Smrg		;;
11786f03b1f6Smrg	xps | xps100)
11796f03b1f6Smrg		basic_machine=xps100-honeywell
11806f03b1f6Smrg		;;
11816f03b1f6Smrg	ymp)
11826f03b1f6Smrg		basic_machine=ymp-cray
11836f03b1f6Smrg		os=-unicos
11846f03b1f6Smrg		;;
11856f03b1f6Smrg	z8k-*-coff)
11866f03b1f6Smrg		basic_machine=z8k-unknown
11876f03b1f6Smrg		os=-sim
11886f03b1f6Smrg		;;
1189356f6debSmrg	z80-*-coff)
1190356f6debSmrg		basic_machine=z80-unknown
1191356f6debSmrg		os=-sim
1192356f6debSmrg		;;
11936f03b1f6Smrg	none)
11946f03b1f6Smrg		basic_machine=none-none
11956f03b1f6Smrg		os=-none
11966f03b1f6Smrg		;;
11976f03b1f6Smrg
11986f03b1f6Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11996f03b1f6Smrg# some cases the only manufacturer, in others, it is the most popular.
12006f03b1f6Smrg	w89k)
12016f03b1f6Smrg		basic_machine=hppa1.1-winbond
12026f03b1f6Smrg		;;
12036f03b1f6Smrg	op50n)
12046f03b1f6Smrg		basic_machine=hppa1.1-oki
12056f03b1f6Smrg		;;
12066f03b1f6Smrg	op60c)
12076f03b1f6Smrg		basic_machine=hppa1.1-oki
12086f03b1f6Smrg		;;
12096f03b1f6Smrg	romp)
12106f03b1f6Smrg		basic_machine=romp-ibm
12116f03b1f6Smrg		;;
12126f03b1f6Smrg	mmix)
12136f03b1f6Smrg		basic_machine=mmix-knuth
12146f03b1f6Smrg		;;
12156f03b1f6Smrg	rs6000)
12166f03b1f6Smrg		basic_machine=rs6000-ibm
12176f03b1f6Smrg		;;
12186f03b1f6Smrg	vax)
12196f03b1f6Smrg		basic_machine=vax-dec
12206f03b1f6Smrg		;;
12216f03b1f6Smrg	pdp10)
12226f03b1f6Smrg		# there are many clones, so DEC is not a safe bet
12236f03b1f6Smrg		basic_machine=pdp10-unknown
12246f03b1f6Smrg		;;
12256f03b1f6Smrg	pdp11)
12266f03b1f6Smrg		basic_machine=pdp11-dec
12276f03b1f6Smrg		;;
12286f03b1f6Smrg	we32k)
12296f03b1f6Smrg		basic_machine=we32k-att
12306f03b1f6Smrg		;;
1231356f6debSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12326f03b1f6Smrg		basic_machine=sh-unknown
12336f03b1f6Smrg		;;
123498af18c5Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12356f03b1f6Smrg		basic_machine=sparc-sun
12366f03b1f6Smrg		;;
12376f03b1f6Smrg	cydra)
12386f03b1f6Smrg		basic_machine=cydra-cydrome
12396f03b1f6Smrg		;;
12406f03b1f6Smrg	orion)
12416f03b1f6Smrg		basic_machine=orion-highlevel
12426f03b1f6Smrg		;;
12436f03b1f6Smrg	orion105)
12446f03b1f6Smrg		basic_machine=clipper-highlevel
12456f03b1f6Smrg		;;
12466f03b1f6Smrg	mac | mpw | mac-mpw)
12476f03b1f6Smrg		basic_machine=m68k-apple
12486f03b1f6Smrg		;;
12496f03b1f6Smrg	pmac | pmac-mpw)
12506f03b1f6Smrg		basic_machine=powerpc-apple
12516f03b1f6Smrg		;;
12526f03b1f6Smrg	*-unknown)
12536f03b1f6Smrg		# Make sure to match an already-canonicalized machine name.
12546f03b1f6Smrg		;;
12556f03b1f6Smrg	*)
12566f03b1f6Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12576f03b1f6Smrg		exit 1
12586f03b1f6Smrg		;;
12596f03b1f6Smrgesac
12606f03b1f6Smrg
12616f03b1f6Smrg# Here we canonicalize certain aliases for manufacturers.
12626f03b1f6Smrgcase $basic_machine in
12636f03b1f6Smrg	*-digital*)
12646f03b1f6Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12656f03b1f6Smrg		;;
12666f03b1f6Smrg	*-commodore*)
12676f03b1f6Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12686f03b1f6Smrg		;;
12696f03b1f6Smrg	*)
12706f03b1f6Smrg		;;
12716f03b1f6Smrgesac
12726f03b1f6Smrg
12736f03b1f6Smrg# Decode manufacturer-specific aliases for certain operating systems.
12746f03b1f6Smrg
12756f03b1f6Smrgif [ x"$os" != x"" ]
12766f03b1f6Smrgthen
12776f03b1f6Smrgcase $os in
12786f03b1f6Smrg        # First match some system type aliases
12796f03b1f6Smrg        # that might get confused with valid system types.
12806f03b1f6Smrg	# -solaris* is a basic system type, with this one exception.
1281356f6debSmrg        -auroraux)
1282356f6debSmrg	        os=-auroraux
1283356f6debSmrg		;;
12846f03b1f6Smrg	-solaris1 | -solaris1.*)
12856f03b1f6Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12866f03b1f6Smrg		;;
12876f03b1f6Smrg	-solaris)
12886f03b1f6Smrg		os=-solaris2
12896f03b1f6Smrg		;;
12906f03b1f6Smrg	-svr4*)
12916f03b1f6Smrg		os=-sysv4
12926f03b1f6Smrg		;;
12936f03b1f6Smrg	-unixware*)
12946f03b1f6Smrg		os=-sysv4.2uw
12956f03b1f6Smrg		;;
12966f03b1f6Smrg	-gnu/linux*)
12976f03b1f6Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12986f03b1f6Smrg		;;
12996f03b1f6Smrg	# First accept the basic system types.
13006f03b1f6Smrg	# The portable systems comes first.
13016f03b1f6Smrg	# Each alternative MUST END IN A *, to match a version number.
13026f03b1f6Smrg	# -sysv* is not here because it comes later, after sysvr4.
13036f03b1f6Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304356f6debSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305356f6debSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306356f6debSmrg	      | -sym* | -kopensolaris* \
13076f03b1f6Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308356f6debSmrg	      | -aos* | -aros* \
13096f03b1f6Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13106f03b1f6Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13116f03b1f6Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13126f03b1f6Smrg	      | -openbsd* | -solidbsd* \
13136f03b1f6Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13146f03b1f6Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13156f03b1f6Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13166f03b1f6Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317356f6debSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13186f03b1f6Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
131942941e3bSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
132042941e3bSmrg	      | -linux-newlib* | -linux-uclibc* \
13216f03b1f6Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13226f03b1f6Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13236f03b1f6Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13246f03b1f6Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13256f03b1f6Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13266f03b1f6Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13276f03b1f6Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328356f6debSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13296f03b1f6Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13306f03b1f6Smrg		;;
13316f03b1f6Smrg	-qnx*)
13326f03b1f6Smrg		case $basic_machine in
13336f03b1f6Smrg		    x86-* | i*86-*)
13346f03b1f6Smrg			;;
13356f03b1f6Smrg		    *)
13366f03b1f6Smrg			os=-nto$os
13376f03b1f6Smrg			;;
13386f03b1f6Smrg		esac
13396f03b1f6Smrg		;;
13406f03b1f6Smrg	-nto-qnx*)
13416f03b1f6Smrg		;;
13426f03b1f6Smrg	-nto*)
13436f03b1f6Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13446f03b1f6Smrg		;;
13456f03b1f6Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13466f03b1f6Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13476f03b1f6Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13486f03b1f6Smrg		;;
13496f03b1f6Smrg	-mac*)
13506f03b1f6Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13516f03b1f6Smrg		;;
13526f03b1f6Smrg	-linux-dietlibc)
13536f03b1f6Smrg		os=-linux-dietlibc
13546f03b1f6Smrg		;;
13556f03b1f6Smrg	-linux*)
13566f03b1f6Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13576f03b1f6Smrg		;;
13586f03b1f6Smrg	-sunos5*)
13596f03b1f6Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13606f03b1f6Smrg		;;
13616f03b1f6Smrg	-sunos6*)
13626f03b1f6Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13636f03b1f6Smrg		;;
13646f03b1f6Smrg	-opened*)
13656f03b1f6Smrg		os=-openedition
13666f03b1f6Smrg		;;
13676f03b1f6Smrg        -os400*)
13686f03b1f6Smrg		os=-os400
13696f03b1f6Smrg		;;
13706f03b1f6Smrg	-wince*)
13716f03b1f6Smrg		os=-wince
13726f03b1f6Smrg		;;
13736f03b1f6Smrg	-osfrose*)
13746f03b1f6Smrg		os=-osfrose
13756f03b1f6Smrg		;;
13766f03b1f6Smrg	-osf*)
13776f03b1f6Smrg		os=-osf
13786f03b1f6Smrg		;;
13796f03b1f6Smrg	-utek*)
13806f03b1f6Smrg		os=-bsd
13816f03b1f6Smrg		;;
13826f03b1f6Smrg	-dynix*)
13836f03b1f6Smrg		os=-bsd
13846f03b1f6Smrg		;;
13856f03b1f6Smrg	-acis*)
13866f03b1f6Smrg		os=-aos
13876f03b1f6Smrg		;;
13886f03b1f6Smrg	-atheos*)
13896f03b1f6Smrg		os=-atheos
13906f03b1f6Smrg		;;
13916f03b1f6Smrg	-syllable*)
13926f03b1f6Smrg		os=-syllable
13936f03b1f6Smrg		;;
13946f03b1f6Smrg	-386bsd)
13956f03b1f6Smrg		os=-bsd
13966f03b1f6Smrg		;;
13976f03b1f6Smrg	-ctix* | -uts*)
13986f03b1f6Smrg		os=-sysv
13996f03b1f6Smrg		;;
14006f03b1f6Smrg	-nova*)
14016f03b1f6Smrg		os=-rtmk-nova
14026f03b1f6Smrg		;;
14036f03b1f6Smrg	-ns2 )
14046f03b1f6Smrg		os=-nextstep2
14056f03b1f6Smrg		;;
14066f03b1f6Smrg	-nsk*)
14076f03b1f6Smrg		os=-nsk
14086f03b1f6Smrg		;;
14096f03b1f6Smrg	# Preserve the version number of sinix5.
14106f03b1f6Smrg	-sinix5.*)
14116f03b1f6Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14126f03b1f6Smrg		;;
14136f03b1f6Smrg	-sinix*)
14146f03b1f6Smrg		os=-sysv4
14156f03b1f6Smrg		;;
14166f03b1f6Smrg        -tpf*)
14176f03b1f6Smrg		os=-tpf
14186f03b1f6Smrg		;;
14196f03b1f6Smrg	-triton*)
14206f03b1f6Smrg		os=-sysv3
14216f03b1f6Smrg		;;
14226f03b1f6Smrg	-oss*)
14236f03b1f6Smrg		os=-sysv3
14246f03b1f6Smrg		;;
14256f03b1f6Smrg	-svr4)
14266f03b1f6Smrg		os=-sysv4
14276f03b1f6Smrg		;;
14286f03b1f6Smrg	-svr3)
14296f03b1f6Smrg		os=-sysv3
14306f03b1f6Smrg		;;
14316f03b1f6Smrg	-sysvr4)
14326f03b1f6Smrg		os=-sysv4
14336f03b1f6Smrg		;;
14346f03b1f6Smrg	# This must come after -sysvr4.
14356f03b1f6Smrg	-sysv*)
14366f03b1f6Smrg		;;
14376f03b1f6Smrg	-ose*)
14386f03b1f6Smrg		os=-ose
14396f03b1f6Smrg		;;
14406f03b1f6Smrg	-es1800*)
14416f03b1f6Smrg		os=-ose
14426f03b1f6Smrg		;;
14436f03b1f6Smrg	-xenix)
14446f03b1f6Smrg		os=-xenix
14456f03b1f6Smrg		;;
14466f03b1f6Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14476f03b1f6Smrg		os=-mint
14486f03b1f6Smrg		;;
14496f03b1f6Smrg	-aros*)
14506f03b1f6Smrg		os=-aros
14516f03b1f6Smrg		;;
14526f03b1f6Smrg	-kaos*)
14536f03b1f6Smrg		os=-kaos
14546f03b1f6Smrg		;;
14556f03b1f6Smrg	-zvmoe)
14566f03b1f6Smrg		os=-zvmoe
14576f03b1f6Smrg		;;
1458356f6debSmrg	-dicos*)
1459356f6debSmrg		os=-dicos
1460356f6debSmrg		;;
146142941e3bSmrg        -nacl*)
146242941e3bSmrg	        ;;
14636f03b1f6Smrg	-none)
14646f03b1f6Smrg		;;
14656f03b1f6Smrg	*)
14666f03b1f6Smrg		# Get rid of the `-' at the beginning of $os.
14676f03b1f6Smrg		os=`echo $os | sed 's/[^-]*-//'`
14686f03b1f6Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14696f03b1f6Smrg		exit 1
14706f03b1f6Smrg		;;
14716f03b1f6Smrgesac
14726f03b1f6Smrgelse
14736f03b1f6Smrg
14746f03b1f6Smrg# Here we handle the default operating systems that come with various machines.
14756f03b1f6Smrg# The value should be what the vendor currently ships out the door with their
14766f03b1f6Smrg# machine or put another way, the most popular os provided with the machine.
14776f03b1f6Smrg
14786f03b1f6Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14796f03b1f6Smrg# "-sun"), then you have to tell the case statement up towards the top
14806f03b1f6Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14816f03b1f6Smrg# will signal an error saying that MANUFACTURER isn't an operating
14826f03b1f6Smrg# system, and we'll never get to this point.
14836f03b1f6Smrg
14846f03b1f6Smrgcase $basic_machine in
148598af18c5Smrg        score-*)
148698af18c5Smrg		os=-elf
148798af18c5Smrg		;;
148898af18c5Smrg        spu-*)
148998af18c5Smrg		os=-elf
149098af18c5Smrg		;;
14916f03b1f6Smrg	*-acorn)
14926f03b1f6Smrg		os=-riscix1.2
14936f03b1f6Smrg		;;
14946f03b1f6Smrg	arm*-rebel)
14956f03b1f6Smrg		os=-linux
14966f03b1f6Smrg		;;
14976f03b1f6Smrg	arm*-semi)
14986f03b1f6Smrg		os=-aout
14996f03b1f6Smrg		;;
150098af18c5Smrg        c4x-* | tic4x-*)
150198af18c5Smrg        	os=-coff
150298af18c5Smrg		;;
150342941e3bSmrg	tic54x-*)
150442941e3bSmrg		os=-coff
150542941e3bSmrg		;;
150642941e3bSmrg	tic55x-*)
150742941e3bSmrg		os=-coff
150842941e3bSmrg		;;
150942941e3bSmrg	tic6x-*)
151042941e3bSmrg		os=-coff
151142941e3bSmrg		;;
15126f03b1f6Smrg	# This must come before the *-dec entry.
15136f03b1f6Smrg	pdp10-*)
15146f03b1f6Smrg		os=-tops20
15156f03b1f6Smrg		;;
15166f03b1f6Smrg	pdp11-*)
15176f03b1f6Smrg		os=-none
15186f03b1f6Smrg		;;
15196f03b1f6Smrg	*-dec | vax-*)
15206f03b1f6Smrg		os=-ultrix4.2
15216f03b1f6Smrg		;;
15226f03b1f6Smrg	m68*-apollo)
15236f03b1f6Smrg		os=-domain
15246f03b1f6Smrg		;;
15256f03b1f6Smrg	i386-sun)
15266f03b1f6Smrg		os=-sunos4.0.2
15276f03b1f6Smrg		;;
15286f03b1f6Smrg	m68000-sun)
15296f03b1f6Smrg		os=-sunos3
15306f03b1f6Smrg		# This also exists in the configure program, but was not the
15316f03b1f6Smrg		# default.
15326f03b1f6Smrg		# os=-sunos4
15336f03b1f6Smrg		;;
15346f03b1f6Smrg	m68*-cisco)
15356f03b1f6Smrg		os=-aout
15366f03b1f6Smrg		;;
153798af18c5Smrg        mep-*)
153898af18c5Smrg		os=-elf
153998af18c5Smrg		;;
15406f03b1f6Smrg	mips*-cisco)
15416f03b1f6Smrg		os=-elf
15426f03b1f6Smrg		;;
15436f03b1f6Smrg	mips*-*)
15446f03b1f6Smrg		os=-elf
15456f03b1f6Smrg		;;
15466f03b1f6Smrg	or32-*)
15476f03b1f6Smrg		os=-coff
15486f03b1f6Smrg		;;
15496f03b1f6Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15506f03b1f6Smrg		os=-sysv3
15516f03b1f6Smrg		;;
15526f03b1f6Smrg	sparc-* | *-sun)
15536f03b1f6Smrg		os=-sunos4.1.1
15546f03b1f6Smrg		;;
15556f03b1f6Smrg	*-be)
15566f03b1f6Smrg		os=-beos
15576f03b1f6Smrg		;;
15586f03b1f6Smrg	*-haiku)
15596f03b1f6Smrg		os=-haiku
15606f03b1f6Smrg		;;
15616f03b1f6Smrg	*-ibm)
15626f03b1f6Smrg		os=-aix
15636f03b1f6Smrg		;;
15646f03b1f6Smrg    	*-knuth)
15656f03b1f6Smrg		os=-mmixware
15666f03b1f6Smrg		;;
15676f03b1f6Smrg	*-wec)
15686f03b1f6Smrg		os=-proelf
15696f03b1f6Smrg		;;
15706f03b1f6Smrg	*-winbond)
15716f03b1f6Smrg		os=-proelf
15726f03b1f6Smrg		;;
15736f03b1f6Smrg	*-oki)
15746f03b1f6Smrg		os=-proelf
15756f03b1f6Smrg		;;
15766f03b1f6Smrg	*-hp)
15776f03b1f6Smrg		os=-hpux
15786f03b1f6Smrg		;;
15796f03b1f6Smrg	*-hitachi)
15806f03b1f6Smrg		os=-hiux
15816f03b1f6Smrg		;;
15826f03b1f6Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15836f03b1f6Smrg		os=-sysv
15846f03b1f6Smrg		;;
15856f03b1f6Smrg	*-cbm)
15866f03b1f6Smrg		os=-amigaos
15876f03b1f6Smrg		;;
15886f03b1f6Smrg	*-dg)
15896f03b1f6Smrg		os=-dgux
15906f03b1f6Smrg		;;
15916f03b1f6Smrg	*-dolphin)
15926f03b1f6Smrg		os=-sysv3
15936f03b1f6Smrg		;;
15946f03b1f6Smrg	m68k-ccur)
15956f03b1f6Smrg		os=-rtu
15966f03b1f6Smrg		;;
15976f03b1f6Smrg	m88k-omron*)
15986f03b1f6Smrg		os=-luna
15996f03b1f6Smrg		;;
16006f03b1f6Smrg	*-next )
16016f03b1f6Smrg		os=-nextstep
16026f03b1f6Smrg		;;
16036f03b1f6Smrg	*-sequent)
16046f03b1f6Smrg		os=-ptx
16056f03b1f6Smrg		;;
16066f03b1f6Smrg	*-crds)
16076f03b1f6Smrg		os=-unos
16086f03b1f6Smrg		;;
16096f03b1f6Smrg	*-ns)
16106f03b1f6Smrg		os=-genix
16116f03b1f6Smrg		;;
16126f03b1f6Smrg	i370-*)
16136f03b1f6Smrg		os=-mvs
16146f03b1f6Smrg		;;
16156f03b1f6Smrg	*-next)
16166f03b1f6Smrg		os=-nextstep3
16176f03b1f6Smrg		;;
16186f03b1f6Smrg	*-gould)
16196f03b1f6Smrg		os=-sysv
16206f03b1f6Smrg		;;
16216f03b1f6Smrg	*-highlevel)
16226f03b1f6Smrg		os=-bsd
16236f03b1f6Smrg		;;
16246f03b1f6Smrg	*-encore)
16256f03b1f6Smrg		os=-bsd
16266f03b1f6Smrg		;;
16276f03b1f6Smrg	*-sgi)
16286f03b1f6Smrg		os=-irix
16296f03b1f6Smrg		;;
16306f03b1f6Smrg	*-siemens)
16316f03b1f6Smrg		os=-sysv4
16326f03b1f6Smrg		;;
16336f03b1f6Smrg	*-masscomp)
16346f03b1f6Smrg		os=-rtu
16356f03b1f6Smrg		;;
16366f03b1f6Smrg	f30[01]-fujitsu | f700-fujitsu)
16376f03b1f6Smrg		os=-uxpv
16386f03b1f6Smrg		;;
16396f03b1f6Smrg	*-rom68k)
16406f03b1f6Smrg		os=-coff
16416f03b1f6Smrg		;;
16426f03b1f6Smrg	*-*bug)
16436f03b1f6Smrg		os=-coff
16446f03b1f6Smrg		;;
16456f03b1f6Smrg	*-apple)
16466f03b1f6Smrg		os=-macos
16476f03b1f6Smrg		;;
16486f03b1f6Smrg	*-atari*)
16496f03b1f6Smrg		os=-mint
16506f03b1f6Smrg		;;
16516f03b1f6Smrg	*)
16526f03b1f6Smrg		os=-none
16536f03b1f6Smrg		;;
16546f03b1f6Smrgesac
16556f03b1f6Smrgfi
16566f03b1f6Smrg
16576f03b1f6Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16586f03b1f6Smrg# manufacturer.  We pick the logical manufacturer.
16596f03b1f6Smrgvendor=unknown
16606f03b1f6Smrgcase $basic_machine in
16616f03b1f6Smrg	*-unknown)
16626f03b1f6Smrg		case $os in
16636f03b1f6Smrg			-riscix*)
16646f03b1f6Smrg				vendor=acorn
16656f03b1f6Smrg				;;
16666f03b1f6Smrg			-sunos*)
16676f03b1f6Smrg				vendor=sun
16686f03b1f6Smrg				;;
1669356f6debSmrg			-cnk*|-aix*)
16706f03b1f6Smrg				vendor=ibm
16716f03b1f6Smrg				;;
16726f03b1f6Smrg			-beos*)
16736f03b1f6Smrg				vendor=be
16746f03b1f6Smrg				;;
16756f03b1f6Smrg			-hpux*)
16766f03b1f6Smrg				vendor=hp
16776f03b1f6Smrg				;;
16786f03b1f6Smrg			-mpeix*)
16796f03b1f6Smrg				vendor=hp
16806f03b1f6Smrg				;;
16816f03b1f6Smrg			-hiux*)
16826f03b1f6Smrg				vendor=hitachi
16836f03b1f6Smrg				;;
16846f03b1f6Smrg			-unos*)
16856f03b1f6Smrg				vendor=crds
16866f03b1f6Smrg				;;
16876f03b1f6Smrg			-dgux*)
16886f03b1f6Smrg				vendor=dg
16896f03b1f6Smrg				;;
16906f03b1f6Smrg			-luna*)
16916f03b1f6Smrg				vendor=omron
16926f03b1f6Smrg				;;
16936f03b1f6Smrg			-genix*)
16946f03b1f6Smrg				vendor=ns
16956f03b1f6Smrg				;;
16966f03b1f6Smrg			-mvs* | -opened*)
16976f03b1f6Smrg				vendor=ibm
16986f03b1f6Smrg				;;
16996f03b1f6Smrg			-os400*)
17006f03b1f6Smrg				vendor=ibm
17016f03b1f6Smrg				;;
17026f03b1f6Smrg			-ptx*)
17036f03b1f6Smrg				vendor=sequent
17046f03b1f6Smrg				;;
17056f03b1f6Smrg			-tpf*)
17066f03b1f6Smrg				vendor=ibm
17076f03b1f6Smrg				;;
17086f03b1f6Smrg			-vxsim* | -vxworks* | -windiss*)
17096f03b1f6Smrg				vendor=wrs
17106f03b1f6Smrg				;;
17116f03b1f6Smrg			-aux*)
17126f03b1f6Smrg				vendor=apple
17136f03b1f6Smrg				;;
17146f03b1f6Smrg			-hms*)
17156f03b1f6Smrg				vendor=hitachi
17166f03b1f6Smrg				;;
17176f03b1f6Smrg			-mpw* | -macos*)
17186f03b1f6Smrg				vendor=apple
17196f03b1f6Smrg				;;
17206f03b1f6Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17216f03b1f6Smrg				vendor=atari
17226f03b1f6Smrg				;;
17236f03b1f6Smrg			-vos*)
17246f03b1f6Smrg				vendor=stratus
17256f03b1f6Smrg				;;
17266f03b1f6Smrg		esac
17276f03b1f6Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17286f03b1f6Smrg		;;
17296f03b1f6Smrgesac
17306f03b1f6Smrg
17316f03b1f6Smrgecho $basic_machine$os
17326f03b1f6Smrgexit
17336f03b1f6Smrg
17346f03b1f6Smrg# Local variables:
17356f03b1f6Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17366f03b1f6Smrg# time-stamp-start: "timestamp='"
17376f03b1f6Smrg# time-stamp-format: "%:y-%02m-%02d"
17386f03b1f6Smrg# time-stamp-end: "'"
17396f03b1f6Smrg# End:
1740