config.sub revision 2adc0320
17a0395d0Smrg#! /bin/sh
27a0395d0Smrg# Configuration validation subroutine script.
37a0395d0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
42adc0320Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
57a0395d0Smrg#   Free Software Foundation, Inc.
67a0395d0Smrg
72adc0320Smrgtimestamp='2010-09-11'
87a0395d0Smrg
97a0395d0Smrg# This file is (in principle) common to ALL GNU software.
107a0395d0Smrg# The presence of a machine in this file suggests that SOME GNU software
117a0395d0Smrg# can handle that machine.  It does not imply ALL GNU software can.
127a0395d0Smrg#
137a0395d0Smrg# This file is free software; you can redistribute it and/or modify
147a0395d0Smrg# it under the terms of the GNU General Public License as published by
157a0395d0Smrg# the Free Software Foundation; either version 2 of the License, or
167a0395d0Smrg# (at your option) any later version.
177a0395d0Smrg#
187a0395d0Smrg# This program is distributed in the hope that it will be useful,
197a0395d0Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
207a0395d0Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
217a0395d0Smrg# GNU General Public License for more details.
227a0395d0Smrg#
237a0395d0Smrg# You should have received a copy of the GNU General Public License
247a0395d0Smrg# along with this program; if not, write to the Free Software
257a0395d0Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
267a0395d0Smrg# 02110-1301, USA.
277a0395d0Smrg#
287a0395d0Smrg# As a special exception to the GNU General Public License, if you
297a0395d0Smrg# distribute this file as part of a program that contains a
307a0395d0Smrg# configuration script generated by Autoconf, you may include it under
317a0395d0Smrg# the same distribution terms that you use for the rest of that program.
327a0395d0Smrg
337a0395d0Smrg
347a0395d0Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
352adc0320Smrg# diff and a properly formatted GNU ChangeLog entry.
367a0395d0Smrg#
377a0395d0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
387a0395d0Smrg# Supply the specified configuration type as an argument.
397a0395d0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
407a0395d0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
417a0395d0Smrg
422adc0320Smrg# You can get the latest version of this script from:
432adc0320Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
442adc0320Smrg
457a0395d0Smrg# This file is supposed to be the same for all GNU packages
467a0395d0Smrg# and recognize all the CPU types, system types and aliases
477a0395d0Smrg# that are meaningful with *any* GNU software.
487a0395d0Smrg# Each package is responsible for reporting which valid configurations
497a0395d0Smrg# it does not support.  The user should be able to distinguish
507a0395d0Smrg# a failure to support a valid configuration from a meaningless
517a0395d0Smrg# configuration.
527a0395d0Smrg
537a0395d0Smrg# The goal of this file is to map all the various variations of a given
547a0395d0Smrg# machine specification into a single specification in the form:
557a0395d0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
567a0395d0Smrg# or in some cases, the newer four-part form:
577a0395d0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
587a0395d0Smrg# It is wrong to echo any other type of specification.
597a0395d0Smrg
607a0395d0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
617a0395d0Smrg
627a0395d0Smrgusage="\
637a0395d0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
647a0395d0Smrg       $0 [OPTION] ALIAS
657a0395d0Smrg
667a0395d0SmrgCanonicalize a configuration name.
677a0395d0Smrg
687a0395d0SmrgOperation modes:
697a0395d0Smrg  -h, --help         print this help, then exit
707a0395d0Smrg  -t, --time-stamp   print date of last modification, then exit
717a0395d0Smrg  -v, --version      print version number, then exit
727a0395d0Smrg
737a0395d0SmrgReport bugs and patches to <config-patches@gnu.org>."
747a0395d0Smrg
757a0395d0Smrgversion="\
767a0395d0SmrgGNU config.sub ($timestamp)
777a0395d0Smrg
782adc0320SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
792adc0320Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
802adc0320SmrgSoftware Foundation, Inc.
817a0395d0Smrg
827a0395d0SmrgThis is free software; see the source for copying conditions.  There is NO
837a0395d0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
847a0395d0Smrg
857a0395d0Smrghelp="
867a0395d0SmrgTry \`$me --help' for more information."
877a0395d0Smrg
887a0395d0Smrg# Parse command line
897a0395d0Smrgwhile test $# -gt 0 ; do
907a0395d0Smrg  case $1 in
917a0395d0Smrg    --time-stamp | --time* | -t )
927a0395d0Smrg       echo "$timestamp" ; exit ;;
937a0395d0Smrg    --version | -v )
947a0395d0Smrg       echo "$version" ; exit ;;
957a0395d0Smrg    --help | --h* | -h )
967a0395d0Smrg       echo "$usage"; exit ;;
977a0395d0Smrg    -- )     # Stop option processing
987a0395d0Smrg       shift; break ;;
997a0395d0Smrg    - )	# Use stdin as input.
1007a0395d0Smrg       break ;;
1017a0395d0Smrg    -* )
1027a0395d0Smrg       echo "$me: invalid option $1$help"
1037a0395d0Smrg       exit 1 ;;
1047a0395d0Smrg
1057a0395d0Smrg    *local*)
1067a0395d0Smrg       # First pass through any local machine types.
1077a0395d0Smrg       echo $1
1087a0395d0Smrg       exit ;;
1097a0395d0Smrg
1107a0395d0Smrg    * )
1117a0395d0Smrg       break ;;
1127a0395d0Smrg  esac
1137a0395d0Smrgdone
1147a0395d0Smrg
1157a0395d0Smrgcase $# in
1167a0395d0Smrg 0) echo "$me: missing argument$help" >&2
1177a0395d0Smrg    exit 1;;
1187a0395d0Smrg 1) ;;
1197a0395d0Smrg *) echo "$me: too many arguments$help" >&2
1207a0395d0Smrg    exit 1;;
1217a0395d0Smrgesac
1227a0395d0Smrg
1237a0395d0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1247a0395d0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1257a0395d0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1267a0395d0Smrgcase $maybe_os in
1272adc0320Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1282adc0320Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1292adc0320Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1307366012aSmrg  kopensolaris*-gnu* | \
1317a0395d0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1327a0395d0Smrg    os=-$maybe_os
1337a0395d0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1347a0395d0Smrg    ;;
1357a0395d0Smrg  *)
1367a0395d0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1377a0395d0Smrg    if [ $basic_machine != $1 ]
1387a0395d0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1397a0395d0Smrg    else os=; fi
1407a0395d0Smrg    ;;
1417a0395d0Smrgesac
1427a0395d0Smrg
1437a0395d0Smrg### Let's recognize common machines as not being operating systems so
1447a0395d0Smrg### that things like config.sub decstation-3100 work.  We also
1457a0395d0Smrg### recognize some manufacturers as not being operating systems, so we
1467a0395d0Smrg### can provide default operating systems below.
1477a0395d0Smrgcase $os in
1487a0395d0Smrg	-sun*os*)
1497a0395d0Smrg		# Prevent following clause from handling this invalid input.
1507a0395d0Smrg		;;
1517a0395d0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1527a0395d0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1537a0395d0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1547a0395d0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1557a0395d0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1567a0395d0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1572adc0320Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1587a0395d0Smrg		os=
1597a0395d0Smrg		basic_machine=$1
1607a0395d0Smrg		;;
1612adc0320Smrg        -bluegene*)
1622adc0320Smrg	        os=-cnk
1632adc0320Smrg		;;
1647a0395d0Smrg	-sim | -cisco | -oki | -wec | -winbond)
1657a0395d0Smrg		os=
1667a0395d0Smrg		basic_machine=$1
1677a0395d0Smrg		;;
1687a0395d0Smrg	-scout)
1697a0395d0Smrg		;;
1707a0395d0Smrg	-wrs)
1717a0395d0Smrg		os=-vxworks
1727a0395d0Smrg		basic_machine=$1
1737a0395d0Smrg		;;
1747a0395d0Smrg	-chorusos*)
1757a0395d0Smrg		os=-chorusos
1767a0395d0Smrg		basic_machine=$1
1777a0395d0Smrg		;;
1787a0395d0Smrg 	-chorusrdb)
1797a0395d0Smrg 		os=-chorusrdb
1807a0395d0Smrg		basic_machine=$1
1817a0395d0Smrg 		;;
1827a0395d0Smrg	-hiux*)
1837a0395d0Smrg		os=-hiuxwe2
1847a0395d0Smrg		;;
1857a0395d0Smrg	-sco6)
1867a0395d0Smrg		os=-sco5v6
1877a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1887a0395d0Smrg		;;
1897a0395d0Smrg	-sco5)
1907a0395d0Smrg		os=-sco3.2v5
1917a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1927a0395d0Smrg		;;
1937a0395d0Smrg	-sco4)
1947a0395d0Smrg		os=-sco3.2v4
1957a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1967a0395d0Smrg		;;
1977a0395d0Smrg	-sco3.2.[4-9]*)
1987a0395d0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1997a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2007a0395d0Smrg		;;
2017a0395d0Smrg	-sco3.2v[4-9]*)
2027a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2037a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2047a0395d0Smrg		;;
2057a0395d0Smrg	-sco5v6*)
2067a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2077a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2087a0395d0Smrg		;;
2097a0395d0Smrg	-sco*)
2107a0395d0Smrg		os=-sco3.2v2
2117a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2127a0395d0Smrg		;;
2137a0395d0Smrg	-udk*)
2147a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2157a0395d0Smrg		;;
2167a0395d0Smrg	-isc)
2177a0395d0Smrg		os=-isc2.2
2187a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2197a0395d0Smrg		;;
2207a0395d0Smrg	-clix*)
2217a0395d0Smrg		basic_machine=clipper-intergraph
2227a0395d0Smrg		;;
2237a0395d0Smrg	-isc*)
2247a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2257a0395d0Smrg		;;
2267a0395d0Smrg	-lynx*)
2277a0395d0Smrg		os=-lynxos
2287a0395d0Smrg		;;
2297a0395d0Smrg	-ptx*)
2307a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2317a0395d0Smrg		;;
2327a0395d0Smrg	-windowsnt*)
2337a0395d0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2347a0395d0Smrg		;;
2357a0395d0Smrg	-psos*)
2367a0395d0Smrg		os=-psos
2377a0395d0Smrg		;;
2387a0395d0Smrg	-mint | -mint[0-9]*)
2397a0395d0Smrg		basic_machine=m68k-atari
2407a0395d0Smrg		os=-mint
2417a0395d0Smrg		;;
2427a0395d0Smrgesac
2437a0395d0Smrg
2447a0395d0Smrg# Decode aliases for certain CPU-COMPANY combinations.
2457a0395d0Smrgcase $basic_machine in
2467a0395d0Smrg	# Recognize the basic CPU types without company name.
2477a0395d0Smrg	# Some are omitted here because they have special meanings below.
2487a0395d0Smrg	1750a | 580 \
2497a0395d0Smrg	| a29k \
2507a0395d0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2517a0395d0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2527a0395d0Smrg	| am33_2.0 \
2537a0395d0Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2547a0395d0Smrg	| bfin \
2557a0395d0Smrg	| c4x | clipper \
2567a0395d0Smrg	| d10v | d30v | dlx | dsp16xx \
2577a0395d0Smrg	| fido | fr30 | frv \
2587a0395d0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2597a0395d0Smrg	| i370 | i860 | i960 | ia64 \
2607a0395d0Smrg	| ip2k | iq2000 \
2617366012aSmrg	| lm32 \
2627a0395d0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2637366012aSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2647a0395d0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2657a0395d0Smrg	| mips16 \
2667a0395d0Smrg	| mips64 | mips64el \
2677366012aSmrg	| mips64octeon | mips64octeonel \
2687a0395d0Smrg	| mips64orion | mips64orionel \
2697366012aSmrg	| mips64r5900 | mips64r5900el \
2707366012aSmrg	| mips64vr | mips64vrel \
2717a0395d0Smrg	| mips64vr4100 | mips64vr4100el \
2727a0395d0Smrg	| mips64vr4300 | mips64vr4300el \
2737a0395d0Smrg	| mips64vr5000 | mips64vr5000el \
2747a0395d0Smrg	| mips64vr5900 | mips64vr5900el \
2757a0395d0Smrg	| mipsisa32 | mipsisa32el \
2767a0395d0Smrg	| mipsisa32r2 | mipsisa32r2el \
2777a0395d0Smrg	| mipsisa64 | mipsisa64el \
2787a0395d0Smrg	| mipsisa64r2 | mipsisa64r2el \
2797a0395d0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2807a0395d0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2817a0395d0Smrg	| mipstx39 | mipstx39el \
2827a0395d0Smrg	| mn10200 | mn10300 \
2837366012aSmrg	| moxie \
2847a0395d0Smrg	| mt \
2857a0395d0Smrg	| msp430 \
2862adc0320Smrg	| nds32 | nds32le | nds32be \
2877a0395d0Smrg	| nios | nios2 \
2887a0395d0Smrg	| ns16k | ns32k \
2897a0395d0Smrg	| or32 \
2907a0395d0Smrg	| pdp10 | pdp11 | pj | pjl \
2917a0395d0Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2927a0395d0Smrg	| pyramid \
2932adc0320Smrg	| rx \
2947a0395d0Smrg	| score \
2957366012aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2967a0395d0Smrg	| sh64 | sh64le \
2977a0395d0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2987a0395d0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2997a0395d0Smrg	| spu | strongarm \
3002adc0320Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3012adc0320Smrg	| ubicom32 \
3027a0395d0Smrg	| v850 | v850e \
3037a0395d0Smrg	| we32k \
3047a0395d0Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3057366012aSmrg	| z8k | z80)
3067a0395d0Smrg		basic_machine=$basic_machine-unknown
3077a0395d0Smrg		;;
3082adc0320Smrg	c54x)
3092adc0320Smrg		basic_machine=tic54x-unknown
3102adc0320Smrg		;;
3112adc0320Smrg	c55x)
3122adc0320Smrg		basic_machine=tic55x-unknown
3132adc0320Smrg		;;
3142adc0320Smrg	c6x)
3152adc0320Smrg		basic_machine=tic6x-unknown
3162adc0320Smrg		;;
3172adc0320Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3187a0395d0Smrg		# Motorola 68HC11/12.
3197a0395d0Smrg		basic_machine=$basic_machine-unknown
3207a0395d0Smrg		os=-none
3217a0395d0Smrg		;;
3227a0395d0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3237a0395d0Smrg		;;
3247a0395d0Smrg	ms1)
3257a0395d0Smrg		basic_machine=mt-unknown
3267a0395d0Smrg		;;
3277a0395d0Smrg
3287a0395d0Smrg	# We use `pc' rather than `unknown'
3297a0395d0Smrg	# because (1) that's what they normally are, and
3307a0395d0Smrg	# (2) the word "unknown" tends to confuse beginning users.
3317a0395d0Smrg	i*86 | x86_64)
3327a0395d0Smrg	  basic_machine=$basic_machine-pc
3337a0395d0Smrg	  ;;
3347a0395d0Smrg	# Object if more than one company name word.
3357a0395d0Smrg	*-*-*)
3367a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3377a0395d0Smrg		exit 1
3387a0395d0Smrg		;;
3397a0395d0Smrg	# Recognize the basic CPU types with company name.
3407a0395d0Smrg	580-* \
3417a0395d0Smrg	| a29k-* \
3427a0395d0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3437a0395d0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3447a0395d0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3457a0395d0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3467a0395d0Smrg	| avr-* | avr32-* \
3477a0395d0Smrg	| bfin-* | bs2000-* \
3482adc0320Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3497a0395d0Smrg	| clipper-* | craynv-* | cydra-* \
3507a0395d0Smrg	| d10v-* | d30v-* | dlx-* \
3517a0395d0Smrg	| elxsi-* \
3527a0395d0Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3537a0395d0Smrg	| h8300-* | h8500-* \
3547a0395d0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3557a0395d0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3567a0395d0Smrg	| ip2k-* | iq2000-* \
3577366012aSmrg	| lm32-* \
3587a0395d0Smrg	| m32c-* | m32r-* | m32rle-* \
3597a0395d0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3602adc0320Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3617a0395d0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3627a0395d0Smrg	| mips16-* \
3637a0395d0Smrg	| mips64-* | mips64el-* \
3647366012aSmrg	| mips64octeon-* | mips64octeonel-* \
3657a0395d0Smrg	| mips64orion-* | mips64orionel-* \
3667366012aSmrg	| mips64r5900-* | mips64r5900el-* \
3677366012aSmrg	| mips64vr-* | mips64vrel-* \
3687a0395d0Smrg	| mips64vr4100-* | mips64vr4100el-* \
3697a0395d0Smrg	| mips64vr4300-* | mips64vr4300el-* \
3707a0395d0Smrg	| mips64vr5000-* | mips64vr5000el-* \
3717a0395d0Smrg	| mips64vr5900-* | mips64vr5900el-* \
3727a0395d0Smrg	| mipsisa32-* | mipsisa32el-* \
3737a0395d0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3747a0395d0Smrg	| mipsisa64-* | mipsisa64el-* \
3757a0395d0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3767a0395d0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3777a0395d0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3787a0395d0Smrg	| mipstx39-* | mipstx39el-* \
3797a0395d0Smrg	| mmix-* \
3807a0395d0Smrg	| mt-* \
3817a0395d0Smrg	| msp430-* \
3822adc0320Smrg	| nds32-* | nds32le-* | nds32be-* \
3837a0395d0Smrg	| nios-* | nios2-* \
3847a0395d0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3857a0395d0Smrg	| orion-* \
3867a0395d0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3877a0395d0Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3887a0395d0Smrg	| pyramid-* \
3892adc0320Smrg	| romp-* | rs6000-* | rx-* \
3907366012aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3917a0395d0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3927a0395d0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3937a0395d0Smrg	| sparclite-* \
3947a0395d0Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3957a0395d0Smrg	| tahoe-* | thumb-* \
3962adc0320Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3972adc0320Smrg	| tile-* | tilegx-* \
3987a0395d0Smrg	| tron-* \
3992adc0320Smrg	| ubicom32-* \
4007a0395d0Smrg	| v850-* | v850e-* | vax-* \
4017a0395d0Smrg	| we32k-* \
4027a0395d0Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4037a0395d0Smrg	| xstormy16-* | xtensa*-* \
4047a0395d0Smrg	| ymp-* \
4057366012aSmrg	| z8k-* | z80-*)
4067a0395d0Smrg		;;
4077a0395d0Smrg	# Recognize the basic CPU types without company name, with glob match.
4087a0395d0Smrg	xtensa*)
4097a0395d0Smrg		basic_machine=$basic_machine-unknown
4107a0395d0Smrg		;;
4117a0395d0Smrg	# Recognize the various machine names and aliases which stand
4127a0395d0Smrg	# for a CPU type and a company and sometimes even an OS.
4137a0395d0Smrg	386bsd)
4147a0395d0Smrg		basic_machine=i386-unknown
4157a0395d0Smrg		os=-bsd
4167a0395d0Smrg		;;
4177a0395d0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4187a0395d0Smrg		basic_machine=m68000-att
4197a0395d0Smrg		;;
4207a0395d0Smrg	3b*)
4217a0395d0Smrg		basic_machine=we32k-att
4227a0395d0Smrg		;;
4237a0395d0Smrg	a29khif)
4247a0395d0Smrg		basic_machine=a29k-amd
4257a0395d0Smrg		os=-udi
4267a0395d0Smrg		;;
4277a0395d0Smrg    	abacus)
4287a0395d0Smrg		basic_machine=abacus-unknown
4297a0395d0Smrg		;;
4307a0395d0Smrg	adobe68k)
4317a0395d0Smrg		basic_machine=m68010-adobe
4327a0395d0Smrg		os=-scout
4337a0395d0Smrg		;;
4347a0395d0Smrg	alliant | fx80)
4357a0395d0Smrg		basic_machine=fx80-alliant
4367a0395d0Smrg		;;
4377a0395d0Smrg	altos | altos3068)
4387a0395d0Smrg		basic_machine=m68k-altos
4397a0395d0Smrg		;;
4407a0395d0Smrg	am29k)
4417a0395d0Smrg		basic_machine=a29k-none
4427a0395d0Smrg		os=-bsd
4437a0395d0Smrg		;;
4447a0395d0Smrg	amd64)
4457a0395d0Smrg		basic_machine=x86_64-pc
4467a0395d0Smrg		;;
4477a0395d0Smrg	amd64-*)
4487a0395d0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4497a0395d0Smrg		;;
4507a0395d0Smrg	amdahl)
4517a0395d0Smrg		basic_machine=580-amdahl
4527a0395d0Smrg		os=-sysv
4537a0395d0Smrg		;;
4547a0395d0Smrg	amiga | amiga-*)
4557a0395d0Smrg		basic_machine=m68k-unknown
4567a0395d0Smrg		;;
4577a0395d0Smrg	amigaos | amigados)
4587a0395d0Smrg		basic_machine=m68k-unknown
4597a0395d0Smrg		os=-amigaos
4607a0395d0Smrg		;;
4617a0395d0Smrg	amigaunix | amix)
4627a0395d0Smrg		basic_machine=m68k-unknown
4637a0395d0Smrg		os=-sysv4
4647a0395d0Smrg		;;
4657a0395d0Smrg	apollo68)
4667a0395d0Smrg		basic_machine=m68k-apollo
4677a0395d0Smrg		os=-sysv
4687a0395d0Smrg		;;
4697a0395d0Smrg	apollo68bsd)
4707a0395d0Smrg		basic_machine=m68k-apollo
4717a0395d0Smrg		os=-bsd
4727a0395d0Smrg		;;
4737366012aSmrg	aros)
4747366012aSmrg		basic_machine=i386-pc
4757366012aSmrg		os=-aros
4767366012aSmrg		;;
4777a0395d0Smrg	aux)
4787a0395d0Smrg		basic_machine=m68k-apple
4797a0395d0Smrg		os=-aux
4807a0395d0Smrg		;;
4817a0395d0Smrg	balance)
4827a0395d0Smrg		basic_machine=ns32k-sequent
4837a0395d0Smrg		os=-dynix
4847a0395d0Smrg		;;
4857a0395d0Smrg	blackfin)
4867a0395d0Smrg		basic_machine=bfin-unknown
4877a0395d0Smrg		os=-linux
4887a0395d0Smrg		;;
4897a0395d0Smrg	blackfin-*)
4907a0395d0Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4917a0395d0Smrg		os=-linux
4927a0395d0Smrg		;;
4932adc0320Smrg	bluegene*)
4942adc0320Smrg		basic_machine=powerpc-ibm
4952adc0320Smrg		os=-cnk
4962adc0320Smrg		;;
4972adc0320Smrg	c54x-*)
4982adc0320Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
4992adc0320Smrg		;;
5002adc0320Smrg	c55x-*)
5012adc0320Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5022adc0320Smrg		;;
5032adc0320Smrg	c6x-*)
5042adc0320Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5052adc0320Smrg		;;
5067a0395d0Smrg	c90)
5077a0395d0Smrg		basic_machine=c90-cray
5087a0395d0Smrg		os=-unicos
5097a0395d0Smrg		;;
5107366012aSmrg        cegcc)
5117366012aSmrg		basic_machine=arm-unknown
5127366012aSmrg		os=-cegcc
5137366012aSmrg		;;
5147a0395d0Smrg	convex-c1)
5157a0395d0Smrg		basic_machine=c1-convex
5167a0395d0Smrg		os=-bsd
5177a0395d0Smrg		;;
5187a0395d0Smrg	convex-c2)
5197a0395d0Smrg		basic_machine=c2-convex
5207a0395d0Smrg		os=-bsd
5217a0395d0Smrg		;;
5227a0395d0Smrg	convex-c32)
5237a0395d0Smrg		basic_machine=c32-convex
5247a0395d0Smrg		os=-bsd
5257a0395d0Smrg		;;
5267a0395d0Smrg	convex-c34)
5277a0395d0Smrg		basic_machine=c34-convex
5287a0395d0Smrg		os=-bsd
5297a0395d0Smrg		;;
5307a0395d0Smrg	convex-c38)
5317a0395d0Smrg		basic_machine=c38-convex
5327a0395d0Smrg		os=-bsd
5337a0395d0Smrg		;;
5347a0395d0Smrg	cray | j90)
5357a0395d0Smrg		basic_machine=j90-cray
5367a0395d0Smrg		os=-unicos
5377a0395d0Smrg		;;
5387a0395d0Smrg	craynv)
5397a0395d0Smrg		basic_machine=craynv-cray
5407a0395d0Smrg		os=-unicosmp
5417a0395d0Smrg		;;
5427a0395d0Smrg	cr16)
5437a0395d0Smrg		basic_machine=cr16-unknown
5447a0395d0Smrg		os=-elf
5457a0395d0Smrg		;;
5467a0395d0Smrg	crds | unos)
5477a0395d0Smrg		basic_machine=m68k-crds
5487a0395d0Smrg		;;
5497a0395d0Smrg	crisv32 | crisv32-* | etraxfs*)
5507a0395d0Smrg		basic_machine=crisv32-axis
5517a0395d0Smrg		;;
5527a0395d0Smrg	cris | cris-* | etrax*)
5537a0395d0Smrg		basic_machine=cris-axis
5547a0395d0Smrg		;;
5557a0395d0Smrg	crx)
5567a0395d0Smrg		basic_machine=crx-unknown
5577a0395d0Smrg		os=-elf
5587a0395d0Smrg		;;
5597a0395d0Smrg	da30 | da30-*)
5607a0395d0Smrg		basic_machine=m68k-da30
5617a0395d0Smrg		;;
5627a0395d0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5637a0395d0Smrg		basic_machine=mips-dec
5647a0395d0Smrg		;;
5657a0395d0Smrg	decsystem10* | dec10*)
5667a0395d0Smrg		basic_machine=pdp10-dec
5677a0395d0Smrg		os=-tops10
5687a0395d0Smrg		;;
5697a0395d0Smrg	decsystem20* | dec20*)
5707a0395d0Smrg		basic_machine=pdp10-dec
5717a0395d0Smrg		os=-tops20
5727a0395d0Smrg		;;
5737a0395d0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5747a0395d0Smrg	      | 3300-motorola | delta-motorola)
5757a0395d0Smrg		basic_machine=m68k-motorola
5767a0395d0Smrg		;;
5777a0395d0Smrg	delta88)
5787a0395d0Smrg		basic_machine=m88k-motorola
5797a0395d0Smrg		os=-sysv3
5807a0395d0Smrg		;;
5817366012aSmrg	dicos)
5827366012aSmrg		basic_machine=i686-pc
5837366012aSmrg		os=-dicos
5847366012aSmrg		;;
5857a0395d0Smrg	djgpp)
5867a0395d0Smrg		basic_machine=i586-pc
5877a0395d0Smrg		os=-msdosdjgpp
5887a0395d0Smrg		;;
5897a0395d0Smrg	dpx20 | dpx20-*)
5907a0395d0Smrg		basic_machine=rs6000-bull
5917a0395d0Smrg		os=-bosx
5927a0395d0Smrg		;;
5937a0395d0Smrg	dpx2* | dpx2*-bull)
5947a0395d0Smrg		basic_machine=m68k-bull
5957a0395d0Smrg		os=-sysv3
5967a0395d0Smrg		;;
5977a0395d0Smrg	ebmon29k)
5987a0395d0Smrg		basic_machine=a29k-amd
5997a0395d0Smrg		os=-ebmon
6007a0395d0Smrg		;;
6017a0395d0Smrg	elxsi)
6027a0395d0Smrg		basic_machine=elxsi-elxsi
6037a0395d0Smrg		os=-bsd
6047a0395d0Smrg		;;
6057a0395d0Smrg	encore | umax | mmax)
6067a0395d0Smrg		basic_machine=ns32k-encore
6077a0395d0Smrg		;;
6087a0395d0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6097a0395d0Smrg		basic_machine=m68k-ericsson
6107a0395d0Smrg		os=-ose
6117a0395d0Smrg		;;
6127a0395d0Smrg	fx2800)
6137a0395d0Smrg		basic_machine=i860-alliant
6147a0395d0Smrg		;;
6157a0395d0Smrg	genix)
6167a0395d0Smrg		basic_machine=ns32k-ns
6177a0395d0Smrg		;;
6187a0395d0Smrg	gmicro)
6197a0395d0Smrg		basic_machine=tron-gmicro
6207a0395d0Smrg		os=-sysv
6217a0395d0Smrg		;;
6227a0395d0Smrg	go32)
6237a0395d0Smrg		basic_machine=i386-pc
6247a0395d0Smrg		os=-go32
6257a0395d0Smrg		;;
6267a0395d0Smrg	h3050r* | hiux*)
6277a0395d0Smrg		basic_machine=hppa1.1-hitachi
6287a0395d0Smrg		os=-hiuxwe2
6297a0395d0Smrg		;;
6307a0395d0Smrg	h8300hms)
6317a0395d0Smrg		basic_machine=h8300-hitachi
6327a0395d0Smrg		os=-hms
6337a0395d0Smrg		;;
6347a0395d0Smrg	h8300xray)
6357a0395d0Smrg		basic_machine=h8300-hitachi
6367a0395d0Smrg		os=-xray
6377a0395d0Smrg		;;
6387a0395d0Smrg	h8500hms)
6397a0395d0Smrg		basic_machine=h8500-hitachi
6407a0395d0Smrg		os=-hms
6417a0395d0Smrg		;;
6427a0395d0Smrg	harris)
6437a0395d0Smrg		basic_machine=m88k-harris
6447a0395d0Smrg		os=-sysv3
6457a0395d0Smrg		;;
6467a0395d0Smrg	hp300-*)
6477a0395d0Smrg		basic_machine=m68k-hp
6487a0395d0Smrg		;;
6497a0395d0Smrg	hp300bsd)
6507a0395d0Smrg		basic_machine=m68k-hp
6517a0395d0Smrg		os=-bsd
6527a0395d0Smrg		;;
6537a0395d0Smrg	hp300hpux)
6547a0395d0Smrg		basic_machine=m68k-hp
6557a0395d0Smrg		os=-hpux
6567a0395d0Smrg		;;
6577a0395d0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6587a0395d0Smrg		basic_machine=hppa1.0-hp
6597a0395d0Smrg		;;
6607a0395d0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6617a0395d0Smrg		basic_machine=m68000-hp
6627a0395d0Smrg		;;
6637a0395d0Smrg	hp9k3[2-9][0-9])
6647a0395d0Smrg		basic_machine=m68k-hp
6657a0395d0Smrg		;;
6667a0395d0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6677a0395d0Smrg		basic_machine=hppa1.0-hp
6687a0395d0Smrg		;;
6697a0395d0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6707a0395d0Smrg		basic_machine=hppa1.1-hp
6717a0395d0Smrg		;;
6727a0395d0Smrg	hp9k78[0-9] | hp78[0-9])
6737a0395d0Smrg		# FIXME: really hppa2.0-hp
6747a0395d0Smrg		basic_machine=hppa1.1-hp
6757a0395d0Smrg		;;
6767a0395d0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6777a0395d0Smrg		# FIXME: really hppa2.0-hp
6787a0395d0Smrg		basic_machine=hppa1.1-hp
6797a0395d0Smrg		;;
6807a0395d0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6817a0395d0Smrg		basic_machine=hppa1.1-hp
6827a0395d0Smrg		;;
6837a0395d0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6847a0395d0Smrg		basic_machine=hppa1.0-hp
6857a0395d0Smrg		;;
6867a0395d0Smrg	hppa-next)
6877a0395d0Smrg		os=-nextstep3
6887a0395d0Smrg		;;
6897a0395d0Smrg	hppaosf)
6907a0395d0Smrg		basic_machine=hppa1.1-hp
6917a0395d0Smrg		os=-osf
6927a0395d0Smrg		;;
6937a0395d0Smrg	hppro)
6947a0395d0Smrg		basic_machine=hppa1.1-hp
6957a0395d0Smrg		os=-proelf
6967a0395d0Smrg		;;
6977a0395d0Smrg	i370-ibm* | ibm*)
6987a0395d0Smrg		basic_machine=i370-ibm
6997a0395d0Smrg		;;
7007a0395d0Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7017a0395d0Smrg	i*86v32)
7027a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7037a0395d0Smrg		os=-sysv32
7047a0395d0Smrg		;;
7057a0395d0Smrg	i*86v4*)
7067a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7077a0395d0Smrg		os=-sysv4
7087a0395d0Smrg		;;
7097a0395d0Smrg	i*86v)
7107a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7117a0395d0Smrg		os=-sysv
7127a0395d0Smrg		;;
7137a0395d0Smrg	i*86sol2)
7147a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7157a0395d0Smrg		os=-solaris2
7167a0395d0Smrg		;;
7177a0395d0Smrg	i386mach)
7187a0395d0Smrg		basic_machine=i386-mach
7197a0395d0Smrg		os=-mach
7207a0395d0Smrg		;;
7217a0395d0Smrg	i386-vsta | vsta)
7227a0395d0Smrg		basic_machine=i386-unknown
7237a0395d0Smrg		os=-vsta
7247a0395d0Smrg		;;
7257a0395d0Smrg	iris | iris4d)
7267a0395d0Smrg		basic_machine=mips-sgi
7277a0395d0Smrg		case $os in
7287a0395d0Smrg		    -irix*)
7297a0395d0Smrg			;;
7307a0395d0Smrg		    *)
7317a0395d0Smrg			os=-irix4
7327a0395d0Smrg			;;
7337a0395d0Smrg		esac
7347a0395d0Smrg		;;
7357a0395d0Smrg	isi68 | isi)
7367a0395d0Smrg		basic_machine=m68k-isi
7377a0395d0Smrg		os=-sysv
7387a0395d0Smrg		;;
7397a0395d0Smrg	m68knommu)
7407a0395d0Smrg		basic_machine=m68k-unknown
7417a0395d0Smrg		os=-linux
7427a0395d0Smrg		;;
7437a0395d0Smrg	m68knommu-*)
7447a0395d0Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7457a0395d0Smrg		os=-linux
7467a0395d0Smrg		;;
7477a0395d0Smrg	m88k-omron*)
7487a0395d0Smrg		basic_machine=m88k-omron
7497a0395d0Smrg		;;
7507a0395d0Smrg	magnum | m3230)
7517a0395d0Smrg		basic_machine=mips-mips
7527a0395d0Smrg		os=-sysv
7537a0395d0Smrg		;;
7547a0395d0Smrg	merlin)
7557a0395d0Smrg		basic_machine=ns32k-utek
7567a0395d0Smrg		os=-sysv
7577a0395d0Smrg		;;
7582adc0320Smrg        microblaze)
7592adc0320Smrg		basic_machine=microblaze-xilinx
7602adc0320Smrg		;;
7617a0395d0Smrg	mingw32)
7627a0395d0Smrg		basic_machine=i386-pc
7637a0395d0Smrg		os=-mingw32
7647a0395d0Smrg		;;
7657a0395d0Smrg	mingw32ce)
7667a0395d0Smrg		basic_machine=arm-unknown
7677a0395d0Smrg		os=-mingw32ce
7687a0395d0Smrg		;;
7697a0395d0Smrg	miniframe)
7707a0395d0Smrg		basic_machine=m68000-convergent
7717a0395d0Smrg		;;
7727a0395d0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7737a0395d0Smrg		basic_machine=m68k-atari
7747a0395d0Smrg		os=-mint
7757a0395d0Smrg		;;
7767a0395d0Smrg	mips3*-*)
7777a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7787a0395d0Smrg		;;
7797a0395d0Smrg	mips3*)
7807a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7817a0395d0Smrg		;;
7827a0395d0Smrg	monitor)
7837a0395d0Smrg		basic_machine=m68k-rom68k
7847a0395d0Smrg		os=-coff
7857a0395d0Smrg		;;
7867a0395d0Smrg	morphos)
7877a0395d0Smrg		basic_machine=powerpc-unknown
7887a0395d0Smrg		os=-morphos
7897a0395d0Smrg		;;
7907a0395d0Smrg	msdos)
7917a0395d0Smrg		basic_machine=i386-pc
7927a0395d0Smrg		os=-msdos
7937a0395d0Smrg		;;
7947a0395d0Smrg	ms1-*)
7957a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7967a0395d0Smrg		;;
7977a0395d0Smrg	mvs)
7987a0395d0Smrg		basic_machine=i370-ibm
7997a0395d0Smrg		os=-mvs
8007a0395d0Smrg		;;
8017a0395d0Smrg	ncr3000)
8027a0395d0Smrg		basic_machine=i486-ncr
8037a0395d0Smrg		os=-sysv4
8047a0395d0Smrg		;;
8057a0395d0Smrg	netbsd386)
8067a0395d0Smrg		basic_machine=i386-unknown
8077a0395d0Smrg		os=-netbsd
8087a0395d0Smrg		;;
8097a0395d0Smrg	netwinder)
8107a0395d0Smrg		basic_machine=armv4l-rebel
8117a0395d0Smrg		os=-linux
8127a0395d0Smrg		;;
8137a0395d0Smrg	news | news700 | news800 | news900)
8147a0395d0Smrg		basic_machine=m68k-sony
8157a0395d0Smrg		os=-newsos
8167a0395d0Smrg		;;
8177a0395d0Smrg	news1000)
8187a0395d0Smrg		basic_machine=m68030-sony
8197a0395d0Smrg		os=-newsos
8207a0395d0Smrg		;;
8217a0395d0Smrg	news-3600 | risc-news)
8227a0395d0Smrg		basic_machine=mips-sony
8237a0395d0Smrg		os=-newsos
8247a0395d0Smrg		;;
8257a0395d0Smrg	necv70)
8267a0395d0Smrg		basic_machine=v70-nec
8277a0395d0Smrg		os=-sysv
8287a0395d0Smrg		;;
8297a0395d0Smrg	next | m*-next )
8307a0395d0Smrg		basic_machine=m68k-next
8317a0395d0Smrg		case $os in
8327a0395d0Smrg		    -nextstep* )
8337a0395d0Smrg			;;
8347a0395d0Smrg		    -ns2*)
8357a0395d0Smrg		      os=-nextstep2
8367a0395d0Smrg			;;
8377a0395d0Smrg		    *)
8387a0395d0Smrg		      os=-nextstep3
8397a0395d0Smrg			;;
8407a0395d0Smrg		esac
8417a0395d0Smrg		;;
8427a0395d0Smrg	nh3000)
8437a0395d0Smrg		basic_machine=m68k-harris
8447a0395d0Smrg		os=-cxux
8457a0395d0Smrg		;;
8467a0395d0Smrg	nh[45]000)
8477a0395d0Smrg		basic_machine=m88k-harris
8487a0395d0Smrg		os=-cxux
8497a0395d0Smrg		;;
8507a0395d0Smrg	nindy960)
8517a0395d0Smrg		basic_machine=i960-intel
8527a0395d0Smrg		os=-nindy
8537a0395d0Smrg		;;
8547a0395d0Smrg	mon960)
8557a0395d0Smrg		basic_machine=i960-intel
8567a0395d0Smrg		os=-mon960
8577a0395d0Smrg		;;
8587a0395d0Smrg	nonstopux)
8597a0395d0Smrg		basic_machine=mips-compaq
8607a0395d0Smrg		os=-nonstopux
8617a0395d0Smrg		;;
8627a0395d0Smrg	np1)
8637a0395d0Smrg		basic_machine=np1-gould
8647a0395d0Smrg		;;
8652adc0320Smrg        neo-tandem)
8662adc0320Smrg		basic_machine=neo-tandem
8672adc0320Smrg		;;
8682adc0320Smrg        nse-tandem)
8692adc0320Smrg		basic_machine=nse-tandem
8702adc0320Smrg		;;
8717a0395d0Smrg	nsr-tandem)
8727a0395d0Smrg		basic_machine=nsr-tandem
8737a0395d0Smrg		;;
8747a0395d0Smrg	op50n-* | op60c-*)
8757a0395d0Smrg		basic_machine=hppa1.1-oki
8767a0395d0Smrg		os=-proelf
8777a0395d0Smrg		;;
8787a0395d0Smrg	openrisc | openrisc-*)
8797a0395d0Smrg		basic_machine=or32-unknown
8807a0395d0Smrg		;;
8817a0395d0Smrg	os400)
8827a0395d0Smrg		basic_machine=powerpc-ibm
8837a0395d0Smrg		os=-os400
8847a0395d0Smrg		;;
8857a0395d0Smrg	OSE68000 | ose68000)
8867a0395d0Smrg		basic_machine=m68000-ericsson
8877a0395d0Smrg		os=-ose
8887a0395d0Smrg		;;
8897a0395d0Smrg	os68k)
8907a0395d0Smrg		basic_machine=m68k-none
8917a0395d0Smrg		os=-os68k
8927a0395d0Smrg		;;
8937a0395d0Smrg	pa-hitachi)
8947a0395d0Smrg		basic_machine=hppa1.1-hitachi
8957a0395d0Smrg		os=-hiuxwe2
8967a0395d0Smrg		;;
8977a0395d0Smrg	paragon)
8987a0395d0Smrg		basic_machine=i860-intel
8997a0395d0Smrg		os=-osf
9007a0395d0Smrg		;;
9017a0395d0Smrg	parisc)
9027a0395d0Smrg		basic_machine=hppa-unknown
9037a0395d0Smrg		os=-linux
9047a0395d0Smrg		;;
9057a0395d0Smrg	parisc-*)
9067a0395d0Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9077a0395d0Smrg		os=-linux
9087a0395d0Smrg		;;
9097a0395d0Smrg	pbd)
9107a0395d0Smrg		basic_machine=sparc-tti
9117a0395d0Smrg		;;
9127a0395d0Smrg	pbb)
9137a0395d0Smrg		basic_machine=m68k-tti
9147a0395d0Smrg		;;
9157a0395d0Smrg	pc532 | pc532-*)
9167a0395d0Smrg		basic_machine=ns32k-pc532
9177a0395d0Smrg		;;
9187a0395d0Smrg	pc98)
9197a0395d0Smrg		basic_machine=i386-pc
9207a0395d0Smrg		;;
9217a0395d0Smrg	pc98-*)
9227a0395d0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9237a0395d0Smrg		;;
9247a0395d0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9257a0395d0Smrg		basic_machine=i586-pc
9267a0395d0Smrg		;;
9277a0395d0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9287a0395d0Smrg		basic_machine=i686-pc
9297a0395d0Smrg		;;
9307a0395d0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9317a0395d0Smrg		basic_machine=i686-pc
9327a0395d0Smrg		;;
9337a0395d0Smrg	pentium4)
9347a0395d0Smrg		basic_machine=i786-pc
9357a0395d0Smrg		;;
9367a0395d0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9377a0395d0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9387a0395d0Smrg		;;
9397a0395d0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9407a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9417a0395d0Smrg		;;
9427a0395d0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9437a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9447a0395d0Smrg		;;
9457a0395d0Smrg	pentium4-*)
9467a0395d0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9477a0395d0Smrg		;;
9487a0395d0Smrg	pn)
9497a0395d0Smrg		basic_machine=pn-gould
9507a0395d0Smrg		;;
9517a0395d0Smrg	power)	basic_machine=power-ibm
9527a0395d0Smrg		;;
9537a0395d0Smrg	ppc)	basic_machine=powerpc-unknown
9547a0395d0Smrg		;;
9557a0395d0Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9567a0395d0Smrg		;;
9577a0395d0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9587a0395d0Smrg		basic_machine=powerpcle-unknown
9597a0395d0Smrg		;;
9607a0395d0Smrg	ppcle-* | powerpclittle-*)
9617a0395d0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9627a0395d0Smrg		;;
9637a0395d0Smrg	ppc64)	basic_machine=powerpc64-unknown
9647a0395d0Smrg		;;
9657a0395d0Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9667a0395d0Smrg		;;
9677a0395d0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9687a0395d0Smrg		basic_machine=powerpc64le-unknown
9697a0395d0Smrg		;;
9707a0395d0Smrg	ppc64le-* | powerpc64little-*)
9717a0395d0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9727a0395d0Smrg		;;
9737a0395d0Smrg	ps2)
9747a0395d0Smrg		basic_machine=i386-ibm
9757a0395d0Smrg		;;
9767a0395d0Smrg	pw32)
9777a0395d0Smrg		basic_machine=i586-unknown
9787a0395d0Smrg		os=-pw32
9797a0395d0Smrg		;;
9807a0395d0Smrg	rdos)
9817a0395d0Smrg		basic_machine=i386-pc
9827a0395d0Smrg		os=-rdos
9837a0395d0Smrg		;;
9847a0395d0Smrg	rom68k)
9857a0395d0Smrg		basic_machine=m68k-rom68k
9867a0395d0Smrg		os=-coff
9877a0395d0Smrg		;;
9887a0395d0Smrg	rm[46]00)
9897a0395d0Smrg		basic_machine=mips-siemens
9907a0395d0Smrg		;;
9917a0395d0Smrg	rtpc | rtpc-*)
9927a0395d0Smrg		basic_machine=romp-ibm
9937a0395d0Smrg		;;
9947a0395d0Smrg	s390 | s390-*)
9957a0395d0Smrg		basic_machine=s390-ibm
9967a0395d0Smrg		;;
9977a0395d0Smrg	s390x | s390x-*)
9987a0395d0Smrg		basic_machine=s390x-ibm
9997a0395d0Smrg		;;
10007a0395d0Smrg	sa29200)
10017a0395d0Smrg		basic_machine=a29k-amd
10027a0395d0Smrg		os=-udi
10037a0395d0Smrg		;;
10047a0395d0Smrg	sb1)
10057a0395d0Smrg		basic_machine=mipsisa64sb1-unknown
10067a0395d0Smrg		;;
10077a0395d0Smrg	sb1el)
10087a0395d0Smrg		basic_machine=mipsisa64sb1el-unknown
10097a0395d0Smrg		;;
10107a0395d0Smrg	sde)
10117a0395d0Smrg		basic_machine=mipsisa32-sde
10127a0395d0Smrg		os=-elf
10137a0395d0Smrg		;;
10147a0395d0Smrg	sei)
10157a0395d0Smrg		basic_machine=mips-sei
10167a0395d0Smrg		os=-seiux
10177a0395d0Smrg		;;
10187a0395d0Smrg	sequent)
10197a0395d0Smrg		basic_machine=i386-sequent
10207a0395d0Smrg		;;
10217a0395d0Smrg	sh)
10227a0395d0Smrg		basic_machine=sh-hitachi
10237a0395d0Smrg		os=-hms
10247a0395d0Smrg		;;
10257a0395d0Smrg	sh5el)
10267a0395d0Smrg		basic_machine=sh5le-unknown
10277a0395d0Smrg		;;
10287a0395d0Smrg	sh64)
10297a0395d0Smrg		basic_machine=sh64-unknown
10307a0395d0Smrg		;;
10317a0395d0Smrg	sparclite-wrs | simso-wrs)
10327a0395d0Smrg		basic_machine=sparclite-wrs
10337a0395d0Smrg		os=-vxworks
10347a0395d0Smrg		;;
10357a0395d0Smrg	sps7)
10367a0395d0Smrg		basic_machine=m68k-bull
10377a0395d0Smrg		os=-sysv2
10387a0395d0Smrg		;;
10397a0395d0Smrg	spur)
10407a0395d0Smrg		basic_machine=spur-unknown
10417a0395d0Smrg		;;
10427a0395d0Smrg	st2000)
10437a0395d0Smrg		basic_machine=m68k-tandem
10447a0395d0Smrg		;;
10457a0395d0Smrg	stratus)
10467a0395d0Smrg		basic_machine=i860-stratus
10477a0395d0Smrg		os=-sysv4
10487a0395d0Smrg		;;
10497a0395d0Smrg	sun2)
10507a0395d0Smrg		basic_machine=m68000-sun
10517a0395d0Smrg		;;
10527a0395d0Smrg	sun2os3)
10537a0395d0Smrg		basic_machine=m68000-sun
10547a0395d0Smrg		os=-sunos3
10557a0395d0Smrg		;;
10567a0395d0Smrg	sun2os4)
10577a0395d0Smrg		basic_machine=m68000-sun
10587a0395d0Smrg		os=-sunos4
10597a0395d0Smrg		;;
10607a0395d0Smrg	sun3os3)
10617a0395d0Smrg		basic_machine=m68k-sun
10627a0395d0Smrg		os=-sunos3
10637a0395d0Smrg		;;
10647a0395d0Smrg	sun3os4)
10657a0395d0Smrg		basic_machine=m68k-sun
10667a0395d0Smrg		os=-sunos4
10677a0395d0Smrg		;;
10687a0395d0Smrg	sun4os3)
10697a0395d0Smrg		basic_machine=sparc-sun
10707a0395d0Smrg		os=-sunos3
10717a0395d0Smrg		;;
10727a0395d0Smrg	sun4os4)
10737a0395d0Smrg		basic_machine=sparc-sun
10747a0395d0Smrg		os=-sunos4
10757a0395d0Smrg		;;
10767a0395d0Smrg	sun4sol2)
10777a0395d0Smrg		basic_machine=sparc-sun
10787a0395d0Smrg		os=-solaris2
10797a0395d0Smrg		;;
10807a0395d0Smrg	sun3 | sun3-*)
10817a0395d0Smrg		basic_machine=m68k-sun
10827a0395d0Smrg		;;
10837a0395d0Smrg	sun4)
10847a0395d0Smrg		basic_machine=sparc-sun
10857a0395d0Smrg		;;
10867a0395d0Smrg	sun386 | sun386i | roadrunner)
10877a0395d0Smrg		basic_machine=i386-sun
10887a0395d0Smrg		;;
10897a0395d0Smrg	sv1)
10907a0395d0Smrg		basic_machine=sv1-cray
10917a0395d0Smrg		os=-unicos
10927a0395d0Smrg		;;
10937a0395d0Smrg	symmetry)
10947a0395d0Smrg		basic_machine=i386-sequent
10957a0395d0Smrg		os=-dynix
10967a0395d0Smrg		;;
10977a0395d0Smrg	t3e)
10987a0395d0Smrg		basic_machine=alphaev5-cray
10997a0395d0Smrg		os=-unicos
11007a0395d0Smrg		;;
11017a0395d0Smrg	t90)
11027a0395d0Smrg		basic_machine=t90-cray
11037a0395d0Smrg		os=-unicos
11047a0395d0Smrg		;;
11052adc0320Smrg        # This must be matched before tile*.
11062adc0320Smrg        tilegx*)
11072adc0320Smrg		basic_machine=tilegx-unknown
11082adc0320Smrg		os=-linux-gnu
11097a0395d0Smrg		;;
11107a0395d0Smrg	tile*)
11117a0395d0Smrg		basic_machine=tile-unknown
11127a0395d0Smrg		os=-linux-gnu
11137a0395d0Smrg		;;
11147a0395d0Smrg	tx39)
11157a0395d0Smrg		basic_machine=mipstx39-unknown
11167a0395d0Smrg		;;
11177a0395d0Smrg	tx39el)
11187a0395d0Smrg		basic_machine=mipstx39el-unknown
11197a0395d0Smrg		;;
11207a0395d0Smrg	toad1)
11217a0395d0Smrg		basic_machine=pdp10-xkl
11227a0395d0Smrg		os=-tops20
11237a0395d0Smrg		;;
11247a0395d0Smrg	tower | tower-32)
11257a0395d0Smrg		basic_machine=m68k-ncr
11267a0395d0Smrg		;;
11277a0395d0Smrg	tpf)
11287a0395d0Smrg		basic_machine=s390x-ibm
11297a0395d0Smrg		os=-tpf
11307a0395d0Smrg		;;
11317a0395d0Smrg	udi29k)
11327a0395d0Smrg		basic_machine=a29k-amd
11337a0395d0Smrg		os=-udi
11347a0395d0Smrg		;;
11357a0395d0Smrg	ultra3)
11367a0395d0Smrg		basic_machine=a29k-nyu
11377a0395d0Smrg		os=-sym1
11387a0395d0Smrg		;;
11397a0395d0Smrg	v810 | necv810)
11407a0395d0Smrg		basic_machine=v810-nec
11417a0395d0Smrg		os=-none
11427a0395d0Smrg		;;
11437a0395d0Smrg	vaxv)
11447a0395d0Smrg		basic_machine=vax-dec
11457a0395d0Smrg		os=-sysv
11467a0395d0Smrg		;;
11477a0395d0Smrg	vms)
11487a0395d0Smrg		basic_machine=vax-dec
11497a0395d0Smrg		os=-vms
11507a0395d0Smrg		;;
11517a0395d0Smrg	vpp*|vx|vx-*)
11527a0395d0Smrg		basic_machine=f301-fujitsu
11537a0395d0Smrg		;;
11547a0395d0Smrg	vxworks960)
11557a0395d0Smrg		basic_machine=i960-wrs
11567a0395d0Smrg		os=-vxworks
11577a0395d0Smrg		;;
11587a0395d0Smrg	vxworks68)
11597a0395d0Smrg		basic_machine=m68k-wrs
11607a0395d0Smrg		os=-vxworks
11617a0395d0Smrg		;;
11627a0395d0Smrg	vxworks29k)
11637a0395d0Smrg		basic_machine=a29k-wrs
11647a0395d0Smrg		os=-vxworks
11657a0395d0Smrg		;;
11667a0395d0Smrg	w65*)
11677a0395d0Smrg		basic_machine=w65-wdc
11687a0395d0Smrg		os=-none
11697a0395d0Smrg		;;
11707a0395d0Smrg	w89k-*)
11717a0395d0Smrg		basic_machine=hppa1.1-winbond
11727a0395d0Smrg		os=-proelf
11737a0395d0Smrg		;;
11747a0395d0Smrg	xbox)
11757a0395d0Smrg		basic_machine=i686-pc
11767a0395d0Smrg		os=-mingw32
11777a0395d0Smrg		;;
11787a0395d0Smrg	xps | xps100)
11797a0395d0Smrg		basic_machine=xps100-honeywell
11807a0395d0Smrg		;;
11817a0395d0Smrg	ymp)
11827a0395d0Smrg		basic_machine=ymp-cray
11837a0395d0Smrg		os=-unicos
11847a0395d0Smrg		;;
11857a0395d0Smrg	z8k-*-coff)
11867a0395d0Smrg		basic_machine=z8k-unknown
11877a0395d0Smrg		os=-sim
11887a0395d0Smrg		;;
11897366012aSmrg	z80-*-coff)
11907366012aSmrg		basic_machine=z80-unknown
11917366012aSmrg		os=-sim
11927366012aSmrg		;;
11937a0395d0Smrg	none)
11947a0395d0Smrg		basic_machine=none-none
11957a0395d0Smrg		os=-none
11967a0395d0Smrg		;;
11977a0395d0Smrg
11987a0395d0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11997a0395d0Smrg# some cases the only manufacturer, in others, it is the most popular.
12007a0395d0Smrg	w89k)
12017a0395d0Smrg		basic_machine=hppa1.1-winbond
12027a0395d0Smrg		;;
12037a0395d0Smrg	op50n)
12047a0395d0Smrg		basic_machine=hppa1.1-oki
12057a0395d0Smrg		;;
12067a0395d0Smrg	op60c)
12077a0395d0Smrg		basic_machine=hppa1.1-oki
12087a0395d0Smrg		;;
12097a0395d0Smrg	romp)
12107a0395d0Smrg		basic_machine=romp-ibm
12117a0395d0Smrg		;;
12127a0395d0Smrg	mmix)
12137a0395d0Smrg		basic_machine=mmix-knuth
12147a0395d0Smrg		;;
12157a0395d0Smrg	rs6000)
12167a0395d0Smrg		basic_machine=rs6000-ibm
12177a0395d0Smrg		;;
12187a0395d0Smrg	vax)
12197a0395d0Smrg		basic_machine=vax-dec
12207a0395d0Smrg		;;
12217a0395d0Smrg	pdp10)
12227a0395d0Smrg		# there are many clones, so DEC is not a safe bet
12237a0395d0Smrg		basic_machine=pdp10-unknown
12247a0395d0Smrg		;;
12257a0395d0Smrg	pdp11)
12267a0395d0Smrg		basic_machine=pdp11-dec
12277a0395d0Smrg		;;
12287a0395d0Smrg	we32k)
12297a0395d0Smrg		basic_machine=we32k-att
12307a0395d0Smrg		;;
12317366012aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12327a0395d0Smrg		basic_machine=sh-unknown
12337a0395d0Smrg		;;
12347a0395d0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12357a0395d0Smrg		basic_machine=sparc-sun
12367a0395d0Smrg		;;
12377a0395d0Smrg	cydra)
12387a0395d0Smrg		basic_machine=cydra-cydrome
12397a0395d0Smrg		;;
12407a0395d0Smrg	orion)
12417a0395d0Smrg		basic_machine=orion-highlevel
12427a0395d0Smrg		;;
12437a0395d0Smrg	orion105)
12447a0395d0Smrg		basic_machine=clipper-highlevel
12457a0395d0Smrg		;;
12467a0395d0Smrg	mac | mpw | mac-mpw)
12477a0395d0Smrg		basic_machine=m68k-apple
12487a0395d0Smrg		;;
12497a0395d0Smrg	pmac | pmac-mpw)
12507a0395d0Smrg		basic_machine=powerpc-apple
12517a0395d0Smrg		;;
12527a0395d0Smrg	*-unknown)
12537a0395d0Smrg		# Make sure to match an already-canonicalized machine name.
12547a0395d0Smrg		;;
12557a0395d0Smrg	*)
12567a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12577a0395d0Smrg		exit 1
12587a0395d0Smrg		;;
12597a0395d0Smrgesac
12607a0395d0Smrg
12617a0395d0Smrg# Here we canonicalize certain aliases for manufacturers.
12627a0395d0Smrgcase $basic_machine in
12637a0395d0Smrg	*-digital*)
12647a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12657a0395d0Smrg		;;
12667a0395d0Smrg	*-commodore*)
12677a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12687a0395d0Smrg		;;
12697a0395d0Smrg	*)
12707a0395d0Smrg		;;
12717a0395d0Smrgesac
12727a0395d0Smrg
12737a0395d0Smrg# Decode manufacturer-specific aliases for certain operating systems.
12747a0395d0Smrg
12757a0395d0Smrgif [ x"$os" != x"" ]
12767a0395d0Smrgthen
12777a0395d0Smrgcase $os in
12787a0395d0Smrg        # First match some system type aliases
12797a0395d0Smrg        # that might get confused with valid system types.
12807a0395d0Smrg	# -solaris* is a basic system type, with this one exception.
12812adc0320Smrg        -auroraux)
12822adc0320Smrg	        os=-auroraux
12832adc0320Smrg		;;
12847a0395d0Smrg	-solaris1 | -solaris1.*)
12857a0395d0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12867a0395d0Smrg		;;
12877a0395d0Smrg	-solaris)
12887a0395d0Smrg		os=-solaris2
12897a0395d0Smrg		;;
12907a0395d0Smrg	-svr4*)
12917a0395d0Smrg		os=-sysv4
12927a0395d0Smrg		;;
12937a0395d0Smrg	-unixware*)
12947a0395d0Smrg		os=-sysv4.2uw
12957a0395d0Smrg		;;
12967a0395d0Smrg	-gnu/linux*)
12977a0395d0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12987a0395d0Smrg		;;
12997a0395d0Smrg	# First accept the basic system types.
13007a0395d0Smrg	# The portable systems comes first.
13017a0395d0Smrg	# Each alternative MUST END IN A *, to match a version number.
13027a0395d0Smrg	# -sysv* is not here because it comes later, after sysvr4.
13037a0395d0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13042adc0320Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13052adc0320Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13062adc0320Smrg	      | -sym* | -kopensolaris* \
13077a0395d0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13087366012aSmrg	      | -aos* | -aros* \
13097a0395d0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13107a0395d0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13117a0395d0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13127a0395d0Smrg	      | -openbsd* | -solidbsd* \
13137a0395d0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13147a0395d0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13157a0395d0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13167a0395d0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13177366012aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13187a0395d0Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13192adc0320Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
13202adc0320Smrg	      | -linux-newlib* | -linux-uclibc* \
13217a0395d0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13227a0395d0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13237a0395d0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13247a0395d0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13257a0395d0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13267a0395d0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13277a0395d0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13282adc0320Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13297a0395d0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13307a0395d0Smrg		;;
13317a0395d0Smrg	-qnx*)
13327a0395d0Smrg		case $basic_machine in
13337a0395d0Smrg		    x86-* | i*86-*)
13347a0395d0Smrg			;;
13357a0395d0Smrg		    *)
13367a0395d0Smrg			os=-nto$os
13377a0395d0Smrg			;;
13387a0395d0Smrg		esac
13397a0395d0Smrg		;;
13407a0395d0Smrg	-nto-qnx*)
13417a0395d0Smrg		;;
13427a0395d0Smrg	-nto*)
13437a0395d0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13447a0395d0Smrg		;;
13457a0395d0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13467a0395d0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13477a0395d0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13487a0395d0Smrg		;;
13497a0395d0Smrg	-mac*)
13507a0395d0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13517a0395d0Smrg		;;
13527a0395d0Smrg	-linux-dietlibc)
13537a0395d0Smrg		os=-linux-dietlibc
13547a0395d0Smrg		;;
13557a0395d0Smrg	-linux*)
13567a0395d0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13577a0395d0Smrg		;;
13587a0395d0Smrg	-sunos5*)
13597a0395d0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13607a0395d0Smrg		;;
13617a0395d0Smrg	-sunos6*)
13627a0395d0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13637a0395d0Smrg		;;
13647a0395d0Smrg	-opened*)
13657a0395d0Smrg		os=-openedition
13667a0395d0Smrg		;;
13677a0395d0Smrg        -os400*)
13687a0395d0Smrg		os=-os400
13697a0395d0Smrg		;;
13707a0395d0Smrg	-wince*)
13717a0395d0Smrg		os=-wince
13727a0395d0Smrg		;;
13737a0395d0Smrg	-osfrose*)
13747a0395d0Smrg		os=-osfrose
13757a0395d0Smrg		;;
13767a0395d0Smrg	-osf*)
13777a0395d0Smrg		os=-osf
13787a0395d0Smrg		;;
13797a0395d0Smrg	-utek*)
13807a0395d0Smrg		os=-bsd
13817a0395d0Smrg		;;
13827a0395d0Smrg	-dynix*)
13837a0395d0Smrg		os=-bsd
13847a0395d0Smrg		;;
13857a0395d0Smrg	-acis*)
13867a0395d0Smrg		os=-aos
13877a0395d0Smrg		;;
13887a0395d0Smrg	-atheos*)
13897a0395d0Smrg		os=-atheos
13907a0395d0Smrg		;;
13917a0395d0Smrg	-syllable*)
13927a0395d0Smrg		os=-syllable
13937a0395d0Smrg		;;
13947a0395d0Smrg	-386bsd)
13957a0395d0Smrg		os=-bsd
13967a0395d0Smrg		;;
13977a0395d0Smrg	-ctix* | -uts*)
13987a0395d0Smrg		os=-sysv
13997a0395d0Smrg		;;
14007a0395d0Smrg	-nova*)
14017a0395d0Smrg		os=-rtmk-nova
14027a0395d0Smrg		;;
14037a0395d0Smrg	-ns2 )
14047a0395d0Smrg		os=-nextstep2
14057a0395d0Smrg		;;
14067a0395d0Smrg	-nsk*)
14077a0395d0Smrg		os=-nsk
14087a0395d0Smrg		;;
14097a0395d0Smrg	# Preserve the version number of sinix5.
14107a0395d0Smrg	-sinix5.*)
14117a0395d0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14127a0395d0Smrg		;;
14137a0395d0Smrg	-sinix*)
14147a0395d0Smrg		os=-sysv4
14157a0395d0Smrg		;;
14167a0395d0Smrg        -tpf*)
14177a0395d0Smrg		os=-tpf
14187a0395d0Smrg		;;
14197a0395d0Smrg	-triton*)
14207a0395d0Smrg		os=-sysv3
14217a0395d0Smrg		;;
14227a0395d0Smrg	-oss*)
14237a0395d0Smrg		os=-sysv3
14247a0395d0Smrg		;;
14257a0395d0Smrg	-svr4)
14267a0395d0Smrg		os=-sysv4
14277a0395d0Smrg		;;
14287a0395d0Smrg	-svr3)
14297a0395d0Smrg		os=-sysv3
14307a0395d0Smrg		;;
14317a0395d0Smrg	-sysvr4)
14327a0395d0Smrg		os=-sysv4
14337a0395d0Smrg		;;
14347a0395d0Smrg	# This must come after -sysvr4.
14357a0395d0Smrg	-sysv*)
14367a0395d0Smrg		;;
14377a0395d0Smrg	-ose*)
14387a0395d0Smrg		os=-ose
14397a0395d0Smrg		;;
14407a0395d0Smrg	-es1800*)
14417a0395d0Smrg		os=-ose
14427a0395d0Smrg		;;
14437a0395d0Smrg	-xenix)
14447a0395d0Smrg		os=-xenix
14457a0395d0Smrg		;;
14467a0395d0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14477a0395d0Smrg		os=-mint
14487a0395d0Smrg		;;
14497a0395d0Smrg	-aros*)
14507a0395d0Smrg		os=-aros
14517a0395d0Smrg		;;
14527a0395d0Smrg	-kaos*)
14537a0395d0Smrg		os=-kaos
14547a0395d0Smrg		;;
14557a0395d0Smrg	-zvmoe)
14567a0395d0Smrg		os=-zvmoe
14577a0395d0Smrg		;;
14587366012aSmrg	-dicos*)
14597366012aSmrg		os=-dicos
14607366012aSmrg		;;
14612adc0320Smrg        -nacl*)
14622adc0320Smrg	        ;;
14637a0395d0Smrg	-none)
14647a0395d0Smrg		;;
14657a0395d0Smrg	*)
14667a0395d0Smrg		# Get rid of the `-' at the beginning of $os.
14677a0395d0Smrg		os=`echo $os | sed 's/[^-]*-//'`
14687a0395d0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14697a0395d0Smrg		exit 1
14707a0395d0Smrg		;;
14717a0395d0Smrgesac
14727a0395d0Smrgelse
14737a0395d0Smrg
14747a0395d0Smrg# Here we handle the default operating systems that come with various machines.
14757a0395d0Smrg# The value should be what the vendor currently ships out the door with their
14767a0395d0Smrg# machine or put another way, the most popular os provided with the machine.
14777a0395d0Smrg
14787a0395d0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14797a0395d0Smrg# "-sun"), then you have to tell the case statement up towards the top
14807a0395d0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14817a0395d0Smrg# will signal an error saying that MANUFACTURER isn't an operating
14827a0395d0Smrg# system, and we'll never get to this point.
14837a0395d0Smrg
14847a0395d0Smrgcase $basic_machine in
14857a0395d0Smrg        score-*)
14867a0395d0Smrg		os=-elf
14877a0395d0Smrg		;;
14887a0395d0Smrg        spu-*)
14897a0395d0Smrg		os=-elf
14907a0395d0Smrg		;;
14917a0395d0Smrg	*-acorn)
14927a0395d0Smrg		os=-riscix1.2
14937a0395d0Smrg		;;
14947a0395d0Smrg	arm*-rebel)
14957a0395d0Smrg		os=-linux
14967a0395d0Smrg		;;
14977a0395d0Smrg	arm*-semi)
14987a0395d0Smrg		os=-aout
14997a0395d0Smrg		;;
15007a0395d0Smrg        c4x-* | tic4x-*)
15017a0395d0Smrg        	os=-coff
15027a0395d0Smrg		;;
15032adc0320Smrg	tic54x-*)
15042adc0320Smrg		os=-coff
15052adc0320Smrg		;;
15062adc0320Smrg	tic55x-*)
15072adc0320Smrg		os=-coff
15082adc0320Smrg		;;
15092adc0320Smrg	tic6x-*)
15102adc0320Smrg		os=-coff
15112adc0320Smrg		;;
15127a0395d0Smrg	# This must come before the *-dec entry.
15137a0395d0Smrg	pdp10-*)
15147a0395d0Smrg		os=-tops20
15157a0395d0Smrg		;;
15167a0395d0Smrg	pdp11-*)
15177a0395d0Smrg		os=-none
15187a0395d0Smrg		;;
15197a0395d0Smrg	*-dec | vax-*)
15207a0395d0Smrg		os=-ultrix4.2
15217a0395d0Smrg		;;
15227a0395d0Smrg	m68*-apollo)
15237a0395d0Smrg		os=-domain
15247a0395d0Smrg		;;
15257a0395d0Smrg	i386-sun)
15267a0395d0Smrg		os=-sunos4.0.2
15277a0395d0Smrg		;;
15287a0395d0Smrg	m68000-sun)
15297a0395d0Smrg		os=-sunos3
15307a0395d0Smrg		# This also exists in the configure program, but was not the
15317a0395d0Smrg		# default.
15327a0395d0Smrg		# os=-sunos4
15337a0395d0Smrg		;;
15347a0395d0Smrg	m68*-cisco)
15357a0395d0Smrg		os=-aout
15367a0395d0Smrg		;;
15377a0395d0Smrg        mep-*)
15387a0395d0Smrg		os=-elf
15397a0395d0Smrg		;;
15407a0395d0Smrg	mips*-cisco)
15417a0395d0Smrg		os=-elf
15427a0395d0Smrg		;;
15437a0395d0Smrg	mips*-*)
15447a0395d0Smrg		os=-elf
15457a0395d0Smrg		;;
15467a0395d0Smrg	or32-*)
15477a0395d0Smrg		os=-coff
15487a0395d0Smrg		;;
15497a0395d0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15507a0395d0Smrg		os=-sysv3
15517a0395d0Smrg		;;
15527a0395d0Smrg	sparc-* | *-sun)
15537a0395d0Smrg		os=-sunos4.1.1
15547a0395d0Smrg		;;
15557a0395d0Smrg	*-be)
15567a0395d0Smrg		os=-beos
15577a0395d0Smrg		;;
15587a0395d0Smrg	*-haiku)
15597a0395d0Smrg		os=-haiku
15607a0395d0Smrg		;;
15617a0395d0Smrg	*-ibm)
15627a0395d0Smrg		os=-aix
15637a0395d0Smrg		;;
15647a0395d0Smrg    	*-knuth)
15657a0395d0Smrg		os=-mmixware
15667a0395d0Smrg		;;
15677a0395d0Smrg	*-wec)
15687a0395d0Smrg		os=-proelf
15697a0395d0Smrg		;;
15707a0395d0Smrg	*-winbond)
15717a0395d0Smrg		os=-proelf
15727a0395d0Smrg		;;
15737a0395d0Smrg	*-oki)
15747a0395d0Smrg		os=-proelf
15757a0395d0Smrg		;;
15767a0395d0Smrg	*-hp)
15777a0395d0Smrg		os=-hpux
15787a0395d0Smrg		;;
15797a0395d0Smrg	*-hitachi)
15807a0395d0Smrg		os=-hiux
15817a0395d0Smrg		;;
15827a0395d0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15837a0395d0Smrg		os=-sysv
15847a0395d0Smrg		;;
15857a0395d0Smrg	*-cbm)
15867a0395d0Smrg		os=-amigaos
15877a0395d0Smrg		;;
15887a0395d0Smrg	*-dg)
15897a0395d0Smrg		os=-dgux
15907a0395d0Smrg		;;
15917a0395d0Smrg	*-dolphin)
15927a0395d0Smrg		os=-sysv3
15937a0395d0Smrg		;;
15947a0395d0Smrg	m68k-ccur)
15957a0395d0Smrg		os=-rtu
15967a0395d0Smrg		;;
15977a0395d0Smrg	m88k-omron*)
15987a0395d0Smrg		os=-luna
15997a0395d0Smrg		;;
16007a0395d0Smrg	*-next )
16017a0395d0Smrg		os=-nextstep
16027a0395d0Smrg		;;
16037a0395d0Smrg	*-sequent)
16047a0395d0Smrg		os=-ptx
16057a0395d0Smrg		;;
16067a0395d0Smrg	*-crds)
16077a0395d0Smrg		os=-unos
16087a0395d0Smrg		;;
16097a0395d0Smrg	*-ns)
16107a0395d0Smrg		os=-genix
16117a0395d0Smrg		;;
16127a0395d0Smrg	i370-*)
16137a0395d0Smrg		os=-mvs
16147a0395d0Smrg		;;
16157a0395d0Smrg	*-next)
16167a0395d0Smrg		os=-nextstep3
16177a0395d0Smrg		;;
16187a0395d0Smrg	*-gould)
16197a0395d0Smrg		os=-sysv
16207a0395d0Smrg		;;
16217a0395d0Smrg	*-highlevel)
16227a0395d0Smrg		os=-bsd
16237a0395d0Smrg		;;
16247a0395d0Smrg	*-encore)
16257a0395d0Smrg		os=-bsd
16267a0395d0Smrg		;;
16277a0395d0Smrg	*-sgi)
16287a0395d0Smrg		os=-irix
16297a0395d0Smrg		;;
16307a0395d0Smrg	*-siemens)
16317a0395d0Smrg		os=-sysv4
16327a0395d0Smrg		;;
16337a0395d0Smrg	*-masscomp)
16347a0395d0Smrg		os=-rtu
16357a0395d0Smrg		;;
16367a0395d0Smrg	f30[01]-fujitsu | f700-fujitsu)
16377a0395d0Smrg		os=-uxpv
16387a0395d0Smrg		;;
16397a0395d0Smrg	*-rom68k)
16407a0395d0Smrg		os=-coff
16417a0395d0Smrg		;;
16427a0395d0Smrg	*-*bug)
16437a0395d0Smrg		os=-coff
16447a0395d0Smrg		;;
16457a0395d0Smrg	*-apple)
16467a0395d0Smrg		os=-macos
16477a0395d0Smrg		;;
16487a0395d0Smrg	*-atari*)
16497a0395d0Smrg		os=-mint
16507a0395d0Smrg		;;
16517a0395d0Smrg	*)
16527a0395d0Smrg		os=-none
16537a0395d0Smrg		;;
16547a0395d0Smrgesac
16557a0395d0Smrgfi
16567a0395d0Smrg
16577a0395d0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16587a0395d0Smrg# manufacturer.  We pick the logical manufacturer.
16597a0395d0Smrgvendor=unknown
16607a0395d0Smrgcase $basic_machine in
16617a0395d0Smrg	*-unknown)
16627a0395d0Smrg		case $os in
16637a0395d0Smrg			-riscix*)
16647a0395d0Smrg				vendor=acorn
16657a0395d0Smrg				;;
16667a0395d0Smrg			-sunos*)
16677a0395d0Smrg				vendor=sun
16687a0395d0Smrg				;;
16692adc0320Smrg			-cnk*|-aix*)
16707a0395d0Smrg				vendor=ibm
16717a0395d0Smrg				;;
16727a0395d0Smrg			-beos*)
16737a0395d0Smrg				vendor=be
16747a0395d0Smrg				;;
16757a0395d0Smrg			-hpux*)
16767a0395d0Smrg				vendor=hp
16777a0395d0Smrg				;;
16787a0395d0Smrg			-mpeix*)
16797a0395d0Smrg				vendor=hp
16807a0395d0Smrg				;;
16817a0395d0Smrg			-hiux*)
16827a0395d0Smrg				vendor=hitachi
16837a0395d0Smrg				;;
16847a0395d0Smrg			-unos*)
16857a0395d0Smrg				vendor=crds
16867a0395d0Smrg				;;
16877a0395d0Smrg			-dgux*)
16887a0395d0Smrg				vendor=dg
16897a0395d0Smrg				;;
16907a0395d0Smrg			-luna*)
16917a0395d0Smrg				vendor=omron
16927a0395d0Smrg				;;
16937a0395d0Smrg			-genix*)
16947a0395d0Smrg				vendor=ns
16957a0395d0Smrg				;;
16967a0395d0Smrg			-mvs* | -opened*)
16977a0395d0Smrg				vendor=ibm
16987a0395d0Smrg				;;
16997a0395d0Smrg			-os400*)
17007a0395d0Smrg				vendor=ibm
17017a0395d0Smrg				;;
17027a0395d0Smrg			-ptx*)
17037a0395d0Smrg				vendor=sequent
17047a0395d0Smrg				;;
17057a0395d0Smrg			-tpf*)
17067a0395d0Smrg				vendor=ibm
17077a0395d0Smrg				;;
17087a0395d0Smrg			-vxsim* | -vxworks* | -windiss*)
17097a0395d0Smrg				vendor=wrs
17107a0395d0Smrg				;;
17117a0395d0Smrg			-aux*)
17127a0395d0Smrg				vendor=apple
17137a0395d0Smrg				;;
17147a0395d0Smrg			-hms*)
17157a0395d0Smrg				vendor=hitachi
17167a0395d0Smrg				;;
17177a0395d0Smrg			-mpw* | -macos*)
17187a0395d0Smrg				vendor=apple
17197a0395d0Smrg				;;
17207a0395d0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17217a0395d0Smrg				vendor=atari
17227a0395d0Smrg				;;
17237a0395d0Smrg			-vos*)
17247a0395d0Smrg				vendor=stratus
17257a0395d0Smrg				;;
17267a0395d0Smrg		esac
17277a0395d0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17287a0395d0Smrg		;;
17297a0395d0Smrgesac
17307a0395d0Smrg
17317a0395d0Smrgecho $basic_machine$os
17327a0395d0Smrgexit
17337a0395d0Smrg
17347a0395d0Smrg# Local variables:
17357a0395d0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17367a0395d0Smrg# time-stamp-start: "timestamp='"
17377a0395d0Smrg# time-stamp-format: "%:y-%02m-%02d"
17387a0395d0Smrg# time-stamp-end: "'"
17397a0395d0Smrg# End:
1740