config.sub revision 3a72f200
19027f4a0Smrg#! /bin/sh
29027f4a0Smrg# Configuration validation subroutine script.
39027f4a0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
43a72f200Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
53a72f200Smrg#   Free Software Foundation, Inc.
69027f4a0Smrg
73a72f200Smrgtimestamp='2010-09-11'
89027f4a0Smrg
99027f4a0Smrg# This file is (in principle) common to ALL GNU software.
109027f4a0Smrg# The presence of a machine in this file suggests that SOME GNU software
119027f4a0Smrg# can handle that machine.  It does not imply ALL GNU software can.
129027f4a0Smrg#
139027f4a0Smrg# This file is free software; you can redistribute it and/or modify
149027f4a0Smrg# it under the terms of the GNU General Public License as published by
159027f4a0Smrg# the Free Software Foundation; either version 2 of the License, or
169027f4a0Smrg# (at your option) any later version.
179027f4a0Smrg#
189027f4a0Smrg# This program is distributed in the hope that it will be useful,
199027f4a0Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
209027f4a0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
219027f4a0Smrg# GNU General Public License for more details.
229027f4a0Smrg#
239027f4a0Smrg# You should have received a copy of the GNU General Public License
249027f4a0Smrg# along with this program; if not, write to the Free Software
259027f4a0Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269027f4a0Smrg# 02110-1301, USA.
279027f4a0Smrg#
289027f4a0Smrg# As a special exception to the GNU General Public License, if you
299027f4a0Smrg# distribute this file as part of a program that contains a
309027f4a0Smrg# configuration script generated by Autoconf, you may include it under
319027f4a0Smrg# the same distribution terms that you use for the rest of that program.
329027f4a0Smrg
339027f4a0Smrg
349027f4a0Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
353a72f200Smrg# diff and a properly formatted GNU ChangeLog entry.
369027f4a0Smrg#
379027f4a0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
389027f4a0Smrg# Supply the specified configuration type as an argument.
399027f4a0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
409027f4a0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
419027f4a0Smrg
423a72f200Smrg# You can get the latest version of this script from:
433a72f200Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
443a72f200Smrg
459027f4a0Smrg# This file is supposed to be the same for all GNU packages
469027f4a0Smrg# and recognize all the CPU types, system types and aliases
479027f4a0Smrg# that are meaningful with *any* GNU software.
489027f4a0Smrg# Each package is responsible for reporting which valid configurations
499027f4a0Smrg# it does not support.  The user should be able to distinguish
509027f4a0Smrg# a failure to support a valid configuration from a meaningless
519027f4a0Smrg# configuration.
529027f4a0Smrg
539027f4a0Smrg# The goal of this file is to map all the various variations of a given
549027f4a0Smrg# machine specification into a single specification in the form:
559027f4a0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
569027f4a0Smrg# or in some cases, the newer four-part form:
579027f4a0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
589027f4a0Smrg# It is wrong to echo any other type of specification.
599027f4a0Smrg
609027f4a0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
619027f4a0Smrg
629027f4a0Smrgusage="\
639027f4a0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
649027f4a0Smrg       $0 [OPTION] ALIAS
659027f4a0Smrg
669027f4a0SmrgCanonicalize a configuration name.
679027f4a0Smrg
689027f4a0SmrgOperation modes:
699027f4a0Smrg  -h, --help         print this help, then exit
709027f4a0Smrg  -t, --time-stamp   print date of last modification, then exit
719027f4a0Smrg  -v, --version      print version number, then exit
729027f4a0Smrg
739027f4a0SmrgReport bugs and patches to <config-patches@gnu.org>."
749027f4a0Smrg
759027f4a0Smrgversion="\
769027f4a0SmrgGNU config.sub ($timestamp)
779027f4a0Smrg
783a72f200SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
793a72f200Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
803a72f200SmrgSoftware Foundation, Inc.
819027f4a0Smrg
829027f4a0SmrgThis is free software; see the source for copying conditions.  There is NO
839027f4a0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
849027f4a0Smrg
859027f4a0Smrghelp="
869027f4a0SmrgTry \`$me --help' for more information."
879027f4a0Smrg
889027f4a0Smrg# Parse command line
899027f4a0Smrgwhile test $# -gt 0 ; do
909027f4a0Smrg  case $1 in
919027f4a0Smrg    --time-stamp | --time* | -t )
929027f4a0Smrg       echo "$timestamp" ; exit ;;
939027f4a0Smrg    --version | -v )
949027f4a0Smrg       echo "$version" ; exit ;;
959027f4a0Smrg    --help | --h* | -h )
969027f4a0Smrg       echo "$usage"; exit ;;
979027f4a0Smrg    -- )     # Stop option processing
989027f4a0Smrg       shift; break ;;
999027f4a0Smrg    - )	# Use stdin as input.
1009027f4a0Smrg       break ;;
1019027f4a0Smrg    -* )
1029027f4a0Smrg       echo "$me: invalid option $1$help"
1039027f4a0Smrg       exit 1 ;;
1049027f4a0Smrg
1059027f4a0Smrg    *local*)
1069027f4a0Smrg       # First pass through any local machine types.
1079027f4a0Smrg       echo $1
1089027f4a0Smrg       exit ;;
1099027f4a0Smrg
1109027f4a0Smrg    * )
1119027f4a0Smrg       break ;;
1129027f4a0Smrg  esac
1139027f4a0Smrgdone
1149027f4a0Smrg
1159027f4a0Smrgcase $# in
1169027f4a0Smrg 0) echo "$me: missing argument$help" >&2
1179027f4a0Smrg    exit 1;;
1189027f4a0Smrg 1) ;;
1199027f4a0Smrg *) echo "$me: too many arguments$help" >&2
1209027f4a0Smrg    exit 1;;
1219027f4a0Smrgesac
1229027f4a0Smrg
1239027f4a0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1249027f4a0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1259027f4a0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1269027f4a0Smrgcase $maybe_os in
1273a72f200Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1283a72f200Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1293a72f200Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1303a72f200Smrg  kopensolaris*-gnu* | \
1319027f4a0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1329027f4a0Smrg    os=-$maybe_os
1339027f4a0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1349027f4a0Smrg    ;;
1359027f4a0Smrg  *)
1369027f4a0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1379027f4a0Smrg    if [ $basic_machine != $1 ]
1389027f4a0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1399027f4a0Smrg    else os=; fi
1409027f4a0Smrg    ;;
1419027f4a0Smrgesac
1429027f4a0Smrg
1439027f4a0Smrg### Let's recognize common machines as not being operating systems so
1449027f4a0Smrg### that things like config.sub decstation-3100 work.  We also
1459027f4a0Smrg### recognize some manufacturers as not being operating systems, so we
1469027f4a0Smrg### can provide default operating systems below.
1479027f4a0Smrgcase $os in
1489027f4a0Smrg	-sun*os*)
1499027f4a0Smrg		# Prevent following clause from handling this invalid input.
1509027f4a0Smrg		;;
1519027f4a0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1529027f4a0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1539027f4a0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1549027f4a0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1559027f4a0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1569027f4a0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1573a72f200Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1589027f4a0Smrg		os=
1599027f4a0Smrg		basic_machine=$1
1609027f4a0Smrg		;;
1613a72f200Smrg        -bluegene*)
1623a72f200Smrg	        os=-cnk
1633a72f200Smrg		;;
1649027f4a0Smrg	-sim | -cisco | -oki | -wec | -winbond)
1659027f4a0Smrg		os=
1669027f4a0Smrg		basic_machine=$1
1679027f4a0Smrg		;;
1689027f4a0Smrg	-scout)
1699027f4a0Smrg		;;
1709027f4a0Smrg	-wrs)
1719027f4a0Smrg		os=-vxworks
1729027f4a0Smrg		basic_machine=$1
1739027f4a0Smrg		;;
1749027f4a0Smrg	-chorusos*)
1759027f4a0Smrg		os=-chorusos
1769027f4a0Smrg		basic_machine=$1
1779027f4a0Smrg		;;
1789027f4a0Smrg 	-chorusrdb)
1799027f4a0Smrg 		os=-chorusrdb
1809027f4a0Smrg		basic_machine=$1
1819027f4a0Smrg 		;;
1829027f4a0Smrg	-hiux*)
1839027f4a0Smrg		os=-hiuxwe2
1849027f4a0Smrg		;;
1859027f4a0Smrg	-sco6)
1869027f4a0Smrg		os=-sco5v6
1879027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1889027f4a0Smrg		;;
1899027f4a0Smrg	-sco5)
1909027f4a0Smrg		os=-sco3.2v5
1919027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1929027f4a0Smrg		;;
1939027f4a0Smrg	-sco4)
1949027f4a0Smrg		os=-sco3.2v4
1959027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1969027f4a0Smrg		;;
1979027f4a0Smrg	-sco3.2.[4-9]*)
1989027f4a0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1999027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2009027f4a0Smrg		;;
2019027f4a0Smrg	-sco3.2v[4-9]*)
2029027f4a0Smrg		# Don't forget version if it is 3.2v4 or newer.
2039027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2049027f4a0Smrg		;;
2059027f4a0Smrg	-sco5v6*)
2069027f4a0Smrg		# Don't forget version if it is 3.2v4 or newer.
2079027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2089027f4a0Smrg		;;
2099027f4a0Smrg	-sco*)
2109027f4a0Smrg		os=-sco3.2v2
2119027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2129027f4a0Smrg		;;
2139027f4a0Smrg	-udk*)
2149027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2159027f4a0Smrg		;;
2169027f4a0Smrg	-isc)
2179027f4a0Smrg		os=-isc2.2
2189027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2199027f4a0Smrg		;;
2209027f4a0Smrg	-clix*)
2219027f4a0Smrg		basic_machine=clipper-intergraph
2229027f4a0Smrg		;;
2239027f4a0Smrg	-isc*)
2249027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2259027f4a0Smrg		;;
2269027f4a0Smrg	-lynx*)
2279027f4a0Smrg		os=-lynxos
2289027f4a0Smrg		;;
2299027f4a0Smrg	-ptx*)
2309027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2319027f4a0Smrg		;;
2329027f4a0Smrg	-windowsnt*)
2339027f4a0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2349027f4a0Smrg		;;
2359027f4a0Smrg	-psos*)
2369027f4a0Smrg		os=-psos
2379027f4a0Smrg		;;
2389027f4a0Smrg	-mint | -mint[0-9]*)
2399027f4a0Smrg		basic_machine=m68k-atari
2409027f4a0Smrg		os=-mint
2419027f4a0Smrg		;;
2429027f4a0Smrgesac
2439027f4a0Smrg
2449027f4a0Smrg# Decode aliases for certain CPU-COMPANY combinations.
2459027f4a0Smrgcase $basic_machine in
2469027f4a0Smrg	# Recognize the basic CPU types without company name.
2479027f4a0Smrg	# Some are omitted here because they have special meanings below.
2489027f4a0Smrg	1750a | 580 \
2499027f4a0Smrg	| a29k \
2509027f4a0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2519027f4a0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2529027f4a0Smrg	| am33_2.0 \
2539027f4a0Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2549027f4a0Smrg	| bfin \
2559027f4a0Smrg	| c4x | clipper \
2569027f4a0Smrg	| d10v | d30v | dlx | dsp16xx \
2579027f4a0Smrg	| fido | fr30 | frv \
2589027f4a0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2599027f4a0Smrg	| i370 | i860 | i960 | ia64 \
2609027f4a0Smrg	| ip2k | iq2000 \
2613a72f200Smrg	| lm32 \
2629027f4a0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2633a72f200Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2649027f4a0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2659027f4a0Smrg	| mips16 \
2669027f4a0Smrg	| mips64 | mips64el \
2673a72f200Smrg	| mips64octeon | mips64octeonel \
2689027f4a0Smrg	| mips64orion | mips64orionel \
2693a72f200Smrg	| mips64r5900 | mips64r5900el \
2703a72f200Smrg	| mips64vr | mips64vrel \
2719027f4a0Smrg	| mips64vr4100 | mips64vr4100el \
2729027f4a0Smrg	| mips64vr4300 | mips64vr4300el \
2739027f4a0Smrg	| mips64vr5000 | mips64vr5000el \
2749027f4a0Smrg	| mips64vr5900 | mips64vr5900el \
2759027f4a0Smrg	| mipsisa32 | mipsisa32el \
2769027f4a0Smrg	| mipsisa32r2 | mipsisa32r2el \
2779027f4a0Smrg	| mipsisa64 | mipsisa64el \
2789027f4a0Smrg	| mipsisa64r2 | mipsisa64r2el \
2799027f4a0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2809027f4a0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2819027f4a0Smrg	| mipstx39 | mipstx39el \
2829027f4a0Smrg	| mn10200 | mn10300 \
2833a72f200Smrg	| moxie \
2849027f4a0Smrg	| mt \
2859027f4a0Smrg	| msp430 \
2863a72f200Smrg	| nds32 | nds32le | nds32be \
2879027f4a0Smrg	| nios | nios2 \
2889027f4a0Smrg	| ns16k | ns32k \
2899027f4a0Smrg	| or32 \
2909027f4a0Smrg	| pdp10 | pdp11 | pj | pjl \
2919027f4a0Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2929027f4a0Smrg	| pyramid \
2933a72f200Smrg	| rx \
2949027f4a0Smrg	| score \
2953a72f200Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2969027f4a0Smrg	| sh64 | sh64le \
2979027f4a0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2989027f4a0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2999027f4a0Smrg	| spu | strongarm \
3003a72f200Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3013a72f200Smrg	| ubicom32 \
3029027f4a0Smrg	| v850 | v850e \
3039027f4a0Smrg	| we32k \
3049027f4a0Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3053a72f200Smrg	| z8k | z80)
3069027f4a0Smrg		basic_machine=$basic_machine-unknown
3079027f4a0Smrg		;;
3083a72f200Smrg	c54x)
3093a72f200Smrg		basic_machine=tic54x-unknown
3103a72f200Smrg		;;
3113a72f200Smrg	c55x)
3123a72f200Smrg		basic_machine=tic55x-unknown
3133a72f200Smrg		;;
3143a72f200Smrg	c6x)
3153a72f200Smrg		basic_machine=tic6x-unknown
3163a72f200Smrg		;;
3173a72f200Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3189027f4a0Smrg		# Motorola 68HC11/12.
3199027f4a0Smrg		basic_machine=$basic_machine-unknown
3209027f4a0Smrg		os=-none
3219027f4a0Smrg		;;
3229027f4a0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3239027f4a0Smrg		;;
3249027f4a0Smrg	ms1)
3259027f4a0Smrg		basic_machine=mt-unknown
3269027f4a0Smrg		;;
3279027f4a0Smrg
3289027f4a0Smrg	# We use `pc' rather than `unknown'
3299027f4a0Smrg	# because (1) that's what they normally are, and
3309027f4a0Smrg	# (2) the word "unknown" tends to confuse beginning users.
3319027f4a0Smrg	i*86 | x86_64)
3329027f4a0Smrg	  basic_machine=$basic_machine-pc
3339027f4a0Smrg	  ;;
3349027f4a0Smrg	# Object if more than one company name word.
3359027f4a0Smrg	*-*-*)
3369027f4a0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3379027f4a0Smrg		exit 1
3389027f4a0Smrg		;;
3399027f4a0Smrg	# Recognize the basic CPU types with company name.
3409027f4a0Smrg	580-* \
3419027f4a0Smrg	| a29k-* \
3429027f4a0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3439027f4a0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3449027f4a0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3459027f4a0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3469027f4a0Smrg	| avr-* | avr32-* \
3479027f4a0Smrg	| bfin-* | bs2000-* \
3483a72f200Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3499027f4a0Smrg	| clipper-* | craynv-* | cydra-* \
3509027f4a0Smrg	| d10v-* | d30v-* | dlx-* \
3519027f4a0Smrg	| elxsi-* \
3529027f4a0Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3539027f4a0Smrg	| h8300-* | h8500-* \
3549027f4a0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3559027f4a0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3569027f4a0Smrg	| ip2k-* | iq2000-* \
3573a72f200Smrg	| lm32-* \
3589027f4a0Smrg	| m32c-* | m32r-* | m32rle-* \
3599027f4a0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3603a72f200Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3619027f4a0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3629027f4a0Smrg	| mips16-* \
3639027f4a0Smrg	| mips64-* | mips64el-* \
3643a72f200Smrg	| mips64octeon-* | mips64octeonel-* \
3659027f4a0Smrg	| mips64orion-* | mips64orionel-* \
3663a72f200Smrg	| mips64r5900-* | mips64r5900el-* \
3673a72f200Smrg	| mips64vr-* | mips64vrel-* \
3689027f4a0Smrg	| mips64vr4100-* | mips64vr4100el-* \
3699027f4a0Smrg	| mips64vr4300-* | mips64vr4300el-* \
3709027f4a0Smrg	| mips64vr5000-* | mips64vr5000el-* \
3719027f4a0Smrg	| mips64vr5900-* | mips64vr5900el-* \
3729027f4a0Smrg	| mipsisa32-* | mipsisa32el-* \
3739027f4a0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3749027f4a0Smrg	| mipsisa64-* | mipsisa64el-* \
3759027f4a0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3769027f4a0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3779027f4a0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3789027f4a0Smrg	| mipstx39-* | mipstx39el-* \
3799027f4a0Smrg	| mmix-* \
3809027f4a0Smrg	| mt-* \
3819027f4a0Smrg	| msp430-* \
3823a72f200Smrg	| nds32-* | nds32le-* | nds32be-* \
3839027f4a0Smrg	| nios-* | nios2-* \
3849027f4a0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3859027f4a0Smrg	| orion-* \
3869027f4a0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3879027f4a0Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3889027f4a0Smrg	| pyramid-* \
3893a72f200Smrg	| romp-* | rs6000-* | rx-* \
3903a72f200Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3919027f4a0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3929027f4a0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3939027f4a0Smrg	| sparclite-* \
3949027f4a0Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3959027f4a0Smrg	| tahoe-* | thumb-* \
3969027f4a0Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3973a72f200Smrg	| tile-* | tilegx-* \
3989027f4a0Smrg	| tron-* \
3993a72f200Smrg	| ubicom32-* \
4009027f4a0Smrg	| v850-* | v850e-* | vax-* \
4019027f4a0Smrg	| we32k-* \
4029027f4a0Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4033a72f200Smrg	| xstormy16-* | xtensa*-* \
4049027f4a0Smrg	| ymp-* \
4053a72f200Smrg	| z8k-* | z80-*)
4063a72f200Smrg		;;
4073a72f200Smrg	# Recognize the basic CPU types without company name, with glob match.
4083a72f200Smrg	xtensa*)
4093a72f200Smrg		basic_machine=$basic_machine-unknown
4109027f4a0Smrg		;;
4119027f4a0Smrg	# Recognize the various machine names and aliases which stand
4129027f4a0Smrg	# for a CPU type and a company and sometimes even an OS.
4139027f4a0Smrg	386bsd)
4149027f4a0Smrg		basic_machine=i386-unknown
4159027f4a0Smrg		os=-bsd
4169027f4a0Smrg		;;
4179027f4a0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4189027f4a0Smrg		basic_machine=m68000-att
4199027f4a0Smrg		;;
4209027f4a0Smrg	3b*)
4219027f4a0Smrg		basic_machine=we32k-att
4229027f4a0Smrg		;;
4239027f4a0Smrg	a29khif)
4249027f4a0Smrg		basic_machine=a29k-amd
4259027f4a0Smrg		os=-udi
4269027f4a0Smrg		;;
4279027f4a0Smrg    	abacus)
4289027f4a0Smrg		basic_machine=abacus-unknown
4299027f4a0Smrg		;;
4309027f4a0Smrg	adobe68k)
4319027f4a0Smrg		basic_machine=m68010-adobe
4329027f4a0Smrg		os=-scout
4339027f4a0Smrg		;;
4349027f4a0Smrg	alliant | fx80)
4359027f4a0Smrg		basic_machine=fx80-alliant
4369027f4a0Smrg		;;
4379027f4a0Smrg	altos | altos3068)
4389027f4a0Smrg		basic_machine=m68k-altos
4399027f4a0Smrg		;;
4409027f4a0Smrg	am29k)
4419027f4a0Smrg		basic_machine=a29k-none
4429027f4a0Smrg		os=-bsd
4439027f4a0Smrg		;;
4449027f4a0Smrg	amd64)
4459027f4a0Smrg		basic_machine=x86_64-pc
4469027f4a0Smrg		;;
4479027f4a0Smrg	amd64-*)
4489027f4a0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4499027f4a0Smrg		;;
4509027f4a0Smrg	amdahl)
4519027f4a0Smrg		basic_machine=580-amdahl
4529027f4a0Smrg		os=-sysv
4539027f4a0Smrg		;;
4549027f4a0Smrg	amiga | amiga-*)
4559027f4a0Smrg		basic_machine=m68k-unknown
4569027f4a0Smrg		;;
4579027f4a0Smrg	amigaos | amigados)
4589027f4a0Smrg		basic_machine=m68k-unknown
4599027f4a0Smrg		os=-amigaos
4609027f4a0Smrg		;;
4619027f4a0Smrg	amigaunix | amix)
4629027f4a0Smrg		basic_machine=m68k-unknown
4639027f4a0Smrg		os=-sysv4
4649027f4a0Smrg		;;
4659027f4a0Smrg	apollo68)
4669027f4a0Smrg		basic_machine=m68k-apollo
4679027f4a0Smrg		os=-sysv
4689027f4a0Smrg		;;
4699027f4a0Smrg	apollo68bsd)
4709027f4a0Smrg		basic_machine=m68k-apollo
4719027f4a0Smrg		os=-bsd
4729027f4a0Smrg		;;
4733a72f200Smrg	aros)
4743a72f200Smrg		basic_machine=i386-pc
4753a72f200Smrg		os=-aros
4763a72f200Smrg		;;
4779027f4a0Smrg	aux)
4789027f4a0Smrg		basic_machine=m68k-apple
4799027f4a0Smrg		os=-aux
4809027f4a0Smrg		;;
4819027f4a0Smrg	balance)
4829027f4a0Smrg		basic_machine=ns32k-sequent
4839027f4a0Smrg		os=-dynix
4849027f4a0Smrg		;;
4853a72f200Smrg	blackfin)
4863a72f200Smrg		basic_machine=bfin-unknown
4873a72f200Smrg		os=-linux
4883a72f200Smrg		;;
4893a72f200Smrg	blackfin-*)
4903a72f200Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4913a72f200Smrg		os=-linux
4923a72f200Smrg		;;
4933a72f200Smrg	bluegene*)
4943a72f200Smrg		basic_machine=powerpc-ibm
4953a72f200Smrg		os=-cnk
4963a72f200Smrg		;;
4973a72f200Smrg	c54x-*)
4983a72f200Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4993a72f200Smrg		;;
5003a72f200Smrg	c55x-*)
5013a72f200Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5023a72f200Smrg		;;
5033a72f200Smrg	c6x-*)
5043a72f200Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5053a72f200Smrg		;;
5069027f4a0Smrg	c90)
5079027f4a0Smrg		basic_machine=c90-cray
5089027f4a0Smrg		os=-unicos
5099027f4a0Smrg		;;
5103a72f200Smrg        cegcc)
5113a72f200Smrg		basic_machine=arm-unknown
5123a72f200Smrg		os=-cegcc
5133a72f200Smrg		;;
5149027f4a0Smrg	convex-c1)
5159027f4a0Smrg		basic_machine=c1-convex
5169027f4a0Smrg		os=-bsd
5179027f4a0Smrg		;;
5189027f4a0Smrg	convex-c2)
5199027f4a0Smrg		basic_machine=c2-convex
5209027f4a0Smrg		os=-bsd
5219027f4a0Smrg		;;
5229027f4a0Smrg	convex-c32)
5239027f4a0Smrg		basic_machine=c32-convex
5249027f4a0Smrg		os=-bsd
5259027f4a0Smrg		;;
5269027f4a0Smrg	convex-c34)
5279027f4a0Smrg		basic_machine=c34-convex
5289027f4a0Smrg		os=-bsd
5299027f4a0Smrg		;;
5309027f4a0Smrg	convex-c38)
5319027f4a0Smrg		basic_machine=c38-convex
5329027f4a0Smrg		os=-bsd
5339027f4a0Smrg		;;
5349027f4a0Smrg	cray | j90)
5359027f4a0Smrg		basic_machine=j90-cray
5369027f4a0Smrg		os=-unicos
5379027f4a0Smrg		;;
5389027f4a0Smrg	craynv)
5399027f4a0Smrg		basic_machine=craynv-cray
5409027f4a0Smrg		os=-unicosmp
5419027f4a0Smrg		;;
5423a72f200Smrg	cr16)
5433a72f200Smrg		basic_machine=cr16-unknown
5449027f4a0Smrg		os=-elf
5459027f4a0Smrg		;;
5469027f4a0Smrg	crds | unos)
5479027f4a0Smrg		basic_machine=m68k-crds
5489027f4a0Smrg		;;
5499027f4a0Smrg	crisv32 | crisv32-* | etraxfs*)
5509027f4a0Smrg		basic_machine=crisv32-axis
5519027f4a0Smrg		;;
5529027f4a0Smrg	cris | cris-* | etrax*)
5539027f4a0Smrg		basic_machine=cris-axis
5549027f4a0Smrg		;;
5559027f4a0Smrg	crx)
5569027f4a0Smrg		basic_machine=crx-unknown
5579027f4a0Smrg		os=-elf
5589027f4a0Smrg		;;
5599027f4a0Smrg	da30 | da30-*)
5609027f4a0Smrg		basic_machine=m68k-da30
5619027f4a0Smrg		;;
5629027f4a0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5639027f4a0Smrg		basic_machine=mips-dec
5649027f4a0Smrg		;;
5659027f4a0Smrg	decsystem10* | dec10*)
5669027f4a0Smrg		basic_machine=pdp10-dec
5679027f4a0Smrg		os=-tops10
5689027f4a0Smrg		;;
5699027f4a0Smrg	decsystem20* | dec20*)
5709027f4a0Smrg		basic_machine=pdp10-dec
5719027f4a0Smrg		os=-tops20
5729027f4a0Smrg		;;
5739027f4a0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5749027f4a0Smrg	      | 3300-motorola | delta-motorola)
5759027f4a0Smrg		basic_machine=m68k-motorola
5769027f4a0Smrg		;;
5779027f4a0Smrg	delta88)
5789027f4a0Smrg		basic_machine=m88k-motorola
5799027f4a0Smrg		os=-sysv3
5809027f4a0Smrg		;;
5813a72f200Smrg	dicos)
5823a72f200Smrg		basic_machine=i686-pc
5833a72f200Smrg		os=-dicos
5843a72f200Smrg		;;
5859027f4a0Smrg	djgpp)
5869027f4a0Smrg		basic_machine=i586-pc
5879027f4a0Smrg		os=-msdosdjgpp
5889027f4a0Smrg		;;
5899027f4a0Smrg	dpx20 | dpx20-*)
5909027f4a0Smrg		basic_machine=rs6000-bull
5919027f4a0Smrg		os=-bosx
5929027f4a0Smrg		;;
5939027f4a0Smrg	dpx2* | dpx2*-bull)
5949027f4a0Smrg		basic_machine=m68k-bull
5959027f4a0Smrg		os=-sysv3
5969027f4a0Smrg		;;
5979027f4a0Smrg	ebmon29k)
5989027f4a0Smrg		basic_machine=a29k-amd
5999027f4a0Smrg		os=-ebmon
6009027f4a0Smrg		;;
6019027f4a0Smrg	elxsi)
6029027f4a0Smrg		basic_machine=elxsi-elxsi
6039027f4a0Smrg		os=-bsd
6049027f4a0Smrg		;;
6059027f4a0Smrg	encore | umax | mmax)
6069027f4a0Smrg		basic_machine=ns32k-encore
6079027f4a0Smrg		;;
6089027f4a0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6099027f4a0Smrg		basic_machine=m68k-ericsson
6109027f4a0Smrg		os=-ose
6119027f4a0Smrg		;;
6129027f4a0Smrg	fx2800)
6139027f4a0Smrg		basic_machine=i860-alliant
6149027f4a0Smrg		;;
6159027f4a0Smrg	genix)
6169027f4a0Smrg		basic_machine=ns32k-ns
6179027f4a0Smrg		;;
6189027f4a0Smrg	gmicro)
6199027f4a0Smrg		basic_machine=tron-gmicro
6209027f4a0Smrg		os=-sysv
6219027f4a0Smrg		;;
6229027f4a0Smrg	go32)
6239027f4a0Smrg		basic_machine=i386-pc
6249027f4a0Smrg		os=-go32
6259027f4a0Smrg		;;
6269027f4a0Smrg	h3050r* | hiux*)
6279027f4a0Smrg		basic_machine=hppa1.1-hitachi
6289027f4a0Smrg		os=-hiuxwe2
6299027f4a0Smrg		;;
6309027f4a0Smrg	h8300hms)
6319027f4a0Smrg		basic_machine=h8300-hitachi
6329027f4a0Smrg		os=-hms
6339027f4a0Smrg		;;
6349027f4a0Smrg	h8300xray)
6359027f4a0Smrg		basic_machine=h8300-hitachi
6369027f4a0Smrg		os=-xray
6379027f4a0Smrg		;;
6389027f4a0Smrg	h8500hms)
6399027f4a0Smrg		basic_machine=h8500-hitachi
6409027f4a0Smrg		os=-hms
6419027f4a0Smrg		;;
6429027f4a0Smrg	harris)
6439027f4a0Smrg		basic_machine=m88k-harris
6449027f4a0Smrg		os=-sysv3
6459027f4a0Smrg		;;
6469027f4a0Smrg	hp300-*)
6479027f4a0Smrg		basic_machine=m68k-hp
6489027f4a0Smrg		;;
6499027f4a0Smrg	hp300bsd)
6509027f4a0Smrg		basic_machine=m68k-hp
6519027f4a0Smrg		os=-bsd
6529027f4a0Smrg		;;
6539027f4a0Smrg	hp300hpux)
6549027f4a0Smrg		basic_machine=m68k-hp
6559027f4a0Smrg		os=-hpux
6569027f4a0Smrg		;;
6579027f4a0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6589027f4a0Smrg		basic_machine=hppa1.0-hp
6599027f4a0Smrg		;;
6609027f4a0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6619027f4a0Smrg		basic_machine=m68000-hp
6629027f4a0Smrg		;;
6639027f4a0Smrg	hp9k3[2-9][0-9])
6649027f4a0Smrg		basic_machine=m68k-hp
6659027f4a0Smrg		;;
6669027f4a0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6679027f4a0Smrg		basic_machine=hppa1.0-hp
6689027f4a0Smrg		;;
6699027f4a0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6709027f4a0Smrg		basic_machine=hppa1.1-hp
6719027f4a0Smrg		;;
6729027f4a0Smrg	hp9k78[0-9] | hp78[0-9])
6739027f4a0Smrg		# FIXME: really hppa2.0-hp
6749027f4a0Smrg		basic_machine=hppa1.1-hp
6759027f4a0Smrg		;;
6769027f4a0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6779027f4a0Smrg		# FIXME: really hppa2.0-hp
6789027f4a0Smrg		basic_machine=hppa1.1-hp
6799027f4a0Smrg		;;
6809027f4a0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6819027f4a0Smrg		basic_machine=hppa1.1-hp
6829027f4a0Smrg		;;
6839027f4a0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6849027f4a0Smrg		basic_machine=hppa1.0-hp
6859027f4a0Smrg		;;
6869027f4a0Smrg	hppa-next)
6879027f4a0Smrg		os=-nextstep3
6889027f4a0Smrg		;;
6899027f4a0Smrg	hppaosf)
6909027f4a0Smrg		basic_machine=hppa1.1-hp
6919027f4a0Smrg		os=-osf
6929027f4a0Smrg		;;
6939027f4a0Smrg	hppro)
6949027f4a0Smrg		basic_machine=hppa1.1-hp
6959027f4a0Smrg		os=-proelf
6969027f4a0Smrg		;;
6979027f4a0Smrg	i370-ibm* | ibm*)
6989027f4a0Smrg		basic_machine=i370-ibm
6999027f4a0Smrg		;;
7009027f4a0Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7019027f4a0Smrg	i*86v32)
7029027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7039027f4a0Smrg		os=-sysv32
7049027f4a0Smrg		;;
7059027f4a0Smrg	i*86v4*)
7069027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7079027f4a0Smrg		os=-sysv4
7089027f4a0Smrg		;;
7099027f4a0Smrg	i*86v)
7109027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7119027f4a0Smrg		os=-sysv
7129027f4a0Smrg		;;
7139027f4a0Smrg	i*86sol2)
7149027f4a0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7159027f4a0Smrg		os=-solaris2
7169027f4a0Smrg		;;
7179027f4a0Smrg	i386mach)
7189027f4a0Smrg		basic_machine=i386-mach
7199027f4a0Smrg		os=-mach
7209027f4a0Smrg		;;
7219027f4a0Smrg	i386-vsta | vsta)
7229027f4a0Smrg		basic_machine=i386-unknown
7239027f4a0Smrg		os=-vsta
7249027f4a0Smrg		;;
7259027f4a0Smrg	iris | iris4d)
7269027f4a0Smrg		basic_machine=mips-sgi
7279027f4a0Smrg		case $os in
7289027f4a0Smrg		    -irix*)
7299027f4a0Smrg			;;
7309027f4a0Smrg		    *)
7319027f4a0Smrg			os=-irix4
7329027f4a0Smrg			;;
7339027f4a0Smrg		esac
7349027f4a0Smrg		;;
7359027f4a0Smrg	isi68 | isi)
7369027f4a0Smrg		basic_machine=m68k-isi
7379027f4a0Smrg		os=-sysv
7389027f4a0Smrg		;;
7393a72f200Smrg	m68knommu)
7403a72f200Smrg		basic_machine=m68k-unknown
7413a72f200Smrg		os=-linux
7423a72f200Smrg		;;
7433a72f200Smrg	m68knommu-*)
7443a72f200Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7453a72f200Smrg		os=-linux
7463a72f200Smrg		;;
7479027f4a0Smrg	m88k-omron*)
7489027f4a0Smrg		basic_machine=m88k-omron
7499027f4a0Smrg		;;
7509027f4a0Smrg	magnum | m3230)
7519027f4a0Smrg		basic_machine=mips-mips
7529027f4a0Smrg		os=-sysv
7539027f4a0Smrg		;;
7549027f4a0Smrg	merlin)
7559027f4a0Smrg		basic_machine=ns32k-utek
7569027f4a0Smrg		os=-sysv
7579027f4a0Smrg		;;
7583a72f200Smrg        microblaze)
7593a72f200Smrg		basic_machine=microblaze-xilinx
7603a72f200Smrg		;;
7619027f4a0Smrg	mingw32)
7629027f4a0Smrg		basic_machine=i386-pc
7639027f4a0Smrg		os=-mingw32
7649027f4a0Smrg		;;
7653a72f200Smrg	mingw32ce)
7663a72f200Smrg		basic_machine=arm-unknown
7673a72f200Smrg		os=-mingw32ce
7683a72f200Smrg		;;
7699027f4a0Smrg	miniframe)
7709027f4a0Smrg		basic_machine=m68000-convergent
7719027f4a0Smrg		;;
7729027f4a0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7739027f4a0Smrg		basic_machine=m68k-atari
7749027f4a0Smrg		os=-mint
7759027f4a0Smrg		;;
7769027f4a0Smrg	mips3*-*)
7779027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7789027f4a0Smrg		;;
7799027f4a0Smrg	mips3*)
7809027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7819027f4a0Smrg		;;
7829027f4a0Smrg	monitor)
7839027f4a0Smrg		basic_machine=m68k-rom68k
7849027f4a0Smrg		os=-coff
7859027f4a0Smrg		;;
7869027f4a0Smrg	morphos)
7879027f4a0Smrg		basic_machine=powerpc-unknown
7889027f4a0Smrg		os=-morphos
7899027f4a0Smrg		;;
7909027f4a0Smrg	msdos)
7919027f4a0Smrg		basic_machine=i386-pc
7929027f4a0Smrg		os=-msdos
7939027f4a0Smrg		;;
7949027f4a0Smrg	ms1-*)
7959027f4a0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7969027f4a0Smrg		;;
7979027f4a0Smrg	mvs)
7989027f4a0Smrg		basic_machine=i370-ibm
7999027f4a0Smrg		os=-mvs
8009027f4a0Smrg		;;
8019027f4a0Smrg	ncr3000)
8029027f4a0Smrg		basic_machine=i486-ncr
8039027f4a0Smrg		os=-sysv4
8049027f4a0Smrg		;;
8059027f4a0Smrg	netbsd386)
8069027f4a0Smrg		basic_machine=i386-unknown
8079027f4a0Smrg		os=-netbsd
8089027f4a0Smrg		;;
8099027f4a0Smrg	netwinder)
8109027f4a0Smrg		basic_machine=armv4l-rebel
8119027f4a0Smrg		os=-linux
8129027f4a0Smrg		;;
8139027f4a0Smrg	news | news700 | news800 | news900)
8149027f4a0Smrg		basic_machine=m68k-sony
8159027f4a0Smrg		os=-newsos
8169027f4a0Smrg		;;
8179027f4a0Smrg	news1000)
8189027f4a0Smrg		basic_machine=m68030-sony
8199027f4a0Smrg		os=-newsos
8209027f4a0Smrg		;;
8219027f4a0Smrg	news-3600 | risc-news)
8229027f4a0Smrg		basic_machine=mips-sony
8239027f4a0Smrg		os=-newsos
8249027f4a0Smrg		;;
8259027f4a0Smrg	necv70)
8269027f4a0Smrg		basic_machine=v70-nec
8279027f4a0Smrg		os=-sysv
8289027f4a0Smrg		;;
8299027f4a0Smrg	next | m*-next )
8309027f4a0Smrg		basic_machine=m68k-next
8319027f4a0Smrg		case $os in
8329027f4a0Smrg		    -nextstep* )
8339027f4a0Smrg			;;
8349027f4a0Smrg		    -ns2*)
8359027f4a0Smrg		      os=-nextstep2
8369027f4a0Smrg			;;
8379027f4a0Smrg		    *)
8389027f4a0Smrg		      os=-nextstep3
8399027f4a0Smrg			;;
8409027f4a0Smrg		esac
8419027f4a0Smrg		;;
8429027f4a0Smrg	nh3000)
8439027f4a0Smrg		basic_machine=m68k-harris
8449027f4a0Smrg		os=-cxux
8459027f4a0Smrg		;;
8469027f4a0Smrg	nh[45]000)
8479027f4a0Smrg		basic_machine=m88k-harris
8489027f4a0Smrg		os=-cxux
8499027f4a0Smrg		;;
8509027f4a0Smrg	nindy960)
8519027f4a0Smrg		basic_machine=i960-intel
8529027f4a0Smrg		os=-nindy
8539027f4a0Smrg		;;
8549027f4a0Smrg	mon960)
8559027f4a0Smrg		basic_machine=i960-intel
8569027f4a0Smrg		os=-mon960
8579027f4a0Smrg		;;
8589027f4a0Smrg	nonstopux)
8599027f4a0Smrg		basic_machine=mips-compaq
8609027f4a0Smrg		os=-nonstopux
8619027f4a0Smrg		;;
8629027f4a0Smrg	np1)
8639027f4a0Smrg		basic_machine=np1-gould
8649027f4a0Smrg		;;
8653a72f200Smrg        neo-tandem)
8663a72f200Smrg		basic_machine=neo-tandem
8673a72f200Smrg		;;
8683a72f200Smrg        nse-tandem)
8693a72f200Smrg		basic_machine=nse-tandem
8703a72f200Smrg		;;
8719027f4a0Smrg	nsr-tandem)
8729027f4a0Smrg		basic_machine=nsr-tandem
8739027f4a0Smrg		;;
8749027f4a0Smrg	op50n-* | op60c-*)
8759027f4a0Smrg		basic_machine=hppa1.1-oki
8769027f4a0Smrg		os=-proelf
8779027f4a0Smrg		;;
8789027f4a0Smrg	openrisc | openrisc-*)
8799027f4a0Smrg		basic_machine=or32-unknown
8809027f4a0Smrg		;;
8819027f4a0Smrg	os400)
8829027f4a0Smrg		basic_machine=powerpc-ibm
8839027f4a0Smrg		os=-os400
8849027f4a0Smrg		;;
8859027f4a0Smrg	OSE68000 | ose68000)
8869027f4a0Smrg		basic_machine=m68000-ericsson
8879027f4a0Smrg		os=-ose
8889027f4a0Smrg		;;
8899027f4a0Smrg	os68k)
8909027f4a0Smrg		basic_machine=m68k-none
8919027f4a0Smrg		os=-os68k
8929027f4a0Smrg		;;
8939027f4a0Smrg	pa-hitachi)
8949027f4a0Smrg		basic_machine=hppa1.1-hitachi
8959027f4a0Smrg		os=-hiuxwe2
8969027f4a0Smrg		;;
8979027f4a0Smrg	paragon)
8989027f4a0Smrg		basic_machine=i860-intel
8999027f4a0Smrg		os=-osf
9009027f4a0Smrg		;;
9013a72f200Smrg	parisc)
9023a72f200Smrg		basic_machine=hppa-unknown
9033a72f200Smrg		os=-linux
9043a72f200Smrg		;;
9053a72f200Smrg	parisc-*)
9063a72f200Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9073a72f200Smrg		os=-linux
9083a72f200Smrg		;;
9099027f4a0Smrg	pbd)
9109027f4a0Smrg		basic_machine=sparc-tti
9119027f4a0Smrg		;;
9129027f4a0Smrg	pbb)
9139027f4a0Smrg		basic_machine=m68k-tti
9149027f4a0Smrg		;;
9159027f4a0Smrg	pc532 | pc532-*)
9169027f4a0Smrg		basic_machine=ns32k-pc532
9179027f4a0Smrg		;;
9189027f4a0Smrg	pc98)
9199027f4a0Smrg		basic_machine=i386-pc
9209027f4a0Smrg		;;
9219027f4a0Smrg	pc98-*)
9229027f4a0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9239027f4a0Smrg		;;
9249027f4a0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9259027f4a0Smrg		basic_machine=i586-pc
9269027f4a0Smrg		;;
9279027f4a0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9289027f4a0Smrg		basic_machine=i686-pc
9299027f4a0Smrg		;;
9309027f4a0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9319027f4a0Smrg		basic_machine=i686-pc
9329027f4a0Smrg		;;
9339027f4a0Smrg	pentium4)
9349027f4a0Smrg		basic_machine=i786-pc
9359027f4a0Smrg		;;
9369027f4a0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9379027f4a0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9389027f4a0Smrg		;;
9399027f4a0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9409027f4a0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9419027f4a0Smrg		;;
9429027f4a0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9439027f4a0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9449027f4a0Smrg		;;
9459027f4a0Smrg	pentium4-*)
9469027f4a0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9479027f4a0Smrg		;;
9489027f4a0Smrg	pn)
9499027f4a0Smrg		basic_machine=pn-gould
9509027f4a0Smrg		;;
9519027f4a0Smrg	power)	basic_machine=power-ibm
9529027f4a0Smrg		;;
9539027f4a0Smrg	ppc)	basic_machine=powerpc-unknown
9549027f4a0Smrg		;;
9559027f4a0Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9569027f4a0Smrg		;;
9579027f4a0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9589027f4a0Smrg		basic_machine=powerpcle-unknown
9599027f4a0Smrg		;;
9609027f4a0Smrg	ppcle-* | powerpclittle-*)
9619027f4a0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9629027f4a0Smrg		;;
9639027f4a0Smrg	ppc64)	basic_machine=powerpc64-unknown
9649027f4a0Smrg		;;
9659027f4a0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9669027f4a0Smrg		;;
9679027f4a0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9689027f4a0Smrg		basic_machine=powerpc64le-unknown
9699027f4a0Smrg		;;
9709027f4a0Smrg	ppc64le-* | powerpc64little-*)
9719027f4a0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9729027f4a0Smrg		;;
9739027f4a0Smrg	ps2)
9749027f4a0Smrg		basic_machine=i386-ibm
9759027f4a0Smrg		;;
9769027f4a0Smrg	pw32)
9779027f4a0Smrg		basic_machine=i586-unknown
9789027f4a0Smrg		os=-pw32
9799027f4a0Smrg		;;
9809027f4a0Smrg	rdos)
9819027f4a0Smrg		basic_machine=i386-pc
9829027f4a0Smrg		os=-rdos
9839027f4a0Smrg		;;
9849027f4a0Smrg	rom68k)
9859027f4a0Smrg		basic_machine=m68k-rom68k
9869027f4a0Smrg		os=-coff
9879027f4a0Smrg		;;
9889027f4a0Smrg	rm[46]00)
9899027f4a0Smrg		basic_machine=mips-siemens
9909027f4a0Smrg		;;
9919027f4a0Smrg	rtpc | rtpc-*)
9929027f4a0Smrg		basic_machine=romp-ibm
9939027f4a0Smrg		;;
9949027f4a0Smrg	s390 | s390-*)
9959027f4a0Smrg		basic_machine=s390-ibm
9969027f4a0Smrg		;;
9979027f4a0Smrg	s390x | s390x-*)
9989027f4a0Smrg		basic_machine=s390x-ibm
9999027f4a0Smrg		;;
10009027f4a0Smrg	sa29200)
10019027f4a0Smrg		basic_machine=a29k-amd
10029027f4a0Smrg		os=-udi
10039027f4a0Smrg		;;
10049027f4a0Smrg	sb1)
10059027f4a0Smrg		basic_machine=mipsisa64sb1-unknown
10069027f4a0Smrg		;;
10079027f4a0Smrg	sb1el)
10089027f4a0Smrg		basic_machine=mipsisa64sb1el-unknown
10099027f4a0Smrg		;;
10109027f4a0Smrg	sde)
10119027f4a0Smrg		basic_machine=mipsisa32-sde
10129027f4a0Smrg		os=-elf
10139027f4a0Smrg		;;
10149027f4a0Smrg	sei)
10159027f4a0Smrg		basic_machine=mips-sei
10169027f4a0Smrg		os=-seiux
10179027f4a0Smrg		;;
10189027f4a0Smrg	sequent)
10199027f4a0Smrg		basic_machine=i386-sequent
10209027f4a0Smrg		;;
10219027f4a0Smrg	sh)
10229027f4a0Smrg		basic_machine=sh-hitachi
10239027f4a0Smrg		os=-hms
10249027f4a0Smrg		;;
10259027f4a0Smrg	sh5el)
10269027f4a0Smrg		basic_machine=sh5le-unknown
10279027f4a0Smrg		;;
10289027f4a0Smrg	sh64)
10299027f4a0Smrg		basic_machine=sh64-unknown
10309027f4a0Smrg		;;
10319027f4a0Smrg	sparclite-wrs | simso-wrs)
10329027f4a0Smrg		basic_machine=sparclite-wrs
10339027f4a0Smrg		os=-vxworks
10349027f4a0Smrg		;;
10359027f4a0Smrg	sps7)
10369027f4a0Smrg		basic_machine=m68k-bull
10379027f4a0Smrg		os=-sysv2
10389027f4a0Smrg		;;
10399027f4a0Smrg	spur)
10409027f4a0Smrg		basic_machine=spur-unknown
10419027f4a0Smrg		;;
10429027f4a0Smrg	st2000)
10439027f4a0Smrg		basic_machine=m68k-tandem
10449027f4a0Smrg		;;
10459027f4a0Smrg	stratus)
10469027f4a0Smrg		basic_machine=i860-stratus
10479027f4a0Smrg		os=-sysv4
10489027f4a0Smrg		;;
10499027f4a0Smrg	sun2)
10509027f4a0Smrg		basic_machine=m68000-sun
10519027f4a0Smrg		;;
10529027f4a0Smrg	sun2os3)
10539027f4a0Smrg		basic_machine=m68000-sun
10549027f4a0Smrg		os=-sunos3
10559027f4a0Smrg		;;
10569027f4a0Smrg	sun2os4)
10579027f4a0Smrg		basic_machine=m68000-sun
10589027f4a0Smrg		os=-sunos4
10599027f4a0Smrg		;;
10609027f4a0Smrg	sun3os3)
10619027f4a0Smrg		basic_machine=m68k-sun
10629027f4a0Smrg		os=-sunos3
10639027f4a0Smrg		;;
10649027f4a0Smrg	sun3os4)
10659027f4a0Smrg		basic_machine=m68k-sun
10669027f4a0Smrg		os=-sunos4
10679027f4a0Smrg		;;
10689027f4a0Smrg	sun4os3)
10699027f4a0Smrg		basic_machine=sparc-sun
10709027f4a0Smrg		os=-sunos3
10719027f4a0Smrg		;;
10729027f4a0Smrg	sun4os4)
10739027f4a0Smrg		basic_machine=sparc-sun
10749027f4a0Smrg		os=-sunos4
10759027f4a0Smrg		;;
10769027f4a0Smrg	sun4sol2)
10779027f4a0Smrg		basic_machine=sparc-sun
10789027f4a0Smrg		os=-solaris2
10799027f4a0Smrg		;;
10809027f4a0Smrg	sun3 | sun3-*)
10819027f4a0Smrg		basic_machine=m68k-sun
10829027f4a0Smrg		;;
10839027f4a0Smrg	sun4)
10849027f4a0Smrg		basic_machine=sparc-sun
10859027f4a0Smrg		;;
10869027f4a0Smrg	sun386 | sun386i | roadrunner)
10879027f4a0Smrg		basic_machine=i386-sun
10889027f4a0Smrg		;;
10899027f4a0Smrg	sv1)
10909027f4a0Smrg		basic_machine=sv1-cray
10919027f4a0Smrg		os=-unicos
10929027f4a0Smrg		;;
10939027f4a0Smrg	symmetry)
10949027f4a0Smrg		basic_machine=i386-sequent
10959027f4a0Smrg		os=-dynix
10969027f4a0Smrg		;;
10979027f4a0Smrg	t3e)
10989027f4a0Smrg		basic_machine=alphaev5-cray
10999027f4a0Smrg		os=-unicos
11009027f4a0Smrg		;;
11019027f4a0Smrg	t90)
11029027f4a0Smrg		basic_machine=t90-cray
11039027f4a0Smrg		os=-unicos
11049027f4a0Smrg		;;
11053a72f200Smrg        # This must be matched before tile*.
11063a72f200Smrg        tilegx*)
11073a72f200Smrg		basic_machine=tilegx-unknown
11083a72f200Smrg		os=-linux-gnu
11099027f4a0Smrg		;;
11103a72f200Smrg	tile*)
11113a72f200Smrg		basic_machine=tile-unknown
11123a72f200Smrg		os=-linux-gnu
11139027f4a0Smrg		;;
11149027f4a0Smrg	tx39)
11159027f4a0Smrg		basic_machine=mipstx39-unknown
11169027f4a0Smrg		;;
11179027f4a0Smrg	tx39el)
11189027f4a0Smrg		basic_machine=mipstx39el-unknown
11199027f4a0Smrg		;;
11209027f4a0Smrg	toad1)
11219027f4a0Smrg		basic_machine=pdp10-xkl
11229027f4a0Smrg		os=-tops20
11239027f4a0Smrg		;;
11249027f4a0Smrg	tower | tower-32)
11259027f4a0Smrg		basic_machine=m68k-ncr
11269027f4a0Smrg		;;
11279027f4a0Smrg	tpf)
11289027f4a0Smrg		basic_machine=s390x-ibm
11299027f4a0Smrg		os=-tpf
11309027f4a0Smrg		;;
11319027f4a0Smrg	udi29k)
11329027f4a0Smrg		basic_machine=a29k-amd
11339027f4a0Smrg		os=-udi
11349027f4a0Smrg		;;
11359027f4a0Smrg	ultra3)
11369027f4a0Smrg		basic_machine=a29k-nyu
11379027f4a0Smrg		os=-sym1
11389027f4a0Smrg		;;
11399027f4a0Smrg	v810 | necv810)
11409027f4a0Smrg		basic_machine=v810-nec
11419027f4a0Smrg		os=-none
11429027f4a0Smrg		;;
11439027f4a0Smrg	vaxv)
11449027f4a0Smrg		basic_machine=vax-dec
11459027f4a0Smrg		os=-sysv
11469027f4a0Smrg		;;
11479027f4a0Smrg	vms)
11489027f4a0Smrg		basic_machine=vax-dec
11499027f4a0Smrg		os=-vms
11509027f4a0Smrg		;;
11519027f4a0Smrg	vpp*|vx|vx-*)
11529027f4a0Smrg		basic_machine=f301-fujitsu
11539027f4a0Smrg		;;
11549027f4a0Smrg	vxworks960)
11559027f4a0Smrg		basic_machine=i960-wrs
11569027f4a0Smrg		os=-vxworks
11579027f4a0Smrg		;;
11589027f4a0Smrg	vxworks68)
11599027f4a0Smrg		basic_machine=m68k-wrs
11609027f4a0Smrg		os=-vxworks
11619027f4a0Smrg		;;
11629027f4a0Smrg	vxworks29k)
11639027f4a0Smrg		basic_machine=a29k-wrs
11649027f4a0Smrg		os=-vxworks
11659027f4a0Smrg		;;
11669027f4a0Smrg	w65*)
11679027f4a0Smrg		basic_machine=w65-wdc
11689027f4a0Smrg		os=-none
11699027f4a0Smrg		;;
11709027f4a0Smrg	w89k-*)
11719027f4a0Smrg		basic_machine=hppa1.1-winbond
11729027f4a0Smrg		os=-proelf
11739027f4a0Smrg		;;
11749027f4a0Smrg	xbox)
11759027f4a0Smrg		basic_machine=i686-pc
11769027f4a0Smrg		os=-mingw32
11779027f4a0Smrg		;;
11789027f4a0Smrg	xps | xps100)
11799027f4a0Smrg		basic_machine=xps100-honeywell
11809027f4a0Smrg		;;
11819027f4a0Smrg	ymp)
11829027f4a0Smrg		basic_machine=ymp-cray
11839027f4a0Smrg		os=-unicos
11849027f4a0Smrg		;;
11859027f4a0Smrg	z8k-*-coff)
11869027f4a0Smrg		basic_machine=z8k-unknown
11879027f4a0Smrg		os=-sim
11889027f4a0Smrg		;;
11893a72f200Smrg	z80-*-coff)
11903a72f200Smrg		basic_machine=z80-unknown
11913a72f200Smrg		os=-sim
11923a72f200Smrg		;;
11939027f4a0Smrg	none)
11949027f4a0Smrg		basic_machine=none-none
11959027f4a0Smrg		os=-none
11969027f4a0Smrg		;;
11979027f4a0Smrg
11989027f4a0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11999027f4a0Smrg# some cases the only manufacturer, in others, it is the most popular.
12009027f4a0Smrg	w89k)
12019027f4a0Smrg		basic_machine=hppa1.1-winbond
12029027f4a0Smrg		;;
12039027f4a0Smrg	op50n)
12049027f4a0Smrg		basic_machine=hppa1.1-oki
12059027f4a0Smrg		;;
12069027f4a0Smrg	op60c)
12079027f4a0Smrg		basic_machine=hppa1.1-oki
12089027f4a0Smrg		;;
12099027f4a0Smrg	romp)
12109027f4a0Smrg		basic_machine=romp-ibm
12119027f4a0Smrg		;;
12129027f4a0Smrg	mmix)
12139027f4a0Smrg		basic_machine=mmix-knuth
12149027f4a0Smrg		;;
12159027f4a0Smrg	rs6000)
12169027f4a0Smrg		basic_machine=rs6000-ibm
12179027f4a0Smrg		;;
12189027f4a0Smrg	vax)
12199027f4a0Smrg		basic_machine=vax-dec
12209027f4a0Smrg		;;
12219027f4a0Smrg	pdp10)
12229027f4a0Smrg		# there are many clones, so DEC is not a safe bet
12239027f4a0Smrg		basic_machine=pdp10-unknown
12249027f4a0Smrg		;;
12259027f4a0Smrg	pdp11)
12269027f4a0Smrg		basic_machine=pdp11-dec
12279027f4a0Smrg		;;
12289027f4a0Smrg	we32k)
12299027f4a0Smrg		basic_machine=we32k-att
12309027f4a0Smrg		;;
12313a72f200Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12329027f4a0Smrg		basic_machine=sh-unknown
12339027f4a0Smrg		;;
12349027f4a0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12359027f4a0Smrg		basic_machine=sparc-sun
12369027f4a0Smrg		;;
12379027f4a0Smrg	cydra)
12389027f4a0Smrg		basic_machine=cydra-cydrome
12399027f4a0Smrg		;;
12409027f4a0Smrg	orion)
12419027f4a0Smrg		basic_machine=orion-highlevel
12429027f4a0Smrg		;;
12439027f4a0Smrg	orion105)
12449027f4a0Smrg		basic_machine=clipper-highlevel
12459027f4a0Smrg		;;
12469027f4a0Smrg	mac | mpw | mac-mpw)
12479027f4a0Smrg		basic_machine=m68k-apple
12489027f4a0Smrg		;;
12499027f4a0Smrg	pmac | pmac-mpw)
12509027f4a0Smrg		basic_machine=powerpc-apple
12519027f4a0Smrg		;;
12529027f4a0Smrg	*-unknown)
12539027f4a0Smrg		# Make sure to match an already-canonicalized machine name.
12549027f4a0Smrg		;;
12559027f4a0Smrg	*)
12569027f4a0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12579027f4a0Smrg		exit 1
12589027f4a0Smrg		;;
12599027f4a0Smrgesac
12609027f4a0Smrg
12619027f4a0Smrg# Here we canonicalize certain aliases for manufacturers.
12629027f4a0Smrgcase $basic_machine in
12639027f4a0Smrg	*-digital*)
12649027f4a0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12659027f4a0Smrg		;;
12669027f4a0Smrg	*-commodore*)
12679027f4a0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12689027f4a0Smrg		;;
12699027f4a0Smrg	*)
12709027f4a0Smrg		;;
12719027f4a0Smrgesac
12729027f4a0Smrg
12739027f4a0Smrg# Decode manufacturer-specific aliases for certain operating systems.
12749027f4a0Smrg
12759027f4a0Smrgif [ x"$os" != x"" ]
12769027f4a0Smrgthen
12779027f4a0Smrgcase $os in
12789027f4a0Smrg        # First match some system type aliases
12799027f4a0Smrg        # that might get confused with valid system types.
12809027f4a0Smrg	# -solaris* is a basic system type, with this one exception.
12813a72f200Smrg        -auroraux)
12823a72f200Smrg	        os=-auroraux
12833a72f200Smrg		;;
12849027f4a0Smrg	-solaris1 | -solaris1.*)
12859027f4a0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12869027f4a0Smrg		;;
12879027f4a0Smrg	-solaris)
12889027f4a0Smrg		os=-solaris2
12899027f4a0Smrg		;;
12909027f4a0Smrg	-svr4*)
12919027f4a0Smrg		os=-sysv4
12929027f4a0Smrg		;;
12939027f4a0Smrg	-unixware*)
12949027f4a0Smrg		os=-sysv4.2uw
12959027f4a0Smrg		;;
12969027f4a0Smrg	-gnu/linux*)
12979027f4a0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12989027f4a0Smrg		;;
12999027f4a0Smrg	# First accept the basic system types.
13009027f4a0Smrg	# The portable systems comes first.
13019027f4a0Smrg	# Each alternative MUST END IN A *, to match a version number.
13029027f4a0Smrg	# -sysv* is not here because it comes later, after sysvr4.
13039027f4a0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13043a72f200Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13053a72f200Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13063a72f200Smrg	      | -sym* | -kopensolaris* \
13079027f4a0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13083a72f200Smrg	      | -aos* | -aros* \
13099027f4a0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13109027f4a0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13119027f4a0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13129027f4a0Smrg	      | -openbsd* | -solidbsd* \
13139027f4a0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13149027f4a0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13159027f4a0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13169027f4a0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13173a72f200Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13189027f4a0Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13193a72f200Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13203a72f200Smrg	      | -linux-newlib* | -linux-uclibc* \
13219027f4a0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13229027f4a0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13239027f4a0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13249027f4a0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13259027f4a0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13269027f4a0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13279027f4a0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13283a72f200Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13299027f4a0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13309027f4a0Smrg		;;
13319027f4a0Smrg	-qnx*)
13329027f4a0Smrg		case $basic_machine in
13339027f4a0Smrg		    x86-* | i*86-*)
13349027f4a0Smrg			;;
13359027f4a0Smrg		    *)
13369027f4a0Smrg			os=-nto$os
13379027f4a0Smrg			;;
13389027f4a0Smrg		esac
13399027f4a0Smrg		;;
13409027f4a0Smrg	-nto-qnx*)
13419027f4a0Smrg		;;
13429027f4a0Smrg	-nto*)
13439027f4a0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13449027f4a0Smrg		;;
13459027f4a0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13469027f4a0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13479027f4a0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13489027f4a0Smrg		;;
13499027f4a0Smrg	-mac*)
13509027f4a0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13519027f4a0Smrg		;;
13529027f4a0Smrg	-linux-dietlibc)
13539027f4a0Smrg		os=-linux-dietlibc
13549027f4a0Smrg		;;
13559027f4a0Smrg	-linux*)
13569027f4a0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13579027f4a0Smrg		;;
13589027f4a0Smrg	-sunos5*)
13599027f4a0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13609027f4a0Smrg		;;
13619027f4a0Smrg	-sunos6*)
13629027f4a0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13639027f4a0Smrg		;;
13649027f4a0Smrg	-opened*)
13659027f4a0Smrg		os=-openedition
13669027f4a0Smrg		;;
13679027f4a0Smrg        -os400*)
13689027f4a0Smrg		os=-os400
13699027f4a0Smrg		;;
13709027f4a0Smrg	-wince*)
13719027f4a0Smrg		os=-wince
13729027f4a0Smrg		;;
13739027f4a0Smrg	-osfrose*)
13749027f4a0Smrg		os=-osfrose
13759027f4a0Smrg		;;
13769027f4a0Smrg	-osf*)
13779027f4a0Smrg		os=-osf
13789027f4a0Smrg		;;
13799027f4a0Smrg	-utek*)
13809027f4a0Smrg		os=-bsd
13819027f4a0Smrg		;;
13829027f4a0Smrg	-dynix*)
13839027f4a0Smrg		os=-bsd
13849027f4a0Smrg		;;
13859027f4a0Smrg	-acis*)
13869027f4a0Smrg		os=-aos
13879027f4a0Smrg		;;
13889027f4a0Smrg	-atheos*)
13899027f4a0Smrg		os=-atheos
13909027f4a0Smrg		;;
13919027f4a0Smrg	-syllable*)
13929027f4a0Smrg		os=-syllable
13939027f4a0Smrg		;;
13949027f4a0Smrg	-386bsd)
13959027f4a0Smrg		os=-bsd
13969027f4a0Smrg		;;
13979027f4a0Smrg	-ctix* | -uts*)
13989027f4a0Smrg		os=-sysv
13999027f4a0Smrg		;;
14009027f4a0Smrg	-nova*)
14019027f4a0Smrg		os=-rtmk-nova
14029027f4a0Smrg		;;
14039027f4a0Smrg	-ns2 )
14049027f4a0Smrg		os=-nextstep2
14059027f4a0Smrg		;;
14069027f4a0Smrg	-nsk*)
14079027f4a0Smrg		os=-nsk
14089027f4a0Smrg		;;
14099027f4a0Smrg	# Preserve the version number of sinix5.
14109027f4a0Smrg	-sinix5.*)
14119027f4a0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14129027f4a0Smrg		;;
14139027f4a0Smrg	-sinix*)
14149027f4a0Smrg		os=-sysv4
14159027f4a0Smrg		;;
14169027f4a0Smrg        -tpf*)
14179027f4a0Smrg		os=-tpf
14189027f4a0Smrg		;;
14199027f4a0Smrg	-triton*)
14209027f4a0Smrg		os=-sysv3
14219027f4a0Smrg		;;
14229027f4a0Smrg	-oss*)
14239027f4a0Smrg		os=-sysv3
14249027f4a0Smrg		;;
14259027f4a0Smrg	-svr4)
14269027f4a0Smrg		os=-sysv4
14279027f4a0Smrg		;;
14289027f4a0Smrg	-svr3)
14299027f4a0Smrg		os=-sysv3
14309027f4a0Smrg		;;
14319027f4a0Smrg	-sysvr4)
14329027f4a0Smrg		os=-sysv4
14339027f4a0Smrg		;;
14349027f4a0Smrg	# This must come after -sysvr4.
14359027f4a0Smrg	-sysv*)
14369027f4a0Smrg		;;
14379027f4a0Smrg	-ose*)
14389027f4a0Smrg		os=-ose
14399027f4a0Smrg		;;
14409027f4a0Smrg	-es1800*)
14419027f4a0Smrg		os=-ose
14429027f4a0Smrg		;;
14439027f4a0Smrg	-xenix)
14449027f4a0Smrg		os=-xenix
14459027f4a0Smrg		;;
14469027f4a0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14479027f4a0Smrg		os=-mint
14489027f4a0Smrg		;;
14499027f4a0Smrg	-aros*)
14509027f4a0Smrg		os=-aros
14519027f4a0Smrg		;;
14529027f4a0Smrg	-kaos*)
14539027f4a0Smrg		os=-kaos
14549027f4a0Smrg		;;
14559027f4a0Smrg	-zvmoe)
14569027f4a0Smrg		os=-zvmoe
14579027f4a0Smrg		;;
14583a72f200Smrg	-dicos*)
14593a72f200Smrg		os=-dicos
14603a72f200Smrg		;;
14613a72f200Smrg        -nacl*)
14623a72f200Smrg	        ;;
14639027f4a0Smrg	-none)
14649027f4a0Smrg		;;
14659027f4a0Smrg	*)
14669027f4a0Smrg		# Get rid of the `-' at the beginning of $os.
14679027f4a0Smrg		os=`echo $os | sed 's/[^-]*-//'`
14689027f4a0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14699027f4a0Smrg		exit 1
14709027f4a0Smrg		;;
14719027f4a0Smrgesac
14729027f4a0Smrgelse
14739027f4a0Smrg
14749027f4a0Smrg# Here we handle the default operating systems that come with various machines.
14759027f4a0Smrg# The value should be what the vendor currently ships out the door with their
14769027f4a0Smrg# machine or put another way, the most popular os provided with the machine.
14779027f4a0Smrg
14789027f4a0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14799027f4a0Smrg# "-sun"), then you have to tell the case statement up towards the top
14809027f4a0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14819027f4a0Smrg# will signal an error saying that MANUFACTURER isn't an operating
14829027f4a0Smrg# system, and we'll never get to this point.
14839027f4a0Smrg
14849027f4a0Smrgcase $basic_machine in
14859027f4a0Smrg        score-*)
14869027f4a0Smrg		os=-elf
14879027f4a0Smrg		;;
14889027f4a0Smrg        spu-*)
14899027f4a0Smrg		os=-elf
14909027f4a0Smrg		;;
14919027f4a0Smrg	*-acorn)
14929027f4a0Smrg		os=-riscix1.2
14939027f4a0Smrg		;;
14949027f4a0Smrg	arm*-rebel)
14959027f4a0Smrg		os=-linux
14969027f4a0Smrg		;;
14979027f4a0Smrg	arm*-semi)
14989027f4a0Smrg		os=-aout
14999027f4a0Smrg		;;
15009027f4a0Smrg        c4x-* | tic4x-*)
15019027f4a0Smrg        	os=-coff
15029027f4a0Smrg		;;
15033a72f200Smrg	tic54x-*)
15043a72f200Smrg		os=-coff
15053a72f200Smrg		;;
15063a72f200Smrg	tic55x-*)
15073a72f200Smrg		os=-coff
15083a72f200Smrg		;;
15093a72f200Smrg	tic6x-*)
15103a72f200Smrg		os=-coff
15113a72f200Smrg		;;
15129027f4a0Smrg	# This must come before the *-dec entry.
15139027f4a0Smrg	pdp10-*)
15149027f4a0Smrg		os=-tops20
15159027f4a0Smrg		;;
15169027f4a0Smrg	pdp11-*)
15179027f4a0Smrg		os=-none
15189027f4a0Smrg		;;
15199027f4a0Smrg	*-dec | vax-*)
15209027f4a0Smrg		os=-ultrix4.2
15219027f4a0Smrg		;;
15229027f4a0Smrg	m68*-apollo)
15239027f4a0Smrg		os=-domain
15249027f4a0Smrg		;;
15259027f4a0Smrg	i386-sun)
15269027f4a0Smrg		os=-sunos4.0.2
15279027f4a0Smrg		;;
15289027f4a0Smrg	m68000-sun)
15299027f4a0Smrg		os=-sunos3
15309027f4a0Smrg		# This also exists in the configure program, but was not the
15319027f4a0Smrg		# default.
15329027f4a0Smrg		# os=-sunos4
15339027f4a0Smrg		;;
15349027f4a0Smrg	m68*-cisco)
15359027f4a0Smrg		os=-aout
15369027f4a0Smrg		;;
15373a72f200Smrg        mep-*)
15383a72f200Smrg		os=-elf
15393a72f200Smrg		;;
15409027f4a0Smrg	mips*-cisco)
15419027f4a0Smrg		os=-elf
15429027f4a0Smrg		;;
15439027f4a0Smrg	mips*-*)
15449027f4a0Smrg		os=-elf
15459027f4a0Smrg		;;
15469027f4a0Smrg	or32-*)
15479027f4a0Smrg		os=-coff
15489027f4a0Smrg		;;
15499027f4a0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15509027f4a0Smrg		os=-sysv3
15519027f4a0Smrg		;;
15529027f4a0Smrg	sparc-* | *-sun)
15539027f4a0Smrg		os=-sunos4.1.1
15549027f4a0Smrg		;;
15559027f4a0Smrg	*-be)
15569027f4a0Smrg		os=-beos
15579027f4a0Smrg		;;
15589027f4a0Smrg	*-haiku)
15599027f4a0Smrg		os=-haiku
15609027f4a0Smrg		;;
15619027f4a0Smrg	*-ibm)
15629027f4a0Smrg		os=-aix
15639027f4a0Smrg		;;
15649027f4a0Smrg    	*-knuth)
15659027f4a0Smrg		os=-mmixware
15669027f4a0Smrg		;;
15679027f4a0Smrg	*-wec)
15689027f4a0Smrg		os=-proelf
15699027f4a0Smrg		;;
15709027f4a0Smrg	*-winbond)
15719027f4a0Smrg		os=-proelf
15729027f4a0Smrg		;;
15739027f4a0Smrg	*-oki)
15749027f4a0Smrg		os=-proelf
15759027f4a0Smrg		;;
15769027f4a0Smrg	*-hp)
15779027f4a0Smrg		os=-hpux
15789027f4a0Smrg		;;
15799027f4a0Smrg	*-hitachi)
15809027f4a0Smrg		os=-hiux
15819027f4a0Smrg		;;
15829027f4a0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15839027f4a0Smrg		os=-sysv
15849027f4a0Smrg		;;
15859027f4a0Smrg	*-cbm)
15869027f4a0Smrg		os=-amigaos
15879027f4a0Smrg		;;
15889027f4a0Smrg	*-dg)
15899027f4a0Smrg		os=-dgux
15909027f4a0Smrg		;;
15919027f4a0Smrg	*-dolphin)
15929027f4a0Smrg		os=-sysv3
15939027f4a0Smrg		;;
15949027f4a0Smrg	m68k-ccur)
15959027f4a0Smrg		os=-rtu
15969027f4a0Smrg		;;
15979027f4a0Smrg	m88k-omron*)
15989027f4a0Smrg		os=-luna
15999027f4a0Smrg		;;
16009027f4a0Smrg	*-next )
16019027f4a0Smrg		os=-nextstep
16029027f4a0Smrg		;;
16039027f4a0Smrg	*-sequent)
16049027f4a0Smrg		os=-ptx
16059027f4a0Smrg		;;
16069027f4a0Smrg	*-crds)
16079027f4a0Smrg		os=-unos
16089027f4a0Smrg		;;
16099027f4a0Smrg	*-ns)
16109027f4a0Smrg		os=-genix
16119027f4a0Smrg		;;
16129027f4a0Smrg	i370-*)
16139027f4a0Smrg		os=-mvs
16149027f4a0Smrg		;;
16159027f4a0Smrg	*-next)
16169027f4a0Smrg		os=-nextstep3
16179027f4a0Smrg		;;
16189027f4a0Smrg	*-gould)
16199027f4a0Smrg		os=-sysv
16209027f4a0Smrg		;;
16219027f4a0Smrg	*-highlevel)
16229027f4a0Smrg		os=-bsd
16239027f4a0Smrg		;;
16249027f4a0Smrg	*-encore)
16259027f4a0Smrg		os=-bsd
16269027f4a0Smrg		;;
16279027f4a0Smrg	*-sgi)
16289027f4a0Smrg		os=-irix
16299027f4a0Smrg		;;
16309027f4a0Smrg	*-siemens)
16319027f4a0Smrg		os=-sysv4
16329027f4a0Smrg		;;
16339027f4a0Smrg	*-masscomp)
16349027f4a0Smrg		os=-rtu
16359027f4a0Smrg		;;
16369027f4a0Smrg	f30[01]-fujitsu | f700-fujitsu)
16379027f4a0Smrg		os=-uxpv
16389027f4a0Smrg		;;
16399027f4a0Smrg	*-rom68k)
16409027f4a0Smrg		os=-coff
16419027f4a0Smrg		;;
16429027f4a0Smrg	*-*bug)
16439027f4a0Smrg		os=-coff
16449027f4a0Smrg		;;
16459027f4a0Smrg	*-apple)
16469027f4a0Smrg		os=-macos
16479027f4a0Smrg		;;
16489027f4a0Smrg	*-atari*)
16499027f4a0Smrg		os=-mint
16509027f4a0Smrg		;;
16519027f4a0Smrg	*)
16529027f4a0Smrg		os=-none
16539027f4a0Smrg		;;
16549027f4a0Smrgesac
16559027f4a0Smrgfi
16569027f4a0Smrg
16579027f4a0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16589027f4a0Smrg# manufacturer.  We pick the logical manufacturer.
16599027f4a0Smrgvendor=unknown
16609027f4a0Smrgcase $basic_machine in
16619027f4a0Smrg	*-unknown)
16629027f4a0Smrg		case $os in
16639027f4a0Smrg			-riscix*)
16649027f4a0Smrg				vendor=acorn
16659027f4a0Smrg				;;
16669027f4a0Smrg			-sunos*)
16679027f4a0Smrg				vendor=sun
16689027f4a0Smrg				;;
16693a72f200Smrg			-cnk*|-aix*)
16709027f4a0Smrg				vendor=ibm
16719027f4a0Smrg				;;
16729027f4a0Smrg			-beos*)
16739027f4a0Smrg				vendor=be
16749027f4a0Smrg				;;
16759027f4a0Smrg			-hpux*)
16769027f4a0Smrg				vendor=hp
16779027f4a0Smrg				;;
16789027f4a0Smrg			-mpeix*)
16799027f4a0Smrg				vendor=hp
16809027f4a0Smrg				;;
16819027f4a0Smrg			-hiux*)
16829027f4a0Smrg				vendor=hitachi
16839027f4a0Smrg				;;
16849027f4a0Smrg			-unos*)
16859027f4a0Smrg				vendor=crds
16869027f4a0Smrg				;;
16879027f4a0Smrg			-dgux*)
16889027f4a0Smrg				vendor=dg
16899027f4a0Smrg				;;
16909027f4a0Smrg			-luna*)
16919027f4a0Smrg				vendor=omron
16929027f4a0Smrg				;;
16939027f4a0Smrg			-genix*)
16949027f4a0Smrg				vendor=ns
16959027f4a0Smrg				;;
16969027f4a0Smrg			-mvs* | -opened*)
16979027f4a0Smrg				vendor=ibm
16989027f4a0Smrg				;;
16999027f4a0Smrg			-os400*)
17009027f4a0Smrg				vendor=ibm
17019027f4a0Smrg				;;
17029027f4a0Smrg			-ptx*)
17039027f4a0Smrg				vendor=sequent
17049027f4a0Smrg				;;
17059027f4a0Smrg			-tpf*)
17069027f4a0Smrg				vendor=ibm
17079027f4a0Smrg				;;
17089027f4a0Smrg			-vxsim* | -vxworks* | -windiss*)
17099027f4a0Smrg				vendor=wrs
17109027f4a0Smrg				;;
17119027f4a0Smrg			-aux*)
17129027f4a0Smrg				vendor=apple
17139027f4a0Smrg				;;
17149027f4a0Smrg			-hms*)
17159027f4a0Smrg				vendor=hitachi
17169027f4a0Smrg				;;
17179027f4a0Smrg			-mpw* | -macos*)
17189027f4a0Smrg				vendor=apple
17199027f4a0Smrg				;;
17209027f4a0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17219027f4a0Smrg				vendor=atari
17229027f4a0Smrg				;;
17239027f4a0Smrg			-vos*)
17249027f4a0Smrg				vendor=stratus
17259027f4a0Smrg				;;
17269027f4a0Smrg		esac
17279027f4a0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17289027f4a0Smrg		;;
17299027f4a0Smrgesac
17309027f4a0Smrg
17319027f4a0Smrgecho $basic_machine$os
17329027f4a0Smrgexit
17339027f4a0Smrg
17349027f4a0Smrg# Local variables:
17359027f4a0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17369027f4a0Smrg# time-stamp-start: "timestamp='"
17379027f4a0Smrg# time-stamp-format: "%:y-%02m-%02d"
17389027f4a0Smrg# time-stamp-end: "'"
17399027f4a0Smrg# End:
1740