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