config.sub revision d5c3dbf1
19f606849Smrg#! /bin/sh
29f606849Smrg# Configuration validation subroutine script.
39f606849Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4d5c3dbf1Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5fba89afeSmrg#   Free Software Foundation, Inc.
69f606849Smrg
7d5c3dbf1Smrgtimestamp='2010-09-11'
89f606849Smrg
99f606849Smrg# This file is (in principle) common to ALL GNU software.
109f606849Smrg# The presence of a machine in this file suggests that SOME GNU software
119f606849Smrg# can handle that machine.  It does not imply ALL GNU software can.
129f606849Smrg#
139f606849Smrg# This file is free software; you can redistribute it and/or modify
149f606849Smrg# it under the terms of the GNU General Public License as published by
159f606849Smrg# the Free Software Foundation; either version 2 of the License, or
169f606849Smrg# (at your option) any later version.
179f606849Smrg#
189f606849Smrg# This program is distributed in the hope that it will be useful,
199f606849Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
209f606849Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
219f606849Smrg# GNU General Public License for more details.
229f606849Smrg#
239f606849Smrg# You should have received a copy of the GNU General Public License
249f606849Smrg# along with this program; if not, write to the Free Software
259f606849Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269f606849Smrg# 02110-1301, USA.
279f606849Smrg#
289f606849Smrg# As a special exception to the GNU General Public License, if you
299f606849Smrg# distribute this file as part of a program that contains a
309f606849Smrg# configuration script generated by Autoconf, you may include it under
319f606849Smrg# the same distribution terms that you use for the rest of that program.
329f606849Smrg
339f606849Smrg
349f606849Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35d5c3dbf1Smrg# diff and a properly formatted GNU ChangeLog entry.
369f606849Smrg#
379f606849Smrg# Configuration subroutine to validate and canonicalize a configuration type.
389f606849Smrg# Supply the specified configuration type as an argument.
399f606849Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
409f606849Smrg# Otherwise, we print the canonical config type on stdout and succeed.
419f606849Smrg
42d5c3dbf1Smrg# You can get the latest version of this script from:
43d5c3dbf1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44d5c3dbf1Smrg
459f606849Smrg# This file is supposed to be the same for all GNU packages
469f606849Smrg# and recognize all the CPU types, system types and aliases
479f606849Smrg# that are meaningful with *any* GNU software.
489f606849Smrg# Each package is responsible for reporting which valid configurations
499f606849Smrg# it does not support.  The user should be able to distinguish
509f606849Smrg# a failure to support a valid configuration from a meaningless
519f606849Smrg# configuration.
529f606849Smrg
539f606849Smrg# The goal of this file is to map all the various variations of a given
549f606849Smrg# machine specification into a single specification in the form:
559f606849Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
569f606849Smrg# or in some cases, the newer four-part form:
579f606849Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
589f606849Smrg# It is wrong to echo any other type of specification.
599f606849Smrg
609f606849Smrgme=`echo "$0" | sed -e 's,.*/,,'`
619f606849Smrg
629f606849Smrgusage="\
639f606849SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
649f606849Smrg       $0 [OPTION] ALIAS
659f606849Smrg
669f606849SmrgCanonicalize a configuration name.
679f606849Smrg
689f606849SmrgOperation modes:
699f606849Smrg  -h, --help         print this help, then exit
709f606849Smrg  -t, --time-stamp   print date of last modification, then exit
719f606849Smrg  -v, --version      print version number, then exit
729f606849Smrg
739f606849SmrgReport bugs and patches to <config-patches@gnu.org>."
749f606849Smrg
759f606849Smrgversion="\
769f606849SmrgGNU config.sub ($timestamp)
779f606849Smrg
78d5c3dbf1SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79d5c3dbf1Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80d5c3dbf1SmrgSoftware Foundation, Inc.
819f606849Smrg
829f606849SmrgThis is free software; see the source for copying conditions.  There is NO
839f606849Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
849f606849Smrg
859f606849Smrghelp="
869f606849SmrgTry \`$me --help' for more information."
879f606849Smrg
889f606849Smrg# Parse command line
899f606849Smrgwhile test $# -gt 0 ; do
909f606849Smrg  case $1 in
919f606849Smrg    --time-stamp | --time* | -t )
929f606849Smrg       echo "$timestamp" ; exit ;;
939f606849Smrg    --version | -v )
949f606849Smrg       echo "$version" ; exit ;;
959f606849Smrg    --help | --h* | -h )
969f606849Smrg       echo "$usage"; exit ;;
979f606849Smrg    -- )     # Stop option processing
989f606849Smrg       shift; break ;;
999f606849Smrg    - )	# Use stdin as input.
1009f606849Smrg       break ;;
1019f606849Smrg    -* )
1029f606849Smrg       echo "$me: invalid option $1$help"
1039f606849Smrg       exit 1 ;;
1049f606849Smrg
1059f606849Smrg    *local*)
1069f606849Smrg       # First pass through any local machine types.
1079f606849Smrg       echo $1
1089f606849Smrg       exit ;;
1099f606849Smrg
1109f606849Smrg    * )
1119f606849Smrg       break ;;
1129f606849Smrg  esac
1139f606849Smrgdone
1149f606849Smrg
1159f606849Smrgcase $# in
1169f606849Smrg 0) echo "$me: missing argument$help" >&2
1179f606849Smrg    exit 1;;
1189f606849Smrg 1) ;;
1199f606849Smrg *) echo "$me: too many arguments$help" >&2
1209f606849Smrg    exit 1;;
1219f606849Smrgesac
1229f606849Smrg
1239f606849Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1249f606849Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1259f606849Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1269f606849Smrgcase $maybe_os in
127d5c3dbf1Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128d5c3dbf1Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129d5c3dbf1Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
130d5c3dbf1Smrg  kopensolaris*-gnu* | \
1319f606849Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1329f606849Smrg    os=-$maybe_os
1339f606849Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1349f606849Smrg    ;;
1359f606849Smrg  *)
1369f606849Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1379f606849Smrg    if [ $basic_machine != $1 ]
1389f606849Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1399f606849Smrg    else os=; fi
1409f606849Smrg    ;;
1419f606849Smrgesac
1429f606849Smrg
1439f606849Smrg### Let's recognize common machines as not being operating systems so
1449f606849Smrg### that things like config.sub decstation-3100 work.  We also
1459f606849Smrg### recognize some manufacturers as not being operating systems, so we
1469f606849Smrg### can provide default operating systems below.
1479f606849Smrgcase $os in
1489f606849Smrg	-sun*os*)
1499f606849Smrg		# Prevent following clause from handling this invalid input.
1509f606849Smrg		;;
1519f606849Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1529f606849Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1539f606849Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1549f606849Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1559f606849Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1569f606849Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157d5c3dbf1Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1589f606849Smrg		os=
1599f606849Smrg		basic_machine=$1
1609f606849Smrg		;;
161d5c3dbf1Smrg        -bluegene*)
162d5c3dbf1Smrg	        os=-cnk
163d5c3dbf1Smrg		;;
1649f606849Smrg	-sim | -cisco | -oki | -wec | -winbond)
1659f606849Smrg		os=
1669f606849Smrg		basic_machine=$1
1679f606849Smrg		;;
1689f606849Smrg	-scout)
1699f606849Smrg		;;
1709f606849Smrg	-wrs)
1719f606849Smrg		os=-vxworks
1729f606849Smrg		basic_machine=$1
1739f606849Smrg		;;
1749f606849Smrg	-chorusos*)
1759f606849Smrg		os=-chorusos
1769f606849Smrg		basic_machine=$1
1779f606849Smrg		;;
1789f606849Smrg 	-chorusrdb)
1799f606849Smrg 		os=-chorusrdb
1809f606849Smrg		basic_machine=$1
1819f606849Smrg 		;;
1829f606849Smrg	-hiux*)
1839f606849Smrg		os=-hiuxwe2
1849f606849Smrg		;;
1859f606849Smrg	-sco6)
1869f606849Smrg		os=-sco5v6
1879f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1889f606849Smrg		;;
1899f606849Smrg	-sco5)
1909f606849Smrg		os=-sco3.2v5
1919f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1929f606849Smrg		;;
1939f606849Smrg	-sco4)
1949f606849Smrg		os=-sco3.2v4
1959f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1969f606849Smrg		;;
1979f606849Smrg	-sco3.2.[4-9]*)
1989f606849Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1999f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2009f606849Smrg		;;
2019f606849Smrg	-sco3.2v[4-9]*)
2029f606849Smrg		# Don't forget version if it is 3.2v4 or newer.
2039f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2049f606849Smrg		;;
2059f606849Smrg	-sco5v6*)
2069f606849Smrg		# Don't forget version if it is 3.2v4 or newer.
2079f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2089f606849Smrg		;;
2099f606849Smrg	-sco*)
2109f606849Smrg		os=-sco3.2v2
2119f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2129f606849Smrg		;;
2139f606849Smrg	-udk*)
2149f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2159f606849Smrg		;;
2169f606849Smrg	-isc)
2179f606849Smrg		os=-isc2.2
2189f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2199f606849Smrg		;;
2209f606849Smrg	-clix*)
2219f606849Smrg		basic_machine=clipper-intergraph
2229f606849Smrg		;;
2239f606849Smrg	-isc*)
2249f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2259f606849Smrg		;;
2269f606849Smrg	-lynx*)
2279f606849Smrg		os=-lynxos
2289f606849Smrg		;;
2299f606849Smrg	-ptx*)
2309f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2319f606849Smrg		;;
2329f606849Smrg	-windowsnt*)
2339f606849Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2349f606849Smrg		;;
2359f606849Smrg	-psos*)
2369f606849Smrg		os=-psos
2379f606849Smrg		;;
2389f606849Smrg	-mint | -mint[0-9]*)
2399f606849Smrg		basic_machine=m68k-atari
2409f606849Smrg		os=-mint
2419f606849Smrg		;;
2429f606849Smrgesac
2439f606849Smrg
2449f606849Smrg# Decode aliases for certain CPU-COMPANY combinations.
2459f606849Smrgcase $basic_machine in
2469f606849Smrg	# Recognize the basic CPU types without company name.
2479f606849Smrg	# Some are omitted here because they have special meanings below.
2489f606849Smrg	1750a | 580 \
2499f606849Smrg	| a29k \
2509f606849Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2519f606849Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2529f606849Smrg	| am33_2.0 \
253fba89afeSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2549f606849Smrg	| bfin \
2559f606849Smrg	| c4x | clipper \
2569f606849Smrg	| d10v | d30v | dlx | dsp16xx \
257fba89afeSmrg	| fido | fr30 | frv \
2589f606849Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2599f606849Smrg	| i370 | i860 | i960 | ia64 \
2609f606849Smrg	| ip2k | iq2000 \
261d5c3dbf1Smrg	| lm32 \
262fba89afeSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263d5c3dbf1Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2649f606849Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2659f606849Smrg	| mips16 \
2669f606849Smrg	| mips64 | mips64el \
267d5c3dbf1Smrg	| mips64octeon | mips64octeonel \
2689f606849Smrg	| mips64orion | mips64orionel \
269d5c3dbf1Smrg	| mips64r5900 | mips64r5900el \
270d5c3dbf1Smrg	| mips64vr | mips64vrel \
2719f606849Smrg	| mips64vr4100 | mips64vr4100el \
2729f606849Smrg	| mips64vr4300 | mips64vr4300el \
2739f606849Smrg	| mips64vr5000 | mips64vr5000el \
2749f606849Smrg	| mips64vr5900 | mips64vr5900el \
2759f606849Smrg	| mipsisa32 | mipsisa32el \
2769f606849Smrg	| mipsisa32r2 | mipsisa32r2el \
2779f606849Smrg	| mipsisa64 | mipsisa64el \
2789f606849Smrg	| mipsisa64r2 | mipsisa64r2el \
2799f606849Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2809f606849Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2819f606849Smrg	| mipstx39 | mipstx39el \
2829f606849Smrg	| mn10200 | mn10300 \
283d5c3dbf1Smrg	| moxie \
2849f606849Smrg	| mt \
2859f606849Smrg	| msp430 \
286d5c3dbf1Smrg	| nds32 | nds32le | nds32be \
287fba89afeSmrg	| nios | nios2 \
2889f606849Smrg	| ns16k | ns32k \
2899f606849Smrg	| or32 \
2909f606849Smrg	| pdp10 | pdp11 | pj | pjl \
2919f606849Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2929f606849Smrg	| pyramid \
293d5c3dbf1Smrg	| rx \
294fba89afeSmrg	| score \
295d5c3dbf1Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2969f606849Smrg	| sh64 | sh64le \
297fba89afeSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
298fba89afeSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
299fba89afeSmrg	| spu | strongarm \
300d5c3dbf1Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301d5c3dbf1Smrg	| ubicom32 \
3029f606849Smrg	| v850 | v850e \
3039f606849Smrg	| we32k \
304fba89afeSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305d5c3dbf1Smrg	| z8k | z80)
3069f606849Smrg		basic_machine=$basic_machine-unknown
3079f606849Smrg		;;
308d5c3dbf1Smrg	c54x)
309d5c3dbf1Smrg		basic_machine=tic54x-unknown
310d5c3dbf1Smrg		;;
311d5c3dbf1Smrg	c55x)
312d5c3dbf1Smrg		basic_machine=tic55x-unknown
313d5c3dbf1Smrg		;;
314d5c3dbf1Smrg	c6x)
315d5c3dbf1Smrg		basic_machine=tic6x-unknown
316d5c3dbf1Smrg		;;
317d5c3dbf1Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3189f606849Smrg		# Motorola 68HC11/12.
3199f606849Smrg		basic_machine=$basic_machine-unknown
3209f606849Smrg		os=-none
3219f606849Smrg		;;
3229f606849Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3239f606849Smrg		;;
3249f606849Smrg	ms1)
3259f606849Smrg		basic_machine=mt-unknown
3269f606849Smrg		;;
3279f606849Smrg
3289f606849Smrg	# We use `pc' rather than `unknown'
3299f606849Smrg	# because (1) that's what they normally are, and
3309f606849Smrg	# (2) the word "unknown" tends to confuse beginning users.
3319f606849Smrg	i*86 | x86_64)
3329f606849Smrg	  basic_machine=$basic_machine-pc
3339f606849Smrg	  ;;
3349f606849Smrg	# Object if more than one company name word.
3359f606849Smrg	*-*-*)
3369f606849Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3379f606849Smrg		exit 1
3389f606849Smrg		;;
3399f606849Smrg	# Recognize the basic CPU types with company name.
3409f606849Smrg	580-* \
3419f606849Smrg	| a29k-* \
3429f606849Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3439f606849Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3449f606849Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3459f606849Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
346fba89afeSmrg	| avr-* | avr32-* \
3479f606849Smrg	| bfin-* | bs2000-* \
348d5c3dbf1Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3499f606849Smrg	| clipper-* | craynv-* | cydra-* \
3509f606849Smrg	| d10v-* | d30v-* | dlx-* \
3519f606849Smrg	| elxsi-* \
352fba89afeSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3539f606849Smrg	| h8300-* | h8500-* \
3549f606849Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3559f606849Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3569f606849Smrg	| ip2k-* | iq2000-* \
357d5c3dbf1Smrg	| lm32-* \
358fba89afeSmrg	| m32c-* | m32r-* | m32rle-* \
3599f606849Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360d5c3dbf1Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3619f606849Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3629f606849Smrg	| mips16-* \
3639f606849Smrg	| mips64-* | mips64el-* \
364d5c3dbf1Smrg	| mips64octeon-* | mips64octeonel-* \
3659f606849Smrg	| mips64orion-* | mips64orionel-* \
366d5c3dbf1Smrg	| mips64r5900-* | mips64r5900el-* \
367d5c3dbf1Smrg	| mips64vr-* | mips64vrel-* \
3689f606849Smrg	| mips64vr4100-* | mips64vr4100el-* \
3699f606849Smrg	| mips64vr4300-* | mips64vr4300el-* \
3709f606849Smrg	| mips64vr5000-* | mips64vr5000el-* \
3719f606849Smrg	| mips64vr5900-* | mips64vr5900el-* \
3729f606849Smrg	| mipsisa32-* | mipsisa32el-* \
3739f606849Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3749f606849Smrg	| mipsisa64-* | mipsisa64el-* \
3759f606849Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3769f606849Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3779f606849Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3789f606849Smrg	| mipstx39-* | mipstx39el-* \
3799f606849Smrg	| mmix-* \
3809f606849Smrg	| mt-* \
3819f606849Smrg	| msp430-* \
382d5c3dbf1Smrg	| nds32-* | nds32le-* | nds32be-* \
383fba89afeSmrg	| nios-* | nios2-* \
3849f606849Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3859f606849Smrg	| orion-* \
3869f606849Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3879f606849Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3889f606849Smrg	| pyramid-* \
389d5c3dbf1Smrg	| romp-* | rs6000-* | rx-* \
390d5c3dbf1Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3919f606849Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
392fba89afeSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3939f606849Smrg	| sparclite-* \
394fba89afeSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3959f606849Smrg	| tahoe-* | thumb-* \
3969f606849Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397d5c3dbf1Smrg	| tile-* | tilegx-* \
3989f606849Smrg	| tron-* \
399d5c3dbf1Smrg	| ubicom32-* \
4009f606849Smrg	| v850-* | v850e-* | vax-* \
4019f606849Smrg	| we32k-* \
402fba89afeSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403fba89afeSmrg	| xstormy16-* | xtensa*-* \
4049f606849Smrg	| ymp-* \
405d5c3dbf1Smrg	| z8k-* | z80-*)
4069f606849Smrg		;;
407fba89afeSmrg	# Recognize the basic CPU types without company name, with glob match.
408fba89afeSmrg	xtensa*)
409fba89afeSmrg		basic_machine=$basic_machine-unknown
4109f606849Smrg		;;
4119f606849Smrg	# Recognize the various machine names and aliases which stand
4129f606849Smrg	# for a CPU type and a company and sometimes even an OS.
4139f606849Smrg	386bsd)
4149f606849Smrg		basic_machine=i386-unknown
4159f606849Smrg		os=-bsd
4169f606849Smrg		;;
4179f606849Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4189f606849Smrg		basic_machine=m68000-att
4199f606849Smrg		;;
4209f606849Smrg	3b*)
4219f606849Smrg		basic_machine=we32k-att
4229f606849Smrg		;;
4239f606849Smrg	a29khif)
4249f606849Smrg		basic_machine=a29k-amd
4259f606849Smrg		os=-udi
4269f606849Smrg		;;
4279f606849Smrg    	abacus)
4289f606849Smrg		basic_machine=abacus-unknown
4299f606849Smrg		;;
4309f606849Smrg	adobe68k)
4319f606849Smrg		basic_machine=m68010-adobe
4329f606849Smrg		os=-scout
4339f606849Smrg		;;
4349f606849Smrg	alliant | fx80)
4359f606849Smrg		basic_machine=fx80-alliant
4369f606849Smrg		;;
4379f606849Smrg	altos | altos3068)
4389f606849Smrg		basic_machine=m68k-altos
4399f606849Smrg		;;
4409f606849Smrg	am29k)
4419f606849Smrg		basic_machine=a29k-none
4429f606849Smrg		os=-bsd
4439f606849Smrg		;;
4449f606849Smrg	amd64)
4459f606849Smrg		basic_machine=x86_64-pc
4469f606849Smrg		;;
4479f606849Smrg	amd64-*)
4489f606849Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4499f606849Smrg		;;
4509f606849Smrg	amdahl)
4519f606849Smrg		basic_machine=580-amdahl
4529f606849Smrg		os=-sysv
4539f606849Smrg		;;
4549f606849Smrg	amiga | amiga-*)
4559f606849Smrg		basic_machine=m68k-unknown
4569f606849Smrg		;;
4579f606849Smrg	amigaos | amigados)
4589f606849Smrg		basic_machine=m68k-unknown
4599f606849Smrg		os=-amigaos
4609f606849Smrg		;;
4619f606849Smrg	amigaunix | amix)
4629f606849Smrg		basic_machine=m68k-unknown
4639f606849Smrg		os=-sysv4
4649f606849Smrg		;;
4659f606849Smrg	apollo68)
4669f606849Smrg		basic_machine=m68k-apollo
4679f606849Smrg		os=-sysv
4689f606849Smrg		;;
4699f606849Smrg	apollo68bsd)
4709f606849Smrg		basic_machine=m68k-apollo
4719f606849Smrg		os=-bsd
4729f606849Smrg		;;
473d5c3dbf1Smrg	aros)
474d5c3dbf1Smrg		basic_machine=i386-pc
475d5c3dbf1Smrg		os=-aros
476d5c3dbf1Smrg		;;
4779f606849Smrg	aux)
4789f606849Smrg		basic_machine=m68k-apple
4799f606849Smrg		os=-aux
4809f606849Smrg		;;
4819f606849Smrg	balance)
4829f606849Smrg		basic_machine=ns32k-sequent
4839f606849Smrg		os=-dynix
4849f606849Smrg		;;
485fba89afeSmrg	blackfin)
486fba89afeSmrg		basic_machine=bfin-unknown
487fba89afeSmrg		os=-linux
488fba89afeSmrg		;;
489fba89afeSmrg	blackfin-*)
490fba89afeSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491fba89afeSmrg		os=-linux
492fba89afeSmrg		;;
493d5c3dbf1Smrg	bluegene*)
494d5c3dbf1Smrg		basic_machine=powerpc-ibm
495d5c3dbf1Smrg		os=-cnk
496d5c3dbf1Smrg		;;
497d5c3dbf1Smrg	c54x-*)
498d5c3dbf1Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499d5c3dbf1Smrg		;;
500d5c3dbf1Smrg	c55x-*)
501d5c3dbf1Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502d5c3dbf1Smrg		;;
503d5c3dbf1Smrg	c6x-*)
504d5c3dbf1Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505d5c3dbf1Smrg		;;
5069f606849Smrg	c90)
5079f606849Smrg		basic_machine=c90-cray
5089f606849Smrg		os=-unicos
5099f606849Smrg		;;
510d5c3dbf1Smrg        cegcc)
511d5c3dbf1Smrg		basic_machine=arm-unknown
512d5c3dbf1Smrg		os=-cegcc
513d5c3dbf1Smrg		;;
5149f606849Smrg	convex-c1)
5159f606849Smrg		basic_machine=c1-convex
5169f606849Smrg		os=-bsd
5179f606849Smrg		;;
5189f606849Smrg	convex-c2)
5199f606849Smrg		basic_machine=c2-convex
5209f606849Smrg		os=-bsd
5219f606849Smrg		;;
5229f606849Smrg	convex-c32)
5239f606849Smrg		basic_machine=c32-convex
5249f606849Smrg		os=-bsd
5259f606849Smrg		;;
5269f606849Smrg	convex-c34)
5279f606849Smrg		basic_machine=c34-convex
5289f606849Smrg		os=-bsd
5299f606849Smrg		;;
5309f606849Smrg	convex-c38)
5319f606849Smrg		basic_machine=c38-convex
5329f606849Smrg		os=-bsd
5339f606849Smrg		;;
5349f606849Smrg	cray | j90)
5359f606849Smrg		basic_machine=j90-cray
5369f606849Smrg		os=-unicos
5379f606849Smrg		;;
5389f606849Smrg	craynv)
5399f606849Smrg		basic_machine=craynv-cray
5409f606849Smrg		os=-unicosmp
5419f606849Smrg		;;
542fba89afeSmrg	cr16)
543fba89afeSmrg		basic_machine=cr16-unknown
5449f606849Smrg		os=-elf
5459f606849Smrg		;;
5469f606849Smrg	crds | unos)
5479f606849Smrg		basic_machine=m68k-crds
5489f606849Smrg		;;
5499f606849Smrg	crisv32 | crisv32-* | etraxfs*)
5509f606849Smrg		basic_machine=crisv32-axis
5519f606849Smrg		;;
5529f606849Smrg	cris | cris-* | etrax*)
5539f606849Smrg		basic_machine=cris-axis
5549f606849Smrg		;;
5559f606849Smrg	crx)
5569f606849Smrg		basic_machine=crx-unknown
5579f606849Smrg		os=-elf
5589f606849Smrg		;;
5599f606849Smrg	da30 | da30-*)
5609f606849Smrg		basic_machine=m68k-da30
5619f606849Smrg		;;
5629f606849Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5639f606849Smrg		basic_machine=mips-dec
5649f606849Smrg		;;
5659f606849Smrg	decsystem10* | dec10*)
5669f606849Smrg		basic_machine=pdp10-dec
5679f606849Smrg		os=-tops10
5689f606849Smrg		;;
5699f606849Smrg	decsystem20* | dec20*)
5709f606849Smrg		basic_machine=pdp10-dec
5719f606849Smrg		os=-tops20
5729f606849Smrg		;;
5739f606849Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5749f606849Smrg	      | 3300-motorola | delta-motorola)
5759f606849Smrg		basic_machine=m68k-motorola
5769f606849Smrg		;;
5779f606849Smrg	delta88)
5789f606849Smrg		basic_machine=m88k-motorola
5799f606849Smrg		os=-sysv3
5809f606849Smrg		;;
581d5c3dbf1Smrg	dicos)
582d5c3dbf1Smrg		basic_machine=i686-pc
583d5c3dbf1Smrg		os=-dicos
584d5c3dbf1Smrg		;;
5859f606849Smrg	djgpp)
5869f606849Smrg		basic_machine=i586-pc
5879f606849Smrg		os=-msdosdjgpp
5889f606849Smrg		;;
5899f606849Smrg	dpx20 | dpx20-*)
5909f606849Smrg		basic_machine=rs6000-bull
5919f606849Smrg		os=-bosx
5929f606849Smrg		;;
5939f606849Smrg	dpx2* | dpx2*-bull)
5949f606849Smrg		basic_machine=m68k-bull
5959f606849Smrg		os=-sysv3
5969f606849Smrg		;;
5979f606849Smrg	ebmon29k)
5989f606849Smrg		basic_machine=a29k-amd
5999f606849Smrg		os=-ebmon
6009f606849Smrg		;;
6019f606849Smrg	elxsi)
6029f606849Smrg		basic_machine=elxsi-elxsi
6039f606849Smrg		os=-bsd
6049f606849Smrg		;;
6059f606849Smrg	encore | umax | mmax)
6069f606849Smrg		basic_machine=ns32k-encore
6079f606849Smrg		;;
6089f606849Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6099f606849Smrg		basic_machine=m68k-ericsson
6109f606849Smrg		os=-ose
6119f606849Smrg		;;
6129f606849Smrg	fx2800)
6139f606849Smrg		basic_machine=i860-alliant
6149f606849Smrg		;;
6159f606849Smrg	genix)
6169f606849Smrg		basic_machine=ns32k-ns
6179f606849Smrg		;;
6189f606849Smrg	gmicro)
6199f606849Smrg		basic_machine=tron-gmicro
6209f606849Smrg		os=-sysv
6219f606849Smrg		;;
6229f606849Smrg	go32)
6239f606849Smrg		basic_machine=i386-pc
6249f606849Smrg		os=-go32
6259f606849Smrg		;;
6269f606849Smrg	h3050r* | hiux*)
6279f606849Smrg		basic_machine=hppa1.1-hitachi
6289f606849Smrg		os=-hiuxwe2
6299f606849Smrg		;;
6309f606849Smrg	h8300hms)
6319f606849Smrg		basic_machine=h8300-hitachi
6329f606849Smrg		os=-hms
6339f606849Smrg		;;
6349f606849Smrg	h8300xray)
6359f606849Smrg		basic_machine=h8300-hitachi
6369f606849Smrg		os=-xray
6379f606849Smrg		;;
6389f606849Smrg	h8500hms)
6399f606849Smrg		basic_machine=h8500-hitachi
6409f606849Smrg		os=-hms
6419f606849Smrg		;;
6429f606849Smrg	harris)
6439f606849Smrg		basic_machine=m88k-harris
6449f606849Smrg		os=-sysv3
6459f606849Smrg		;;
6469f606849Smrg	hp300-*)
6479f606849Smrg		basic_machine=m68k-hp
6489f606849Smrg		;;
6499f606849Smrg	hp300bsd)
6509f606849Smrg		basic_machine=m68k-hp
6519f606849Smrg		os=-bsd
6529f606849Smrg		;;
6539f606849Smrg	hp300hpux)
6549f606849Smrg		basic_machine=m68k-hp
6559f606849Smrg		os=-hpux
6569f606849Smrg		;;
6579f606849Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6589f606849Smrg		basic_machine=hppa1.0-hp
6599f606849Smrg		;;
6609f606849Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6619f606849Smrg		basic_machine=m68000-hp
6629f606849Smrg		;;
6639f606849Smrg	hp9k3[2-9][0-9])
6649f606849Smrg		basic_machine=m68k-hp
6659f606849Smrg		;;
6669f606849Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6679f606849Smrg		basic_machine=hppa1.0-hp
6689f606849Smrg		;;
6699f606849Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6709f606849Smrg		basic_machine=hppa1.1-hp
6719f606849Smrg		;;
6729f606849Smrg	hp9k78[0-9] | hp78[0-9])
6739f606849Smrg		# FIXME: really hppa2.0-hp
6749f606849Smrg		basic_machine=hppa1.1-hp
6759f606849Smrg		;;
6769f606849Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6779f606849Smrg		# FIXME: really hppa2.0-hp
6789f606849Smrg		basic_machine=hppa1.1-hp
6799f606849Smrg		;;
6809f606849Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6819f606849Smrg		basic_machine=hppa1.1-hp
6829f606849Smrg		;;
6839f606849Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6849f606849Smrg		basic_machine=hppa1.0-hp
6859f606849Smrg		;;
6869f606849Smrg	hppa-next)
6879f606849Smrg		os=-nextstep3
6889f606849Smrg		;;
6899f606849Smrg	hppaosf)
6909f606849Smrg		basic_machine=hppa1.1-hp
6919f606849Smrg		os=-osf
6929f606849Smrg		;;
6939f606849Smrg	hppro)
6949f606849Smrg		basic_machine=hppa1.1-hp
6959f606849Smrg		os=-proelf
6969f606849Smrg		;;
6979f606849Smrg	i370-ibm* | ibm*)
6989f606849Smrg		basic_machine=i370-ibm
6999f606849Smrg		;;
7009f606849Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7019f606849Smrg	i*86v32)
7029f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7039f606849Smrg		os=-sysv32
7049f606849Smrg		;;
7059f606849Smrg	i*86v4*)
7069f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7079f606849Smrg		os=-sysv4
7089f606849Smrg		;;
7099f606849Smrg	i*86v)
7109f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7119f606849Smrg		os=-sysv
7129f606849Smrg		;;
7139f606849Smrg	i*86sol2)
7149f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7159f606849Smrg		os=-solaris2
7169f606849Smrg		;;
7179f606849Smrg	i386mach)
7189f606849Smrg		basic_machine=i386-mach
7199f606849Smrg		os=-mach
7209f606849Smrg		;;
7219f606849Smrg	i386-vsta | vsta)
7229f606849Smrg		basic_machine=i386-unknown
7239f606849Smrg		os=-vsta
7249f606849Smrg		;;
7259f606849Smrg	iris | iris4d)
7269f606849Smrg		basic_machine=mips-sgi
7279f606849Smrg		case $os in
7289f606849Smrg		    -irix*)
7299f606849Smrg			;;
7309f606849Smrg		    *)
7319f606849Smrg			os=-irix4
7329f606849Smrg			;;
7339f606849Smrg		esac
7349f606849Smrg		;;
7359f606849Smrg	isi68 | isi)
7369f606849Smrg		basic_machine=m68k-isi
7379f606849Smrg		os=-sysv
7389f606849Smrg		;;
739fba89afeSmrg	m68knommu)
740fba89afeSmrg		basic_machine=m68k-unknown
741fba89afeSmrg		os=-linux
742fba89afeSmrg		;;
743fba89afeSmrg	m68knommu-*)
744fba89afeSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745fba89afeSmrg		os=-linux
746fba89afeSmrg		;;
7479f606849Smrg	m88k-omron*)
7489f606849Smrg		basic_machine=m88k-omron
7499f606849Smrg		;;
7509f606849Smrg	magnum | m3230)
7519f606849Smrg		basic_machine=mips-mips
7529f606849Smrg		os=-sysv
7539f606849Smrg		;;
7549f606849Smrg	merlin)
7559f606849Smrg		basic_machine=ns32k-utek
7569f606849Smrg		os=-sysv
7579f606849Smrg		;;
758d5c3dbf1Smrg        microblaze)
759d5c3dbf1Smrg		basic_machine=microblaze-xilinx
760d5c3dbf1Smrg		;;
7619f606849Smrg	mingw32)
7629f606849Smrg		basic_machine=i386-pc
7639f606849Smrg		os=-mingw32
7649f606849Smrg		;;
765fba89afeSmrg	mingw32ce)
766fba89afeSmrg		basic_machine=arm-unknown
767fba89afeSmrg		os=-mingw32ce
768fba89afeSmrg		;;
7699f606849Smrg	miniframe)
7709f606849Smrg		basic_machine=m68000-convergent
7719f606849Smrg		;;
7729f606849Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7739f606849Smrg		basic_machine=m68k-atari
7749f606849Smrg		os=-mint
7759f606849Smrg		;;
7769f606849Smrg	mips3*-*)
7779f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7789f606849Smrg		;;
7799f606849Smrg	mips3*)
7809f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7819f606849Smrg		;;
7829f606849Smrg	monitor)
7839f606849Smrg		basic_machine=m68k-rom68k
7849f606849Smrg		os=-coff
7859f606849Smrg		;;
7869f606849Smrg	morphos)
7879f606849Smrg		basic_machine=powerpc-unknown
7889f606849Smrg		os=-morphos
7899f606849Smrg		;;
7909f606849Smrg	msdos)
7919f606849Smrg		basic_machine=i386-pc
7929f606849Smrg		os=-msdos
7939f606849Smrg		;;
7949f606849Smrg	ms1-*)
7959f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7969f606849Smrg		;;
7979f606849Smrg	mvs)
7989f606849Smrg		basic_machine=i370-ibm
7999f606849Smrg		os=-mvs
8009f606849Smrg		;;
8019f606849Smrg	ncr3000)
8029f606849Smrg		basic_machine=i486-ncr
8039f606849Smrg		os=-sysv4
8049f606849Smrg		;;
8059f606849Smrg	netbsd386)
8069f606849Smrg		basic_machine=i386-unknown
8079f606849Smrg		os=-netbsd
8089f606849Smrg		;;
8099f606849Smrg	netwinder)
8109f606849Smrg		basic_machine=armv4l-rebel
8119f606849Smrg		os=-linux
8129f606849Smrg		;;
8139f606849Smrg	news | news700 | news800 | news900)
8149f606849Smrg		basic_machine=m68k-sony
8159f606849Smrg		os=-newsos
8169f606849Smrg		;;
8179f606849Smrg	news1000)
8189f606849Smrg		basic_machine=m68030-sony
8199f606849Smrg		os=-newsos
8209f606849Smrg		;;
8219f606849Smrg	news-3600 | risc-news)
8229f606849Smrg		basic_machine=mips-sony
8239f606849Smrg		os=-newsos
8249f606849Smrg		;;
8259f606849Smrg	necv70)
8269f606849Smrg		basic_machine=v70-nec
8279f606849Smrg		os=-sysv
8289f606849Smrg		;;
8299f606849Smrg	next | m*-next )
8309f606849Smrg		basic_machine=m68k-next
8319f606849Smrg		case $os in
8329f606849Smrg		    -nextstep* )
8339f606849Smrg			;;
8349f606849Smrg		    -ns2*)
8359f606849Smrg		      os=-nextstep2
8369f606849Smrg			;;
8379f606849Smrg		    *)
8389f606849Smrg		      os=-nextstep3
8399f606849Smrg			;;
8409f606849Smrg		esac
8419f606849Smrg		;;
8429f606849Smrg	nh3000)
8439f606849Smrg		basic_machine=m68k-harris
8449f606849Smrg		os=-cxux
8459f606849Smrg		;;
8469f606849Smrg	nh[45]000)
8479f606849Smrg		basic_machine=m88k-harris
8489f606849Smrg		os=-cxux
8499f606849Smrg		;;
8509f606849Smrg	nindy960)
8519f606849Smrg		basic_machine=i960-intel
8529f606849Smrg		os=-nindy
8539f606849Smrg		;;
8549f606849Smrg	mon960)
8559f606849Smrg		basic_machine=i960-intel
8569f606849Smrg		os=-mon960
8579f606849Smrg		;;
8589f606849Smrg	nonstopux)
8599f606849Smrg		basic_machine=mips-compaq
8609f606849Smrg		os=-nonstopux
8619f606849Smrg		;;
8629f606849Smrg	np1)
8639f606849Smrg		basic_machine=np1-gould
8649f606849Smrg		;;
865d5c3dbf1Smrg        neo-tandem)
866d5c3dbf1Smrg		basic_machine=neo-tandem
867d5c3dbf1Smrg		;;
868d5c3dbf1Smrg        nse-tandem)
869d5c3dbf1Smrg		basic_machine=nse-tandem
870d5c3dbf1Smrg		;;
8719f606849Smrg	nsr-tandem)
8729f606849Smrg		basic_machine=nsr-tandem
8739f606849Smrg		;;
8749f606849Smrg	op50n-* | op60c-*)
8759f606849Smrg		basic_machine=hppa1.1-oki
8769f606849Smrg		os=-proelf
8779f606849Smrg		;;
8789f606849Smrg	openrisc | openrisc-*)
8799f606849Smrg		basic_machine=or32-unknown
8809f606849Smrg		;;
8819f606849Smrg	os400)
8829f606849Smrg		basic_machine=powerpc-ibm
8839f606849Smrg		os=-os400
8849f606849Smrg		;;
8859f606849Smrg	OSE68000 | ose68000)
8869f606849Smrg		basic_machine=m68000-ericsson
8879f606849Smrg		os=-ose
8889f606849Smrg		;;
8899f606849Smrg	os68k)
8909f606849Smrg		basic_machine=m68k-none
8919f606849Smrg		os=-os68k
8929f606849Smrg		;;
8939f606849Smrg	pa-hitachi)
8949f606849Smrg		basic_machine=hppa1.1-hitachi
8959f606849Smrg		os=-hiuxwe2
8969f606849Smrg		;;
8979f606849Smrg	paragon)
8989f606849Smrg		basic_machine=i860-intel
8999f606849Smrg		os=-osf
9009f606849Smrg		;;
901fba89afeSmrg	parisc)
902fba89afeSmrg		basic_machine=hppa-unknown
903fba89afeSmrg		os=-linux
904fba89afeSmrg		;;
905fba89afeSmrg	parisc-*)
906fba89afeSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907fba89afeSmrg		os=-linux
908fba89afeSmrg		;;
9099f606849Smrg	pbd)
9109f606849Smrg		basic_machine=sparc-tti
9119f606849Smrg		;;
9129f606849Smrg	pbb)
9139f606849Smrg		basic_machine=m68k-tti
9149f606849Smrg		;;
9159f606849Smrg	pc532 | pc532-*)
9169f606849Smrg		basic_machine=ns32k-pc532
9179f606849Smrg		;;
918fba89afeSmrg	pc98)
919fba89afeSmrg		basic_machine=i386-pc
920fba89afeSmrg		;;
921fba89afeSmrg	pc98-*)
922fba89afeSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
923fba89afeSmrg		;;
9249f606849Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9259f606849Smrg		basic_machine=i586-pc
9269f606849Smrg		;;
9279f606849Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9289f606849Smrg		basic_machine=i686-pc
9299f606849Smrg		;;
9309f606849Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9319f606849Smrg		basic_machine=i686-pc
9329f606849Smrg		;;
9339f606849Smrg	pentium4)
9349f606849Smrg		basic_machine=i786-pc
9359f606849Smrg		;;
9369f606849Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9379f606849Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9389f606849Smrg		;;
9399f606849Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9409f606849Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9419f606849Smrg		;;
9429f606849Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9439f606849Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9449f606849Smrg		;;
9459f606849Smrg	pentium4-*)
9469f606849Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9479f606849Smrg		;;
9489f606849Smrg	pn)
9499f606849Smrg		basic_machine=pn-gould
9509f606849Smrg		;;
9519f606849Smrg	power)	basic_machine=power-ibm
9529f606849Smrg		;;
9539f606849Smrg	ppc)	basic_machine=powerpc-unknown
9549f606849Smrg		;;
9559f606849Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9569f606849Smrg		;;
9579f606849Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9589f606849Smrg		basic_machine=powerpcle-unknown
9599f606849Smrg		;;
9609f606849Smrg	ppcle-* | powerpclittle-*)
9619f606849Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9629f606849Smrg		;;
9639f606849Smrg	ppc64)	basic_machine=powerpc64-unknown
9649f606849Smrg		;;
9659f606849Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9669f606849Smrg		;;
9679f606849Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9689f606849Smrg		basic_machine=powerpc64le-unknown
9699f606849Smrg		;;
9709f606849Smrg	ppc64le-* | powerpc64little-*)
9719f606849Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9729f606849Smrg		;;
9739f606849Smrg	ps2)
9749f606849Smrg		basic_machine=i386-ibm
9759f606849Smrg		;;
9769f606849Smrg	pw32)
9779f606849Smrg		basic_machine=i586-unknown
9789f606849Smrg		os=-pw32
9799f606849Smrg		;;
9809f606849Smrg	rdos)
9819f606849Smrg		basic_machine=i386-pc
9829f606849Smrg		os=-rdos
9839f606849Smrg		;;
9849f606849Smrg	rom68k)
9859f606849Smrg		basic_machine=m68k-rom68k
9869f606849Smrg		os=-coff
9879f606849Smrg		;;
9889f606849Smrg	rm[46]00)
9899f606849Smrg		basic_machine=mips-siemens
9909f606849Smrg		;;
9919f606849Smrg	rtpc | rtpc-*)
9929f606849Smrg		basic_machine=romp-ibm
9939f606849Smrg		;;
9949f606849Smrg	s390 | s390-*)
9959f606849Smrg		basic_machine=s390-ibm
9969f606849Smrg		;;
9979f606849Smrg	s390x | s390x-*)
9989f606849Smrg		basic_machine=s390x-ibm
9999f606849Smrg		;;
10009f606849Smrg	sa29200)
10019f606849Smrg		basic_machine=a29k-amd
10029f606849Smrg		os=-udi
10039f606849Smrg		;;
10049f606849Smrg	sb1)
10059f606849Smrg		basic_machine=mipsisa64sb1-unknown
10069f606849Smrg		;;
10079f606849Smrg	sb1el)
10089f606849Smrg		basic_machine=mipsisa64sb1el-unknown
10099f606849Smrg		;;
1010fba89afeSmrg	sde)
1011fba89afeSmrg		basic_machine=mipsisa32-sde
1012fba89afeSmrg		os=-elf
1013fba89afeSmrg		;;
10149f606849Smrg	sei)
10159f606849Smrg		basic_machine=mips-sei
10169f606849Smrg		os=-seiux
10179f606849Smrg		;;
10189f606849Smrg	sequent)
10199f606849Smrg		basic_machine=i386-sequent
10209f606849Smrg		;;
10219f606849Smrg	sh)
10229f606849Smrg		basic_machine=sh-hitachi
10239f606849Smrg		os=-hms
10249f606849Smrg		;;
1025fba89afeSmrg	sh5el)
1026fba89afeSmrg		basic_machine=sh5le-unknown
1027fba89afeSmrg		;;
10289f606849Smrg	sh64)
10299f606849Smrg		basic_machine=sh64-unknown
10309f606849Smrg		;;
10319f606849Smrg	sparclite-wrs | simso-wrs)
10329f606849Smrg		basic_machine=sparclite-wrs
10339f606849Smrg		os=-vxworks
10349f606849Smrg		;;
10359f606849Smrg	sps7)
10369f606849Smrg		basic_machine=m68k-bull
10379f606849Smrg		os=-sysv2
10389f606849Smrg		;;
10399f606849Smrg	spur)
10409f606849Smrg		basic_machine=spur-unknown
10419f606849Smrg		;;
10429f606849Smrg	st2000)
10439f606849Smrg		basic_machine=m68k-tandem
10449f606849Smrg		;;
10459f606849Smrg	stratus)
10469f606849Smrg		basic_machine=i860-stratus
10479f606849Smrg		os=-sysv4
10489f606849Smrg		;;
10499f606849Smrg	sun2)
10509f606849Smrg		basic_machine=m68000-sun
10519f606849Smrg		;;
10529f606849Smrg	sun2os3)
10539f606849Smrg		basic_machine=m68000-sun
10549f606849Smrg		os=-sunos3
10559f606849Smrg		;;
10569f606849Smrg	sun2os4)
10579f606849Smrg		basic_machine=m68000-sun
10589f606849Smrg		os=-sunos4
10599f606849Smrg		;;
10609f606849Smrg	sun3os3)
10619f606849Smrg		basic_machine=m68k-sun
10629f606849Smrg		os=-sunos3
10639f606849Smrg		;;
10649f606849Smrg	sun3os4)
10659f606849Smrg		basic_machine=m68k-sun
10669f606849Smrg		os=-sunos4
10679f606849Smrg		;;
10689f606849Smrg	sun4os3)
10699f606849Smrg		basic_machine=sparc-sun
10709f606849Smrg		os=-sunos3
10719f606849Smrg		;;
10729f606849Smrg	sun4os4)
10739f606849Smrg		basic_machine=sparc-sun
10749f606849Smrg		os=-sunos4
10759f606849Smrg		;;
10769f606849Smrg	sun4sol2)
10779f606849Smrg		basic_machine=sparc-sun
10789f606849Smrg		os=-solaris2
10799f606849Smrg		;;
10809f606849Smrg	sun3 | sun3-*)
10819f606849Smrg		basic_machine=m68k-sun
10829f606849Smrg		;;
10839f606849Smrg	sun4)
10849f606849Smrg		basic_machine=sparc-sun
10859f606849Smrg		;;
10869f606849Smrg	sun386 | sun386i | roadrunner)
10879f606849Smrg		basic_machine=i386-sun
10889f606849Smrg		;;
10899f606849Smrg	sv1)
10909f606849Smrg		basic_machine=sv1-cray
10919f606849Smrg		os=-unicos
10929f606849Smrg		;;
10939f606849Smrg	symmetry)
10949f606849Smrg		basic_machine=i386-sequent
10959f606849Smrg		os=-dynix
10969f606849Smrg		;;
10979f606849Smrg	t3e)
10989f606849Smrg		basic_machine=alphaev5-cray
10999f606849Smrg		os=-unicos
11009f606849Smrg		;;
11019f606849Smrg	t90)
11029f606849Smrg		basic_machine=t90-cray
11039f606849Smrg		os=-unicos
11049f606849Smrg		;;
1105d5c3dbf1Smrg        # This must be matched before tile*.
1106d5c3dbf1Smrg        tilegx*)
1107d5c3dbf1Smrg		basic_machine=tilegx-unknown
1108d5c3dbf1Smrg		os=-linux-gnu
11099f606849Smrg		;;
1110fba89afeSmrg	tile*)
1111fba89afeSmrg		basic_machine=tile-unknown
1112fba89afeSmrg		os=-linux-gnu
1113fba89afeSmrg		;;
11149f606849Smrg	tx39)
11159f606849Smrg		basic_machine=mipstx39-unknown
11169f606849Smrg		;;
11179f606849Smrg	tx39el)
11189f606849Smrg		basic_machine=mipstx39el-unknown
11199f606849Smrg		;;
11209f606849Smrg	toad1)
11219f606849Smrg		basic_machine=pdp10-xkl
11229f606849Smrg		os=-tops20
11239f606849Smrg		;;
11249f606849Smrg	tower | tower-32)
11259f606849Smrg		basic_machine=m68k-ncr
11269f606849Smrg		;;
11279f606849Smrg	tpf)
11289f606849Smrg		basic_machine=s390x-ibm
11299f606849Smrg		os=-tpf
11309f606849Smrg		;;
11319f606849Smrg	udi29k)
11329f606849Smrg		basic_machine=a29k-amd
11339f606849Smrg		os=-udi
11349f606849Smrg		;;
11359f606849Smrg	ultra3)
11369f606849Smrg		basic_machine=a29k-nyu
11379f606849Smrg		os=-sym1
11389f606849Smrg		;;
11399f606849Smrg	v810 | necv810)
11409f606849Smrg		basic_machine=v810-nec
11419f606849Smrg		os=-none
11429f606849Smrg		;;
11439f606849Smrg	vaxv)
11449f606849Smrg		basic_machine=vax-dec
11459f606849Smrg		os=-sysv
11469f606849Smrg		;;
11479f606849Smrg	vms)
11489f606849Smrg		basic_machine=vax-dec
11499f606849Smrg		os=-vms
11509f606849Smrg		;;
11519f606849Smrg	vpp*|vx|vx-*)
11529f606849Smrg		basic_machine=f301-fujitsu
11539f606849Smrg		;;
11549f606849Smrg	vxworks960)
11559f606849Smrg		basic_machine=i960-wrs
11569f606849Smrg		os=-vxworks
11579f606849Smrg		;;
11589f606849Smrg	vxworks68)
11599f606849Smrg		basic_machine=m68k-wrs
11609f606849Smrg		os=-vxworks
11619f606849Smrg		;;
11629f606849Smrg	vxworks29k)
11639f606849Smrg		basic_machine=a29k-wrs
11649f606849Smrg		os=-vxworks
11659f606849Smrg		;;
11669f606849Smrg	w65*)
11679f606849Smrg		basic_machine=w65-wdc
11689f606849Smrg		os=-none
11699f606849Smrg		;;
11709f606849Smrg	w89k-*)
11719f606849Smrg		basic_machine=hppa1.1-winbond
11729f606849Smrg		os=-proelf
11739f606849Smrg		;;
11749f606849Smrg	xbox)
11759f606849Smrg		basic_machine=i686-pc
11769f606849Smrg		os=-mingw32
11779f606849Smrg		;;
11789f606849Smrg	xps | xps100)
11799f606849Smrg		basic_machine=xps100-honeywell
11809f606849Smrg		;;
11819f606849Smrg	ymp)
11829f606849Smrg		basic_machine=ymp-cray
11839f606849Smrg		os=-unicos
11849f606849Smrg		;;
11859f606849Smrg	z8k-*-coff)
11869f606849Smrg		basic_machine=z8k-unknown
11879f606849Smrg		os=-sim
11889f606849Smrg		;;
1189d5c3dbf1Smrg	z80-*-coff)
1190d5c3dbf1Smrg		basic_machine=z80-unknown
1191d5c3dbf1Smrg		os=-sim
1192d5c3dbf1Smrg		;;
11939f606849Smrg	none)
11949f606849Smrg		basic_machine=none-none
11959f606849Smrg		os=-none
11969f606849Smrg		;;
11979f606849Smrg
11989f606849Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11999f606849Smrg# some cases the only manufacturer, in others, it is the most popular.
12009f606849Smrg	w89k)
12019f606849Smrg		basic_machine=hppa1.1-winbond
12029f606849Smrg		;;
12039f606849Smrg	op50n)
12049f606849Smrg		basic_machine=hppa1.1-oki
12059f606849Smrg		;;
12069f606849Smrg	op60c)
12079f606849Smrg		basic_machine=hppa1.1-oki
12089f606849Smrg		;;
12099f606849Smrg	romp)
12109f606849Smrg		basic_machine=romp-ibm
12119f606849Smrg		;;
12129f606849Smrg	mmix)
12139f606849Smrg		basic_machine=mmix-knuth
12149f606849Smrg		;;
12159f606849Smrg	rs6000)
12169f606849Smrg		basic_machine=rs6000-ibm
12179f606849Smrg		;;
12189f606849Smrg	vax)
12199f606849Smrg		basic_machine=vax-dec
12209f606849Smrg		;;
12219f606849Smrg	pdp10)
12229f606849Smrg		# there are many clones, so DEC is not a safe bet
12239f606849Smrg		basic_machine=pdp10-unknown
12249f606849Smrg		;;
12259f606849Smrg	pdp11)
12269f606849Smrg		basic_machine=pdp11-dec
12279f606849Smrg		;;
12289f606849Smrg	we32k)
12299f606849Smrg		basic_machine=we32k-att
12309f606849Smrg		;;
1231d5c3dbf1Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12329f606849Smrg		basic_machine=sh-unknown
12339f606849Smrg		;;
1234fba89afeSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12359f606849Smrg		basic_machine=sparc-sun
12369f606849Smrg		;;
12379f606849Smrg	cydra)
12389f606849Smrg		basic_machine=cydra-cydrome
12399f606849Smrg		;;
12409f606849Smrg	orion)
12419f606849Smrg		basic_machine=orion-highlevel
12429f606849Smrg		;;
12439f606849Smrg	orion105)
12449f606849Smrg		basic_machine=clipper-highlevel
12459f606849Smrg		;;
12469f606849Smrg	mac | mpw | mac-mpw)
12479f606849Smrg		basic_machine=m68k-apple
12489f606849Smrg		;;
12499f606849Smrg	pmac | pmac-mpw)
12509f606849Smrg		basic_machine=powerpc-apple
12519f606849Smrg		;;
12529f606849Smrg	*-unknown)
12539f606849Smrg		# Make sure to match an already-canonicalized machine name.
12549f606849Smrg		;;
12559f606849Smrg	*)
12569f606849Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12579f606849Smrg		exit 1
12589f606849Smrg		;;
12599f606849Smrgesac
12609f606849Smrg
12619f606849Smrg# Here we canonicalize certain aliases for manufacturers.
12629f606849Smrgcase $basic_machine in
12639f606849Smrg	*-digital*)
12649f606849Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12659f606849Smrg		;;
12669f606849Smrg	*-commodore*)
12679f606849Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12689f606849Smrg		;;
12699f606849Smrg	*)
12709f606849Smrg		;;
12719f606849Smrgesac
12729f606849Smrg
12739f606849Smrg# Decode manufacturer-specific aliases for certain operating systems.
12749f606849Smrg
12759f606849Smrgif [ x"$os" != x"" ]
12769f606849Smrgthen
12779f606849Smrgcase $os in
12789f606849Smrg        # First match some system type aliases
12799f606849Smrg        # that might get confused with valid system types.
12809f606849Smrg	# -solaris* is a basic system type, with this one exception.
1281d5c3dbf1Smrg        -auroraux)
1282d5c3dbf1Smrg	        os=-auroraux
1283d5c3dbf1Smrg		;;
12849f606849Smrg	-solaris1 | -solaris1.*)
12859f606849Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12869f606849Smrg		;;
12879f606849Smrg	-solaris)
12889f606849Smrg		os=-solaris2
12899f606849Smrg		;;
12909f606849Smrg	-svr4*)
12919f606849Smrg		os=-sysv4
12929f606849Smrg		;;
12939f606849Smrg	-unixware*)
12949f606849Smrg		os=-sysv4.2uw
12959f606849Smrg		;;
12969f606849Smrg	-gnu/linux*)
12979f606849Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12989f606849Smrg		;;
12999f606849Smrg	# First accept the basic system types.
13009f606849Smrg	# The portable systems comes first.
13019f606849Smrg	# Each alternative MUST END IN A *, to match a version number.
13029f606849Smrg	# -sysv* is not here because it comes later, after sysvr4.
13039f606849Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304d5c3dbf1Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305d5c3dbf1Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306d5c3dbf1Smrg	      | -sym* | -kopensolaris* \
13079f606849Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308d5c3dbf1Smrg	      | -aos* | -aros* \
13099f606849Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13109f606849Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1311fba89afeSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1312fba89afeSmrg	      | -openbsd* | -solidbsd* \
13139f606849Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13149f606849Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13159f606849Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13169f606849Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317d5c3dbf1Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13189f606849Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319d5c3dbf1Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320d5c3dbf1Smrg	      | -linux-newlib* | -linux-uclibc* \
13219f606849Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13229f606849Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13239f606849Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13249f606849Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13259f606849Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13269f606849Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13279f606849Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328d5c3dbf1Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13299f606849Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13309f606849Smrg		;;
13319f606849Smrg	-qnx*)
13329f606849Smrg		case $basic_machine in
13339f606849Smrg		    x86-* | i*86-*)
13349f606849Smrg			;;
13359f606849Smrg		    *)
13369f606849Smrg			os=-nto$os
13379f606849Smrg			;;
13389f606849Smrg		esac
13399f606849Smrg		;;
13409f606849Smrg	-nto-qnx*)
13419f606849Smrg		;;
13429f606849Smrg	-nto*)
13439f606849Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13449f606849Smrg		;;
13459f606849Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13469f606849Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13479f606849Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13489f606849Smrg		;;
13499f606849Smrg	-mac*)
13509f606849Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13519f606849Smrg		;;
13529f606849Smrg	-linux-dietlibc)
13539f606849Smrg		os=-linux-dietlibc
13549f606849Smrg		;;
13559f606849Smrg	-linux*)
13569f606849Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13579f606849Smrg		;;
13589f606849Smrg	-sunos5*)
13599f606849Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13609f606849Smrg		;;
13619f606849Smrg	-sunos6*)
13629f606849Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13639f606849Smrg		;;
13649f606849Smrg	-opened*)
13659f606849Smrg		os=-openedition
13669f606849Smrg		;;
13679f606849Smrg        -os400*)
13689f606849Smrg		os=-os400
13699f606849Smrg		;;
13709f606849Smrg	-wince*)
13719f606849Smrg		os=-wince
13729f606849Smrg		;;
13739f606849Smrg	-osfrose*)
13749f606849Smrg		os=-osfrose
13759f606849Smrg		;;
13769f606849Smrg	-osf*)
13779f606849Smrg		os=-osf
13789f606849Smrg		;;
13799f606849Smrg	-utek*)
13809f606849Smrg		os=-bsd
13819f606849Smrg		;;
13829f606849Smrg	-dynix*)
13839f606849Smrg		os=-bsd
13849f606849Smrg		;;
13859f606849Smrg	-acis*)
13869f606849Smrg		os=-aos
13879f606849Smrg		;;
13889f606849Smrg	-atheos*)
13899f606849Smrg		os=-atheos
13909f606849Smrg		;;
13919f606849Smrg	-syllable*)
13929f606849Smrg		os=-syllable
13939f606849Smrg		;;
13949f606849Smrg	-386bsd)
13959f606849Smrg		os=-bsd
13969f606849Smrg		;;
13979f606849Smrg	-ctix* | -uts*)
13989f606849Smrg		os=-sysv
13999f606849Smrg		;;
14009f606849Smrg	-nova*)
14019f606849Smrg		os=-rtmk-nova
14029f606849Smrg		;;
14039f606849Smrg	-ns2 )
14049f606849Smrg		os=-nextstep2
14059f606849Smrg		;;
14069f606849Smrg	-nsk*)
14079f606849Smrg		os=-nsk
14089f606849Smrg		;;
14099f606849Smrg	# Preserve the version number of sinix5.
14109f606849Smrg	-sinix5.*)
14119f606849Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14129f606849Smrg		;;
14139f606849Smrg	-sinix*)
14149f606849Smrg		os=-sysv4
14159f606849Smrg		;;
14169f606849Smrg        -tpf*)
14179f606849Smrg		os=-tpf
14189f606849Smrg		;;
14199f606849Smrg	-triton*)
14209f606849Smrg		os=-sysv3
14219f606849Smrg		;;
14229f606849Smrg	-oss*)
14239f606849Smrg		os=-sysv3
14249f606849Smrg		;;
14259f606849Smrg	-svr4)
14269f606849Smrg		os=-sysv4
14279f606849Smrg		;;
14289f606849Smrg	-svr3)
14299f606849Smrg		os=-sysv3
14309f606849Smrg		;;
14319f606849Smrg	-sysvr4)
14329f606849Smrg		os=-sysv4
14339f606849Smrg		;;
14349f606849Smrg	# This must come after -sysvr4.
14359f606849Smrg	-sysv*)
14369f606849Smrg		;;
14379f606849Smrg	-ose*)
14389f606849Smrg		os=-ose
14399f606849Smrg		;;
14409f606849Smrg	-es1800*)
14419f606849Smrg		os=-ose
14429f606849Smrg		;;
14439f606849Smrg	-xenix)
14449f606849Smrg		os=-xenix
14459f606849Smrg		;;
14469f606849Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14479f606849Smrg		os=-mint
14489f606849Smrg		;;
14499f606849Smrg	-aros*)
14509f606849Smrg		os=-aros
14519f606849Smrg		;;
14529f606849Smrg	-kaos*)
14539f606849Smrg		os=-kaos
14549f606849Smrg		;;
14559f606849Smrg	-zvmoe)
14569f606849Smrg		os=-zvmoe
14579f606849Smrg		;;
1458d5c3dbf1Smrg	-dicos*)
1459d5c3dbf1Smrg		os=-dicos
1460d5c3dbf1Smrg		;;
1461d5c3dbf1Smrg        -nacl*)
1462d5c3dbf1Smrg	        ;;
14639f606849Smrg	-none)
14649f606849Smrg		;;
14659f606849Smrg	*)
14669f606849Smrg		# Get rid of the `-' at the beginning of $os.
14679f606849Smrg		os=`echo $os | sed 's/[^-]*-//'`
14689f606849Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14699f606849Smrg		exit 1
14709f606849Smrg		;;
14719f606849Smrgesac
14729f606849Smrgelse
14739f606849Smrg
14749f606849Smrg# Here we handle the default operating systems that come with various machines.
14759f606849Smrg# The value should be what the vendor currently ships out the door with their
14769f606849Smrg# machine or put another way, the most popular os provided with the machine.
14779f606849Smrg
14789f606849Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14799f606849Smrg# "-sun"), then you have to tell the case statement up towards the top
14809f606849Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14819f606849Smrg# will signal an error saying that MANUFACTURER isn't an operating
14829f606849Smrg# system, and we'll never get to this point.
14839f606849Smrg
14849f606849Smrgcase $basic_machine in
1485fba89afeSmrg        score-*)
1486fba89afeSmrg		os=-elf
1487fba89afeSmrg		;;
1488fba89afeSmrg        spu-*)
1489fba89afeSmrg		os=-elf
1490fba89afeSmrg		;;
14919f606849Smrg	*-acorn)
14929f606849Smrg		os=-riscix1.2
14939f606849Smrg		;;
14949f606849Smrg	arm*-rebel)
14959f606849Smrg		os=-linux
14969f606849Smrg		;;
14979f606849Smrg	arm*-semi)
14989f606849Smrg		os=-aout
14999f606849Smrg		;;
1500fba89afeSmrg        c4x-* | tic4x-*)
1501fba89afeSmrg        	os=-coff
1502fba89afeSmrg		;;
1503d5c3dbf1Smrg	tic54x-*)
1504d5c3dbf1Smrg		os=-coff
1505d5c3dbf1Smrg		;;
1506d5c3dbf1Smrg	tic55x-*)
1507d5c3dbf1Smrg		os=-coff
1508d5c3dbf1Smrg		;;
1509d5c3dbf1Smrg	tic6x-*)
1510d5c3dbf1Smrg		os=-coff
1511d5c3dbf1Smrg		;;
15129f606849Smrg	# This must come before the *-dec entry.
15139f606849Smrg	pdp10-*)
15149f606849Smrg		os=-tops20
15159f606849Smrg		;;
15169f606849Smrg	pdp11-*)
15179f606849Smrg		os=-none
15189f606849Smrg		;;
15199f606849Smrg	*-dec | vax-*)
15209f606849Smrg		os=-ultrix4.2
15219f606849Smrg		;;
15229f606849Smrg	m68*-apollo)
15239f606849Smrg		os=-domain
15249f606849Smrg		;;
15259f606849Smrg	i386-sun)
15269f606849Smrg		os=-sunos4.0.2
15279f606849Smrg		;;
15289f606849Smrg	m68000-sun)
15299f606849Smrg		os=-sunos3
15309f606849Smrg		# This also exists in the configure program, but was not the
15319f606849Smrg		# default.
15329f606849Smrg		# os=-sunos4
15339f606849Smrg		;;
15349f606849Smrg	m68*-cisco)
15359f606849Smrg		os=-aout
15369f606849Smrg		;;
1537fba89afeSmrg        mep-*)
1538fba89afeSmrg		os=-elf
1539fba89afeSmrg		;;
15409f606849Smrg	mips*-cisco)
15419f606849Smrg		os=-elf
15429f606849Smrg		;;
15439f606849Smrg	mips*-*)
15449f606849Smrg		os=-elf
15459f606849Smrg		;;
15469f606849Smrg	or32-*)
15479f606849Smrg		os=-coff
15489f606849Smrg		;;
15499f606849Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15509f606849Smrg		os=-sysv3
15519f606849Smrg		;;
15529f606849Smrg	sparc-* | *-sun)
15539f606849Smrg		os=-sunos4.1.1
15549f606849Smrg		;;
15559f606849Smrg	*-be)
15569f606849Smrg		os=-beos
15579f606849Smrg		;;
15589f606849Smrg	*-haiku)
15599f606849Smrg		os=-haiku
15609f606849Smrg		;;
15619f606849Smrg	*-ibm)
15629f606849Smrg		os=-aix
15639f606849Smrg		;;
15649f606849Smrg    	*-knuth)
15659f606849Smrg		os=-mmixware
15669f606849Smrg		;;
15679f606849Smrg	*-wec)
15689f606849Smrg		os=-proelf
15699f606849Smrg		;;
15709f606849Smrg	*-winbond)
15719f606849Smrg		os=-proelf
15729f606849Smrg		;;
15739f606849Smrg	*-oki)
15749f606849Smrg		os=-proelf
15759f606849Smrg		;;
15769f606849Smrg	*-hp)
15779f606849Smrg		os=-hpux
15789f606849Smrg		;;
15799f606849Smrg	*-hitachi)
15809f606849Smrg		os=-hiux
15819f606849Smrg		;;
15829f606849Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15839f606849Smrg		os=-sysv
15849f606849Smrg		;;
15859f606849Smrg	*-cbm)
15869f606849Smrg		os=-amigaos
15879f606849Smrg		;;
15889f606849Smrg	*-dg)
15899f606849Smrg		os=-dgux
15909f606849Smrg		;;
15919f606849Smrg	*-dolphin)
15929f606849Smrg		os=-sysv3
15939f606849Smrg		;;
15949f606849Smrg	m68k-ccur)
15959f606849Smrg		os=-rtu
15969f606849Smrg		;;
15979f606849Smrg	m88k-omron*)
15989f606849Smrg		os=-luna
15999f606849Smrg		;;
16009f606849Smrg	*-next )
16019f606849Smrg		os=-nextstep
16029f606849Smrg		;;
16039f606849Smrg	*-sequent)
16049f606849Smrg		os=-ptx
16059f606849Smrg		;;
16069f606849Smrg	*-crds)
16079f606849Smrg		os=-unos
16089f606849Smrg		;;
16099f606849Smrg	*-ns)
16109f606849Smrg		os=-genix
16119f606849Smrg		;;
16129f606849Smrg	i370-*)
16139f606849Smrg		os=-mvs
16149f606849Smrg		;;
16159f606849Smrg	*-next)
16169f606849Smrg		os=-nextstep3
16179f606849Smrg		;;
16189f606849Smrg	*-gould)
16199f606849Smrg		os=-sysv
16209f606849Smrg		;;
16219f606849Smrg	*-highlevel)
16229f606849Smrg		os=-bsd
16239f606849Smrg		;;
16249f606849Smrg	*-encore)
16259f606849Smrg		os=-bsd
16269f606849Smrg		;;
16279f606849Smrg	*-sgi)
16289f606849Smrg		os=-irix
16299f606849Smrg		;;
16309f606849Smrg	*-siemens)
16319f606849Smrg		os=-sysv4
16329f606849Smrg		;;
16339f606849Smrg	*-masscomp)
16349f606849Smrg		os=-rtu
16359f606849Smrg		;;
16369f606849Smrg	f30[01]-fujitsu | f700-fujitsu)
16379f606849Smrg		os=-uxpv
16389f606849Smrg		;;
16399f606849Smrg	*-rom68k)
16409f606849Smrg		os=-coff
16419f606849Smrg		;;
16429f606849Smrg	*-*bug)
16439f606849Smrg		os=-coff
16449f606849Smrg		;;
16459f606849Smrg	*-apple)
16469f606849Smrg		os=-macos
16479f606849Smrg		;;
16489f606849Smrg	*-atari*)
16499f606849Smrg		os=-mint
16509f606849Smrg		;;
16519f606849Smrg	*)
16529f606849Smrg		os=-none
16539f606849Smrg		;;
16549f606849Smrgesac
16559f606849Smrgfi
16569f606849Smrg
16579f606849Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16589f606849Smrg# manufacturer.  We pick the logical manufacturer.
16599f606849Smrgvendor=unknown
16609f606849Smrgcase $basic_machine in
16619f606849Smrg	*-unknown)
16629f606849Smrg		case $os in
16639f606849Smrg			-riscix*)
16649f606849Smrg				vendor=acorn
16659f606849Smrg				;;
16669f606849Smrg			-sunos*)
16679f606849Smrg				vendor=sun
16689f606849Smrg				;;
1669d5c3dbf1Smrg			-cnk*|-aix*)
16709f606849Smrg				vendor=ibm
16719f606849Smrg				;;
16729f606849Smrg			-beos*)
16739f606849Smrg				vendor=be
16749f606849Smrg				;;
16759f606849Smrg			-hpux*)
16769f606849Smrg				vendor=hp
16779f606849Smrg				;;
16789f606849Smrg			-mpeix*)
16799f606849Smrg				vendor=hp
16809f606849Smrg				;;
16819f606849Smrg			-hiux*)
16829f606849Smrg				vendor=hitachi
16839f606849Smrg				;;
16849f606849Smrg			-unos*)
16859f606849Smrg				vendor=crds
16869f606849Smrg				;;
16879f606849Smrg			-dgux*)
16889f606849Smrg				vendor=dg
16899f606849Smrg				;;
16909f606849Smrg			-luna*)
16919f606849Smrg				vendor=omron
16929f606849Smrg				;;
16939f606849Smrg			-genix*)
16949f606849Smrg				vendor=ns
16959f606849Smrg				;;
16969f606849Smrg			-mvs* | -opened*)
16979f606849Smrg				vendor=ibm
16989f606849Smrg				;;
16999f606849Smrg			-os400*)
17009f606849Smrg				vendor=ibm
17019f606849Smrg				;;
17029f606849Smrg			-ptx*)
17039f606849Smrg				vendor=sequent
17049f606849Smrg				;;
17059f606849Smrg			-tpf*)
17069f606849Smrg				vendor=ibm
17079f606849Smrg				;;
17089f606849Smrg			-vxsim* | -vxworks* | -windiss*)
17099f606849Smrg				vendor=wrs
17109f606849Smrg				;;
17119f606849Smrg			-aux*)
17129f606849Smrg				vendor=apple
17139f606849Smrg				;;
17149f606849Smrg			-hms*)
17159f606849Smrg				vendor=hitachi
17169f606849Smrg				;;
17179f606849Smrg			-mpw* | -macos*)
17189f606849Smrg				vendor=apple
17199f606849Smrg				;;
17209f606849Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17219f606849Smrg				vendor=atari
17229f606849Smrg				;;
17239f606849Smrg			-vos*)
17249f606849Smrg				vendor=stratus
17259f606849Smrg				;;
17269f606849Smrg		esac
17279f606849Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17289f606849Smrg		;;
17299f606849Smrgesac
17309f606849Smrg
17319f606849Smrgecho $basic_machine$os
17329f606849Smrgexit
17339f606849Smrg
17349f606849Smrg# Local variables:
17359f606849Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17369f606849Smrg# time-stamp-start: "timestamp='"
17379f606849Smrg# time-stamp-format: "%:y-%02m-%02d"
17389f606849Smrg# time-stamp-end: "'"
17399f606849Smrg# End:
1740