config.sub revision 7aa89044
14b0ead49Smrg#! /bin/sh
24b0ead49Smrg# Configuration validation subroutine script.
34b0ead49Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
47aa89044Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
552b01e16Smrg#   Free Software Foundation, Inc.
64b0ead49Smrg
77aa89044Smrgtimestamp='2010-09-11'
84b0ead49Smrg
94b0ead49Smrg# This file is (in principle) common to ALL GNU software.
104b0ead49Smrg# The presence of a machine in this file suggests that SOME GNU software
114b0ead49Smrg# can handle that machine.  It does not imply ALL GNU software can.
124b0ead49Smrg#
134b0ead49Smrg# This file is free software; you can redistribute it and/or modify
144b0ead49Smrg# it under the terms of the GNU General Public License as published by
154b0ead49Smrg# the Free Software Foundation; either version 2 of the License, or
164b0ead49Smrg# (at your option) any later version.
174b0ead49Smrg#
184b0ead49Smrg# This program is distributed in the hope that it will be useful,
194b0ead49Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
204b0ead49Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
214b0ead49Smrg# GNU General Public License for more details.
224b0ead49Smrg#
234b0ead49Smrg# You should have received a copy of the GNU General Public License
244b0ead49Smrg# along with this program; if not, write to the Free Software
254b0ead49Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
264b0ead49Smrg# 02110-1301, USA.
274b0ead49Smrg#
284b0ead49Smrg# As a special exception to the GNU General Public License, if you
294b0ead49Smrg# distribute this file as part of a program that contains a
304b0ead49Smrg# configuration script generated by Autoconf, you may include it under
314b0ead49Smrg# the same distribution terms that you use for the rest of that program.
324b0ead49Smrg
334b0ead49Smrg
344b0ead49Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
3549dc963fSmrg# diff and a properly formatted GNU ChangeLog entry.
364b0ead49Smrg#
374b0ead49Smrg# Configuration subroutine to validate and canonicalize a configuration type.
384b0ead49Smrg# Supply the specified configuration type as an argument.
394b0ead49Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
404b0ead49Smrg# Otherwise, we print the canonical config type on stdout and succeed.
414b0ead49Smrg
4249dc963fSmrg# You can get the latest version of this script from:
4349dc963fSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
4449dc963fSmrg
454b0ead49Smrg# This file is supposed to be the same for all GNU packages
464b0ead49Smrg# and recognize all the CPU types, system types and aliases
474b0ead49Smrg# that are meaningful with *any* GNU software.
484b0ead49Smrg# Each package is responsible for reporting which valid configurations
494b0ead49Smrg# it does not support.  The user should be able to distinguish
504b0ead49Smrg# a failure to support a valid configuration from a meaningless
514b0ead49Smrg# configuration.
524b0ead49Smrg
534b0ead49Smrg# The goal of this file is to map all the various variations of a given
544b0ead49Smrg# machine specification into a single specification in the form:
554b0ead49Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
564b0ead49Smrg# or in some cases, the newer four-part form:
574b0ead49Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
584b0ead49Smrg# It is wrong to echo any other type of specification.
594b0ead49Smrg
604b0ead49Smrgme=`echo "$0" | sed -e 's,.*/,,'`
614b0ead49Smrg
624b0ead49Smrgusage="\
634b0ead49SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
644b0ead49Smrg       $0 [OPTION] ALIAS
654b0ead49Smrg
664b0ead49SmrgCanonicalize a configuration name.
674b0ead49Smrg
684b0ead49SmrgOperation modes:
694b0ead49Smrg  -h, --help         print this help, then exit
704b0ead49Smrg  -t, --time-stamp   print date of last modification, then exit
714b0ead49Smrg  -v, --version      print version number, then exit
724b0ead49Smrg
734b0ead49SmrgReport bugs and patches to <config-patches@gnu.org>."
744b0ead49Smrg
754b0ead49Smrgversion="\
764b0ead49SmrgGNU config.sub ($timestamp)
774b0ead49Smrg
787aa89044SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
797aa89044Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
807aa89044SmrgSoftware Foundation, Inc.
814b0ead49Smrg
824b0ead49SmrgThis is free software; see the source for copying conditions.  There is NO
834b0ead49Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
844b0ead49Smrg
854b0ead49Smrghelp="
864b0ead49SmrgTry \`$me --help' for more information."
874b0ead49Smrg
884b0ead49Smrg# Parse command line
894b0ead49Smrgwhile test $# -gt 0 ; do
904b0ead49Smrg  case $1 in
914b0ead49Smrg    --time-stamp | --time* | -t )
924b0ead49Smrg       echo "$timestamp" ; exit ;;
934b0ead49Smrg    --version | -v )
944b0ead49Smrg       echo "$version" ; exit ;;
954b0ead49Smrg    --help | --h* | -h )
964b0ead49Smrg       echo "$usage"; exit ;;
974b0ead49Smrg    -- )     # Stop option processing
984b0ead49Smrg       shift; break ;;
994b0ead49Smrg    - )	# Use stdin as input.
1004b0ead49Smrg       break ;;
1014b0ead49Smrg    -* )
1024b0ead49Smrg       echo "$me: invalid option $1$help"
1034b0ead49Smrg       exit 1 ;;
1044b0ead49Smrg
1054b0ead49Smrg    *local*)
1064b0ead49Smrg       # First pass through any local machine types.
1074b0ead49Smrg       echo $1
1084b0ead49Smrg       exit ;;
1094b0ead49Smrg
1104b0ead49Smrg    * )
1114b0ead49Smrg       break ;;
1124b0ead49Smrg  esac
1134b0ead49Smrgdone
1144b0ead49Smrg
1154b0ead49Smrgcase $# in
1164b0ead49Smrg 0) echo "$me: missing argument$help" >&2
1174b0ead49Smrg    exit 1;;
1184b0ead49Smrg 1) ;;
1194b0ead49Smrg *) echo "$me: too many arguments$help" >&2
1204b0ead49Smrg    exit 1;;
1214b0ead49Smrgesac
1224b0ead49Smrg
1234b0ead49Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1244b0ead49Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1254b0ead49Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1264b0ead49Smrgcase $maybe_os in
1277aa89044Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1287aa89044Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1297aa89044Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
13049dc963fSmrg  kopensolaris*-gnu* | \
13152b01e16Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1324b0ead49Smrg    os=-$maybe_os
1334b0ead49Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1344b0ead49Smrg    ;;
1354b0ead49Smrg  *)
1364b0ead49Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1374b0ead49Smrg    if [ $basic_machine != $1 ]
1384b0ead49Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1394b0ead49Smrg    else os=; fi
1404b0ead49Smrg    ;;
1414b0ead49Smrgesac
1424b0ead49Smrg
1434b0ead49Smrg### Let's recognize common machines as not being operating systems so
1444b0ead49Smrg### that things like config.sub decstation-3100 work.  We also
1454b0ead49Smrg### recognize some manufacturers as not being operating systems, so we
1464b0ead49Smrg### can provide default operating systems below.
1474b0ead49Smrgcase $os in
1484b0ead49Smrg	-sun*os*)
1494b0ead49Smrg		# Prevent following clause from handling this invalid input.
1504b0ead49Smrg		;;
1514b0ead49Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1524b0ead49Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1534b0ead49Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1544b0ead49Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1554b0ead49Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1564b0ead49Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
15749dc963fSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1584b0ead49Smrg		os=
1594b0ead49Smrg		basic_machine=$1
1604b0ead49Smrg		;;
16149dc963fSmrg        -bluegene*)
16249dc963fSmrg	        os=-cnk
16349dc963fSmrg		;;
1644b0ead49Smrg	-sim | -cisco | -oki | -wec | -winbond)
1654b0ead49Smrg		os=
1664b0ead49Smrg		basic_machine=$1
1674b0ead49Smrg		;;
1684b0ead49Smrg	-scout)
1694b0ead49Smrg		;;
1704b0ead49Smrg	-wrs)
1714b0ead49Smrg		os=-vxworks
1724b0ead49Smrg		basic_machine=$1
1734b0ead49Smrg		;;
1744b0ead49Smrg	-chorusos*)
1754b0ead49Smrg		os=-chorusos
1764b0ead49Smrg		basic_machine=$1
1774b0ead49Smrg		;;
1784b0ead49Smrg 	-chorusrdb)
1794b0ead49Smrg 		os=-chorusrdb
1804b0ead49Smrg		basic_machine=$1
1814b0ead49Smrg 		;;
1824b0ead49Smrg	-hiux*)
1834b0ead49Smrg		os=-hiuxwe2
1844b0ead49Smrg		;;
18552b01e16Smrg	-sco6)
18652b01e16Smrg		os=-sco5v6
18752b01e16Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
18852b01e16Smrg		;;
1894b0ead49Smrg	-sco5)
1904b0ead49Smrg		os=-sco3.2v5
1914b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1924b0ead49Smrg		;;
1934b0ead49Smrg	-sco4)
1944b0ead49Smrg		os=-sco3.2v4
1954b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1964b0ead49Smrg		;;
1974b0ead49Smrg	-sco3.2.[4-9]*)
1984b0ead49Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1994b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2004b0ead49Smrg		;;
2014b0ead49Smrg	-sco3.2v[4-9]*)
2024b0ead49Smrg		# Don't forget version if it is 3.2v4 or newer.
2034b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2044b0ead49Smrg		;;
20552b01e16Smrg	-sco5v6*)
20652b01e16Smrg		# Don't forget version if it is 3.2v4 or newer.
20752b01e16Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
20852b01e16Smrg		;;
2094b0ead49Smrg	-sco*)
2104b0ead49Smrg		os=-sco3.2v2
2114b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2124b0ead49Smrg		;;
2134b0ead49Smrg	-udk*)
2144b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2154b0ead49Smrg		;;
2164b0ead49Smrg	-isc)
2174b0ead49Smrg		os=-isc2.2
2184b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2194b0ead49Smrg		;;
2204b0ead49Smrg	-clix*)
2214b0ead49Smrg		basic_machine=clipper-intergraph
2224b0ead49Smrg		;;
2234b0ead49Smrg	-isc*)
2244b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2254b0ead49Smrg		;;
2264b0ead49Smrg	-lynx*)
2274b0ead49Smrg		os=-lynxos
2284b0ead49Smrg		;;
2294b0ead49Smrg	-ptx*)
2304b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2314b0ead49Smrg		;;
2324b0ead49Smrg	-windowsnt*)
2334b0ead49Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2344b0ead49Smrg		;;
2354b0ead49Smrg	-psos*)
2364b0ead49Smrg		os=-psos
2374b0ead49Smrg		;;
2384b0ead49Smrg	-mint | -mint[0-9]*)
2394b0ead49Smrg		basic_machine=m68k-atari
2404b0ead49Smrg		os=-mint
2414b0ead49Smrg		;;
2424b0ead49Smrgesac
2434b0ead49Smrg
2444b0ead49Smrg# Decode aliases for certain CPU-COMPANY combinations.
2454b0ead49Smrgcase $basic_machine in
2464b0ead49Smrg	# Recognize the basic CPU types without company name.
2474b0ead49Smrg	# Some are omitted here because they have special meanings below.
2484b0ead49Smrg	1750a | 580 \
2494b0ead49Smrg	| a29k \
2504b0ead49Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2514b0ead49Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2524b0ead49Smrg	| am33_2.0 \
25352b01e16Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2544b0ead49Smrg	| bfin \
2554b0ead49Smrg	| c4x | clipper \
2564b0ead49Smrg	| d10v | d30v | dlx | dsp16xx \
25752b01e16Smrg	| fido | fr30 | frv \
2584b0ead49Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2594b0ead49Smrg	| i370 | i860 | i960 | ia64 \
2604b0ead49Smrg	| ip2k | iq2000 \
26149dc963fSmrg	| lm32 \
26252b01e16Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
26349dc963fSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2644b0ead49Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2654b0ead49Smrg	| mips16 \
2664b0ead49Smrg	| mips64 | mips64el \
26749dc963fSmrg	| mips64octeon | mips64octeonel \
2684b0ead49Smrg	| mips64orion | mips64orionel \
26949dc963fSmrg	| mips64r5900 | mips64r5900el \
27049dc963fSmrg	| mips64vr | mips64vrel \
2714b0ead49Smrg	| mips64vr4100 | mips64vr4100el \
2724b0ead49Smrg	| mips64vr4300 | mips64vr4300el \
2734b0ead49Smrg	| mips64vr5000 | mips64vr5000el \
2744b0ead49Smrg	| mips64vr5900 | mips64vr5900el \
2754b0ead49Smrg	| mipsisa32 | mipsisa32el \
2764b0ead49Smrg	| mipsisa32r2 | mipsisa32r2el \
2774b0ead49Smrg	| mipsisa64 | mipsisa64el \
2784b0ead49Smrg	| mipsisa64r2 | mipsisa64r2el \
2794b0ead49Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2804b0ead49Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2814b0ead49Smrg	| mipstx39 | mipstx39el \
2824b0ead49Smrg	| mn10200 | mn10300 \
28349dc963fSmrg	| moxie \
28452b01e16Smrg	| mt \
2854b0ead49Smrg	| msp430 \
2867aa89044Smrg	| nds32 | nds32le | nds32be \
28752b01e16Smrg	| nios | nios2 \
2884b0ead49Smrg	| ns16k | ns32k \
2894b0ead49Smrg	| or32 \
2904b0ead49Smrg	| pdp10 | pdp11 | pj | pjl \
2914b0ead49Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2924b0ead49Smrg	| pyramid \
29349dc963fSmrg	| rx \
29452b01e16Smrg	| score \
29549dc963fSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2964b0ead49Smrg	| sh64 | sh64le \
29752b01e16Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
29852b01e16Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
29952b01e16Smrg	| spu | strongarm \
3007aa89044Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
30149dc963fSmrg	| ubicom32 \
3024b0ead49Smrg	| v850 | v850e \
3034b0ead49Smrg	| we32k \
30452b01e16Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
30549dc963fSmrg	| z8k | z80)
3064b0ead49Smrg		basic_machine=$basic_machine-unknown
3074b0ead49Smrg		;;
3087aa89044Smrg	c54x)
3097aa89044Smrg		basic_machine=tic54x-unknown
3107aa89044Smrg		;;
3117aa89044Smrg	c55x)
3127aa89044Smrg		basic_machine=tic55x-unknown
3137aa89044Smrg		;;
3147aa89044Smrg	c6x)
3157aa89044Smrg		basic_machine=tic6x-unknown
3167aa89044Smrg		;;
31749dc963fSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3184b0ead49Smrg		# Motorola 68HC11/12.
3194b0ead49Smrg		basic_machine=$basic_machine-unknown
3204b0ead49Smrg		os=-none
3214b0ead49Smrg		;;
3224b0ead49Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3234b0ead49Smrg		;;
32452b01e16Smrg	ms1)
32552b01e16Smrg		basic_machine=mt-unknown
32652b01e16Smrg		;;
3274b0ead49Smrg
3284b0ead49Smrg	# We use `pc' rather than `unknown'
3294b0ead49Smrg	# because (1) that's what they normally are, and
3304b0ead49Smrg	# (2) the word "unknown" tends to confuse beginning users.
3314b0ead49Smrg	i*86 | x86_64)
3324b0ead49Smrg	  basic_machine=$basic_machine-pc
3334b0ead49Smrg	  ;;
3344b0ead49Smrg	# Object if more than one company name word.
3354b0ead49Smrg	*-*-*)
3364b0ead49Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3374b0ead49Smrg		exit 1
3384b0ead49Smrg		;;
3394b0ead49Smrg	# Recognize the basic CPU types with company name.
3404b0ead49Smrg	580-* \
3414b0ead49Smrg	| a29k-* \
3424b0ead49Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3434b0ead49Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3444b0ead49Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3454b0ead49Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
34652b01e16Smrg	| avr-* | avr32-* \
3474b0ead49Smrg	| bfin-* | bs2000-* \
3487aa89044Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3494b0ead49Smrg	| clipper-* | craynv-* | cydra-* \
3504b0ead49Smrg	| d10v-* | d30v-* | dlx-* \
3514b0ead49Smrg	| elxsi-* \
35252b01e16Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3534b0ead49Smrg	| h8300-* | h8500-* \
3544b0ead49Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3554b0ead49Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3564b0ead49Smrg	| ip2k-* | iq2000-* \
35749dc963fSmrg	| lm32-* \
35852b01e16Smrg	| m32c-* | m32r-* | m32rle-* \
3594b0ead49Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
36049dc963fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3614b0ead49Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3624b0ead49Smrg	| mips16-* \
3634b0ead49Smrg	| mips64-* | mips64el-* \
36449dc963fSmrg	| mips64octeon-* | mips64octeonel-* \
3654b0ead49Smrg	| mips64orion-* | mips64orionel-* \
36649dc963fSmrg	| mips64r5900-* | mips64r5900el-* \
36749dc963fSmrg	| mips64vr-* | mips64vrel-* \
3684b0ead49Smrg	| mips64vr4100-* | mips64vr4100el-* \
3694b0ead49Smrg	| mips64vr4300-* | mips64vr4300el-* \
3704b0ead49Smrg	| mips64vr5000-* | mips64vr5000el-* \
3714b0ead49Smrg	| mips64vr5900-* | mips64vr5900el-* \
3724b0ead49Smrg	| mipsisa32-* | mipsisa32el-* \
3734b0ead49Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3744b0ead49Smrg	| mipsisa64-* | mipsisa64el-* \
3754b0ead49Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3764b0ead49Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3774b0ead49Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3784b0ead49Smrg	| mipstx39-* | mipstx39el-* \
3794b0ead49Smrg	| mmix-* \
38052b01e16Smrg	| mt-* \
3814b0ead49Smrg	| msp430-* \
3827aa89044Smrg	| nds32-* | nds32le-* | nds32be-* \
38352b01e16Smrg	| nios-* | nios2-* \
3844b0ead49Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3854b0ead49Smrg	| orion-* \
3864b0ead49Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3874b0ead49Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3884b0ead49Smrg	| pyramid-* \
38949dc963fSmrg	| romp-* | rs6000-* | rx-* \
39049dc963fSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3914b0ead49Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
39252b01e16Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3934b0ead49Smrg	| sparclite-* \
39452b01e16Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3954b0ead49Smrg	| tahoe-* | thumb-* \
3967aa89044Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3977aa89044Smrg	| tile-* | tilegx-* \
3984b0ead49Smrg	| tron-* \
39949dc963fSmrg	| ubicom32-* \
4004b0ead49Smrg	| v850-* | v850e-* | vax-* \
4014b0ead49Smrg	| we32k-* \
40252b01e16Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
40352b01e16Smrg	| xstormy16-* | xtensa*-* \
4044b0ead49Smrg	| ymp-* \
40549dc963fSmrg	| z8k-* | z80-*)
4064b0ead49Smrg		;;
40752b01e16Smrg	# Recognize the basic CPU types without company name, with glob match.
40852b01e16Smrg	xtensa*)
40952b01e16Smrg		basic_machine=$basic_machine-unknown
4104b0ead49Smrg		;;
4114b0ead49Smrg	# Recognize the various machine names and aliases which stand
4124b0ead49Smrg	# for a CPU type and a company and sometimes even an OS.
4134b0ead49Smrg	386bsd)
4144b0ead49Smrg		basic_machine=i386-unknown
4154b0ead49Smrg		os=-bsd
4164b0ead49Smrg		;;
4174b0ead49Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4184b0ead49Smrg		basic_machine=m68000-att
4194b0ead49Smrg		;;
4204b0ead49Smrg	3b*)
4214b0ead49Smrg		basic_machine=we32k-att
4224b0ead49Smrg		;;
4234b0ead49Smrg	a29khif)
4244b0ead49Smrg		basic_machine=a29k-amd
4254b0ead49Smrg		os=-udi
4264b0ead49Smrg		;;
4274b0ead49Smrg    	abacus)
4284b0ead49Smrg		basic_machine=abacus-unknown
4294b0ead49Smrg		;;
4304b0ead49Smrg	adobe68k)
4314b0ead49Smrg		basic_machine=m68010-adobe
4324b0ead49Smrg		os=-scout
4334b0ead49Smrg		;;
4344b0ead49Smrg	alliant | fx80)
4354b0ead49Smrg		basic_machine=fx80-alliant
4364b0ead49Smrg		;;
4374b0ead49Smrg	altos | altos3068)
4384b0ead49Smrg		basic_machine=m68k-altos
4394b0ead49Smrg		;;
4404b0ead49Smrg	am29k)
4414b0ead49Smrg		basic_machine=a29k-none
4424b0ead49Smrg		os=-bsd
4434b0ead49Smrg		;;
4444b0ead49Smrg	amd64)
4454b0ead49Smrg		basic_machine=x86_64-pc
4464b0ead49Smrg		;;
4474b0ead49Smrg	amd64-*)
4484b0ead49Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4494b0ead49Smrg		;;
4504b0ead49Smrg	amdahl)
4514b0ead49Smrg		basic_machine=580-amdahl
4524b0ead49Smrg		os=-sysv
4534b0ead49Smrg		;;
4544b0ead49Smrg	amiga | amiga-*)
4554b0ead49Smrg		basic_machine=m68k-unknown
4564b0ead49Smrg		;;
4574b0ead49Smrg	amigaos | amigados)
4584b0ead49Smrg		basic_machine=m68k-unknown
4594b0ead49Smrg		os=-amigaos
4604b0ead49Smrg		;;
4614b0ead49Smrg	amigaunix | amix)
4624b0ead49Smrg		basic_machine=m68k-unknown
4634b0ead49Smrg		os=-sysv4
4644b0ead49Smrg		;;
4654b0ead49Smrg	apollo68)
4664b0ead49Smrg		basic_machine=m68k-apollo
4674b0ead49Smrg		os=-sysv
4684b0ead49Smrg		;;
4694b0ead49Smrg	apollo68bsd)
4704b0ead49Smrg		basic_machine=m68k-apollo
4714b0ead49Smrg		os=-bsd
4724b0ead49Smrg		;;
47349dc963fSmrg	aros)
47449dc963fSmrg		basic_machine=i386-pc
47549dc963fSmrg		os=-aros
47649dc963fSmrg		;;
4774b0ead49Smrg	aux)
4784b0ead49Smrg		basic_machine=m68k-apple
4794b0ead49Smrg		os=-aux
4804b0ead49Smrg		;;
4814b0ead49Smrg	balance)
4824b0ead49Smrg		basic_machine=ns32k-sequent
4834b0ead49Smrg		os=-dynix
4844b0ead49Smrg		;;
48552b01e16Smrg	blackfin)
48652b01e16Smrg		basic_machine=bfin-unknown
48752b01e16Smrg		os=-linux
48852b01e16Smrg		;;
48952b01e16Smrg	blackfin-*)
49052b01e16Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
49152b01e16Smrg		os=-linux
49252b01e16Smrg		;;
49349dc963fSmrg	bluegene*)
49449dc963fSmrg		basic_machine=powerpc-ibm
49549dc963fSmrg		os=-cnk
49649dc963fSmrg		;;
4977aa89044Smrg	c54x-*)
4987aa89044Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4997aa89044Smrg		;;
5007aa89044Smrg	c55x-*)
5017aa89044Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5027aa89044Smrg		;;
5037aa89044Smrg	c6x-*)
5047aa89044Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5057aa89044Smrg		;;
5064b0ead49Smrg	c90)
5074b0ead49Smrg		basic_machine=c90-cray
5084b0ead49Smrg		os=-unicos
5094b0ead49Smrg		;;
51049dc963fSmrg        cegcc)
51149dc963fSmrg		basic_machine=arm-unknown
51249dc963fSmrg		os=-cegcc
51349dc963fSmrg		;;
5144b0ead49Smrg	convex-c1)
5154b0ead49Smrg		basic_machine=c1-convex
5164b0ead49Smrg		os=-bsd
5174b0ead49Smrg		;;
5184b0ead49Smrg	convex-c2)
5194b0ead49Smrg		basic_machine=c2-convex
5204b0ead49Smrg		os=-bsd
5214b0ead49Smrg		;;
5224b0ead49Smrg	convex-c32)
5234b0ead49Smrg		basic_machine=c32-convex
5244b0ead49Smrg		os=-bsd
5254b0ead49Smrg		;;
5264b0ead49Smrg	convex-c34)
5274b0ead49Smrg		basic_machine=c34-convex
5284b0ead49Smrg		os=-bsd
5294b0ead49Smrg		;;
5304b0ead49Smrg	convex-c38)
5314b0ead49Smrg		basic_machine=c38-convex
5324b0ead49Smrg		os=-bsd
5334b0ead49Smrg		;;
5344b0ead49Smrg	cray | j90)
5354b0ead49Smrg		basic_machine=j90-cray
5364b0ead49Smrg		os=-unicos
5374b0ead49Smrg		;;
5384b0ead49Smrg	craynv)
5394b0ead49Smrg		basic_machine=craynv-cray
5404b0ead49Smrg		os=-unicosmp
5414b0ead49Smrg		;;
54252b01e16Smrg	cr16)
54352b01e16Smrg		basic_machine=cr16-unknown
5444b0ead49Smrg		os=-elf
5454b0ead49Smrg		;;
5464b0ead49Smrg	crds | unos)
5474b0ead49Smrg		basic_machine=m68k-crds
5484b0ead49Smrg		;;
5494b0ead49Smrg	crisv32 | crisv32-* | etraxfs*)
5504b0ead49Smrg		basic_machine=crisv32-axis
5514b0ead49Smrg		;;
5524b0ead49Smrg	cris | cris-* | etrax*)
5534b0ead49Smrg		basic_machine=cris-axis
5544b0ead49Smrg		;;
5554b0ead49Smrg	crx)
5564b0ead49Smrg		basic_machine=crx-unknown
5574b0ead49Smrg		os=-elf
5584b0ead49Smrg		;;
5594b0ead49Smrg	da30 | da30-*)
5604b0ead49Smrg		basic_machine=m68k-da30
5614b0ead49Smrg		;;
5624b0ead49Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5634b0ead49Smrg		basic_machine=mips-dec
5644b0ead49Smrg		;;
5654b0ead49Smrg	decsystem10* | dec10*)
5664b0ead49Smrg		basic_machine=pdp10-dec
5674b0ead49Smrg		os=-tops10
5684b0ead49Smrg		;;
5694b0ead49Smrg	decsystem20* | dec20*)
5704b0ead49Smrg		basic_machine=pdp10-dec
5714b0ead49Smrg		os=-tops20
5724b0ead49Smrg		;;
5734b0ead49Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5744b0ead49Smrg	      | 3300-motorola | delta-motorola)
5754b0ead49Smrg		basic_machine=m68k-motorola
5764b0ead49Smrg		;;
5774b0ead49Smrg	delta88)
5784b0ead49Smrg		basic_machine=m88k-motorola
5794b0ead49Smrg		os=-sysv3
5804b0ead49Smrg		;;
58149dc963fSmrg	dicos)
58249dc963fSmrg		basic_machine=i686-pc
58349dc963fSmrg		os=-dicos
58449dc963fSmrg		;;
5854b0ead49Smrg	djgpp)
5864b0ead49Smrg		basic_machine=i586-pc
5874b0ead49Smrg		os=-msdosdjgpp
5884b0ead49Smrg		;;
5894b0ead49Smrg	dpx20 | dpx20-*)
5904b0ead49Smrg		basic_machine=rs6000-bull
5914b0ead49Smrg		os=-bosx
5924b0ead49Smrg		;;
5934b0ead49Smrg	dpx2* | dpx2*-bull)
5944b0ead49Smrg		basic_machine=m68k-bull
5954b0ead49Smrg		os=-sysv3
5964b0ead49Smrg		;;
5974b0ead49Smrg	ebmon29k)
5984b0ead49Smrg		basic_machine=a29k-amd
5994b0ead49Smrg		os=-ebmon
6004b0ead49Smrg		;;
6014b0ead49Smrg	elxsi)
6024b0ead49Smrg		basic_machine=elxsi-elxsi
6034b0ead49Smrg		os=-bsd
6044b0ead49Smrg		;;
6054b0ead49Smrg	encore | umax | mmax)
6064b0ead49Smrg		basic_machine=ns32k-encore
6074b0ead49Smrg		;;
6084b0ead49Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6094b0ead49Smrg		basic_machine=m68k-ericsson
6104b0ead49Smrg		os=-ose
6114b0ead49Smrg		;;
6124b0ead49Smrg	fx2800)
6134b0ead49Smrg		basic_machine=i860-alliant
6144b0ead49Smrg		;;
6154b0ead49Smrg	genix)
6164b0ead49Smrg		basic_machine=ns32k-ns
6174b0ead49Smrg		;;
6184b0ead49Smrg	gmicro)
6194b0ead49Smrg		basic_machine=tron-gmicro
6204b0ead49Smrg		os=-sysv
6214b0ead49Smrg		;;
6224b0ead49Smrg	go32)
6234b0ead49Smrg		basic_machine=i386-pc
6244b0ead49Smrg		os=-go32
6254b0ead49Smrg		;;
6264b0ead49Smrg	h3050r* | hiux*)
6274b0ead49Smrg		basic_machine=hppa1.1-hitachi
6284b0ead49Smrg		os=-hiuxwe2
6294b0ead49Smrg		;;
6304b0ead49Smrg	h8300hms)
6314b0ead49Smrg		basic_machine=h8300-hitachi
6324b0ead49Smrg		os=-hms
6334b0ead49Smrg		;;
6344b0ead49Smrg	h8300xray)
6354b0ead49Smrg		basic_machine=h8300-hitachi
6364b0ead49Smrg		os=-xray
6374b0ead49Smrg		;;
6384b0ead49Smrg	h8500hms)
6394b0ead49Smrg		basic_machine=h8500-hitachi
6404b0ead49Smrg		os=-hms
6414b0ead49Smrg		;;
6424b0ead49Smrg	harris)
6434b0ead49Smrg		basic_machine=m88k-harris
6444b0ead49Smrg		os=-sysv3
6454b0ead49Smrg		;;
6464b0ead49Smrg	hp300-*)
6474b0ead49Smrg		basic_machine=m68k-hp
6484b0ead49Smrg		;;
6494b0ead49Smrg	hp300bsd)
6504b0ead49Smrg		basic_machine=m68k-hp
6514b0ead49Smrg		os=-bsd
6524b0ead49Smrg		;;
6534b0ead49Smrg	hp300hpux)
6544b0ead49Smrg		basic_machine=m68k-hp
6554b0ead49Smrg		os=-hpux
6564b0ead49Smrg		;;
6574b0ead49Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6584b0ead49Smrg		basic_machine=hppa1.0-hp
6594b0ead49Smrg		;;
6604b0ead49Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6614b0ead49Smrg		basic_machine=m68000-hp
6624b0ead49Smrg		;;
6634b0ead49Smrg	hp9k3[2-9][0-9])
6644b0ead49Smrg		basic_machine=m68k-hp
6654b0ead49Smrg		;;
6664b0ead49Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6674b0ead49Smrg		basic_machine=hppa1.0-hp
6684b0ead49Smrg		;;
6694b0ead49Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6704b0ead49Smrg		basic_machine=hppa1.1-hp
6714b0ead49Smrg		;;
6724b0ead49Smrg	hp9k78[0-9] | hp78[0-9])
6734b0ead49Smrg		# FIXME: really hppa2.0-hp
6744b0ead49Smrg		basic_machine=hppa1.1-hp
6754b0ead49Smrg		;;
6764b0ead49Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6774b0ead49Smrg		# FIXME: really hppa2.0-hp
6784b0ead49Smrg		basic_machine=hppa1.1-hp
6794b0ead49Smrg		;;
6804b0ead49Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6814b0ead49Smrg		basic_machine=hppa1.1-hp
6824b0ead49Smrg		;;
6834b0ead49Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6844b0ead49Smrg		basic_machine=hppa1.0-hp
6854b0ead49Smrg		;;
6864b0ead49Smrg	hppa-next)
6874b0ead49Smrg		os=-nextstep3
6884b0ead49Smrg		;;
6894b0ead49Smrg	hppaosf)
6904b0ead49Smrg		basic_machine=hppa1.1-hp
6914b0ead49Smrg		os=-osf
6924b0ead49Smrg		;;
6934b0ead49Smrg	hppro)
6944b0ead49Smrg		basic_machine=hppa1.1-hp
6954b0ead49Smrg		os=-proelf
6964b0ead49Smrg		;;
6974b0ead49Smrg	i370-ibm* | ibm*)
6984b0ead49Smrg		basic_machine=i370-ibm
6994b0ead49Smrg		;;
7004b0ead49Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7014b0ead49Smrg	i*86v32)
7024b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7034b0ead49Smrg		os=-sysv32
7044b0ead49Smrg		;;
7054b0ead49Smrg	i*86v4*)
7064b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7074b0ead49Smrg		os=-sysv4
7084b0ead49Smrg		;;
7094b0ead49Smrg	i*86v)
7104b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7114b0ead49Smrg		os=-sysv
7124b0ead49Smrg		;;
7134b0ead49Smrg	i*86sol2)
7144b0ead49Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7154b0ead49Smrg		os=-solaris2
7164b0ead49Smrg		;;
7174b0ead49Smrg	i386mach)
7184b0ead49Smrg		basic_machine=i386-mach
7194b0ead49Smrg		os=-mach
7204b0ead49Smrg		;;
7214b0ead49Smrg	i386-vsta | vsta)
7224b0ead49Smrg		basic_machine=i386-unknown
7234b0ead49Smrg		os=-vsta
7244b0ead49Smrg		;;
7254b0ead49Smrg	iris | iris4d)
7264b0ead49Smrg		basic_machine=mips-sgi
7274b0ead49Smrg		case $os in
7284b0ead49Smrg		    -irix*)
7294b0ead49Smrg			;;
7304b0ead49Smrg		    *)
7314b0ead49Smrg			os=-irix4
7324b0ead49Smrg			;;
7334b0ead49Smrg		esac
7344b0ead49Smrg		;;
7354b0ead49Smrg	isi68 | isi)
7364b0ead49Smrg		basic_machine=m68k-isi
7374b0ead49Smrg		os=-sysv
7384b0ead49Smrg		;;
73952b01e16Smrg	m68knommu)
74052b01e16Smrg		basic_machine=m68k-unknown
74152b01e16Smrg		os=-linux
74252b01e16Smrg		;;
74352b01e16Smrg	m68knommu-*)
74452b01e16Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
74552b01e16Smrg		os=-linux
74652b01e16Smrg		;;
7474b0ead49Smrg	m88k-omron*)
7484b0ead49Smrg		basic_machine=m88k-omron
7494b0ead49Smrg		;;
7504b0ead49Smrg	magnum | m3230)
7514b0ead49Smrg		basic_machine=mips-mips
7524b0ead49Smrg		os=-sysv
7534b0ead49Smrg		;;
7544b0ead49Smrg	merlin)
7554b0ead49Smrg		basic_machine=ns32k-utek
7564b0ead49Smrg		os=-sysv
7574b0ead49Smrg		;;
75849dc963fSmrg        microblaze)
75949dc963fSmrg		basic_machine=microblaze-xilinx
76049dc963fSmrg		;;
7614b0ead49Smrg	mingw32)
7624b0ead49Smrg		basic_machine=i386-pc
7634b0ead49Smrg		os=-mingw32
7644b0ead49Smrg		;;
76552b01e16Smrg	mingw32ce)
76652b01e16Smrg		basic_machine=arm-unknown
76752b01e16Smrg		os=-mingw32ce
76852b01e16Smrg		;;
7694b0ead49Smrg	miniframe)
7704b0ead49Smrg		basic_machine=m68000-convergent
7714b0ead49Smrg		;;
7724b0ead49Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7734b0ead49Smrg		basic_machine=m68k-atari
7744b0ead49Smrg		os=-mint
7754b0ead49Smrg		;;
7764b0ead49Smrg	mips3*-*)
7774b0ead49Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7784b0ead49Smrg		;;
7794b0ead49Smrg	mips3*)
7804b0ead49Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7814b0ead49Smrg		;;
7824b0ead49Smrg	monitor)
7834b0ead49Smrg		basic_machine=m68k-rom68k
7844b0ead49Smrg		os=-coff
7854b0ead49Smrg		;;
7864b0ead49Smrg	morphos)
7874b0ead49Smrg		basic_machine=powerpc-unknown
7884b0ead49Smrg		os=-morphos
7894b0ead49Smrg		;;
7904b0ead49Smrg	msdos)
7914b0ead49Smrg		basic_machine=i386-pc
7924b0ead49Smrg		os=-msdos
7934b0ead49Smrg		;;
79452b01e16Smrg	ms1-*)
79552b01e16Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
79652b01e16Smrg		;;
7974b0ead49Smrg	mvs)
7984b0ead49Smrg		basic_machine=i370-ibm
7994b0ead49Smrg		os=-mvs
8004b0ead49Smrg		;;
8014b0ead49Smrg	ncr3000)
8024b0ead49Smrg		basic_machine=i486-ncr
8034b0ead49Smrg		os=-sysv4
8044b0ead49Smrg		;;
8054b0ead49Smrg	netbsd386)
8064b0ead49Smrg		basic_machine=i386-unknown
8074b0ead49Smrg		os=-netbsd
8084b0ead49Smrg		;;
8094b0ead49Smrg	netwinder)
8104b0ead49Smrg		basic_machine=armv4l-rebel
8114b0ead49Smrg		os=-linux
8124b0ead49Smrg		;;
8134b0ead49Smrg	news | news700 | news800 | news900)
8144b0ead49Smrg		basic_machine=m68k-sony
8154b0ead49Smrg		os=-newsos
8164b0ead49Smrg		;;
8174b0ead49Smrg	news1000)
8184b0ead49Smrg		basic_machine=m68030-sony
8194b0ead49Smrg		os=-newsos
8204b0ead49Smrg		;;
8214b0ead49Smrg	news-3600 | risc-news)
8224b0ead49Smrg		basic_machine=mips-sony
8234b0ead49Smrg		os=-newsos
8244b0ead49Smrg		;;
8254b0ead49Smrg	necv70)
8264b0ead49Smrg		basic_machine=v70-nec
8274b0ead49Smrg		os=-sysv
8284b0ead49Smrg		;;
8294b0ead49Smrg	next | m*-next )
8304b0ead49Smrg		basic_machine=m68k-next
8314b0ead49Smrg		case $os in
8324b0ead49Smrg		    -nextstep* )
8334b0ead49Smrg			;;
8344b0ead49Smrg		    -ns2*)
8354b0ead49Smrg		      os=-nextstep2
8364b0ead49Smrg			;;
8374b0ead49Smrg		    *)
8384b0ead49Smrg		      os=-nextstep3
8394b0ead49Smrg			;;
8404b0ead49Smrg		esac
8414b0ead49Smrg		;;
8424b0ead49Smrg	nh3000)
8434b0ead49Smrg		basic_machine=m68k-harris
8444b0ead49Smrg		os=-cxux
8454b0ead49Smrg		;;
8464b0ead49Smrg	nh[45]000)
8474b0ead49Smrg		basic_machine=m88k-harris
8484b0ead49Smrg		os=-cxux
8494b0ead49Smrg		;;
8504b0ead49Smrg	nindy960)
8514b0ead49Smrg		basic_machine=i960-intel
8524b0ead49Smrg		os=-nindy
8534b0ead49Smrg		;;
8544b0ead49Smrg	mon960)
8554b0ead49Smrg		basic_machine=i960-intel
8564b0ead49Smrg		os=-mon960
8574b0ead49Smrg		;;
8584b0ead49Smrg	nonstopux)
8594b0ead49Smrg		basic_machine=mips-compaq
8604b0ead49Smrg		os=-nonstopux
8614b0ead49Smrg		;;
8624b0ead49Smrg	np1)
8634b0ead49Smrg		basic_machine=np1-gould
8644b0ead49Smrg		;;
8657aa89044Smrg        neo-tandem)
8667aa89044Smrg		basic_machine=neo-tandem
8677aa89044Smrg		;;
8687aa89044Smrg        nse-tandem)
8697aa89044Smrg		basic_machine=nse-tandem
8707aa89044Smrg		;;
8714b0ead49Smrg	nsr-tandem)
8724b0ead49Smrg		basic_machine=nsr-tandem
8734b0ead49Smrg		;;
8744b0ead49Smrg	op50n-* | op60c-*)
8754b0ead49Smrg		basic_machine=hppa1.1-oki
8764b0ead49Smrg		os=-proelf
8774b0ead49Smrg		;;
8784b0ead49Smrg	openrisc | openrisc-*)
8794b0ead49Smrg		basic_machine=or32-unknown
8804b0ead49Smrg		;;
8814b0ead49Smrg	os400)
8824b0ead49Smrg		basic_machine=powerpc-ibm
8834b0ead49Smrg		os=-os400
8844b0ead49Smrg		;;
8854b0ead49Smrg	OSE68000 | ose68000)
8864b0ead49Smrg		basic_machine=m68000-ericsson
8874b0ead49Smrg		os=-ose
8884b0ead49Smrg		;;
8894b0ead49Smrg	os68k)
8904b0ead49Smrg		basic_machine=m68k-none
8914b0ead49Smrg		os=-os68k
8924b0ead49Smrg		;;
8934b0ead49Smrg	pa-hitachi)
8944b0ead49Smrg		basic_machine=hppa1.1-hitachi
8954b0ead49Smrg		os=-hiuxwe2
8964b0ead49Smrg		;;
8974b0ead49Smrg	paragon)
8984b0ead49Smrg		basic_machine=i860-intel
8994b0ead49Smrg		os=-osf
9004b0ead49Smrg		;;
90152b01e16Smrg	parisc)
90252b01e16Smrg		basic_machine=hppa-unknown
90352b01e16Smrg		os=-linux
90452b01e16Smrg		;;
90552b01e16Smrg	parisc-*)
90652b01e16Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
90752b01e16Smrg		os=-linux
90852b01e16Smrg		;;
9094b0ead49Smrg	pbd)
9104b0ead49Smrg		basic_machine=sparc-tti
9114b0ead49Smrg		;;
9124b0ead49Smrg	pbb)
9134b0ead49Smrg		basic_machine=m68k-tti
9144b0ead49Smrg		;;
9154b0ead49Smrg	pc532 | pc532-*)
9164b0ead49Smrg		basic_machine=ns32k-pc532
9174b0ead49Smrg		;;
91852b01e16Smrg	pc98)
91952b01e16Smrg		basic_machine=i386-pc
92052b01e16Smrg		;;
92152b01e16Smrg	pc98-*)
92252b01e16Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
92352b01e16Smrg		;;
9244b0ead49Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9254b0ead49Smrg		basic_machine=i586-pc
9264b0ead49Smrg		;;
9274b0ead49Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9284b0ead49Smrg		basic_machine=i686-pc
9294b0ead49Smrg		;;
9304b0ead49Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9314b0ead49Smrg		basic_machine=i686-pc
9324b0ead49Smrg		;;
9334b0ead49Smrg	pentium4)
9344b0ead49Smrg		basic_machine=i786-pc
9354b0ead49Smrg		;;
9364b0ead49Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9374b0ead49Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9384b0ead49Smrg		;;
9394b0ead49Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9404b0ead49Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9414b0ead49Smrg		;;
9424b0ead49Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9434b0ead49Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9444b0ead49Smrg		;;
9454b0ead49Smrg	pentium4-*)
9464b0ead49Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9474b0ead49Smrg		;;
9484b0ead49Smrg	pn)
9494b0ead49Smrg		basic_machine=pn-gould
9504b0ead49Smrg		;;
9514b0ead49Smrg	power)	basic_machine=power-ibm
9524b0ead49Smrg		;;
9534b0ead49Smrg	ppc)	basic_machine=powerpc-unknown
9544b0ead49Smrg		;;
9554b0ead49Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9564b0ead49Smrg		;;
9574b0ead49Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9584b0ead49Smrg		basic_machine=powerpcle-unknown
9594b0ead49Smrg		;;
9604b0ead49Smrg	ppcle-* | powerpclittle-*)
9614b0ead49Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9624b0ead49Smrg		;;
9634b0ead49Smrg	ppc64)	basic_machine=powerpc64-unknown
9644b0ead49Smrg		;;
9654b0ead49Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9664b0ead49Smrg		;;
9674b0ead49Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9684b0ead49Smrg		basic_machine=powerpc64le-unknown
9694b0ead49Smrg		;;
9704b0ead49Smrg	ppc64le-* | powerpc64little-*)
9714b0ead49Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9724b0ead49Smrg		;;
9734b0ead49Smrg	ps2)
9744b0ead49Smrg		basic_machine=i386-ibm
9754b0ead49Smrg		;;
9764b0ead49Smrg	pw32)
9774b0ead49Smrg		basic_machine=i586-unknown
9784b0ead49Smrg		os=-pw32
9794b0ead49Smrg		;;
98052b01e16Smrg	rdos)
98152b01e16Smrg		basic_machine=i386-pc
98252b01e16Smrg		os=-rdos
98352b01e16Smrg		;;
9844b0ead49Smrg	rom68k)
9854b0ead49Smrg		basic_machine=m68k-rom68k
9864b0ead49Smrg		os=-coff
9874b0ead49Smrg		;;
9884b0ead49Smrg	rm[46]00)
9894b0ead49Smrg		basic_machine=mips-siemens
9904b0ead49Smrg		;;
9914b0ead49Smrg	rtpc | rtpc-*)
9924b0ead49Smrg		basic_machine=romp-ibm
9934b0ead49Smrg		;;
9944b0ead49Smrg	s390 | s390-*)
9954b0ead49Smrg		basic_machine=s390-ibm
9964b0ead49Smrg		;;
9974b0ead49Smrg	s390x | s390x-*)
9984b0ead49Smrg		basic_machine=s390x-ibm
9994b0ead49Smrg		;;
10004b0ead49Smrg	sa29200)
10014b0ead49Smrg		basic_machine=a29k-amd
10024b0ead49Smrg		os=-udi
10034b0ead49Smrg		;;
10044b0ead49Smrg	sb1)
10054b0ead49Smrg		basic_machine=mipsisa64sb1-unknown
10064b0ead49Smrg		;;
10074b0ead49Smrg	sb1el)
10084b0ead49Smrg		basic_machine=mipsisa64sb1el-unknown
10094b0ead49Smrg		;;
101052b01e16Smrg	sde)
101152b01e16Smrg		basic_machine=mipsisa32-sde
101252b01e16Smrg		os=-elf
101352b01e16Smrg		;;
10144b0ead49Smrg	sei)
10154b0ead49Smrg		basic_machine=mips-sei
10164b0ead49Smrg		os=-seiux
10174b0ead49Smrg		;;
10184b0ead49Smrg	sequent)
10194b0ead49Smrg		basic_machine=i386-sequent
10204b0ead49Smrg		;;
10214b0ead49Smrg	sh)
10224b0ead49Smrg		basic_machine=sh-hitachi
10234b0ead49Smrg		os=-hms
10244b0ead49Smrg		;;
102552b01e16Smrg	sh5el)
102652b01e16Smrg		basic_machine=sh5le-unknown
102752b01e16Smrg		;;
10284b0ead49Smrg	sh64)
10294b0ead49Smrg		basic_machine=sh64-unknown
10304b0ead49Smrg		;;
10314b0ead49Smrg	sparclite-wrs | simso-wrs)
10324b0ead49Smrg		basic_machine=sparclite-wrs
10334b0ead49Smrg		os=-vxworks
10344b0ead49Smrg		;;
10354b0ead49Smrg	sps7)
10364b0ead49Smrg		basic_machine=m68k-bull
10374b0ead49Smrg		os=-sysv2
10384b0ead49Smrg		;;
10394b0ead49Smrg	spur)
10404b0ead49Smrg		basic_machine=spur-unknown
10414b0ead49Smrg		;;
10424b0ead49Smrg	st2000)
10434b0ead49Smrg		basic_machine=m68k-tandem
10444b0ead49Smrg		;;
10454b0ead49Smrg	stratus)
10464b0ead49Smrg		basic_machine=i860-stratus
10474b0ead49Smrg		os=-sysv4
10484b0ead49Smrg		;;
10494b0ead49Smrg	sun2)
10504b0ead49Smrg		basic_machine=m68000-sun
10514b0ead49Smrg		;;
10524b0ead49Smrg	sun2os3)
10534b0ead49Smrg		basic_machine=m68000-sun
10544b0ead49Smrg		os=-sunos3
10554b0ead49Smrg		;;
10564b0ead49Smrg	sun2os4)
10574b0ead49Smrg		basic_machine=m68000-sun
10584b0ead49Smrg		os=-sunos4
10594b0ead49Smrg		;;
10604b0ead49Smrg	sun3os3)
10614b0ead49Smrg		basic_machine=m68k-sun
10624b0ead49Smrg		os=-sunos3
10634b0ead49Smrg		;;
10644b0ead49Smrg	sun3os4)
10654b0ead49Smrg		basic_machine=m68k-sun
10664b0ead49Smrg		os=-sunos4
10674b0ead49Smrg		;;
10684b0ead49Smrg	sun4os3)
10694b0ead49Smrg		basic_machine=sparc-sun
10704b0ead49Smrg		os=-sunos3
10714b0ead49Smrg		;;
10724b0ead49Smrg	sun4os4)
10734b0ead49Smrg		basic_machine=sparc-sun
10744b0ead49Smrg		os=-sunos4
10754b0ead49Smrg		;;
10764b0ead49Smrg	sun4sol2)
10774b0ead49Smrg		basic_machine=sparc-sun
10784b0ead49Smrg		os=-solaris2
10794b0ead49Smrg		;;
10804b0ead49Smrg	sun3 | sun3-*)
10814b0ead49Smrg		basic_machine=m68k-sun
10824b0ead49Smrg		;;
10834b0ead49Smrg	sun4)
10844b0ead49Smrg		basic_machine=sparc-sun
10854b0ead49Smrg		;;
10864b0ead49Smrg	sun386 | sun386i | roadrunner)
10874b0ead49Smrg		basic_machine=i386-sun
10884b0ead49Smrg		;;
10894b0ead49Smrg	sv1)
10904b0ead49Smrg		basic_machine=sv1-cray
10914b0ead49Smrg		os=-unicos
10924b0ead49Smrg		;;
10934b0ead49Smrg	symmetry)
10944b0ead49Smrg		basic_machine=i386-sequent
10954b0ead49Smrg		os=-dynix
10964b0ead49Smrg		;;
10974b0ead49Smrg	t3e)
10984b0ead49Smrg		basic_machine=alphaev5-cray
10994b0ead49Smrg		os=-unicos
11004b0ead49Smrg		;;
11014b0ead49Smrg	t90)
11024b0ead49Smrg		basic_machine=t90-cray
11034b0ead49Smrg		os=-unicos
11044b0ead49Smrg		;;
11057aa89044Smrg        # This must be matched before tile*.
11067aa89044Smrg        tilegx*)
11077aa89044Smrg		basic_machine=tilegx-unknown
11087aa89044Smrg		os=-linux-gnu
11094b0ead49Smrg		;;
111052b01e16Smrg	tile*)
111152b01e16Smrg		basic_machine=tile-unknown
111252b01e16Smrg		os=-linux-gnu
111352b01e16Smrg		;;
11144b0ead49Smrg	tx39)
11154b0ead49Smrg		basic_machine=mipstx39-unknown
11164b0ead49Smrg		;;
11174b0ead49Smrg	tx39el)
11184b0ead49Smrg		basic_machine=mipstx39el-unknown
11194b0ead49Smrg		;;
11204b0ead49Smrg	toad1)
11214b0ead49Smrg		basic_machine=pdp10-xkl
11224b0ead49Smrg		os=-tops20
11234b0ead49Smrg		;;
11244b0ead49Smrg	tower | tower-32)
11254b0ead49Smrg		basic_machine=m68k-ncr
11264b0ead49Smrg		;;
11274b0ead49Smrg	tpf)
11284b0ead49Smrg		basic_machine=s390x-ibm
11294b0ead49Smrg		os=-tpf
11304b0ead49Smrg		;;
11314b0ead49Smrg	udi29k)
11324b0ead49Smrg		basic_machine=a29k-amd
11334b0ead49Smrg		os=-udi
11344b0ead49Smrg		;;
11354b0ead49Smrg	ultra3)
11364b0ead49Smrg		basic_machine=a29k-nyu
11374b0ead49Smrg		os=-sym1
11384b0ead49Smrg		;;
11394b0ead49Smrg	v810 | necv810)
11404b0ead49Smrg		basic_machine=v810-nec
11414b0ead49Smrg		os=-none
11424b0ead49Smrg		;;
11434b0ead49Smrg	vaxv)
11444b0ead49Smrg		basic_machine=vax-dec
11454b0ead49Smrg		os=-sysv
11464b0ead49Smrg		;;
11474b0ead49Smrg	vms)
11484b0ead49Smrg		basic_machine=vax-dec
11494b0ead49Smrg		os=-vms
11504b0ead49Smrg		;;
11514b0ead49Smrg	vpp*|vx|vx-*)
11524b0ead49Smrg		basic_machine=f301-fujitsu
11534b0ead49Smrg		;;
11544b0ead49Smrg	vxworks960)
11554b0ead49Smrg		basic_machine=i960-wrs
11564b0ead49Smrg		os=-vxworks
11574b0ead49Smrg		;;
11584b0ead49Smrg	vxworks68)
11594b0ead49Smrg		basic_machine=m68k-wrs
11604b0ead49Smrg		os=-vxworks
11614b0ead49Smrg		;;
11624b0ead49Smrg	vxworks29k)
11634b0ead49Smrg		basic_machine=a29k-wrs
11644b0ead49Smrg		os=-vxworks
11654b0ead49Smrg		;;
11664b0ead49Smrg	w65*)
11674b0ead49Smrg		basic_machine=w65-wdc
11684b0ead49Smrg		os=-none
11694b0ead49Smrg		;;
11704b0ead49Smrg	w89k-*)
11714b0ead49Smrg		basic_machine=hppa1.1-winbond
11724b0ead49Smrg		os=-proelf
11734b0ead49Smrg		;;
11744b0ead49Smrg	xbox)
11754b0ead49Smrg		basic_machine=i686-pc
11764b0ead49Smrg		os=-mingw32
11774b0ead49Smrg		;;
11784b0ead49Smrg	xps | xps100)
11794b0ead49Smrg		basic_machine=xps100-honeywell
11804b0ead49Smrg		;;
11814b0ead49Smrg	ymp)
11824b0ead49Smrg		basic_machine=ymp-cray
11834b0ead49Smrg		os=-unicos
11844b0ead49Smrg		;;
11854b0ead49Smrg	z8k-*-coff)
11864b0ead49Smrg		basic_machine=z8k-unknown
11874b0ead49Smrg		os=-sim
11884b0ead49Smrg		;;
118949dc963fSmrg	z80-*-coff)
119049dc963fSmrg		basic_machine=z80-unknown
119149dc963fSmrg		os=-sim
119249dc963fSmrg		;;
11934b0ead49Smrg	none)
11944b0ead49Smrg		basic_machine=none-none
11954b0ead49Smrg		os=-none
11964b0ead49Smrg		;;
11974b0ead49Smrg
11984b0ead49Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11994b0ead49Smrg# some cases the only manufacturer, in others, it is the most popular.
12004b0ead49Smrg	w89k)
12014b0ead49Smrg		basic_machine=hppa1.1-winbond
12024b0ead49Smrg		;;
12034b0ead49Smrg	op50n)
12044b0ead49Smrg		basic_machine=hppa1.1-oki
12054b0ead49Smrg		;;
12064b0ead49Smrg	op60c)
12074b0ead49Smrg		basic_machine=hppa1.1-oki
12084b0ead49Smrg		;;
12094b0ead49Smrg	romp)
12104b0ead49Smrg		basic_machine=romp-ibm
12114b0ead49Smrg		;;
12124b0ead49Smrg	mmix)
12134b0ead49Smrg		basic_machine=mmix-knuth
12144b0ead49Smrg		;;
12154b0ead49Smrg	rs6000)
12164b0ead49Smrg		basic_machine=rs6000-ibm
12174b0ead49Smrg		;;
12184b0ead49Smrg	vax)
12194b0ead49Smrg		basic_machine=vax-dec
12204b0ead49Smrg		;;
12214b0ead49Smrg	pdp10)
12224b0ead49Smrg		# there are many clones, so DEC is not a safe bet
12234b0ead49Smrg		basic_machine=pdp10-unknown
12244b0ead49Smrg		;;
12254b0ead49Smrg	pdp11)
12264b0ead49Smrg		basic_machine=pdp11-dec
12274b0ead49Smrg		;;
12284b0ead49Smrg	we32k)
12294b0ead49Smrg		basic_machine=we32k-att
12304b0ead49Smrg		;;
123149dc963fSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12324b0ead49Smrg		basic_machine=sh-unknown
12334b0ead49Smrg		;;
123452b01e16Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12354b0ead49Smrg		basic_machine=sparc-sun
12364b0ead49Smrg		;;
12374b0ead49Smrg	cydra)
12384b0ead49Smrg		basic_machine=cydra-cydrome
12394b0ead49Smrg		;;
12404b0ead49Smrg	orion)
12414b0ead49Smrg		basic_machine=orion-highlevel
12424b0ead49Smrg		;;
12434b0ead49Smrg	orion105)
12444b0ead49Smrg		basic_machine=clipper-highlevel
12454b0ead49Smrg		;;
12464b0ead49Smrg	mac | mpw | mac-mpw)
12474b0ead49Smrg		basic_machine=m68k-apple
12484b0ead49Smrg		;;
12494b0ead49Smrg	pmac | pmac-mpw)
12504b0ead49Smrg		basic_machine=powerpc-apple
12514b0ead49Smrg		;;
12524b0ead49Smrg	*-unknown)
12534b0ead49Smrg		# Make sure to match an already-canonicalized machine name.
12544b0ead49Smrg		;;
12554b0ead49Smrg	*)
12564b0ead49Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12574b0ead49Smrg		exit 1
12584b0ead49Smrg		;;
12594b0ead49Smrgesac
12604b0ead49Smrg
12614b0ead49Smrg# Here we canonicalize certain aliases for manufacturers.
12624b0ead49Smrgcase $basic_machine in
12634b0ead49Smrg	*-digital*)
12644b0ead49Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12654b0ead49Smrg		;;
12664b0ead49Smrg	*-commodore*)
12674b0ead49Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12684b0ead49Smrg		;;
12694b0ead49Smrg	*)
12704b0ead49Smrg		;;
12714b0ead49Smrgesac
12724b0ead49Smrg
12734b0ead49Smrg# Decode manufacturer-specific aliases for certain operating systems.
12744b0ead49Smrg
12754b0ead49Smrgif [ x"$os" != x"" ]
12764b0ead49Smrgthen
12774b0ead49Smrgcase $os in
12784b0ead49Smrg        # First match some system type aliases
12794b0ead49Smrg        # that might get confused with valid system types.
12804b0ead49Smrg	# -solaris* is a basic system type, with this one exception.
128149dc963fSmrg        -auroraux)
128249dc963fSmrg	        os=-auroraux
128349dc963fSmrg		;;
12844b0ead49Smrg	-solaris1 | -solaris1.*)
12854b0ead49Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12864b0ead49Smrg		;;
12874b0ead49Smrg	-solaris)
12884b0ead49Smrg		os=-solaris2
12894b0ead49Smrg		;;
12904b0ead49Smrg	-svr4*)
12914b0ead49Smrg		os=-sysv4
12924b0ead49Smrg		;;
12934b0ead49Smrg	-unixware*)
12944b0ead49Smrg		os=-sysv4.2uw
12954b0ead49Smrg		;;
12964b0ead49Smrg	-gnu/linux*)
12974b0ead49Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12984b0ead49Smrg		;;
12994b0ead49Smrg	# First accept the basic system types.
13004b0ead49Smrg	# The portable systems comes first.
13014b0ead49Smrg	# Each alternative MUST END IN A *, to match a version number.
13024b0ead49Smrg	# -sysv* is not here because it comes later, after sysvr4.
13034b0ead49Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
130449dc963fSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
130549dc963fSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
130649dc963fSmrg	      | -sym* | -kopensolaris* \
13074b0ead49Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
130849dc963fSmrg	      | -aos* | -aros* \
13094b0ead49Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13104b0ead49Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
131152b01e16Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
131252b01e16Smrg	      | -openbsd* | -solidbsd* \
13134b0ead49Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13144b0ead49Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13154b0ead49Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13164b0ead49Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
131749dc963fSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13184b0ead49Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13197aa89044Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13207aa89044Smrg	      | -linux-newlib* | -linux-uclibc* \
132152b01e16Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13224b0ead49Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13234b0ead49Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13244b0ead49Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13254b0ead49Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13264b0ead49Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13274b0ead49Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
132849dc963fSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13294b0ead49Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13304b0ead49Smrg		;;
13314b0ead49Smrg	-qnx*)
13324b0ead49Smrg		case $basic_machine in
13334b0ead49Smrg		    x86-* | i*86-*)
13344b0ead49Smrg			;;
13354b0ead49Smrg		    *)
13364b0ead49Smrg			os=-nto$os
13374b0ead49Smrg			;;
13384b0ead49Smrg		esac
13394b0ead49Smrg		;;
13404b0ead49Smrg	-nto-qnx*)
13414b0ead49Smrg		;;
13424b0ead49Smrg	-nto*)
13434b0ead49Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13444b0ead49Smrg		;;
13454b0ead49Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13464b0ead49Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13474b0ead49Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13484b0ead49Smrg		;;
13494b0ead49Smrg	-mac*)
13504b0ead49Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13514b0ead49Smrg		;;
13524b0ead49Smrg	-linux-dietlibc)
13534b0ead49Smrg		os=-linux-dietlibc
13544b0ead49Smrg		;;
13554b0ead49Smrg	-linux*)
13564b0ead49Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13574b0ead49Smrg		;;
13584b0ead49Smrg	-sunos5*)
13594b0ead49Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13604b0ead49Smrg		;;
13614b0ead49Smrg	-sunos6*)
13624b0ead49Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13634b0ead49Smrg		;;
13644b0ead49Smrg	-opened*)
13654b0ead49Smrg		os=-openedition
13664b0ead49Smrg		;;
13674b0ead49Smrg        -os400*)
13684b0ead49Smrg		os=-os400
13694b0ead49Smrg		;;
13704b0ead49Smrg	-wince*)
13714b0ead49Smrg		os=-wince
13724b0ead49Smrg		;;
13734b0ead49Smrg	-osfrose*)
13744b0ead49Smrg		os=-osfrose
13754b0ead49Smrg		;;
13764b0ead49Smrg	-osf*)
13774b0ead49Smrg		os=-osf
13784b0ead49Smrg		;;
13794b0ead49Smrg	-utek*)
13804b0ead49Smrg		os=-bsd
13814b0ead49Smrg		;;
13824b0ead49Smrg	-dynix*)
13834b0ead49Smrg		os=-bsd
13844b0ead49Smrg		;;
13854b0ead49Smrg	-acis*)
13864b0ead49Smrg		os=-aos
13874b0ead49Smrg		;;
13884b0ead49Smrg	-atheos*)
13894b0ead49Smrg		os=-atheos
13904b0ead49Smrg		;;
13914b0ead49Smrg	-syllable*)
13924b0ead49Smrg		os=-syllable
13934b0ead49Smrg		;;
13944b0ead49Smrg	-386bsd)
13954b0ead49Smrg		os=-bsd
13964b0ead49Smrg		;;
13974b0ead49Smrg	-ctix* | -uts*)
13984b0ead49Smrg		os=-sysv
13994b0ead49Smrg		;;
14004b0ead49Smrg	-nova*)
14014b0ead49Smrg		os=-rtmk-nova
14024b0ead49Smrg		;;
14034b0ead49Smrg	-ns2 )
14044b0ead49Smrg		os=-nextstep2
14054b0ead49Smrg		;;
14064b0ead49Smrg	-nsk*)
14074b0ead49Smrg		os=-nsk
14084b0ead49Smrg		;;
14094b0ead49Smrg	# Preserve the version number of sinix5.
14104b0ead49Smrg	-sinix5.*)
14114b0ead49Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14124b0ead49Smrg		;;
14134b0ead49Smrg	-sinix*)
14144b0ead49Smrg		os=-sysv4
14154b0ead49Smrg		;;
14164b0ead49Smrg        -tpf*)
14174b0ead49Smrg		os=-tpf
14184b0ead49Smrg		;;
14194b0ead49Smrg	-triton*)
14204b0ead49Smrg		os=-sysv3
14214b0ead49Smrg		;;
14224b0ead49Smrg	-oss*)
14234b0ead49Smrg		os=-sysv3
14244b0ead49Smrg		;;
14254b0ead49Smrg	-svr4)
14264b0ead49Smrg		os=-sysv4
14274b0ead49Smrg		;;
14284b0ead49Smrg	-svr3)
14294b0ead49Smrg		os=-sysv3
14304b0ead49Smrg		;;
14314b0ead49Smrg	-sysvr4)
14324b0ead49Smrg		os=-sysv4
14334b0ead49Smrg		;;
14344b0ead49Smrg	# This must come after -sysvr4.
14354b0ead49Smrg	-sysv*)
14364b0ead49Smrg		;;
14374b0ead49Smrg	-ose*)
14384b0ead49Smrg		os=-ose
14394b0ead49Smrg		;;
14404b0ead49Smrg	-es1800*)
14414b0ead49Smrg		os=-ose
14424b0ead49Smrg		;;
14434b0ead49Smrg	-xenix)
14444b0ead49Smrg		os=-xenix
14454b0ead49Smrg		;;
14464b0ead49Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14474b0ead49Smrg		os=-mint
14484b0ead49Smrg		;;
14494b0ead49Smrg	-aros*)
14504b0ead49Smrg		os=-aros
14514b0ead49Smrg		;;
14524b0ead49Smrg	-kaos*)
14534b0ead49Smrg		os=-kaos
14544b0ead49Smrg		;;
14554b0ead49Smrg	-zvmoe)
14564b0ead49Smrg		os=-zvmoe
14574b0ead49Smrg		;;
145849dc963fSmrg	-dicos*)
145949dc963fSmrg		os=-dicos
146049dc963fSmrg		;;
14617aa89044Smrg        -nacl*)
14627aa89044Smrg	        ;;
14634b0ead49Smrg	-none)
14644b0ead49Smrg		;;
14654b0ead49Smrg	*)
14664b0ead49Smrg		# Get rid of the `-' at the beginning of $os.
14674b0ead49Smrg		os=`echo $os | sed 's/[^-]*-//'`
14684b0ead49Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14694b0ead49Smrg		exit 1
14704b0ead49Smrg		;;
14714b0ead49Smrgesac
14724b0ead49Smrgelse
14734b0ead49Smrg
14744b0ead49Smrg# Here we handle the default operating systems that come with various machines.
14754b0ead49Smrg# The value should be what the vendor currently ships out the door with their
14764b0ead49Smrg# machine or put another way, the most popular os provided with the machine.
14774b0ead49Smrg
14784b0ead49Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14794b0ead49Smrg# "-sun"), then you have to tell the case statement up towards the top
14804b0ead49Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14814b0ead49Smrg# will signal an error saying that MANUFACTURER isn't an operating
14824b0ead49Smrg# system, and we'll never get to this point.
14834b0ead49Smrg
14844b0ead49Smrgcase $basic_machine in
148552b01e16Smrg        score-*)
148652b01e16Smrg		os=-elf
148752b01e16Smrg		;;
148852b01e16Smrg        spu-*)
148952b01e16Smrg		os=-elf
149052b01e16Smrg		;;
14914b0ead49Smrg	*-acorn)
14924b0ead49Smrg		os=-riscix1.2
14934b0ead49Smrg		;;
14944b0ead49Smrg	arm*-rebel)
14954b0ead49Smrg		os=-linux
14964b0ead49Smrg		;;
14974b0ead49Smrg	arm*-semi)
14984b0ead49Smrg		os=-aout
14994b0ead49Smrg		;;
150052b01e16Smrg        c4x-* | tic4x-*)
150152b01e16Smrg        	os=-coff
150252b01e16Smrg		;;
15037aa89044Smrg	tic54x-*)
15047aa89044Smrg		os=-coff
15057aa89044Smrg		;;
15067aa89044Smrg	tic55x-*)
15077aa89044Smrg		os=-coff
15087aa89044Smrg		;;
15097aa89044Smrg	tic6x-*)
15107aa89044Smrg		os=-coff
15117aa89044Smrg		;;
15124b0ead49Smrg	# This must come before the *-dec entry.
15134b0ead49Smrg	pdp10-*)
15144b0ead49Smrg		os=-tops20
15154b0ead49Smrg		;;
15164b0ead49Smrg	pdp11-*)
15174b0ead49Smrg		os=-none
15184b0ead49Smrg		;;
15194b0ead49Smrg	*-dec | vax-*)
15204b0ead49Smrg		os=-ultrix4.2
15214b0ead49Smrg		;;
15224b0ead49Smrg	m68*-apollo)
15234b0ead49Smrg		os=-domain
15244b0ead49Smrg		;;
15254b0ead49Smrg	i386-sun)
15264b0ead49Smrg		os=-sunos4.0.2
15274b0ead49Smrg		;;
15284b0ead49Smrg	m68000-sun)
15294b0ead49Smrg		os=-sunos3
15304b0ead49Smrg		# This also exists in the configure program, but was not the
15314b0ead49Smrg		# default.
15324b0ead49Smrg		# os=-sunos4
15334b0ead49Smrg		;;
15344b0ead49Smrg	m68*-cisco)
15354b0ead49Smrg		os=-aout
15364b0ead49Smrg		;;
153752b01e16Smrg        mep-*)
153852b01e16Smrg		os=-elf
153952b01e16Smrg		;;
15404b0ead49Smrg	mips*-cisco)
15414b0ead49Smrg		os=-elf
15424b0ead49Smrg		;;
15434b0ead49Smrg	mips*-*)
15444b0ead49Smrg		os=-elf
15454b0ead49Smrg		;;
15464b0ead49Smrg	or32-*)
15474b0ead49Smrg		os=-coff
15484b0ead49Smrg		;;
15494b0ead49Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15504b0ead49Smrg		os=-sysv3
15514b0ead49Smrg		;;
15524b0ead49Smrg	sparc-* | *-sun)
15534b0ead49Smrg		os=-sunos4.1.1
15544b0ead49Smrg		;;
15554b0ead49Smrg	*-be)
15564b0ead49Smrg		os=-beos
15574b0ead49Smrg		;;
15584b0ead49Smrg	*-haiku)
15594b0ead49Smrg		os=-haiku
15604b0ead49Smrg		;;
15614b0ead49Smrg	*-ibm)
15624b0ead49Smrg		os=-aix
15634b0ead49Smrg		;;
15644b0ead49Smrg    	*-knuth)
15654b0ead49Smrg		os=-mmixware
15664b0ead49Smrg		;;
15674b0ead49Smrg	*-wec)
15684b0ead49Smrg		os=-proelf
15694b0ead49Smrg		;;
15704b0ead49Smrg	*-winbond)
15714b0ead49Smrg		os=-proelf
15724b0ead49Smrg		;;
15734b0ead49Smrg	*-oki)
15744b0ead49Smrg		os=-proelf
15754b0ead49Smrg		;;
15764b0ead49Smrg	*-hp)
15774b0ead49Smrg		os=-hpux
15784b0ead49Smrg		;;
15794b0ead49Smrg	*-hitachi)
15804b0ead49Smrg		os=-hiux
15814b0ead49Smrg		;;
15824b0ead49Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15834b0ead49Smrg		os=-sysv
15844b0ead49Smrg		;;
15854b0ead49Smrg	*-cbm)
15864b0ead49Smrg		os=-amigaos
15874b0ead49Smrg		;;
15884b0ead49Smrg	*-dg)
15894b0ead49Smrg		os=-dgux
15904b0ead49Smrg		;;
15914b0ead49Smrg	*-dolphin)
15924b0ead49Smrg		os=-sysv3
15934b0ead49Smrg		;;
15944b0ead49Smrg	m68k-ccur)
15954b0ead49Smrg		os=-rtu
15964b0ead49Smrg		;;
15974b0ead49Smrg	m88k-omron*)
15984b0ead49Smrg		os=-luna
15994b0ead49Smrg		;;
16004b0ead49Smrg	*-next )
16014b0ead49Smrg		os=-nextstep
16024b0ead49Smrg		;;
16034b0ead49Smrg	*-sequent)
16044b0ead49Smrg		os=-ptx
16054b0ead49Smrg		;;
16064b0ead49Smrg	*-crds)
16074b0ead49Smrg		os=-unos
16084b0ead49Smrg		;;
16094b0ead49Smrg	*-ns)
16104b0ead49Smrg		os=-genix
16114b0ead49Smrg		;;
16124b0ead49Smrg	i370-*)
16134b0ead49Smrg		os=-mvs
16144b0ead49Smrg		;;
16154b0ead49Smrg	*-next)
16164b0ead49Smrg		os=-nextstep3
16174b0ead49Smrg		;;
16184b0ead49Smrg	*-gould)
16194b0ead49Smrg		os=-sysv
16204b0ead49Smrg		;;
16214b0ead49Smrg	*-highlevel)
16224b0ead49Smrg		os=-bsd
16234b0ead49Smrg		;;
16244b0ead49Smrg	*-encore)
16254b0ead49Smrg		os=-bsd
16264b0ead49Smrg		;;
16274b0ead49Smrg	*-sgi)
16284b0ead49Smrg		os=-irix
16294b0ead49Smrg		;;
16304b0ead49Smrg	*-siemens)
16314b0ead49Smrg		os=-sysv4
16324b0ead49Smrg		;;
16334b0ead49Smrg	*-masscomp)
16344b0ead49Smrg		os=-rtu
16354b0ead49Smrg		;;
16364b0ead49Smrg	f30[01]-fujitsu | f700-fujitsu)
16374b0ead49Smrg		os=-uxpv
16384b0ead49Smrg		;;
16394b0ead49Smrg	*-rom68k)
16404b0ead49Smrg		os=-coff
16414b0ead49Smrg		;;
16424b0ead49Smrg	*-*bug)
16434b0ead49Smrg		os=-coff
16444b0ead49Smrg		;;
16454b0ead49Smrg	*-apple)
16464b0ead49Smrg		os=-macos
16474b0ead49Smrg		;;
16484b0ead49Smrg	*-atari*)
16494b0ead49Smrg		os=-mint
16504b0ead49Smrg		;;
16514b0ead49Smrg	*)
16524b0ead49Smrg		os=-none
16534b0ead49Smrg		;;
16544b0ead49Smrgesac
16554b0ead49Smrgfi
16564b0ead49Smrg
16574b0ead49Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16584b0ead49Smrg# manufacturer.  We pick the logical manufacturer.
16594b0ead49Smrgvendor=unknown
16604b0ead49Smrgcase $basic_machine in
16614b0ead49Smrg	*-unknown)
16624b0ead49Smrg		case $os in
16634b0ead49Smrg			-riscix*)
16644b0ead49Smrg				vendor=acorn
16654b0ead49Smrg				;;
16664b0ead49Smrg			-sunos*)
16674b0ead49Smrg				vendor=sun
16684b0ead49Smrg				;;
166949dc963fSmrg			-cnk*|-aix*)
16704b0ead49Smrg				vendor=ibm
16714b0ead49Smrg				;;
16724b0ead49Smrg			-beos*)
16734b0ead49Smrg				vendor=be
16744b0ead49Smrg				;;
16754b0ead49Smrg			-hpux*)
16764b0ead49Smrg				vendor=hp
16774b0ead49Smrg				;;
16784b0ead49Smrg			-mpeix*)
16794b0ead49Smrg				vendor=hp
16804b0ead49Smrg				;;
16814b0ead49Smrg			-hiux*)
16824b0ead49Smrg				vendor=hitachi
16834b0ead49Smrg				;;
16844b0ead49Smrg			-unos*)
16854b0ead49Smrg				vendor=crds
16864b0ead49Smrg				;;
16874b0ead49Smrg			-dgux*)
16884b0ead49Smrg				vendor=dg
16894b0ead49Smrg				;;
16904b0ead49Smrg			-luna*)
16914b0ead49Smrg				vendor=omron
16924b0ead49Smrg				;;
16934b0ead49Smrg			-genix*)
16944b0ead49Smrg				vendor=ns
16954b0ead49Smrg				;;
16964b0ead49Smrg			-mvs* | -opened*)
16974b0ead49Smrg				vendor=ibm
16984b0ead49Smrg				;;
16994b0ead49Smrg			-os400*)
17004b0ead49Smrg				vendor=ibm
17014b0ead49Smrg				;;
17024b0ead49Smrg			-ptx*)
17034b0ead49Smrg				vendor=sequent
17044b0ead49Smrg				;;
17054b0ead49Smrg			-tpf*)
17064b0ead49Smrg				vendor=ibm
17074b0ead49Smrg				;;
17084b0ead49Smrg			-vxsim* | -vxworks* | -windiss*)
17094b0ead49Smrg				vendor=wrs
17104b0ead49Smrg				;;
17114b0ead49Smrg			-aux*)
17124b0ead49Smrg				vendor=apple
17134b0ead49Smrg				;;
17144b0ead49Smrg			-hms*)
17154b0ead49Smrg				vendor=hitachi
17164b0ead49Smrg				;;
17174b0ead49Smrg			-mpw* | -macos*)
17184b0ead49Smrg				vendor=apple
17194b0ead49Smrg				;;
17204b0ead49Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17214b0ead49Smrg				vendor=atari
17224b0ead49Smrg				;;
17234b0ead49Smrg			-vos*)
17244b0ead49Smrg				vendor=stratus
17254b0ead49Smrg				;;
17264b0ead49Smrg		esac
17274b0ead49Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17284b0ead49Smrg		;;
17294b0ead49Smrgesac
17304b0ead49Smrg
17314b0ead49Smrgecho $basic_machine$os
17324b0ead49Smrgexit
17334b0ead49Smrg
17344b0ead49Smrg# Local variables:
17354b0ead49Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17364b0ead49Smrg# time-stamp-start: "timestamp='"
17374b0ead49Smrg# time-stamp-format: "%:y-%02m-%02d"
17384b0ead49Smrg# time-stamp-end: "'"
17394b0ead49Smrg# End:
1740