config.sub revision e1c0d025
13da084b3Smrg#! /bin/sh
23da084b3Smrg# Configuration validation subroutine script.
3e1c0d025Smrg#   Copyright 1992-2014 Free Software Foundation, Inc.
43da084b3Smrg
5e1c0d025Smrgtimestamp='2014-12-03'
63da084b3Smrg
7e1c0d025Smrg# This file is free software; you can redistribute it and/or modify it
8e1c0d025Smrg# under the terms of the GNU General Public License as published by
9e1c0d025Smrg# the Free Software Foundation; either version 3 of the License, or
103da084b3Smrg# (at your option) any later version.
113da084b3Smrg#
12e1c0d025Smrg# This program is distributed in the hope that it will be useful, but
13e1c0d025Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14e1c0d025Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15e1c0d025Smrg# General Public License for more details.
163da084b3Smrg#
173da084b3Smrg# You should have received a copy of the GNU General Public License
18e1c0d025Smrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
193da084b3Smrg#
203da084b3Smrg# As a special exception to the GNU General Public License, if you
213da084b3Smrg# distribute this file as part of a program that contains a
223da084b3Smrg# configuration script generated by Autoconf, you may include it under
23e1c0d025Smrg# the same distribution terms that you use for the rest of that
24e1c0d025Smrg# program.  This Exception is an additional permission under section 7
25e1c0d025Smrg# of the GNU General Public License, version 3 ("GPLv3").
263da084b3Smrg
273da084b3Smrg
28e1c0d025Smrg# Please send patches to <config-patches@gnu.org>.
293da084b3Smrg#
303da084b3Smrg# Configuration subroutine to validate and canonicalize a configuration type.
313da084b3Smrg# Supply the specified configuration type as an argument.
323da084b3Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
333da084b3Smrg# Otherwise, we print the canonical config type on stdout and succeed.
343da084b3Smrg
3555acc8fcSmrg# You can get the latest version of this script from:
3655acc8fcSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
3755acc8fcSmrg
383da084b3Smrg# This file is supposed to be the same for all GNU packages
393da084b3Smrg# and recognize all the CPU types, system types and aliases
403da084b3Smrg# that are meaningful with *any* GNU software.
413da084b3Smrg# Each package is responsible for reporting which valid configurations
423da084b3Smrg# it does not support.  The user should be able to distinguish
433da084b3Smrg# a failure to support a valid configuration from a meaningless
443da084b3Smrg# configuration.
453da084b3Smrg
463da084b3Smrg# The goal of this file is to map all the various variations of a given
473da084b3Smrg# machine specification into a single specification in the form:
483da084b3Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
493da084b3Smrg# or in some cases, the newer four-part form:
503da084b3Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
513da084b3Smrg# It is wrong to echo any other type of specification.
523da084b3Smrg
533da084b3Smrgme=`echo "$0" | sed -e 's,.*/,,'`
543da084b3Smrg
553da084b3Smrgusage="\
563da084b3SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
573da084b3Smrg       $0 [OPTION] ALIAS
583da084b3Smrg
593da084b3SmrgCanonicalize a configuration name.
603da084b3Smrg
613da084b3SmrgOperation modes:
623da084b3Smrg  -h, --help         print this help, then exit
633da084b3Smrg  -t, --time-stamp   print date of last modification, then exit
643da084b3Smrg  -v, --version      print version number, then exit
653da084b3Smrg
663da084b3SmrgReport bugs and patches to <config-patches@gnu.org>."
673da084b3Smrg
683da084b3Smrgversion="\
693da084b3SmrgGNU config.sub ($timestamp)
703da084b3Smrg
71e1c0d025SmrgCopyright 1992-2014 Free Software Foundation, Inc.
723da084b3Smrg
733da084b3SmrgThis is free software; see the source for copying conditions.  There is NO
743da084b3Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
753da084b3Smrg
763da084b3Smrghelp="
773da084b3SmrgTry \`$me --help' for more information."
783da084b3Smrg
793da084b3Smrg# Parse command line
803da084b3Smrgwhile test $# -gt 0 ; do
813da084b3Smrg  case $1 in
823da084b3Smrg    --time-stamp | --time* | -t )
833da084b3Smrg       echo "$timestamp" ; exit ;;
843da084b3Smrg    --version | -v )
853da084b3Smrg       echo "$version" ; exit ;;
863da084b3Smrg    --help | --h* | -h )
873da084b3Smrg       echo "$usage"; exit ;;
883da084b3Smrg    -- )     # Stop option processing
893da084b3Smrg       shift; break ;;
903da084b3Smrg    - )	# Use stdin as input.
913da084b3Smrg       break ;;
923da084b3Smrg    -* )
933da084b3Smrg       echo "$me: invalid option $1$help"
943da084b3Smrg       exit 1 ;;
953da084b3Smrg
963da084b3Smrg    *local*)
973da084b3Smrg       # First pass through any local machine types.
983da084b3Smrg       echo $1
993da084b3Smrg       exit ;;
1003da084b3Smrg
1013da084b3Smrg    * )
1023da084b3Smrg       break ;;
1033da084b3Smrg  esac
1043da084b3Smrgdone
1053da084b3Smrg
1063da084b3Smrgcase $# in
1073da084b3Smrg 0) echo "$me: missing argument$help" >&2
1083da084b3Smrg    exit 1;;
1093da084b3Smrg 1) ;;
1103da084b3Smrg *) echo "$me: too many arguments$help" >&2
1113da084b3Smrg    exit 1;;
1123da084b3Smrgesac
1133da084b3Smrg
1143da084b3Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1153da084b3Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1163da084b3Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1173da084b3Smrgcase $maybe_os in
11855acc8fcSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119e1c0d025Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12055acc8fcSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
12155acc8fcSmrg  kopensolaris*-gnu* | \
1223da084b3Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1233da084b3Smrg    os=-$maybe_os
1243da084b3Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1253da084b3Smrg    ;;
126e1c0d025Smrg  android-linux)
127e1c0d025Smrg    os=-linux-android
128e1c0d025Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129e1c0d025Smrg    ;;
1303da084b3Smrg  *)
1313da084b3Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1323da084b3Smrg    if [ $basic_machine != $1 ]
1333da084b3Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1343da084b3Smrg    else os=; fi
1353da084b3Smrg    ;;
1363da084b3Smrgesac
1373da084b3Smrg
1383da084b3Smrg### Let's recognize common machines as not being operating systems so
1393da084b3Smrg### that things like config.sub decstation-3100 work.  We also
1403da084b3Smrg### recognize some manufacturers as not being operating systems, so we
1413da084b3Smrg### can provide default operating systems below.
1423da084b3Smrgcase $os in
1433da084b3Smrg	-sun*os*)
1443da084b3Smrg		# Prevent following clause from handling this invalid input.
1453da084b3Smrg		;;
1463da084b3Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1473da084b3Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1483da084b3Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1493da084b3Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1503da084b3Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1513da084b3Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152e1c0d025Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
1533da084b3Smrg		os=
1543da084b3Smrg		basic_machine=$1
1553da084b3Smrg		;;
15648c85eb7Smrg	-bluegene*)
15748c85eb7Smrg		os=-cnk
15855acc8fcSmrg		;;
1593da084b3Smrg	-sim | -cisco | -oki | -wec | -winbond)
1603da084b3Smrg		os=
1613da084b3Smrg		basic_machine=$1
1623da084b3Smrg		;;
1633da084b3Smrg	-scout)
1643da084b3Smrg		;;
1653da084b3Smrg	-wrs)
1663da084b3Smrg		os=-vxworks
1673da084b3Smrg		basic_machine=$1
1683da084b3Smrg		;;
1693da084b3Smrg	-chorusos*)
1703da084b3Smrg		os=-chorusos
1713da084b3Smrg		basic_machine=$1
1723da084b3Smrg		;;
17348c85eb7Smrg	-chorusrdb)
17448c85eb7Smrg		os=-chorusrdb
1753da084b3Smrg		basic_machine=$1
17648c85eb7Smrg		;;
1773da084b3Smrg	-hiux*)
1783da084b3Smrg		os=-hiuxwe2
1793da084b3Smrg		;;
1803da084b3Smrg	-sco6)
1813da084b3Smrg		os=-sco5v6
1823da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1833da084b3Smrg		;;
1843da084b3Smrg	-sco5)
1853da084b3Smrg		os=-sco3.2v5
1863da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1873da084b3Smrg		;;
1883da084b3Smrg	-sco4)
1893da084b3Smrg		os=-sco3.2v4
1903da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1913da084b3Smrg		;;
1923da084b3Smrg	-sco3.2.[4-9]*)
1933da084b3Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1943da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1953da084b3Smrg		;;
1963da084b3Smrg	-sco3.2v[4-9]*)
1973da084b3Smrg		# Don't forget version if it is 3.2v4 or newer.
1983da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1993da084b3Smrg		;;
2003da084b3Smrg	-sco5v6*)
2013da084b3Smrg		# Don't forget version if it is 3.2v4 or newer.
2023da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2033da084b3Smrg		;;
2043da084b3Smrg	-sco*)
2053da084b3Smrg		os=-sco3.2v2
2063da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2073da084b3Smrg		;;
2083da084b3Smrg	-udk*)
2093da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2103da084b3Smrg		;;
2113da084b3Smrg	-isc)
2123da084b3Smrg		os=-isc2.2
2133da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2143da084b3Smrg		;;
2153da084b3Smrg	-clix*)
2163da084b3Smrg		basic_machine=clipper-intergraph
2173da084b3Smrg		;;
2183da084b3Smrg	-isc*)
2193da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2203da084b3Smrg		;;
221e1c0d025Smrg	-lynx*178)
222e1c0d025Smrg		os=-lynxos178
223e1c0d025Smrg		;;
224e1c0d025Smrg	-lynx*5)
225e1c0d025Smrg		os=-lynxos5
226e1c0d025Smrg		;;
2273da084b3Smrg	-lynx*)
2283da084b3Smrg		os=-lynxos
2293da084b3Smrg		;;
2303da084b3Smrg	-ptx*)
2313da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2323da084b3Smrg		;;
2333da084b3Smrg	-windowsnt*)
2343da084b3Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2353da084b3Smrg		;;
2363da084b3Smrg	-psos*)
2373da084b3Smrg		os=-psos
2383da084b3Smrg		;;
2393da084b3Smrg	-mint | -mint[0-9]*)
2403da084b3Smrg		basic_machine=m68k-atari
2413da084b3Smrg		os=-mint
2423da084b3Smrg		;;
2433da084b3Smrgesac
2443da084b3Smrg
2453da084b3Smrg# Decode aliases for certain CPU-COMPANY combinations.
2463da084b3Smrgcase $basic_machine in
2473da084b3Smrg	# Recognize the basic CPU types without company name.
2483da084b3Smrg	# Some are omitted here because they have special meanings below.
2493da084b3Smrg	1750a | 580 \
2503da084b3Smrg	| a29k \
251e1c0d025Smrg	| aarch64 | aarch64_be \
2523da084b3Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2533da084b3Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2543da084b3Smrg	| am33_2.0 \
255e1c0d025Smrg	| arc | arceb \
256e1c0d025Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257e1c0d025Smrg	| avr | avr32 \
258e1c0d025Smrg	| be32 | be64 \
2593da084b3Smrg	| bfin \
260e1c0d025Smrg	| c4x | c8051 | clipper \
2613da084b3Smrg	| d10v | d30v | dlx | dsp16xx \
26248c85eb7Smrg	| epiphany \
263d63fdb69Smrg	| fido | fr30 | frv \
2643da084b3Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26548c85eb7Smrg	| hexagon \
2663da084b3Smrg	| i370 | i860 | i960 | ia64 \
2673da084b3Smrg	| ip2k | iq2000 \
268e1c0d025Smrg	| k1om \
26948c85eb7Smrg	| le32 | le64 \
27055acc8fcSmrg	| lm32 \
271d63fdb69Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
272e1c0d025Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2733da084b3Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2743da084b3Smrg	| mips16 \
2753da084b3Smrg	| mips64 | mips64el \
27655acc8fcSmrg	| mips64octeon | mips64octeonel \
2773da084b3Smrg	| mips64orion | mips64orionel \
27855acc8fcSmrg	| mips64r5900 | mips64r5900el \
27955acc8fcSmrg	| mips64vr | mips64vrel \
2803da084b3Smrg	| mips64vr4100 | mips64vr4100el \
2813da084b3Smrg	| mips64vr4300 | mips64vr4300el \
2823da084b3Smrg	| mips64vr5000 | mips64vr5000el \
2833da084b3Smrg	| mips64vr5900 | mips64vr5900el \
2843da084b3Smrg	| mipsisa32 | mipsisa32el \
2853da084b3Smrg	| mipsisa32r2 | mipsisa32r2el \
286e1c0d025Smrg	| mipsisa32r6 | mipsisa32r6el \
2873da084b3Smrg	| mipsisa64 | mipsisa64el \
2883da084b3Smrg	| mipsisa64r2 | mipsisa64r2el \
289e1c0d025Smrg	| mipsisa64r6 | mipsisa64r6el \
2903da084b3Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2913da084b3Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
292e1c0d025Smrg	| mipsr5900 | mipsr5900el \
2933da084b3Smrg	| mipstx39 | mipstx39el \
2943da084b3Smrg	| mn10200 | mn10300 \
29555acc8fcSmrg	| moxie \
2963da084b3Smrg	| mt \
2973da084b3Smrg	| msp430 \
29855acc8fcSmrg	| nds32 | nds32le | nds32be \
299e1c0d025Smrg	| nios | nios2 | nios2eb | nios2el \
3003da084b3Smrg	| ns16k | ns32k \
301e1c0d025Smrg	| open8 | or1k | or1knd | or32 \
3023da084b3Smrg	| pdp10 | pdp11 | pj | pjl \
30348c85eb7Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3043da084b3Smrg	| pyramid \
305e1c0d025Smrg	| riscv32 | riscv64 \
30648c85eb7Smrg	| rl78 | rx \
307d63fdb69Smrg	| score \
30855acc8fcSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3093da084b3Smrg	| sh64 | sh64le \
310d63fdb69Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
311d63fdb69Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
31248c85eb7Smrg	| spu \
31348c85eb7Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
31455acc8fcSmrg	| ubicom32 \
31548c85eb7Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
316e1c0d025Smrg	| visium \
3173da084b3Smrg	| we32k \
31848c85eb7Smrg	| x86 | xc16x | xstormy16 | xtensa \
31955acc8fcSmrg	| z8k | z80)
3203da084b3Smrg		basic_machine=$basic_machine-unknown
3213da084b3Smrg		;;
32255acc8fcSmrg	c54x)
32355acc8fcSmrg		basic_machine=tic54x-unknown
32455acc8fcSmrg		;;
32555acc8fcSmrg	c55x)
32655acc8fcSmrg		basic_machine=tic55x-unknown
32755acc8fcSmrg		;;
32855acc8fcSmrg	c6x)
32955acc8fcSmrg		basic_machine=tic6x-unknown
33055acc8fcSmrg		;;
331e1c0d025Smrg	leon|leon[3-9])
332e1c0d025Smrg		basic_machine=sparc-$basic_machine
333e1c0d025Smrg		;;
334e1c0d025Smrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
3353da084b3Smrg		basic_machine=$basic_machine-unknown
3363da084b3Smrg		os=-none
3373da084b3Smrg		;;
3383da084b3Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3393da084b3Smrg		;;
3403da084b3Smrg	ms1)
3413da084b3Smrg		basic_machine=mt-unknown
3423da084b3Smrg		;;
3433da084b3Smrg
34448c85eb7Smrg	strongarm | thumb | xscale)
34548c85eb7Smrg		basic_machine=arm-unknown
34648c85eb7Smrg		;;
347e1c0d025Smrg	xgate)
348e1c0d025Smrg		basic_machine=$basic_machine-unknown
349e1c0d025Smrg		os=-none
350e1c0d025Smrg		;;
35148c85eb7Smrg	xscaleeb)
35248c85eb7Smrg		basic_machine=armeb-unknown
35348c85eb7Smrg		;;
35448c85eb7Smrg
35548c85eb7Smrg	xscaleel)
35648c85eb7Smrg		basic_machine=armel-unknown
35748c85eb7Smrg		;;
35848c85eb7Smrg
3593da084b3Smrg	# We use `pc' rather than `unknown'
3603da084b3Smrg	# because (1) that's what they normally are, and
3613da084b3Smrg	# (2) the word "unknown" tends to confuse beginning users.
3623da084b3Smrg	i*86 | x86_64)
3633da084b3Smrg	  basic_machine=$basic_machine-pc
3643da084b3Smrg	  ;;
3653da084b3Smrg	# Object if more than one company name word.
3663da084b3Smrg	*-*-*)
3673da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3683da084b3Smrg		exit 1
3693da084b3Smrg		;;
3703da084b3Smrg	# Recognize the basic CPU types with company name.
3713da084b3Smrg	580-* \
3723da084b3Smrg	| a29k-* \
373e1c0d025Smrg	| aarch64-* | aarch64_be-* \
3743da084b3Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3753da084b3Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
376e1c0d025Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3773da084b3Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
378d63fdb69Smrg	| avr-* | avr32-* \
37948c85eb7Smrg	| be32-* | be64-* \
3803da084b3Smrg	| bfin-* | bs2000-* \
38155acc8fcSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
382e1c0d025Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
3833da084b3Smrg	| d10v-* | d30v-* | dlx-* \
3843da084b3Smrg	| elxsi-* \
385d63fdb69Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3863da084b3Smrg	| h8300-* | h8500-* \
3873da084b3Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
38848c85eb7Smrg	| hexagon-* \
3893da084b3Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3903da084b3Smrg	| ip2k-* | iq2000-* \
391e1c0d025Smrg	| k1om-* \
39248c85eb7Smrg	| le32-* | le64-* \
39355acc8fcSmrg	| lm32-* \
394d63fdb69Smrg	| m32c-* | m32r-* | m32rle-* \
3953da084b3Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
396e1c0d025Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
397e1c0d025Smrg	| microblaze-* | microblazeel-* \
3983da084b3Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3993da084b3Smrg	| mips16-* \
4003da084b3Smrg	| mips64-* | mips64el-* \
40155acc8fcSmrg	| mips64octeon-* | mips64octeonel-* \
4023da084b3Smrg	| mips64orion-* | mips64orionel-* \
40355acc8fcSmrg	| mips64r5900-* | mips64r5900el-* \
40455acc8fcSmrg	| mips64vr-* | mips64vrel-* \
4053da084b3Smrg	| mips64vr4100-* | mips64vr4100el-* \
4063da084b3Smrg	| mips64vr4300-* | mips64vr4300el-* \
4073da084b3Smrg	| mips64vr5000-* | mips64vr5000el-* \
4083da084b3Smrg	| mips64vr5900-* | mips64vr5900el-* \
4093da084b3Smrg	| mipsisa32-* | mipsisa32el-* \
4103da084b3Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
411e1c0d025Smrg	| mipsisa32r6-* | mipsisa32r6el-* \
4123da084b3Smrg	| mipsisa64-* | mipsisa64el-* \
4133da084b3Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
414e1c0d025Smrg	| mipsisa64r6-* | mipsisa64r6el-* \
4153da084b3Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4163da084b3Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
417e1c0d025Smrg	| mipsr5900-* | mipsr5900el-* \
4183da084b3Smrg	| mipstx39-* | mipstx39el-* \
4193da084b3Smrg	| mmix-* \
4203da084b3Smrg	| mt-* \
4213da084b3Smrg	| msp430-* \
42255acc8fcSmrg	| nds32-* | nds32le-* | nds32be-* \
423e1c0d025Smrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
4243da084b3Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
42548c85eb7Smrg	| open8-* \
426e1c0d025Smrg	| or1k*-* \
4273da084b3Smrg	| orion-* \
4283da084b3Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
42948c85eb7Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4303da084b3Smrg	| pyramid-* \
43148c85eb7Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
43255acc8fcSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4333da084b3Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
434d63fdb69Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4353da084b3Smrg	| sparclite-* \
43648c85eb7Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
43748c85eb7Smrg	| tahoe-* \
4383da084b3Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
43948c85eb7Smrg	| tile*-* \
4403da084b3Smrg	| tron-* \
44155acc8fcSmrg	| ubicom32-* \
44248c85eb7Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
44348c85eb7Smrg	| vax-* \
444e1c0d025Smrg	| visium-* \
4453da084b3Smrg	| we32k-* \
44648c85eb7Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
447d63fdb69Smrg	| xstormy16-* | xtensa*-* \
4483da084b3Smrg	| ymp-* \
44955acc8fcSmrg	| z8k-* | z80-*)
4503da084b3Smrg		;;
451d63fdb69Smrg	# Recognize the basic CPU types without company name, with glob match.
452d63fdb69Smrg	xtensa*)
453d63fdb69Smrg		basic_machine=$basic_machine-unknown
4543da084b3Smrg		;;
4553da084b3Smrg	# Recognize the various machine names and aliases which stand
4563da084b3Smrg	# for a CPU type and a company and sometimes even an OS.
4573da084b3Smrg	386bsd)
4583da084b3Smrg		basic_machine=i386-unknown
4593da084b3Smrg		os=-bsd
4603da084b3Smrg		;;
4613da084b3Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4623da084b3Smrg		basic_machine=m68000-att
4633da084b3Smrg		;;
4643da084b3Smrg	3b*)
4653da084b3Smrg		basic_machine=we32k-att
4663da084b3Smrg		;;
4673da084b3Smrg	a29khif)
4683da084b3Smrg		basic_machine=a29k-amd
4693da084b3Smrg		os=-udi
4703da084b3Smrg		;;
47148c85eb7Smrg	abacus)
4723da084b3Smrg		basic_machine=abacus-unknown
4733da084b3Smrg		;;
4743da084b3Smrg	adobe68k)
4753da084b3Smrg		basic_machine=m68010-adobe
4763da084b3Smrg		os=-scout
4773da084b3Smrg		;;
4783da084b3Smrg	alliant | fx80)
4793da084b3Smrg		basic_machine=fx80-alliant
4803da084b3Smrg		;;
4813da084b3Smrg	altos | altos3068)
4823da084b3Smrg		basic_machine=m68k-altos
4833da084b3Smrg		;;
4843da084b3Smrg	am29k)
4853da084b3Smrg		basic_machine=a29k-none
4863da084b3Smrg		os=-bsd
4873da084b3Smrg		;;
4883da084b3Smrg	amd64)
4893da084b3Smrg		basic_machine=x86_64-pc
4903da084b3Smrg		;;
4913da084b3Smrg	amd64-*)
4923da084b3Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4933da084b3Smrg		;;
4943da084b3Smrg	amdahl)
4953da084b3Smrg		basic_machine=580-amdahl
4963da084b3Smrg		os=-sysv
4973da084b3Smrg		;;
4983da084b3Smrg	amiga | amiga-*)
4993da084b3Smrg		basic_machine=m68k-unknown
5003da084b3Smrg		;;
5013da084b3Smrg	amigaos | amigados)
5023da084b3Smrg		basic_machine=m68k-unknown
5033da084b3Smrg		os=-amigaos
5043da084b3Smrg		;;
5053da084b3Smrg	amigaunix | amix)
5063da084b3Smrg		basic_machine=m68k-unknown
5073da084b3Smrg		os=-sysv4
5083da084b3Smrg		;;
5093da084b3Smrg	apollo68)
5103da084b3Smrg		basic_machine=m68k-apollo
5113da084b3Smrg		os=-sysv
5123da084b3Smrg		;;
5133da084b3Smrg	apollo68bsd)
5143da084b3Smrg		basic_machine=m68k-apollo
5153da084b3Smrg		os=-bsd
5163da084b3Smrg		;;
51755acc8fcSmrg	aros)
51855acc8fcSmrg		basic_machine=i386-pc
51955acc8fcSmrg		os=-aros
52055acc8fcSmrg		;;
5213da084b3Smrg	aux)
5223da084b3Smrg		basic_machine=m68k-apple
5233da084b3Smrg		os=-aux
5243da084b3Smrg		;;
5253da084b3Smrg	balance)
5263da084b3Smrg		basic_machine=ns32k-sequent
5273da084b3Smrg		os=-dynix
5283da084b3Smrg		;;
529d63fdb69Smrg	blackfin)
530d63fdb69Smrg		basic_machine=bfin-unknown
531d63fdb69Smrg		os=-linux
532d63fdb69Smrg		;;
533d63fdb69Smrg	blackfin-*)
534d63fdb69Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
535d63fdb69Smrg		os=-linux
536d63fdb69Smrg		;;
53755acc8fcSmrg	bluegene*)
53855acc8fcSmrg		basic_machine=powerpc-ibm
53955acc8fcSmrg		os=-cnk
54055acc8fcSmrg		;;
54155acc8fcSmrg	c54x-*)
54255acc8fcSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
54355acc8fcSmrg		;;
54455acc8fcSmrg	c55x-*)
54555acc8fcSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
54655acc8fcSmrg		;;
54755acc8fcSmrg	c6x-*)
54855acc8fcSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
54955acc8fcSmrg		;;
5503da084b3Smrg	c90)
5513da084b3Smrg		basic_machine=c90-cray
5523da084b3Smrg		os=-unicos
5533da084b3Smrg		;;
55448c85eb7Smrg	cegcc)
55555acc8fcSmrg		basic_machine=arm-unknown
55655acc8fcSmrg		os=-cegcc
55755acc8fcSmrg		;;
5583da084b3Smrg	convex-c1)
5593da084b3Smrg		basic_machine=c1-convex
5603da084b3Smrg		os=-bsd
5613da084b3Smrg		;;
5623da084b3Smrg	convex-c2)
5633da084b3Smrg		basic_machine=c2-convex
5643da084b3Smrg		os=-bsd
5653da084b3Smrg		;;
5663da084b3Smrg	convex-c32)
5673da084b3Smrg		basic_machine=c32-convex
5683da084b3Smrg		os=-bsd
5693da084b3Smrg		;;
5703da084b3Smrg	convex-c34)
5713da084b3Smrg		basic_machine=c34-convex
5723da084b3Smrg		os=-bsd
5733da084b3Smrg		;;
5743da084b3Smrg	convex-c38)
5753da084b3Smrg		basic_machine=c38-convex
5763da084b3Smrg		os=-bsd
5773da084b3Smrg		;;
5783da084b3Smrg	cray | j90)
5793da084b3Smrg		basic_machine=j90-cray
5803da084b3Smrg		os=-unicos
5813da084b3Smrg		;;
5823da084b3Smrg	craynv)
5833da084b3Smrg		basic_machine=craynv-cray
5843da084b3Smrg		os=-unicosmp
5853da084b3Smrg		;;
58648c85eb7Smrg	cr16 | cr16-*)
587d63fdb69Smrg		basic_machine=cr16-unknown
5883da084b3Smrg		os=-elf
5893da084b3Smrg		;;
5903da084b3Smrg	crds | unos)
5913da084b3Smrg		basic_machine=m68k-crds
5923da084b3Smrg		;;
5933da084b3Smrg	crisv32 | crisv32-* | etraxfs*)
5943da084b3Smrg		basic_machine=crisv32-axis
5953da084b3Smrg		;;
5963da084b3Smrg	cris | cris-* | etrax*)
5973da084b3Smrg		basic_machine=cris-axis
5983da084b3Smrg		;;
5993da084b3Smrg	crx)
6003da084b3Smrg		basic_machine=crx-unknown
6013da084b3Smrg		os=-elf
6023da084b3Smrg		;;
6033da084b3Smrg	da30 | da30-*)
6043da084b3Smrg		basic_machine=m68k-da30
6053da084b3Smrg		;;
6063da084b3Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
6073da084b3Smrg		basic_machine=mips-dec
6083da084b3Smrg		;;
6093da084b3Smrg	decsystem10* | dec10*)
6103da084b3Smrg		basic_machine=pdp10-dec
6113da084b3Smrg		os=-tops10
6123da084b3Smrg		;;
6133da084b3Smrg	decsystem20* | dec20*)
6143da084b3Smrg		basic_machine=pdp10-dec
6153da084b3Smrg		os=-tops20
6163da084b3Smrg		;;
6173da084b3Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6183da084b3Smrg	      | 3300-motorola | delta-motorola)
6193da084b3Smrg		basic_machine=m68k-motorola
6203da084b3Smrg		;;
6213da084b3Smrg	delta88)
6223da084b3Smrg		basic_machine=m88k-motorola
6233da084b3Smrg		os=-sysv3
6243da084b3Smrg		;;
62555acc8fcSmrg	dicos)
62655acc8fcSmrg		basic_machine=i686-pc
62755acc8fcSmrg		os=-dicos
62855acc8fcSmrg		;;
6293da084b3Smrg	djgpp)
6303da084b3Smrg		basic_machine=i586-pc
6313da084b3Smrg		os=-msdosdjgpp
6323da084b3Smrg		;;
6333da084b3Smrg	dpx20 | dpx20-*)
6343da084b3Smrg		basic_machine=rs6000-bull
6353da084b3Smrg		os=-bosx
6363da084b3Smrg		;;
6373da084b3Smrg	dpx2* | dpx2*-bull)
6383da084b3Smrg		basic_machine=m68k-bull
6393da084b3Smrg		os=-sysv3
6403da084b3Smrg		;;
6413da084b3Smrg	ebmon29k)
6423da084b3Smrg		basic_machine=a29k-amd
6433da084b3Smrg		os=-ebmon
6443da084b3Smrg		;;
6453da084b3Smrg	elxsi)
6463da084b3Smrg		basic_machine=elxsi-elxsi
6473da084b3Smrg		os=-bsd
6483da084b3Smrg		;;
6493da084b3Smrg	encore | umax | mmax)
6503da084b3Smrg		basic_machine=ns32k-encore
6513da084b3Smrg		;;
6523da084b3Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6533da084b3Smrg		basic_machine=m68k-ericsson
6543da084b3Smrg		os=-ose
6553da084b3Smrg		;;
6563da084b3Smrg	fx2800)
6573da084b3Smrg		basic_machine=i860-alliant
6583da084b3Smrg		;;
6593da084b3Smrg	genix)
6603da084b3Smrg		basic_machine=ns32k-ns
6613da084b3Smrg		;;
6623da084b3Smrg	gmicro)
6633da084b3Smrg		basic_machine=tron-gmicro
6643da084b3Smrg		os=-sysv
6653da084b3Smrg		;;
6663da084b3Smrg	go32)
6673da084b3Smrg		basic_machine=i386-pc
6683da084b3Smrg		os=-go32
6693da084b3Smrg		;;
6703da084b3Smrg	h3050r* | hiux*)
6713da084b3Smrg		basic_machine=hppa1.1-hitachi
6723da084b3Smrg		os=-hiuxwe2
6733da084b3Smrg		;;
6743da084b3Smrg	h8300hms)
6753da084b3Smrg		basic_machine=h8300-hitachi
6763da084b3Smrg		os=-hms
6773da084b3Smrg		;;
6783da084b3Smrg	h8300xray)
6793da084b3Smrg		basic_machine=h8300-hitachi
6803da084b3Smrg		os=-xray
6813da084b3Smrg		;;
6823da084b3Smrg	h8500hms)
6833da084b3Smrg		basic_machine=h8500-hitachi
6843da084b3Smrg		os=-hms
6853da084b3Smrg		;;
6863da084b3Smrg	harris)
6873da084b3Smrg		basic_machine=m88k-harris
6883da084b3Smrg		os=-sysv3
6893da084b3Smrg		;;
6903da084b3Smrg	hp300-*)
6913da084b3Smrg		basic_machine=m68k-hp
6923da084b3Smrg		;;
6933da084b3Smrg	hp300bsd)
6943da084b3Smrg		basic_machine=m68k-hp
6953da084b3Smrg		os=-bsd
6963da084b3Smrg		;;
6973da084b3Smrg	hp300hpux)
6983da084b3Smrg		basic_machine=m68k-hp
6993da084b3Smrg		os=-hpux
7003da084b3Smrg		;;
7013da084b3Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
7023da084b3Smrg		basic_machine=hppa1.0-hp
7033da084b3Smrg		;;
7043da084b3Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
7053da084b3Smrg		basic_machine=m68000-hp
7063da084b3Smrg		;;
7073da084b3Smrg	hp9k3[2-9][0-9])
7083da084b3Smrg		basic_machine=m68k-hp
7093da084b3Smrg		;;
7103da084b3Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7113da084b3Smrg		basic_machine=hppa1.0-hp
7123da084b3Smrg		;;
7133da084b3Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7143da084b3Smrg		basic_machine=hppa1.1-hp
7153da084b3Smrg		;;
7163da084b3Smrg	hp9k78[0-9] | hp78[0-9])
7173da084b3Smrg		# FIXME: really hppa2.0-hp
7183da084b3Smrg		basic_machine=hppa1.1-hp
7193da084b3Smrg		;;
7203da084b3Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7213da084b3Smrg		# FIXME: really hppa2.0-hp
7223da084b3Smrg		basic_machine=hppa1.1-hp
7233da084b3Smrg		;;
7243da084b3Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7253da084b3Smrg		basic_machine=hppa1.1-hp
7263da084b3Smrg		;;
7273da084b3Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7283da084b3Smrg		basic_machine=hppa1.0-hp
7293da084b3Smrg		;;
7303da084b3Smrg	hppa-next)
7313da084b3Smrg		os=-nextstep3
7323da084b3Smrg		;;
7333da084b3Smrg	hppaosf)
7343da084b3Smrg		basic_machine=hppa1.1-hp
7353da084b3Smrg		os=-osf
7363da084b3Smrg		;;
7373da084b3Smrg	hppro)
7383da084b3Smrg		basic_machine=hppa1.1-hp
7393da084b3Smrg		os=-proelf
7403da084b3Smrg		;;
7413da084b3Smrg	i370-ibm* | ibm*)
7423da084b3Smrg		basic_machine=i370-ibm
7433da084b3Smrg		;;
7443da084b3Smrg	i*86v32)
7453da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7463da084b3Smrg		os=-sysv32
7473da084b3Smrg		;;
7483da084b3Smrg	i*86v4*)
7493da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7503da084b3Smrg		os=-sysv4
7513da084b3Smrg		;;
7523da084b3Smrg	i*86v)
7533da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7543da084b3Smrg		os=-sysv
7553da084b3Smrg		;;
7563da084b3Smrg	i*86sol2)
7573da084b3Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7583da084b3Smrg		os=-solaris2
7593da084b3Smrg		;;
7603da084b3Smrg	i386mach)
7613da084b3Smrg		basic_machine=i386-mach
7623da084b3Smrg		os=-mach
7633da084b3Smrg		;;
7643da084b3Smrg	i386-vsta | vsta)
7653da084b3Smrg		basic_machine=i386-unknown
7663da084b3Smrg		os=-vsta
7673da084b3Smrg		;;
7683da084b3Smrg	iris | iris4d)
7693da084b3Smrg		basic_machine=mips-sgi
7703da084b3Smrg		case $os in
7713da084b3Smrg		    -irix*)
7723da084b3Smrg			;;
7733da084b3Smrg		    *)
7743da084b3Smrg			os=-irix4
7753da084b3Smrg			;;
7763da084b3Smrg		esac
7773da084b3Smrg		;;
7783da084b3Smrg	isi68 | isi)
7793da084b3Smrg		basic_machine=m68k-isi
7803da084b3Smrg		os=-sysv
7813da084b3Smrg		;;
782e1c0d025Smrg	leon-*|leon[3-9]-*)
783e1c0d025Smrg		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
784e1c0d025Smrg		;;
785d63fdb69Smrg	m68knommu)
786d63fdb69Smrg		basic_machine=m68k-unknown
787d63fdb69Smrg		os=-linux
788d63fdb69Smrg		;;
789d63fdb69Smrg	m68knommu-*)
790d63fdb69Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
791d63fdb69Smrg		os=-linux
792d63fdb69Smrg		;;
7933da084b3Smrg	m88k-omron*)
7943da084b3Smrg		basic_machine=m88k-omron
7953da084b3Smrg		;;
7963da084b3Smrg	magnum | m3230)
7973da084b3Smrg		basic_machine=mips-mips
7983da084b3Smrg		os=-sysv
7993da084b3Smrg		;;
8003da084b3Smrg	merlin)
8013da084b3Smrg		basic_machine=ns32k-utek
8023da084b3Smrg		os=-sysv
8033da084b3Smrg		;;
804e1c0d025Smrg	microblaze*)
80555acc8fcSmrg		basic_machine=microblaze-xilinx
80655acc8fcSmrg		;;
807e1c0d025Smrg	mingw64)
808e1c0d025Smrg		basic_machine=x86_64-pc
809e1c0d025Smrg		os=-mingw64
810e1c0d025Smrg		;;
8113da084b3Smrg	mingw32)
812e1c0d025Smrg		basic_machine=i686-pc
8133da084b3Smrg		os=-mingw32
8143da084b3Smrg		;;
815d63fdb69Smrg	mingw32ce)
816d63fdb69Smrg		basic_machine=arm-unknown
817d63fdb69Smrg		os=-mingw32ce
818d63fdb69Smrg		;;
8193da084b3Smrg	miniframe)
8203da084b3Smrg		basic_machine=m68000-convergent
8213da084b3Smrg		;;
8223da084b3Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8233da084b3Smrg		basic_machine=m68k-atari
8243da084b3Smrg		os=-mint
8253da084b3Smrg		;;
8263da084b3Smrg	mips3*-*)
8273da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8283da084b3Smrg		;;
8293da084b3Smrg	mips3*)
8303da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8313da084b3Smrg		;;
8323da084b3Smrg	monitor)
8333da084b3Smrg		basic_machine=m68k-rom68k
8343da084b3Smrg		os=-coff
8353da084b3Smrg		;;
8363da084b3Smrg	morphos)
8373da084b3Smrg		basic_machine=powerpc-unknown
8383da084b3Smrg		os=-morphos
8393da084b3Smrg		;;
840e1c0d025Smrg	moxiebox)
841e1c0d025Smrg		basic_machine=moxie-unknown
842e1c0d025Smrg		os=-moxiebox
843e1c0d025Smrg		;;
8443da084b3Smrg	msdos)
8453da084b3Smrg		basic_machine=i386-pc
8463da084b3Smrg		os=-msdos
8473da084b3Smrg		;;
8483da084b3Smrg	ms1-*)
8493da084b3Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8503da084b3Smrg		;;
85148c85eb7Smrg	msys)
852e1c0d025Smrg		basic_machine=i686-pc
85348c85eb7Smrg		os=-msys
85448c85eb7Smrg		;;
8553da084b3Smrg	mvs)
8563da084b3Smrg		basic_machine=i370-ibm
8573da084b3Smrg		os=-mvs
8583da084b3Smrg		;;
85948c85eb7Smrg	nacl)
86048c85eb7Smrg		basic_machine=le32-unknown
86148c85eb7Smrg		os=-nacl
86248c85eb7Smrg		;;
8633da084b3Smrg	ncr3000)
8643da084b3Smrg		basic_machine=i486-ncr
8653da084b3Smrg		os=-sysv4
8663da084b3Smrg		;;
8673da084b3Smrg	netbsd386)
8683da084b3Smrg		basic_machine=i386-unknown
8693da084b3Smrg		os=-netbsd
8703da084b3Smrg		;;
8713da084b3Smrg	netwinder)
8723da084b3Smrg		basic_machine=armv4l-rebel
8733da084b3Smrg		os=-linux
8743da084b3Smrg		;;
8753da084b3Smrg	news | news700 | news800 | news900)
8763da084b3Smrg		basic_machine=m68k-sony
8773da084b3Smrg		os=-newsos
8783da084b3Smrg		;;
8793da084b3Smrg	news1000)
8803da084b3Smrg		basic_machine=m68030-sony
8813da084b3Smrg		os=-newsos
8823da084b3Smrg		;;
8833da084b3Smrg	news-3600 | risc-news)
8843da084b3Smrg		basic_machine=mips-sony
8853da084b3Smrg		os=-newsos
8863da084b3Smrg		;;
8873da084b3Smrg	necv70)
8883da084b3Smrg		basic_machine=v70-nec
8893da084b3Smrg		os=-sysv
8903da084b3Smrg		;;
8913da084b3Smrg	next | m*-next )
8923da084b3Smrg		basic_machine=m68k-next
8933da084b3Smrg		case $os in
8943da084b3Smrg		    -nextstep* )
8953da084b3Smrg			;;
8963da084b3Smrg		    -ns2*)
8973da084b3Smrg		      os=-nextstep2
8983da084b3Smrg			;;
8993da084b3Smrg		    *)
9003da084b3Smrg		      os=-nextstep3
9013da084b3Smrg			;;
9023da084b3Smrg		esac
9033da084b3Smrg		;;
9043da084b3Smrg	nh3000)
9053da084b3Smrg		basic_machine=m68k-harris
9063da084b3Smrg		os=-cxux
9073da084b3Smrg		;;
9083da084b3Smrg	nh[45]000)
9093da084b3Smrg		basic_machine=m88k-harris
9103da084b3Smrg		os=-cxux
9113da084b3Smrg		;;
9123da084b3Smrg	nindy960)
9133da084b3Smrg		basic_machine=i960-intel
9143da084b3Smrg		os=-nindy
9153da084b3Smrg		;;
9163da084b3Smrg	mon960)
9173da084b3Smrg		basic_machine=i960-intel
9183da084b3Smrg		os=-mon960
9193da084b3Smrg		;;
9203da084b3Smrg	nonstopux)
9213da084b3Smrg		basic_machine=mips-compaq
9223da084b3Smrg		os=-nonstopux
9233da084b3Smrg		;;
9243da084b3Smrg	np1)
9253da084b3Smrg		basic_machine=np1-gould
9263da084b3Smrg		;;
92748c85eb7Smrg	neo-tandem)
92855acc8fcSmrg		basic_machine=neo-tandem
92955acc8fcSmrg		;;
93048c85eb7Smrg	nse-tandem)
93155acc8fcSmrg		basic_machine=nse-tandem
93255acc8fcSmrg		;;
9333da084b3Smrg	nsr-tandem)
9343da084b3Smrg		basic_machine=nsr-tandem
9353da084b3Smrg		;;
9363da084b3Smrg	op50n-* | op60c-*)
9373da084b3Smrg		basic_machine=hppa1.1-oki
9383da084b3Smrg		os=-proelf
9393da084b3Smrg		;;
9403da084b3Smrg	openrisc | openrisc-*)
9413da084b3Smrg		basic_machine=or32-unknown
9423da084b3Smrg		;;
9433da084b3Smrg	os400)
9443da084b3Smrg		basic_machine=powerpc-ibm
9453da084b3Smrg		os=-os400
9463da084b3Smrg		;;
9473da084b3Smrg	OSE68000 | ose68000)
9483da084b3Smrg		basic_machine=m68000-ericsson
9493da084b3Smrg		os=-ose
9503da084b3Smrg		;;
9513da084b3Smrg	os68k)
9523da084b3Smrg		basic_machine=m68k-none
9533da084b3Smrg		os=-os68k
9543da084b3Smrg		;;
9553da084b3Smrg	pa-hitachi)
9563da084b3Smrg		basic_machine=hppa1.1-hitachi
9573da084b3Smrg		os=-hiuxwe2
9583da084b3Smrg		;;
9593da084b3Smrg	paragon)
9603da084b3Smrg		basic_machine=i860-intel
9613da084b3Smrg		os=-osf
9623da084b3Smrg		;;
963d63fdb69Smrg	parisc)
964d63fdb69Smrg		basic_machine=hppa-unknown
965d63fdb69Smrg		os=-linux
966d63fdb69Smrg		;;
967d63fdb69Smrg	parisc-*)
968d63fdb69Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
969d63fdb69Smrg		os=-linux
970d63fdb69Smrg		;;
9713da084b3Smrg	pbd)
9723da084b3Smrg		basic_machine=sparc-tti
9733da084b3Smrg		;;
9743da084b3Smrg	pbb)
9753da084b3Smrg		basic_machine=m68k-tti
9763da084b3Smrg		;;
9773da084b3Smrg	pc532 | pc532-*)
9783da084b3Smrg		basic_machine=ns32k-pc532
9793da084b3Smrg		;;
9803da084b3Smrg	pc98)
9813da084b3Smrg		basic_machine=i386-pc
9823da084b3Smrg		;;
9833da084b3Smrg	pc98-*)
9843da084b3Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9853da084b3Smrg		;;
9863da084b3Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9873da084b3Smrg		basic_machine=i586-pc
9883da084b3Smrg		;;
9893da084b3Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9903da084b3Smrg		basic_machine=i686-pc
9913da084b3Smrg		;;
9923da084b3Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9933da084b3Smrg		basic_machine=i686-pc
9943da084b3Smrg		;;
9953da084b3Smrg	pentium4)
9963da084b3Smrg		basic_machine=i786-pc
9973da084b3Smrg		;;
9983da084b3Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9993da084b3Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
10003da084b3Smrg		;;
10013da084b3Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
10023da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10033da084b3Smrg		;;
10043da084b3Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
10053da084b3Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
10063da084b3Smrg		;;
10073da084b3Smrg	pentium4-*)
10083da084b3Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
10093da084b3Smrg		;;
10103da084b3Smrg	pn)
10113da084b3Smrg		basic_machine=pn-gould
10123da084b3Smrg		;;
10133da084b3Smrg	power)	basic_machine=power-ibm
10143da084b3Smrg		;;
101548c85eb7Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
10163da084b3Smrg		;;
101748c85eb7Smrg	ppc-* | ppcbe-*)
101848c85eb7Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10193da084b3Smrg		;;
10203da084b3Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10213da084b3Smrg		basic_machine=powerpcle-unknown
10223da084b3Smrg		;;
10233da084b3Smrg	ppcle-* | powerpclittle-*)
10243da084b3Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10253da084b3Smrg		;;
10263da084b3Smrg	ppc64)	basic_machine=powerpc64-unknown
10273da084b3Smrg		;;
10283da084b3Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10293da084b3Smrg		;;
10303da084b3Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10313da084b3Smrg		basic_machine=powerpc64le-unknown
10323da084b3Smrg		;;
10333da084b3Smrg	ppc64le-* | powerpc64little-*)
10343da084b3Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10353da084b3Smrg		;;
10363da084b3Smrg	ps2)
10373da084b3Smrg		basic_machine=i386-ibm
10383da084b3Smrg		;;
10393da084b3Smrg	pw32)
10403da084b3Smrg		basic_machine=i586-unknown
10413da084b3Smrg		os=-pw32
10423da084b3Smrg		;;
1043e1c0d025Smrg	rdos | rdos64)
1044e1c0d025Smrg		basic_machine=x86_64-pc
1045e1c0d025Smrg		os=-rdos
1046e1c0d025Smrg		;;
1047e1c0d025Smrg	rdos32)
10483da084b3Smrg		basic_machine=i386-pc
10493da084b3Smrg		os=-rdos
10503da084b3Smrg		;;
10513da084b3Smrg	rom68k)
10523da084b3Smrg		basic_machine=m68k-rom68k
10533da084b3Smrg		os=-coff
10543da084b3Smrg		;;
10553da084b3Smrg	rm[46]00)
10563da084b3Smrg		basic_machine=mips-siemens
10573da084b3Smrg		;;
10583da084b3Smrg	rtpc | rtpc-*)
10593da084b3Smrg		basic_machine=romp-ibm
10603da084b3Smrg		;;
10613da084b3Smrg	s390 | s390-*)
10623da084b3Smrg		basic_machine=s390-ibm
10633da084b3Smrg		;;
10643da084b3Smrg	s390x | s390x-*)
10653da084b3Smrg		basic_machine=s390x-ibm
10663da084b3Smrg		;;
10673da084b3Smrg	sa29200)
10683da084b3Smrg		basic_machine=a29k-amd
10693da084b3Smrg		os=-udi
10703da084b3Smrg		;;
10713da084b3Smrg	sb1)
10723da084b3Smrg		basic_machine=mipsisa64sb1-unknown
10733da084b3Smrg		;;
10743da084b3Smrg	sb1el)
10753da084b3Smrg		basic_machine=mipsisa64sb1el-unknown
10763da084b3Smrg		;;
1077d63fdb69Smrg	sde)
1078d63fdb69Smrg		basic_machine=mipsisa32-sde
1079d63fdb69Smrg		os=-elf
1080d63fdb69Smrg		;;
10813da084b3Smrg	sei)
10823da084b3Smrg		basic_machine=mips-sei
10833da084b3Smrg		os=-seiux
10843da084b3Smrg		;;
10853da084b3Smrg	sequent)
10863da084b3Smrg		basic_machine=i386-sequent
10873da084b3Smrg		;;
10883da084b3Smrg	sh)
10893da084b3Smrg		basic_machine=sh-hitachi
10903da084b3Smrg		os=-hms
10913da084b3Smrg		;;
1092d63fdb69Smrg	sh5el)
1093d63fdb69Smrg		basic_machine=sh5le-unknown
1094d63fdb69Smrg		;;
10953da084b3Smrg	sh64)
10963da084b3Smrg		basic_machine=sh64-unknown
10973da084b3Smrg		;;
10983da084b3Smrg	sparclite-wrs | simso-wrs)
10993da084b3Smrg		basic_machine=sparclite-wrs
11003da084b3Smrg		os=-vxworks
11013da084b3Smrg		;;
11023da084b3Smrg	sps7)
11033da084b3Smrg		basic_machine=m68k-bull
11043da084b3Smrg		os=-sysv2
11053da084b3Smrg		;;
11063da084b3Smrg	spur)
11073da084b3Smrg		basic_machine=spur-unknown
11083da084b3Smrg		;;
11093da084b3Smrg	st2000)
11103da084b3Smrg		basic_machine=m68k-tandem
11113da084b3Smrg		;;
11123da084b3Smrg	stratus)
11133da084b3Smrg		basic_machine=i860-stratus
11143da084b3Smrg		os=-sysv4
11153da084b3Smrg		;;
111648c85eb7Smrg	strongarm-* | thumb-*)
111748c85eb7Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
111848c85eb7Smrg		;;
11193da084b3Smrg	sun2)
11203da084b3Smrg		basic_machine=m68000-sun
11213da084b3Smrg		;;
11223da084b3Smrg	sun2os3)
11233da084b3Smrg		basic_machine=m68000-sun
11243da084b3Smrg		os=-sunos3
11253da084b3Smrg		;;
11263da084b3Smrg	sun2os4)
11273da084b3Smrg		basic_machine=m68000-sun
11283da084b3Smrg		os=-sunos4
11293da084b3Smrg		;;
11303da084b3Smrg	sun3os3)
11313da084b3Smrg		basic_machine=m68k-sun
11323da084b3Smrg		os=-sunos3
11333da084b3Smrg		;;
11343da084b3Smrg	sun3os4)
11353da084b3Smrg		basic_machine=m68k-sun
11363da084b3Smrg		os=-sunos4
11373da084b3Smrg		;;
11383da084b3Smrg	sun4os3)
11393da084b3Smrg		basic_machine=sparc-sun
11403da084b3Smrg		os=-sunos3
11413da084b3Smrg		;;
11423da084b3Smrg	sun4os4)
11433da084b3Smrg		basic_machine=sparc-sun
11443da084b3Smrg		os=-sunos4
11453da084b3Smrg		;;
11463da084b3Smrg	sun4sol2)
11473da084b3Smrg		basic_machine=sparc-sun
11483da084b3Smrg		os=-solaris2
11493da084b3Smrg		;;
11503da084b3Smrg	sun3 | sun3-*)
11513da084b3Smrg		basic_machine=m68k-sun
11523da084b3Smrg		;;
11533da084b3Smrg	sun4)
11543da084b3Smrg		basic_machine=sparc-sun
11553da084b3Smrg		;;
11563da084b3Smrg	sun386 | sun386i | roadrunner)
11573da084b3Smrg		basic_machine=i386-sun
11583da084b3Smrg		;;
11593da084b3Smrg	sv1)
11603da084b3Smrg		basic_machine=sv1-cray
11613da084b3Smrg		os=-unicos
11623da084b3Smrg		;;
11633da084b3Smrg	symmetry)
11643da084b3Smrg		basic_machine=i386-sequent
11653da084b3Smrg		os=-dynix
11663da084b3Smrg		;;
11673da084b3Smrg	t3e)
11683da084b3Smrg		basic_machine=alphaev5-cray
11693da084b3Smrg		os=-unicos
11703da084b3Smrg		;;
11713da084b3Smrg	t90)
11723da084b3Smrg		basic_machine=t90-cray
11733da084b3Smrg		os=-unicos
11743da084b3Smrg		;;
1175d63fdb69Smrg	tile*)
117648c85eb7Smrg		basic_machine=$basic_machine-unknown
1177d63fdb69Smrg		os=-linux-gnu
1178d63fdb69Smrg		;;
11793da084b3Smrg	tx39)
11803da084b3Smrg		basic_machine=mipstx39-unknown
11813da084b3Smrg		;;
11823da084b3Smrg	tx39el)
11833da084b3Smrg		basic_machine=mipstx39el-unknown
11843da084b3Smrg		;;
11853da084b3Smrg	toad1)
11863da084b3Smrg		basic_machine=pdp10-xkl
11873da084b3Smrg		os=-tops20
11883da084b3Smrg		;;
11893da084b3Smrg	tower | tower-32)
11903da084b3Smrg		basic_machine=m68k-ncr
11913da084b3Smrg		;;
11923da084b3Smrg	tpf)
11933da084b3Smrg		basic_machine=s390x-ibm
11943da084b3Smrg		os=-tpf
11953da084b3Smrg		;;
11963da084b3Smrg	udi29k)
11973da084b3Smrg		basic_machine=a29k-amd
11983da084b3Smrg		os=-udi
11993da084b3Smrg		;;
12003da084b3Smrg	ultra3)
12013da084b3Smrg		basic_machine=a29k-nyu
12023da084b3Smrg		os=-sym1
12033da084b3Smrg		;;
12043da084b3Smrg	v810 | necv810)
12053da084b3Smrg		basic_machine=v810-nec
12063da084b3Smrg		os=-none
12073da084b3Smrg		;;
12083da084b3Smrg	vaxv)
12093da084b3Smrg		basic_machine=vax-dec
12103da084b3Smrg		os=-sysv
12113da084b3Smrg		;;
12123da084b3Smrg	vms)
12133da084b3Smrg		basic_machine=vax-dec
12143da084b3Smrg		os=-vms
12153da084b3Smrg		;;
12163da084b3Smrg	vpp*|vx|vx-*)
12173da084b3Smrg		basic_machine=f301-fujitsu
12183da084b3Smrg		;;
12193da084b3Smrg	vxworks960)
12203da084b3Smrg		basic_machine=i960-wrs
12213da084b3Smrg		os=-vxworks
12223da084b3Smrg		;;
12233da084b3Smrg	vxworks68)
12243da084b3Smrg		basic_machine=m68k-wrs
12253da084b3Smrg		os=-vxworks
12263da084b3Smrg		;;
12273da084b3Smrg	vxworks29k)
12283da084b3Smrg		basic_machine=a29k-wrs
12293da084b3Smrg		os=-vxworks
12303da084b3Smrg		;;
12313da084b3Smrg	w65*)
12323da084b3Smrg		basic_machine=w65-wdc
12333da084b3Smrg		os=-none
12343da084b3Smrg		;;
12353da084b3Smrg	w89k-*)
12363da084b3Smrg		basic_machine=hppa1.1-winbond
12373da084b3Smrg		os=-proelf
12383da084b3Smrg		;;
12393da084b3Smrg	xbox)
12403da084b3Smrg		basic_machine=i686-pc
12413da084b3Smrg		os=-mingw32
12423da084b3Smrg		;;
12433da084b3Smrg	xps | xps100)
12443da084b3Smrg		basic_machine=xps100-honeywell
12453da084b3Smrg		;;
124648c85eb7Smrg	xscale-* | xscalee[bl]-*)
124748c85eb7Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
124848c85eb7Smrg		;;
12493da084b3Smrg	ymp)
12503da084b3Smrg		basic_machine=ymp-cray
12513da084b3Smrg		os=-unicos
12523da084b3Smrg		;;
12533da084b3Smrg	z8k-*-coff)
12543da084b3Smrg		basic_machine=z8k-unknown
12553da084b3Smrg		os=-sim
12563da084b3Smrg		;;
125755acc8fcSmrg	z80-*-coff)
125855acc8fcSmrg		basic_machine=z80-unknown
125955acc8fcSmrg		os=-sim
126055acc8fcSmrg		;;
12613da084b3Smrg	none)
12623da084b3Smrg		basic_machine=none-none
12633da084b3Smrg		os=-none
12643da084b3Smrg		;;
12653da084b3Smrg
12663da084b3Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12673da084b3Smrg# some cases the only manufacturer, in others, it is the most popular.
12683da084b3Smrg	w89k)
12693da084b3Smrg		basic_machine=hppa1.1-winbond
12703da084b3Smrg		;;
12713da084b3Smrg	op50n)
12723da084b3Smrg		basic_machine=hppa1.1-oki
12733da084b3Smrg		;;
12743da084b3Smrg	op60c)
12753da084b3Smrg		basic_machine=hppa1.1-oki
12763da084b3Smrg		;;
12773da084b3Smrg	romp)
12783da084b3Smrg		basic_machine=romp-ibm
12793da084b3Smrg		;;
12803da084b3Smrg	mmix)
12813da084b3Smrg		basic_machine=mmix-knuth
12823da084b3Smrg		;;
12833da084b3Smrg	rs6000)
12843da084b3Smrg		basic_machine=rs6000-ibm
12853da084b3Smrg		;;
12863da084b3Smrg	vax)
12873da084b3Smrg		basic_machine=vax-dec
12883da084b3Smrg		;;
12893da084b3Smrg	pdp10)
12903da084b3Smrg		# there are many clones, so DEC is not a safe bet
12913da084b3Smrg		basic_machine=pdp10-unknown
12923da084b3Smrg		;;
12933da084b3Smrg	pdp11)
12943da084b3Smrg		basic_machine=pdp11-dec
12953da084b3Smrg		;;
12963da084b3Smrg	we32k)
12973da084b3Smrg		basic_machine=we32k-att
12983da084b3Smrg		;;
129955acc8fcSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
13003da084b3Smrg		basic_machine=sh-unknown
13013da084b3Smrg		;;
1302d63fdb69Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
13033da084b3Smrg		basic_machine=sparc-sun
13043da084b3Smrg		;;
13053da084b3Smrg	cydra)
13063da084b3Smrg		basic_machine=cydra-cydrome
13073da084b3Smrg		;;
13083da084b3Smrg	orion)
13093da084b3Smrg		basic_machine=orion-highlevel
13103da084b3Smrg		;;
13113da084b3Smrg	orion105)
13123da084b3Smrg		basic_machine=clipper-highlevel
13133da084b3Smrg		;;
13143da084b3Smrg	mac | mpw | mac-mpw)
13153da084b3Smrg		basic_machine=m68k-apple
13163da084b3Smrg		;;
13173da084b3Smrg	pmac | pmac-mpw)
13183da084b3Smrg		basic_machine=powerpc-apple
13193da084b3Smrg		;;
13203da084b3Smrg	*-unknown)
13213da084b3Smrg		# Make sure to match an already-canonicalized machine name.
13223da084b3Smrg		;;
13233da084b3Smrg	*)
13243da084b3Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13253da084b3Smrg		exit 1
13263da084b3Smrg		;;
13273da084b3Smrgesac
13283da084b3Smrg
13293da084b3Smrg# Here we canonicalize certain aliases for manufacturers.
13303da084b3Smrgcase $basic_machine in
13313da084b3Smrg	*-digital*)
13323da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13333da084b3Smrg		;;
13343da084b3Smrg	*-commodore*)
13353da084b3Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13363da084b3Smrg		;;
13373da084b3Smrg	*)
13383da084b3Smrg		;;
13393da084b3Smrgesac
13403da084b3Smrg
13413da084b3Smrg# Decode manufacturer-specific aliases for certain operating systems.
13423da084b3Smrg
13433da084b3Smrgif [ x"$os" != x"" ]
13443da084b3Smrgthen
13453da084b3Smrgcase $os in
134648c85eb7Smrg	# First match some system type aliases
134748c85eb7Smrg	# that might get confused with valid system types.
13483da084b3Smrg	# -solaris* is a basic system type, with this one exception.
134948c85eb7Smrg	-auroraux)
135048c85eb7Smrg		os=-auroraux
135155acc8fcSmrg		;;
13523da084b3Smrg	-solaris1 | -solaris1.*)
13533da084b3Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13543da084b3Smrg		;;
13553da084b3Smrg	-solaris)
13563da084b3Smrg		os=-solaris2
13573da084b3Smrg		;;
13583da084b3Smrg	-svr4*)
13593da084b3Smrg		os=-sysv4
13603da084b3Smrg		;;
13613da084b3Smrg	-unixware*)
13623da084b3Smrg		os=-sysv4.2uw
13633da084b3Smrg		;;
13643da084b3Smrg	-gnu/linux*)
13653da084b3Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13663da084b3Smrg		;;
13673da084b3Smrg	# First accept the basic system types.
13683da084b3Smrg	# The portable systems comes first.
13693da084b3Smrg	# Each alternative MUST END IN A *, to match a version number.
13703da084b3Smrg	# -sysv* is not here because it comes later, after sysvr4.
13713da084b3Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
137255acc8fcSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
137355acc8fcSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1374e1c0d025Smrg	      | -sym* | -kopensolaris* | -plan9* \
13753da084b3Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
137655acc8fcSmrg	      | -aos* | -aros* \
13773da084b3Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13783da084b3Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13793da084b3Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1380e1c0d025Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
13813da084b3Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13823da084b3Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13833da084b3Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13843da084b3Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
138555acc8fcSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
138648c85eb7Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1387e1c0d025Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1388e1c0d025Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1389e1c0d025Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
13903da084b3Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13913da084b3Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13923da084b3Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13933da084b3Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13943da084b3Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13953da084b3Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1396e1c0d025Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
13973da084b3Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13983da084b3Smrg		;;
13993da084b3Smrg	-qnx*)
14003da084b3Smrg		case $basic_machine in
14013da084b3Smrg		    x86-* | i*86-*)
14023da084b3Smrg			;;
14033da084b3Smrg		    *)
14043da084b3Smrg			os=-nto$os
14053da084b3Smrg			;;
14063da084b3Smrg		esac
14073da084b3Smrg		;;
14083da084b3Smrg	-nto-qnx*)
14093da084b3Smrg		;;
14103da084b3Smrg	-nto*)
14113da084b3Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
14123da084b3Smrg		;;
14133da084b3Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
14143da084b3Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
14153da084b3Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
14163da084b3Smrg		;;
14173da084b3Smrg	-mac*)
14183da084b3Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14193da084b3Smrg		;;
14203da084b3Smrg	-linux-dietlibc)
14213da084b3Smrg		os=-linux-dietlibc
14223da084b3Smrg		;;
14233da084b3Smrg	-linux*)
14243da084b3Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14253da084b3Smrg		;;
14263da084b3Smrg	-sunos5*)
14273da084b3Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14283da084b3Smrg		;;
14293da084b3Smrg	-sunos6*)
14303da084b3Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14313da084b3Smrg		;;
14323da084b3Smrg	-opened*)
14333da084b3Smrg		os=-openedition
14343da084b3Smrg		;;
143548c85eb7Smrg	-os400*)
14363da084b3Smrg		os=-os400
14373da084b3Smrg		;;
14383da084b3Smrg	-wince*)
14393da084b3Smrg		os=-wince
14403da084b3Smrg		;;
14413da084b3Smrg	-osfrose*)
14423da084b3Smrg		os=-osfrose
14433da084b3Smrg		;;
14443da084b3Smrg	-osf*)
14453da084b3Smrg		os=-osf
14463da084b3Smrg		;;
14473da084b3Smrg	-utek*)
14483da084b3Smrg		os=-bsd
14493da084b3Smrg		;;
14503da084b3Smrg	-dynix*)
14513da084b3Smrg		os=-bsd
14523da084b3Smrg		;;
14533da084b3Smrg	-acis*)
14543da084b3Smrg		os=-aos
14553da084b3Smrg		;;
14563da084b3Smrg	-atheos*)
14573da084b3Smrg		os=-atheos
14583da084b3Smrg		;;
14593da084b3Smrg	-syllable*)
14603da084b3Smrg		os=-syllable
14613da084b3Smrg		;;
14623da084b3Smrg	-386bsd)
14633da084b3Smrg		os=-bsd
14643da084b3Smrg		;;
14653da084b3Smrg	-ctix* | -uts*)
14663da084b3Smrg		os=-sysv
14673da084b3Smrg		;;
14683da084b3Smrg	-nova*)
14693da084b3Smrg		os=-rtmk-nova
14703da084b3Smrg		;;
14713da084b3Smrg	-ns2 )
14723da084b3Smrg		os=-nextstep2
14733da084b3Smrg		;;
14743da084b3Smrg	-nsk*)
14753da084b3Smrg		os=-nsk
14763da084b3Smrg		;;
14773da084b3Smrg	# Preserve the version number of sinix5.
14783da084b3Smrg	-sinix5.*)
14793da084b3Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14803da084b3Smrg		;;
14813da084b3Smrg	-sinix*)
14823da084b3Smrg		os=-sysv4
14833da084b3Smrg		;;
148448c85eb7Smrg	-tpf*)
14853da084b3Smrg		os=-tpf
14863da084b3Smrg		;;
14873da084b3Smrg	-triton*)
14883da084b3Smrg		os=-sysv3
14893da084b3Smrg		;;
14903da084b3Smrg	-oss*)
14913da084b3Smrg		os=-sysv3
14923da084b3Smrg		;;
14933da084b3Smrg	-svr4)
14943da084b3Smrg		os=-sysv4
14953da084b3Smrg		;;
14963da084b3Smrg	-svr3)
14973da084b3Smrg		os=-sysv3
14983da084b3Smrg		;;
14993da084b3Smrg	-sysvr4)
15003da084b3Smrg		os=-sysv4
15013da084b3Smrg		;;
15023da084b3Smrg	# This must come after -sysvr4.
15033da084b3Smrg	-sysv*)
15043da084b3Smrg		;;
15053da084b3Smrg	-ose*)
15063da084b3Smrg		os=-ose
15073da084b3Smrg		;;
15083da084b3Smrg	-es1800*)
15093da084b3Smrg		os=-ose
15103da084b3Smrg		;;
15113da084b3Smrg	-xenix)
15123da084b3Smrg		os=-xenix
15133da084b3Smrg		;;
15143da084b3Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
15153da084b3Smrg		os=-mint
15163da084b3Smrg		;;
15173da084b3Smrg	-aros*)
15183da084b3Smrg		os=-aros
15193da084b3Smrg		;;
15203da084b3Smrg	-zvmoe)
15213da084b3Smrg		os=-zvmoe
15223da084b3Smrg		;;
152355acc8fcSmrg	-dicos*)
152455acc8fcSmrg		os=-dicos
152555acc8fcSmrg		;;
152648c85eb7Smrg	-nacl*)
152748c85eb7Smrg		;;
15283da084b3Smrg	-none)
15293da084b3Smrg		;;
15303da084b3Smrg	*)
15313da084b3Smrg		# Get rid of the `-' at the beginning of $os.
15323da084b3Smrg		os=`echo $os | sed 's/[^-]*-//'`
15333da084b3Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15343da084b3Smrg		exit 1
15353da084b3Smrg		;;
15363da084b3Smrgesac
15373da084b3Smrgelse
15383da084b3Smrg
15393da084b3Smrg# Here we handle the default operating systems that come with various machines.
15403da084b3Smrg# The value should be what the vendor currently ships out the door with their
15413da084b3Smrg# machine or put another way, the most popular os provided with the machine.
15423da084b3Smrg
15433da084b3Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15443da084b3Smrg# "-sun"), then you have to tell the case statement up towards the top
15453da084b3Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15463da084b3Smrg# will signal an error saying that MANUFACTURER isn't an operating
15473da084b3Smrg# system, and we'll never get to this point.
15483da084b3Smrg
15493da084b3Smrgcase $basic_machine in
155048c85eb7Smrg	score-*)
1551d63fdb69Smrg		os=-elf
1552d63fdb69Smrg		;;
155348c85eb7Smrg	spu-*)
1554d63fdb69Smrg		os=-elf
1555d63fdb69Smrg		;;
15563da084b3Smrg	*-acorn)
15573da084b3Smrg		os=-riscix1.2
15583da084b3Smrg		;;
15593da084b3Smrg	arm*-rebel)
15603da084b3Smrg		os=-linux
15613da084b3Smrg		;;
15623da084b3Smrg	arm*-semi)
15633da084b3Smrg		os=-aout
15643da084b3Smrg		;;
156548c85eb7Smrg	c4x-* | tic4x-*)
156648c85eb7Smrg		os=-coff
1567d63fdb69Smrg		;;
1568e1c0d025Smrg	c8051-*)
1569e1c0d025Smrg		os=-elf
1570e1c0d025Smrg		;;
1571e1c0d025Smrg	hexagon-*)
1572e1c0d025Smrg		os=-elf
1573e1c0d025Smrg		;;
157455acc8fcSmrg	tic54x-*)
157555acc8fcSmrg		os=-coff
157655acc8fcSmrg		;;
157755acc8fcSmrg	tic55x-*)
157855acc8fcSmrg		os=-coff
157955acc8fcSmrg		;;
158055acc8fcSmrg	tic6x-*)
158155acc8fcSmrg		os=-coff
158255acc8fcSmrg		;;
15833da084b3Smrg	# This must come before the *-dec entry.
15843da084b3Smrg	pdp10-*)
15853da084b3Smrg		os=-tops20
15863da084b3Smrg		;;
15873da084b3Smrg	pdp11-*)
15883da084b3Smrg		os=-none
15893da084b3Smrg		;;
15903da084b3Smrg	*-dec | vax-*)
15913da084b3Smrg		os=-ultrix4.2
15923da084b3Smrg		;;
15933da084b3Smrg	m68*-apollo)
15943da084b3Smrg		os=-domain
15953da084b3Smrg		;;
15963da084b3Smrg	i386-sun)
15973da084b3Smrg		os=-sunos4.0.2
15983da084b3Smrg		;;
15993da084b3Smrg	m68000-sun)
16003da084b3Smrg		os=-sunos3
16013da084b3Smrg		;;
16023da084b3Smrg	m68*-cisco)
16033da084b3Smrg		os=-aout
16043da084b3Smrg		;;
160548c85eb7Smrg	mep-*)
1606d63fdb69Smrg		os=-elf
1607d63fdb69Smrg		;;
16083da084b3Smrg	mips*-cisco)
16093da084b3Smrg		os=-elf
16103da084b3Smrg		;;
16113da084b3Smrg	mips*-*)
16123da084b3Smrg		os=-elf
16133da084b3Smrg		;;
16143da084b3Smrg	or32-*)
16153da084b3Smrg		os=-coff
16163da084b3Smrg		;;
16173da084b3Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
16183da084b3Smrg		os=-sysv3
16193da084b3Smrg		;;
16203da084b3Smrg	sparc-* | *-sun)
16213da084b3Smrg		os=-sunos4.1.1
16223da084b3Smrg		;;
16233da084b3Smrg	*-be)
16243da084b3Smrg		os=-beos
16253da084b3Smrg		;;
16263da084b3Smrg	*-haiku)
16273da084b3Smrg		os=-haiku
16283da084b3Smrg		;;
16293da084b3Smrg	*-ibm)
16303da084b3Smrg		os=-aix
16313da084b3Smrg		;;
163248c85eb7Smrg	*-knuth)
16333da084b3Smrg		os=-mmixware
16343da084b3Smrg		;;
16353da084b3Smrg	*-wec)
16363da084b3Smrg		os=-proelf
16373da084b3Smrg		;;
16383da084b3Smrg	*-winbond)
16393da084b3Smrg		os=-proelf
16403da084b3Smrg		;;
16413da084b3Smrg	*-oki)
16423da084b3Smrg		os=-proelf
16433da084b3Smrg		;;
16443da084b3Smrg	*-hp)
16453da084b3Smrg		os=-hpux
16463da084b3Smrg		;;
16473da084b3Smrg	*-hitachi)
16483da084b3Smrg		os=-hiux
16493da084b3Smrg		;;
16503da084b3Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16513da084b3Smrg		os=-sysv
16523da084b3Smrg		;;
16533da084b3Smrg	*-cbm)
16543da084b3Smrg		os=-amigaos
16553da084b3Smrg		;;
16563da084b3Smrg	*-dg)
16573da084b3Smrg		os=-dgux
16583da084b3Smrg		;;
16593da084b3Smrg	*-dolphin)
16603da084b3Smrg		os=-sysv3
16613da084b3Smrg		;;
16623da084b3Smrg	m68k-ccur)
16633da084b3Smrg		os=-rtu
16643da084b3Smrg		;;
16653da084b3Smrg	m88k-omron*)
16663da084b3Smrg		os=-luna
16673da084b3Smrg		;;
16683da084b3Smrg	*-next )
16693da084b3Smrg		os=-nextstep
16703da084b3Smrg		;;
16713da084b3Smrg	*-sequent)
16723da084b3Smrg		os=-ptx
16733da084b3Smrg		;;
16743da084b3Smrg	*-crds)
16753da084b3Smrg		os=-unos
16763da084b3Smrg		;;
16773da084b3Smrg	*-ns)
16783da084b3Smrg		os=-genix
16793da084b3Smrg		;;
16803da084b3Smrg	i370-*)
16813da084b3Smrg		os=-mvs
16823da084b3Smrg		;;
16833da084b3Smrg	*-next)
16843da084b3Smrg		os=-nextstep3
16853da084b3Smrg		;;
16863da084b3Smrg	*-gould)
16873da084b3Smrg		os=-sysv
16883da084b3Smrg		;;
16893da084b3Smrg	*-highlevel)
16903da084b3Smrg		os=-bsd
16913da084b3Smrg		;;
16923da084b3Smrg	*-encore)
16933da084b3Smrg		os=-bsd
16943da084b3Smrg		;;
16953da084b3Smrg	*-sgi)
16963da084b3Smrg		os=-irix
16973da084b3Smrg		;;
16983da084b3Smrg	*-siemens)
16993da084b3Smrg		os=-sysv4
17003da084b3Smrg		;;
17013da084b3Smrg	*-masscomp)
17023da084b3Smrg		os=-rtu
17033da084b3Smrg		;;
17043da084b3Smrg	f30[01]-fujitsu | f700-fujitsu)
17053da084b3Smrg		os=-uxpv
17063da084b3Smrg		;;
17073da084b3Smrg	*-rom68k)
17083da084b3Smrg		os=-coff
17093da084b3Smrg		;;
17103da084b3Smrg	*-*bug)
17113da084b3Smrg		os=-coff
17123da084b3Smrg		;;
17133da084b3Smrg	*-apple)
17143da084b3Smrg		os=-macos
17153da084b3Smrg		;;
17163da084b3Smrg	*-atari*)
17173da084b3Smrg		os=-mint
17183da084b3Smrg		;;
17193da084b3Smrg	*)
17203da084b3Smrg		os=-none
17213da084b3Smrg		;;
17223da084b3Smrgesac
17233da084b3Smrgfi
17243da084b3Smrg
17253da084b3Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17263da084b3Smrg# manufacturer.  We pick the logical manufacturer.
17273da084b3Smrgvendor=unknown
17283da084b3Smrgcase $basic_machine in
17293da084b3Smrg	*-unknown)
17303da084b3Smrg		case $os in
17313da084b3Smrg			-riscix*)
17323da084b3Smrg				vendor=acorn
17333da084b3Smrg				;;
17343da084b3Smrg			-sunos*)
17353da084b3Smrg				vendor=sun
17363da084b3Smrg				;;
173755acc8fcSmrg			-cnk*|-aix*)
17383da084b3Smrg				vendor=ibm
17393da084b3Smrg				;;
17403da084b3Smrg			-beos*)
17413da084b3Smrg				vendor=be
17423da084b3Smrg				;;
17433da084b3Smrg			-hpux*)
17443da084b3Smrg				vendor=hp
17453da084b3Smrg				;;
17463da084b3Smrg			-mpeix*)
17473da084b3Smrg				vendor=hp
17483da084b3Smrg				;;
17493da084b3Smrg			-hiux*)
17503da084b3Smrg				vendor=hitachi
17513da084b3Smrg				;;
17523da084b3Smrg			-unos*)
17533da084b3Smrg				vendor=crds
17543da084b3Smrg				;;
17553da084b3Smrg			-dgux*)
17563da084b3Smrg				vendor=dg
17573da084b3Smrg				;;
17583da084b3Smrg			-luna*)
17593da084b3Smrg				vendor=omron
17603da084b3Smrg				;;
17613da084b3Smrg			-genix*)
17623da084b3Smrg				vendor=ns
17633da084b3Smrg				;;
17643da084b3Smrg			-mvs* | -opened*)
17653da084b3Smrg				vendor=ibm
17663da084b3Smrg				;;
17673da084b3Smrg			-os400*)
17683da084b3Smrg				vendor=ibm
17693da084b3Smrg				;;
17703da084b3Smrg			-ptx*)
17713da084b3Smrg				vendor=sequent
17723da084b3Smrg				;;
17733da084b3Smrg			-tpf*)
17743da084b3Smrg				vendor=ibm
17753da084b3Smrg				;;
17763da084b3Smrg			-vxsim* | -vxworks* | -windiss*)
17773da084b3Smrg				vendor=wrs
17783da084b3Smrg				;;
17793da084b3Smrg			-aux*)
17803da084b3Smrg				vendor=apple
17813da084b3Smrg				;;
17823da084b3Smrg			-hms*)
17833da084b3Smrg				vendor=hitachi
17843da084b3Smrg				;;
17853da084b3Smrg			-mpw* | -macos*)
17863da084b3Smrg				vendor=apple
17873da084b3Smrg				;;
17883da084b3Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17893da084b3Smrg				vendor=atari
17903da084b3Smrg				;;
17913da084b3Smrg			-vos*)
17923da084b3Smrg				vendor=stratus
17933da084b3Smrg				;;
17943da084b3Smrg		esac
17953da084b3Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17963da084b3Smrg		;;
17973da084b3Smrgesac
17983da084b3Smrg
17993da084b3Smrgecho $basic_machine$os
18003da084b3Smrgexit
18013da084b3Smrg
18023da084b3Smrg# Local variables:
18033da084b3Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
18043da084b3Smrg# time-stamp-start: "timestamp='"
18053da084b3Smrg# time-stamp-format: "%:y-%02m-%02d"
18063da084b3Smrg# time-stamp-end: "'"
18073da084b3Smrg# End:
1808