config.sub revision ca08ab68
12c393a42Smrg#! /bin/sh
22c393a42Smrg# Configuration validation subroutine script.
32c393a42Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4ca08ab68Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
5ca08ab68Smrg#   2011, 2012 Free Software Foundation, Inc.
62c393a42Smrg
7ca08ab68Smrgtimestamp='2012-02-10'
82c393a42Smrg
92c393a42Smrg# This file is (in principle) common to ALL GNU software.
102c393a42Smrg# The presence of a machine in this file suggests that SOME GNU software
112c393a42Smrg# can handle that machine.  It does not imply ALL GNU software can.
122c393a42Smrg#
132c393a42Smrg# This file is free software; you can redistribute it and/or modify
142c393a42Smrg# it under the terms of the GNU General Public License as published by
152c393a42Smrg# the Free Software Foundation; either version 2 of the License, or
162c393a42Smrg# (at your option) any later version.
172c393a42Smrg#
182c393a42Smrg# This program is distributed in the hope that it will be useful,
192c393a42Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
202c393a42Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
212c393a42Smrg# GNU General Public License for more details.
222c393a42Smrg#
232c393a42Smrg# You should have received a copy of the GNU General Public License
24ca08ab68Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
252c393a42Smrg#
262c393a42Smrg# As a special exception to the GNU General Public License, if you
272c393a42Smrg# distribute this file as part of a program that contains a
282c393a42Smrg# configuration script generated by Autoconf, you may include it under
292c393a42Smrg# the same distribution terms that you use for the rest of that program.
302c393a42Smrg
312c393a42Smrg
322c393a42Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
33ca08ab68Smrg# diff and a properly formatted GNU ChangeLog entry.
342c393a42Smrg#
352c393a42Smrg# Configuration subroutine to validate and canonicalize a configuration type.
362c393a42Smrg# Supply the specified configuration type as an argument.
372c393a42Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
382c393a42Smrg# Otherwise, we print the canonical config type on stdout and succeed.
392c393a42Smrg
40ca08ab68Smrg# You can get the latest version of this script from:
41ca08ab68Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42ca08ab68Smrg
432c393a42Smrg# This file is supposed to be the same for all GNU packages
442c393a42Smrg# and recognize all the CPU types, system types and aliases
452c393a42Smrg# that are meaningful with *any* GNU software.
462c393a42Smrg# Each package is responsible for reporting which valid configurations
472c393a42Smrg# it does not support.  The user should be able to distinguish
482c393a42Smrg# a failure to support a valid configuration from a meaningless
492c393a42Smrg# configuration.
502c393a42Smrg
512c393a42Smrg# The goal of this file is to map all the various variations of a given
522c393a42Smrg# machine specification into a single specification in the form:
532c393a42Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
542c393a42Smrg# or in some cases, the newer four-part form:
552c393a42Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
562c393a42Smrg# It is wrong to echo any other type of specification.
572c393a42Smrg
582c393a42Smrgme=`echo "$0" | sed -e 's,.*/,,'`
592c393a42Smrg
602c393a42Smrgusage="\
612c393a42SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
622c393a42Smrg       $0 [OPTION] ALIAS
632c393a42Smrg
642c393a42SmrgCanonicalize a configuration name.
652c393a42Smrg
662c393a42SmrgOperation modes:
672c393a42Smrg  -h, --help         print this help, then exit
682c393a42Smrg  -t, --time-stamp   print date of last modification, then exit
692c393a42Smrg  -v, --version      print version number, then exit
702c393a42Smrg
712c393a42SmrgReport bugs and patches to <config-patches@gnu.org>."
722c393a42Smrg
732c393a42Smrgversion="\
742c393a42SmrgGNU config.sub ($timestamp)
752c393a42Smrg
76ca08ab68SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
77ca08ab68Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78ca08ab68SmrgFree Software Foundation, Inc.
792c393a42Smrg
802c393a42SmrgThis is free software; see the source for copying conditions.  There is NO
812c393a42Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
822c393a42Smrg
832c393a42Smrghelp="
842c393a42SmrgTry \`$me --help' for more information."
852c393a42Smrg
862c393a42Smrg# Parse command line
872c393a42Smrgwhile test $# -gt 0 ; do
882c393a42Smrg  case $1 in
892c393a42Smrg    --time-stamp | --time* | -t )
902c393a42Smrg       echo "$timestamp" ; exit ;;
912c393a42Smrg    --version | -v )
922c393a42Smrg       echo "$version" ; exit ;;
932c393a42Smrg    --help | --h* | -h )
942c393a42Smrg       echo "$usage"; exit ;;
952c393a42Smrg    -- )     # Stop option processing
962c393a42Smrg       shift; break ;;
972c393a42Smrg    - )	# Use stdin as input.
982c393a42Smrg       break ;;
992c393a42Smrg    -* )
1002c393a42Smrg       echo "$me: invalid option $1$help"
1012c393a42Smrg       exit 1 ;;
1022c393a42Smrg
1032c393a42Smrg    *local*)
1042c393a42Smrg       # First pass through any local machine types.
1052c393a42Smrg       echo $1
1062c393a42Smrg       exit ;;
1072c393a42Smrg
1082c393a42Smrg    * )
1092c393a42Smrg       break ;;
1102c393a42Smrg  esac
1112c393a42Smrgdone
1122c393a42Smrg
1132c393a42Smrgcase $# in
1142c393a42Smrg 0) echo "$me: missing argument$help" >&2
1152c393a42Smrg    exit 1;;
1162c393a42Smrg 1) ;;
1172c393a42Smrg *) echo "$me: too many arguments$help" >&2
1182c393a42Smrg    exit 1;;
1192c393a42Smrgesac
1202c393a42Smrg
1212c393a42Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1222c393a42Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1232c393a42Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1242c393a42Smrgcase $maybe_os in
125ca08ab68Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
126ca08ab68Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127ca08ab68Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
128ca08ab68Smrg  kopensolaris*-gnu* | \
1292c393a42Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1302c393a42Smrg    os=-$maybe_os
1312c393a42Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1322c393a42Smrg    ;;
133ca08ab68Smrg  android-linux)
134ca08ab68Smrg    os=-linux-android
135ca08ab68Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136ca08ab68Smrg    ;;
1372c393a42Smrg  *)
1382c393a42Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1392c393a42Smrg    if [ $basic_machine != $1 ]
1402c393a42Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1412c393a42Smrg    else os=; fi
1422c393a42Smrg    ;;
1432c393a42Smrgesac
1442c393a42Smrg
1452c393a42Smrg### Let's recognize common machines as not being operating systems so
1462c393a42Smrg### that things like config.sub decstation-3100 work.  We also
1472c393a42Smrg### recognize some manufacturers as not being operating systems, so we
1482c393a42Smrg### can provide default operating systems below.
1492c393a42Smrgcase $os in
1502c393a42Smrg	-sun*os*)
1512c393a42Smrg		# Prevent following clause from handling this invalid input.
1522c393a42Smrg		;;
1532c393a42Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1542c393a42Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1552c393a42Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1562c393a42Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1572c393a42Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1582c393a42Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159ca08ab68Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1602c393a42Smrg		os=
1612c393a42Smrg		basic_machine=$1
1622c393a42Smrg		;;
163ca08ab68Smrg	-bluegene*)
164ca08ab68Smrg		os=-cnk
165ca08ab68Smrg		;;
1662c393a42Smrg	-sim | -cisco | -oki | -wec | -winbond)
1672c393a42Smrg		os=
1682c393a42Smrg		basic_machine=$1
1692c393a42Smrg		;;
1702c393a42Smrg	-scout)
1712c393a42Smrg		;;
1722c393a42Smrg	-wrs)
1732c393a42Smrg		os=-vxworks
1742c393a42Smrg		basic_machine=$1
1752c393a42Smrg		;;
1762c393a42Smrg	-chorusos*)
1772c393a42Smrg		os=-chorusos
1782c393a42Smrg		basic_machine=$1
1792c393a42Smrg		;;
180ca08ab68Smrg	-chorusrdb)
181ca08ab68Smrg		os=-chorusrdb
1822c393a42Smrg		basic_machine=$1
183ca08ab68Smrg		;;
1842c393a42Smrg	-hiux*)
1852c393a42Smrg		os=-hiuxwe2
1862c393a42Smrg		;;
1872c393a42Smrg	-sco6)
1882c393a42Smrg		os=-sco5v6
1892c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1902c393a42Smrg		;;
1912c393a42Smrg	-sco5)
1922c393a42Smrg		os=-sco3.2v5
1932c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1942c393a42Smrg		;;
1952c393a42Smrg	-sco4)
1962c393a42Smrg		os=-sco3.2v4
1972c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1982c393a42Smrg		;;
1992c393a42Smrg	-sco3.2.[4-9]*)
2002c393a42Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
2012c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2022c393a42Smrg		;;
2032c393a42Smrg	-sco3.2v[4-9]*)
2042c393a42Smrg		# Don't forget version if it is 3.2v4 or newer.
2052c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2062c393a42Smrg		;;
2072c393a42Smrg	-sco5v6*)
2082c393a42Smrg		# Don't forget version if it is 3.2v4 or newer.
2092c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2102c393a42Smrg		;;
2112c393a42Smrg	-sco*)
2122c393a42Smrg		os=-sco3.2v2
2132c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2142c393a42Smrg		;;
2152c393a42Smrg	-udk*)
2162c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2172c393a42Smrg		;;
2182c393a42Smrg	-isc)
2192c393a42Smrg		os=-isc2.2
2202c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2212c393a42Smrg		;;
2222c393a42Smrg	-clix*)
2232c393a42Smrg		basic_machine=clipper-intergraph
2242c393a42Smrg		;;
2252c393a42Smrg	-isc*)
2262c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2272c393a42Smrg		;;
2282c393a42Smrg	-lynx*)
2292c393a42Smrg		os=-lynxos
2302c393a42Smrg		;;
2312c393a42Smrg	-ptx*)
2322c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2332c393a42Smrg		;;
2342c393a42Smrg	-windowsnt*)
2352c393a42Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2362c393a42Smrg		;;
2372c393a42Smrg	-psos*)
2382c393a42Smrg		os=-psos
2392c393a42Smrg		;;
2402c393a42Smrg	-mint | -mint[0-9]*)
2412c393a42Smrg		basic_machine=m68k-atari
2422c393a42Smrg		os=-mint
2432c393a42Smrg		;;
2442c393a42Smrgesac
2452c393a42Smrg
2462c393a42Smrg# Decode aliases for certain CPU-COMPANY combinations.
2472c393a42Smrgcase $basic_machine in
2482c393a42Smrg	# Recognize the basic CPU types without company name.
2492c393a42Smrg	# Some are omitted here because they have special meanings below.
2502c393a42Smrg	1750a | 580 \
2512c393a42Smrg	| a29k \
252ca08ab68Smrg	| aarch64 | aarch64_be \
2532c393a42Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2542c393a42Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2552c393a42Smrg	| am33_2.0 \
2562c393a42Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
257ca08ab68Smrg        | be32 | be64 \
2582c393a42Smrg	| bfin \
2592c393a42Smrg	| c4x | clipper \
2602c393a42Smrg	| d10v | d30v | dlx | dsp16xx \
261ca08ab68Smrg	| epiphany \
2622c393a42Smrg	| fido | fr30 | frv \
2632c393a42Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
264ca08ab68Smrg	| hexagon \
2652c393a42Smrg	| i370 | i860 | i960 | ia64 \
2662c393a42Smrg	| ip2k | iq2000 \
267ca08ab68Smrg	| le32 | le64 \
268ca08ab68Smrg	| lm32 \
2692c393a42Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
270ca08ab68Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2712c393a42Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2722c393a42Smrg	| mips16 \
2732c393a42Smrg	| mips64 | mips64el \
274ca08ab68Smrg	| mips64octeon | mips64octeonel \
2752c393a42Smrg	| mips64orion | mips64orionel \
276ca08ab68Smrg	| mips64r5900 | mips64r5900el \
277ca08ab68Smrg	| mips64vr | mips64vrel \
2782c393a42Smrg	| mips64vr4100 | mips64vr4100el \
2792c393a42Smrg	| mips64vr4300 | mips64vr4300el \
2802c393a42Smrg	| mips64vr5000 | mips64vr5000el \
2812c393a42Smrg	| mips64vr5900 | mips64vr5900el \
2822c393a42Smrg	| mipsisa32 | mipsisa32el \
2832c393a42Smrg	| mipsisa32r2 | mipsisa32r2el \
2842c393a42Smrg	| mipsisa64 | mipsisa64el \
2852c393a42Smrg	| mipsisa64r2 | mipsisa64r2el \
2862c393a42Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2872c393a42Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2882c393a42Smrg	| mipstx39 | mipstx39el \
2892c393a42Smrg	| mn10200 | mn10300 \
290ca08ab68Smrg	| moxie \
2912c393a42Smrg	| mt \
2922c393a42Smrg	| msp430 \
293ca08ab68Smrg	| nds32 | nds32le | nds32be \
2942c393a42Smrg	| nios | nios2 \
2952c393a42Smrg	| ns16k | ns32k \
296ca08ab68Smrg	| open8 \
2972c393a42Smrg	| or32 \
2982c393a42Smrg	| pdp10 | pdp11 | pj | pjl \
299ca08ab68Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3002c393a42Smrg	| pyramid \
301ca08ab68Smrg	| rl78 | rx \
3022c393a42Smrg	| score \
303ca08ab68Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3042c393a42Smrg	| sh64 | sh64le \
3052c393a42Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3062c393a42Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
307ca08ab68Smrg	| spu \
308ca08ab68Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
309ca08ab68Smrg	| ubicom32 \
310ca08ab68Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3112c393a42Smrg	| we32k \
312ca08ab68Smrg	| x86 | xc16x | xstormy16 | xtensa \
313ca08ab68Smrg	| z8k | z80)
3142c393a42Smrg		basic_machine=$basic_machine-unknown
3152c393a42Smrg		;;
316ca08ab68Smrg	c54x)
317ca08ab68Smrg		basic_machine=tic54x-unknown
318ca08ab68Smrg		;;
319ca08ab68Smrg	c55x)
320ca08ab68Smrg		basic_machine=tic55x-unknown
321ca08ab68Smrg		;;
322ca08ab68Smrg	c6x)
323ca08ab68Smrg		basic_machine=tic6x-unknown
324ca08ab68Smrg		;;
325ca08ab68Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3262c393a42Smrg		basic_machine=$basic_machine-unknown
3272c393a42Smrg		os=-none
3282c393a42Smrg		;;
3292c393a42Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3302c393a42Smrg		;;
3312c393a42Smrg	ms1)
3322c393a42Smrg		basic_machine=mt-unknown
3332c393a42Smrg		;;
3342c393a42Smrg
335ca08ab68Smrg	strongarm | thumb | xscale)
336ca08ab68Smrg		basic_machine=arm-unknown
337ca08ab68Smrg		;;
338ca08ab68Smrg	xgate)
339ca08ab68Smrg		basic_machine=$basic_machine-unknown
340ca08ab68Smrg		os=-none
341ca08ab68Smrg		;;
342ca08ab68Smrg	xscaleeb)
343ca08ab68Smrg		basic_machine=armeb-unknown
344ca08ab68Smrg		;;
345ca08ab68Smrg
346ca08ab68Smrg	xscaleel)
347ca08ab68Smrg		basic_machine=armel-unknown
348ca08ab68Smrg		;;
349ca08ab68Smrg
3502c393a42Smrg	# We use `pc' rather than `unknown'
3512c393a42Smrg	# because (1) that's what they normally are, and
3522c393a42Smrg	# (2) the word "unknown" tends to confuse beginning users.
3532c393a42Smrg	i*86 | x86_64)
3542c393a42Smrg	  basic_machine=$basic_machine-pc
3552c393a42Smrg	  ;;
3562c393a42Smrg	# Object if more than one company name word.
3572c393a42Smrg	*-*-*)
3582c393a42Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3592c393a42Smrg		exit 1
3602c393a42Smrg		;;
3612c393a42Smrg	# Recognize the basic CPU types with company name.
3622c393a42Smrg	580-* \
3632c393a42Smrg	| a29k-* \
364ca08ab68Smrg	| aarch64-* | aarch64_be-* \
3652c393a42Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3662c393a42Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3672c393a42Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3682c393a42Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3692c393a42Smrg	| avr-* | avr32-* \
370ca08ab68Smrg	| be32-* | be64-* \
3712c393a42Smrg	| bfin-* | bs2000-* \
372ca08ab68Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3732c393a42Smrg	| clipper-* | craynv-* | cydra-* \
3742c393a42Smrg	| d10v-* | d30v-* | dlx-* \
3752c393a42Smrg	| elxsi-* \
3762c393a42Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3772c393a42Smrg	| h8300-* | h8500-* \
3782c393a42Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
379ca08ab68Smrg	| hexagon-* \
3802c393a42Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3812c393a42Smrg	| ip2k-* | iq2000-* \
382ca08ab68Smrg	| le32-* | le64-* \
383ca08ab68Smrg	| lm32-* \
3842c393a42Smrg	| m32c-* | m32r-* | m32rle-* \
3852c393a42Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
386ca08ab68Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3872c393a42Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3882c393a42Smrg	| mips16-* \
3892c393a42Smrg	| mips64-* | mips64el-* \
390ca08ab68Smrg	| mips64octeon-* | mips64octeonel-* \
3912c393a42Smrg	| mips64orion-* | mips64orionel-* \
392ca08ab68Smrg	| mips64r5900-* | mips64r5900el-* \
393ca08ab68Smrg	| mips64vr-* | mips64vrel-* \
3942c393a42Smrg	| mips64vr4100-* | mips64vr4100el-* \
3952c393a42Smrg	| mips64vr4300-* | mips64vr4300el-* \
3962c393a42Smrg	| mips64vr5000-* | mips64vr5000el-* \
3972c393a42Smrg	| mips64vr5900-* | mips64vr5900el-* \
3982c393a42Smrg	| mipsisa32-* | mipsisa32el-* \
3992c393a42Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4002c393a42Smrg	| mipsisa64-* | mipsisa64el-* \
4012c393a42Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4022c393a42Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4032c393a42Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4042c393a42Smrg	| mipstx39-* | mipstx39el-* \
4052c393a42Smrg	| mmix-* \
4062c393a42Smrg	| mt-* \
4072c393a42Smrg	| msp430-* \
408ca08ab68Smrg	| nds32-* | nds32le-* | nds32be-* \
4092c393a42Smrg	| nios-* | nios2-* \
4102c393a42Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
411ca08ab68Smrg	| open8-* \
4122c393a42Smrg	| orion-* \
4132c393a42Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
414ca08ab68Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4152c393a42Smrg	| pyramid-* \
416ca08ab68Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
417ca08ab68Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4182c393a42Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4192c393a42Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4202c393a42Smrg	| sparclite-* \
421ca08ab68Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
422ca08ab68Smrg	| tahoe-* \
4232c393a42Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
424ca08ab68Smrg	| tile*-* \
4252c393a42Smrg	| tron-* \
426ca08ab68Smrg	| ubicom32-* \
427ca08ab68Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
428ca08ab68Smrg	| vax-* \
4292c393a42Smrg	| we32k-* \
430ca08ab68Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4312c393a42Smrg	| xstormy16-* | xtensa*-* \
4322c393a42Smrg	| ymp-* \
433ca08ab68Smrg	| z8k-* | z80-*)
4342c393a42Smrg		;;
4352c393a42Smrg	# Recognize the basic CPU types without company name, with glob match.
4362c393a42Smrg	xtensa*)
4372c393a42Smrg		basic_machine=$basic_machine-unknown
4382c393a42Smrg		;;
4392c393a42Smrg	# Recognize the various machine names and aliases which stand
4402c393a42Smrg	# for a CPU type and a company and sometimes even an OS.
4412c393a42Smrg	386bsd)
4422c393a42Smrg		basic_machine=i386-unknown
4432c393a42Smrg		os=-bsd
4442c393a42Smrg		;;
4452c393a42Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4462c393a42Smrg		basic_machine=m68000-att
4472c393a42Smrg		;;
4482c393a42Smrg	3b*)
4492c393a42Smrg		basic_machine=we32k-att
4502c393a42Smrg		;;
4512c393a42Smrg	a29khif)
4522c393a42Smrg		basic_machine=a29k-amd
4532c393a42Smrg		os=-udi
4542c393a42Smrg		;;
455ca08ab68Smrg	abacus)
4562c393a42Smrg		basic_machine=abacus-unknown
4572c393a42Smrg		;;
4582c393a42Smrg	adobe68k)
4592c393a42Smrg		basic_machine=m68010-adobe
4602c393a42Smrg		os=-scout
4612c393a42Smrg		;;
4622c393a42Smrg	alliant | fx80)
4632c393a42Smrg		basic_machine=fx80-alliant
4642c393a42Smrg		;;
4652c393a42Smrg	altos | altos3068)
4662c393a42Smrg		basic_machine=m68k-altos
4672c393a42Smrg		;;
4682c393a42Smrg	am29k)
4692c393a42Smrg		basic_machine=a29k-none
4702c393a42Smrg		os=-bsd
4712c393a42Smrg		;;
4722c393a42Smrg	amd64)
4732c393a42Smrg		basic_machine=x86_64-pc
4742c393a42Smrg		;;
4752c393a42Smrg	amd64-*)
4762c393a42Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4772c393a42Smrg		;;
4782c393a42Smrg	amdahl)
4792c393a42Smrg		basic_machine=580-amdahl
4802c393a42Smrg		os=-sysv
4812c393a42Smrg		;;
4822c393a42Smrg	amiga | amiga-*)
4832c393a42Smrg		basic_machine=m68k-unknown
4842c393a42Smrg		;;
4852c393a42Smrg	amigaos | amigados)
4862c393a42Smrg		basic_machine=m68k-unknown
4872c393a42Smrg		os=-amigaos
4882c393a42Smrg		;;
4892c393a42Smrg	amigaunix | amix)
4902c393a42Smrg		basic_machine=m68k-unknown
4912c393a42Smrg		os=-sysv4
4922c393a42Smrg		;;
4932c393a42Smrg	apollo68)
4942c393a42Smrg		basic_machine=m68k-apollo
4952c393a42Smrg		os=-sysv
4962c393a42Smrg		;;
4972c393a42Smrg	apollo68bsd)
4982c393a42Smrg		basic_machine=m68k-apollo
4992c393a42Smrg		os=-bsd
5002c393a42Smrg		;;
501ca08ab68Smrg	aros)
502ca08ab68Smrg		basic_machine=i386-pc
503ca08ab68Smrg		os=-aros
504ca08ab68Smrg		;;
5052c393a42Smrg	aux)
5062c393a42Smrg		basic_machine=m68k-apple
5072c393a42Smrg		os=-aux
5082c393a42Smrg		;;
5092c393a42Smrg	balance)
5102c393a42Smrg		basic_machine=ns32k-sequent
5112c393a42Smrg		os=-dynix
5122c393a42Smrg		;;
5132c393a42Smrg	blackfin)
5142c393a42Smrg		basic_machine=bfin-unknown
5152c393a42Smrg		os=-linux
5162c393a42Smrg		;;
5172c393a42Smrg	blackfin-*)
5182c393a42Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5192c393a42Smrg		os=-linux
5202c393a42Smrg		;;
521ca08ab68Smrg	bluegene*)
522ca08ab68Smrg		basic_machine=powerpc-ibm
523ca08ab68Smrg		os=-cnk
524ca08ab68Smrg		;;
525ca08ab68Smrg	c54x-*)
526ca08ab68Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
527ca08ab68Smrg		;;
528ca08ab68Smrg	c55x-*)
529ca08ab68Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
530ca08ab68Smrg		;;
531ca08ab68Smrg	c6x-*)
532ca08ab68Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
533ca08ab68Smrg		;;
5342c393a42Smrg	c90)
5352c393a42Smrg		basic_machine=c90-cray
5362c393a42Smrg		os=-unicos
5372c393a42Smrg		;;
538ca08ab68Smrg	cegcc)
539ca08ab68Smrg		basic_machine=arm-unknown
540ca08ab68Smrg		os=-cegcc
541ca08ab68Smrg		;;
5422c393a42Smrg	convex-c1)
5432c393a42Smrg		basic_machine=c1-convex
5442c393a42Smrg		os=-bsd
5452c393a42Smrg		;;
5462c393a42Smrg	convex-c2)
5472c393a42Smrg		basic_machine=c2-convex
5482c393a42Smrg		os=-bsd
5492c393a42Smrg		;;
5502c393a42Smrg	convex-c32)
5512c393a42Smrg		basic_machine=c32-convex
5522c393a42Smrg		os=-bsd
5532c393a42Smrg		;;
5542c393a42Smrg	convex-c34)
5552c393a42Smrg		basic_machine=c34-convex
5562c393a42Smrg		os=-bsd
5572c393a42Smrg		;;
5582c393a42Smrg	convex-c38)
5592c393a42Smrg		basic_machine=c38-convex
5602c393a42Smrg		os=-bsd
5612c393a42Smrg		;;
5622c393a42Smrg	cray | j90)
5632c393a42Smrg		basic_machine=j90-cray
5642c393a42Smrg		os=-unicos
5652c393a42Smrg		;;
5662c393a42Smrg	craynv)
5672c393a42Smrg		basic_machine=craynv-cray
5682c393a42Smrg		os=-unicosmp
5692c393a42Smrg		;;
570ca08ab68Smrg	cr16 | cr16-*)
5712c393a42Smrg		basic_machine=cr16-unknown
5722c393a42Smrg		os=-elf
5732c393a42Smrg		;;
5742c393a42Smrg	crds | unos)
5752c393a42Smrg		basic_machine=m68k-crds
5762c393a42Smrg		;;
5772c393a42Smrg	crisv32 | crisv32-* | etraxfs*)
5782c393a42Smrg		basic_machine=crisv32-axis
5792c393a42Smrg		;;
5802c393a42Smrg	cris | cris-* | etrax*)
5812c393a42Smrg		basic_machine=cris-axis
5822c393a42Smrg		;;
5832c393a42Smrg	crx)
5842c393a42Smrg		basic_machine=crx-unknown
5852c393a42Smrg		os=-elf
5862c393a42Smrg		;;
5872c393a42Smrg	da30 | da30-*)
5882c393a42Smrg		basic_machine=m68k-da30
5892c393a42Smrg		;;
5902c393a42Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5912c393a42Smrg		basic_machine=mips-dec
5922c393a42Smrg		;;
5932c393a42Smrg	decsystem10* | dec10*)
5942c393a42Smrg		basic_machine=pdp10-dec
5952c393a42Smrg		os=-tops10
5962c393a42Smrg		;;
5972c393a42Smrg	decsystem20* | dec20*)
5982c393a42Smrg		basic_machine=pdp10-dec
5992c393a42Smrg		os=-tops20
6002c393a42Smrg		;;
6012c393a42Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6022c393a42Smrg	      | 3300-motorola | delta-motorola)
6032c393a42Smrg		basic_machine=m68k-motorola
6042c393a42Smrg		;;
6052c393a42Smrg	delta88)
6062c393a42Smrg		basic_machine=m88k-motorola
6072c393a42Smrg		os=-sysv3
6082c393a42Smrg		;;
609ca08ab68Smrg	dicos)
610ca08ab68Smrg		basic_machine=i686-pc
611ca08ab68Smrg		os=-dicos
612ca08ab68Smrg		;;
6132c393a42Smrg	djgpp)
6142c393a42Smrg		basic_machine=i586-pc
6152c393a42Smrg		os=-msdosdjgpp
6162c393a42Smrg		;;
6172c393a42Smrg	dpx20 | dpx20-*)
6182c393a42Smrg		basic_machine=rs6000-bull
6192c393a42Smrg		os=-bosx
6202c393a42Smrg		;;
6212c393a42Smrg	dpx2* | dpx2*-bull)
6222c393a42Smrg		basic_machine=m68k-bull
6232c393a42Smrg		os=-sysv3
6242c393a42Smrg		;;
6252c393a42Smrg	ebmon29k)
6262c393a42Smrg		basic_machine=a29k-amd
6272c393a42Smrg		os=-ebmon
6282c393a42Smrg		;;
6292c393a42Smrg	elxsi)
6302c393a42Smrg		basic_machine=elxsi-elxsi
6312c393a42Smrg		os=-bsd
6322c393a42Smrg		;;
6332c393a42Smrg	encore | umax | mmax)
6342c393a42Smrg		basic_machine=ns32k-encore
6352c393a42Smrg		;;
6362c393a42Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6372c393a42Smrg		basic_machine=m68k-ericsson
6382c393a42Smrg		os=-ose
6392c393a42Smrg		;;
6402c393a42Smrg	fx2800)
6412c393a42Smrg		basic_machine=i860-alliant
6422c393a42Smrg		;;
6432c393a42Smrg	genix)
6442c393a42Smrg		basic_machine=ns32k-ns
6452c393a42Smrg		;;
6462c393a42Smrg	gmicro)
6472c393a42Smrg		basic_machine=tron-gmicro
6482c393a42Smrg		os=-sysv
6492c393a42Smrg		;;
6502c393a42Smrg	go32)
6512c393a42Smrg		basic_machine=i386-pc
6522c393a42Smrg		os=-go32
6532c393a42Smrg		;;
6542c393a42Smrg	h3050r* | hiux*)
6552c393a42Smrg		basic_machine=hppa1.1-hitachi
6562c393a42Smrg		os=-hiuxwe2
6572c393a42Smrg		;;
6582c393a42Smrg	h8300hms)
6592c393a42Smrg		basic_machine=h8300-hitachi
6602c393a42Smrg		os=-hms
6612c393a42Smrg		;;
6622c393a42Smrg	h8300xray)
6632c393a42Smrg		basic_machine=h8300-hitachi
6642c393a42Smrg		os=-xray
6652c393a42Smrg		;;
6662c393a42Smrg	h8500hms)
6672c393a42Smrg		basic_machine=h8500-hitachi
6682c393a42Smrg		os=-hms
6692c393a42Smrg		;;
6702c393a42Smrg	harris)
6712c393a42Smrg		basic_machine=m88k-harris
6722c393a42Smrg		os=-sysv3
6732c393a42Smrg		;;
6742c393a42Smrg	hp300-*)
6752c393a42Smrg		basic_machine=m68k-hp
6762c393a42Smrg		;;
6772c393a42Smrg	hp300bsd)
6782c393a42Smrg		basic_machine=m68k-hp
6792c393a42Smrg		os=-bsd
6802c393a42Smrg		;;
6812c393a42Smrg	hp300hpux)
6822c393a42Smrg		basic_machine=m68k-hp
6832c393a42Smrg		os=-hpux
6842c393a42Smrg		;;
6852c393a42Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6862c393a42Smrg		basic_machine=hppa1.0-hp
6872c393a42Smrg		;;
6882c393a42Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6892c393a42Smrg		basic_machine=m68000-hp
6902c393a42Smrg		;;
6912c393a42Smrg	hp9k3[2-9][0-9])
6922c393a42Smrg		basic_machine=m68k-hp
6932c393a42Smrg		;;
6942c393a42Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6952c393a42Smrg		basic_machine=hppa1.0-hp
6962c393a42Smrg		;;
6972c393a42Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6982c393a42Smrg		basic_machine=hppa1.1-hp
6992c393a42Smrg		;;
7002c393a42Smrg	hp9k78[0-9] | hp78[0-9])
7012c393a42Smrg		# FIXME: really hppa2.0-hp
7022c393a42Smrg		basic_machine=hppa1.1-hp
7032c393a42Smrg		;;
7042c393a42Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7052c393a42Smrg		# FIXME: really hppa2.0-hp
7062c393a42Smrg		basic_machine=hppa1.1-hp
7072c393a42Smrg		;;
7082c393a42Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7092c393a42Smrg		basic_machine=hppa1.1-hp
7102c393a42Smrg		;;
7112c393a42Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7122c393a42Smrg		basic_machine=hppa1.0-hp
7132c393a42Smrg		;;
7142c393a42Smrg	hppa-next)
7152c393a42Smrg		os=-nextstep3
7162c393a42Smrg		;;
7172c393a42Smrg	hppaosf)
7182c393a42Smrg		basic_machine=hppa1.1-hp
7192c393a42Smrg		os=-osf
7202c393a42Smrg		;;
7212c393a42Smrg	hppro)
7222c393a42Smrg		basic_machine=hppa1.1-hp
7232c393a42Smrg		os=-proelf
7242c393a42Smrg		;;
7252c393a42Smrg	i370-ibm* | ibm*)
7262c393a42Smrg		basic_machine=i370-ibm
7272c393a42Smrg		;;
7282c393a42Smrg	i*86v32)
7292c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7302c393a42Smrg		os=-sysv32
7312c393a42Smrg		;;
7322c393a42Smrg	i*86v4*)
7332c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7342c393a42Smrg		os=-sysv4
7352c393a42Smrg		;;
7362c393a42Smrg	i*86v)
7372c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7382c393a42Smrg		os=-sysv
7392c393a42Smrg		;;
7402c393a42Smrg	i*86sol2)
7412c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7422c393a42Smrg		os=-solaris2
7432c393a42Smrg		;;
7442c393a42Smrg	i386mach)
7452c393a42Smrg		basic_machine=i386-mach
7462c393a42Smrg		os=-mach
7472c393a42Smrg		;;
7482c393a42Smrg	i386-vsta | vsta)
7492c393a42Smrg		basic_machine=i386-unknown
7502c393a42Smrg		os=-vsta
7512c393a42Smrg		;;
7522c393a42Smrg	iris | iris4d)
7532c393a42Smrg		basic_machine=mips-sgi
7542c393a42Smrg		case $os in
7552c393a42Smrg		    -irix*)
7562c393a42Smrg			;;
7572c393a42Smrg		    *)
7582c393a42Smrg			os=-irix4
7592c393a42Smrg			;;
7602c393a42Smrg		esac
7612c393a42Smrg		;;
7622c393a42Smrg	isi68 | isi)
7632c393a42Smrg		basic_machine=m68k-isi
7642c393a42Smrg		os=-sysv
7652c393a42Smrg		;;
7662c393a42Smrg	m68knommu)
7672c393a42Smrg		basic_machine=m68k-unknown
7682c393a42Smrg		os=-linux
7692c393a42Smrg		;;
7702c393a42Smrg	m68knommu-*)
7712c393a42Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7722c393a42Smrg		os=-linux
7732c393a42Smrg		;;
7742c393a42Smrg	m88k-omron*)
7752c393a42Smrg		basic_machine=m88k-omron
7762c393a42Smrg		;;
7772c393a42Smrg	magnum | m3230)
7782c393a42Smrg		basic_machine=mips-mips
7792c393a42Smrg		os=-sysv
7802c393a42Smrg		;;
7812c393a42Smrg	merlin)
7822c393a42Smrg		basic_machine=ns32k-utek
7832c393a42Smrg		os=-sysv
7842c393a42Smrg		;;
785ca08ab68Smrg	microblaze)
786ca08ab68Smrg		basic_machine=microblaze-xilinx
787ca08ab68Smrg		;;
7882c393a42Smrg	mingw32)
7892c393a42Smrg		basic_machine=i386-pc
7902c393a42Smrg		os=-mingw32
7912c393a42Smrg		;;
7922c393a42Smrg	mingw32ce)
7932c393a42Smrg		basic_machine=arm-unknown
7942c393a42Smrg		os=-mingw32ce
7952c393a42Smrg		;;
7962c393a42Smrg	miniframe)
7972c393a42Smrg		basic_machine=m68000-convergent
7982c393a42Smrg		;;
7992c393a42Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8002c393a42Smrg		basic_machine=m68k-atari
8012c393a42Smrg		os=-mint
8022c393a42Smrg		;;
8032c393a42Smrg	mips3*-*)
8042c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8052c393a42Smrg		;;
8062c393a42Smrg	mips3*)
8072c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8082c393a42Smrg		;;
8092c393a42Smrg	monitor)
8102c393a42Smrg		basic_machine=m68k-rom68k
8112c393a42Smrg		os=-coff
8122c393a42Smrg		;;
8132c393a42Smrg	morphos)
8142c393a42Smrg		basic_machine=powerpc-unknown
8152c393a42Smrg		os=-morphos
8162c393a42Smrg		;;
8172c393a42Smrg	msdos)
8182c393a42Smrg		basic_machine=i386-pc
8192c393a42Smrg		os=-msdos
8202c393a42Smrg		;;
8212c393a42Smrg	ms1-*)
8222c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8232c393a42Smrg		;;
824ca08ab68Smrg	msys)
825ca08ab68Smrg		basic_machine=i386-pc
826ca08ab68Smrg		os=-msys
827ca08ab68Smrg		;;
8282c393a42Smrg	mvs)
8292c393a42Smrg		basic_machine=i370-ibm
8302c393a42Smrg		os=-mvs
8312c393a42Smrg		;;
832ca08ab68Smrg	nacl)
833ca08ab68Smrg		basic_machine=le32-unknown
834ca08ab68Smrg		os=-nacl
835ca08ab68Smrg		;;
8362c393a42Smrg	ncr3000)
8372c393a42Smrg		basic_machine=i486-ncr
8382c393a42Smrg		os=-sysv4
8392c393a42Smrg		;;
8402c393a42Smrg	netbsd386)
8412c393a42Smrg		basic_machine=i386-unknown
8422c393a42Smrg		os=-netbsd
8432c393a42Smrg		;;
8442c393a42Smrg	netwinder)
8452c393a42Smrg		basic_machine=armv4l-rebel
8462c393a42Smrg		os=-linux
8472c393a42Smrg		;;
8482c393a42Smrg	news | news700 | news800 | news900)
8492c393a42Smrg		basic_machine=m68k-sony
8502c393a42Smrg		os=-newsos
8512c393a42Smrg		;;
8522c393a42Smrg	news1000)
8532c393a42Smrg		basic_machine=m68030-sony
8542c393a42Smrg		os=-newsos
8552c393a42Smrg		;;
8562c393a42Smrg	news-3600 | risc-news)
8572c393a42Smrg		basic_machine=mips-sony
8582c393a42Smrg		os=-newsos
8592c393a42Smrg		;;
8602c393a42Smrg	necv70)
8612c393a42Smrg		basic_machine=v70-nec
8622c393a42Smrg		os=-sysv
8632c393a42Smrg		;;
8642c393a42Smrg	next | m*-next )
8652c393a42Smrg		basic_machine=m68k-next
8662c393a42Smrg		case $os in
8672c393a42Smrg		    -nextstep* )
8682c393a42Smrg			;;
8692c393a42Smrg		    -ns2*)
8702c393a42Smrg		      os=-nextstep2
8712c393a42Smrg			;;
8722c393a42Smrg		    *)
8732c393a42Smrg		      os=-nextstep3
8742c393a42Smrg			;;
8752c393a42Smrg		esac
8762c393a42Smrg		;;
8772c393a42Smrg	nh3000)
8782c393a42Smrg		basic_machine=m68k-harris
8792c393a42Smrg		os=-cxux
8802c393a42Smrg		;;
8812c393a42Smrg	nh[45]000)
8822c393a42Smrg		basic_machine=m88k-harris
8832c393a42Smrg		os=-cxux
8842c393a42Smrg		;;
8852c393a42Smrg	nindy960)
8862c393a42Smrg		basic_machine=i960-intel
8872c393a42Smrg		os=-nindy
8882c393a42Smrg		;;
8892c393a42Smrg	mon960)
8902c393a42Smrg		basic_machine=i960-intel
8912c393a42Smrg		os=-mon960
8922c393a42Smrg		;;
8932c393a42Smrg	nonstopux)
8942c393a42Smrg		basic_machine=mips-compaq
8952c393a42Smrg		os=-nonstopux
8962c393a42Smrg		;;
8972c393a42Smrg	np1)
8982c393a42Smrg		basic_machine=np1-gould
8992c393a42Smrg		;;
900ca08ab68Smrg	neo-tandem)
901ca08ab68Smrg		basic_machine=neo-tandem
902ca08ab68Smrg		;;
903ca08ab68Smrg	nse-tandem)
904ca08ab68Smrg		basic_machine=nse-tandem
905ca08ab68Smrg		;;
9062c393a42Smrg	nsr-tandem)
9072c393a42Smrg		basic_machine=nsr-tandem
9082c393a42Smrg		;;
9092c393a42Smrg	op50n-* | op60c-*)
9102c393a42Smrg		basic_machine=hppa1.1-oki
9112c393a42Smrg		os=-proelf
9122c393a42Smrg		;;
9132c393a42Smrg	openrisc | openrisc-*)
9142c393a42Smrg		basic_machine=or32-unknown
9152c393a42Smrg		;;
9162c393a42Smrg	os400)
9172c393a42Smrg		basic_machine=powerpc-ibm
9182c393a42Smrg		os=-os400
9192c393a42Smrg		;;
9202c393a42Smrg	OSE68000 | ose68000)
9212c393a42Smrg		basic_machine=m68000-ericsson
9222c393a42Smrg		os=-ose
9232c393a42Smrg		;;
9242c393a42Smrg	os68k)
9252c393a42Smrg		basic_machine=m68k-none
9262c393a42Smrg		os=-os68k
9272c393a42Smrg		;;
9282c393a42Smrg	pa-hitachi)
9292c393a42Smrg		basic_machine=hppa1.1-hitachi
9302c393a42Smrg		os=-hiuxwe2
9312c393a42Smrg		;;
9322c393a42Smrg	paragon)
9332c393a42Smrg		basic_machine=i860-intel
9342c393a42Smrg		os=-osf
9352c393a42Smrg		;;
9362c393a42Smrg	parisc)
9372c393a42Smrg		basic_machine=hppa-unknown
9382c393a42Smrg		os=-linux
9392c393a42Smrg		;;
9402c393a42Smrg	parisc-*)
9412c393a42Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9422c393a42Smrg		os=-linux
9432c393a42Smrg		;;
9442c393a42Smrg	pbd)
9452c393a42Smrg		basic_machine=sparc-tti
9462c393a42Smrg		;;
9472c393a42Smrg	pbb)
9482c393a42Smrg		basic_machine=m68k-tti
9492c393a42Smrg		;;
9502c393a42Smrg	pc532 | pc532-*)
9512c393a42Smrg		basic_machine=ns32k-pc532
9522c393a42Smrg		;;
9532c393a42Smrg	pc98)
9542c393a42Smrg		basic_machine=i386-pc
9552c393a42Smrg		;;
9562c393a42Smrg	pc98-*)
9572c393a42Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9582c393a42Smrg		;;
9592c393a42Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9602c393a42Smrg		basic_machine=i586-pc
9612c393a42Smrg		;;
9622c393a42Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9632c393a42Smrg		basic_machine=i686-pc
9642c393a42Smrg		;;
9652c393a42Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9662c393a42Smrg		basic_machine=i686-pc
9672c393a42Smrg		;;
9682c393a42Smrg	pentium4)
9692c393a42Smrg		basic_machine=i786-pc
9702c393a42Smrg		;;
9712c393a42Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9722c393a42Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9732c393a42Smrg		;;
9742c393a42Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9752c393a42Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9762c393a42Smrg		;;
9772c393a42Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9782c393a42Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9792c393a42Smrg		;;
9802c393a42Smrg	pentium4-*)
9812c393a42Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9822c393a42Smrg		;;
9832c393a42Smrg	pn)
9842c393a42Smrg		basic_machine=pn-gould
9852c393a42Smrg		;;
9862c393a42Smrg	power)	basic_machine=power-ibm
9872c393a42Smrg		;;
988ca08ab68Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9892c393a42Smrg		;;
990ca08ab68Smrg	ppc-* | ppcbe-*)
991ca08ab68Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9922c393a42Smrg		;;
9932c393a42Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9942c393a42Smrg		basic_machine=powerpcle-unknown
9952c393a42Smrg		;;
9962c393a42Smrg	ppcle-* | powerpclittle-*)
9972c393a42Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9982c393a42Smrg		;;
9992c393a42Smrg	ppc64)	basic_machine=powerpc64-unknown
10002c393a42Smrg		;;
10012c393a42Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10022c393a42Smrg		;;
10032c393a42Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10042c393a42Smrg		basic_machine=powerpc64le-unknown
10052c393a42Smrg		;;
10062c393a42Smrg	ppc64le-* | powerpc64little-*)
10072c393a42Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10082c393a42Smrg		;;
10092c393a42Smrg	ps2)
10102c393a42Smrg		basic_machine=i386-ibm
10112c393a42Smrg		;;
10122c393a42Smrg	pw32)
10132c393a42Smrg		basic_machine=i586-unknown
10142c393a42Smrg		os=-pw32
10152c393a42Smrg		;;
10162c393a42Smrg	rdos)
10172c393a42Smrg		basic_machine=i386-pc
10182c393a42Smrg		os=-rdos
10192c393a42Smrg		;;
10202c393a42Smrg	rom68k)
10212c393a42Smrg		basic_machine=m68k-rom68k
10222c393a42Smrg		os=-coff
10232c393a42Smrg		;;
10242c393a42Smrg	rm[46]00)
10252c393a42Smrg		basic_machine=mips-siemens
10262c393a42Smrg		;;
10272c393a42Smrg	rtpc | rtpc-*)
10282c393a42Smrg		basic_machine=romp-ibm
10292c393a42Smrg		;;
10302c393a42Smrg	s390 | s390-*)
10312c393a42Smrg		basic_machine=s390-ibm
10322c393a42Smrg		;;
10332c393a42Smrg	s390x | s390x-*)
10342c393a42Smrg		basic_machine=s390x-ibm
10352c393a42Smrg		;;
10362c393a42Smrg	sa29200)
10372c393a42Smrg		basic_machine=a29k-amd
10382c393a42Smrg		os=-udi
10392c393a42Smrg		;;
10402c393a42Smrg	sb1)
10412c393a42Smrg		basic_machine=mipsisa64sb1-unknown
10422c393a42Smrg		;;
10432c393a42Smrg	sb1el)
10442c393a42Smrg		basic_machine=mipsisa64sb1el-unknown
10452c393a42Smrg		;;
10462c393a42Smrg	sde)
10472c393a42Smrg		basic_machine=mipsisa32-sde
10482c393a42Smrg		os=-elf
10492c393a42Smrg		;;
10502c393a42Smrg	sei)
10512c393a42Smrg		basic_machine=mips-sei
10522c393a42Smrg		os=-seiux
10532c393a42Smrg		;;
10542c393a42Smrg	sequent)
10552c393a42Smrg		basic_machine=i386-sequent
10562c393a42Smrg		;;
10572c393a42Smrg	sh)
10582c393a42Smrg		basic_machine=sh-hitachi
10592c393a42Smrg		os=-hms
10602c393a42Smrg		;;
10612c393a42Smrg	sh5el)
10622c393a42Smrg		basic_machine=sh5le-unknown
10632c393a42Smrg		;;
10642c393a42Smrg	sh64)
10652c393a42Smrg		basic_machine=sh64-unknown
10662c393a42Smrg		;;
10672c393a42Smrg	sparclite-wrs | simso-wrs)
10682c393a42Smrg		basic_machine=sparclite-wrs
10692c393a42Smrg		os=-vxworks
10702c393a42Smrg		;;
10712c393a42Smrg	sps7)
10722c393a42Smrg		basic_machine=m68k-bull
10732c393a42Smrg		os=-sysv2
10742c393a42Smrg		;;
10752c393a42Smrg	spur)
10762c393a42Smrg		basic_machine=spur-unknown
10772c393a42Smrg		;;
10782c393a42Smrg	st2000)
10792c393a42Smrg		basic_machine=m68k-tandem
10802c393a42Smrg		;;
10812c393a42Smrg	stratus)
10822c393a42Smrg		basic_machine=i860-stratus
10832c393a42Smrg		os=-sysv4
10842c393a42Smrg		;;
1085ca08ab68Smrg	strongarm-* | thumb-*)
1086ca08ab68Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1087ca08ab68Smrg		;;
10882c393a42Smrg	sun2)
10892c393a42Smrg		basic_machine=m68000-sun
10902c393a42Smrg		;;
10912c393a42Smrg	sun2os3)
10922c393a42Smrg		basic_machine=m68000-sun
10932c393a42Smrg		os=-sunos3
10942c393a42Smrg		;;
10952c393a42Smrg	sun2os4)
10962c393a42Smrg		basic_machine=m68000-sun
10972c393a42Smrg		os=-sunos4
10982c393a42Smrg		;;
10992c393a42Smrg	sun3os3)
11002c393a42Smrg		basic_machine=m68k-sun
11012c393a42Smrg		os=-sunos3
11022c393a42Smrg		;;
11032c393a42Smrg	sun3os4)
11042c393a42Smrg		basic_machine=m68k-sun
11052c393a42Smrg		os=-sunos4
11062c393a42Smrg		;;
11072c393a42Smrg	sun4os3)
11082c393a42Smrg		basic_machine=sparc-sun
11092c393a42Smrg		os=-sunos3
11102c393a42Smrg		;;
11112c393a42Smrg	sun4os4)
11122c393a42Smrg		basic_machine=sparc-sun
11132c393a42Smrg		os=-sunos4
11142c393a42Smrg		;;
11152c393a42Smrg	sun4sol2)
11162c393a42Smrg		basic_machine=sparc-sun
11172c393a42Smrg		os=-solaris2
11182c393a42Smrg		;;
11192c393a42Smrg	sun3 | sun3-*)
11202c393a42Smrg		basic_machine=m68k-sun
11212c393a42Smrg		;;
11222c393a42Smrg	sun4)
11232c393a42Smrg		basic_machine=sparc-sun
11242c393a42Smrg		;;
11252c393a42Smrg	sun386 | sun386i | roadrunner)
11262c393a42Smrg		basic_machine=i386-sun
11272c393a42Smrg		;;
11282c393a42Smrg	sv1)
11292c393a42Smrg		basic_machine=sv1-cray
11302c393a42Smrg		os=-unicos
11312c393a42Smrg		;;
11322c393a42Smrg	symmetry)
11332c393a42Smrg		basic_machine=i386-sequent
11342c393a42Smrg		os=-dynix
11352c393a42Smrg		;;
11362c393a42Smrg	t3e)
11372c393a42Smrg		basic_machine=alphaev5-cray
11382c393a42Smrg		os=-unicos
11392c393a42Smrg		;;
11402c393a42Smrg	t90)
11412c393a42Smrg		basic_machine=t90-cray
11422c393a42Smrg		os=-unicos
11432c393a42Smrg		;;
11442c393a42Smrg	tile*)
1145ca08ab68Smrg		basic_machine=$basic_machine-unknown
11462c393a42Smrg		os=-linux-gnu
11472c393a42Smrg		;;
11482c393a42Smrg	tx39)
11492c393a42Smrg		basic_machine=mipstx39-unknown
11502c393a42Smrg		;;
11512c393a42Smrg	tx39el)
11522c393a42Smrg		basic_machine=mipstx39el-unknown
11532c393a42Smrg		;;
11542c393a42Smrg	toad1)
11552c393a42Smrg		basic_machine=pdp10-xkl
11562c393a42Smrg		os=-tops20
11572c393a42Smrg		;;
11582c393a42Smrg	tower | tower-32)
11592c393a42Smrg		basic_machine=m68k-ncr
11602c393a42Smrg		;;
11612c393a42Smrg	tpf)
11622c393a42Smrg		basic_machine=s390x-ibm
11632c393a42Smrg		os=-tpf
11642c393a42Smrg		;;
11652c393a42Smrg	udi29k)
11662c393a42Smrg		basic_machine=a29k-amd
11672c393a42Smrg		os=-udi
11682c393a42Smrg		;;
11692c393a42Smrg	ultra3)
11702c393a42Smrg		basic_machine=a29k-nyu
11712c393a42Smrg		os=-sym1
11722c393a42Smrg		;;
11732c393a42Smrg	v810 | necv810)
11742c393a42Smrg		basic_machine=v810-nec
11752c393a42Smrg		os=-none
11762c393a42Smrg		;;
11772c393a42Smrg	vaxv)
11782c393a42Smrg		basic_machine=vax-dec
11792c393a42Smrg		os=-sysv
11802c393a42Smrg		;;
11812c393a42Smrg	vms)
11822c393a42Smrg		basic_machine=vax-dec
11832c393a42Smrg		os=-vms
11842c393a42Smrg		;;
11852c393a42Smrg	vpp*|vx|vx-*)
11862c393a42Smrg		basic_machine=f301-fujitsu
11872c393a42Smrg		;;
11882c393a42Smrg	vxworks960)
11892c393a42Smrg		basic_machine=i960-wrs
11902c393a42Smrg		os=-vxworks
11912c393a42Smrg		;;
11922c393a42Smrg	vxworks68)
11932c393a42Smrg		basic_machine=m68k-wrs
11942c393a42Smrg		os=-vxworks
11952c393a42Smrg		;;
11962c393a42Smrg	vxworks29k)
11972c393a42Smrg		basic_machine=a29k-wrs
11982c393a42Smrg		os=-vxworks
11992c393a42Smrg		;;
12002c393a42Smrg	w65*)
12012c393a42Smrg		basic_machine=w65-wdc
12022c393a42Smrg		os=-none
12032c393a42Smrg		;;
12042c393a42Smrg	w89k-*)
12052c393a42Smrg		basic_machine=hppa1.1-winbond
12062c393a42Smrg		os=-proelf
12072c393a42Smrg		;;
12082c393a42Smrg	xbox)
12092c393a42Smrg		basic_machine=i686-pc
12102c393a42Smrg		os=-mingw32
12112c393a42Smrg		;;
12122c393a42Smrg	xps | xps100)
12132c393a42Smrg		basic_machine=xps100-honeywell
12142c393a42Smrg		;;
1215ca08ab68Smrg	xscale-* | xscalee[bl]-*)
1216ca08ab68Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1217ca08ab68Smrg		;;
12182c393a42Smrg	ymp)
12192c393a42Smrg		basic_machine=ymp-cray
12202c393a42Smrg		os=-unicos
12212c393a42Smrg		;;
12222c393a42Smrg	z8k-*-coff)
12232c393a42Smrg		basic_machine=z8k-unknown
12242c393a42Smrg		os=-sim
12252c393a42Smrg		;;
1226ca08ab68Smrg	z80-*-coff)
1227ca08ab68Smrg		basic_machine=z80-unknown
1228ca08ab68Smrg		os=-sim
1229ca08ab68Smrg		;;
12302c393a42Smrg	none)
12312c393a42Smrg		basic_machine=none-none
12322c393a42Smrg		os=-none
12332c393a42Smrg		;;
12342c393a42Smrg
12352c393a42Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12362c393a42Smrg# some cases the only manufacturer, in others, it is the most popular.
12372c393a42Smrg	w89k)
12382c393a42Smrg		basic_machine=hppa1.1-winbond
12392c393a42Smrg		;;
12402c393a42Smrg	op50n)
12412c393a42Smrg		basic_machine=hppa1.1-oki
12422c393a42Smrg		;;
12432c393a42Smrg	op60c)
12442c393a42Smrg		basic_machine=hppa1.1-oki
12452c393a42Smrg		;;
12462c393a42Smrg	romp)
12472c393a42Smrg		basic_machine=romp-ibm
12482c393a42Smrg		;;
12492c393a42Smrg	mmix)
12502c393a42Smrg		basic_machine=mmix-knuth
12512c393a42Smrg		;;
12522c393a42Smrg	rs6000)
12532c393a42Smrg		basic_machine=rs6000-ibm
12542c393a42Smrg		;;
12552c393a42Smrg	vax)
12562c393a42Smrg		basic_machine=vax-dec
12572c393a42Smrg		;;
12582c393a42Smrg	pdp10)
12592c393a42Smrg		# there are many clones, so DEC is not a safe bet
12602c393a42Smrg		basic_machine=pdp10-unknown
12612c393a42Smrg		;;
12622c393a42Smrg	pdp11)
12632c393a42Smrg		basic_machine=pdp11-dec
12642c393a42Smrg		;;
12652c393a42Smrg	we32k)
12662c393a42Smrg		basic_machine=we32k-att
12672c393a42Smrg		;;
1268ca08ab68Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12692c393a42Smrg		basic_machine=sh-unknown
12702c393a42Smrg		;;
12712c393a42Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12722c393a42Smrg		basic_machine=sparc-sun
12732c393a42Smrg		;;
12742c393a42Smrg	cydra)
12752c393a42Smrg		basic_machine=cydra-cydrome
12762c393a42Smrg		;;
12772c393a42Smrg	orion)
12782c393a42Smrg		basic_machine=orion-highlevel
12792c393a42Smrg		;;
12802c393a42Smrg	orion105)
12812c393a42Smrg		basic_machine=clipper-highlevel
12822c393a42Smrg		;;
12832c393a42Smrg	mac | mpw | mac-mpw)
12842c393a42Smrg		basic_machine=m68k-apple
12852c393a42Smrg		;;
12862c393a42Smrg	pmac | pmac-mpw)
12872c393a42Smrg		basic_machine=powerpc-apple
12882c393a42Smrg		;;
12892c393a42Smrg	*-unknown)
12902c393a42Smrg		# Make sure to match an already-canonicalized machine name.
12912c393a42Smrg		;;
12922c393a42Smrg	*)
12932c393a42Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12942c393a42Smrg		exit 1
12952c393a42Smrg		;;
12962c393a42Smrgesac
12972c393a42Smrg
12982c393a42Smrg# Here we canonicalize certain aliases for manufacturers.
12992c393a42Smrgcase $basic_machine in
13002c393a42Smrg	*-digital*)
13012c393a42Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13022c393a42Smrg		;;
13032c393a42Smrg	*-commodore*)
13042c393a42Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13052c393a42Smrg		;;
13062c393a42Smrg	*)
13072c393a42Smrg		;;
13082c393a42Smrgesac
13092c393a42Smrg
13102c393a42Smrg# Decode manufacturer-specific aliases for certain operating systems.
13112c393a42Smrg
13122c393a42Smrgif [ x"$os" != x"" ]
13132c393a42Smrgthen
13142c393a42Smrgcase $os in
1315ca08ab68Smrg	# First match some system type aliases
1316ca08ab68Smrg	# that might get confused with valid system types.
13172c393a42Smrg	# -solaris* is a basic system type, with this one exception.
1318ca08ab68Smrg	-auroraux)
1319ca08ab68Smrg		os=-auroraux
1320ca08ab68Smrg		;;
13212c393a42Smrg	-solaris1 | -solaris1.*)
13222c393a42Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13232c393a42Smrg		;;
13242c393a42Smrg	-solaris)
13252c393a42Smrg		os=-solaris2
13262c393a42Smrg		;;
13272c393a42Smrg	-svr4*)
13282c393a42Smrg		os=-sysv4
13292c393a42Smrg		;;
13302c393a42Smrg	-unixware*)
13312c393a42Smrg		os=-sysv4.2uw
13322c393a42Smrg		;;
13332c393a42Smrg	-gnu/linux*)
13342c393a42Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13352c393a42Smrg		;;
13362c393a42Smrg	# First accept the basic system types.
13372c393a42Smrg	# The portable systems comes first.
13382c393a42Smrg	# Each alternative MUST END IN A *, to match a version number.
13392c393a42Smrg	# -sysv* is not here because it comes later, after sysvr4.
13402c393a42Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1341ca08ab68Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1342ca08ab68Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1343ca08ab68Smrg	      | -sym* | -kopensolaris* \
13442c393a42Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1345ca08ab68Smrg	      | -aos* | -aros* \
13462c393a42Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13472c393a42Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13482c393a42Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13492c393a42Smrg	      | -openbsd* | -solidbsd* \
13502c393a42Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13512c393a42Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13522c393a42Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13532c393a42Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1354ca08ab68Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1355ca08ab68Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1356ca08ab68Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1357ca08ab68Smrg	      | -linux-newlib* | -linux-uclibc* \
13582c393a42Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13592c393a42Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13602c393a42Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13612c393a42Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13622c393a42Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13632c393a42Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13642c393a42Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1365ca08ab68Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13662c393a42Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13672c393a42Smrg		;;
13682c393a42Smrg	-qnx*)
13692c393a42Smrg		case $basic_machine in
13702c393a42Smrg		    x86-* | i*86-*)
13712c393a42Smrg			;;
13722c393a42Smrg		    *)
13732c393a42Smrg			os=-nto$os
13742c393a42Smrg			;;
13752c393a42Smrg		esac
13762c393a42Smrg		;;
13772c393a42Smrg	-nto-qnx*)
13782c393a42Smrg		;;
13792c393a42Smrg	-nto*)
13802c393a42Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13812c393a42Smrg		;;
13822c393a42Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13832c393a42Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13842c393a42Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13852c393a42Smrg		;;
13862c393a42Smrg	-mac*)
13872c393a42Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13882c393a42Smrg		;;
13892c393a42Smrg	-linux-dietlibc)
13902c393a42Smrg		os=-linux-dietlibc
13912c393a42Smrg		;;
13922c393a42Smrg	-linux*)
13932c393a42Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13942c393a42Smrg		;;
13952c393a42Smrg	-sunos5*)
13962c393a42Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13972c393a42Smrg		;;
13982c393a42Smrg	-sunos6*)
13992c393a42Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14002c393a42Smrg		;;
14012c393a42Smrg	-opened*)
14022c393a42Smrg		os=-openedition
14032c393a42Smrg		;;
1404ca08ab68Smrg	-os400*)
14052c393a42Smrg		os=-os400
14062c393a42Smrg		;;
14072c393a42Smrg	-wince*)
14082c393a42Smrg		os=-wince
14092c393a42Smrg		;;
14102c393a42Smrg	-osfrose*)
14112c393a42Smrg		os=-osfrose
14122c393a42Smrg		;;
14132c393a42Smrg	-osf*)
14142c393a42Smrg		os=-osf
14152c393a42Smrg		;;
14162c393a42Smrg	-utek*)
14172c393a42Smrg		os=-bsd
14182c393a42Smrg		;;
14192c393a42Smrg	-dynix*)
14202c393a42Smrg		os=-bsd
14212c393a42Smrg		;;
14222c393a42Smrg	-acis*)
14232c393a42Smrg		os=-aos
14242c393a42Smrg		;;
14252c393a42Smrg	-atheos*)
14262c393a42Smrg		os=-atheos
14272c393a42Smrg		;;
14282c393a42Smrg	-syllable*)
14292c393a42Smrg		os=-syllable
14302c393a42Smrg		;;
14312c393a42Smrg	-386bsd)
14322c393a42Smrg		os=-bsd
14332c393a42Smrg		;;
14342c393a42Smrg	-ctix* | -uts*)
14352c393a42Smrg		os=-sysv
14362c393a42Smrg		;;
14372c393a42Smrg	-nova*)
14382c393a42Smrg		os=-rtmk-nova
14392c393a42Smrg		;;
14402c393a42Smrg	-ns2 )
14412c393a42Smrg		os=-nextstep2
14422c393a42Smrg		;;
14432c393a42Smrg	-nsk*)
14442c393a42Smrg		os=-nsk
14452c393a42Smrg		;;
14462c393a42Smrg	# Preserve the version number of sinix5.
14472c393a42Smrg	-sinix5.*)
14482c393a42Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14492c393a42Smrg		;;
14502c393a42Smrg	-sinix*)
14512c393a42Smrg		os=-sysv4
14522c393a42Smrg		;;
1453ca08ab68Smrg	-tpf*)
14542c393a42Smrg		os=-tpf
14552c393a42Smrg		;;
14562c393a42Smrg	-triton*)
14572c393a42Smrg		os=-sysv3
14582c393a42Smrg		;;
14592c393a42Smrg	-oss*)
14602c393a42Smrg		os=-sysv3
14612c393a42Smrg		;;
14622c393a42Smrg	-svr4)
14632c393a42Smrg		os=-sysv4
14642c393a42Smrg		;;
14652c393a42Smrg	-svr3)
14662c393a42Smrg		os=-sysv3
14672c393a42Smrg		;;
14682c393a42Smrg	-sysvr4)
14692c393a42Smrg		os=-sysv4
14702c393a42Smrg		;;
14712c393a42Smrg	# This must come after -sysvr4.
14722c393a42Smrg	-sysv*)
14732c393a42Smrg		;;
14742c393a42Smrg	-ose*)
14752c393a42Smrg		os=-ose
14762c393a42Smrg		;;
14772c393a42Smrg	-es1800*)
14782c393a42Smrg		os=-ose
14792c393a42Smrg		;;
14802c393a42Smrg	-xenix)
14812c393a42Smrg		os=-xenix
14822c393a42Smrg		;;
14832c393a42Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14842c393a42Smrg		os=-mint
14852c393a42Smrg		;;
14862c393a42Smrg	-aros*)
14872c393a42Smrg		os=-aros
14882c393a42Smrg		;;
14892c393a42Smrg	-kaos*)
14902c393a42Smrg		os=-kaos
14912c393a42Smrg		;;
14922c393a42Smrg	-zvmoe)
14932c393a42Smrg		os=-zvmoe
14942c393a42Smrg		;;
1495ca08ab68Smrg	-dicos*)
1496ca08ab68Smrg		os=-dicos
1497ca08ab68Smrg		;;
1498ca08ab68Smrg	-nacl*)
1499ca08ab68Smrg		;;
15002c393a42Smrg	-none)
15012c393a42Smrg		;;
15022c393a42Smrg	*)
15032c393a42Smrg		# Get rid of the `-' at the beginning of $os.
15042c393a42Smrg		os=`echo $os | sed 's/[^-]*-//'`
15052c393a42Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15062c393a42Smrg		exit 1
15072c393a42Smrg		;;
15082c393a42Smrgesac
15092c393a42Smrgelse
15102c393a42Smrg
15112c393a42Smrg# Here we handle the default operating systems that come with various machines.
15122c393a42Smrg# The value should be what the vendor currently ships out the door with their
15132c393a42Smrg# machine or put another way, the most popular os provided with the machine.
15142c393a42Smrg
15152c393a42Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15162c393a42Smrg# "-sun"), then you have to tell the case statement up towards the top
15172c393a42Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15182c393a42Smrg# will signal an error saying that MANUFACTURER isn't an operating
15192c393a42Smrg# system, and we'll never get to this point.
15202c393a42Smrg
15212c393a42Smrgcase $basic_machine in
1522ca08ab68Smrg	score-*)
15232c393a42Smrg		os=-elf
15242c393a42Smrg		;;
1525ca08ab68Smrg	spu-*)
15262c393a42Smrg		os=-elf
15272c393a42Smrg		;;
15282c393a42Smrg	*-acorn)
15292c393a42Smrg		os=-riscix1.2
15302c393a42Smrg		;;
15312c393a42Smrg	arm*-rebel)
15322c393a42Smrg		os=-linux
15332c393a42Smrg		;;
15342c393a42Smrg	arm*-semi)
15352c393a42Smrg		os=-aout
15362c393a42Smrg		;;
1537ca08ab68Smrg	c4x-* | tic4x-*)
1538ca08ab68Smrg		os=-coff
1539ca08ab68Smrg		;;
1540ca08ab68Smrg	tic54x-*)
1541ca08ab68Smrg		os=-coff
1542ca08ab68Smrg		;;
1543ca08ab68Smrg	tic55x-*)
1544ca08ab68Smrg		os=-coff
1545ca08ab68Smrg		;;
1546ca08ab68Smrg	tic6x-*)
1547ca08ab68Smrg		os=-coff
15482c393a42Smrg		;;
15492c393a42Smrg	# This must come before the *-dec entry.
15502c393a42Smrg	pdp10-*)
15512c393a42Smrg		os=-tops20
15522c393a42Smrg		;;
15532c393a42Smrg	pdp11-*)
15542c393a42Smrg		os=-none
15552c393a42Smrg		;;
15562c393a42Smrg	*-dec | vax-*)
15572c393a42Smrg		os=-ultrix4.2
15582c393a42Smrg		;;
15592c393a42Smrg	m68*-apollo)
15602c393a42Smrg		os=-domain
15612c393a42Smrg		;;
15622c393a42Smrg	i386-sun)
15632c393a42Smrg		os=-sunos4.0.2
15642c393a42Smrg		;;
15652c393a42Smrg	m68000-sun)
15662c393a42Smrg		os=-sunos3
15672c393a42Smrg		;;
15682c393a42Smrg	m68*-cisco)
15692c393a42Smrg		os=-aout
15702c393a42Smrg		;;
1571ca08ab68Smrg	mep-*)
15722c393a42Smrg		os=-elf
15732c393a42Smrg		;;
15742c393a42Smrg	mips*-cisco)
15752c393a42Smrg		os=-elf
15762c393a42Smrg		;;
15772c393a42Smrg	mips*-*)
15782c393a42Smrg		os=-elf
15792c393a42Smrg		;;
15802c393a42Smrg	or32-*)
15812c393a42Smrg		os=-coff
15822c393a42Smrg		;;
15832c393a42Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15842c393a42Smrg		os=-sysv3
15852c393a42Smrg		;;
15862c393a42Smrg	sparc-* | *-sun)
15872c393a42Smrg		os=-sunos4.1.1
15882c393a42Smrg		;;
15892c393a42Smrg	*-be)
15902c393a42Smrg		os=-beos
15912c393a42Smrg		;;
15922c393a42Smrg	*-haiku)
15932c393a42Smrg		os=-haiku
15942c393a42Smrg		;;
15952c393a42Smrg	*-ibm)
15962c393a42Smrg		os=-aix
15972c393a42Smrg		;;
1598ca08ab68Smrg	*-knuth)
15992c393a42Smrg		os=-mmixware
16002c393a42Smrg		;;
16012c393a42Smrg	*-wec)
16022c393a42Smrg		os=-proelf
16032c393a42Smrg		;;
16042c393a42Smrg	*-winbond)
16052c393a42Smrg		os=-proelf
16062c393a42Smrg		;;
16072c393a42Smrg	*-oki)
16082c393a42Smrg		os=-proelf
16092c393a42Smrg		;;
16102c393a42Smrg	*-hp)
16112c393a42Smrg		os=-hpux
16122c393a42Smrg		;;
16132c393a42Smrg	*-hitachi)
16142c393a42Smrg		os=-hiux
16152c393a42Smrg		;;
16162c393a42Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16172c393a42Smrg		os=-sysv
16182c393a42Smrg		;;
16192c393a42Smrg	*-cbm)
16202c393a42Smrg		os=-amigaos
16212c393a42Smrg		;;
16222c393a42Smrg	*-dg)
16232c393a42Smrg		os=-dgux
16242c393a42Smrg		;;
16252c393a42Smrg	*-dolphin)
16262c393a42Smrg		os=-sysv3
16272c393a42Smrg		;;
16282c393a42Smrg	m68k-ccur)
16292c393a42Smrg		os=-rtu
16302c393a42Smrg		;;
16312c393a42Smrg	m88k-omron*)
16322c393a42Smrg		os=-luna
16332c393a42Smrg		;;
16342c393a42Smrg	*-next )
16352c393a42Smrg		os=-nextstep
16362c393a42Smrg		;;
16372c393a42Smrg	*-sequent)
16382c393a42Smrg		os=-ptx
16392c393a42Smrg		;;
16402c393a42Smrg	*-crds)
16412c393a42Smrg		os=-unos
16422c393a42Smrg		;;
16432c393a42Smrg	*-ns)
16442c393a42Smrg		os=-genix
16452c393a42Smrg		;;
16462c393a42Smrg	i370-*)
16472c393a42Smrg		os=-mvs
16482c393a42Smrg		;;
16492c393a42Smrg	*-next)
16502c393a42Smrg		os=-nextstep3
16512c393a42Smrg		;;
16522c393a42Smrg	*-gould)
16532c393a42Smrg		os=-sysv
16542c393a42Smrg		;;
16552c393a42Smrg	*-highlevel)
16562c393a42Smrg		os=-bsd
16572c393a42Smrg		;;
16582c393a42Smrg	*-encore)
16592c393a42Smrg		os=-bsd
16602c393a42Smrg		;;
16612c393a42Smrg	*-sgi)
16622c393a42Smrg		os=-irix
16632c393a42Smrg		;;
16642c393a42Smrg	*-siemens)
16652c393a42Smrg		os=-sysv4
16662c393a42Smrg		;;
16672c393a42Smrg	*-masscomp)
16682c393a42Smrg		os=-rtu
16692c393a42Smrg		;;
16702c393a42Smrg	f30[01]-fujitsu | f700-fujitsu)
16712c393a42Smrg		os=-uxpv
16722c393a42Smrg		;;
16732c393a42Smrg	*-rom68k)
16742c393a42Smrg		os=-coff
16752c393a42Smrg		;;
16762c393a42Smrg	*-*bug)
16772c393a42Smrg		os=-coff
16782c393a42Smrg		;;
16792c393a42Smrg	*-apple)
16802c393a42Smrg		os=-macos
16812c393a42Smrg		;;
16822c393a42Smrg	*-atari*)
16832c393a42Smrg		os=-mint
16842c393a42Smrg		;;
16852c393a42Smrg	*)
16862c393a42Smrg		os=-none
16872c393a42Smrg		;;
16882c393a42Smrgesac
16892c393a42Smrgfi
16902c393a42Smrg
16912c393a42Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16922c393a42Smrg# manufacturer.  We pick the logical manufacturer.
16932c393a42Smrgvendor=unknown
16942c393a42Smrgcase $basic_machine in
16952c393a42Smrg	*-unknown)
16962c393a42Smrg		case $os in
16972c393a42Smrg			-riscix*)
16982c393a42Smrg				vendor=acorn
16992c393a42Smrg				;;
17002c393a42Smrg			-sunos*)
17012c393a42Smrg				vendor=sun
17022c393a42Smrg				;;
1703ca08ab68Smrg			-cnk*|-aix*)
17042c393a42Smrg				vendor=ibm
17052c393a42Smrg				;;
17062c393a42Smrg			-beos*)
17072c393a42Smrg				vendor=be
17082c393a42Smrg				;;
17092c393a42Smrg			-hpux*)
17102c393a42Smrg				vendor=hp
17112c393a42Smrg				;;
17122c393a42Smrg			-mpeix*)
17132c393a42Smrg				vendor=hp
17142c393a42Smrg				;;
17152c393a42Smrg			-hiux*)
17162c393a42Smrg				vendor=hitachi
17172c393a42Smrg				;;
17182c393a42Smrg			-unos*)
17192c393a42Smrg				vendor=crds
17202c393a42Smrg				;;
17212c393a42Smrg			-dgux*)
17222c393a42Smrg				vendor=dg
17232c393a42Smrg				;;
17242c393a42Smrg			-luna*)
17252c393a42Smrg				vendor=omron
17262c393a42Smrg				;;
17272c393a42Smrg			-genix*)
17282c393a42Smrg				vendor=ns
17292c393a42Smrg				;;
17302c393a42Smrg			-mvs* | -opened*)
17312c393a42Smrg				vendor=ibm
17322c393a42Smrg				;;
17332c393a42Smrg			-os400*)
17342c393a42Smrg				vendor=ibm
17352c393a42Smrg				;;
17362c393a42Smrg			-ptx*)
17372c393a42Smrg				vendor=sequent
17382c393a42Smrg				;;
17392c393a42Smrg			-tpf*)
17402c393a42Smrg				vendor=ibm
17412c393a42Smrg				;;
17422c393a42Smrg			-vxsim* | -vxworks* | -windiss*)
17432c393a42Smrg				vendor=wrs
17442c393a42Smrg				;;
17452c393a42Smrg			-aux*)
17462c393a42Smrg				vendor=apple
17472c393a42Smrg				;;
17482c393a42Smrg			-hms*)
17492c393a42Smrg				vendor=hitachi
17502c393a42Smrg				;;
17512c393a42Smrg			-mpw* | -macos*)
17522c393a42Smrg				vendor=apple
17532c393a42Smrg				;;
17542c393a42Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17552c393a42Smrg				vendor=atari
17562c393a42Smrg				;;
17572c393a42Smrg			-vos*)
17582c393a42Smrg				vendor=stratus
17592c393a42Smrg				;;
17602c393a42Smrg		esac
17612c393a42Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17622c393a42Smrg		;;
17632c393a42Smrgesac
17642c393a42Smrg
17652c393a42Smrgecho $basic_machine$os
17662c393a42Smrgexit
17672c393a42Smrg
17682c393a42Smrg# Local variables:
17692c393a42Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17702c393a42Smrg# time-stamp-start: "timestamp='"
17712c393a42Smrg# time-stamp-format: "%:y-%02m-%02d"
17722c393a42Smrg# time-stamp-end: "'"
17732c393a42Smrg# End:
1774