config.sub revision c9710b42
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
7c9710b42Smrgtimestamp='2012-04-18'
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		;;
228c9710b42Smrg	-lynx*178)
229c9710b42Smrg		os=-lynxos178
230c9710b42Smrg		;;
231c9710b42Smrg	-lynx*5)
232c9710b42Smrg		os=-lynxos5
233c9710b42Smrg		;;
2342c393a42Smrg	-lynx*)
2352c393a42Smrg		os=-lynxos
2362c393a42Smrg		;;
2372c393a42Smrg	-ptx*)
2382c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2392c393a42Smrg		;;
2402c393a42Smrg	-windowsnt*)
2412c393a42Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2422c393a42Smrg		;;
2432c393a42Smrg	-psos*)
2442c393a42Smrg		os=-psos
2452c393a42Smrg		;;
2462c393a42Smrg	-mint | -mint[0-9]*)
2472c393a42Smrg		basic_machine=m68k-atari
2482c393a42Smrg		os=-mint
2492c393a42Smrg		;;
2502c393a42Smrgesac
2512c393a42Smrg
2522c393a42Smrg# Decode aliases for certain CPU-COMPANY combinations.
2532c393a42Smrgcase $basic_machine in
2542c393a42Smrg	# Recognize the basic CPU types without company name.
2552c393a42Smrg	# Some are omitted here because they have special meanings below.
2562c393a42Smrg	1750a | 580 \
2572c393a42Smrg	| a29k \
258ca08ab68Smrg	| aarch64 | aarch64_be \
2592c393a42Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2602c393a42Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2612c393a42Smrg	| am33_2.0 \
2622c393a42Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
263ca08ab68Smrg        | be32 | be64 \
2642c393a42Smrg	| bfin \
2652c393a42Smrg	| c4x | clipper \
2662c393a42Smrg	| d10v | d30v | dlx | dsp16xx \
267ca08ab68Smrg	| epiphany \
2682c393a42Smrg	| fido | fr30 | frv \
2692c393a42Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
270ca08ab68Smrg	| hexagon \
2712c393a42Smrg	| i370 | i860 | i960 | ia64 \
2722c393a42Smrg	| ip2k | iq2000 \
273ca08ab68Smrg	| le32 | le64 \
274ca08ab68Smrg	| lm32 \
2752c393a42Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
276ca08ab68Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2772c393a42Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2782c393a42Smrg	| mips16 \
2792c393a42Smrg	| mips64 | mips64el \
280ca08ab68Smrg	| mips64octeon | mips64octeonel \
2812c393a42Smrg	| mips64orion | mips64orionel \
282ca08ab68Smrg	| mips64r5900 | mips64r5900el \
283ca08ab68Smrg	| mips64vr | mips64vrel \
2842c393a42Smrg	| mips64vr4100 | mips64vr4100el \
2852c393a42Smrg	| mips64vr4300 | mips64vr4300el \
2862c393a42Smrg	| mips64vr5000 | mips64vr5000el \
2872c393a42Smrg	| mips64vr5900 | mips64vr5900el \
2882c393a42Smrg	| mipsisa32 | mipsisa32el \
2892c393a42Smrg	| mipsisa32r2 | mipsisa32r2el \
2902c393a42Smrg	| mipsisa64 | mipsisa64el \
2912c393a42Smrg	| mipsisa64r2 | mipsisa64r2el \
2922c393a42Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2932c393a42Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2942c393a42Smrg	| mipstx39 | mipstx39el \
2952c393a42Smrg	| mn10200 | mn10300 \
296ca08ab68Smrg	| moxie \
2972c393a42Smrg	| mt \
2982c393a42Smrg	| msp430 \
299ca08ab68Smrg	| nds32 | nds32le | nds32be \
3002c393a42Smrg	| nios | nios2 \
3012c393a42Smrg	| ns16k | ns32k \
302ca08ab68Smrg	| open8 \
3032c393a42Smrg	| or32 \
3042c393a42Smrg	| pdp10 | pdp11 | pj | pjl \
305ca08ab68Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3062c393a42Smrg	| pyramid \
307ca08ab68Smrg	| rl78 | rx \
3082c393a42Smrg	| score \
309ca08ab68Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3102c393a42Smrg	| sh64 | sh64le \
3112c393a42Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3122c393a42Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
313ca08ab68Smrg	| spu \
314ca08ab68Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
315ca08ab68Smrg	| ubicom32 \
316ca08ab68Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3172c393a42Smrg	| we32k \
318ca08ab68Smrg	| x86 | xc16x | xstormy16 | xtensa \
319ca08ab68Smrg	| z8k | z80)
3202c393a42Smrg		basic_machine=$basic_machine-unknown
3212c393a42Smrg		;;
322ca08ab68Smrg	c54x)
323ca08ab68Smrg		basic_machine=tic54x-unknown
324ca08ab68Smrg		;;
325ca08ab68Smrg	c55x)
326ca08ab68Smrg		basic_machine=tic55x-unknown
327ca08ab68Smrg		;;
328ca08ab68Smrg	c6x)
329ca08ab68Smrg		basic_machine=tic6x-unknown
330ca08ab68Smrg		;;
331ca08ab68Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3322c393a42Smrg		basic_machine=$basic_machine-unknown
3332c393a42Smrg		os=-none
3342c393a42Smrg		;;
3352c393a42Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3362c393a42Smrg		;;
3372c393a42Smrg	ms1)
3382c393a42Smrg		basic_machine=mt-unknown
3392c393a42Smrg		;;
3402c393a42Smrg
341ca08ab68Smrg	strongarm | thumb | xscale)
342ca08ab68Smrg		basic_machine=arm-unknown
343ca08ab68Smrg		;;
344ca08ab68Smrg	xgate)
345ca08ab68Smrg		basic_machine=$basic_machine-unknown
346ca08ab68Smrg		os=-none
347ca08ab68Smrg		;;
348ca08ab68Smrg	xscaleeb)
349ca08ab68Smrg		basic_machine=armeb-unknown
350ca08ab68Smrg		;;
351ca08ab68Smrg
352ca08ab68Smrg	xscaleel)
353ca08ab68Smrg		basic_machine=armel-unknown
354ca08ab68Smrg		;;
355ca08ab68Smrg
3562c393a42Smrg	# We use `pc' rather than `unknown'
3572c393a42Smrg	# because (1) that's what they normally are, and
3582c393a42Smrg	# (2) the word "unknown" tends to confuse beginning users.
3592c393a42Smrg	i*86 | x86_64)
3602c393a42Smrg	  basic_machine=$basic_machine-pc
3612c393a42Smrg	  ;;
3622c393a42Smrg	# Object if more than one company name word.
3632c393a42Smrg	*-*-*)
3642c393a42Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3652c393a42Smrg		exit 1
3662c393a42Smrg		;;
3672c393a42Smrg	# Recognize the basic CPU types with company name.
3682c393a42Smrg	580-* \
3692c393a42Smrg	| a29k-* \
370ca08ab68Smrg	| aarch64-* | aarch64_be-* \
3712c393a42Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3722c393a42Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3732c393a42Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3742c393a42Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3752c393a42Smrg	| avr-* | avr32-* \
376ca08ab68Smrg	| be32-* | be64-* \
3772c393a42Smrg	| bfin-* | bs2000-* \
378ca08ab68Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3792c393a42Smrg	| clipper-* | craynv-* | cydra-* \
3802c393a42Smrg	| d10v-* | d30v-* | dlx-* \
3812c393a42Smrg	| elxsi-* \
3822c393a42Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3832c393a42Smrg	| h8300-* | h8500-* \
3842c393a42Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
385ca08ab68Smrg	| hexagon-* \
3862c393a42Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3872c393a42Smrg	| ip2k-* | iq2000-* \
388ca08ab68Smrg	| le32-* | le64-* \
389ca08ab68Smrg	| lm32-* \
3902c393a42Smrg	| m32c-* | m32r-* | m32rle-* \
3912c393a42Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
392ca08ab68Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3932c393a42Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3942c393a42Smrg	| mips16-* \
3952c393a42Smrg	| mips64-* | mips64el-* \
396ca08ab68Smrg	| mips64octeon-* | mips64octeonel-* \
3972c393a42Smrg	| mips64orion-* | mips64orionel-* \
398ca08ab68Smrg	| mips64r5900-* | mips64r5900el-* \
399ca08ab68Smrg	| mips64vr-* | mips64vrel-* \
4002c393a42Smrg	| mips64vr4100-* | mips64vr4100el-* \
4012c393a42Smrg	| mips64vr4300-* | mips64vr4300el-* \
4022c393a42Smrg	| mips64vr5000-* | mips64vr5000el-* \
4032c393a42Smrg	| mips64vr5900-* | mips64vr5900el-* \
4042c393a42Smrg	| mipsisa32-* | mipsisa32el-* \
4052c393a42Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4062c393a42Smrg	| mipsisa64-* | mipsisa64el-* \
4072c393a42Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4082c393a42Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4092c393a42Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4102c393a42Smrg	| mipstx39-* | mipstx39el-* \
4112c393a42Smrg	| mmix-* \
4122c393a42Smrg	| mt-* \
4132c393a42Smrg	| msp430-* \
414ca08ab68Smrg	| nds32-* | nds32le-* | nds32be-* \
4152c393a42Smrg	| nios-* | nios2-* \
4162c393a42Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
417ca08ab68Smrg	| open8-* \
4182c393a42Smrg	| orion-* \
4192c393a42Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
420ca08ab68Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4212c393a42Smrg	| pyramid-* \
422ca08ab68Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
423ca08ab68Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4242c393a42Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4252c393a42Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4262c393a42Smrg	| sparclite-* \
427ca08ab68Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
428ca08ab68Smrg	| tahoe-* \
4292c393a42Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
430ca08ab68Smrg	| tile*-* \
4312c393a42Smrg	| tron-* \
432ca08ab68Smrg	| ubicom32-* \
433ca08ab68Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
434ca08ab68Smrg	| vax-* \
4352c393a42Smrg	| we32k-* \
436ca08ab68Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4372c393a42Smrg	| xstormy16-* | xtensa*-* \
4382c393a42Smrg	| ymp-* \
439ca08ab68Smrg	| z8k-* | z80-*)
4402c393a42Smrg		;;
4412c393a42Smrg	# Recognize the basic CPU types without company name, with glob match.
4422c393a42Smrg	xtensa*)
4432c393a42Smrg		basic_machine=$basic_machine-unknown
4442c393a42Smrg		;;
4452c393a42Smrg	# Recognize the various machine names and aliases which stand
4462c393a42Smrg	# for a CPU type and a company and sometimes even an OS.
4472c393a42Smrg	386bsd)
4482c393a42Smrg		basic_machine=i386-unknown
4492c393a42Smrg		os=-bsd
4502c393a42Smrg		;;
4512c393a42Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4522c393a42Smrg		basic_machine=m68000-att
4532c393a42Smrg		;;
4542c393a42Smrg	3b*)
4552c393a42Smrg		basic_machine=we32k-att
4562c393a42Smrg		;;
4572c393a42Smrg	a29khif)
4582c393a42Smrg		basic_machine=a29k-amd
4592c393a42Smrg		os=-udi
4602c393a42Smrg		;;
461ca08ab68Smrg	abacus)
4622c393a42Smrg		basic_machine=abacus-unknown
4632c393a42Smrg		;;
4642c393a42Smrg	adobe68k)
4652c393a42Smrg		basic_machine=m68010-adobe
4662c393a42Smrg		os=-scout
4672c393a42Smrg		;;
4682c393a42Smrg	alliant | fx80)
4692c393a42Smrg		basic_machine=fx80-alliant
4702c393a42Smrg		;;
4712c393a42Smrg	altos | altos3068)
4722c393a42Smrg		basic_machine=m68k-altos
4732c393a42Smrg		;;
4742c393a42Smrg	am29k)
4752c393a42Smrg		basic_machine=a29k-none
4762c393a42Smrg		os=-bsd
4772c393a42Smrg		;;
4782c393a42Smrg	amd64)
4792c393a42Smrg		basic_machine=x86_64-pc
4802c393a42Smrg		;;
4812c393a42Smrg	amd64-*)
4822c393a42Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4832c393a42Smrg		;;
4842c393a42Smrg	amdahl)
4852c393a42Smrg		basic_machine=580-amdahl
4862c393a42Smrg		os=-sysv
4872c393a42Smrg		;;
4882c393a42Smrg	amiga | amiga-*)
4892c393a42Smrg		basic_machine=m68k-unknown
4902c393a42Smrg		;;
4912c393a42Smrg	amigaos | amigados)
4922c393a42Smrg		basic_machine=m68k-unknown
4932c393a42Smrg		os=-amigaos
4942c393a42Smrg		;;
4952c393a42Smrg	amigaunix | amix)
4962c393a42Smrg		basic_machine=m68k-unknown
4972c393a42Smrg		os=-sysv4
4982c393a42Smrg		;;
4992c393a42Smrg	apollo68)
5002c393a42Smrg		basic_machine=m68k-apollo
5012c393a42Smrg		os=-sysv
5022c393a42Smrg		;;
5032c393a42Smrg	apollo68bsd)
5042c393a42Smrg		basic_machine=m68k-apollo
5052c393a42Smrg		os=-bsd
5062c393a42Smrg		;;
507ca08ab68Smrg	aros)
508ca08ab68Smrg		basic_machine=i386-pc
509ca08ab68Smrg		os=-aros
510ca08ab68Smrg		;;
5112c393a42Smrg	aux)
5122c393a42Smrg		basic_machine=m68k-apple
5132c393a42Smrg		os=-aux
5142c393a42Smrg		;;
5152c393a42Smrg	balance)
5162c393a42Smrg		basic_machine=ns32k-sequent
5172c393a42Smrg		os=-dynix
5182c393a42Smrg		;;
5192c393a42Smrg	blackfin)
5202c393a42Smrg		basic_machine=bfin-unknown
5212c393a42Smrg		os=-linux
5222c393a42Smrg		;;
5232c393a42Smrg	blackfin-*)
5242c393a42Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5252c393a42Smrg		os=-linux
5262c393a42Smrg		;;
527ca08ab68Smrg	bluegene*)
528ca08ab68Smrg		basic_machine=powerpc-ibm
529ca08ab68Smrg		os=-cnk
530ca08ab68Smrg		;;
531ca08ab68Smrg	c54x-*)
532ca08ab68Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
533ca08ab68Smrg		;;
534ca08ab68Smrg	c55x-*)
535ca08ab68Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
536ca08ab68Smrg		;;
537ca08ab68Smrg	c6x-*)
538ca08ab68Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
539ca08ab68Smrg		;;
5402c393a42Smrg	c90)
5412c393a42Smrg		basic_machine=c90-cray
5422c393a42Smrg		os=-unicos
5432c393a42Smrg		;;
544ca08ab68Smrg	cegcc)
545ca08ab68Smrg		basic_machine=arm-unknown
546ca08ab68Smrg		os=-cegcc
547ca08ab68Smrg		;;
5482c393a42Smrg	convex-c1)
5492c393a42Smrg		basic_machine=c1-convex
5502c393a42Smrg		os=-bsd
5512c393a42Smrg		;;
5522c393a42Smrg	convex-c2)
5532c393a42Smrg		basic_machine=c2-convex
5542c393a42Smrg		os=-bsd
5552c393a42Smrg		;;
5562c393a42Smrg	convex-c32)
5572c393a42Smrg		basic_machine=c32-convex
5582c393a42Smrg		os=-bsd
5592c393a42Smrg		;;
5602c393a42Smrg	convex-c34)
5612c393a42Smrg		basic_machine=c34-convex
5622c393a42Smrg		os=-bsd
5632c393a42Smrg		;;
5642c393a42Smrg	convex-c38)
5652c393a42Smrg		basic_machine=c38-convex
5662c393a42Smrg		os=-bsd
5672c393a42Smrg		;;
5682c393a42Smrg	cray | j90)
5692c393a42Smrg		basic_machine=j90-cray
5702c393a42Smrg		os=-unicos
5712c393a42Smrg		;;
5722c393a42Smrg	craynv)
5732c393a42Smrg		basic_machine=craynv-cray
5742c393a42Smrg		os=-unicosmp
5752c393a42Smrg		;;
576ca08ab68Smrg	cr16 | cr16-*)
5772c393a42Smrg		basic_machine=cr16-unknown
5782c393a42Smrg		os=-elf
5792c393a42Smrg		;;
5802c393a42Smrg	crds | unos)
5812c393a42Smrg		basic_machine=m68k-crds
5822c393a42Smrg		;;
5832c393a42Smrg	crisv32 | crisv32-* | etraxfs*)
5842c393a42Smrg		basic_machine=crisv32-axis
5852c393a42Smrg		;;
5862c393a42Smrg	cris | cris-* | etrax*)
5872c393a42Smrg		basic_machine=cris-axis
5882c393a42Smrg		;;
5892c393a42Smrg	crx)
5902c393a42Smrg		basic_machine=crx-unknown
5912c393a42Smrg		os=-elf
5922c393a42Smrg		;;
5932c393a42Smrg	da30 | da30-*)
5942c393a42Smrg		basic_machine=m68k-da30
5952c393a42Smrg		;;
5962c393a42Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5972c393a42Smrg		basic_machine=mips-dec
5982c393a42Smrg		;;
5992c393a42Smrg	decsystem10* | dec10*)
6002c393a42Smrg		basic_machine=pdp10-dec
6012c393a42Smrg		os=-tops10
6022c393a42Smrg		;;
6032c393a42Smrg	decsystem20* | dec20*)
6042c393a42Smrg		basic_machine=pdp10-dec
6052c393a42Smrg		os=-tops20
6062c393a42Smrg		;;
6072c393a42Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6082c393a42Smrg	      | 3300-motorola | delta-motorola)
6092c393a42Smrg		basic_machine=m68k-motorola
6102c393a42Smrg		;;
6112c393a42Smrg	delta88)
6122c393a42Smrg		basic_machine=m88k-motorola
6132c393a42Smrg		os=-sysv3
6142c393a42Smrg		;;
615ca08ab68Smrg	dicos)
616ca08ab68Smrg		basic_machine=i686-pc
617ca08ab68Smrg		os=-dicos
618ca08ab68Smrg		;;
6192c393a42Smrg	djgpp)
6202c393a42Smrg		basic_machine=i586-pc
6212c393a42Smrg		os=-msdosdjgpp
6222c393a42Smrg		;;
6232c393a42Smrg	dpx20 | dpx20-*)
6242c393a42Smrg		basic_machine=rs6000-bull
6252c393a42Smrg		os=-bosx
6262c393a42Smrg		;;
6272c393a42Smrg	dpx2* | dpx2*-bull)
6282c393a42Smrg		basic_machine=m68k-bull
6292c393a42Smrg		os=-sysv3
6302c393a42Smrg		;;
6312c393a42Smrg	ebmon29k)
6322c393a42Smrg		basic_machine=a29k-amd
6332c393a42Smrg		os=-ebmon
6342c393a42Smrg		;;
6352c393a42Smrg	elxsi)
6362c393a42Smrg		basic_machine=elxsi-elxsi
6372c393a42Smrg		os=-bsd
6382c393a42Smrg		;;
6392c393a42Smrg	encore | umax | mmax)
6402c393a42Smrg		basic_machine=ns32k-encore
6412c393a42Smrg		;;
6422c393a42Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6432c393a42Smrg		basic_machine=m68k-ericsson
6442c393a42Smrg		os=-ose
6452c393a42Smrg		;;
6462c393a42Smrg	fx2800)
6472c393a42Smrg		basic_machine=i860-alliant
6482c393a42Smrg		;;
6492c393a42Smrg	genix)
6502c393a42Smrg		basic_machine=ns32k-ns
6512c393a42Smrg		;;
6522c393a42Smrg	gmicro)
6532c393a42Smrg		basic_machine=tron-gmicro
6542c393a42Smrg		os=-sysv
6552c393a42Smrg		;;
6562c393a42Smrg	go32)
6572c393a42Smrg		basic_machine=i386-pc
6582c393a42Smrg		os=-go32
6592c393a42Smrg		;;
6602c393a42Smrg	h3050r* | hiux*)
6612c393a42Smrg		basic_machine=hppa1.1-hitachi
6622c393a42Smrg		os=-hiuxwe2
6632c393a42Smrg		;;
6642c393a42Smrg	h8300hms)
6652c393a42Smrg		basic_machine=h8300-hitachi
6662c393a42Smrg		os=-hms
6672c393a42Smrg		;;
6682c393a42Smrg	h8300xray)
6692c393a42Smrg		basic_machine=h8300-hitachi
6702c393a42Smrg		os=-xray
6712c393a42Smrg		;;
6722c393a42Smrg	h8500hms)
6732c393a42Smrg		basic_machine=h8500-hitachi
6742c393a42Smrg		os=-hms
6752c393a42Smrg		;;
6762c393a42Smrg	harris)
6772c393a42Smrg		basic_machine=m88k-harris
6782c393a42Smrg		os=-sysv3
6792c393a42Smrg		;;
6802c393a42Smrg	hp300-*)
6812c393a42Smrg		basic_machine=m68k-hp
6822c393a42Smrg		;;
6832c393a42Smrg	hp300bsd)
6842c393a42Smrg		basic_machine=m68k-hp
6852c393a42Smrg		os=-bsd
6862c393a42Smrg		;;
6872c393a42Smrg	hp300hpux)
6882c393a42Smrg		basic_machine=m68k-hp
6892c393a42Smrg		os=-hpux
6902c393a42Smrg		;;
6912c393a42Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6922c393a42Smrg		basic_machine=hppa1.0-hp
6932c393a42Smrg		;;
6942c393a42Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6952c393a42Smrg		basic_machine=m68000-hp
6962c393a42Smrg		;;
6972c393a42Smrg	hp9k3[2-9][0-9])
6982c393a42Smrg		basic_machine=m68k-hp
6992c393a42Smrg		;;
7002c393a42Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7012c393a42Smrg		basic_machine=hppa1.0-hp
7022c393a42Smrg		;;
7032c393a42Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7042c393a42Smrg		basic_machine=hppa1.1-hp
7052c393a42Smrg		;;
7062c393a42Smrg	hp9k78[0-9] | hp78[0-9])
7072c393a42Smrg		# FIXME: really hppa2.0-hp
7082c393a42Smrg		basic_machine=hppa1.1-hp
7092c393a42Smrg		;;
7102c393a42Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7112c393a42Smrg		# FIXME: really hppa2.0-hp
7122c393a42Smrg		basic_machine=hppa1.1-hp
7132c393a42Smrg		;;
7142c393a42Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7152c393a42Smrg		basic_machine=hppa1.1-hp
7162c393a42Smrg		;;
7172c393a42Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7182c393a42Smrg		basic_machine=hppa1.0-hp
7192c393a42Smrg		;;
7202c393a42Smrg	hppa-next)
7212c393a42Smrg		os=-nextstep3
7222c393a42Smrg		;;
7232c393a42Smrg	hppaosf)
7242c393a42Smrg		basic_machine=hppa1.1-hp
7252c393a42Smrg		os=-osf
7262c393a42Smrg		;;
7272c393a42Smrg	hppro)
7282c393a42Smrg		basic_machine=hppa1.1-hp
7292c393a42Smrg		os=-proelf
7302c393a42Smrg		;;
7312c393a42Smrg	i370-ibm* | ibm*)
7322c393a42Smrg		basic_machine=i370-ibm
7332c393a42Smrg		;;
7342c393a42Smrg	i*86v32)
7352c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7362c393a42Smrg		os=-sysv32
7372c393a42Smrg		;;
7382c393a42Smrg	i*86v4*)
7392c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7402c393a42Smrg		os=-sysv4
7412c393a42Smrg		;;
7422c393a42Smrg	i*86v)
7432c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7442c393a42Smrg		os=-sysv
7452c393a42Smrg		;;
7462c393a42Smrg	i*86sol2)
7472c393a42Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7482c393a42Smrg		os=-solaris2
7492c393a42Smrg		;;
7502c393a42Smrg	i386mach)
7512c393a42Smrg		basic_machine=i386-mach
7522c393a42Smrg		os=-mach
7532c393a42Smrg		;;
7542c393a42Smrg	i386-vsta | vsta)
7552c393a42Smrg		basic_machine=i386-unknown
7562c393a42Smrg		os=-vsta
7572c393a42Smrg		;;
7582c393a42Smrg	iris | iris4d)
7592c393a42Smrg		basic_machine=mips-sgi
7602c393a42Smrg		case $os in
7612c393a42Smrg		    -irix*)
7622c393a42Smrg			;;
7632c393a42Smrg		    *)
7642c393a42Smrg			os=-irix4
7652c393a42Smrg			;;
7662c393a42Smrg		esac
7672c393a42Smrg		;;
7682c393a42Smrg	isi68 | isi)
7692c393a42Smrg		basic_machine=m68k-isi
7702c393a42Smrg		os=-sysv
7712c393a42Smrg		;;
7722c393a42Smrg	m68knommu)
7732c393a42Smrg		basic_machine=m68k-unknown
7742c393a42Smrg		os=-linux
7752c393a42Smrg		;;
7762c393a42Smrg	m68knommu-*)
7772c393a42Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7782c393a42Smrg		os=-linux
7792c393a42Smrg		;;
7802c393a42Smrg	m88k-omron*)
7812c393a42Smrg		basic_machine=m88k-omron
7822c393a42Smrg		;;
7832c393a42Smrg	magnum | m3230)
7842c393a42Smrg		basic_machine=mips-mips
7852c393a42Smrg		os=-sysv
7862c393a42Smrg		;;
7872c393a42Smrg	merlin)
7882c393a42Smrg		basic_machine=ns32k-utek
7892c393a42Smrg		os=-sysv
7902c393a42Smrg		;;
791ca08ab68Smrg	microblaze)
792ca08ab68Smrg		basic_machine=microblaze-xilinx
793ca08ab68Smrg		;;
7942c393a42Smrg	mingw32)
7952c393a42Smrg		basic_machine=i386-pc
7962c393a42Smrg		os=-mingw32
7972c393a42Smrg		;;
7982c393a42Smrg	mingw32ce)
7992c393a42Smrg		basic_machine=arm-unknown
8002c393a42Smrg		os=-mingw32ce
8012c393a42Smrg		;;
8022c393a42Smrg	miniframe)
8032c393a42Smrg		basic_machine=m68000-convergent
8042c393a42Smrg		;;
8052c393a42Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8062c393a42Smrg		basic_machine=m68k-atari
8072c393a42Smrg		os=-mint
8082c393a42Smrg		;;
8092c393a42Smrg	mips3*-*)
8102c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8112c393a42Smrg		;;
8122c393a42Smrg	mips3*)
8132c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8142c393a42Smrg		;;
8152c393a42Smrg	monitor)
8162c393a42Smrg		basic_machine=m68k-rom68k
8172c393a42Smrg		os=-coff
8182c393a42Smrg		;;
8192c393a42Smrg	morphos)
8202c393a42Smrg		basic_machine=powerpc-unknown
8212c393a42Smrg		os=-morphos
8222c393a42Smrg		;;
8232c393a42Smrg	msdos)
8242c393a42Smrg		basic_machine=i386-pc
8252c393a42Smrg		os=-msdos
8262c393a42Smrg		;;
8272c393a42Smrg	ms1-*)
8282c393a42Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8292c393a42Smrg		;;
830ca08ab68Smrg	msys)
831ca08ab68Smrg		basic_machine=i386-pc
832ca08ab68Smrg		os=-msys
833ca08ab68Smrg		;;
8342c393a42Smrg	mvs)
8352c393a42Smrg		basic_machine=i370-ibm
8362c393a42Smrg		os=-mvs
8372c393a42Smrg		;;
838ca08ab68Smrg	nacl)
839ca08ab68Smrg		basic_machine=le32-unknown
840ca08ab68Smrg		os=-nacl
841ca08ab68Smrg		;;
8422c393a42Smrg	ncr3000)
8432c393a42Smrg		basic_machine=i486-ncr
8442c393a42Smrg		os=-sysv4
8452c393a42Smrg		;;
8462c393a42Smrg	netbsd386)
8472c393a42Smrg		basic_machine=i386-unknown
8482c393a42Smrg		os=-netbsd
8492c393a42Smrg		;;
8502c393a42Smrg	netwinder)
8512c393a42Smrg		basic_machine=armv4l-rebel
8522c393a42Smrg		os=-linux
8532c393a42Smrg		;;
8542c393a42Smrg	news | news700 | news800 | news900)
8552c393a42Smrg		basic_machine=m68k-sony
8562c393a42Smrg		os=-newsos
8572c393a42Smrg		;;
8582c393a42Smrg	news1000)
8592c393a42Smrg		basic_machine=m68030-sony
8602c393a42Smrg		os=-newsos
8612c393a42Smrg		;;
8622c393a42Smrg	news-3600 | risc-news)
8632c393a42Smrg		basic_machine=mips-sony
8642c393a42Smrg		os=-newsos
8652c393a42Smrg		;;
8662c393a42Smrg	necv70)
8672c393a42Smrg		basic_machine=v70-nec
8682c393a42Smrg		os=-sysv
8692c393a42Smrg		;;
8702c393a42Smrg	next | m*-next )
8712c393a42Smrg		basic_machine=m68k-next
8722c393a42Smrg		case $os in
8732c393a42Smrg		    -nextstep* )
8742c393a42Smrg			;;
8752c393a42Smrg		    -ns2*)
8762c393a42Smrg		      os=-nextstep2
8772c393a42Smrg			;;
8782c393a42Smrg		    *)
8792c393a42Smrg		      os=-nextstep3
8802c393a42Smrg			;;
8812c393a42Smrg		esac
8822c393a42Smrg		;;
8832c393a42Smrg	nh3000)
8842c393a42Smrg		basic_machine=m68k-harris
8852c393a42Smrg		os=-cxux
8862c393a42Smrg		;;
8872c393a42Smrg	nh[45]000)
8882c393a42Smrg		basic_machine=m88k-harris
8892c393a42Smrg		os=-cxux
8902c393a42Smrg		;;
8912c393a42Smrg	nindy960)
8922c393a42Smrg		basic_machine=i960-intel
8932c393a42Smrg		os=-nindy
8942c393a42Smrg		;;
8952c393a42Smrg	mon960)
8962c393a42Smrg		basic_machine=i960-intel
8972c393a42Smrg		os=-mon960
8982c393a42Smrg		;;
8992c393a42Smrg	nonstopux)
9002c393a42Smrg		basic_machine=mips-compaq
9012c393a42Smrg		os=-nonstopux
9022c393a42Smrg		;;
9032c393a42Smrg	np1)
9042c393a42Smrg		basic_machine=np1-gould
9052c393a42Smrg		;;
906ca08ab68Smrg	neo-tandem)
907ca08ab68Smrg		basic_machine=neo-tandem
908ca08ab68Smrg		;;
909ca08ab68Smrg	nse-tandem)
910ca08ab68Smrg		basic_machine=nse-tandem
911ca08ab68Smrg		;;
9122c393a42Smrg	nsr-tandem)
9132c393a42Smrg		basic_machine=nsr-tandem
9142c393a42Smrg		;;
9152c393a42Smrg	op50n-* | op60c-*)
9162c393a42Smrg		basic_machine=hppa1.1-oki
9172c393a42Smrg		os=-proelf
9182c393a42Smrg		;;
9192c393a42Smrg	openrisc | openrisc-*)
9202c393a42Smrg		basic_machine=or32-unknown
9212c393a42Smrg		;;
9222c393a42Smrg	os400)
9232c393a42Smrg		basic_machine=powerpc-ibm
9242c393a42Smrg		os=-os400
9252c393a42Smrg		;;
9262c393a42Smrg	OSE68000 | ose68000)
9272c393a42Smrg		basic_machine=m68000-ericsson
9282c393a42Smrg		os=-ose
9292c393a42Smrg		;;
9302c393a42Smrg	os68k)
9312c393a42Smrg		basic_machine=m68k-none
9322c393a42Smrg		os=-os68k
9332c393a42Smrg		;;
9342c393a42Smrg	pa-hitachi)
9352c393a42Smrg		basic_machine=hppa1.1-hitachi
9362c393a42Smrg		os=-hiuxwe2
9372c393a42Smrg		;;
9382c393a42Smrg	paragon)
9392c393a42Smrg		basic_machine=i860-intel
9402c393a42Smrg		os=-osf
9412c393a42Smrg		;;
9422c393a42Smrg	parisc)
9432c393a42Smrg		basic_machine=hppa-unknown
9442c393a42Smrg		os=-linux
9452c393a42Smrg		;;
9462c393a42Smrg	parisc-*)
9472c393a42Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9482c393a42Smrg		os=-linux
9492c393a42Smrg		;;
9502c393a42Smrg	pbd)
9512c393a42Smrg		basic_machine=sparc-tti
9522c393a42Smrg		;;
9532c393a42Smrg	pbb)
9542c393a42Smrg		basic_machine=m68k-tti
9552c393a42Smrg		;;
9562c393a42Smrg	pc532 | pc532-*)
9572c393a42Smrg		basic_machine=ns32k-pc532
9582c393a42Smrg		;;
9592c393a42Smrg	pc98)
9602c393a42Smrg		basic_machine=i386-pc
9612c393a42Smrg		;;
9622c393a42Smrg	pc98-*)
9632c393a42Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9642c393a42Smrg		;;
9652c393a42Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9662c393a42Smrg		basic_machine=i586-pc
9672c393a42Smrg		;;
9682c393a42Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9692c393a42Smrg		basic_machine=i686-pc
9702c393a42Smrg		;;
9712c393a42Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9722c393a42Smrg		basic_machine=i686-pc
9732c393a42Smrg		;;
9742c393a42Smrg	pentium4)
9752c393a42Smrg		basic_machine=i786-pc
9762c393a42Smrg		;;
9772c393a42Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9782c393a42Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9792c393a42Smrg		;;
9802c393a42Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9812c393a42Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9822c393a42Smrg		;;
9832c393a42Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9842c393a42Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9852c393a42Smrg		;;
9862c393a42Smrg	pentium4-*)
9872c393a42Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9882c393a42Smrg		;;
9892c393a42Smrg	pn)
9902c393a42Smrg		basic_machine=pn-gould
9912c393a42Smrg		;;
9922c393a42Smrg	power)	basic_machine=power-ibm
9932c393a42Smrg		;;
994ca08ab68Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9952c393a42Smrg		;;
996ca08ab68Smrg	ppc-* | ppcbe-*)
997ca08ab68Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9982c393a42Smrg		;;
9992c393a42Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10002c393a42Smrg		basic_machine=powerpcle-unknown
10012c393a42Smrg		;;
10022c393a42Smrg	ppcle-* | powerpclittle-*)
10032c393a42Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10042c393a42Smrg		;;
10052c393a42Smrg	ppc64)	basic_machine=powerpc64-unknown
10062c393a42Smrg		;;
10072c393a42Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10082c393a42Smrg		;;
10092c393a42Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10102c393a42Smrg		basic_machine=powerpc64le-unknown
10112c393a42Smrg		;;
10122c393a42Smrg	ppc64le-* | powerpc64little-*)
10132c393a42Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10142c393a42Smrg		;;
10152c393a42Smrg	ps2)
10162c393a42Smrg		basic_machine=i386-ibm
10172c393a42Smrg		;;
10182c393a42Smrg	pw32)
10192c393a42Smrg		basic_machine=i586-unknown
10202c393a42Smrg		os=-pw32
10212c393a42Smrg		;;
10222c393a42Smrg	rdos)
10232c393a42Smrg		basic_machine=i386-pc
10242c393a42Smrg		os=-rdos
10252c393a42Smrg		;;
10262c393a42Smrg	rom68k)
10272c393a42Smrg		basic_machine=m68k-rom68k
10282c393a42Smrg		os=-coff
10292c393a42Smrg		;;
10302c393a42Smrg	rm[46]00)
10312c393a42Smrg		basic_machine=mips-siemens
10322c393a42Smrg		;;
10332c393a42Smrg	rtpc | rtpc-*)
10342c393a42Smrg		basic_machine=romp-ibm
10352c393a42Smrg		;;
10362c393a42Smrg	s390 | s390-*)
10372c393a42Smrg		basic_machine=s390-ibm
10382c393a42Smrg		;;
10392c393a42Smrg	s390x | s390x-*)
10402c393a42Smrg		basic_machine=s390x-ibm
10412c393a42Smrg		;;
10422c393a42Smrg	sa29200)
10432c393a42Smrg		basic_machine=a29k-amd
10442c393a42Smrg		os=-udi
10452c393a42Smrg		;;
10462c393a42Smrg	sb1)
10472c393a42Smrg		basic_machine=mipsisa64sb1-unknown
10482c393a42Smrg		;;
10492c393a42Smrg	sb1el)
10502c393a42Smrg		basic_machine=mipsisa64sb1el-unknown
10512c393a42Smrg		;;
10522c393a42Smrg	sde)
10532c393a42Smrg		basic_machine=mipsisa32-sde
10542c393a42Smrg		os=-elf
10552c393a42Smrg		;;
10562c393a42Smrg	sei)
10572c393a42Smrg		basic_machine=mips-sei
10582c393a42Smrg		os=-seiux
10592c393a42Smrg		;;
10602c393a42Smrg	sequent)
10612c393a42Smrg		basic_machine=i386-sequent
10622c393a42Smrg		;;
10632c393a42Smrg	sh)
10642c393a42Smrg		basic_machine=sh-hitachi
10652c393a42Smrg		os=-hms
10662c393a42Smrg		;;
10672c393a42Smrg	sh5el)
10682c393a42Smrg		basic_machine=sh5le-unknown
10692c393a42Smrg		;;
10702c393a42Smrg	sh64)
10712c393a42Smrg		basic_machine=sh64-unknown
10722c393a42Smrg		;;
10732c393a42Smrg	sparclite-wrs | simso-wrs)
10742c393a42Smrg		basic_machine=sparclite-wrs
10752c393a42Smrg		os=-vxworks
10762c393a42Smrg		;;
10772c393a42Smrg	sps7)
10782c393a42Smrg		basic_machine=m68k-bull
10792c393a42Smrg		os=-sysv2
10802c393a42Smrg		;;
10812c393a42Smrg	spur)
10822c393a42Smrg		basic_machine=spur-unknown
10832c393a42Smrg		;;
10842c393a42Smrg	st2000)
10852c393a42Smrg		basic_machine=m68k-tandem
10862c393a42Smrg		;;
10872c393a42Smrg	stratus)
10882c393a42Smrg		basic_machine=i860-stratus
10892c393a42Smrg		os=-sysv4
10902c393a42Smrg		;;
1091ca08ab68Smrg	strongarm-* | thumb-*)
1092ca08ab68Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1093ca08ab68Smrg		;;
10942c393a42Smrg	sun2)
10952c393a42Smrg		basic_machine=m68000-sun
10962c393a42Smrg		;;
10972c393a42Smrg	sun2os3)
10982c393a42Smrg		basic_machine=m68000-sun
10992c393a42Smrg		os=-sunos3
11002c393a42Smrg		;;
11012c393a42Smrg	sun2os4)
11022c393a42Smrg		basic_machine=m68000-sun
11032c393a42Smrg		os=-sunos4
11042c393a42Smrg		;;
11052c393a42Smrg	sun3os3)
11062c393a42Smrg		basic_machine=m68k-sun
11072c393a42Smrg		os=-sunos3
11082c393a42Smrg		;;
11092c393a42Smrg	sun3os4)
11102c393a42Smrg		basic_machine=m68k-sun
11112c393a42Smrg		os=-sunos4
11122c393a42Smrg		;;
11132c393a42Smrg	sun4os3)
11142c393a42Smrg		basic_machine=sparc-sun
11152c393a42Smrg		os=-sunos3
11162c393a42Smrg		;;
11172c393a42Smrg	sun4os4)
11182c393a42Smrg		basic_machine=sparc-sun
11192c393a42Smrg		os=-sunos4
11202c393a42Smrg		;;
11212c393a42Smrg	sun4sol2)
11222c393a42Smrg		basic_machine=sparc-sun
11232c393a42Smrg		os=-solaris2
11242c393a42Smrg		;;
11252c393a42Smrg	sun3 | sun3-*)
11262c393a42Smrg		basic_machine=m68k-sun
11272c393a42Smrg		;;
11282c393a42Smrg	sun4)
11292c393a42Smrg		basic_machine=sparc-sun
11302c393a42Smrg		;;
11312c393a42Smrg	sun386 | sun386i | roadrunner)
11322c393a42Smrg		basic_machine=i386-sun
11332c393a42Smrg		;;
11342c393a42Smrg	sv1)
11352c393a42Smrg		basic_machine=sv1-cray
11362c393a42Smrg		os=-unicos
11372c393a42Smrg		;;
11382c393a42Smrg	symmetry)
11392c393a42Smrg		basic_machine=i386-sequent
11402c393a42Smrg		os=-dynix
11412c393a42Smrg		;;
11422c393a42Smrg	t3e)
11432c393a42Smrg		basic_machine=alphaev5-cray
11442c393a42Smrg		os=-unicos
11452c393a42Smrg		;;
11462c393a42Smrg	t90)
11472c393a42Smrg		basic_machine=t90-cray
11482c393a42Smrg		os=-unicos
11492c393a42Smrg		;;
11502c393a42Smrg	tile*)
1151ca08ab68Smrg		basic_machine=$basic_machine-unknown
11522c393a42Smrg		os=-linux-gnu
11532c393a42Smrg		;;
11542c393a42Smrg	tx39)
11552c393a42Smrg		basic_machine=mipstx39-unknown
11562c393a42Smrg		;;
11572c393a42Smrg	tx39el)
11582c393a42Smrg		basic_machine=mipstx39el-unknown
11592c393a42Smrg		;;
11602c393a42Smrg	toad1)
11612c393a42Smrg		basic_machine=pdp10-xkl
11622c393a42Smrg		os=-tops20
11632c393a42Smrg		;;
11642c393a42Smrg	tower | tower-32)
11652c393a42Smrg		basic_machine=m68k-ncr
11662c393a42Smrg		;;
11672c393a42Smrg	tpf)
11682c393a42Smrg		basic_machine=s390x-ibm
11692c393a42Smrg		os=-tpf
11702c393a42Smrg		;;
11712c393a42Smrg	udi29k)
11722c393a42Smrg		basic_machine=a29k-amd
11732c393a42Smrg		os=-udi
11742c393a42Smrg		;;
11752c393a42Smrg	ultra3)
11762c393a42Smrg		basic_machine=a29k-nyu
11772c393a42Smrg		os=-sym1
11782c393a42Smrg		;;
11792c393a42Smrg	v810 | necv810)
11802c393a42Smrg		basic_machine=v810-nec
11812c393a42Smrg		os=-none
11822c393a42Smrg		;;
11832c393a42Smrg	vaxv)
11842c393a42Smrg		basic_machine=vax-dec
11852c393a42Smrg		os=-sysv
11862c393a42Smrg		;;
11872c393a42Smrg	vms)
11882c393a42Smrg		basic_machine=vax-dec
11892c393a42Smrg		os=-vms
11902c393a42Smrg		;;
11912c393a42Smrg	vpp*|vx|vx-*)
11922c393a42Smrg		basic_machine=f301-fujitsu
11932c393a42Smrg		;;
11942c393a42Smrg	vxworks960)
11952c393a42Smrg		basic_machine=i960-wrs
11962c393a42Smrg		os=-vxworks
11972c393a42Smrg		;;
11982c393a42Smrg	vxworks68)
11992c393a42Smrg		basic_machine=m68k-wrs
12002c393a42Smrg		os=-vxworks
12012c393a42Smrg		;;
12022c393a42Smrg	vxworks29k)
12032c393a42Smrg		basic_machine=a29k-wrs
12042c393a42Smrg		os=-vxworks
12052c393a42Smrg		;;
12062c393a42Smrg	w65*)
12072c393a42Smrg		basic_machine=w65-wdc
12082c393a42Smrg		os=-none
12092c393a42Smrg		;;
12102c393a42Smrg	w89k-*)
12112c393a42Smrg		basic_machine=hppa1.1-winbond
12122c393a42Smrg		os=-proelf
12132c393a42Smrg		;;
12142c393a42Smrg	xbox)
12152c393a42Smrg		basic_machine=i686-pc
12162c393a42Smrg		os=-mingw32
12172c393a42Smrg		;;
12182c393a42Smrg	xps | xps100)
12192c393a42Smrg		basic_machine=xps100-honeywell
12202c393a42Smrg		;;
1221ca08ab68Smrg	xscale-* | xscalee[bl]-*)
1222ca08ab68Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1223ca08ab68Smrg		;;
12242c393a42Smrg	ymp)
12252c393a42Smrg		basic_machine=ymp-cray
12262c393a42Smrg		os=-unicos
12272c393a42Smrg		;;
12282c393a42Smrg	z8k-*-coff)
12292c393a42Smrg		basic_machine=z8k-unknown
12302c393a42Smrg		os=-sim
12312c393a42Smrg		;;
1232ca08ab68Smrg	z80-*-coff)
1233ca08ab68Smrg		basic_machine=z80-unknown
1234ca08ab68Smrg		os=-sim
1235ca08ab68Smrg		;;
12362c393a42Smrg	none)
12372c393a42Smrg		basic_machine=none-none
12382c393a42Smrg		os=-none
12392c393a42Smrg		;;
12402c393a42Smrg
12412c393a42Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12422c393a42Smrg# some cases the only manufacturer, in others, it is the most popular.
12432c393a42Smrg	w89k)
12442c393a42Smrg		basic_machine=hppa1.1-winbond
12452c393a42Smrg		;;
12462c393a42Smrg	op50n)
12472c393a42Smrg		basic_machine=hppa1.1-oki
12482c393a42Smrg		;;
12492c393a42Smrg	op60c)
12502c393a42Smrg		basic_machine=hppa1.1-oki
12512c393a42Smrg		;;
12522c393a42Smrg	romp)
12532c393a42Smrg		basic_machine=romp-ibm
12542c393a42Smrg		;;
12552c393a42Smrg	mmix)
12562c393a42Smrg		basic_machine=mmix-knuth
12572c393a42Smrg		;;
12582c393a42Smrg	rs6000)
12592c393a42Smrg		basic_machine=rs6000-ibm
12602c393a42Smrg		;;
12612c393a42Smrg	vax)
12622c393a42Smrg		basic_machine=vax-dec
12632c393a42Smrg		;;
12642c393a42Smrg	pdp10)
12652c393a42Smrg		# there are many clones, so DEC is not a safe bet
12662c393a42Smrg		basic_machine=pdp10-unknown
12672c393a42Smrg		;;
12682c393a42Smrg	pdp11)
12692c393a42Smrg		basic_machine=pdp11-dec
12702c393a42Smrg		;;
12712c393a42Smrg	we32k)
12722c393a42Smrg		basic_machine=we32k-att
12732c393a42Smrg		;;
1274ca08ab68Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12752c393a42Smrg		basic_machine=sh-unknown
12762c393a42Smrg		;;
12772c393a42Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12782c393a42Smrg		basic_machine=sparc-sun
12792c393a42Smrg		;;
12802c393a42Smrg	cydra)
12812c393a42Smrg		basic_machine=cydra-cydrome
12822c393a42Smrg		;;
12832c393a42Smrg	orion)
12842c393a42Smrg		basic_machine=orion-highlevel
12852c393a42Smrg		;;
12862c393a42Smrg	orion105)
12872c393a42Smrg		basic_machine=clipper-highlevel
12882c393a42Smrg		;;
12892c393a42Smrg	mac | mpw | mac-mpw)
12902c393a42Smrg		basic_machine=m68k-apple
12912c393a42Smrg		;;
12922c393a42Smrg	pmac | pmac-mpw)
12932c393a42Smrg		basic_machine=powerpc-apple
12942c393a42Smrg		;;
12952c393a42Smrg	*-unknown)
12962c393a42Smrg		# Make sure to match an already-canonicalized machine name.
12972c393a42Smrg		;;
12982c393a42Smrg	*)
12992c393a42Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13002c393a42Smrg		exit 1
13012c393a42Smrg		;;
13022c393a42Smrgesac
13032c393a42Smrg
13042c393a42Smrg# Here we canonicalize certain aliases for manufacturers.
13052c393a42Smrgcase $basic_machine in
13062c393a42Smrg	*-digital*)
13072c393a42Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13082c393a42Smrg		;;
13092c393a42Smrg	*-commodore*)
13102c393a42Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13112c393a42Smrg		;;
13122c393a42Smrg	*)
13132c393a42Smrg		;;
13142c393a42Smrgesac
13152c393a42Smrg
13162c393a42Smrg# Decode manufacturer-specific aliases for certain operating systems.
13172c393a42Smrg
13182c393a42Smrgif [ x"$os" != x"" ]
13192c393a42Smrgthen
13202c393a42Smrgcase $os in
1321ca08ab68Smrg	# First match some system type aliases
1322ca08ab68Smrg	# that might get confused with valid system types.
13232c393a42Smrg	# -solaris* is a basic system type, with this one exception.
1324ca08ab68Smrg	-auroraux)
1325ca08ab68Smrg		os=-auroraux
1326ca08ab68Smrg		;;
13272c393a42Smrg	-solaris1 | -solaris1.*)
13282c393a42Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13292c393a42Smrg		;;
13302c393a42Smrg	-solaris)
13312c393a42Smrg		os=-solaris2
13322c393a42Smrg		;;
13332c393a42Smrg	-svr4*)
13342c393a42Smrg		os=-sysv4
13352c393a42Smrg		;;
13362c393a42Smrg	-unixware*)
13372c393a42Smrg		os=-sysv4.2uw
13382c393a42Smrg		;;
13392c393a42Smrg	-gnu/linux*)
13402c393a42Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13412c393a42Smrg		;;
13422c393a42Smrg	# First accept the basic system types.
13432c393a42Smrg	# The portable systems comes first.
13442c393a42Smrg	# Each alternative MUST END IN A *, to match a version number.
13452c393a42Smrg	# -sysv* is not here because it comes later, after sysvr4.
13462c393a42Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1347ca08ab68Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1348ca08ab68Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1349ca08ab68Smrg	      | -sym* | -kopensolaris* \
13502c393a42Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1351ca08ab68Smrg	      | -aos* | -aros* \
13522c393a42Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13532c393a42Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13542c393a42Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13552c393a42Smrg	      | -openbsd* | -solidbsd* \
13562c393a42Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13572c393a42Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13582c393a42Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13592c393a42Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1360ca08ab68Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1361ca08ab68Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1362ca08ab68Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1363ca08ab68Smrg	      | -linux-newlib* | -linux-uclibc* \
13642c393a42Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13652c393a42Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13662c393a42Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13672c393a42Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13682c393a42Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13692c393a42Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13702c393a42Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1371ca08ab68Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13722c393a42Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13732c393a42Smrg		;;
13742c393a42Smrg	-qnx*)
13752c393a42Smrg		case $basic_machine in
13762c393a42Smrg		    x86-* | i*86-*)
13772c393a42Smrg			;;
13782c393a42Smrg		    *)
13792c393a42Smrg			os=-nto$os
13802c393a42Smrg			;;
13812c393a42Smrg		esac
13822c393a42Smrg		;;
13832c393a42Smrg	-nto-qnx*)
13842c393a42Smrg		;;
13852c393a42Smrg	-nto*)
13862c393a42Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13872c393a42Smrg		;;
13882c393a42Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13892c393a42Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13902c393a42Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13912c393a42Smrg		;;
13922c393a42Smrg	-mac*)
13932c393a42Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13942c393a42Smrg		;;
13952c393a42Smrg	-linux-dietlibc)
13962c393a42Smrg		os=-linux-dietlibc
13972c393a42Smrg		;;
13982c393a42Smrg	-linux*)
13992c393a42Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14002c393a42Smrg		;;
14012c393a42Smrg	-sunos5*)
14022c393a42Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14032c393a42Smrg		;;
14042c393a42Smrg	-sunos6*)
14052c393a42Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14062c393a42Smrg		;;
14072c393a42Smrg	-opened*)
14082c393a42Smrg		os=-openedition
14092c393a42Smrg		;;
1410ca08ab68Smrg	-os400*)
14112c393a42Smrg		os=-os400
14122c393a42Smrg		;;
14132c393a42Smrg	-wince*)
14142c393a42Smrg		os=-wince
14152c393a42Smrg		;;
14162c393a42Smrg	-osfrose*)
14172c393a42Smrg		os=-osfrose
14182c393a42Smrg		;;
14192c393a42Smrg	-osf*)
14202c393a42Smrg		os=-osf
14212c393a42Smrg		;;
14222c393a42Smrg	-utek*)
14232c393a42Smrg		os=-bsd
14242c393a42Smrg		;;
14252c393a42Smrg	-dynix*)
14262c393a42Smrg		os=-bsd
14272c393a42Smrg		;;
14282c393a42Smrg	-acis*)
14292c393a42Smrg		os=-aos
14302c393a42Smrg		;;
14312c393a42Smrg	-atheos*)
14322c393a42Smrg		os=-atheos
14332c393a42Smrg		;;
14342c393a42Smrg	-syllable*)
14352c393a42Smrg		os=-syllable
14362c393a42Smrg		;;
14372c393a42Smrg	-386bsd)
14382c393a42Smrg		os=-bsd
14392c393a42Smrg		;;
14402c393a42Smrg	-ctix* | -uts*)
14412c393a42Smrg		os=-sysv
14422c393a42Smrg		;;
14432c393a42Smrg	-nova*)
14442c393a42Smrg		os=-rtmk-nova
14452c393a42Smrg		;;
14462c393a42Smrg	-ns2 )
14472c393a42Smrg		os=-nextstep2
14482c393a42Smrg		;;
14492c393a42Smrg	-nsk*)
14502c393a42Smrg		os=-nsk
14512c393a42Smrg		;;
14522c393a42Smrg	# Preserve the version number of sinix5.
14532c393a42Smrg	-sinix5.*)
14542c393a42Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14552c393a42Smrg		;;
14562c393a42Smrg	-sinix*)
14572c393a42Smrg		os=-sysv4
14582c393a42Smrg		;;
1459ca08ab68Smrg	-tpf*)
14602c393a42Smrg		os=-tpf
14612c393a42Smrg		;;
14622c393a42Smrg	-triton*)
14632c393a42Smrg		os=-sysv3
14642c393a42Smrg		;;
14652c393a42Smrg	-oss*)
14662c393a42Smrg		os=-sysv3
14672c393a42Smrg		;;
14682c393a42Smrg	-svr4)
14692c393a42Smrg		os=-sysv4
14702c393a42Smrg		;;
14712c393a42Smrg	-svr3)
14722c393a42Smrg		os=-sysv3
14732c393a42Smrg		;;
14742c393a42Smrg	-sysvr4)
14752c393a42Smrg		os=-sysv4
14762c393a42Smrg		;;
14772c393a42Smrg	# This must come after -sysvr4.
14782c393a42Smrg	-sysv*)
14792c393a42Smrg		;;
14802c393a42Smrg	-ose*)
14812c393a42Smrg		os=-ose
14822c393a42Smrg		;;
14832c393a42Smrg	-es1800*)
14842c393a42Smrg		os=-ose
14852c393a42Smrg		;;
14862c393a42Smrg	-xenix)
14872c393a42Smrg		os=-xenix
14882c393a42Smrg		;;
14892c393a42Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14902c393a42Smrg		os=-mint
14912c393a42Smrg		;;
14922c393a42Smrg	-aros*)
14932c393a42Smrg		os=-aros
14942c393a42Smrg		;;
14952c393a42Smrg	-kaos*)
14962c393a42Smrg		os=-kaos
14972c393a42Smrg		;;
14982c393a42Smrg	-zvmoe)
14992c393a42Smrg		os=-zvmoe
15002c393a42Smrg		;;
1501ca08ab68Smrg	-dicos*)
1502ca08ab68Smrg		os=-dicos
1503ca08ab68Smrg		;;
1504ca08ab68Smrg	-nacl*)
1505ca08ab68Smrg		;;
15062c393a42Smrg	-none)
15072c393a42Smrg		;;
15082c393a42Smrg	*)
15092c393a42Smrg		# Get rid of the `-' at the beginning of $os.
15102c393a42Smrg		os=`echo $os | sed 's/[^-]*-//'`
15112c393a42Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15122c393a42Smrg		exit 1
15132c393a42Smrg		;;
15142c393a42Smrgesac
15152c393a42Smrgelse
15162c393a42Smrg
15172c393a42Smrg# Here we handle the default operating systems that come with various machines.
15182c393a42Smrg# The value should be what the vendor currently ships out the door with their
15192c393a42Smrg# machine or put another way, the most popular os provided with the machine.
15202c393a42Smrg
15212c393a42Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15222c393a42Smrg# "-sun"), then you have to tell the case statement up towards the top
15232c393a42Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15242c393a42Smrg# will signal an error saying that MANUFACTURER isn't an operating
15252c393a42Smrg# system, and we'll never get to this point.
15262c393a42Smrg
15272c393a42Smrgcase $basic_machine in
1528ca08ab68Smrg	score-*)
15292c393a42Smrg		os=-elf
15302c393a42Smrg		;;
1531ca08ab68Smrg	spu-*)
15322c393a42Smrg		os=-elf
15332c393a42Smrg		;;
15342c393a42Smrg	*-acorn)
15352c393a42Smrg		os=-riscix1.2
15362c393a42Smrg		;;
15372c393a42Smrg	arm*-rebel)
15382c393a42Smrg		os=-linux
15392c393a42Smrg		;;
15402c393a42Smrg	arm*-semi)
15412c393a42Smrg		os=-aout
15422c393a42Smrg		;;
1543ca08ab68Smrg	c4x-* | tic4x-*)
1544ca08ab68Smrg		os=-coff
1545ca08ab68Smrg		;;
1546c9710b42Smrg	hexagon-*)
1547c9710b42Smrg		os=-elf
1548c9710b42Smrg		;;
1549ca08ab68Smrg	tic54x-*)
1550ca08ab68Smrg		os=-coff
1551ca08ab68Smrg		;;
1552ca08ab68Smrg	tic55x-*)
1553ca08ab68Smrg		os=-coff
1554ca08ab68Smrg		;;
1555ca08ab68Smrg	tic6x-*)
1556ca08ab68Smrg		os=-coff
15572c393a42Smrg		;;
15582c393a42Smrg	# This must come before the *-dec entry.
15592c393a42Smrg	pdp10-*)
15602c393a42Smrg		os=-tops20
15612c393a42Smrg		;;
15622c393a42Smrg	pdp11-*)
15632c393a42Smrg		os=-none
15642c393a42Smrg		;;
15652c393a42Smrg	*-dec | vax-*)
15662c393a42Smrg		os=-ultrix4.2
15672c393a42Smrg		;;
15682c393a42Smrg	m68*-apollo)
15692c393a42Smrg		os=-domain
15702c393a42Smrg		;;
15712c393a42Smrg	i386-sun)
15722c393a42Smrg		os=-sunos4.0.2
15732c393a42Smrg		;;
15742c393a42Smrg	m68000-sun)
15752c393a42Smrg		os=-sunos3
15762c393a42Smrg		;;
15772c393a42Smrg	m68*-cisco)
15782c393a42Smrg		os=-aout
15792c393a42Smrg		;;
1580ca08ab68Smrg	mep-*)
15812c393a42Smrg		os=-elf
15822c393a42Smrg		;;
15832c393a42Smrg	mips*-cisco)
15842c393a42Smrg		os=-elf
15852c393a42Smrg		;;
15862c393a42Smrg	mips*-*)
15872c393a42Smrg		os=-elf
15882c393a42Smrg		;;
15892c393a42Smrg	or32-*)
15902c393a42Smrg		os=-coff
15912c393a42Smrg		;;
15922c393a42Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15932c393a42Smrg		os=-sysv3
15942c393a42Smrg		;;
15952c393a42Smrg	sparc-* | *-sun)
15962c393a42Smrg		os=-sunos4.1.1
15972c393a42Smrg		;;
15982c393a42Smrg	*-be)
15992c393a42Smrg		os=-beos
16002c393a42Smrg		;;
16012c393a42Smrg	*-haiku)
16022c393a42Smrg		os=-haiku
16032c393a42Smrg		;;
16042c393a42Smrg	*-ibm)
16052c393a42Smrg		os=-aix
16062c393a42Smrg		;;
1607ca08ab68Smrg	*-knuth)
16082c393a42Smrg		os=-mmixware
16092c393a42Smrg		;;
16102c393a42Smrg	*-wec)
16112c393a42Smrg		os=-proelf
16122c393a42Smrg		;;
16132c393a42Smrg	*-winbond)
16142c393a42Smrg		os=-proelf
16152c393a42Smrg		;;
16162c393a42Smrg	*-oki)
16172c393a42Smrg		os=-proelf
16182c393a42Smrg		;;
16192c393a42Smrg	*-hp)
16202c393a42Smrg		os=-hpux
16212c393a42Smrg		;;
16222c393a42Smrg	*-hitachi)
16232c393a42Smrg		os=-hiux
16242c393a42Smrg		;;
16252c393a42Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16262c393a42Smrg		os=-sysv
16272c393a42Smrg		;;
16282c393a42Smrg	*-cbm)
16292c393a42Smrg		os=-amigaos
16302c393a42Smrg		;;
16312c393a42Smrg	*-dg)
16322c393a42Smrg		os=-dgux
16332c393a42Smrg		;;
16342c393a42Smrg	*-dolphin)
16352c393a42Smrg		os=-sysv3
16362c393a42Smrg		;;
16372c393a42Smrg	m68k-ccur)
16382c393a42Smrg		os=-rtu
16392c393a42Smrg		;;
16402c393a42Smrg	m88k-omron*)
16412c393a42Smrg		os=-luna
16422c393a42Smrg		;;
16432c393a42Smrg	*-next )
16442c393a42Smrg		os=-nextstep
16452c393a42Smrg		;;
16462c393a42Smrg	*-sequent)
16472c393a42Smrg		os=-ptx
16482c393a42Smrg		;;
16492c393a42Smrg	*-crds)
16502c393a42Smrg		os=-unos
16512c393a42Smrg		;;
16522c393a42Smrg	*-ns)
16532c393a42Smrg		os=-genix
16542c393a42Smrg		;;
16552c393a42Smrg	i370-*)
16562c393a42Smrg		os=-mvs
16572c393a42Smrg		;;
16582c393a42Smrg	*-next)
16592c393a42Smrg		os=-nextstep3
16602c393a42Smrg		;;
16612c393a42Smrg	*-gould)
16622c393a42Smrg		os=-sysv
16632c393a42Smrg		;;
16642c393a42Smrg	*-highlevel)
16652c393a42Smrg		os=-bsd
16662c393a42Smrg		;;
16672c393a42Smrg	*-encore)
16682c393a42Smrg		os=-bsd
16692c393a42Smrg		;;
16702c393a42Smrg	*-sgi)
16712c393a42Smrg		os=-irix
16722c393a42Smrg		;;
16732c393a42Smrg	*-siemens)
16742c393a42Smrg		os=-sysv4
16752c393a42Smrg		;;
16762c393a42Smrg	*-masscomp)
16772c393a42Smrg		os=-rtu
16782c393a42Smrg		;;
16792c393a42Smrg	f30[01]-fujitsu | f700-fujitsu)
16802c393a42Smrg		os=-uxpv
16812c393a42Smrg		;;
16822c393a42Smrg	*-rom68k)
16832c393a42Smrg		os=-coff
16842c393a42Smrg		;;
16852c393a42Smrg	*-*bug)
16862c393a42Smrg		os=-coff
16872c393a42Smrg		;;
16882c393a42Smrg	*-apple)
16892c393a42Smrg		os=-macos
16902c393a42Smrg		;;
16912c393a42Smrg	*-atari*)
16922c393a42Smrg		os=-mint
16932c393a42Smrg		;;
16942c393a42Smrg	*)
16952c393a42Smrg		os=-none
16962c393a42Smrg		;;
16972c393a42Smrgesac
16982c393a42Smrgfi
16992c393a42Smrg
17002c393a42Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17012c393a42Smrg# manufacturer.  We pick the logical manufacturer.
17022c393a42Smrgvendor=unknown
17032c393a42Smrgcase $basic_machine in
17042c393a42Smrg	*-unknown)
17052c393a42Smrg		case $os in
17062c393a42Smrg			-riscix*)
17072c393a42Smrg				vendor=acorn
17082c393a42Smrg				;;
17092c393a42Smrg			-sunos*)
17102c393a42Smrg				vendor=sun
17112c393a42Smrg				;;
1712ca08ab68Smrg			-cnk*|-aix*)
17132c393a42Smrg				vendor=ibm
17142c393a42Smrg				;;
17152c393a42Smrg			-beos*)
17162c393a42Smrg				vendor=be
17172c393a42Smrg				;;
17182c393a42Smrg			-hpux*)
17192c393a42Smrg				vendor=hp
17202c393a42Smrg				;;
17212c393a42Smrg			-mpeix*)
17222c393a42Smrg				vendor=hp
17232c393a42Smrg				;;
17242c393a42Smrg			-hiux*)
17252c393a42Smrg				vendor=hitachi
17262c393a42Smrg				;;
17272c393a42Smrg			-unos*)
17282c393a42Smrg				vendor=crds
17292c393a42Smrg				;;
17302c393a42Smrg			-dgux*)
17312c393a42Smrg				vendor=dg
17322c393a42Smrg				;;
17332c393a42Smrg			-luna*)
17342c393a42Smrg				vendor=omron
17352c393a42Smrg				;;
17362c393a42Smrg			-genix*)
17372c393a42Smrg				vendor=ns
17382c393a42Smrg				;;
17392c393a42Smrg			-mvs* | -opened*)
17402c393a42Smrg				vendor=ibm
17412c393a42Smrg				;;
17422c393a42Smrg			-os400*)
17432c393a42Smrg				vendor=ibm
17442c393a42Smrg				;;
17452c393a42Smrg			-ptx*)
17462c393a42Smrg				vendor=sequent
17472c393a42Smrg				;;
17482c393a42Smrg			-tpf*)
17492c393a42Smrg				vendor=ibm
17502c393a42Smrg				;;
17512c393a42Smrg			-vxsim* | -vxworks* | -windiss*)
17522c393a42Smrg				vendor=wrs
17532c393a42Smrg				;;
17542c393a42Smrg			-aux*)
17552c393a42Smrg				vendor=apple
17562c393a42Smrg				;;
17572c393a42Smrg			-hms*)
17582c393a42Smrg				vendor=hitachi
17592c393a42Smrg				;;
17602c393a42Smrg			-mpw* | -macos*)
17612c393a42Smrg				vendor=apple
17622c393a42Smrg				;;
17632c393a42Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17642c393a42Smrg				vendor=atari
17652c393a42Smrg				;;
17662c393a42Smrg			-vos*)
17672c393a42Smrg				vendor=stratus
17682c393a42Smrg				;;
17692c393a42Smrg		esac
17702c393a42Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17712c393a42Smrg		;;
17722c393a42Smrgesac
17732c393a42Smrg
17742c393a42Smrgecho $basic_machine$os
17752c393a42Smrgexit
17762c393a42Smrg
17772c393a42Smrg# Local variables:
17782c393a42Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17792c393a42Smrg# time-stamp-start: "timestamp='"
17802c393a42Smrg# time-stamp-format: "%:y-%02m-%02d"
17812c393a42Smrg# time-stamp-end: "'"
17822c393a42Smrg# End:
1783