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