config.sub revision 2227fc13
12227fc13Smrg#! /bin/sh
22227fc13Smrg# Configuration validation subroutine script.
32227fc13Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
42227fc13Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
52227fc13Smrg#   Free Software Foundation, Inc.
62227fc13Smrg
72227fc13Smrgtimestamp='2010-09-11'
82227fc13Smrg
92227fc13Smrg# This file is (in principle) common to ALL GNU software.
102227fc13Smrg# The presence of a machine in this file suggests that SOME GNU software
112227fc13Smrg# can handle that machine.  It does not imply ALL GNU software can.
122227fc13Smrg#
132227fc13Smrg# This file is free software; you can redistribute it and/or modify
142227fc13Smrg# it under the terms of the GNU General Public License as published by
152227fc13Smrg# the Free Software Foundation; either version 2 of the License, or
162227fc13Smrg# (at your option) any later version.
172227fc13Smrg#
182227fc13Smrg# This program is distributed in the hope that it will be useful,
192227fc13Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
202227fc13Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
212227fc13Smrg# GNU General Public License for more details.
222227fc13Smrg#
232227fc13Smrg# You should have received a copy of the GNU General Public License
242227fc13Smrg# along with this program; if not, write to the Free Software
252227fc13Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
262227fc13Smrg# 02110-1301, USA.
272227fc13Smrg#
282227fc13Smrg# As a special exception to the GNU General Public License, if you
292227fc13Smrg# distribute this file as part of a program that contains a
302227fc13Smrg# configuration script generated by Autoconf, you may include it under
312227fc13Smrg# the same distribution terms that you use for the rest of that program.
322227fc13Smrg
332227fc13Smrg
342227fc13Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
352227fc13Smrg# diff and a properly formatted GNU ChangeLog entry.
362227fc13Smrg#
372227fc13Smrg# Configuration subroutine to validate and canonicalize a configuration type.
382227fc13Smrg# Supply the specified configuration type as an argument.
392227fc13Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
402227fc13Smrg# Otherwise, we print the canonical config type on stdout and succeed.
412227fc13Smrg
422227fc13Smrg# You can get the latest version of this script from:
432227fc13Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
442227fc13Smrg
452227fc13Smrg# This file is supposed to be the same for all GNU packages
462227fc13Smrg# and recognize all the CPU types, system types and aliases
472227fc13Smrg# that are meaningful with *any* GNU software.
482227fc13Smrg# Each package is responsible for reporting which valid configurations
492227fc13Smrg# it does not support.  The user should be able to distinguish
502227fc13Smrg# a failure to support a valid configuration from a meaningless
512227fc13Smrg# configuration.
522227fc13Smrg
532227fc13Smrg# The goal of this file is to map all the various variations of a given
542227fc13Smrg# machine specification into a single specification in the form:
552227fc13Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
562227fc13Smrg# or in some cases, the newer four-part form:
572227fc13Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
582227fc13Smrg# It is wrong to echo any other type of specification.
592227fc13Smrg
602227fc13Smrgme=`echo "$0" | sed -e 's,.*/,,'`
612227fc13Smrg
622227fc13Smrgusage="\
632227fc13SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
642227fc13Smrg       $0 [OPTION] ALIAS
652227fc13Smrg
662227fc13SmrgCanonicalize a configuration name.
672227fc13Smrg
682227fc13SmrgOperation modes:
692227fc13Smrg  -h, --help         print this help, then exit
702227fc13Smrg  -t, --time-stamp   print date of last modification, then exit
712227fc13Smrg  -v, --version      print version number, then exit
722227fc13Smrg
732227fc13SmrgReport bugs and patches to <config-patches@gnu.org>."
742227fc13Smrg
752227fc13Smrgversion="\
762227fc13SmrgGNU config.sub ($timestamp)
772227fc13Smrg
782227fc13SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
792227fc13Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
802227fc13SmrgSoftware Foundation, Inc.
812227fc13Smrg
822227fc13SmrgThis is free software; see the source for copying conditions.  There is NO
832227fc13Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
842227fc13Smrg
852227fc13Smrghelp="
862227fc13SmrgTry \`$me --help' for more information."
872227fc13Smrg
882227fc13Smrg# Parse command line
892227fc13Smrgwhile test $# -gt 0 ; do
902227fc13Smrg  case $1 in
912227fc13Smrg    --time-stamp | --time* | -t )
922227fc13Smrg       echo "$timestamp" ; exit ;;
932227fc13Smrg    --version | -v )
942227fc13Smrg       echo "$version" ; exit ;;
952227fc13Smrg    --help | --h* | -h )
962227fc13Smrg       echo "$usage"; exit ;;
972227fc13Smrg    -- )     # Stop option processing
982227fc13Smrg       shift; break ;;
992227fc13Smrg    - )	# Use stdin as input.
1002227fc13Smrg       break ;;
1012227fc13Smrg    -* )
1022227fc13Smrg       echo "$me: invalid option $1$help"
1032227fc13Smrg       exit 1 ;;
1042227fc13Smrg
1052227fc13Smrg    *local*)
1062227fc13Smrg       # First pass through any local machine types.
1072227fc13Smrg       echo $1
1082227fc13Smrg       exit ;;
1092227fc13Smrg
1102227fc13Smrg    * )
1112227fc13Smrg       break ;;
1122227fc13Smrg  esac
1132227fc13Smrgdone
1142227fc13Smrg
1152227fc13Smrgcase $# in
1162227fc13Smrg 0) echo "$me: missing argument$help" >&2
1172227fc13Smrg    exit 1;;
1182227fc13Smrg 1) ;;
1192227fc13Smrg *) echo "$me: too many arguments$help" >&2
1202227fc13Smrg    exit 1;;
1212227fc13Smrgesac
1222227fc13Smrg
1232227fc13Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1242227fc13Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1252227fc13Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1262227fc13Smrgcase $maybe_os in
1272227fc13Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1282227fc13Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1292227fc13Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1302227fc13Smrg  kopensolaris*-gnu* | \
1312227fc13Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1322227fc13Smrg    os=-$maybe_os
1332227fc13Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1342227fc13Smrg    ;;
1352227fc13Smrg  *)
1362227fc13Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1372227fc13Smrg    if [ $basic_machine != $1 ]
1382227fc13Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1392227fc13Smrg    else os=; fi
1402227fc13Smrg    ;;
1412227fc13Smrgesac
1422227fc13Smrg
1432227fc13Smrg### Let's recognize common machines as not being operating systems so
1442227fc13Smrg### that things like config.sub decstation-3100 work.  We also
1452227fc13Smrg### recognize some manufacturers as not being operating systems, so we
1462227fc13Smrg### can provide default operating systems below.
1472227fc13Smrgcase $os in
1482227fc13Smrg	-sun*os*)
1492227fc13Smrg		# Prevent following clause from handling this invalid input.
1502227fc13Smrg		;;
1512227fc13Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1522227fc13Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1532227fc13Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1542227fc13Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1552227fc13Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1562227fc13Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1572227fc13Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1582227fc13Smrg		os=
1592227fc13Smrg		basic_machine=$1
1602227fc13Smrg		;;
1612227fc13Smrg        -bluegene*)
1622227fc13Smrg	        os=-cnk
1632227fc13Smrg		;;
1642227fc13Smrg	-sim | -cisco | -oki | -wec | -winbond)
1652227fc13Smrg		os=
1662227fc13Smrg		basic_machine=$1
1672227fc13Smrg		;;
1682227fc13Smrg	-scout)
1692227fc13Smrg		;;
1702227fc13Smrg	-wrs)
1712227fc13Smrg		os=-vxworks
1722227fc13Smrg		basic_machine=$1
1732227fc13Smrg		;;
1742227fc13Smrg	-chorusos*)
1752227fc13Smrg		os=-chorusos
1762227fc13Smrg		basic_machine=$1
1772227fc13Smrg		;;
1782227fc13Smrg 	-chorusrdb)
1792227fc13Smrg 		os=-chorusrdb
1802227fc13Smrg		basic_machine=$1
1812227fc13Smrg 		;;
1822227fc13Smrg	-hiux*)
1832227fc13Smrg		os=-hiuxwe2
1842227fc13Smrg		;;
1852227fc13Smrg	-sco6)
1862227fc13Smrg		os=-sco5v6
1872227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1882227fc13Smrg		;;
1892227fc13Smrg	-sco5)
1902227fc13Smrg		os=-sco3.2v5
1912227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1922227fc13Smrg		;;
1932227fc13Smrg	-sco4)
1942227fc13Smrg		os=-sco3.2v4
1952227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1962227fc13Smrg		;;
1972227fc13Smrg	-sco3.2.[4-9]*)
1982227fc13Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1992227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2002227fc13Smrg		;;
2012227fc13Smrg	-sco3.2v[4-9]*)
2022227fc13Smrg		# Don't forget version if it is 3.2v4 or newer.
2032227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2042227fc13Smrg		;;
2052227fc13Smrg	-sco5v6*)
2062227fc13Smrg		# Don't forget version if it is 3.2v4 or newer.
2072227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2082227fc13Smrg		;;
2092227fc13Smrg	-sco*)
2102227fc13Smrg		os=-sco3.2v2
2112227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2122227fc13Smrg		;;
2132227fc13Smrg	-udk*)
2142227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2152227fc13Smrg		;;
2162227fc13Smrg	-isc)
2172227fc13Smrg		os=-isc2.2
2182227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2192227fc13Smrg		;;
2202227fc13Smrg	-clix*)
2212227fc13Smrg		basic_machine=clipper-intergraph
2222227fc13Smrg		;;
2232227fc13Smrg	-isc*)
2242227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2252227fc13Smrg		;;
2262227fc13Smrg	-lynx*)
2272227fc13Smrg		os=-lynxos
2282227fc13Smrg		;;
2292227fc13Smrg	-ptx*)
2302227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2312227fc13Smrg		;;
2322227fc13Smrg	-windowsnt*)
2332227fc13Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2342227fc13Smrg		;;
2352227fc13Smrg	-psos*)
2362227fc13Smrg		os=-psos
2372227fc13Smrg		;;
2382227fc13Smrg	-mint | -mint[0-9]*)
2392227fc13Smrg		basic_machine=m68k-atari
2402227fc13Smrg		os=-mint
2412227fc13Smrg		;;
2422227fc13Smrgesac
2432227fc13Smrg
2442227fc13Smrg# Decode aliases for certain CPU-COMPANY combinations.
2452227fc13Smrgcase $basic_machine in
2462227fc13Smrg	# Recognize the basic CPU types without company name.
2472227fc13Smrg	# Some are omitted here because they have special meanings below.
2482227fc13Smrg	1750a | 580 \
2492227fc13Smrg	| a29k \
2502227fc13Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2512227fc13Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2522227fc13Smrg	| am33_2.0 \
2532227fc13Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2542227fc13Smrg	| bfin \
2552227fc13Smrg	| c4x | clipper \
2562227fc13Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
2572227fc13Smrg	| fido | fr30 | frv \
2582227fc13Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2592227fc13Smrg	| i370 | i860 | i960 | ia64 \
2602227fc13Smrg	| ip2k | iq2000 \
2612227fc13Smrg	| lm32 \
2622227fc13Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2632227fc13Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2642227fc13Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2652227fc13Smrg	| mips16 \
2662227fc13Smrg	| mips64 | mips64el \
2672227fc13Smrg	| mips64octeon | mips64octeonel \
2682227fc13Smrg	| mips64orion | mips64orionel \
2692227fc13Smrg	| mips64r5900 | mips64r5900el \
2702227fc13Smrg	| mips64vr | mips64vrel \
2712227fc13Smrg	| mips64vr4100 | mips64vr4100el \
2722227fc13Smrg	| mips64vr4300 | mips64vr4300el \
2732227fc13Smrg	| mips64vr5000 | mips64vr5000el \
2742227fc13Smrg	| mips64vr5900 | mips64vr5900el \
2752227fc13Smrg	| mipsisa32 | mipsisa32el \
2762227fc13Smrg	| mipsisa32r2 | mipsisa32r2el \
2772227fc13Smrg	| mipsisa64 | mipsisa64el \
2782227fc13Smrg	| mipsisa64r2 | mipsisa64r2el \
2792227fc13Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2802227fc13Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2812227fc13Smrg	| mipstx39 | mipstx39el \
2822227fc13Smrg	| mn10200 | mn10300 \
2832227fc13Smrg	| moxie \
2842227fc13Smrg	| mt \
2852227fc13Smrg	| msp430 \
2862227fc13Smrg	| nds32 | nds32le | nds32be \
2872227fc13Smrg	| nios | nios2 \
2882227fc13Smrg	| ns16k | ns32k \
2892227fc13Smrg	| or32 \
2902227fc13Smrg	| pdp10 | pdp11 | pj | pjl \
2912227fc13Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2922227fc13Smrg	| pyramid \
2932227fc13Smrg	| rx \
2942227fc13Smrg	| score \
2952227fc13Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2962227fc13Smrg	| sh64 | sh64le \
2972227fc13Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2982227fc13Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2992227fc13Smrg	| spu | strongarm \
3002227fc13Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3012227fc13Smrg	| ubicom32 \
3022227fc13Smrg	| v850 | v850e \
3032227fc13Smrg	| we32k \
3042227fc13Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3052227fc13Smrg	| z8k | z80)
3062227fc13Smrg		basic_machine=$basic_machine-unknown
3072227fc13Smrg		;;
3082227fc13Smrg	c54x)
3092227fc13Smrg		basic_machine=tic54x-unknown
3102227fc13Smrg		;;
3112227fc13Smrg	c55x)
3122227fc13Smrg		basic_machine=tic55x-unknown
3132227fc13Smrg		;;
3142227fc13Smrg	c6x)
3152227fc13Smrg		basic_machine=tic6x-unknown
3162227fc13Smrg		;;
3172227fc13Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3182227fc13Smrg		# Motorola 68HC11/12.
3192227fc13Smrg		basic_machine=$basic_machine-unknown
3202227fc13Smrg		os=-none
3212227fc13Smrg		;;
3222227fc13Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3232227fc13Smrg		;;
3242227fc13Smrg	ms1)
3252227fc13Smrg		basic_machine=mt-unknown
3262227fc13Smrg		;;
3272227fc13Smrg
3282227fc13Smrg	# We use `pc' rather than `unknown'
3292227fc13Smrg	# because (1) that's what they normally are, and
3302227fc13Smrg	# (2) the word "unknown" tends to confuse beginning users.
3312227fc13Smrg	i*86 | x86_64)
3322227fc13Smrg	  basic_machine=$basic_machine-pc
3332227fc13Smrg	  ;;
3342227fc13Smrg	# Object if more than one company name word.
3352227fc13Smrg	*-*-*)
3362227fc13Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3372227fc13Smrg		exit 1
3382227fc13Smrg		;;
3392227fc13Smrg	# Recognize the basic CPU types with company name.
3402227fc13Smrg	580-* \
3412227fc13Smrg	| a29k-* \
3422227fc13Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3432227fc13Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3442227fc13Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3452227fc13Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3462227fc13Smrg	| avr-* | avr32-* \
3472227fc13Smrg	| bfin-* | bs2000-* \
3482227fc13Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3492227fc13Smrg	| clipper-* | craynv-* | cydra-* \
3502227fc13Smrg	| d10v-* | d30v-* | dlx-* \
3512227fc13Smrg	| elxsi-* \
3522227fc13Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3532227fc13Smrg	| h8300-* | h8500-* \
3542227fc13Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3552227fc13Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3562227fc13Smrg	| ip2k-* | iq2000-* \
3572227fc13Smrg	| lm32-* \
3582227fc13Smrg	| m32c-* | m32r-* | m32rle-* \
3592227fc13Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3602227fc13Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3612227fc13Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3622227fc13Smrg	| mips16-* \
3632227fc13Smrg	| mips64-* | mips64el-* \
3642227fc13Smrg	| mips64octeon-* | mips64octeonel-* \
3652227fc13Smrg	| mips64orion-* | mips64orionel-* \
3662227fc13Smrg	| mips64r5900-* | mips64r5900el-* \
3672227fc13Smrg	| mips64vr-* | mips64vrel-* \
3682227fc13Smrg	| mips64vr4100-* | mips64vr4100el-* \
3692227fc13Smrg	| mips64vr4300-* | mips64vr4300el-* \
3702227fc13Smrg	| mips64vr5000-* | mips64vr5000el-* \
3712227fc13Smrg	| mips64vr5900-* | mips64vr5900el-* \
3722227fc13Smrg	| mipsisa32-* | mipsisa32el-* \
3732227fc13Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3742227fc13Smrg	| mipsisa64-* | mipsisa64el-* \
3752227fc13Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3762227fc13Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3772227fc13Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3782227fc13Smrg	| mipstx39-* | mipstx39el-* \
3792227fc13Smrg	| mmix-* \
3802227fc13Smrg	| mt-* \
3812227fc13Smrg	| msp430-* \
3822227fc13Smrg	| nds32-* | nds32le-* | nds32be-* \
3832227fc13Smrg	| nios-* | nios2-* \
3842227fc13Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3852227fc13Smrg	| orion-* \
3862227fc13Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3872227fc13Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3882227fc13Smrg	| pyramid-* \
3892227fc13Smrg	| romp-* | rs6000-* | rx-* \
3902227fc13Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3912227fc13Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3922227fc13Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3932227fc13Smrg	| sparclite-* \
3942227fc13Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3952227fc13Smrg	| tahoe-* | thumb-* \
3962227fc13Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3972227fc13Smrg	| tile-* | tilegx-* \
3982227fc13Smrg	| tron-* \
3992227fc13Smrg	| ubicom32-* \
4002227fc13Smrg	| v850-* | v850e-* | vax-* \
4012227fc13Smrg	| we32k-* \
4022227fc13Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4032227fc13Smrg	| xstormy16-* | xtensa*-* \
4042227fc13Smrg	| ymp-* \
4052227fc13Smrg	| z8k-* | z80-*)
4062227fc13Smrg		;;
4072227fc13Smrg	# Recognize the basic CPU types without company name, with glob match.
4082227fc13Smrg	xtensa*)
4092227fc13Smrg		basic_machine=$basic_machine-unknown
4102227fc13Smrg		;;
4112227fc13Smrg	# Recognize the various machine names and aliases which stand
4122227fc13Smrg	# for a CPU type and a company and sometimes even an OS.
4132227fc13Smrg	386bsd)
4142227fc13Smrg		basic_machine=i386-unknown
4152227fc13Smrg		os=-bsd
4162227fc13Smrg		;;
4172227fc13Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4182227fc13Smrg		basic_machine=m68000-att
4192227fc13Smrg		;;
4202227fc13Smrg	3b*)
4212227fc13Smrg		basic_machine=we32k-att
4222227fc13Smrg		;;
4232227fc13Smrg	a29khif)
4242227fc13Smrg		basic_machine=a29k-amd
4252227fc13Smrg		os=-udi
4262227fc13Smrg		;;
4272227fc13Smrg    	abacus)
4282227fc13Smrg		basic_machine=abacus-unknown
4292227fc13Smrg		;;
4302227fc13Smrg	adobe68k)
4312227fc13Smrg		basic_machine=m68010-adobe
4322227fc13Smrg		os=-scout
4332227fc13Smrg		;;
4342227fc13Smrg	alliant | fx80)
4352227fc13Smrg		basic_machine=fx80-alliant
4362227fc13Smrg		;;
4372227fc13Smrg	altos | altos3068)
4382227fc13Smrg		basic_machine=m68k-altos
4392227fc13Smrg		;;
4402227fc13Smrg	am29k)
4412227fc13Smrg		basic_machine=a29k-none
4422227fc13Smrg		os=-bsd
4432227fc13Smrg		;;
4442227fc13Smrg	amd64)
4452227fc13Smrg		basic_machine=x86_64-pc
4462227fc13Smrg		;;
4472227fc13Smrg	amd64-*)
4482227fc13Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4492227fc13Smrg		;;
4502227fc13Smrg	amdahl)
4512227fc13Smrg		basic_machine=580-amdahl
4522227fc13Smrg		os=-sysv
4532227fc13Smrg		;;
4542227fc13Smrg	amiga | amiga-*)
4552227fc13Smrg		basic_machine=m68k-unknown
4562227fc13Smrg		;;
4572227fc13Smrg	amigaos | amigados)
4582227fc13Smrg		basic_machine=m68k-unknown
4592227fc13Smrg		os=-amigaos
4602227fc13Smrg		;;
4612227fc13Smrg	amigaunix | amix)
4622227fc13Smrg		basic_machine=m68k-unknown
4632227fc13Smrg		os=-sysv4
4642227fc13Smrg		;;
4652227fc13Smrg	apollo68)
4662227fc13Smrg		basic_machine=m68k-apollo
4672227fc13Smrg		os=-sysv
4682227fc13Smrg		;;
4692227fc13Smrg	apollo68bsd)
4702227fc13Smrg		basic_machine=m68k-apollo
4712227fc13Smrg		os=-bsd
4722227fc13Smrg		;;
4732227fc13Smrg	aros)
4742227fc13Smrg		basic_machine=i386-pc
4752227fc13Smrg		os=-aros
4762227fc13Smrg		;;
4772227fc13Smrg	aux)
4782227fc13Smrg		basic_machine=m68k-apple
4792227fc13Smrg		os=-aux
4802227fc13Smrg		;;
4812227fc13Smrg	balance)
4822227fc13Smrg		basic_machine=ns32k-sequent
4832227fc13Smrg		os=-dynix
4842227fc13Smrg		;;
4852227fc13Smrg	blackfin)
4862227fc13Smrg		basic_machine=bfin-unknown
4872227fc13Smrg		os=-linux
4882227fc13Smrg		;;
4892227fc13Smrg	blackfin-*)
4902227fc13Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4912227fc13Smrg		os=-linux
4922227fc13Smrg		;;
4932227fc13Smrg	bluegene*)
4942227fc13Smrg		basic_machine=powerpc-ibm
4952227fc13Smrg		os=-cnk
4962227fc13Smrg		;;
4972227fc13Smrg	c54x-*)
4982227fc13Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4992227fc13Smrg		;;
5002227fc13Smrg	c55x-*)
5012227fc13Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5022227fc13Smrg		;;
5032227fc13Smrg	c6x-*)
5042227fc13Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5052227fc13Smrg		;;
5062227fc13Smrg	c90)
5072227fc13Smrg		basic_machine=c90-cray
5082227fc13Smrg		os=-unicos
5092227fc13Smrg		;;
5102227fc13Smrg        cegcc)
5112227fc13Smrg		basic_machine=arm-unknown
5122227fc13Smrg		os=-cegcc
5132227fc13Smrg		;;
5142227fc13Smrg	convex-c1)
5152227fc13Smrg		basic_machine=c1-convex
5162227fc13Smrg		os=-bsd
5172227fc13Smrg		;;
5182227fc13Smrg	convex-c2)
5192227fc13Smrg		basic_machine=c2-convex
5202227fc13Smrg		os=-bsd
5212227fc13Smrg		;;
5222227fc13Smrg	convex-c32)
5232227fc13Smrg		basic_machine=c32-convex
5242227fc13Smrg		os=-bsd
5252227fc13Smrg		;;
5262227fc13Smrg	convex-c34)
5272227fc13Smrg		basic_machine=c34-convex
5282227fc13Smrg		os=-bsd
5292227fc13Smrg		;;
5302227fc13Smrg	convex-c38)
5312227fc13Smrg		basic_machine=c38-convex
5322227fc13Smrg		os=-bsd
5332227fc13Smrg		;;
5342227fc13Smrg	cray | j90)
5352227fc13Smrg		basic_machine=j90-cray
5362227fc13Smrg		os=-unicos
5372227fc13Smrg		;;
5382227fc13Smrg	craynv)
5392227fc13Smrg		basic_machine=craynv-cray
5402227fc13Smrg		os=-unicosmp
5412227fc13Smrg		;;
5422227fc13Smrg	cr16)
5432227fc13Smrg		basic_machine=cr16-unknown
5442227fc13Smrg		os=-elf
5452227fc13Smrg		;;
5462227fc13Smrg	crds | unos)
5472227fc13Smrg		basic_machine=m68k-crds
5482227fc13Smrg		;;
5492227fc13Smrg	crisv32 | crisv32-* | etraxfs*)
5502227fc13Smrg		basic_machine=crisv32-axis
5512227fc13Smrg		;;
5522227fc13Smrg	cris | cris-* | etrax*)
5532227fc13Smrg		basic_machine=cris-axis
5542227fc13Smrg		;;
5552227fc13Smrg	crx)
5562227fc13Smrg		basic_machine=crx-unknown
5572227fc13Smrg		os=-elf
5582227fc13Smrg		;;
5592227fc13Smrg	da30 | da30-*)
5602227fc13Smrg		basic_machine=m68k-da30
5612227fc13Smrg		;;
5622227fc13Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5632227fc13Smrg		basic_machine=mips-dec
5642227fc13Smrg		;;
5652227fc13Smrg	decsystem10* | dec10*)
5662227fc13Smrg		basic_machine=pdp10-dec
5672227fc13Smrg		os=-tops10
5682227fc13Smrg		;;
5692227fc13Smrg	decsystem20* | dec20*)
5702227fc13Smrg		basic_machine=pdp10-dec
5712227fc13Smrg		os=-tops20
5722227fc13Smrg		;;
5732227fc13Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5742227fc13Smrg	      | 3300-motorola | delta-motorola)
5752227fc13Smrg		basic_machine=m68k-motorola
5762227fc13Smrg		;;
5772227fc13Smrg	delta88)
5782227fc13Smrg		basic_machine=m88k-motorola
5792227fc13Smrg		os=-sysv3
5802227fc13Smrg		;;
5812227fc13Smrg	dicos)
5822227fc13Smrg		basic_machine=i686-pc
5832227fc13Smrg		os=-dicos
5842227fc13Smrg		;;
5852227fc13Smrg	djgpp)
5862227fc13Smrg		basic_machine=i586-pc
5872227fc13Smrg		os=-msdosdjgpp
5882227fc13Smrg		;;
5892227fc13Smrg	dpx20 | dpx20-*)
5902227fc13Smrg		basic_machine=rs6000-bull
5912227fc13Smrg		os=-bosx
5922227fc13Smrg		;;
5932227fc13Smrg	dpx2* | dpx2*-bull)
5942227fc13Smrg		basic_machine=m68k-bull
5952227fc13Smrg		os=-sysv3
5962227fc13Smrg		;;
5972227fc13Smrg	ebmon29k)
5982227fc13Smrg		basic_machine=a29k-amd
5992227fc13Smrg		os=-ebmon
6002227fc13Smrg		;;
6012227fc13Smrg	elxsi)
6022227fc13Smrg		basic_machine=elxsi-elxsi
6032227fc13Smrg		os=-bsd
6042227fc13Smrg		;;
6052227fc13Smrg	encore | umax | mmax)
6062227fc13Smrg		basic_machine=ns32k-encore
6072227fc13Smrg		;;
6082227fc13Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6092227fc13Smrg		basic_machine=m68k-ericsson
6102227fc13Smrg		os=-ose
6112227fc13Smrg		;;
6122227fc13Smrg	fx2800)
6132227fc13Smrg		basic_machine=i860-alliant
6142227fc13Smrg		;;
6152227fc13Smrg	genix)
6162227fc13Smrg		basic_machine=ns32k-ns
6172227fc13Smrg		;;
6182227fc13Smrg	gmicro)
6192227fc13Smrg		basic_machine=tron-gmicro
6202227fc13Smrg		os=-sysv
6212227fc13Smrg		;;
6222227fc13Smrg	go32)
6232227fc13Smrg		basic_machine=i386-pc
6242227fc13Smrg		os=-go32
6252227fc13Smrg		;;
6262227fc13Smrg	h3050r* | hiux*)
6272227fc13Smrg		basic_machine=hppa1.1-hitachi
6282227fc13Smrg		os=-hiuxwe2
6292227fc13Smrg		;;
6302227fc13Smrg	h8300hms)
6312227fc13Smrg		basic_machine=h8300-hitachi
6322227fc13Smrg		os=-hms
6332227fc13Smrg		;;
6342227fc13Smrg	h8300xray)
6352227fc13Smrg		basic_machine=h8300-hitachi
6362227fc13Smrg		os=-xray
6372227fc13Smrg		;;
6382227fc13Smrg	h8500hms)
6392227fc13Smrg		basic_machine=h8500-hitachi
6402227fc13Smrg		os=-hms
6412227fc13Smrg		;;
6422227fc13Smrg	harris)
6432227fc13Smrg		basic_machine=m88k-harris
6442227fc13Smrg		os=-sysv3
6452227fc13Smrg		;;
6462227fc13Smrg	hp300-*)
6472227fc13Smrg		basic_machine=m68k-hp
6482227fc13Smrg		;;
6492227fc13Smrg	hp300bsd)
6502227fc13Smrg		basic_machine=m68k-hp
6512227fc13Smrg		os=-bsd
6522227fc13Smrg		;;
6532227fc13Smrg	hp300hpux)
6542227fc13Smrg		basic_machine=m68k-hp
6552227fc13Smrg		os=-hpux
6562227fc13Smrg		;;
6572227fc13Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6582227fc13Smrg		basic_machine=hppa1.0-hp
6592227fc13Smrg		;;
6602227fc13Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6612227fc13Smrg		basic_machine=m68000-hp
6622227fc13Smrg		;;
6632227fc13Smrg	hp9k3[2-9][0-9])
6642227fc13Smrg		basic_machine=m68k-hp
6652227fc13Smrg		;;
6662227fc13Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6672227fc13Smrg		basic_machine=hppa1.0-hp
6682227fc13Smrg		;;
6692227fc13Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6702227fc13Smrg		basic_machine=hppa1.1-hp
6712227fc13Smrg		;;
6722227fc13Smrg	hp9k78[0-9] | hp78[0-9])
6732227fc13Smrg		# FIXME: really hppa2.0-hp
6742227fc13Smrg		basic_machine=hppa1.1-hp
6752227fc13Smrg		;;
6762227fc13Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6772227fc13Smrg		# FIXME: really hppa2.0-hp
6782227fc13Smrg		basic_machine=hppa1.1-hp
6792227fc13Smrg		;;
6802227fc13Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6812227fc13Smrg		basic_machine=hppa1.1-hp
6822227fc13Smrg		;;
6832227fc13Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6842227fc13Smrg		basic_machine=hppa1.0-hp
6852227fc13Smrg		;;
6862227fc13Smrg	hppa-next)
6872227fc13Smrg		os=-nextstep3
6882227fc13Smrg		;;
6892227fc13Smrg	hppaosf)
6902227fc13Smrg		basic_machine=hppa1.1-hp
6912227fc13Smrg		os=-osf
6922227fc13Smrg		;;
6932227fc13Smrg	hppro)
6942227fc13Smrg		basic_machine=hppa1.1-hp
6952227fc13Smrg		os=-proelf
6962227fc13Smrg		;;
6972227fc13Smrg	i370-ibm* | ibm*)
6982227fc13Smrg		basic_machine=i370-ibm
6992227fc13Smrg		;;
7002227fc13Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7012227fc13Smrg	i*86v32)
7022227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7032227fc13Smrg		os=-sysv32
7042227fc13Smrg		;;
7052227fc13Smrg	i*86v4*)
7062227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7072227fc13Smrg		os=-sysv4
7082227fc13Smrg		;;
7092227fc13Smrg	i*86v)
7102227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7112227fc13Smrg		os=-sysv
7122227fc13Smrg		;;
7132227fc13Smrg	i*86sol2)
7142227fc13Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7152227fc13Smrg		os=-solaris2
7162227fc13Smrg		;;
7172227fc13Smrg	i386mach)
7182227fc13Smrg		basic_machine=i386-mach
7192227fc13Smrg		os=-mach
7202227fc13Smrg		;;
7212227fc13Smrg	i386-vsta | vsta)
7222227fc13Smrg		basic_machine=i386-unknown
7232227fc13Smrg		os=-vsta
7242227fc13Smrg		;;
7252227fc13Smrg	iris | iris4d)
7262227fc13Smrg		basic_machine=mips-sgi
7272227fc13Smrg		case $os in
7282227fc13Smrg		    -irix*)
7292227fc13Smrg			;;
7302227fc13Smrg		    *)
7312227fc13Smrg			os=-irix4
7322227fc13Smrg			;;
7332227fc13Smrg		esac
7342227fc13Smrg		;;
7352227fc13Smrg	isi68 | isi)
7362227fc13Smrg		basic_machine=m68k-isi
7372227fc13Smrg		os=-sysv
7382227fc13Smrg		;;
7392227fc13Smrg	m68knommu)
7402227fc13Smrg		basic_machine=m68k-unknown
7412227fc13Smrg		os=-linux
7422227fc13Smrg		;;
7432227fc13Smrg	m68knommu-*)
7442227fc13Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7452227fc13Smrg		os=-linux
7462227fc13Smrg		;;
7472227fc13Smrg	m88k-omron*)
7482227fc13Smrg		basic_machine=m88k-omron
7492227fc13Smrg		;;
7502227fc13Smrg	magnum | m3230)
7512227fc13Smrg		basic_machine=mips-mips
7522227fc13Smrg		os=-sysv
7532227fc13Smrg		;;
7542227fc13Smrg	merlin)
7552227fc13Smrg		basic_machine=ns32k-utek
7562227fc13Smrg		os=-sysv
7572227fc13Smrg		;;
7582227fc13Smrg        microblaze)
7592227fc13Smrg		basic_machine=microblaze-xilinx
7602227fc13Smrg		;;
7612227fc13Smrg	mingw32)
7622227fc13Smrg		basic_machine=i386-pc
7632227fc13Smrg		os=-mingw32
7642227fc13Smrg		;;
7652227fc13Smrg	mingw32ce)
7662227fc13Smrg		basic_machine=arm-unknown
7672227fc13Smrg		os=-mingw32ce
7682227fc13Smrg		;;
7692227fc13Smrg	miniframe)
7702227fc13Smrg		basic_machine=m68000-convergent
7712227fc13Smrg		;;
7722227fc13Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7732227fc13Smrg		basic_machine=m68k-atari
7742227fc13Smrg		os=-mint
7752227fc13Smrg		;;
7762227fc13Smrg	mipsEE* | ee | ps2)
7772227fc13Smrg		basic_machine=mips64r5900el-scei
7782227fc13Smrg		case $os in
7792227fc13Smrg		    -linux*)
7802227fc13Smrg			;;
7812227fc13Smrg		    *)
7822227fc13Smrg			os=-elf
7832227fc13Smrg			;;
7842227fc13Smrg		esac
7852227fc13Smrg		;;
7862227fc13Smrg	iop)
7872227fc13Smrg		basic_machine=mipsel-scei
7882227fc13Smrg		os=-irx
7892227fc13Smrg		;;
7902227fc13Smrg	dvp)
7912227fc13Smrg		basic_machine=dvp-scei
7922227fc13Smrg		os=-elf
7932227fc13Smrg		;;
7942227fc13Smrg	mips3*-*)
7952227fc13Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7962227fc13Smrg		;;
7972227fc13Smrg	mips3*)
7982227fc13Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7992227fc13Smrg		;;
8002227fc13Smrg	monitor)
8012227fc13Smrg		basic_machine=m68k-rom68k
8022227fc13Smrg		os=-coff
8032227fc13Smrg		;;
8042227fc13Smrg	morphos)
8052227fc13Smrg		basic_machine=powerpc-unknown
8062227fc13Smrg		os=-morphos
8072227fc13Smrg		;;
8082227fc13Smrg	msdos)
8092227fc13Smrg		basic_machine=i386-pc
8102227fc13Smrg		os=-msdos
8112227fc13Smrg		;;
8122227fc13Smrg	ms1-*)
8132227fc13Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8142227fc13Smrg		;;
8152227fc13Smrg	mvs)
8162227fc13Smrg		basic_machine=i370-ibm
8172227fc13Smrg		os=-mvs
8182227fc13Smrg		;;
8192227fc13Smrg	ncr3000)
8202227fc13Smrg		basic_machine=i486-ncr
8212227fc13Smrg		os=-sysv4
8222227fc13Smrg		;;
8232227fc13Smrg	netbsd386)
8242227fc13Smrg		basic_machine=i386-unknown
8252227fc13Smrg		os=-netbsd
8262227fc13Smrg		;;
8272227fc13Smrg	netwinder)
8282227fc13Smrg		basic_machine=armv4l-rebel
8292227fc13Smrg		os=-linux
8302227fc13Smrg		;;
8312227fc13Smrg	news | news700 | news800 | news900)
8322227fc13Smrg		basic_machine=m68k-sony
8332227fc13Smrg		os=-newsos
8342227fc13Smrg		;;
8352227fc13Smrg	news1000)
8362227fc13Smrg		basic_machine=m68030-sony
8372227fc13Smrg		os=-newsos
8382227fc13Smrg		;;
8392227fc13Smrg	news-3600 | risc-news)
8402227fc13Smrg		basic_machine=mips-sony
8412227fc13Smrg		os=-newsos
8422227fc13Smrg		;;
8432227fc13Smrg	necv70)
8442227fc13Smrg		basic_machine=v70-nec
8452227fc13Smrg		os=-sysv
8462227fc13Smrg		;;
8472227fc13Smrg	next | m*-next )
8482227fc13Smrg		basic_machine=m68k-next
8492227fc13Smrg		case $os in
8502227fc13Smrg		    -nextstep* )
8512227fc13Smrg			;;
8522227fc13Smrg		    -ns2*)
8532227fc13Smrg		      os=-nextstep2
8542227fc13Smrg			;;
8552227fc13Smrg		    *)
8562227fc13Smrg		      os=-nextstep3
8572227fc13Smrg			;;
8582227fc13Smrg		esac
8592227fc13Smrg		;;
8602227fc13Smrg	nh3000)
8612227fc13Smrg		basic_machine=m68k-harris
8622227fc13Smrg		os=-cxux
8632227fc13Smrg		;;
8642227fc13Smrg	nh[45]000)
8652227fc13Smrg		basic_machine=m88k-harris
8662227fc13Smrg		os=-cxux
8672227fc13Smrg		;;
8682227fc13Smrg	nindy960)
8692227fc13Smrg		basic_machine=i960-intel
8702227fc13Smrg		os=-nindy
8712227fc13Smrg		;;
8722227fc13Smrg	mon960)
8732227fc13Smrg		basic_machine=i960-intel
8742227fc13Smrg		os=-mon960
8752227fc13Smrg		;;
8762227fc13Smrg	nonstopux)
8772227fc13Smrg		basic_machine=mips-compaq
8782227fc13Smrg		os=-nonstopux
8792227fc13Smrg		;;
8802227fc13Smrg	np1)
8812227fc13Smrg		basic_machine=np1-gould
8822227fc13Smrg		;;
8832227fc13Smrg        neo-tandem)
8842227fc13Smrg		basic_machine=neo-tandem
8852227fc13Smrg		;;
8862227fc13Smrg        nse-tandem)
8872227fc13Smrg		basic_machine=nse-tandem
8882227fc13Smrg		;;
8892227fc13Smrg	nsr-tandem)
8902227fc13Smrg		basic_machine=nsr-tandem
8912227fc13Smrg		;;
8922227fc13Smrg	op50n-* | op60c-*)
8932227fc13Smrg		basic_machine=hppa1.1-oki
8942227fc13Smrg		os=-proelf
8952227fc13Smrg		;;
8962227fc13Smrg	openrisc | openrisc-*)
8972227fc13Smrg		basic_machine=or32-unknown
8982227fc13Smrg		;;
8992227fc13Smrg	os400)
9002227fc13Smrg		basic_machine=powerpc-ibm
9012227fc13Smrg		os=-os400
9022227fc13Smrg		;;
9032227fc13Smrg	OSE68000 | ose68000)
9042227fc13Smrg		basic_machine=m68000-ericsson
9052227fc13Smrg		os=-ose
9062227fc13Smrg		;;
9072227fc13Smrg	os68k)
9082227fc13Smrg		basic_machine=m68k-none
9092227fc13Smrg		os=-os68k
9102227fc13Smrg		;;
9112227fc13Smrg	pa-hitachi)
9122227fc13Smrg		basic_machine=hppa1.1-hitachi
9132227fc13Smrg		os=-hiuxwe2
9142227fc13Smrg		;;
9152227fc13Smrg	paragon)
9162227fc13Smrg		basic_machine=i860-intel
9172227fc13Smrg		os=-osf
9182227fc13Smrg		;;
9192227fc13Smrg	parisc)
9202227fc13Smrg		basic_machine=hppa-unknown
9212227fc13Smrg		os=-linux
9222227fc13Smrg		;;
9232227fc13Smrg	parisc-*)
9242227fc13Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9252227fc13Smrg		os=-linux
9262227fc13Smrg		;;
9272227fc13Smrg	pbd)
9282227fc13Smrg		basic_machine=sparc-tti
9292227fc13Smrg		;;
9302227fc13Smrg	pbb)
9312227fc13Smrg		basic_machine=m68k-tti
9322227fc13Smrg		;;
9332227fc13Smrg	pc532 | pc532-*)
9342227fc13Smrg		basic_machine=ns32k-pc532
9352227fc13Smrg		;;
9362227fc13Smrg	pc98)
9372227fc13Smrg		basic_machine=i386-pc
9382227fc13Smrg		;;
9392227fc13Smrg	pc98-*)
9402227fc13Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9412227fc13Smrg		;;
9422227fc13Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9432227fc13Smrg		basic_machine=i586-pc
9442227fc13Smrg		;;
9452227fc13Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9462227fc13Smrg		basic_machine=i686-pc
9472227fc13Smrg		;;
9482227fc13Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9492227fc13Smrg		basic_machine=i686-pc
9502227fc13Smrg		;;
9512227fc13Smrg	pentium4)
9522227fc13Smrg		basic_machine=i786-pc
9532227fc13Smrg		;;
9542227fc13Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9552227fc13Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9562227fc13Smrg		;;
9572227fc13Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9582227fc13Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9592227fc13Smrg		;;
9602227fc13Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9612227fc13Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9622227fc13Smrg		;;
9632227fc13Smrg	pentium4-*)
9642227fc13Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9652227fc13Smrg		;;
9662227fc13Smrg	pn)
9672227fc13Smrg		basic_machine=pn-gould
9682227fc13Smrg		;;
9692227fc13Smrg	power)	basic_machine=power-ibm
9702227fc13Smrg		;;
9712227fc13Smrg	ppc)	basic_machine=powerpc-unknown
9722227fc13Smrg		;;
9732227fc13Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9742227fc13Smrg		;;
9752227fc13Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9762227fc13Smrg		basic_machine=powerpcle-unknown
9772227fc13Smrg		;;
9782227fc13Smrg	ppcle-* | powerpclittle-*)
9792227fc13Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9802227fc13Smrg		;;
9812227fc13Smrg	ppc64)	basic_machine=powerpc64-unknown
9822227fc13Smrg		;;
9832227fc13Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9842227fc13Smrg		;;
9852227fc13Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9862227fc13Smrg		basic_machine=powerpc64le-unknown
9872227fc13Smrg		;;
9882227fc13Smrg	ppc64le-* | powerpc64little-*)
9892227fc13Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9902227fc13Smrg		;;
9912227fc13Smrg	ps2)
9922227fc13Smrg		basic_machine=i386-ibm
9932227fc13Smrg		;;
9942227fc13Smrg	pw32)
9952227fc13Smrg		basic_machine=i586-unknown
9962227fc13Smrg		os=-pw32
9972227fc13Smrg		;;
9982227fc13Smrg	rdos)
9992227fc13Smrg		basic_machine=i386-pc
10002227fc13Smrg		os=-rdos
10012227fc13Smrg		;;
10022227fc13Smrg	rom68k)
10032227fc13Smrg		basic_machine=m68k-rom68k
10042227fc13Smrg		os=-coff
10052227fc13Smrg		;;
10062227fc13Smrg	rm[46]00)
10072227fc13Smrg		basic_machine=mips-siemens
10082227fc13Smrg		;;
10092227fc13Smrg	rtpc | rtpc-*)
10102227fc13Smrg		basic_machine=romp-ibm
10112227fc13Smrg		;;
10122227fc13Smrg	s390 | s390-*)
10132227fc13Smrg		basic_machine=s390-ibm
10142227fc13Smrg		;;
10152227fc13Smrg	s390x | s390x-*)
10162227fc13Smrg		basic_machine=s390x-ibm
10172227fc13Smrg		;;
10182227fc13Smrg	sa29200)
10192227fc13Smrg		basic_machine=a29k-amd
10202227fc13Smrg		os=-udi
10212227fc13Smrg		;;
10222227fc13Smrg	sb1)
10232227fc13Smrg		basic_machine=mipsisa64sb1-unknown
10242227fc13Smrg		;;
10252227fc13Smrg	sb1el)
10262227fc13Smrg		basic_machine=mipsisa64sb1el-unknown
10272227fc13Smrg		;;
10282227fc13Smrg	sde)
10292227fc13Smrg		basic_machine=mipsisa32-sde
10302227fc13Smrg		os=-elf
10312227fc13Smrg		;;
10322227fc13Smrg	sei)
10332227fc13Smrg		basic_machine=mips-sei
10342227fc13Smrg		os=-seiux
10352227fc13Smrg		;;
10362227fc13Smrg	sequent)
10372227fc13Smrg		basic_machine=i386-sequent
10382227fc13Smrg		;;
10392227fc13Smrg	sh)
10402227fc13Smrg		basic_machine=sh-hitachi
10412227fc13Smrg		os=-hms
10422227fc13Smrg		;;
10432227fc13Smrg	sh5el)
10442227fc13Smrg		basic_machine=sh5le-unknown
10452227fc13Smrg		;;
10462227fc13Smrg	sh64)
10472227fc13Smrg		basic_machine=sh64-unknown
10482227fc13Smrg		;;
10492227fc13Smrg	sparclite-wrs | simso-wrs)
10502227fc13Smrg		basic_machine=sparclite-wrs
10512227fc13Smrg		os=-vxworks
10522227fc13Smrg		;;
10532227fc13Smrg	sps7)
10542227fc13Smrg		basic_machine=m68k-bull
10552227fc13Smrg		os=-sysv2
10562227fc13Smrg		;;
10572227fc13Smrg	spur)
10582227fc13Smrg		basic_machine=spur-unknown
10592227fc13Smrg		;;
10602227fc13Smrg	st2000)
10612227fc13Smrg		basic_machine=m68k-tandem
10622227fc13Smrg		;;
10632227fc13Smrg	stratus)
10642227fc13Smrg		basic_machine=i860-stratus
10652227fc13Smrg		os=-sysv4
10662227fc13Smrg		;;
10672227fc13Smrg	sun2)
10682227fc13Smrg		basic_machine=m68000-sun
10692227fc13Smrg		;;
10702227fc13Smrg	sun2os3)
10712227fc13Smrg		basic_machine=m68000-sun
10722227fc13Smrg		os=-sunos3
10732227fc13Smrg		;;
10742227fc13Smrg	sun2os4)
10752227fc13Smrg		basic_machine=m68000-sun
10762227fc13Smrg		os=-sunos4
10772227fc13Smrg		;;
10782227fc13Smrg	sun3os3)
10792227fc13Smrg		basic_machine=m68k-sun
10802227fc13Smrg		os=-sunos3
10812227fc13Smrg		;;
10822227fc13Smrg	sun3os4)
10832227fc13Smrg		basic_machine=m68k-sun
10842227fc13Smrg		os=-sunos4
10852227fc13Smrg		;;
10862227fc13Smrg	sun4os3)
10872227fc13Smrg		basic_machine=sparc-sun
10882227fc13Smrg		os=-sunos3
10892227fc13Smrg		;;
10902227fc13Smrg	sun4os4)
10912227fc13Smrg		basic_machine=sparc-sun
10922227fc13Smrg		os=-sunos4
10932227fc13Smrg		;;
10942227fc13Smrg	sun4sol2)
10952227fc13Smrg		basic_machine=sparc-sun
10962227fc13Smrg		os=-solaris2
10972227fc13Smrg		;;
10982227fc13Smrg	sun3 | sun3-*)
10992227fc13Smrg		basic_machine=m68k-sun
11002227fc13Smrg		;;
11012227fc13Smrg	sun4)
11022227fc13Smrg		basic_machine=sparc-sun
11032227fc13Smrg		;;
11042227fc13Smrg	sun386 | sun386i | roadrunner)
11052227fc13Smrg		basic_machine=i386-sun
11062227fc13Smrg		;;
11072227fc13Smrg	sv1)
11082227fc13Smrg		basic_machine=sv1-cray
11092227fc13Smrg		os=-unicos
11102227fc13Smrg		;;
11112227fc13Smrg	symmetry)
11122227fc13Smrg		basic_machine=i386-sequent
11132227fc13Smrg		os=-dynix
11142227fc13Smrg		;;
11152227fc13Smrg	t3e)
11162227fc13Smrg		basic_machine=alphaev5-cray
11172227fc13Smrg		os=-unicos
11182227fc13Smrg		;;
11192227fc13Smrg	t90)
11202227fc13Smrg		basic_machine=t90-cray
11212227fc13Smrg		os=-unicos
11222227fc13Smrg		;;
11232227fc13Smrg        # This must be matched before tile*.
11242227fc13Smrg        tilegx*)
11252227fc13Smrg		basic_machine=tilegx-unknown
11262227fc13Smrg		os=-linux-gnu
11272227fc13Smrg		;;
11282227fc13Smrg	tile*)
11292227fc13Smrg		basic_machine=tile-unknown
11302227fc13Smrg		os=-linux-gnu
11312227fc13Smrg		;;
11322227fc13Smrg	tx39)
11332227fc13Smrg		basic_machine=mipstx39-unknown
11342227fc13Smrg		;;
11352227fc13Smrg	tx39el)
11362227fc13Smrg		basic_machine=mipstx39el-unknown
11372227fc13Smrg		;;
11382227fc13Smrg	toad1)
11392227fc13Smrg		basic_machine=pdp10-xkl
11402227fc13Smrg		os=-tops20
11412227fc13Smrg		;;
11422227fc13Smrg	tower | tower-32)
11432227fc13Smrg		basic_machine=m68k-ncr
11442227fc13Smrg		;;
11452227fc13Smrg	tpf)
11462227fc13Smrg		basic_machine=s390x-ibm
11472227fc13Smrg		os=-tpf
11482227fc13Smrg		;;
11492227fc13Smrg	udi29k)
11502227fc13Smrg		basic_machine=a29k-amd
11512227fc13Smrg		os=-udi
11522227fc13Smrg		;;
11532227fc13Smrg	ultra3)
11542227fc13Smrg		basic_machine=a29k-nyu
11552227fc13Smrg		os=-sym1
11562227fc13Smrg		;;
11572227fc13Smrg	v810 | necv810)
11582227fc13Smrg		basic_machine=v810-nec
11592227fc13Smrg		os=-none
11602227fc13Smrg		;;
11612227fc13Smrg	vaxv)
11622227fc13Smrg		basic_machine=vax-dec
11632227fc13Smrg		os=-sysv
11642227fc13Smrg		;;
11652227fc13Smrg	vms)
11662227fc13Smrg		basic_machine=vax-dec
11672227fc13Smrg		os=-vms
11682227fc13Smrg		;;
11692227fc13Smrg	vpp*|vx|vx-*)
11702227fc13Smrg		basic_machine=f301-fujitsu
11712227fc13Smrg		;;
11722227fc13Smrg	vxworks960)
11732227fc13Smrg		basic_machine=i960-wrs
11742227fc13Smrg		os=-vxworks
11752227fc13Smrg		;;
11762227fc13Smrg	vxworks68)
11772227fc13Smrg		basic_machine=m68k-wrs
11782227fc13Smrg		os=-vxworks
11792227fc13Smrg		;;
11802227fc13Smrg	vxworks29k)
11812227fc13Smrg		basic_machine=a29k-wrs
11822227fc13Smrg		os=-vxworks
11832227fc13Smrg		;;
11842227fc13Smrg	w65*)
11852227fc13Smrg		basic_machine=w65-wdc
11862227fc13Smrg		os=-none
11872227fc13Smrg		;;
11882227fc13Smrg	w89k-*)
11892227fc13Smrg		basic_machine=hppa1.1-winbond
11902227fc13Smrg		os=-proelf
11912227fc13Smrg		;;
11922227fc13Smrg	xbox)
11932227fc13Smrg		basic_machine=i686-pc
11942227fc13Smrg		os=-mingw32
11952227fc13Smrg		;;
11962227fc13Smrg	xps | xps100)
11972227fc13Smrg		basic_machine=xps100-honeywell
11982227fc13Smrg		;;
11992227fc13Smrg	ymp)
12002227fc13Smrg		basic_machine=ymp-cray
12012227fc13Smrg		os=-unicos
12022227fc13Smrg		;;
12032227fc13Smrg	z8k-*-coff)
12042227fc13Smrg		basic_machine=z8k-unknown
12052227fc13Smrg		os=-sim
12062227fc13Smrg		;;
12072227fc13Smrg	z80-*-coff)
12082227fc13Smrg		basic_machine=z80-unknown
12092227fc13Smrg		os=-sim
12102227fc13Smrg		;;
12112227fc13Smrg	none)
12122227fc13Smrg		basic_machine=none-none
12132227fc13Smrg		os=-none
12142227fc13Smrg		;;
12152227fc13Smrg
12162227fc13Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12172227fc13Smrg# some cases the only manufacturer, in others, it is the most popular.
12182227fc13Smrg	w89k)
12192227fc13Smrg		basic_machine=hppa1.1-winbond
12202227fc13Smrg		;;
12212227fc13Smrg	op50n)
12222227fc13Smrg		basic_machine=hppa1.1-oki
12232227fc13Smrg		;;
12242227fc13Smrg	op60c)
12252227fc13Smrg		basic_machine=hppa1.1-oki
12262227fc13Smrg		;;
12272227fc13Smrg	romp)
12282227fc13Smrg		basic_machine=romp-ibm
12292227fc13Smrg		;;
12302227fc13Smrg	mmix)
12312227fc13Smrg		basic_machine=mmix-knuth
12322227fc13Smrg		;;
12332227fc13Smrg	rs6000)
12342227fc13Smrg		basic_machine=rs6000-ibm
12352227fc13Smrg		;;
12362227fc13Smrg	vax)
12372227fc13Smrg		basic_machine=vax-dec
12382227fc13Smrg		;;
12392227fc13Smrg	pdp10)
12402227fc13Smrg		# there are many clones, so DEC is not a safe bet
12412227fc13Smrg		basic_machine=pdp10-unknown
12422227fc13Smrg		;;
12432227fc13Smrg	pdp11)
12442227fc13Smrg		basic_machine=pdp11-dec
12452227fc13Smrg		;;
12462227fc13Smrg	we32k)
12472227fc13Smrg		basic_machine=we32k-att
12482227fc13Smrg		;;
12492227fc13Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12502227fc13Smrg		basic_machine=sh-unknown
12512227fc13Smrg		;;
12522227fc13Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12532227fc13Smrg		basic_machine=sparc-sun
12542227fc13Smrg		;;
12552227fc13Smrg	cydra)
12562227fc13Smrg		basic_machine=cydra-cydrome
12572227fc13Smrg		;;
12582227fc13Smrg	orion)
12592227fc13Smrg		basic_machine=orion-highlevel
12602227fc13Smrg		;;
12612227fc13Smrg	orion105)
12622227fc13Smrg		basic_machine=clipper-highlevel
12632227fc13Smrg		;;
12642227fc13Smrg	mac | mpw | mac-mpw)
12652227fc13Smrg		basic_machine=m68k-apple
12662227fc13Smrg		;;
12672227fc13Smrg	pmac | pmac-mpw)
12682227fc13Smrg		basic_machine=powerpc-apple
12692227fc13Smrg		;;
12702227fc13Smrg	*-unknown)
12712227fc13Smrg		# Make sure to match an already-canonicalized machine name.
12722227fc13Smrg		;;
12732227fc13Smrg	*)
12742227fc13Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12752227fc13Smrg		exit 1
12762227fc13Smrg		;;
12772227fc13Smrgesac
12782227fc13Smrg
12792227fc13Smrg# Here we canonicalize certain aliases for manufacturers.
12802227fc13Smrgcase $basic_machine in
12812227fc13Smrg	*-digital*)
12822227fc13Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12832227fc13Smrg		;;
12842227fc13Smrg	*-commodore*)
12852227fc13Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12862227fc13Smrg		;;
12872227fc13Smrg	*)
12882227fc13Smrg		;;
12892227fc13Smrgesac
12902227fc13Smrg
12912227fc13Smrg# Decode manufacturer-specific aliases for certain operating systems.
12922227fc13Smrg
12932227fc13Smrgif [ x"$os" != x"" ]
12942227fc13Smrgthen
12952227fc13Smrgcase $os in
12962227fc13Smrg        # First match some system type aliases
12972227fc13Smrg        # that might get confused with valid system types.
12982227fc13Smrg	# -solaris* is a basic system type, with this one exception.
12992227fc13Smrg        -auroraux)
13002227fc13Smrg	        os=-auroraux
13012227fc13Smrg		;;
13022227fc13Smrg	-solaris1 | -solaris1.*)
13032227fc13Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13042227fc13Smrg		;;
13052227fc13Smrg	-solaris)
13062227fc13Smrg		os=-solaris2
13072227fc13Smrg		;;
13082227fc13Smrg	-svr4*)
13092227fc13Smrg		os=-sysv4
13102227fc13Smrg		;;
13112227fc13Smrg	-unixware*)
13122227fc13Smrg		os=-sysv4.2uw
13132227fc13Smrg		;;
13142227fc13Smrg	-gnu/linux*)
13152227fc13Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13162227fc13Smrg		;;
13172227fc13Smrg	# First accept the basic system types.
13182227fc13Smrg	# The portable systems comes first.
13192227fc13Smrg	# Each alternative MUST END IN A *, to match a version number.
13202227fc13Smrg	# -sysv* is not here because it comes later, after sysvr4.
13212227fc13Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13222227fc13Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13232227fc13Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13242227fc13Smrg	      | -sym* | -kopensolaris* \
13252227fc13Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13262227fc13Smrg	      | -aos* | -aros* \
13272227fc13Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13282227fc13Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13292227fc13Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13302227fc13Smrg	      | -openbsd* | -solidbsd* \
13312227fc13Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13322227fc13Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13332227fc13Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13342227fc13Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13352227fc13Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13362227fc13Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13372227fc13Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13382227fc13Smrg	      | -linux-newlib* | -linux-uclibc* \
13392227fc13Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13402227fc13Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13412227fc13Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13422227fc13Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
13432227fc13Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13442227fc13Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13452227fc13Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13462227fc13Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13472227fc13Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13482227fc13Smrg		;;
13492227fc13Smrg	-qnx*)
13502227fc13Smrg		case $basic_machine in
13512227fc13Smrg		    x86-* | i*86-*)
13522227fc13Smrg			;;
13532227fc13Smrg		    *)
13542227fc13Smrg			os=-nto$os
13552227fc13Smrg			;;
13562227fc13Smrg		esac
13572227fc13Smrg		;;
13582227fc13Smrg	-nto-qnx*)
13592227fc13Smrg		;;
13602227fc13Smrg	-nto*)
13612227fc13Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13622227fc13Smrg		;;
13632227fc13Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13642227fc13Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13652227fc13Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13662227fc13Smrg		;;
13672227fc13Smrg	-mac*)
13682227fc13Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13692227fc13Smrg		;;
13702227fc13Smrg	-linux-dietlibc)
13712227fc13Smrg		os=-linux-dietlibc
13722227fc13Smrg		;;
13732227fc13Smrg	-linux*)
13742227fc13Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13752227fc13Smrg		;;
13762227fc13Smrg	-sunos5*)
13772227fc13Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13782227fc13Smrg		;;
13792227fc13Smrg	-sunos6*)
13802227fc13Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13812227fc13Smrg		;;
13822227fc13Smrg	-opened*)
13832227fc13Smrg		os=-openedition
13842227fc13Smrg		;;
13852227fc13Smrg        -os400*)
13862227fc13Smrg		os=-os400
13872227fc13Smrg		;;
13882227fc13Smrg	-wince*)
13892227fc13Smrg		os=-wince
13902227fc13Smrg		;;
13912227fc13Smrg	-osfrose*)
13922227fc13Smrg		os=-osfrose
13932227fc13Smrg		;;
13942227fc13Smrg	-osf*)
13952227fc13Smrg		os=-osf
13962227fc13Smrg		;;
13972227fc13Smrg	-utek*)
13982227fc13Smrg		os=-bsd
13992227fc13Smrg		;;
14002227fc13Smrg	-dynix*)
14012227fc13Smrg		os=-bsd
14022227fc13Smrg		;;
14032227fc13Smrg	-acis*)
14042227fc13Smrg		os=-aos
14052227fc13Smrg		;;
14062227fc13Smrg	-atheos*)
14072227fc13Smrg		os=-atheos
14082227fc13Smrg		;;
14092227fc13Smrg	-syllable*)
14102227fc13Smrg		os=-syllable
14112227fc13Smrg		;;
14122227fc13Smrg	-386bsd)
14132227fc13Smrg		os=-bsd
14142227fc13Smrg		;;
14152227fc13Smrg	-ctix* | -uts*)
14162227fc13Smrg		os=-sysv
14172227fc13Smrg		;;
14182227fc13Smrg	-nova*)
14192227fc13Smrg		os=-rtmk-nova
14202227fc13Smrg		;;
14212227fc13Smrg	-ns2 )
14222227fc13Smrg		os=-nextstep2
14232227fc13Smrg		;;
14242227fc13Smrg	-nsk*)
14252227fc13Smrg		os=-nsk
14262227fc13Smrg		;;
14272227fc13Smrg	# Preserve the version number of sinix5.
14282227fc13Smrg	-sinix5.*)
14292227fc13Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14302227fc13Smrg		;;
14312227fc13Smrg	-sinix*)
14322227fc13Smrg		os=-sysv4
14332227fc13Smrg		;;
14342227fc13Smrg        -tpf*)
14352227fc13Smrg		os=-tpf
14362227fc13Smrg		;;
14372227fc13Smrg	-triton*)
14382227fc13Smrg		os=-sysv3
14392227fc13Smrg		;;
14402227fc13Smrg	-oss*)
14412227fc13Smrg		os=-sysv3
14422227fc13Smrg		;;
14432227fc13Smrg	-svr4)
14442227fc13Smrg		os=-sysv4
14452227fc13Smrg		;;
14462227fc13Smrg	-svr3)
14472227fc13Smrg		os=-sysv3
14482227fc13Smrg		;;
14492227fc13Smrg	-sysvr4)
14502227fc13Smrg		os=-sysv4
14512227fc13Smrg		;;
14522227fc13Smrg	# This must come after -sysvr4.
14532227fc13Smrg	-sysv*)
14542227fc13Smrg		;;
14552227fc13Smrg	-ose*)
14562227fc13Smrg		os=-ose
14572227fc13Smrg		;;
14582227fc13Smrg	-es1800*)
14592227fc13Smrg		os=-ose
14602227fc13Smrg		;;
14612227fc13Smrg	-xenix)
14622227fc13Smrg		os=-xenix
14632227fc13Smrg		;;
14642227fc13Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14652227fc13Smrg		os=-mint
14662227fc13Smrg		;;
14672227fc13Smrg	-aros*)
14682227fc13Smrg		os=-aros
14692227fc13Smrg		;;
14702227fc13Smrg	-kaos*)
14712227fc13Smrg		os=-kaos
14722227fc13Smrg		;;
14732227fc13Smrg	-zvmoe)
14742227fc13Smrg		os=-zvmoe
14752227fc13Smrg		;;
14762227fc13Smrg	-dicos*)
14772227fc13Smrg		os=-dicos
14782227fc13Smrg		;;
14792227fc13Smrg        -nacl*)
14802227fc13Smrg	        ;;
14812227fc13Smrg	-none)
14822227fc13Smrg		;;
14832227fc13Smrg	*)
14842227fc13Smrg		# Get rid of the `-' at the beginning of $os.
14852227fc13Smrg		os=`echo $os | sed 's/[^-]*-//'`
14862227fc13Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14872227fc13Smrg		exit 1
14882227fc13Smrg		;;
14892227fc13Smrgesac
14902227fc13Smrgelse
14912227fc13Smrg
14922227fc13Smrg# Here we handle the default operating systems that come with various machines.
14932227fc13Smrg# The value should be what the vendor currently ships out the door with their
14942227fc13Smrg# machine or put another way, the most popular os provided with the machine.
14952227fc13Smrg
14962227fc13Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14972227fc13Smrg# "-sun"), then you have to tell the case statement up towards the top
14982227fc13Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14992227fc13Smrg# will signal an error saying that MANUFACTURER isn't an operating
15002227fc13Smrg# system, and we'll never get to this point.
15012227fc13Smrg
15022227fc13Smrgcase $basic_machine in
15032227fc13Smrg        score-*)
15042227fc13Smrg		os=-elf
15052227fc13Smrg		;;
15062227fc13Smrg        spu-*)
15072227fc13Smrg		os=-elf
15082227fc13Smrg		;;
15092227fc13Smrg	*-acorn)
15102227fc13Smrg		os=-riscix1.2
15112227fc13Smrg		;;
15122227fc13Smrg	arm*-rebel)
15132227fc13Smrg		os=-linux
15142227fc13Smrg		;;
15152227fc13Smrg	arm*-semi)
15162227fc13Smrg		os=-aout
15172227fc13Smrg		;;
15182227fc13Smrg        c4x-* | tic4x-*)
15192227fc13Smrg        	os=-coff
15202227fc13Smrg		;;
15212227fc13Smrg	tic54x-*)
15222227fc13Smrg		os=-coff
15232227fc13Smrg		;;
15242227fc13Smrg	tic55x-*)
15252227fc13Smrg		os=-coff
15262227fc13Smrg		;;
15272227fc13Smrg	tic6x-*)
15282227fc13Smrg		os=-coff
15292227fc13Smrg		;;
15302227fc13Smrg	# This must come before the *-dec entry.
15312227fc13Smrg	pdp10-*)
15322227fc13Smrg		os=-tops20
15332227fc13Smrg		;;
15342227fc13Smrg	pdp11-*)
15352227fc13Smrg		os=-none
15362227fc13Smrg		;;
15372227fc13Smrg	*-dec | vax-*)
15382227fc13Smrg		os=-ultrix4.2
15392227fc13Smrg		;;
15402227fc13Smrg	m68*-apollo)
15412227fc13Smrg		os=-domain
15422227fc13Smrg		;;
15432227fc13Smrg	i386-sun)
15442227fc13Smrg		os=-sunos4.0.2
15452227fc13Smrg		;;
15462227fc13Smrg	m68000-sun)
15472227fc13Smrg		os=-sunos3
15482227fc13Smrg		# This also exists in the configure program, but was not the
15492227fc13Smrg		# default.
15502227fc13Smrg		# os=-sunos4
15512227fc13Smrg		;;
15522227fc13Smrg	m68*-cisco)
15532227fc13Smrg		os=-aout
15542227fc13Smrg		;;
15552227fc13Smrg        mep-*)
15562227fc13Smrg		os=-elf
15572227fc13Smrg		;;
15582227fc13Smrg	mips*-cisco)
15592227fc13Smrg		os=-elf
15602227fc13Smrg		;;
15612227fc13Smrg	mips*-*)
15622227fc13Smrg		os=-elf
15632227fc13Smrg		;;
15642227fc13Smrg	or32-*)
15652227fc13Smrg		os=-coff
15662227fc13Smrg		;;
15672227fc13Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15682227fc13Smrg		os=-sysv3
15692227fc13Smrg		;;
15702227fc13Smrg	sparc-* | *-sun)
15712227fc13Smrg		os=-sunos4.1.1
15722227fc13Smrg		;;
15732227fc13Smrg	*-be)
15742227fc13Smrg		os=-beos
15752227fc13Smrg		;;
15762227fc13Smrg	*-haiku)
15772227fc13Smrg		os=-haiku
15782227fc13Smrg		;;
15792227fc13Smrg	*-ibm)
15802227fc13Smrg		os=-aix
15812227fc13Smrg		;;
15822227fc13Smrg    	*-knuth)
15832227fc13Smrg		os=-mmixware
15842227fc13Smrg		;;
15852227fc13Smrg	*-wec)
15862227fc13Smrg		os=-proelf
15872227fc13Smrg		;;
15882227fc13Smrg	*-winbond)
15892227fc13Smrg		os=-proelf
15902227fc13Smrg		;;
15912227fc13Smrg	*-oki)
15922227fc13Smrg		os=-proelf
15932227fc13Smrg		;;
15942227fc13Smrg	*-hp)
15952227fc13Smrg		os=-hpux
15962227fc13Smrg		;;
15972227fc13Smrg	*-hitachi)
15982227fc13Smrg		os=-hiux
15992227fc13Smrg		;;
16002227fc13Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16012227fc13Smrg		os=-sysv
16022227fc13Smrg		;;
16032227fc13Smrg	*-cbm)
16042227fc13Smrg		os=-amigaos
16052227fc13Smrg		;;
16062227fc13Smrg	*-dg)
16072227fc13Smrg		os=-dgux
16082227fc13Smrg		;;
16092227fc13Smrg	*-dolphin)
16102227fc13Smrg		os=-sysv3
16112227fc13Smrg		;;
16122227fc13Smrg	m68k-ccur)
16132227fc13Smrg		os=-rtu
16142227fc13Smrg		;;
16152227fc13Smrg	m88k-omron*)
16162227fc13Smrg		os=-luna
16172227fc13Smrg		;;
16182227fc13Smrg	*-next )
16192227fc13Smrg		os=-nextstep
16202227fc13Smrg		;;
16212227fc13Smrg	*-sequent)
16222227fc13Smrg		os=-ptx
16232227fc13Smrg		;;
16242227fc13Smrg	*-crds)
16252227fc13Smrg		os=-unos
16262227fc13Smrg		;;
16272227fc13Smrg	*-ns)
16282227fc13Smrg		os=-genix
16292227fc13Smrg		;;
16302227fc13Smrg	i370-*)
16312227fc13Smrg		os=-mvs
16322227fc13Smrg		;;
16332227fc13Smrg	*-next)
16342227fc13Smrg		os=-nextstep3
16352227fc13Smrg		;;
16362227fc13Smrg	*-gould)
16372227fc13Smrg		os=-sysv
16382227fc13Smrg		;;
16392227fc13Smrg	*-highlevel)
16402227fc13Smrg		os=-bsd
16412227fc13Smrg		;;
16422227fc13Smrg	*-encore)
16432227fc13Smrg		os=-bsd
16442227fc13Smrg		;;
16452227fc13Smrg	*-sgi)
16462227fc13Smrg		os=-irix
16472227fc13Smrg		;;
16482227fc13Smrg	*-siemens)
16492227fc13Smrg		os=-sysv4
16502227fc13Smrg		;;
16512227fc13Smrg	*-masscomp)
16522227fc13Smrg		os=-rtu
16532227fc13Smrg		;;
16542227fc13Smrg	f30[01]-fujitsu | f700-fujitsu)
16552227fc13Smrg		os=-uxpv
16562227fc13Smrg		;;
16572227fc13Smrg	*-rom68k)
16582227fc13Smrg		os=-coff
16592227fc13Smrg		;;
16602227fc13Smrg	*-*bug)
16612227fc13Smrg		os=-coff
16622227fc13Smrg		;;
16632227fc13Smrg	*-apple)
16642227fc13Smrg		os=-macos
16652227fc13Smrg		;;
16662227fc13Smrg	*-atari*)
16672227fc13Smrg		os=-mint
16682227fc13Smrg		;;
16692227fc13Smrg	*)
16702227fc13Smrg		os=-none
16712227fc13Smrg		;;
16722227fc13Smrgesac
16732227fc13Smrgfi
16742227fc13Smrg
16752227fc13Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16762227fc13Smrg# manufacturer.  We pick the logical manufacturer.
16772227fc13Smrgvendor=unknown
16782227fc13Smrgcase $basic_machine in
16792227fc13Smrg	*-unknown)
16802227fc13Smrg		case $os in
16812227fc13Smrg			-riscix*)
16822227fc13Smrg				vendor=acorn
16832227fc13Smrg				;;
16842227fc13Smrg			-sunos*)
16852227fc13Smrg				vendor=sun
16862227fc13Smrg				;;
16872227fc13Smrg			-cnk*|-aix*)
16882227fc13Smrg				vendor=ibm
16892227fc13Smrg				;;
16902227fc13Smrg			-beos*)
16912227fc13Smrg				vendor=be
16922227fc13Smrg				;;
16932227fc13Smrg			-hpux*)
16942227fc13Smrg				vendor=hp
16952227fc13Smrg				;;
16962227fc13Smrg			-mpeix*)
16972227fc13Smrg				vendor=hp
16982227fc13Smrg				;;
16992227fc13Smrg			-hiux*)
17002227fc13Smrg				vendor=hitachi
17012227fc13Smrg				;;
17022227fc13Smrg			-unos*)
17032227fc13Smrg				vendor=crds
17042227fc13Smrg				;;
17052227fc13Smrg			-dgux*)
17062227fc13Smrg				vendor=dg
17072227fc13Smrg				;;
17082227fc13Smrg			-luna*)
17092227fc13Smrg				vendor=omron
17102227fc13Smrg				;;
17112227fc13Smrg			-genix*)
17122227fc13Smrg				vendor=ns
17132227fc13Smrg				;;
17142227fc13Smrg			-mvs* | -opened*)
17152227fc13Smrg				vendor=ibm
17162227fc13Smrg				;;
17172227fc13Smrg			-os400*)
17182227fc13Smrg				vendor=ibm
17192227fc13Smrg				;;
17202227fc13Smrg			-ptx*)
17212227fc13Smrg				vendor=sequent
17222227fc13Smrg				;;
17232227fc13Smrg			-tpf*)
17242227fc13Smrg				vendor=ibm
17252227fc13Smrg				;;
17262227fc13Smrg			-vxsim* | -vxworks* | -windiss*)
17272227fc13Smrg				vendor=wrs
17282227fc13Smrg				;;
17292227fc13Smrg			-aux*)
17302227fc13Smrg				vendor=apple
17312227fc13Smrg				;;
17322227fc13Smrg			-hms*)
17332227fc13Smrg				vendor=hitachi
17342227fc13Smrg				;;
17352227fc13Smrg			-mpw* | -macos*)
17362227fc13Smrg				vendor=apple
17372227fc13Smrg				;;
17382227fc13Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17392227fc13Smrg				vendor=atari
17402227fc13Smrg				;;
17412227fc13Smrg			-vos*)
17422227fc13Smrg				vendor=stratus
17432227fc13Smrg				;;
17442227fc13Smrg		esac
17452227fc13Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17462227fc13Smrg		;;
17472227fc13Smrgesac
17482227fc13Smrg
17492227fc13Smrgecho $basic_machine$os
17502227fc13Smrgexit
17512227fc13Smrg
17522227fc13Smrg# Local variables:
17532227fc13Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17542227fc13Smrg# time-stamp-start: "timestamp='"
17552227fc13Smrg# time-stamp-format: "%:y-%02m-%02d"
17562227fc13Smrg# time-stamp-end: "'"
17572227fc13Smrg# End:
1758