config.sub revision ec74af46
10fa2845dSmrg#! /bin/sh
20fa2845dSmrg# Configuration validation subroutine script.
30fa2845dSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4ec74af46Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
57888fd0eSmrg#   Free Software Foundation, Inc.
60fa2845dSmrg
7ec74af46Smrgtimestamp='2010-09-11'
80fa2845dSmrg
90fa2845dSmrg# This file is (in principle) common to ALL GNU software.
100fa2845dSmrg# The presence of a machine in this file suggests that SOME GNU software
110fa2845dSmrg# can handle that machine.  It does not imply ALL GNU software can.
120fa2845dSmrg#
130fa2845dSmrg# This file is free software; you can redistribute it and/or modify
140fa2845dSmrg# it under the terms of the GNU General Public License as published by
150fa2845dSmrg# the Free Software Foundation; either version 2 of the License, or
160fa2845dSmrg# (at your option) any later version.
170fa2845dSmrg#
180fa2845dSmrg# This program is distributed in the hope that it will be useful,
190fa2845dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
200fa2845dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
210fa2845dSmrg# GNU General Public License for more details.
220fa2845dSmrg#
230fa2845dSmrg# You should have received a copy of the GNU General Public License
240fa2845dSmrg# along with this program; if not, write to the Free Software
250fa2845dSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
260fa2845dSmrg# 02110-1301, USA.
270fa2845dSmrg#
280fa2845dSmrg# As a special exception to the GNU General Public License, if you
290fa2845dSmrg# distribute this file as part of a program that contains a
300fa2845dSmrg# configuration script generated by Autoconf, you may include it under
310fa2845dSmrg# the same distribution terms that you use for the rest of that program.
320fa2845dSmrg
330fa2845dSmrg
340fa2845dSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35ec74af46Smrg# diff and a properly formatted GNU ChangeLog entry.
360fa2845dSmrg#
370fa2845dSmrg# Configuration subroutine to validate and canonicalize a configuration type.
380fa2845dSmrg# Supply the specified configuration type as an argument.
390fa2845dSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
400fa2845dSmrg# Otherwise, we print the canonical config type on stdout and succeed.
410fa2845dSmrg
42ec74af46Smrg# You can get the latest version of this script from:
43ec74af46Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44ec74af46Smrg
450fa2845dSmrg# This file is supposed to be the same for all GNU packages
460fa2845dSmrg# and recognize all the CPU types, system types and aliases
470fa2845dSmrg# that are meaningful with *any* GNU software.
480fa2845dSmrg# Each package is responsible for reporting which valid configurations
490fa2845dSmrg# it does not support.  The user should be able to distinguish
500fa2845dSmrg# a failure to support a valid configuration from a meaningless
510fa2845dSmrg# configuration.
520fa2845dSmrg
530fa2845dSmrg# The goal of this file is to map all the various variations of a given
540fa2845dSmrg# machine specification into a single specification in the form:
550fa2845dSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
560fa2845dSmrg# or in some cases, the newer four-part form:
570fa2845dSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
580fa2845dSmrg# It is wrong to echo any other type of specification.
590fa2845dSmrg
600fa2845dSmrgme=`echo "$0" | sed -e 's,.*/,,'`
610fa2845dSmrg
620fa2845dSmrgusage="\
630fa2845dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
640fa2845dSmrg       $0 [OPTION] ALIAS
650fa2845dSmrg
660fa2845dSmrgCanonicalize a configuration name.
670fa2845dSmrg
680fa2845dSmrgOperation modes:
690fa2845dSmrg  -h, --help         print this help, then exit
700fa2845dSmrg  -t, --time-stamp   print date of last modification, then exit
710fa2845dSmrg  -v, --version      print version number, then exit
720fa2845dSmrg
730fa2845dSmrgReport bugs and patches to <config-patches@gnu.org>."
740fa2845dSmrg
750fa2845dSmrgversion="\
760fa2845dSmrgGNU config.sub ($timestamp)
770fa2845dSmrg
78ec74af46SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79ec74af46Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80ec74af46SmrgSoftware Foundation, Inc.
810fa2845dSmrg
820fa2845dSmrgThis is free software; see the source for copying conditions.  There is NO
830fa2845dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
840fa2845dSmrg
850fa2845dSmrghelp="
860fa2845dSmrgTry \`$me --help' for more information."
870fa2845dSmrg
880fa2845dSmrg# Parse command line
890fa2845dSmrgwhile test $# -gt 0 ; do
900fa2845dSmrg  case $1 in
910fa2845dSmrg    --time-stamp | --time* | -t )
920fa2845dSmrg       echo "$timestamp" ; exit ;;
930fa2845dSmrg    --version | -v )
940fa2845dSmrg       echo "$version" ; exit ;;
950fa2845dSmrg    --help | --h* | -h )
960fa2845dSmrg       echo "$usage"; exit ;;
970fa2845dSmrg    -- )     # Stop option processing
980fa2845dSmrg       shift; break ;;
990fa2845dSmrg    - )	# Use stdin as input.
1000fa2845dSmrg       break ;;
1010fa2845dSmrg    -* )
1020fa2845dSmrg       echo "$me: invalid option $1$help"
1030fa2845dSmrg       exit 1 ;;
1040fa2845dSmrg
1050fa2845dSmrg    *local*)
1060fa2845dSmrg       # First pass through any local machine types.
1070fa2845dSmrg       echo $1
1080fa2845dSmrg       exit ;;
1090fa2845dSmrg
1100fa2845dSmrg    * )
1110fa2845dSmrg       break ;;
1120fa2845dSmrg  esac
1130fa2845dSmrgdone
1140fa2845dSmrg
1150fa2845dSmrgcase $# in
1160fa2845dSmrg 0) echo "$me: missing argument$help" >&2
1170fa2845dSmrg    exit 1;;
1180fa2845dSmrg 1) ;;
1190fa2845dSmrg *) echo "$me: too many arguments$help" >&2
1200fa2845dSmrg    exit 1;;
1210fa2845dSmrgesac
1220fa2845dSmrg
1230fa2845dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1240fa2845dSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1250fa2845dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1260fa2845dSmrgcase $maybe_os in
127ec74af46Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128ec74af46Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129ec74af46Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1307888fd0eSmrg  kopensolaris*-gnu* | \
1310fa2845dSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1320fa2845dSmrg    os=-$maybe_os
1330fa2845dSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1340fa2845dSmrg    ;;
1350fa2845dSmrg  *)
1360fa2845dSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1370fa2845dSmrg    if [ $basic_machine != $1 ]
1380fa2845dSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1390fa2845dSmrg    else os=; fi
1400fa2845dSmrg    ;;
1410fa2845dSmrgesac
1420fa2845dSmrg
1430fa2845dSmrg### Let's recognize common machines as not being operating systems so
1440fa2845dSmrg### that things like config.sub decstation-3100 work.  We also
1450fa2845dSmrg### recognize some manufacturers as not being operating systems, so we
1460fa2845dSmrg### can provide default operating systems below.
1470fa2845dSmrgcase $os in
1480fa2845dSmrg	-sun*os*)
1490fa2845dSmrg		# Prevent following clause from handling this invalid input.
1500fa2845dSmrg		;;
1510fa2845dSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1520fa2845dSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1530fa2845dSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1540fa2845dSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1550fa2845dSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1560fa2845dSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157ec74af46Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1580fa2845dSmrg		os=
1590fa2845dSmrg		basic_machine=$1
1600fa2845dSmrg		;;
161ec74af46Smrg        -bluegene*)
162ec74af46Smrg	        os=-cnk
163ec74af46Smrg		;;
1640fa2845dSmrg	-sim | -cisco | -oki | -wec | -winbond)
1650fa2845dSmrg		os=
1660fa2845dSmrg		basic_machine=$1
1670fa2845dSmrg		;;
1680fa2845dSmrg	-scout)
1690fa2845dSmrg		;;
1700fa2845dSmrg	-wrs)
1710fa2845dSmrg		os=-vxworks
1720fa2845dSmrg		basic_machine=$1
1730fa2845dSmrg		;;
1740fa2845dSmrg	-chorusos*)
1750fa2845dSmrg		os=-chorusos
1760fa2845dSmrg		basic_machine=$1
1770fa2845dSmrg		;;
1780fa2845dSmrg 	-chorusrdb)
1790fa2845dSmrg 		os=-chorusrdb
1800fa2845dSmrg		basic_machine=$1
1810fa2845dSmrg 		;;
1820fa2845dSmrg	-hiux*)
1830fa2845dSmrg		os=-hiuxwe2
1840fa2845dSmrg		;;
1850fa2845dSmrg	-sco6)
1860fa2845dSmrg		os=-sco5v6
1870fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1880fa2845dSmrg		;;
1890fa2845dSmrg	-sco5)
1900fa2845dSmrg		os=-sco3.2v5
1910fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1920fa2845dSmrg		;;
1930fa2845dSmrg	-sco4)
1940fa2845dSmrg		os=-sco3.2v4
1950fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1960fa2845dSmrg		;;
1970fa2845dSmrg	-sco3.2.[4-9]*)
1980fa2845dSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1990fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2000fa2845dSmrg		;;
2010fa2845dSmrg	-sco3.2v[4-9]*)
2020fa2845dSmrg		# Don't forget version if it is 3.2v4 or newer.
2030fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2040fa2845dSmrg		;;
2050fa2845dSmrg	-sco5v6*)
2060fa2845dSmrg		# Don't forget version if it is 3.2v4 or newer.
2070fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2080fa2845dSmrg		;;
2090fa2845dSmrg	-sco*)
2100fa2845dSmrg		os=-sco3.2v2
2110fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2120fa2845dSmrg		;;
2130fa2845dSmrg	-udk*)
2140fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2150fa2845dSmrg		;;
2160fa2845dSmrg	-isc)
2170fa2845dSmrg		os=-isc2.2
2180fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2190fa2845dSmrg		;;
2200fa2845dSmrg	-clix*)
2210fa2845dSmrg		basic_machine=clipper-intergraph
2220fa2845dSmrg		;;
2230fa2845dSmrg	-isc*)
2240fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2250fa2845dSmrg		;;
2260fa2845dSmrg	-lynx*)
2270fa2845dSmrg		os=-lynxos
2280fa2845dSmrg		;;
2290fa2845dSmrg	-ptx*)
2300fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2310fa2845dSmrg		;;
2320fa2845dSmrg	-windowsnt*)
2330fa2845dSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2340fa2845dSmrg		;;
2350fa2845dSmrg	-psos*)
2360fa2845dSmrg		os=-psos
2370fa2845dSmrg		;;
2380fa2845dSmrg	-mint | -mint[0-9]*)
2390fa2845dSmrg		basic_machine=m68k-atari
2400fa2845dSmrg		os=-mint
2410fa2845dSmrg		;;
2420fa2845dSmrgesac
2430fa2845dSmrg
2440fa2845dSmrg# Decode aliases for certain CPU-COMPANY combinations.
2450fa2845dSmrgcase $basic_machine in
2460fa2845dSmrg	# Recognize the basic CPU types without company name.
2470fa2845dSmrg	# Some are omitted here because they have special meanings below.
2480fa2845dSmrg	1750a | 580 \
2490fa2845dSmrg	| a29k \
2500fa2845dSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2510fa2845dSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2520fa2845dSmrg	| am33_2.0 \
2530fa2845dSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2540fa2845dSmrg	| bfin \
2550fa2845dSmrg	| c4x | clipper \
2560fa2845dSmrg	| d10v | d30v | dlx | dsp16xx \
2577888fd0eSmrg	| fido | fr30 | frv \
2580fa2845dSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2590fa2845dSmrg	| i370 | i860 | i960 | ia64 \
2600fa2845dSmrg	| ip2k | iq2000 \
2617888fd0eSmrg	| lm32 \
2620fa2845dSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2637888fd0eSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2640fa2845dSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2650fa2845dSmrg	| mips16 \
2660fa2845dSmrg	| mips64 | mips64el \
2677888fd0eSmrg	| mips64octeon | mips64octeonel \
2680fa2845dSmrg	| mips64orion | mips64orionel \
2697888fd0eSmrg	| mips64r5900 | mips64r5900el \
2707888fd0eSmrg	| mips64vr | mips64vrel \
2710fa2845dSmrg	| mips64vr4100 | mips64vr4100el \
2720fa2845dSmrg	| mips64vr4300 | mips64vr4300el \
2730fa2845dSmrg	| mips64vr5000 | mips64vr5000el \
2740fa2845dSmrg	| mips64vr5900 | mips64vr5900el \
2750fa2845dSmrg	| mipsisa32 | mipsisa32el \
2760fa2845dSmrg	| mipsisa32r2 | mipsisa32r2el \
2770fa2845dSmrg	| mipsisa64 | mipsisa64el \
2780fa2845dSmrg	| mipsisa64r2 | mipsisa64r2el \
2790fa2845dSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2800fa2845dSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2810fa2845dSmrg	| mipstx39 | mipstx39el \
2820fa2845dSmrg	| mn10200 | mn10300 \
2837888fd0eSmrg	| moxie \
2840fa2845dSmrg	| mt \
2850fa2845dSmrg	| msp430 \
286ec74af46Smrg	| nds32 | nds32le | nds32be \
2870fa2845dSmrg	| nios | nios2 \
2880fa2845dSmrg	| ns16k | ns32k \
2890fa2845dSmrg	| or32 \
2900fa2845dSmrg	| pdp10 | pdp11 | pj | pjl \
2910fa2845dSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2920fa2845dSmrg	| pyramid \
293ec74af46Smrg	| rx \
2940fa2845dSmrg	| score \
2957888fd0eSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2960fa2845dSmrg	| sh64 | sh64le \
2970fa2845dSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2980fa2845dSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2990fa2845dSmrg	| spu | strongarm \
300ec74af46Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301ec74af46Smrg	| ubicom32 \
3020fa2845dSmrg	| v850 | v850e \
3030fa2845dSmrg	| we32k \
3040fa2845dSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3057888fd0eSmrg	| z8k | z80)
3060fa2845dSmrg		basic_machine=$basic_machine-unknown
3070fa2845dSmrg		;;
308ec74af46Smrg	c54x)
309ec74af46Smrg		basic_machine=tic54x-unknown
310ec74af46Smrg		;;
311ec74af46Smrg	c55x)
312ec74af46Smrg		basic_machine=tic55x-unknown
313ec74af46Smrg		;;
314ec74af46Smrg	c6x)
315ec74af46Smrg		basic_machine=tic6x-unknown
316ec74af46Smrg		;;
317ec74af46Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3180fa2845dSmrg		# Motorola 68HC11/12.
3190fa2845dSmrg		basic_machine=$basic_machine-unknown
3200fa2845dSmrg		os=-none
3210fa2845dSmrg		;;
3220fa2845dSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3230fa2845dSmrg		;;
3240fa2845dSmrg	ms1)
3250fa2845dSmrg		basic_machine=mt-unknown
3260fa2845dSmrg		;;
3270fa2845dSmrg
3280fa2845dSmrg	# We use `pc' rather than `unknown'
3290fa2845dSmrg	# because (1) that's what they normally are, and
3300fa2845dSmrg	# (2) the word "unknown" tends to confuse beginning users.
3310fa2845dSmrg	i*86 | x86_64)
3320fa2845dSmrg	  basic_machine=$basic_machine-pc
3330fa2845dSmrg	  ;;
3340fa2845dSmrg	# Object if more than one company name word.
3350fa2845dSmrg	*-*-*)
3360fa2845dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3370fa2845dSmrg		exit 1
3380fa2845dSmrg		;;
3390fa2845dSmrg	# Recognize the basic CPU types with company name.
3400fa2845dSmrg	580-* \
3410fa2845dSmrg	| a29k-* \
3420fa2845dSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3430fa2845dSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3440fa2845dSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3450fa2845dSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3460fa2845dSmrg	| avr-* | avr32-* \
3470fa2845dSmrg	| bfin-* | bs2000-* \
348ec74af46Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3490fa2845dSmrg	| clipper-* | craynv-* | cydra-* \
3500fa2845dSmrg	| d10v-* | d30v-* | dlx-* \
3510fa2845dSmrg	| elxsi-* \
3527888fd0eSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3530fa2845dSmrg	| h8300-* | h8500-* \
3540fa2845dSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3550fa2845dSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3560fa2845dSmrg	| ip2k-* | iq2000-* \
3577888fd0eSmrg	| lm32-* \
3580fa2845dSmrg	| m32c-* | m32r-* | m32rle-* \
3590fa2845dSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360ec74af46Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3610fa2845dSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3620fa2845dSmrg	| mips16-* \
3630fa2845dSmrg	| mips64-* | mips64el-* \
3647888fd0eSmrg	| mips64octeon-* | mips64octeonel-* \
3650fa2845dSmrg	| mips64orion-* | mips64orionel-* \
3667888fd0eSmrg	| mips64r5900-* | mips64r5900el-* \
3677888fd0eSmrg	| mips64vr-* | mips64vrel-* \
3680fa2845dSmrg	| mips64vr4100-* | mips64vr4100el-* \
3690fa2845dSmrg	| mips64vr4300-* | mips64vr4300el-* \
3700fa2845dSmrg	| mips64vr5000-* | mips64vr5000el-* \
3710fa2845dSmrg	| mips64vr5900-* | mips64vr5900el-* \
3720fa2845dSmrg	| mipsisa32-* | mipsisa32el-* \
3730fa2845dSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3740fa2845dSmrg	| mipsisa64-* | mipsisa64el-* \
3750fa2845dSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3760fa2845dSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3770fa2845dSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3780fa2845dSmrg	| mipstx39-* | mipstx39el-* \
3790fa2845dSmrg	| mmix-* \
3800fa2845dSmrg	| mt-* \
3810fa2845dSmrg	| msp430-* \
382ec74af46Smrg	| nds32-* | nds32le-* | nds32be-* \
3830fa2845dSmrg	| nios-* | nios2-* \
3840fa2845dSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3850fa2845dSmrg	| orion-* \
3860fa2845dSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3870fa2845dSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3880fa2845dSmrg	| pyramid-* \
389ec74af46Smrg	| romp-* | rs6000-* | rx-* \
3907888fd0eSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3910fa2845dSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3920fa2845dSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3930fa2845dSmrg	| sparclite-* \
3940fa2845dSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3950fa2845dSmrg	| tahoe-* | thumb-* \
396ec74af46Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397ec74af46Smrg	| tile-* | tilegx-* \
3980fa2845dSmrg	| tron-* \
399ec74af46Smrg	| ubicom32-* \
4000fa2845dSmrg	| v850-* | v850e-* | vax-* \
4010fa2845dSmrg	| we32k-* \
4020fa2845dSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4037888fd0eSmrg	| xstormy16-* | xtensa*-* \
4040fa2845dSmrg	| ymp-* \
4057888fd0eSmrg	| z8k-* | z80-*)
4067888fd0eSmrg		;;
4077888fd0eSmrg	# Recognize the basic CPU types without company name, with glob match.
4087888fd0eSmrg	xtensa*)
4097888fd0eSmrg		basic_machine=$basic_machine-unknown
4100fa2845dSmrg		;;
4110fa2845dSmrg	# Recognize the various machine names and aliases which stand
4120fa2845dSmrg	# for a CPU type and a company and sometimes even an OS.
4130fa2845dSmrg	386bsd)
4140fa2845dSmrg		basic_machine=i386-unknown
4150fa2845dSmrg		os=-bsd
4160fa2845dSmrg		;;
4170fa2845dSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4180fa2845dSmrg		basic_machine=m68000-att
4190fa2845dSmrg		;;
4200fa2845dSmrg	3b*)
4210fa2845dSmrg		basic_machine=we32k-att
4220fa2845dSmrg		;;
4230fa2845dSmrg	a29khif)
4240fa2845dSmrg		basic_machine=a29k-amd
4250fa2845dSmrg		os=-udi
4260fa2845dSmrg		;;
4270fa2845dSmrg    	abacus)
4280fa2845dSmrg		basic_machine=abacus-unknown
4290fa2845dSmrg		;;
4300fa2845dSmrg	adobe68k)
4310fa2845dSmrg		basic_machine=m68010-adobe
4320fa2845dSmrg		os=-scout
4330fa2845dSmrg		;;
4340fa2845dSmrg	alliant | fx80)
4350fa2845dSmrg		basic_machine=fx80-alliant
4360fa2845dSmrg		;;
4370fa2845dSmrg	altos | altos3068)
4380fa2845dSmrg		basic_machine=m68k-altos
4390fa2845dSmrg		;;
4400fa2845dSmrg	am29k)
4410fa2845dSmrg		basic_machine=a29k-none
4420fa2845dSmrg		os=-bsd
4430fa2845dSmrg		;;
4440fa2845dSmrg	amd64)
4450fa2845dSmrg		basic_machine=x86_64-pc
4460fa2845dSmrg		;;
4470fa2845dSmrg	amd64-*)
4480fa2845dSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4490fa2845dSmrg		;;
4500fa2845dSmrg	amdahl)
4510fa2845dSmrg		basic_machine=580-amdahl
4520fa2845dSmrg		os=-sysv
4530fa2845dSmrg		;;
4540fa2845dSmrg	amiga | amiga-*)
4550fa2845dSmrg		basic_machine=m68k-unknown
4560fa2845dSmrg		;;
4570fa2845dSmrg	amigaos | amigados)
4580fa2845dSmrg		basic_machine=m68k-unknown
4590fa2845dSmrg		os=-amigaos
4600fa2845dSmrg		;;
4610fa2845dSmrg	amigaunix | amix)
4620fa2845dSmrg		basic_machine=m68k-unknown
4630fa2845dSmrg		os=-sysv4
4640fa2845dSmrg		;;
4650fa2845dSmrg	apollo68)
4660fa2845dSmrg		basic_machine=m68k-apollo
4670fa2845dSmrg		os=-sysv
4680fa2845dSmrg		;;
4690fa2845dSmrg	apollo68bsd)
4700fa2845dSmrg		basic_machine=m68k-apollo
4710fa2845dSmrg		os=-bsd
4720fa2845dSmrg		;;
4737888fd0eSmrg	aros)
4747888fd0eSmrg		basic_machine=i386-pc
4757888fd0eSmrg		os=-aros
4767888fd0eSmrg		;;
4770fa2845dSmrg	aux)
4780fa2845dSmrg		basic_machine=m68k-apple
4790fa2845dSmrg		os=-aux
4800fa2845dSmrg		;;
4810fa2845dSmrg	balance)
4820fa2845dSmrg		basic_machine=ns32k-sequent
4830fa2845dSmrg		os=-dynix
4840fa2845dSmrg		;;
4857888fd0eSmrg	blackfin)
4867888fd0eSmrg		basic_machine=bfin-unknown
4877888fd0eSmrg		os=-linux
4887888fd0eSmrg		;;
4897888fd0eSmrg	blackfin-*)
4907888fd0eSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4917888fd0eSmrg		os=-linux
4927888fd0eSmrg		;;
493ec74af46Smrg	bluegene*)
494ec74af46Smrg		basic_machine=powerpc-ibm
495ec74af46Smrg		os=-cnk
496ec74af46Smrg		;;
497ec74af46Smrg	c54x-*)
498ec74af46Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499ec74af46Smrg		;;
500ec74af46Smrg	c55x-*)
501ec74af46Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502ec74af46Smrg		;;
503ec74af46Smrg	c6x-*)
504ec74af46Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505ec74af46Smrg		;;
5060fa2845dSmrg	c90)
5070fa2845dSmrg		basic_machine=c90-cray
5080fa2845dSmrg		os=-unicos
5090fa2845dSmrg		;;
5107888fd0eSmrg        cegcc)
5117888fd0eSmrg		basic_machine=arm-unknown
5127888fd0eSmrg		os=-cegcc
5137888fd0eSmrg		;;
5140fa2845dSmrg	convex-c1)
5150fa2845dSmrg		basic_machine=c1-convex
5160fa2845dSmrg		os=-bsd
5170fa2845dSmrg		;;
5180fa2845dSmrg	convex-c2)
5190fa2845dSmrg		basic_machine=c2-convex
5200fa2845dSmrg		os=-bsd
5210fa2845dSmrg		;;
5220fa2845dSmrg	convex-c32)
5230fa2845dSmrg		basic_machine=c32-convex
5240fa2845dSmrg		os=-bsd
5250fa2845dSmrg		;;
5260fa2845dSmrg	convex-c34)
5270fa2845dSmrg		basic_machine=c34-convex
5280fa2845dSmrg		os=-bsd
5290fa2845dSmrg		;;
5300fa2845dSmrg	convex-c38)
5310fa2845dSmrg		basic_machine=c38-convex
5320fa2845dSmrg		os=-bsd
5330fa2845dSmrg		;;
5340fa2845dSmrg	cray | j90)
5350fa2845dSmrg		basic_machine=j90-cray
5360fa2845dSmrg		os=-unicos
5370fa2845dSmrg		;;
5380fa2845dSmrg	craynv)
5390fa2845dSmrg		basic_machine=craynv-cray
5400fa2845dSmrg		os=-unicosmp
5410fa2845dSmrg		;;
5427888fd0eSmrg	cr16)
5437888fd0eSmrg		basic_machine=cr16-unknown
5440fa2845dSmrg		os=-elf
5450fa2845dSmrg		;;
5460fa2845dSmrg	crds | unos)
5470fa2845dSmrg		basic_machine=m68k-crds
5480fa2845dSmrg		;;
5490fa2845dSmrg	crisv32 | crisv32-* | etraxfs*)
5500fa2845dSmrg		basic_machine=crisv32-axis
5510fa2845dSmrg		;;
5520fa2845dSmrg	cris | cris-* | etrax*)
5530fa2845dSmrg		basic_machine=cris-axis
5540fa2845dSmrg		;;
5550fa2845dSmrg	crx)
5560fa2845dSmrg		basic_machine=crx-unknown
5570fa2845dSmrg		os=-elf
5580fa2845dSmrg		;;
5590fa2845dSmrg	da30 | da30-*)
5600fa2845dSmrg		basic_machine=m68k-da30
5610fa2845dSmrg		;;
5620fa2845dSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5630fa2845dSmrg		basic_machine=mips-dec
5640fa2845dSmrg		;;
5650fa2845dSmrg	decsystem10* | dec10*)
5660fa2845dSmrg		basic_machine=pdp10-dec
5670fa2845dSmrg		os=-tops10
5680fa2845dSmrg		;;
5690fa2845dSmrg	decsystem20* | dec20*)
5700fa2845dSmrg		basic_machine=pdp10-dec
5710fa2845dSmrg		os=-tops20
5720fa2845dSmrg		;;
5730fa2845dSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5740fa2845dSmrg	      | 3300-motorola | delta-motorola)
5750fa2845dSmrg		basic_machine=m68k-motorola
5760fa2845dSmrg		;;
5770fa2845dSmrg	delta88)
5780fa2845dSmrg		basic_machine=m88k-motorola
5790fa2845dSmrg		os=-sysv3
5800fa2845dSmrg		;;
5817888fd0eSmrg	dicos)
5827888fd0eSmrg		basic_machine=i686-pc
5837888fd0eSmrg		os=-dicos
5847888fd0eSmrg		;;
5850fa2845dSmrg	djgpp)
5860fa2845dSmrg		basic_machine=i586-pc
5870fa2845dSmrg		os=-msdosdjgpp
5880fa2845dSmrg		;;
5890fa2845dSmrg	dpx20 | dpx20-*)
5900fa2845dSmrg		basic_machine=rs6000-bull
5910fa2845dSmrg		os=-bosx
5920fa2845dSmrg		;;
5930fa2845dSmrg	dpx2* | dpx2*-bull)
5940fa2845dSmrg		basic_machine=m68k-bull
5950fa2845dSmrg		os=-sysv3
5960fa2845dSmrg		;;
5970fa2845dSmrg	ebmon29k)
5980fa2845dSmrg		basic_machine=a29k-amd
5990fa2845dSmrg		os=-ebmon
6000fa2845dSmrg		;;
6010fa2845dSmrg	elxsi)
6020fa2845dSmrg		basic_machine=elxsi-elxsi
6030fa2845dSmrg		os=-bsd
6040fa2845dSmrg		;;
6050fa2845dSmrg	encore | umax | mmax)
6060fa2845dSmrg		basic_machine=ns32k-encore
6070fa2845dSmrg		;;
6080fa2845dSmrg	es1800 | OSE68k | ose68k | ose | OSE)
6090fa2845dSmrg		basic_machine=m68k-ericsson
6100fa2845dSmrg		os=-ose
6110fa2845dSmrg		;;
6120fa2845dSmrg	fx2800)
6130fa2845dSmrg		basic_machine=i860-alliant
6140fa2845dSmrg		;;
6150fa2845dSmrg	genix)
6160fa2845dSmrg		basic_machine=ns32k-ns
6170fa2845dSmrg		;;
6180fa2845dSmrg	gmicro)
6190fa2845dSmrg		basic_machine=tron-gmicro
6200fa2845dSmrg		os=-sysv
6210fa2845dSmrg		;;
6220fa2845dSmrg	go32)
6230fa2845dSmrg		basic_machine=i386-pc
6240fa2845dSmrg		os=-go32
6250fa2845dSmrg		;;
6260fa2845dSmrg	h3050r* | hiux*)
6270fa2845dSmrg		basic_machine=hppa1.1-hitachi
6280fa2845dSmrg		os=-hiuxwe2
6290fa2845dSmrg		;;
6300fa2845dSmrg	h8300hms)
6310fa2845dSmrg		basic_machine=h8300-hitachi
6320fa2845dSmrg		os=-hms
6330fa2845dSmrg		;;
6340fa2845dSmrg	h8300xray)
6350fa2845dSmrg		basic_machine=h8300-hitachi
6360fa2845dSmrg		os=-xray
6370fa2845dSmrg		;;
6380fa2845dSmrg	h8500hms)
6390fa2845dSmrg		basic_machine=h8500-hitachi
6400fa2845dSmrg		os=-hms
6410fa2845dSmrg		;;
6420fa2845dSmrg	harris)
6430fa2845dSmrg		basic_machine=m88k-harris
6440fa2845dSmrg		os=-sysv3
6450fa2845dSmrg		;;
6460fa2845dSmrg	hp300-*)
6470fa2845dSmrg		basic_machine=m68k-hp
6480fa2845dSmrg		;;
6490fa2845dSmrg	hp300bsd)
6500fa2845dSmrg		basic_machine=m68k-hp
6510fa2845dSmrg		os=-bsd
6520fa2845dSmrg		;;
6530fa2845dSmrg	hp300hpux)
6540fa2845dSmrg		basic_machine=m68k-hp
6550fa2845dSmrg		os=-hpux
6560fa2845dSmrg		;;
6570fa2845dSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6580fa2845dSmrg		basic_machine=hppa1.0-hp
6590fa2845dSmrg		;;
6600fa2845dSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6610fa2845dSmrg		basic_machine=m68000-hp
6620fa2845dSmrg		;;
6630fa2845dSmrg	hp9k3[2-9][0-9])
6640fa2845dSmrg		basic_machine=m68k-hp
6650fa2845dSmrg		;;
6660fa2845dSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6670fa2845dSmrg		basic_machine=hppa1.0-hp
6680fa2845dSmrg		;;
6690fa2845dSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6700fa2845dSmrg		basic_machine=hppa1.1-hp
6710fa2845dSmrg		;;
6720fa2845dSmrg	hp9k78[0-9] | hp78[0-9])
6730fa2845dSmrg		# FIXME: really hppa2.0-hp
6740fa2845dSmrg		basic_machine=hppa1.1-hp
6750fa2845dSmrg		;;
6760fa2845dSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6770fa2845dSmrg		# FIXME: really hppa2.0-hp
6780fa2845dSmrg		basic_machine=hppa1.1-hp
6790fa2845dSmrg		;;
6800fa2845dSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6810fa2845dSmrg		basic_machine=hppa1.1-hp
6820fa2845dSmrg		;;
6830fa2845dSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6840fa2845dSmrg		basic_machine=hppa1.0-hp
6850fa2845dSmrg		;;
6860fa2845dSmrg	hppa-next)
6870fa2845dSmrg		os=-nextstep3
6880fa2845dSmrg		;;
6890fa2845dSmrg	hppaosf)
6900fa2845dSmrg		basic_machine=hppa1.1-hp
6910fa2845dSmrg		os=-osf
6920fa2845dSmrg		;;
6930fa2845dSmrg	hppro)
6940fa2845dSmrg		basic_machine=hppa1.1-hp
6950fa2845dSmrg		os=-proelf
6960fa2845dSmrg		;;
6970fa2845dSmrg	i370-ibm* | ibm*)
6980fa2845dSmrg		basic_machine=i370-ibm
6990fa2845dSmrg		;;
7000fa2845dSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7010fa2845dSmrg	i*86v32)
7020fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7030fa2845dSmrg		os=-sysv32
7040fa2845dSmrg		;;
7050fa2845dSmrg	i*86v4*)
7060fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7070fa2845dSmrg		os=-sysv4
7080fa2845dSmrg		;;
7090fa2845dSmrg	i*86v)
7100fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7110fa2845dSmrg		os=-sysv
7120fa2845dSmrg		;;
7130fa2845dSmrg	i*86sol2)
7140fa2845dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7150fa2845dSmrg		os=-solaris2
7160fa2845dSmrg		;;
7170fa2845dSmrg	i386mach)
7180fa2845dSmrg		basic_machine=i386-mach
7190fa2845dSmrg		os=-mach
7200fa2845dSmrg		;;
7210fa2845dSmrg	i386-vsta | vsta)
7220fa2845dSmrg		basic_machine=i386-unknown
7230fa2845dSmrg		os=-vsta
7240fa2845dSmrg		;;
7250fa2845dSmrg	iris | iris4d)
7260fa2845dSmrg		basic_machine=mips-sgi
7270fa2845dSmrg		case $os in
7280fa2845dSmrg		    -irix*)
7290fa2845dSmrg			;;
7300fa2845dSmrg		    *)
7310fa2845dSmrg			os=-irix4
7320fa2845dSmrg			;;
7330fa2845dSmrg		esac
7340fa2845dSmrg		;;
7350fa2845dSmrg	isi68 | isi)
7360fa2845dSmrg		basic_machine=m68k-isi
7370fa2845dSmrg		os=-sysv
7380fa2845dSmrg		;;
7397888fd0eSmrg	m68knommu)
7407888fd0eSmrg		basic_machine=m68k-unknown
7417888fd0eSmrg		os=-linux
7427888fd0eSmrg		;;
7437888fd0eSmrg	m68knommu-*)
7447888fd0eSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7457888fd0eSmrg		os=-linux
7467888fd0eSmrg		;;
7470fa2845dSmrg	m88k-omron*)
7480fa2845dSmrg		basic_machine=m88k-omron
7490fa2845dSmrg		;;
7500fa2845dSmrg	magnum | m3230)
7510fa2845dSmrg		basic_machine=mips-mips
7520fa2845dSmrg		os=-sysv
7530fa2845dSmrg		;;
7540fa2845dSmrg	merlin)
7550fa2845dSmrg		basic_machine=ns32k-utek
7560fa2845dSmrg		os=-sysv
7570fa2845dSmrg		;;
758ec74af46Smrg        microblaze)
759ec74af46Smrg		basic_machine=microblaze-xilinx
760ec74af46Smrg		;;
7610fa2845dSmrg	mingw32)
7620fa2845dSmrg		basic_machine=i386-pc
7630fa2845dSmrg		os=-mingw32
7640fa2845dSmrg		;;
7657888fd0eSmrg	mingw32ce)
7667888fd0eSmrg		basic_machine=arm-unknown
7677888fd0eSmrg		os=-mingw32ce
7687888fd0eSmrg		;;
7690fa2845dSmrg	miniframe)
7700fa2845dSmrg		basic_machine=m68000-convergent
7710fa2845dSmrg		;;
7720fa2845dSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7730fa2845dSmrg		basic_machine=m68k-atari
7740fa2845dSmrg		os=-mint
7750fa2845dSmrg		;;
7760fa2845dSmrg	mips3*-*)
7770fa2845dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7780fa2845dSmrg		;;
7790fa2845dSmrg	mips3*)
7800fa2845dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7810fa2845dSmrg		;;
7820fa2845dSmrg	monitor)
7830fa2845dSmrg		basic_machine=m68k-rom68k
7840fa2845dSmrg		os=-coff
7850fa2845dSmrg		;;
7860fa2845dSmrg	morphos)
7870fa2845dSmrg		basic_machine=powerpc-unknown
7880fa2845dSmrg		os=-morphos
7890fa2845dSmrg		;;
7900fa2845dSmrg	msdos)
7910fa2845dSmrg		basic_machine=i386-pc
7920fa2845dSmrg		os=-msdos
7930fa2845dSmrg		;;
7940fa2845dSmrg	ms1-*)
7950fa2845dSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7960fa2845dSmrg		;;
7970fa2845dSmrg	mvs)
7980fa2845dSmrg		basic_machine=i370-ibm
7990fa2845dSmrg		os=-mvs
8000fa2845dSmrg		;;
8010fa2845dSmrg	ncr3000)
8020fa2845dSmrg		basic_machine=i486-ncr
8030fa2845dSmrg		os=-sysv4
8040fa2845dSmrg		;;
8050fa2845dSmrg	netbsd386)
8060fa2845dSmrg		basic_machine=i386-unknown
8070fa2845dSmrg		os=-netbsd
8080fa2845dSmrg		;;
8090fa2845dSmrg	netwinder)
8100fa2845dSmrg		basic_machine=armv4l-rebel
8110fa2845dSmrg		os=-linux
8120fa2845dSmrg		;;
8130fa2845dSmrg	news | news700 | news800 | news900)
8140fa2845dSmrg		basic_machine=m68k-sony
8150fa2845dSmrg		os=-newsos
8160fa2845dSmrg		;;
8170fa2845dSmrg	news1000)
8180fa2845dSmrg		basic_machine=m68030-sony
8190fa2845dSmrg		os=-newsos
8200fa2845dSmrg		;;
8210fa2845dSmrg	news-3600 | risc-news)
8220fa2845dSmrg		basic_machine=mips-sony
8230fa2845dSmrg		os=-newsos
8240fa2845dSmrg		;;
8250fa2845dSmrg	necv70)
8260fa2845dSmrg		basic_machine=v70-nec
8270fa2845dSmrg		os=-sysv
8280fa2845dSmrg		;;
8290fa2845dSmrg	next | m*-next )
8300fa2845dSmrg		basic_machine=m68k-next
8310fa2845dSmrg		case $os in
8320fa2845dSmrg		    -nextstep* )
8330fa2845dSmrg			;;
8340fa2845dSmrg		    -ns2*)
8350fa2845dSmrg		      os=-nextstep2
8360fa2845dSmrg			;;
8370fa2845dSmrg		    *)
8380fa2845dSmrg		      os=-nextstep3
8390fa2845dSmrg			;;
8400fa2845dSmrg		esac
8410fa2845dSmrg		;;
8420fa2845dSmrg	nh3000)
8430fa2845dSmrg		basic_machine=m68k-harris
8440fa2845dSmrg		os=-cxux
8450fa2845dSmrg		;;
8460fa2845dSmrg	nh[45]000)
8470fa2845dSmrg		basic_machine=m88k-harris
8480fa2845dSmrg		os=-cxux
8490fa2845dSmrg		;;
8500fa2845dSmrg	nindy960)
8510fa2845dSmrg		basic_machine=i960-intel
8520fa2845dSmrg		os=-nindy
8530fa2845dSmrg		;;
8540fa2845dSmrg	mon960)
8550fa2845dSmrg		basic_machine=i960-intel
8560fa2845dSmrg		os=-mon960
8570fa2845dSmrg		;;
8580fa2845dSmrg	nonstopux)
8590fa2845dSmrg		basic_machine=mips-compaq
8600fa2845dSmrg		os=-nonstopux
8610fa2845dSmrg		;;
8620fa2845dSmrg	np1)
8630fa2845dSmrg		basic_machine=np1-gould
8640fa2845dSmrg		;;
865ec74af46Smrg        neo-tandem)
866ec74af46Smrg		basic_machine=neo-tandem
867ec74af46Smrg		;;
868ec74af46Smrg        nse-tandem)
869ec74af46Smrg		basic_machine=nse-tandem
870ec74af46Smrg		;;
8710fa2845dSmrg	nsr-tandem)
8720fa2845dSmrg		basic_machine=nsr-tandem
8730fa2845dSmrg		;;
8740fa2845dSmrg	op50n-* | op60c-*)
8750fa2845dSmrg		basic_machine=hppa1.1-oki
8760fa2845dSmrg		os=-proelf
8770fa2845dSmrg		;;
8780fa2845dSmrg	openrisc | openrisc-*)
8790fa2845dSmrg		basic_machine=or32-unknown
8800fa2845dSmrg		;;
8810fa2845dSmrg	os400)
8820fa2845dSmrg		basic_machine=powerpc-ibm
8830fa2845dSmrg		os=-os400
8840fa2845dSmrg		;;
8850fa2845dSmrg	OSE68000 | ose68000)
8860fa2845dSmrg		basic_machine=m68000-ericsson
8870fa2845dSmrg		os=-ose
8880fa2845dSmrg		;;
8890fa2845dSmrg	os68k)
8900fa2845dSmrg		basic_machine=m68k-none
8910fa2845dSmrg		os=-os68k
8920fa2845dSmrg		;;
8930fa2845dSmrg	pa-hitachi)
8940fa2845dSmrg		basic_machine=hppa1.1-hitachi
8950fa2845dSmrg		os=-hiuxwe2
8960fa2845dSmrg		;;
8970fa2845dSmrg	paragon)
8980fa2845dSmrg		basic_machine=i860-intel
8990fa2845dSmrg		os=-osf
9000fa2845dSmrg		;;
9017888fd0eSmrg	parisc)
9027888fd0eSmrg		basic_machine=hppa-unknown
9037888fd0eSmrg		os=-linux
9047888fd0eSmrg		;;
9057888fd0eSmrg	parisc-*)
9067888fd0eSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9077888fd0eSmrg		os=-linux
9087888fd0eSmrg		;;
9090fa2845dSmrg	pbd)
9100fa2845dSmrg		basic_machine=sparc-tti
9110fa2845dSmrg		;;
9120fa2845dSmrg	pbb)
9130fa2845dSmrg		basic_machine=m68k-tti
9140fa2845dSmrg		;;
9150fa2845dSmrg	pc532 | pc532-*)
9160fa2845dSmrg		basic_machine=ns32k-pc532
9170fa2845dSmrg		;;
9180fa2845dSmrg	pc98)
9190fa2845dSmrg		basic_machine=i386-pc
9200fa2845dSmrg		;;
9210fa2845dSmrg	pc98-*)
9220fa2845dSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9230fa2845dSmrg		;;
9240fa2845dSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9250fa2845dSmrg		basic_machine=i586-pc
9260fa2845dSmrg		;;
9270fa2845dSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9280fa2845dSmrg		basic_machine=i686-pc
9290fa2845dSmrg		;;
9300fa2845dSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
9310fa2845dSmrg		basic_machine=i686-pc
9320fa2845dSmrg		;;
9330fa2845dSmrg	pentium4)
9340fa2845dSmrg		basic_machine=i786-pc
9350fa2845dSmrg		;;
9360fa2845dSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9370fa2845dSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9380fa2845dSmrg		;;
9390fa2845dSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9400fa2845dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9410fa2845dSmrg		;;
9420fa2845dSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9430fa2845dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9440fa2845dSmrg		;;
9450fa2845dSmrg	pentium4-*)
9460fa2845dSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9470fa2845dSmrg		;;
9480fa2845dSmrg	pn)
9490fa2845dSmrg		basic_machine=pn-gould
9500fa2845dSmrg		;;
9510fa2845dSmrg	power)	basic_machine=power-ibm
9520fa2845dSmrg		;;
9530fa2845dSmrg	ppc)	basic_machine=powerpc-unknown
9540fa2845dSmrg		;;
9550fa2845dSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9560fa2845dSmrg		;;
9570fa2845dSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9580fa2845dSmrg		basic_machine=powerpcle-unknown
9590fa2845dSmrg		;;
9600fa2845dSmrg	ppcle-* | powerpclittle-*)
9610fa2845dSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9620fa2845dSmrg		;;
9630fa2845dSmrg	ppc64)	basic_machine=powerpc64-unknown
9640fa2845dSmrg		;;
9650fa2845dSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9660fa2845dSmrg		;;
9670fa2845dSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9680fa2845dSmrg		basic_machine=powerpc64le-unknown
9690fa2845dSmrg		;;
9700fa2845dSmrg	ppc64le-* | powerpc64little-*)
9710fa2845dSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9720fa2845dSmrg		;;
9730fa2845dSmrg	ps2)
9740fa2845dSmrg		basic_machine=i386-ibm
9750fa2845dSmrg		;;
9760fa2845dSmrg	pw32)
9770fa2845dSmrg		basic_machine=i586-unknown
9780fa2845dSmrg		os=-pw32
9790fa2845dSmrg		;;
9800fa2845dSmrg	rdos)
9810fa2845dSmrg		basic_machine=i386-pc
9820fa2845dSmrg		os=-rdos
9830fa2845dSmrg		;;
9840fa2845dSmrg	rom68k)
9850fa2845dSmrg		basic_machine=m68k-rom68k
9860fa2845dSmrg		os=-coff
9870fa2845dSmrg		;;
9880fa2845dSmrg	rm[46]00)
9890fa2845dSmrg		basic_machine=mips-siemens
9900fa2845dSmrg		;;
9910fa2845dSmrg	rtpc | rtpc-*)
9920fa2845dSmrg		basic_machine=romp-ibm
9930fa2845dSmrg		;;
9940fa2845dSmrg	s390 | s390-*)
9950fa2845dSmrg		basic_machine=s390-ibm
9960fa2845dSmrg		;;
9970fa2845dSmrg	s390x | s390x-*)
9980fa2845dSmrg		basic_machine=s390x-ibm
9990fa2845dSmrg		;;
10000fa2845dSmrg	sa29200)
10010fa2845dSmrg		basic_machine=a29k-amd
10020fa2845dSmrg		os=-udi
10030fa2845dSmrg		;;
10040fa2845dSmrg	sb1)
10050fa2845dSmrg		basic_machine=mipsisa64sb1-unknown
10060fa2845dSmrg		;;
10070fa2845dSmrg	sb1el)
10080fa2845dSmrg		basic_machine=mipsisa64sb1el-unknown
10090fa2845dSmrg		;;
10100fa2845dSmrg	sde)
10110fa2845dSmrg		basic_machine=mipsisa32-sde
10120fa2845dSmrg		os=-elf
10130fa2845dSmrg		;;
10140fa2845dSmrg	sei)
10150fa2845dSmrg		basic_machine=mips-sei
10160fa2845dSmrg		os=-seiux
10170fa2845dSmrg		;;
10180fa2845dSmrg	sequent)
10190fa2845dSmrg		basic_machine=i386-sequent
10200fa2845dSmrg		;;
10210fa2845dSmrg	sh)
10220fa2845dSmrg		basic_machine=sh-hitachi
10230fa2845dSmrg		os=-hms
10240fa2845dSmrg		;;
10257888fd0eSmrg	sh5el)
10267888fd0eSmrg		basic_machine=sh5le-unknown
10277888fd0eSmrg		;;
10280fa2845dSmrg	sh64)
10290fa2845dSmrg		basic_machine=sh64-unknown
10300fa2845dSmrg		;;
10310fa2845dSmrg	sparclite-wrs | simso-wrs)
10320fa2845dSmrg		basic_machine=sparclite-wrs
10330fa2845dSmrg		os=-vxworks
10340fa2845dSmrg		;;
10350fa2845dSmrg	sps7)
10360fa2845dSmrg		basic_machine=m68k-bull
10370fa2845dSmrg		os=-sysv2
10380fa2845dSmrg		;;
10390fa2845dSmrg	spur)
10400fa2845dSmrg		basic_machine=spur-unknown
10410fa2845dSmrg		;;
10420fa2845dSmrg	st2000)
10430fa2845dSmrg		basic_machine=m68k-tandem
10440fa2845dSmrg		;;
10450fa2845dSmrg	stratus)
10460fa2845dSmrg		basic_machine=i860-stratus
10470fa2845dSmrg		os=-sysv4
10480fa2845dSmrg		;;
10490fa2845dSmrg	sun2)
10500fa2845dSmrg		basic_machine=m68000-sun
10510fa2845dSmrg		;;
10520fa2845dSmrg	sun2os3)
10530fa2845dSmrg		basic_machine=m68000-sun
10540fa2845dSmrg		os=-sunos3
10550fa2845dSmrg		;;
10560fa2845dSmrg	sun2os4)
10570fa2845dSmrg		basic_machine=m68000-sun
10580fa2845dSmrg		os=-sunos4
10590fa2845dSmrg		;;
10600fa2845dSmrg	sun3os3)
10610fa2845dSmrg		basic_machine=m68k-sun
10620fa2845dSmrg		os=-sunos3
10630fa2845dSmrg		;;
10640fa2845dSmrg	sun3os4)
10650fa2845dSmrg		basic_machine=m68k-sun
10660fa2845dSmrg		os=-sunos4
10670fa2845dSmrg		;;
10680fa2845dSmrg	sun4os3)
10690fa2845dSmrg		basic_machine=sparc-sun
10700fa2845dSmrg		os=-sunos3
10710fa2845dSmrg		;;
10720fa2845dSmrg	sun4os4)
10730fa2845dSmrg		basic_machine=sparc-sun
10740fa2845dSmrg		os=-sunos4
10750fa2845dSmrg		;;
10760fa2845dSmrg	sun4sol2)
10770fa2845dSmrg		basic_machine=sparc-sun
10780fa2845dSmrg		os=-solaris2
10790fa2845dSmrg		;;
10800fa2845dSmrg	sun3 | sun3-*)
10810fa2845dSmrg		basic_machine=m68k-sun
10820fa2845dSmrg		;;
10830fa2845dSmrg	sun4)
10840fa2845dSmrg		basic_machine=sparc-sun
10850fa2845dSmrg		;;
10860fa2845dSmrg	sun386 | sun386i | roadrunner)
10870fa2845dSmrg		basic_machine=i386-sun
10880fa2845dSmrg		;;
10890fa2845dSmrg	sv1)
10900fa2845dSmrg		basic_machine=sv1-cray
10910fa2845dSmrg		os=-unicos
10920fa2845dSmrg		;;
10930fa2845dSmrg	symmetry)
10940fa2845dSmrg		basic_machine=i386-sequent
10950fa2845dSmrg		os=-dynix
10960fa2845dSmrg		;;
10970fa2845dSmrg	t3e)
10980fa2845dSmrg		basic_machine=alphaev5-cray
10990fa2845dSmrg		os=-unicos
11000fa2845dSmrg		;;
11010fa2845dSmrg	t90)
11020fa2845dSmrg		basic_machine=t90-cray
11030fa2845dSmrg		os=-unicos
11040fa2845dSmrg		;;
1105ec74af46Smrg        # This must be matched before tile*.
1106ec74af46Smrg        tilegx*)
1107ec74af46Smrg		basic_machine=tilegx-unknown
1108ec74af46Smrg		os=-linux-gnu
11090fa2845dSmrg		;;
11107888fd0eSmrg	tile*)
11117888fd0eSmrg		basic_machine=tile-unknown
11127888fd0eSmrg		os=-linux-gnu
11137888fd0eSmrg		;;
11140fa2845dSmrg	tx39)
11150fa2845dSmrg		basic_machine=mipstx39-unknown
11160fa2845dSmrg		;;
11170fa2845dSmrg	tx39el)
11180fa2845dSmrg		basic_machine=mipstx39el-unknown
11190fa2845dSmrg		;;
11200fa2845dSmrg	toad1)
11210fa2845dSmrg		basic_machine=pdp10-xkl
11220fa2845dSmrg		os=-tops20
11230fa2845dSmrg		;;
11240fa2845dSmrg	tower | tower-32)
11250fa2845dSmrg		basic_machine=m68k-ncr
11260fa2845dSmrg		;;
11270fa2845dSmrg	tpf)
11280fa2845dSmrg		basic_machine=s390x-ibm
11290fa2845dSmrg		os=-tpf
11300fa2845dSmrg		;;
11310fa2845dSmrg	udi29k)
11320fa2845dSmrg		basic_machine=a29k-amd
11330fa2845dSmrg		os=-udi
11340fa2845dSmrg		;;
11350fa2845dSmrg	ultra3)
11360fa2845dSmrg		basic_machine=a29k-nyu
11370fa2845dSmrg		os=-sym1
11380fa2845dSmrg		;;
11390fa2845dSmrg	v810 | necv810)
11400fa2845dSmrg		basic_machine=v810-nec
11410fa2845dSmrg		os=-none
11420fa2845dSmrg		;;
11430fa2845dSmrg	vaxv)
11440fa2845dSmrg		basic_machine=vax-dec
11450fa2845dSmrg		os=-sysv
11460fa2845dSmrg		;;
11470fa2845dSmrg	vms)
11480fa2845dSmrg		basic_machine=vax-dec
11490fa2845dSmrg		os=-vms
11500fa2845dSmrg		;;
11510fa2845dSmrg	vpp*|vx|vx-*)
11520fa2845dSmrg		basic_machine=f301-fujitsu
11530fa2845dSmrg		;;
11540fa2845dSmrg	vxworks960)
11550fa2845dSmrg		basic_machine=i960-wrs
11560fa2845dSmrg		os=-vxworks
11570fa2845dSmrg		;;
11580fa2845dSmrg	vxworks68)
11590fa2845dSmrg		basic_machine=m68k-wrs
11600fa2845dSmrg		os=-vxworks
11610fa2845dSmrg		;;
11620fa2845dSmrg	vxworks29k)
11630fa2845dSmrg		basic_machine=a29k-wrs
11640fa2845dSmrg		os=-vxworks
11650fa2845dSmrg		;;
11660fa2845dSmrg	w65*)
11670fa2845dSmrg		basic_machine=w65-wdc
11680fa2845dSmrg		os=-none
11690fa2845dSmrg		;;
11700fa2845dSmrg	w89k-*)
11710fa2845dSmrg		basic_machine=hppa1.1-winbond
11720fa2845dSmrg		os=-proelf
11730fa2845dSmrg		;;
11740fa2845dSmrg	xbox)
11750fa2845dSmrg		basic_machine=i686-pc
11760fa2845dSmrg		os=-mingw32
11770fa2845dSmrg		;;
11780fa2845dSmrg	xps | xps100)
11790fa2845dSmrg		basic_machine=xps100-honeywell
11800fa2845dSmrg		;;
11810fa2845dSmrg	ymp)
11820fa2845dSmrg		basic_machine=ymp-cray
11830fa2845dSmrg		os=-unicos
11840fa2845dSmrg		;;
11850fa2845dSmrg	z8k-*-coff)
11860fa2845dSmrg		basic_machine=z8k-unknown
11870fa2845dSmrg		os=-sim
11880fa2845dSmrg		;;
11897888fd0eSmrg	z80-*-coff)
11907888fd0eSmrg		basic_machine=z80-unknown
11917888fd0eSmrg		os=-sim
11927888fd0eSmrg		;;
11930fa2845dSmrg	none)
11940fa2845dSmrg		basic_machine=none-none
11950fa2845dSmrg		os=-none
11960fa2845dSmrg		;;
11970fa2845dSmrg
11980fa2845dSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11990fa2845dSmrg# some cases the only manufacturer, in others, it is the most popular.
12000fa2845dSmrg	w89k)
12010fa2845dSmrg		basic_machine=hppa1.1-winbond
12020fa2845dSmrg		;;
12030fa2845dSmrg	op50n)
12040fa2845dSmrg		basic_machine=hppa1.1-oki
12050fa2845dSmrg		;;
12060fa2845dSmrg	op60c)
12070fa2845dSmrg		basic_machine=hppa1.1-oki
12080fa2845dSmrg		;;
12090fa2845dSmrg	romp)
12100fa2845dSmrg		basic_machine=romp-ibm
12110fa2845dSmrg		;;
12120fa2845dSmrg	mmix)
12130fa2845dSmrg		basic_machine=mmix-knuth
12140fa2845dSmrg		;;
12150fa2845dSmrg	rs6000)
12160fa2845dSmrg		basic_machine=rs6000-ibm
12170fa2845dSmrg		;;
12180fa2845dSmrg	vax)
12190fa2845dSmrg		basic_machine=vax-dec
12200fa2845dSmrg		;;
12210fa2845dSmrg	pdp10)
12220fa2845dSmrg		# there are many clones, so DEC is not a safe bet
12230fa2845dSmrg		basic_machine=pdp10-unknown
12240fa2845dSmrg		;;
12250fa2845dSmrg	pdp11)
12260fa2845dSmrg		basic_machine=pdp11-dec
12270fa2845dSmrg		;;
12280fa2845dSmrg	we32k)
12290fa2845dSmrg		basic_machine=we32k-att
12300fa2845dSmrg		;;
12317888fd0eSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12320fa2845dSmrg		basic_machine=sh-unknown
12330fa2845dSmrg		;;
12340fa2845dSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12350fa2845dSmrg		basic_machine=sparc-sun
12360fa2845dSmrg		;;
12370fa2845dSmrg	cydra)
12380fa2845dSmrg		basic_machine=cydra-cydrome
12390fa2845dSmrg		;;
12400fa2845dSmrg	orion)
12410fa2845dSmrg		basic_machine=orion-highlevel
12420fa2845dSmrg		;;
12430fa2845dSmrg	orion105)
12440fa2845dSmrg		basic_machine=clipper-highlevel
12450fa2845dSmrg		;;
12460fa2845dSmrg	mac | mpw | mac-mpw)
12470fa2845dSmrg		basic_machine=m68k-apple
12480fa2845dSmrg		;;
12490fa2845dSmrg	pmac | pmac-mpw)
12500fa2845dSmrg		basic_machine=powerpc-apple
12510fa2845dSmrg		;;
12520fa2845dSmrg	*-unknown)
12530fa2845dSmrg		# Make sure to match an already-canonicalized machine name.
12540fa2845dSmrg		;;
12550fa2845dSmrg	*)
12560fa2845dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12570fa2845dSmrg		exit 1
12580fa2845dSmrg		;;
12590fa2845dSmrgesac
12600fa2845dSmrg
12610fa2845dSmrg# Here we canonicalize certain aliases for manufacturers.
12620fa2845dSmrgcase $basic_machine in
12630fa2845dSmrg	*-digital*)
12640fa2845dSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12650fa2845dSmrg		;;
12660fa2845dSmrg	*-commodore*)
12670fa2845dSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12680fa2845dSmrg		;;
12690fa2845dSmrg	*)
12700fa2845dSmrg		;;
12710fa2845dSmrgesac
12720fa2845dSmrg
12730fa2845dSmrg# Decode manufacturer-specific aliases for certain operating systems.
12740fa2845dSmrg
12750fa2845dSmrgif [ x"$os" != x"" ]
12760fa2845dSmrgthen
12770fa2845dSmrgcase $os in
12780fa2845dSmrg        # First match some system type aliases
12790fa2845dSmrg        # that might get confused with valid system types.
12800fa2845dSmrg	# -solaris* is a basic system type, with this one exception.
1281ec74af46Smrg        -auroraux)
1282ec74af46Smrg	        os=-auroraux
1283ec74af46Smrg		;;
12840fa2845dSmrg	-solaris1 | -solaris1.*)
12850fa2845dSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12860fa2845dSmrg		;;
12870fa2845dSmrg	-solaris)
12880fa2845dSmrg		os=-solaris2
12890fa2845dSmrg		;;
12900fa2845dSmrg	-svr4*)
12910fa2845dSmrg		os=-sysv4
12920fa2845dSmrg		;;
12930fa2845dSmrg	-unixware*)
12940fa2845dSmrg		os=-sysv4.2uw
12950fa2845dSmrg		;;
12960fa2845dSmrg	-gnu/linux*)
12970fa2845dSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12980fa2845dSmrg		;;
12990fa2845dSmrg	# First accept the basic system types.
13000fa2845dSmrg	# The portable systems comes first.
13010fa2845dSmrg	# Each alternative MUST END IN A *, to match a version number.
13020fa2845dSmrg	# -sysv* is not here because it comes later, after sysvr4.
13030fa2845dSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304ec74af46Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305ec74af46Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306ec74af46Smrg	      | -sym* | -kopensolaris* \
13070fa2845dSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13087888fd0eSmrg	      | -aos* | -aros* \
13090fa2845dSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13100fa2845dSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13110fa2845dSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13120fa2845dSmrg	      | -openbsd* | -solidbsd* \
13130fa2845dSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13140fa2845dSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13150fa2845dSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13160fa2845dSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13177888fd0eSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13180fa2845dSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319ec74af46Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320ec74af46Smrg	      | -linux-newlib* | -linux-uclibc* \
13210fa2845dSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13220fa2845dSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13230fa2845dSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13240fa2845dSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13250fa2845dSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13260fa2845dSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13270fa2845dSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328ec74af46Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13290fa2845dSmrg	# Remember, each alternative MUST END IN *, to match a version number.
13300fa2845dSmrg		;;
13310fa2845dSmrg	-qnx*)
13320fa2845dSmrg		case $basic_machine in
13330fa2845dSmrg		    x86-* | i*86-*)
13340fa2845dSmrg			;;
13350fa2845dSmrg		    *)
13360fa2845dSmrg			os=-nto$os
13370fa2845dSmrg			;;
13380fa2845dSmrg		esac
13390fa2845dSmrg		;;
13400fa2845dSmrg	-nto-qnx*)
13410fa2845dSmrg		;;
13420fa2845dSmrg	-nto*)
13430fa2845dSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13440fa2845dSmrg		;;
13450fa2845dSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13460fa2845dSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13470fa2845dSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13480fa2845dSmrg		;;
13490fa2845dSmrg	-mac*)
13500fa2845dSmrg		os=`echo $os | sed -e 's|mac|macos|'`
13510fa2845dSmrg		;;
13520fa2845dSmrg	-linux-dietlibc)
13530fa2845dSmrg		os=-linux-dietlibc
13540fa2845dSmrg		;;
13550fa2845dSmrg	-linux*)
13560fa2845dSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13570fa2845dSmrg		;;
13580fa2845dSmrg	-sunos5*)
13590fa2845dSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13600fa2845dSmrg		;;
13610fa2845dSmrg	-sunos6*)
13620fa2845dSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13630fa2845dSmrg		;;
13640fa2845dSmrg	-opened*)
13650fa2845dSmrg		os=-openedition
13660fa2845dSmrg		;;
13670fa2845dSmrg        -os400*)
13680fa2845dSmrg		os=-os400
13690fa2845dSmrg		;;
13700fa2845dSmrg	-wince*)
13710fa2845dSmrg		os=-wince
13720fa2845dSmrg		;;
13730fa2845dSmrg	-osfrose*)
13740fa2845dSmrg		os=-osfrose
13750fa2845dSmrg		;;
13760fa2845dSmrg	-osf*)
13770fa2845dSmrg		os=-osf
13780fa2845dSmrg		;;
13790fa2845dSmrg	-utek*)
13800fa2845dSmrg		os=-bsd
13810fa2845dSmrg		;;
13820fa2845dSmrg	-dynix*)
13830fa2845dSmrg		os=-bsd
13840fa2845dSmrg		;;
13850fa2845dSmrg	-acis*)
13860fa2845dSmrg		os=-aos
13870fa2845dSmrg		;;
13880fa2845dSmrg	-atheos*)
13890fa2845dSmrg		os=-atheos
13900fa2845dSmrg		;;
13910fa2845dSmrg	-syllable*)
13920fa2845dSmrg		os=-syllable
13930fa2845dSmrg		;;
13940fa2845dSmrg	-386bsd)
13950fa2845dSmrg		os=-bsd
13960fa2845dSmrg		;;
13970fa2845dSmrg	-ctix* | -uts*)
13980fa2845dSmrg		os=-sysv
13990fa2845dSmrg		;;
14000fa2845dSmrg	-nova*)
14010fa2845dSmrg		os=-rtmk-nova
14020fa2845dSmrg		;;
14030fa2845dSmrg	-ns2 )
14040fa2845dSmrg		os=-nextstep2
14050fa2845dSmrg		;;
14060fa2845dSmrg	-nsk*)
14070fa2845dSmrg		os=-nsk
14080fa2845dSmrg		;;
14090fa2845dSmrg	# Preserve the version number of sinix5.
14100fa2845dSmrg	-sinix5.*)
14110fa2845dSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14120fa2845dSmrg		;;
14130fa2845dSmrg	-sinix*)
14140fa2845dSmrg		os=-sysv4
14150fa2845dSmrg		;;
14160fa2845dSmrg        -tpf*)
14170fa2845dSmrg		os=-tpf
14180fa2845dSmrg		;;
14190fa2845dSmrg	-triton*)
14200fa2845dSmrg		os=-sysv3
14210fa2845dSmrg		;;
14220fa2845dSmrg	-oss*)
14230fa2845dSmrg		os=-sysv3
14240fa2845dSmrg		;;
14250fa2845dSmrg	-svr4)
14260fa2845dSmrg		os=-sysv4
14270fa2845dSmrg		;;
14280fa2845dSmrg	-svr3)
14290fa2845dSmrg		os=-sysv3
14300fa2845dSmrg		;;
14310fa2845dSmrg	-sysvr4)
14320fa2845dSmrg		os=-sysv4
14330fa2845dSmrg		;;
14340fa2845dSmrg	# This must come after -sysvr4.
14350fa2845dSmrg	-sysv*)
14360fa2845dSmrg		;;
14370fa2845dSmrg	-ose*)
14380fa2845dSmrg		os=-ose
14390fa2845dSmrg		;;
14400fa2845dSmrg	-es1800*)
14410fa2845dSmrg		os=-ose
14420fa2845dSmrg		;;
14430fa2845dSmrg	-xenix)
14440fa2845dSmrg		os=-xenix
14450fa2845dSmrg		;;
14460fa2845dSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14470fa2845dSmrg		os=-mint
14480fa2845dSmrg		;;
14490fa2845dSmrg	-aros*)
14500fa2845dSmrg		os=-aros
14510fa2845dSmrg		;;
14520fa2845dSmrg	-kaos*)
14530fa2845dSmrg		os=-kaos
14540fa2845dSmrg		;;
14550fa2845dSmrg	-zvmoe)
14560fa2845dSmrg		os=-zvmoe
14570fa2845dSmrg		;;
14587888fd0eSmrg	-dicos*)
14597888fd0eSmrg		os=-dicos
14607888fd0eSmrg		;;
1461ec74af46Smrg        -nacl*)
1462ec74af46Smrg	        ;;
14630fa2845dSmrg	-none)
14640fa2845dSmrg		;;
14650fa2845dSmrg	*)
14660fa2845dSmrg		# Get rid of the `-' at the beginning of $os.
14670fa2845dSmrg		os=`echo $os | sed 's/[^-]*-//'`
14680fa2845dSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14690fa2845dSmrg		exit 1
14700fa2845dSmrg		;;
14710fa2845dSmrgesac
14720fa2845dSmrgelse
14730fa2845dSmrg
14740fa2845dSmrg# Here we handle the default operating systems that come with various machines.
14750fa2845dSmrg# The value should be what the vendor currently ships out the door with their
14760fa2845dSmrg# machine or put another way, the most popular os provided with the machine.
14770fa2845dSmrg
14780fa2845dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14790fa2845dSmrg# "-sun"), then you have to tell the case statement up towards the top
14800fa2845dSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14810fa2845dSmrg# will signal an error saying that MANUFACTURER isn't an operating
14820fa2845dSmrg# system, and we'll never get to this point.
14830fa2845dSmrg
14840fa2845dSmrgcase $basic_machine in
14850fa2845dSmrg        score-*)
14860fa2845dSmrg		os=-elf
14870fa2845dSmrg		;;
14880fa2845dSmrg        spu-*)
14890fa2845dSmrg		os=-elf
14900fa2845dSmrg		;;
14910fa2845dSmrg	*-acorn)
14920fa2845dSmrg		os=-riscix1.2
14930fa2845dSmrg		;;
14940fa2845dSmrg	arm*-rebel)
14950fa2845dSmrg		os=-linux
14960fa2845dSmrg		;;
14970fa2845dSmrg	arm*-semi)
14980fa2845dSmrg		os=-aout
14990fa2845dSmrg		;;
15000fa2845dSmrg        c4x-* | tic4x-*)
15010fa2845dSmrg        	os=-coff
15020fa2845dSmrg		;;
1503ec74af46Smrg	tic54x-*)
1504ec74af46Smrg		os=-coff
1505ec74af46Smrg		;;
1506ec74af46Smrg	tic55x-*)
1507ec74af46Smrg		os=-coff
1508ec74af46Smrg		;;
1509ec74af46Smrg	tic6x-*)
1510ec74af46Smrg		os=-coff
1511ec74af46Smrg		;;
15120fa2845dSmrg	# This must come before the *-dec entry.
15130fa2845dSmrg	pdp10-*)
15140fa2845dSmrg		os=-tops20
15150fa2845dSmrg		;;
15160fa2845dSmrg	pdp11-*)
15170fa2845dSmrg		os=-none
15180fa2845dSmrg		;;
15190fa2845dSmrg	*-dec | vax-*)
15200fa2845dSmrg		os=-ultrix4.2
15210fa2845dSmrg		;;
15220fa2845dSmrg	m68*-apollo)
15230fa2845dSmrg		os=-domain
15240fa2845dSmrg		;;
15250fa2845dSmrg	i386-sun)
15260fa2845dSmrg		os=-sunos4.0.2
15270fa2845dSmrg		;;
15280fa2845dSmrg	m68000-sun)
15290fa2845dSmrg		os=-sunos3
15300fa2845dSmrg		# This also exists in the configure program, but was not the
15310fa2845dSmrg		# default.
15320fa2845dSmrg		# os=-sunos4
15330fa2845dSmrg		;;
15340fa2845dSmrg	m68*-cisco)
15350fa2845dSmrg		os=-aout
15360fa2845dSmrg		;;
15377888fd0eSmrg        mep-*)
15387888fd0eSmrg		os=-elf
15397888fd0eSmrg		;;
15400fa2845dSmrg	mips*-cisco)
15410fa2845dSmrg		os=-elf
15420fa2845dSmrg		;;
15430fa2845dSmrg	mips*-*)
15440fa2845dSmrg		os=-elf
15450fa2845dSmrg		;;
15460fa2845dSmrg	or32-*)
15470fa2845dSmrg		os=-coff
15480fa2845dSmrg		;;
15490fa2845dSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
15500fa2845dSmrg		os=-sysv3
15510fa2845dSmrg		;;
15520fa2845dSmrg	sparc-* | *-sun)
15530fa2845dSmrg		os=-sunos4.1.1
15540fa2845dSmrg		;;
15550fa2845dSmrg	*-be)
15560fa2845dSmrg		os=-beos
15570fa2845dSmrg		;;
15580fa2845dSmrg	*-haiku)
15590fa2845dSmrg		os=-haiku
15600fa2845dSmrg		;;
15610fa2845dSmrg	*-ibm)
15620fa2845dSmrg		os=-aix
15630fa2845dSmrg		;;
15640fa2845dSmrg    	*-knuth)
15650fa2845dSmrg		os=-mmixware
15660fa2845dSmrg		;;
15670fa2845dSmrg	*-wec)
15680fa2845dSmrg		os=-proelf
15690fa2845dSmrg		;;
15700fa2845dSmrg	*-winbond)
15710fa2845dSmrg		os=-proelf
15720fa2845dSmrg		;;
15730fa2845dSmrg	*-oki)
15740fa2845dSmrg		os=-proelf
15750fa2845dSmrg		;;
15760fa2845dSmrg	*-hp)
15770fa2845dSmrg		os=-hpux
15780fa2845dSmrg		;;
15790fa2845dSmrg	*-hitachi)
15800fa2845dSmrg		os=-hiux
15810fa2845dSmrg		;;
15820fa2845dSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15830fa2845dSmrg		os=-sysv
15840fa2845dSmrg		;;
15850fa2845dSmrg	*-cbm)
15860fa2845dSmrg		os=-amigaos
15870fa2845dSmrg		;;
15880fa2845dSmrg	*-dg)
15890fa2845dSmrg		os=-dgux
15900fa2845dSmrg		;;
15910fa2845dSmrg	*-dolphin)
15920fa2845dSmrg		os=-sysv3
15930fa2845dSmrg		;;
15940fa2845dSmrg	m68k-ccur)
15950fa2845dSmrg		os=-rtu
15960fa2845dSmrg		;;
15970fa2845dSmrg	m88k-omron*)
15980fa2845dSmrg		os=-luna
15990fa2845dSmrg		;;
16000fa2845dSmrg	*-next )
16010fa2845dSmrg		os=-nextstep
16020fa2845dSmrg		;;
16030fa2845dSmrg	*-sequent)
16040fa2845dSmrg		os=-ptx
16050fa2845dSmrg		;;
16060fa2845dSmrg	*-crds)
16070fa2845dSmrg		os=-unos
16080fa2845dSmrg		;;
16090fa2845dSmrg	*-ns)
16100fa2845dSmrg		os=-genix
16110fa2845dSmrg		;;
16120fa2845dSmrg	i370-*)
16130fa2845dSmrg		os=-mvs
16140fa2845dSmrg		;;
16150fa2845dSmrg	*-next)
16160fa2845dSmrg		os=-nextstep3
16170fa2845dSmrg		;;
16180fa2845dSmrg	*-gould)
16190fa2845dSmrg		os=-sysv
16200fa2845dSmrg		;;
16210fa2845dSmrg	*-highlevel)
16220fa2845dSmrg		os=-bsd
16230fa2845dSmrg		;;
16240fa2845dSmrg	*-encore)
16250fa2845dSmrg		os=-bsd
16260fa2845dSmrg		;;
16270fa2845dSmrg	*-sgi)
16280fa2845dSmrg		os=-irix
16290fa2845dSmrg		;;
16300fa2845dSmrg	*-siemens)
16310fa2845dSmrg		os=-sysv4
16320fa2845dSmrg		;;
16330fa2845dSmrg	*-masscomp)
16340fa2845dSmrg		os=-rtu
16350fa2845dSmrg		;;
16360fa2845dSmrg	f30[01]-fujitsu | f700-fujitsu)
16370fa2845dSmrg		os=-uxpv
16380fa2845dSmrg		;;
16390fa2845dSmrg	*-rom68k)
16400fa2845dSmrg		os=-coff
16410fa2845dSmrg		;;
16420fa2845dSmrg	*-*bug)
16430fa2845dSmrg		os=-coff
16440fa2845dSmrg		;;
16450fa2845dSmrg	*-apple)
16460fa2845dSmrg		os=-macos
16470fa2845dSmrg		;;
16480fa2845dSmrg	*-atari*)
16490fa2845dSmrg		os=-mint
16500fa2845dSmrg		;;
16510fa2845dSmrg	*)
16520fa2845dSmrg		os=-none
16530fa2845dSmrg		;;
16540fa2845dSmrgesac
16550fa2845dSmrgfi
16560fa2845dSmrg
16570fa2845dSmrg# Here we handle the case where we know the os, and the CPU type, but not the
16580fa2845dSmrg# manufacturer.  We pick the logical manufacturer.
16590fa2845dSmrgvendor=unknown
16600fa2845dSmrgcase $basic_machine in
16610fa2845dSmrg	*-unknown)
16620fa2845dSmrg		case $os in
16630fa2845dSmrg			-riscix*)
16640fa2845dSmrg				vendor=acorn
16650fa2845dSmrg				;;
16660fa2845dSmrg			-sunos*)
16670fa2845dSmrg				vendor=sun
16680fa2845dSmrg				;;
1669ec74af46Smrg			-cnk*|-aix*)
16700fa2845dSmrg				vendor=ibm
16710fa2845dSmrg				;;
16720fa2845dSmrg			-beos*)
16730fa2845dSmrg				vendor=be
16740fa2845dSmrg				;;
16750fa2845dSmrg			-hpux*)
16760fa2845dSmrg				vendor=hp
16770fa2845dSmrg				;;
16780fa2845dSmrg			-mpeix*)
16790fa2845dSmrg				vendor=hp
16800fa2845dSmrg				;;
16810fa2845dSmrg			-hiux*)
16820fa2845dSmrg				vendor=hitachi
16830fa2845dSmrg				;;
16840fa2845dSmrg			-unos*)
16850fa2845dSmrg				vendor=crds
16860fa2845dSmrg				;;
16870fa2845dSmrg			-dgux*)
16880fa2845dSmrg				vendor=dg
16890fa2845dSmrg				;;
16900fa2845dSmrg			-luna*)
16910fa2845dSmrg				vendor=omron
16920fa2845dSmrg				;;
16930fa2845dSmrg			-genix*)
16940fa2845dSmrg				vendor=ns
16950fa2845dSmrg				;;
16960fa2845dSmrg			-mvs* | -opened*)
16970fa2845dSmrg				vendor=ibm
16980fa2845dSmrg				;;
16990fa2845dSmrg			-os400*)
17000fa2845dSmrg				vendor=ibm
17010fa2845dSmrg				;;
17020fa2845dSmrg			-ptx*)
17030fa2845dSmrg				vendor=sequent
17040fa2845dSmrg				;;
17050fa2845dSmrg			-tpf*)
17060fa2845dSmrg				vendor=ibm
17070fa2845dSmrg				;;
17080fa2845dSmrg			-vxsim* | -vxworks* | -windiss*)
17090fa2845dSmrg				vendor=wrs
17100fa2845dSmrg				;;
17110fa2845dSmrg			-aux*)
17120fa2845dSmrg				vendor=apple
17130fa2845dSmrg				;;
17140fa2845dSmrg			-hms*)
17150fa2845dSmrg				vendor=hitachi
17160fa2845dSmrg				;;
17170fa2845dSmrg			-mpw* | -macos*)
17180fa2845dSmrg				vendor=apple
17190fa2845dSmrg				;;
17200fa2845dSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17210fa2845dSmrg				vendor=atari
17220fa2845dSmrg				;;
17230fa2845dSmrg			-vos*)
17240fa2845dSmrg				vendor=stratus
17250fa2845dSmrg				;;
17260fa2845dSmrg		esac
17270fa2845dSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17280fa2845dSmrg		;;
17290fa2845dSmrgesac
17300fa2845dSmrg
17310fa2845dSmrgecho $basic_machine$os
17320fa2845dSmrgexit
17330fa2845dSmrg
17340fa2845dSmrg# Local variables:
17350fa2845dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17360fa2845dSmrg# time-stamp-start: "timestamp='"
17370fa2845dSmrg# time-stamp-format: "%:y-%02m-%02d"
17380fa2845dSmrg# time-stamp-end: "'"
17390fa2845dSmrg# End:
1740