config.sub revision 444fb138
19f606849Smrg#! /bin/sh
29f606849Smrg# Configuration validation subroutine script.
3cdbfa18aSmrg#   Copyright 1992-2013 Free Software Foundation, Inc.
49f606849Smrg
5444fb138Smrgtimestamp='2013-08-10'
69f606849Smrg
7cdbfa18aSmrg# This file is free software; you can redistribute it and/or modify it
8cdbfa18aSmrg# under the terms of the GNU General Public License as published by
9cdbfa18aSmrg# the Free Software Foundation; either version 3 of the License, or
109f606849Smrg# (at your option) any later version.
119f606849Smrg#
12cdbfa18aSmrg# This program is distributed in the hope that it will be useful, but
13cdbfa18aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
14cdbfa18aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15cdbfa18aSmrg# General Public License for more details.
169f606849Smrg#
179f606849Smrg# You should have received a copy of the GNU General Public License
18cdbfa18aSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
199f606849Smrg#
209f606849Smrg# As a special exception to the GNU General Public License, if you
219f606849Smrg# distribute this file as part of a program that contains a
229f606849Smrg# configuration script generated by Autoconf, you may include it under
23cdbfa18aSmrg# the same distribution terms that you use for the rest of that
24cdbfa18aSmrg# program.  This Exception is an additional permission under section 7
25cdbfa18aSmrg# of the GNU General Public License, version 3 ("GPLv3").
269f606849Smrg
279f606849Smrg
28cdbfa18aSmrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
299f606849Smrg#
309f606849Smrg# Configuration subroutine to validate and canonicalize a configuration type.
319f606849Smrg# Supply the specified configuration type as an argument.
329f606849Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
339f606849Smrg# Otherwise, we print the canonical config type on stdout and succeed.
349f606849Smrg
35d5c3dbf1Smrg# You can get the latest version of this script from:
36d5c3dbf1Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37d5c3dbf1Smrg
389f606849Smrg# This file is supposed to be the same for all GNU packages
399f606849Smrg# and recognize all the CPU types, system types and aliases
409f606849Smrg# that are meaningful with *any* GNU software.
419f606849Smrg# Each package is responsible for reporting which valid configurations
429f606849Smrg# it does not support.  The user should be able to distinguish
439f606849Smrg# a failure to support a valid configuration from a meaningless
449f606849Smrg# configuration.
459f606849Smrg
469f606849Smrg# The goal of this file is to map all the various variations of a given
479f606849Smrg# machine specification into a single specification in the form:
489f606849Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
499f606849Smrg# or in some cases, the newer four-part form:
509f606849Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
519f606849Smrg# It is wrong to echo any other type of specification.
529f606849Smrg
539f606849Smrgme=`echo "$0" | sed -e 's,.*/,,'`
549f606849Smrg
559f606849Smrgusage="\
569f606849SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
579f606849Smrg       $0 [OPTION] ALIAS
589f606849Smrg
599f606849SmrgCanonicalize a configuration name.
609f606849Smrg
619f606849SmrgOperation modes:
629f606849Smrg  -h, --help         print this help, then exit
639f606849Smrg  -t, --time-stamp   print date of last modification, then exit
649f606849Smrg  -v, --version      print version number, then exit
659f606849Smrg
669f606849SmrgReport bugs and patches to <config-patches@gnu.org>."
679f606849Smrg
689f606849Smrgversion="\
699f606849SmrgGNU config.sub ($timestamp)
709f606849Smrg
71cdbfa18aSmrgCopyright 1992-2013 Free Software Foundation, Inc.
729f606849Smrg
739f606849SmrgThis is free software; see the source for copying conditions.  There is NO
749f606849Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
759f606849Smrg
769f606849Smrghelp="
779f606849SmrgTry \`$me --help' for more information."
789f606849Smrg
799f606849Smrg# Parse command line
809f606849Smrgwhile test $# -gt 0 ; do
819f606849Smrg  case $1 in
829f606849Smrg    --time-stamp | --time* | -t )
839f606849Smrg       echo "$timestamp" ; exit ;;
849f606849Smrg    --version | -v )
859f606849Smrg       echo "$version" ; exit ;;
869f606849Smrg    --help | --h* | -h )
879f606849Smrg       echo "$usage"; exit ;;
889f606849Smrg    -- )     # Stop option processing
899f606849Smrg       shift; break ;;
909f606849Smrg    - )	# Use stdin as input.
919f606849Smrg       break ;;
929f606849Smrg    -* )
939f606849Smrg       echo "$me: invalid option $1$help"
949f606849Smrg       exit 1 ;;
959f606849Smrg
969f606849Smrg    *local*)
979f606849Smrg       # First pass through any local machine types.
989f606849Smrg       echo $1
999f606849Smrg       exit ;;
1009f606849Smrg
1019f606849Smrg    * )
1029f606849Smrg       break ;;
1039f606849Smrg  esac
1049f606849Smrgdone
1059f606849Smrg
1069f606849Smrgcase $# in
1079f606849Smrg 0) echo "$me: missing argument$help" >&2
1089f606849Smrg    exit 1;;
1099f606849Smrg 1) ;;
1109f606849Smrg *) echo "$me: too many arguments$help" >&2
1119f606849Smrg    exit 1;;
1129f606849Smrgesac
1139f606849Smrg
1149f606849Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1159f606849Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1169f606849Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1179f606849Smrgcase $maybe_os in
118d5c3dbf1Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119cdbfa18aSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120d5c3dbf1Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
121d5c3dbf1Smrg  kopensolaris*-gnu* | \
1229f606849Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1239f606849Smrg    os=-$maybe_os
1249f606849Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1259f606849Smrg    ;;
126cdbfa18aSmrg  android-linux)
127cdbfa18aSmrg    os=-linux-android
128cdbfa18aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129cdbfa18aSmrg    ;;
1309f606849Smrg  *)
1319f606849Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1329f606849Smrg    if [ $basic_machine != $1 ]
1339f606849Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1349f606849Smrg    else os=; fi
1359f606849Smrg    ;;
1369f606849Smrgesac
1379f606849Smrg
1389f606849Smrg### Let's recognize common machines as not being operating systems so
1399f606849Smrg### that things like config.sub decstation-3100 work.  We also
1409f606849Smrg### recognize some manufacturers as not being operating systems, so we
1419f606849Smrg### can provide default operating systems below.
1429f606849Smrgcase $os in
1439f606849Smrg	-sun*os*)
1449f606849Smrg		# Prevent following clause from handling this invalid input.
1459f606849Smrg		;;
1469f606849Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1479f606849Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1489f606849Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1499f606849Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1509f606849Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1519f606849Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
152cdbfa18aSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
1539f606849Smrg		os=
1549f606849Smrg		basic_machine=$1
1559f606849Smrg		;;
156cdbfa18aSmrg	-bluegene*)
157cdbfa18aSmrg		os=-cnk
158d5c3dbf1Smrg		;;
1599f606849Smrg	-sim | -cisco | -oki | -wec | -winbond)
1609f606849Smrg		os=
1619f606849Smrg		basic_machine=$1
1629f606849Smrg		;;
1639f606849Smrg	-scout)
1649f606849Smrg		;;
1659f606849Smrg	-wrs)
1669f606849Smrg		os=-vxworks
1679f606849Smrg		basic_machine=$1
1689f606849Smrg		;;
1699f606849Smrg	-chorusos*)
1709f606849Smrg		os=-chorusos
1719f606849Smrg		basic_machine=$1
1729f606849Smrg		;;
173cdbfa18aSmrg	-chorusrdb)
174cdbfa18aSmrg		os=-chorusrdb
1759f606849Smrg		basic_machine=$1
176cdbfa18aSmrg		;;
1779f606849Smrg	-hiux*)
1789f606849Smrg		os=-hiuxwe2
1799f606849Smrg		;;
1809f606849Smrg	-sco6)
1819f606849Smrg		os=-sco5v6
1829f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1839f606849Smrg		;;
1849f606849Smrg	-sco5)
1859f606849Smrg		os=-sco3.2v5
1869f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1879f606849Smrg		;;
1889f606849Smrg	-sco4)
1899f606849Smrg		os=-sco3.2v4
1909f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1919f606849Smrg		;;
1929f606849Smrg	-sco3.2.[4-9]*)
1939f606849Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1949f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1959f606849Smrg		;;
1969f606849Smrg	-sco3.2v[4-9]*)
1979f606849Smrg		# Don't forget version if it is 3.2v4 or newer.
1989f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1999f606849Smrg		;;
2009f606849Smrg	-sco5v6*)
2019f606849Smrg		# Don't forget version if it is 3.2v4 or newer.
2029f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2039f606849Smrg		;;
2049f606849Smrg	-sco*)
2059f606849Smrg		os=-sco3.2v2
2069f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2079f606849Smrg		;;
2089f606849Smrg	-udk*)
2099f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2109f606849Smrg		;;
2119f606849Smrg	-isc)
2129f606849Smrg		os=-isc2.2
2139f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2149f606849Smrg		;;
2159f606849Smrg	-clix*)
2169f606849Smrg		basic_machine=clipper-intergraph
2179f606849Smrg		;;
2189f606849Smrg	-isc*)
2199f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2209f606849Smrg		;;
221cdbfa18aSmrg	-lynx*178)
222cdbfa18aSmrg		os=-lynxos178
223cdbfa18aSmrg		;;
224cdbfa18aSmrg	-lynx*5)
225cdbfa18aSmrg		os=-lynxos5
226cdbfa18aSmrg		;;
2279f606849Smrg	-lynx*)
2289f606849Smrg		os=-lynxos
2299f606849Smrg		;;
2309f606849Smrg	-ptx*)
2319f606849Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2329f606849Smrg		;;
2339f606849Smrg	-windowsnt*)
2349f606849Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2359f606849Smrg		;;
2369f606849Smrg	-psos*)
2379f606849Smrg		os=-psos
2389f606849Smrg		;;
2399f606849Smrg	-mint | -mint[0-9]*)
2409f606849Smrg		basic_machine=m68k-atari
2419f606849Smrg		os=-mint
2429f606849Smrg		;;
2439f606849Smrgesac
2449f606849Smrg
2459f606849Smrg# Decode aliases for certain CPU-COMPANY combinations.
2469f606849Smrgcase $basic_machine in
2479f606849Smrg	# Recognize the basic CPU types without company name.
2489f606849Smrg	# Some are omitted here because they have special meanings below.
2499f606849Smrg	1750a | 580 \
2509f606849Smrg	| a29k \
251cdbfa18aSmrg	| aarch64 | aarch64_be \
2529f606849Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2539f606849Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2549f606849Smrg	| am33_2.0 \
255cdbfa18aSmrg	| arc | arceb \
256cdbfa18aSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257cdbfa18aSmrg	| avr | avr32 \
258cdbfa18aSmrg	| be32 | be64 \
2599f606849Smrg	| bfin \
260444fb138Smrg	| c4x | c8051 | clipper \
2619f606849Smrg	| d10v | d30v | dlx | dsp16xx \
262cdbfa18aSmrg	| epiphany \
263fba89afeSmrg	| fido | fr30 | frv \
2649f606849Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265cdbfa18aSmrg	| hexagon \
2669f606849Smrg	| i370 | i860 | i960 | ia64 \
2679f606849Smrg	| ip2k | iq2000 \
268cdbfa18aSmrg	| le32 | le64 \
269d5c3dbf1Smrg	| lm32 \
270fba89afeSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
271cdbfa18aSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2729f606849Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2739f606849Smrg	| mips16 \
2749f606849Smrg	| mips64 | mips64el \
275d5c3dbf1Smrg	| mips64octeon | mips64octeonel \
2769f606849Smrg	| mips64orion | mips64orionel \
277d5c3dbf1Smrg	| mips64r5900 | mips64r5900el \
278d5c3dbf1Smrg	| mips64vr | mips64vrel \
2799f606849Smrg	| mips64vr4100 | mips64vr4100el \
2809f606849Smrg	| mips64vr4300 | mips64vr4300el \
2819f606849Smrg	| mips64vr5000 | mips64vr5000el \
2829f606849Smrg	| mips64vr5900 | mips64vr5900el \
2839f606849Smrg	| mipsisa32 | mipsisa32el \
2849f606849Smrg	| mipsisa32r2 | mipsisa32r2el \
2859f606849Smrg	| mipsisa64 | mipsisa64el \
2869f606849Smrg	| mipsisa64r2 | mipsisa64r2el \
2879f606849Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2889f606849Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
289cdbfa18aSmrg	| mipsr5900 | mipsr5900el \
2909f606849Smrg	| mipstx39 | mipstx39el \
2919f606849Smrg	| mn10200 | mn10300 \
292d5c3dbf1Smrg	| moxie \
2939f606849Smrg	| mt \
2949f606849Smrg	| msp430 \
295d5c3dbf1Smrg	| nds32 | nds32le | nds32be \
296cdbfa18aSmrg	| nios | nios2 | nios2eb | nios2el \
2979f606849Smrg	| ns16k | ns32k \
298cdbfa18aSmrg	| open8 \
299cdbfa18aSmrg	| or1k | or32 \
3009f606849Smrg	| pdp10 | pdp11 | pj | pjl \
301cdbfa18aSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3029f606849Smrg	| pyramid \
303cdbfa18aSmrg	| rl78 | rx \
304fba89afeSmrg	| score \
305d5c3dbf1Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3069f606849Smrg	| sh64 | sh64le \
307fba89afeSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
308fba89afeSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
309cdbfa18aSmrg	| spu \
310cdbfa18aSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
311d5c3dbf1Smrg	| ubicom32 \
312cdbfa18aSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3139f606849Smrg	| we32k \
314cdbfa18aSmrg	| x86 | xc16x | xstormy16 | xtensa \
315d5c3dbf1Smrg	| z8k | z80)
3169f606849Smrg		basic_machine=$basic_machine-unknown
3179f606849Smrg		;;
318d5c3dbf1Smrg	c54x)
319d5c3dbf1Smrg		basic_machine=tic54x-unknown
320d5c3dbf1Smrg		;;
321d5c3dbf1Smrg	c55x)
322d5c3dbf1Smrg		basic_machine=tic55x-unknown
323d5c3dbf1Smrg		;;
324d5c3dbf1Smrg	c6x)
325d5c3dbf1Smrg		basic_machine=tic6x-unknown
326d5c3dbf1Smrg		;;
327cdbfa18aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3289f606849Smrg		basic_machine=$basic_machine-unknown
3299f606849Smrg		os=-none
3309f606849Smrg		;;
3319f606849Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3329f606849Smrg		;;
3339f606849Smrg	ms1)
3349f606849Smrg		basic_machine=mt-unknown
3359f606849Smrg		;;
3369f606849Smrg
337cdbfa18aSmrg	strongarm | thumb | xscale)
338cdbfa18aSmrg		basic_machine=arm-unknown
339cdbfa18aSmrg		;;
340cdbfa18aSmrg	xgate)
341cdbfa18aSmrg		basic_machine=$basic_machine-unknown
342cdbfa18aSmrg		os=-none
343cdbfa18aSmrg		;;
344cdbfa18aSmrg	xscaleeb)
345cdbfa18aSmrg		basic_machine=armeb-unknown
346cdbfa18aSmrg		;;
347cdbfa18aSmrg
348cdbfa18aSmrg	xscaleel)
349cdbfa18aSmrg		basic_machine=armel-unknown
350cdbfa18aSmrg		;;
351cdbfa18aSmrg
3529f606849Smrg	# We use `pc' rather than `unknown'
3539f606849Smrg	# because (1) that's what they normally are, and
3549f606849Smrg	# (2) the word "unknown" tends to confuse beginning users.
3559f606849Smrg	i*86 | x86_64)
3569f606849Smrg	  basic_machine=$basic_machine-pc
3579f606849Smrg	  ;;
3589f606849Smrg	# Object if more than one company name word.
3599f606849Smrg	*-*-*)
3609f606849Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3619f606849Smrg		exit 1
3629f606849Smrg		;;
3639f606849Smrg	# Recognize the basic CPU types with company name.
3649f606849Smrg	580-* \
3659f606849Smrg	| a29k-* \
366cdbfa18aSmrg	| aarch64-* | aarch64_be-* \
3679f606849Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3689f606849Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
369cdbfa18aSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3709f606849Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
371fba89afeSmrg	| avr-* | avr32-* \
372cdbfa18aSmrg	| be32-* | be64-* \
3739f606849Smrg	| bfin-* | bs2000-* \
374d5c3dbf1Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
375444fb138Smrg	| c8051-* | clipper-* | craynv-* | cydra-* \
3769f606849Smrg	| d10v-* | d30v-* | dlx-* \
3779f606849Smrg	| elxsi-* \
378fba89afeSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3799f606849Smrg	| h8300-* | h8500-* \
3809f606849Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
381cdbfa18aSmrg	| hexagon-* \
3829f606849Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3839f606849Smrg	| ip2k-* | iq2000-* \
384cdbfa18aSmrg	| le32-* | le64-* \
385d5c3dbf1Smrg	| lm32-* \
386fba89afeSmrg	| m32c-* | m32r-* | m32rle-* \
3879f606849Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
388cdbfa18aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
389cdbfa18aSmrg	| microblaze-* | microblazeel-* \
3909f606849Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3919f606849Smrg	| mips16-* \
3929f606849Smrg	| mips64-* | mips64el-* \
393d5c3dbf1Smrg	| mips64octeon-* | mips64octeonel-* \
3949f606849Smrg	| mips64orion-* | mips64orionel-* \
395d5c3dbf1Smrg	| mips64r5900-* | mips64r5900el-* \
396d5c3dbf1Smrg	| mips64vr-* | mips64vrel-* \
3979f606849Smrg	| mips64vr4100-* | mips64vr4100el-* \
3989f606849Smrg	| mips64vr4300-* | mips64vr4300el-* \
3999f606849Smrg	| mips64vr5000-* | mips64vr5000el-* \
4009f606849Smrg	| mips64vr5900-* | mips64vr5900el-* \
4019f606849Smrg	| mipsisa32-* | mipsisa32el-* \
4029f606849Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4039f606849Smrg	| mipsisa64-* | mipsisa64el-* \
4049f606849Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4059f606849Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4069f606849Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
407cdbfa18aSmrg	| mipsr5900-* | mipsr5900el-* \
4089f606849Smrg	| mipstx39-* | mipstx39el-* \
4099f606849Smrg	| mmix-* \
4109f606849Smrg	| mt-* \
4119f606849Smrg	| msp430-* \
412d5c3dbf1Smrg	| nds32-* | nds32le-* | nds32be-* \
413cdbfa18aSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
4149f606849Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
415cdbfa18aSmrg	| open8-* \
4169f606849Smrg	| orion-* \
4179f606849Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
418cdbfa18aSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4199f606849Smrg	| pyramid-* \
420cdbfa18aSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
421d5c3dbf1Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4229f606849Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
423fba89afeSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4249f606849Smrg	| sparclite-* \
425cdbfa18aSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
426cdbfa18aSmrg	| tahoe-* \
4279f606849Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
428cdbfa18aSmrg	| tile*-* \
4299f606849Smrg	| tron-* \
430d5c3dbf1Smrg	| ubicom32-* \
431cdbfa18aSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
432cdbfa18aSmrg	| vax-* \
4339f606849Smrg	| we32k-* \
434cdbfa18aSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
435fba89afeSmrg	| xstormy16-* | xtensa*-* \
4369f606849Smrg	| ymp-* \
437d5c3dbf1Smrg	| z8k-* | z80-*)
4389f606849Smrg		;;
439fba89afeSmrg	# Recognize the basic CPU types without company name, with glob match.
440fba89afeSmrg	xtensa*)
441fba89afeSmrg		basic_machine=$basic_machine-unknown
4429f606849Smrg		;;
4439f606849Smrg	# Recognize the various machine names and aliases which stand
4449f606849Smrg	# for a CPU type and a company and sometimes even an OS.
4459f606849Smrg	386bsd)
4469f606849Smrg		basic_machine=i386-unknown
4479f606849Smrg		os=-bsd
4489f606849Smrg		;;
4499f606849Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4509f606849Smrg		basic_machine=m68000-att
4519f606849Smrg		;;
4529f606849Smrg	3b*)
4539f606849Smrg		basic_machine=we32k-att
4549f606849Smrg		;;
4559f606849Smrg	a29khif)
4569f606849Smrg		basic_machine=a29k-amd
4579f606849Smrg		os=-udi
4589f606849Smrg		;;
459cdbfa18aSmrg	abacus)
4609f606849Smrg		basic_machine=abacus-unknown
4619f606849Smrg		;;
4629f606849Smrg	adobe68k)
4639f606849Smrg		basic_machine=m68010-adobe
4649f606849Smrg		os=-scout
4659f606849Smrg		;;
4669f606849Smrg	alliant | fx80)
4679f606849Smrg		basic_machine=fx80-alliant
4689f606849Smrg		;;
4699f606849Smrg	altos | altos3068)
4709f606849Smrg		basic_machine=m68k-altos
4719f606849Smrg		;;
4729f606849Smrg	am29k)
4739f606849Smrg		basic_machine=a29k-none
4749f606849Smrg		os=-bsd
4759f606849Smrg		;;
4769f606849Smrg	amd64)
4779f606849Smrg		basic_machine=x86_64-pc
4789f606849Smrg		;;
4799f606849Smrg	amd64-*)
4809f606849Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4819f606849Smrg		;;
4829f606849Smrg	amdahl)
4839f606849Smrg		basic_machine=580-amdahl
4849f606849Smrg		os=-sysv
4859f606849Smrg		;;
4869f606849Smrg	amiga | amiga-*)
4879f606849Smrg		basic_machine=m68k-unknown
4889f606849Smrg		;;
4899f606849Smrg	amigaos | amigados)
4909f606849Smrg		basic_machine=m68k-unknown
4919f606849Smrg		os=-amigaos
4929f606849Smrg		;;
4939f606849Smrg	amigaunix | amix)
4949f606849Smrg		basic_machine=m68k-unknown
4959f606849Smrg		os=-sysv4
4969f606849Smrg		;;
4979f606849Smrg	apollo68)
4989f606849Smrg		basic_machine=m68k-apollo
4999f606849Smrg		os=-sysv
5009f606849Smrg		;;
5019f606849Smrg	apollo68bsd)
5029f606849Smrg		basic_machine=m68k-apollo
5039f606849Smrg		os=-bsd
5049f606849Smrg		;;
505d5c3dbf1Smrg	aros)
506d5c3dbf1Smrg		basic_machine=i386-pc
507d5c3dbf1Smrg		os=-aros
508d5c3dbf1Smrg		;;
5099f606849Smrg	aux)
5109f606849Smrg		basic_machine=m68k-apple
5119f606849Smrg		os=-aux
5129f606849Smrg		;;
5139f606849Smrg	balance)
5149f606849Smrg		basic_machine=ns32k-sequent
5159f606849Smrg		os=-dynix
5169f606849Smrg		;;
517fba89afeSmrg	blackfin)
518fba89afeSmrg		basic_machine=bfin-unknown
519fba89afeSmrg		os=-linux
520fba89afeSmrg		;;
521fba89afeSmrg	blackfin-*)
522fba89afeSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
523fba89afeSmrg		os=-linux
524fba89afeSmrg		;;
525d5c3dbf1Smrg	bluegene*)
526d5c3dbf1Smrg		basic_machine=powerpc-ibm
527d5c3dbf1Smrg		os=-cnk
528d5c3dbf1Smrg		;;
529d5c3dbf1Smrg	c54x-*)
530d5c3dbf1Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
531d5c3dbf1Smrg		;;
532d5c3dbf1Smrg	c55x-*)
533d5c3dbf1Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
534d5c3dbf1Smrg		;;
535d5c3dbf1Smrg	c6x-*)
536d5c3dbf1Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
537d5c3dbf1Smrg		;;
5389f606849Smrg	c90)
5399f606849Smrg		basic_machine=c90-cray
5409f606849Smrg		os=-unicos
5419f606849Smrg		;;
542cdbfa18aSmrg	cegcc)
543d5c3dbf1Smrg		basic_machine=arm-unknown
544d5c3dbf1Smrg		os=-cegcc
545d5c3dbf1Smrg		;;
5469f606849Smrg	convex-c1)
5479f606849Smrg		basic_machine=c1-convex
5489f606849Smrg		os=-bsd
5499f606849Smrg		;;
5509f606849Smrg	convex-c2)
5519f606849Smrg		basic_machine=c2-convex
5529f606849Smrg		os=-bsd
5539f606849Smrg		;;
5549f606849Smrg	convex-c32)
5559f606849Smrg		basic_machine=c32-convex
5569f606849Smrg		os=-bsd
5579f606849Smrg		;;
5589f606849Smrg	convex-c34)
5599f606849Smrg		basic_machine=c34-convex
5609f606849Smrg		os=-bsd
5619f606849Smrg		;;
5629f606849Smrg	convex-c38)
5639f606849Smrg		basic_machine=c38-convex
5649f606849Smrg		os=-bsd
5659f606849Smrg		;;
5669f606849Smrg	cray | j90)
5679f606849Smrg		basic_machine=j90-cray
5689f606849Smrg		os=-unicos
5699f606849Smrg		;;
5709f606849Smrg	craynv)
5719f606849Smrg		basic_machine=craynv-cray
5729f606849Smrg		os=-unicosmp
5739f606849Smrg		;;
574cdbfa18aSmrg	cr16 | cr16-*)
575fba89afeSmrg		basic_machine=cr16-unknown
5769f606849Smrg		os=-elf
5779f606849Smrg		;;
5789f606849Smrg	crds | unos)
5799f606849Smrg		basic_machine=m68k-crds
5809f606849Smrg		;;
5819f606849Smrg	crisv32 | crisv32-* | etraxfs*)
5829f606849Smrg		basic_machine=crisv32-axis
5839f606849Smrg		;;
5849f606849Smrg	cris | cris-* | etrax*)
5859f606849Smrg		basic_machine=cris-axis
5869f606849Smrg		;;
5879f606849Smrg	crx)
5889f606849Smrg		basic_machine=crx-unknown
5899f606849Smrg		os=-elf
5909f606849Smrg		;;
5919f606849Smrg	da30 | da30-*)
5929f606849Smrg		basic_machine=m68k-da30
5939f606849Smrg		;;
5949f606849Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5959f606849Smrg		basic_machine=mips-dec
5969f606849Smrg		;;
5979f606849Smrg	decsystem10* | dec10*)
5989f606849Smrg		basic_machine=pdp10-dec
5999f606849Smrg		os=-tops10
6009f606849Smrg		;;
6019f606849Smrg	decsystem20* | dec20*)
6029f606849Smrg		basic_machine=pdp10-dec
6039f606849Smrg		os=-tops20
6049f606849Smrg		;;
6059f606849Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6069f606849Smrg	      | 3300-motorola | delta-motorola)
6079f606849Smrg		basic_machine=m68k-motorola
6089f606849Smrg		;;
6099f606849Smrg	delta88)
6109f606849Smrg		basic_machine=m88k-motorola
6119f606849Smrg		os=-sysv3
6129f606849Smrg		;;
613d5c3dbf1Smrg	dicos)
614d5c3dbf1Smrg		basic_machine=i686-pc
615d5c3dbf1Smrg		os=-dicos
616d5c3dbf1Smrg		;;
6179f606849Smrg	djgpp)
6189f606849Smrg		basic_machine=i586-pc
6199f606849Smrg		os=-msdosdjgpp
6209f606849Smrg		;;
6219f606849Smrg	dpx20 | dpx20-*)
6229f606849Smrg		basic_machine=rs6000-bull
6239f606849Smrg		os=-bosx
6249f606849Smrg		;;
6259f606849Smrg	dpx2* | dpx2*-bull)
6269f606849Smrg		basic_machine=m68k-bull
6279f606849Smrg		os=-sysv3
6289f606849Smrg		;;
6299f606849Smrg	ebmon29k)
6309f606849Smrg		basic_machine=a29k-amd
6319f606849Smrg		os=-ebmon
6329f606849Smrg		;;
6339f606849Smrg	elxsi)
6349f606849Smrg		basic_machine=elxsi-elxsi
6359f606849Smrg		os=-bsd
6369f606849Smrg		;;
6379f606849Smrg	encore | umax | mmax)
6389f606849Smrg		basic_machine=ns32k-encore
6399f606849Smrg		;;
6409f606849Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6419f606849Smrg		basic_machine=m68k-ericsson
6429f606849Smrg		os=-ose
6439f606849Smrg		;;
6449f606849Smrg	fx2800)
6459f606849Smrg		basic_machine=i860-alliant
6469f606849Smrg		;;
6479f606849Smrg	genix)
6489f606849Smrg		basic_machine=ns32k-ns
6499f606849Smrg		;;
6509f606849Smrg	gmicro)
6519f606849Smrg		basic_machine=tron-gmicro
6529f606849Smrg		os=-sysv
6539f606849Smrg		;;
6549f606849Smrg	go32)
6559f606849Smrg		basic_machine=i386-pc
6569f606849Smrg		os=-go32
6579f606849Smrg		;;
6589f606849Smrg	h3050r* | hiux*)
6599f606849Smrg		basic_machine=hppa1.1-hitachi
6609f606849Smrg		os=-hiuxwe2
6619f606849Smrg		;;
6629f606849Smrg	h8300hms)
6639f606849Smrg		basic_machine=h8300-hitachi
6649f606849Smrg		os=-hms
6659f606849Smrg		;;
6669f606849Smrg	h8300xray)
6679f606849Smrg		basic_machine=h8300-hitachi
6689f606849Smrg		os=-xray
6699f606849Smrg		;;
6709f606849Smrg	h8500hms)
6719f606849Smrg		basic_machine=h8500-hitachi
6729f606849Smrg		os=-hms
6739f606849Smrg		;;
6749f606849Smrg	harris)
6759f606849Smrg		basic_machine=m88k-harris
6769f606849Smrg		os=-sysv3
6779f606849Smrg		;;
6789f606849Smrg	hp300-*)
6799f606849Smrg		basic_machine=m68k-hp
6809f606849Smrg		;;
6819f606849Smrg	hp300bsd)
6829f606849Smrg		basic_machine=m68k-hp
6839f606849Smrg		os=-bsd
6849f606849Smrg		;;
6859f606849Smrg	hp300hpux)
6869f606849Smrg		basic_machine=m68k-hp
6879f606849Smrg		os=-hpux
6889f606849Smrg		;;
6899f606849Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6909f606849Smrg		basic_machine=hppa1.0-hp
6919f606849Smrg		;;
6929f606849Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6939f606849Smrg		basic_machine=m68000-hp
6949f606849Smrg		;;
6959f606849Smrg	hp9k3[2-9][0-9])
6969f606849Smrg		basic_machine=m68k-hp
6979f606849Smrg		;;
6989f606849Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6999f606849Smrg		basic_machine=hppa1.0-hp
7009f606849Smrg		;;
7019f606849Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7029f606849Smrg		basic_machine=hppa1.1-hp
7039f606849Smrg		;;
7049f606849Smrg	hp9k78[0-9] | hp78[0-9])
7059f606849Smrg		# FIXME: really hppa2.0-hp
7069f606849Smrg		basic_machine=hppa1.1-hp
7079f606849Smrg		;;
7089f606849Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7099f606849Smrg		# FIXME: really hppa2.0-hp
7109f606849Smrg		basic_machine=hppa1.1-hp
7119f606849Smrg		;;
7129f606849Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7139f606849Smrg		basic_machine=hppa1.1-hp
7149f606849Smrg		;;
7159f606849Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7169f606849Smrg		basic_machine=hppa1.0-hp
7179f606849Smrg		;;
7189f606849Smrg	hppa-next)
7199f606849Smrg		os=-nextstep3
7209f606849Smrg		;;
7219f606849Smrg	hppaosf)
7229f606849Smrg		basic_machine=hppa1.1-hp
7239f606849Smrg		os=-osf
7249f606849Smrg		;;
7259f606849Smrg	hppro)
7269f606849Smrg		basic_machine=hppa1.1-hp
7279f606849Smrg		os=-proelf
7289f606849Smrg		;;
7299f606849Smrg	i370-ibm* | ibm*)
7309f606849Smrg		basic_machine=i370-ibm
7319f606849Smrg		;;
7329f606849Smrg	i*86v32)
7339f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7349f606849Smrg		os=-sysv32
7359f606849Smrg		;;
7369f606849Smrg	i*86v4*)
7379f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7389f606849Smrg		os=-sysv4
7399f606849Smrg		;;
7409f606849Smrg	i*86v)
7419f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7429f606849Smrg		os=-sysv
7439f606849Smrg		;;
7449f606849Smrg	i*86sol2)
7459f606849Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7469f606849Smrg		os=-solaris2
7479f606849Smrg		;;
7489f606849Smrg	i386mach)
7499f606849Smrg		basic_machine=i386-mach
7509f606849Smrg		os=-mach
7519f606849Smrg		;;
7529f606849Smrg	i386-vsta | vsta)
7539f606849Smrg		basic_machine=i386-unknown
7549f606849Smrg		os=-vsta
7559f606849Smrg		;;
7569f606849Smrg	iris | iris4d)
7579f606849Smrg		basic_machine=mips-sgi
7589f606849Smrg		case $os in
7599f606849Smrg		    -irix*)
7609f606849Smrg			;;
7619f606849Smrg		    *)
7629f606849Smrg			os=-irix4
7639f606849Smrg			;;
7649f606849Smrg		esac
7659f606849Smrg		;;
7669f606849Smrg	isi68 | isi)
7679f606849Smrg		basic_machine=m68k-isi
7689f606849Smrg		os=-sysv
7699f606849Smrg		;;
770fba89afeSmrg	m68knommu)
771fba89afeSmrg		basic_machine=m68k-unknown
772fba89afeSmrg		os=-linux
773fba89afeSmrg		;;
774fba89afeSmrg	m68knommu-*)
775fba89afeSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
776fba89afeSmrg		os=-linux
777fba89afeSmrg		;;
7789f606849Smrg	m88k-omron*)
7799f606849Smrg		basic_machine=m88k-omron
7809f606849Smrg		;;
7819f606849Smrg	magnum | m3230)
7829f606849Smrg		basic_machine=mips-mips
7839f606849Smrg		os=-sysv
7849f606849Smrg		;;
7859f606849Smrg	merlin)
7869f606849Smrg		basic_machine=ns32k-utek
7879f606849Smrg		os=-sysv
7889f606849Smrg		;;
789cdbfa18aSmrg	microblaze*)
790d5c3dbf1Smrg		basic_machine=microblaze-xilinx
791d5c3dbf1Smrg		;;
792cdbfa18aSmrg	mingw64)
793cdbfa18aSmrg		basic_machine=x86_64-pc
794cdbfa18aSmrg		os=-mingw64
795cdbfa18aSmrg		;;
7969f606849Smrg	mingw32)
797444fb138Smrg		basic_machine=i686-pc
7989f606849Smrg		os=-mingw32
7999f606849Smrg		;;
800fba89afeSmrg	mingw32ce)
801fba89afeSmrg		basic_machine=arm-unknown
802fba89afeSmrg		os=-mingw32ce
803fba89afeSmrg		;;
8049f606849Smrg	miniframe)
8059f606849Smrg		basic_machine=m68000-convergent
8069f606849Smrg		;;
8079f606849Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8089f606849Smrg		basic_machine=m68k-atari
8099f606849Smrg		os=-mint
8109f606849Smrg		;;
8119f606849Smrg	mips3*-*)
8129f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8139f606849Smrg		;;
8149f606849Smrg	mips3*)
8159f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8169f606849Smrg		;;
8179f606849Smrg	monitor)
8189f606849Smrg		basic_machine=m68k-rom68k
8199f606849Smrg		os=-coff
8209f606849Smrg		;;
8219f606849Smrg	morphos)
8229f606849Smrg		basic_machine=powerpc-unknown
8239f606849Smrg		os=-morphos
8249f606849Smrg		;;
8259f606849Smrg	msdos)
8269f606849Smrg		basic_machine=i386-pc
8279f606849Smrg		os=-msdos
8289f606849Smrg		;;
8299f606849Smrg	ms1-*)
8309f606849Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8319f606849Smrg		;;
832cdbfa18aSmrg	msys)
833444fb138Smrg		basic_machine=i686-pc
834cdbfa18aSmrg		os=-msys
835cdbfa18aSmrg		;;
8369f606849Smrg	mvs)
8379f606849Smrg		basic_machine=i370-ibm
8389f606849Smrg		os=-mvs
8399f606849Smrg		;;
840cdbfa18aSmrg	nacl)
841cdbfa18aSmrg		basic_machine=le32-unknown
842cdbfa18aSmrg		os=-nacl
843cdbfa18aSmrg		;;
8449f606849Smrg	ncr3000)
8459f606849Smrg		basic_machine=i486-ncr
8469f606849Smrg		os=-sysv4
8479f606849Smrg		;;
8489f606849Smrg	netbsd386)
8499f606849Smrg		basic_machine=i386-unknown
8509f606849Smrg		os=-netbsd
8519f606849Smrg		;;
8529f606849Smrg	netwinder)
8539f606849Smrg		basic_machine=armv4l-rebel
8549f606849Smrg		os=-linux
8559f606849Smrg		;;
8569f606849Smrg	news | news700 | news800 | news900)
8579f606849Smrg		basic_machine=m68k-sony
8589f606849Smrg		os=-newsos
8599f606849Smrg		;;
8609f606849Smrg	news1000)
8619f606849Smrg		basic_machine=m68030-sony
8629f606849Smrg		os=-newsos
8639f606849Smrg		;;
8649f606849Smrg	news-3600 | risc-news)
8659f606849Smrg		basic_machine=mips-sony
8669f606849Smrg		os=-newsos
8679f606849Smrg		;;
8689f606849Smrg	necv70)
8699f606849Smrg		basic_machine=v70-nec
8709f606849Smrg		os=-sysv
8719f606849Smrg		;;
8729f606849Smrg	next | m*-next )
8739f606849Smrg		basic_machine=m68k-next
8749f606849Smrg		case $os in
8759f606849Smrg		    -nextstep* )
8769f606849Smrg			;;
8779f606849Smrg		    -ns2*)
8789f606849Smrg		      os=-nextstep2
8799f606849Smrg			;;
8809f606849Smrg		    *)
8819f606849Smrg		      os=-nextstep3
8829f606849Smrg			;;
8839f606849Smrg		esac
8849f606849Smrg		;;
8859f606849Smrg	nh3000)
8869f606849Smrg		basic_machine=m68k-harris
8879f606849Smrg		os=-cxux
8889f606849Smrg		;;
8899f606849Smrg	nh[45]000)
8909f606849Smrg		basic_machine=m88k-harris
8919f606849Smrg		os=-cxux
8929f606849Smrg		;;
8939f606849Smrg	nindy960)
8949f606849Smrg		basic_machine=i960-intel
8959f606849Smrg		os=-nindy
8969f606849Smrg		;;
8979f606849Smrg	mon960)
8989f606849Smrg		basic_machine=i960-intel
8999f606849Smrg		os=-mon960
9009f606849Smrg		;;
9019f606849Smrg	nonstopux)
9029f606849Smrg		basic_machine=mips-compaq
9039f606849Smrg		os=-nonstopux
9049f606849Smrg		;;
9059f606849Smrg	np1)
9069f606849Smrg		basic_machine=np1-gould
9079f606849Smrg		;;
908cdbfa18aSmrg	neo-tandem)
909d5c3dbf1Smrg		basic_machine=neo-tandem
910d5c3dbf1Smrg		;;
911cdbfa18aSmrg	nse-tandem)
912d5c3dbf1Smrg		basic_machine=nse-tandem
913d5c3dbf1Smrg		;;
9149f606849Smrg	nsr-tandem)
9159f606849Smrg		basic_machine=nsr-tandem
9169f606849Smrg		;;
9179f606849Smrg	op50n-* | op60c-*)
9189f606849Smrg		basic_machine=hppa1.1-oki
9199f606849Smrg		os=-proelf
9209f606849Smrg		;;
9219f606849Smrg	openrisc | openrisc-*)
9229f606849Smrg		basic_machine=or32-unknown
9239f606849Smrg		;;
9249f606849Smrg	os400)
9259f606849Smrg		basic_machine=powerpc-ibm
9269f606849Smrg		os=-os400
9279f606849Smrg		;;
9289f606849Smrg	OSE68000 | ose68000)
9299f606849Smrg		basic_machine=m68000-ericsson
9309f606849Smrg		os=-ose
9319f606849Smrg		;;
9329f606849Smrg	os68k)
9339f606849Smrg		basic_machine=m68k-none
9349f606849Smrg		os=-os68k
9359f606849Smrg		;;
9369f606849Smrg	pa-hitachi)
9379f606849Smrg		basic_machine=hppa1.1-hitachi
9389f606849Smrg		os=-hiuxwe2
9399f606849Smrg		;;
9409f606849Smrg	paragon)
9419f606849Smrg		basic_machine=i860-intel
9429f606849Smrg		os=-osf
9439f606849Smrg		;;
944fba89afeSmrg	parisc)
945fba89afeSmrg		basic_machine=hppa-unknown
946fba89afeSmrg		os=-linux
947fba89afeSmrg		;;
948fba89afeSmrg	parisc-*)
949fba89afeSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
950fba89afeSmrg		os=-linux
951fba89afeSmrg		;;
9529f606849Smrg	pbd)
9539f606849Smrg		basic_machine=sparc-tti
9549f606849Smrg		;;
9559f606849Smrg	pbb)
9569f606849Smrg		basic_machine=m68k-tti
9579f606849Smrg		;;
9589f606849Smrg	pc532 | pc532-*)
9599f606849Smrg		basic_machine=ns32k-pc532
9609f606849Smrg		;;
961fba89afeSmrg	pc98)
962fba89afeSmrg		basic_machine=i386-pc
963fba89afeSmrg		;;
964fba89afeSmrg	pc98-*)
965fba89afeSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
966fba89afeSmrg		;;
9679f606849Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9689f606849Smrg		basic_machine=i586-pc
9699f606849Smrg		;;
9709f606849Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9719f606849Smrg		basic_machine=i686-pc
9729f606849Smrg		;;
9739f606849Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9749f606849Smrg		basic_machine=i686-pc
9759f606849Smrg		;;
9769f606849Smrg	pentium4)
9779f606849Smrg		basic_machine=i786-pc
9789f606849Smrg		;;
9799f606849Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9809f606849Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9819f606849Smrg		;;
9829f606849Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9839f606849Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9849f606849Smrg		;;
9859f606849Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9869f606849Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9879f606849Smrg		;;
9889f606849Smrg	pentium4-*)
9899f606849Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9909f606849Smrg		;;
9919f606849Smrg	pn)
9929f606849Smrg		basic_machine=pn-gould
9939f606849Smrg		;;
9949f606849Smrg	power)	basic_machine=power-ibm
9959f606849Smrg		;;
996cdbfa18aSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9979f606849Smrg		;;
998cdbfa18aSmrg	ppc-* | ppcbe-*)
999cdbfa18aSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10009f606849Smrg		;;
10019f606849Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10029f606849Smrg		basic_machine=powerpcle-unknown
10039f606849Smrg		;;
10049f606849Smrg	ppcle-* | powerpclittle-*)
10059f606849Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10069f606849Smrg		;;
10079f606849Smrg	ppc64)	basic_machine=powerpc64-unknown
10089f606849Smrg		;;
10099f606849Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10109f606849Smrg		;;
10119f606849Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10129f606849Smrg		basic_machine=powerpc64le-unknown
10139f606849Smrg		;;
10149f606849Smrg	ppc64le-* | powerpc64little-*)
10159f606849Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10169f606849Smrg		;;
10179f606849Smrg	ps2)
10189f606849Smrg		basic_machine=i386-ibm
10199f606849Smrg		;;
10209f606849Smrg	pw32)
10219f606849Smrg		basic_machine=i586-unknown
10229f606849Smrg		os=-pw32
10239f606849Smrg		;;
1024cdbfa18aSmrg	rdos | rdos64)
1025cdbfa18aSmrg		basic_machine=x86_64-pc
1026cdbfa18aSmrg		os=-rdos
1027cdbfa18aSmrg		;;
1028cdbfa18aSmrg	rdos32)
10299f606849Smrg		basic_machine=i386-pc
10309f606849Smrg		os=-rdos
10319f606849Smrg		;;
10329f606849Smrg	rom68k)
10339f606849Smrg		basic_machine=m68k-rom68k
10349f606849Smrg		os=-coff
10359f606849Smrg		;;
10369f606849Smrg	rm[46]00)
10379f606849Smrg		basic_machine=mips-siemens
10389f606849Smrg		;;
10399f606849Smrg	rtpc | rtpc-*)
10409f606849Smrg		basic_machine=romp-ibm
10419f606849Smrg		;;
10429f606849Smrg	s390 | s390-*)
10439f606849Smrg		basic_machine=s390-ibm
10449f606849Smrg		;;
10459f606849Smrg	s390x | s390x-*)
10469f606849Smrg		basic_machine=s390x-ibm
10479f606849Smrg		;;
10489f606849Smrg	sa29200)
10499f606849Smrg		basic_machine=a29k-amd
10509f606849Smrg		os=-udi
10519f606849Smrg		;;
10529f606849Smrg	sb1)
10539f606849Smrg		basic_machine=mipsisa64sb1-unknown
10549f606849Smrg		;;
10559f606849Smrg	sb1el)
10569f606849Smrg		basic_machine=mipsisa64sb1el-unknown
10579f606849Smrg		;;
1058fba89afeSmrg	sde)
1059fba89afeSmrg		basic_machine=mipsisa32-sde
1060fba89afeSmrg		os=-elf
1061fba89afeSmrg		;;
10629f606849Smrg	sei)
10639f606849Smrg		basic_machine=mips-sei
10649f606849Smrg		os=-seiux
10659f606849Smrg		;;
10669f606849Smrg	sequent)
10679f606849Smrg		basic_machine=i386-sequent
10689f606849Smrg		;;
10699f606849Smrg	sh)
10709f606849Smrg		basic_machine=sh-hitachi
10719f606849Smrg		os=-hms
10729f606849Smrg		;;
1073fba89afeSmrg	sh5el)
1074fba89afeSmrg		basic_machine=sh5le-unknown
1075fba89afeSmrg		;;
10769f606849Smrg	sh64)
10779f606849Smrg		basic_machine=sh64-unknown
10789f606849Smrg		;;
10799f606849Smrg	sparclite-wrs | simso-wrs)
10809f606849Smrg		basic_machine=sparclite-wrs
10819f606849Smrg		os=-vxworks
10829f606849Smrg		;;
10839f606849Smrg	sps7)
10849f606849Smrg		basic_machine=m68k-bull
10859f606849Smrg		os=-sysv2
10869f606849Smrg		;;
10879f606849Smrg	spur)
10889f606849Smrg		basic_machine=spur-unknown
10899f606849Smrg		;;
10909f606849Smrg	st2000)
10919f606849Smrg		basic_machine=m68k-tandem
10929f606849Smrg		;;
10939f606849Smrg	stratus)
10949f606849Smrg		basic_machine=i860-stratus
10959f606849Smrg		os=-sysv4
10969f606849Smrg		;;
1097cdbfa18aSmrg	strongarm-* | thumb-*)
1098cdbfa18aSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1099cdbfa18aSmrg		;;
11009f606849Smrg	sun2)
11019f606849Smrg		basic_machine=m68000-sun
11029f606849Smrg		;;
11039f606849Smrg	sun2os3)
11049f606849Smrg		basic_machine=m68000-sun
11059f606849Smrg		os=-sunos3
11069f606849Smrg		;;
11079f606849Smrg	sun2os4)
11089f606849Smrg		basic_machine=m68000-sun
11099f606849Smrg		os=-sunos4
11109f606849Smrg		;;
11119f606849Smrg	sun3os3)
11129f606849Smrg		basic_machine=m68k-sun
11139f606849Smrg		os=-sunos3
11149f606849Smrg		;;
11159f606849Smrg	sun3os4)
11169f606849Smrg		basic_machine=m68k-sun
11179f606849Smrg		os=-sunos4
11189f606849Smrg		;;
11199f606849Smrg	sun4os3)
11209f606849Smrg		basic_machine=sparc-sun
11219f606849Smrg		os=-sunos3
11229f606849Smrg		;;
11239f606849Smrg	sun4os4)
11249f606849Smrg		basic_machine=sparc-sun
11259f606849Smrg		os=-sunos4
11269f606849Smrg		;;
11279f606849Smrg	sun4sol2)
11289f606849Smrg		basic_machine=sparc-sun
11299f606849Smrg		os=-solaris2
11309f606849Smrg		;;
11319f606849Smrg	sun3 | sun3-*)
11329f606849Smrg		basic_machine=m68k-sun
11339f606849Smrg		;;
11349f606849Smrg	sun4)
11359f606849Smrg		basic_machine=sparc-sun
11369f606849Smrg		;;
11379f606849Smrg	sun386 | sun386i | roadrunner)
11389f606849Smrg		basic_machine=i386-sun
11399f606849Smrg		;;
11409f606849Smrg	sv1)
11419f606849Smrg		basic_machine=sv1-cray
11429f606849Smrg		os=-unicos
11439f606849Smrg		;;
11449f606849Smrg	symmetry)
11459f606849Smrg		basic_machine=i386-sequent
11469f606849Smrg		os=-dynix
11479f606849Smrg		;;
11489f606849Smrg	t3e)
11499f606849Smrg		basic_machine=alphaev5-cray
11509f606849Smrg		os=-unicos
11519f606849Smrg		;;
11529f606849Smrg	t90)
11539f606849Smrg		basic_machine=t90-cray
11549f606849Smrg		os=-unicos
11559f606849Smrg		;;
1156fba89afeSmrg	tile*)
1157cdbfa18aSmrg		basic_machine=$basic_machine-unknown
1158fba89afeSmrg		os=-linux-gnu
1159fba89afeSmrg		;;
11609f606849Smrg	tx39)
11619f606849Smrg		basic_machine=mipstx39-unknown
11629f606849Smrg		;;
11639f606849Smrg	tx39el)
11649f606849Smrg		basic_machine=mipstx39el-unknown
11659f606849Smrg		;;
11669f606849Smrg	toad1)
11679f606849Smrg		basic_machine=pdp10-xkl
11689f606849Smrg		os=-tops20
11699f606849Smrg		;;
11709f606849Smrg	tower | tower-32)
11719f606849Smrg		basic_machine=m68k-ncr
11729f606849Smrg		;;
11739f606849Smrg	tpf)
11749f606849Smrg		basic_machine=s390x-ibm
11759f606849Smrg		os=-tpf
11769f606849Smrg		;;
11779f606849Smrg	udi29k)
11789f606849Smrg		basic_machine=a29k-amd
11799f606849Smrg		os=-udi
11809f606849Smrg		;;
11819f606849Smrg	ultra3)
11829f606849Smrg		basic_machine=a29k-nyu
11839f606849Smrg		os=-sym1
11849f606849Smrg		;;
11859f606849Smrg	v810 | necv810)
11869f606849Smrg		basic_machine=v810-nec
11879f606849Smrg		os=-none
11889f606849Smrg		;;
11899f606849Smrg	vaxv)
11909f606849Smrg		basic_machine=vax-dec
11919f606849Smrg		os=-sysv
11929f606849Smrg		;;
11939f606849Smrg	vms)
11949f606849Smrg		basic_machine=vax-dec
11959f606849Smrg		os=-vms
11969f606849Smrg		;;
11979f606849Smrg	vpp*|vx|vx-*)
11989f606849Smrg		basic_machine=f301-fujitsu
11999f606849Smrg		;;
12009f606849Smrg	vxworks960)
12019f606849Smrg		basic_machine=i960-wrs
12029f606849Smrg		os=-vxworks
12039f606849Smrg		;;
12049f606849Smrg	vxworks68)
12059f606849Smrg		basic_machine=m68k-wrs
12069f606849Smrg		os=-vxworks
12079f606849Smrg		;;
12089f606849Smrg	vxworks29k)
12099f606849Smrg		basic_machine=a29k-wrs
12109f606849Smrg		os=-vxworks
12119f606849Smrg		;;
12129f606849Smrg	w65*)
12139f606849Smrg		basic_machine=w65-wdc
12149f606849Smrg		os=-none
12159f606849Smrg		;;
12169f606849Smrg	w89k-*)
12179f606849Smrg		basic_machine=hppa1.1-winbond
12189f606849Smrg		os=-proelf
12199f606849Smrg		;;
12209f606849Smrg	xbox)
12219f606849Smrg		basic_machine=i686-pc
12229f606849Smrg		os=-mingw32
12239f606849Smrg		;;
12249f606849Smrg	xps | xps100)
12259f606849Smrg		basic_machine=xps100-honeywell
12269f606849Smrg		;;
1227cdbfa18aSmrg	xscale-* | xscalee[bl]-*)
1228cdbfa18aSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1229cdbfa18aSmrg		;;
12309f606849Smrg	ymp)
12319f606849Smrg		basic_machine=ymp-cray
12329f606849Smrg		os=-unicos
12339f606849Smrg		;;
12349f606849Smrg	z8k-*-coff)
12359f606849Smrg		basic_machine=z8k-unknown
12369f606849Smrg		os=-sim
12379f606849Smrg		;;
1238d5c3dbf1Smrg	z80-*-coff)
1239d5c3dbf1Smrg		basic_machine=z80-unknown
1240d5c3dbf1Smrg		os=-sim
1241d5c3dbf1Smrg		;;
12429f606849Smrg	none)
12439f606849Smrg		basic_machine=none-none
12449f606849Smrg		os=-none
12459f606849Smrg		;;
12469f606849Smrg
12479f606849Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12489f606849Smrg# some cases the only manufacturer, in others, it is the most popular.
12499f606849Smrg	w89k)
12509f606849Smrg		basic_machine=hppa1.1-winbond
12519f606849Smrg		;;
12529f606849Smrg	op50n)
12539f606849Smrg		basic_machine=hppa1.1-oki
12549f606849Smrg		;;
12559f606849Smrg	op60c)
12569f606849Smrg		basic_machine=hppa1.1-oki
12579f606849Smrg		;;
12589f606849Smrg	romp)
12599f606849Smrg		basic_machine=romp-ibm
12609f606849Smrg		;;
12619f606849Smrg	mmix)
12629f606849Smrg		basic_machine=mmix-knuth
12639f606849Smrg		;;
12649f606849Smrg	rs6000)
12659f606849Smrg		basic_machine=rs6000-ibm
12669f606849Smrg		;;
12679f606849Smrg	vax)
12689f606849Smrg		basic_machine=vax-dec
12699f606849Smrg		;;
12709f606849Smrg	pdp10)
12719f606849Smrg		# there are many clones, so DEC is not a safe bet
12729f606849Smrg		basic_machine=pdp10-unknown
12739f606849Smrg		;;
12749f606849Smrg	pdp11)
12759f606849Smrg		basic_machine=pdp11-dec
12769f606849Smrg		;;
12779f606849Smrg	we32k)
12789f606849Smrg		basic_machine=we32k-att
12799f606849Smrg		;;
1280d5c3dbf1Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12819f606849Smrg		basic_machine=sh-unknown
12829f606849Smrg		;;
1283fba89afeSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12849f606849Smrg		basic_machine=sparc-sun
12859f606849Smrg		;;
12869f606849Smrg	cydra)
12879f606849Smrg		basic_machine=cydra-cydrome
12889f606849Smrg		;;
12899f606849Smrg	orion)
12909f606849Smrg		basic_machine=orion-highlevel
12919f606849Smrg		;;
12929f606849Smrg	orion105)
12939f606849Smrg		basic_machine=clipper-highlevel
12949f606849Smrg		;;
12959f606849Smrg	mac | mpw | mac-mpw)
12969f606849Smrg		basic_machine=m68k-apple
12979f606849Smrg		;;
12989f606849Smrg	pmac | pmac-mpw)
12999f606849Smrg		basic_machine=powerpc-apple
13009f606849Smrg		;;
13019f606849Smrg	*-unknown)
13029f606849Smrg		# Make sure to match an already-canonicalized machine name.
13039f606849Smrg		;;
13049f606849Smrg	*)
13059f606849Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13069f606849Smrg		exit 1
13079f606849Smrg		;;
13089f606849Smrgesac
13099f606849Smrg
13109f606849Smrg# Here we canonicalize certain aliases for manufacturers.
13119f606849Smrgcase $basic_machine in
13129f606849Smrg	*-digital*)
13139f606849Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13149f606849Smrg		;;
13159f606849Smrg	*-commodore*)
13169f606849Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13179f606849Smrg		;;
13189f606849Smrg	*)
13199f606849Smrg		;;
13209f606849Smrgesac
13219f606849Smrg
13229f606849Smrg# Decode manufacturer-specific aliases for certain operating systems.
13239f606849Smrg
13249f606849Smrgif [ x"$os" != x"" ]
13259f606849Smrgthen
13269f606849Smrgcase $os in
1327cdbfa18aSmrg	# First match some system type aliases
1328cdbfa18aSmrg	# that might get confused with valid system types.
13299f606849Smrg	# -solaris* is a basic system type, with this one exception.
1330cdbfa18aSmrg	-auroraux)
1331cdbfa18aSmrg		os=-auroraux
1332d5c3dbf1Smrg		;;
13339f606849Smrg	-solaris1 | -solaris1.*)
13349f606849Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13359f606849Smrg		;;
13369f606849Smrg	-solaris)
13379f606849Smrg		os=-solaris2
13389f606849Smrg		;;
13399f606849Smrg	-svr4*)
13409f606849Smrg		os=-sysv4
13419f606849Smrg		;;
13429f606849Smrg	-unixware*)
13439f606849Smrg		os=-sysv4.2uw
13449f606849Smrg		;;
13459f606849Smrg	-gnu/linux*)
13469f606849Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13479f606849Smrg		;;
13489f606849Smrg	# First accept the basic system types.
13499f606849Smrg	# The portable systems comes first.
13509f606849Smrg	# Each alternative MUST END IN A *, to match a version number.
13519f606849Smrg	# -sysv* is not here because it comes later, after sysvr4.
13529f606849Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1353d5c3dbf1Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1354d5c3dbf1Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1355cdbfa18aSmrg	      | -sym* | -kopensolaris* | -plan9* \
13569f606849Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1357d5c3dbf1Smrg	      | -aos* | -aros* \
13589f606849Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13599f606849Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1360fba89afeSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1361cdbfa18aSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
13629f606849Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13639f606849Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13649f606849Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13659f606849Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1366d5c3dbf1Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
1367cdbfa18aSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1368cdbfa18aSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1369cdbfa18aSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13709f606849Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13719f606849Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13729f606849Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13739f606849Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13749f606849Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13759f606849Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13769f606849Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1377d5c3dbf1Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13789f606849Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13799f606849Smrg		;;
13809f606849Smrg	-qnx*)
13819f606849Smrg		case $basic_machine in
13829f606849Smrg		    x86-* | i*86-*)
13839f606849Smrg			;;
13849f606849Smrg		    *)
13859f606849Smrg			os=-nto$os
13869f606849Smrg			;;
13879f606849Smrg		esac
13889f606849Smrg		;;
13899f606849Smrg	-nto-qnx*)
13909f606849Smrg		;;
13919f606849Smrg	-nto*)
13929f606849Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13939f606849Smrg		;;
13949f606849Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13959f606849Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13969f606849Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13979f606849Smrg		;;
13989f606849Smrg	-mac*)
13999f606849Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14009f606849Smrg		;;
14019f606849Smrg	-linux-dietlibc)
14029f606849Smrg		os=-linux-dietlibc
14039f606849Smrg		;;
14049f606849Smrg	-linux*)
14059f606849Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14069f606849Smrg		;;
14079f606849Smrg	-sunos5*)
14089f606849Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14099f606849Smrg		;;
14109f606849Smrg	-sunos6*)
14119f606849Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14129f606849Smrg		;;
14139f606849Smrg	-opened*)
14149f606849Smrg		os=-openedition
14159f606849Smrg		;;
1416cdbfa18aSmrg	-os400*)
14179f606849Smrg		os=-os400
14189f606849Smrg		;;
14199f606849Smrg	-wince*)
14209f606849Smrg		os=-wince
14219f606849Smrg		;;
14229f606849Smrg	-osfrose*)
14239f606849Smrg		os=-osfrose
14249f606849Smrg		;;
14259f606849Smrg	-osf*)
14269f606849Smrg		os=-osf
14279f606849Smrg		;;
14289f606849Smrg	-utek*)
14299f606849Smrg		os=-bsd
14309f606849Smrg		;;
14319f606849Smrg	-dynix*)
14329f606849Smrg		os=-bsd
14339f606849Smrg		;;
14349f606849Smrg	-acis*)
14359f606849Smrg		os=-aos
14369f606849Smrg		;;
14379f606849Smrg	-atheos*)
14389f606849Smrg		os=-atheos
14399f606849Smrg		;;
14409f606849Smrg	-syllable*)
14419f606849Smrg		os=-syllable
14429f606849Smrg		;;
14439f606849Smrg	-386bsd)
14449f606849Smrg		os=-bsd
14459f606849Smrg		;;
14469f606849Smrg	-ctix* | -uts*)
14479f606849Smrg		os=-sysv
14489f606849Smrg		;;
14499f606849Smrg	-nova*)
14509f606849Smrg		os=-rtmk-nova
14519f606849Smrg		;;
14529f606849Smrg	-ns2 )
14539f606849Smrg		os=-nextstep2
14549f606849Smrg		;;
14559f606849Smrg	-nsk*)
14569f606849Smrg		os=-nsk
14579f606849Smrg		;;
14589f606849Smrg	# Preserve the version number of sinix5.
14599f606849Smrg	-sinix5.*)
14609f606849Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14619f606849Smrg		;;
14629f606849Smrg	-sinix*)
14639f606849Smrg		os=-sysv4
14649f606849Smrg		;;
1465cdbfa18aSmrg	-tpf*)
14669f606849Smrg		os=-tpf
14679f606849Smrg		;;
14689f606849Smrg	-triton*)
14699f606849Smrg		os=-sysv3
14709f606849Smrg		;;
14719f606849Smrg	-oss*)
14729f606849Smrg		os=-sysv3
14739f606849Smrg		;;
14749f606849Smrg	-svr4)
14759f606849Smrg		os=-sysv4
14769f606849Smrg		;;
14779f606849Smrg	-svr3)
14789f606849Smrg		os=-sysv3
14799f606849Smrg		;;
14809f606849Smrg	-sysvr4)
14819f606849Smrg		os=-sysv4
14829f606849Smrg		;;
14839f606849Smrg	# This must come after -sysvr4.
14849f606849Smrg	-sysv*)
14859f606849Smrg		;;
14869f606849Smrg	-ose*)
14879f606849Smrg		os=-ose
14889f606849Smrg		;;
14899f606849Smrg	-es1800*)
14909f606849Smrg		os=-ose
14919f606849Smrg		;;
14929f606849Smrg	-xenix)
14939f606849Smrg		os=-xenix
14949f606849Smrg		;;
14959f606849Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14969f606849Smrg		os=-mint
14979f606849Smrg		;;
14989f606849Smrg	-aros*)
14999f606849Smrg		os=-aros
15009f606849Smrg		;;
15019f606849Smrg	-zvmoe)
15029f606849Smrg		os=-zvmoe
15039f606849Smrg		;;
1504d5c3dbf1Smrg	-dicos*)
1505d5c3dbf1Smrg		os=-dicos
1506d5c3dbf1Smrg		;;
1507cdbfa18aSmrg	-nacl*)
1508cdbfa18aSmrg		;;
15099f606849Smrg	-none)
15109f606849Smrg		;;
15119f606849Smrg	*)
15129f606849Smrg		# Get rid of the `-' at the beginning of $os.
15139f606849Smrg		os=`echo $os | sed 's/[^-]*-//'`
15149f606849Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15159f606849Smrg		exit 1
15169f606849Smrg		;;
15179f606849Smrgesac
15189f606849Smrgelse
15199f606849Smrg
15209f606849Smrg# Here we handle the default operating systems that come with various machines.
15219f606849Smrg# The value should be what the vendor currently ships out the door with their
15229f606849Smrg# machine or put another way, the most popular os provided with the machine.
15239f606849Smrg
15249f606849Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15259f606849Smrg# "-sun"), then you have to tell the case statement up towards the top
15269f606849Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15279f606849Smrg# will signal an error saying that MANUFACTURER isn't an operating
15289f606849Smrg# system, and we'll never get to this point.
15299f606849Smrg
15309f606849Smrgcase $basic_machine in
1531cdbfa18aSmrg	score-*)
1532fba89afeSmrg		os=-elf
1533fba89afeSmrg		;;
1534cdbfa18aSmrg	spu-*)
1535fba89afeSmrg		os=-elf
1536fba89afeSmrg		;;
15379f606849Smrg	*-acorn)
15389f606849Smrg		os=-riscix1.2
15399f606849Smrg		;;
15409f606849Smrg	arm*-rebel)
15419f606849Smrg		os=-linux
15429f606849Smrg		;;
15439f606849Smrg	arm*-semi)
15449f606849Smrg		os=-aout
15459f606849Smrg		;;
1546cdbfa18aSmrg	c4x-* | tic4x-*)
1547cdbfa18aSmrg		os=-coff
1548cdbfa18aSmrg		;;
1549444fb138Smrg	c8051-*)
1550444fb138Smrg		os=-elf
1551444fb138Smrg		;;
1552cdbfa18aSmrg	hexagon-*)
1553cdbfa18aSmrg		os=-elf
1554fba89afeSmrg		;;
1555d5c3dbf1Smrg	tic54x-*)
1556d5c3dbf1Smrg		os=-coff
1557d5c3dbf1Smrg		;;
1558d5c3dbf1Smrg	tic55x-*)
1559d5c3dbf1Smrg		os=-coff
1560d5c3dbf1Smrg		;;
1561d5c3dbf1Smrg	tic6x-*)
1562d5c3dbf1Smrg		os=-coff
1563d5c3dbf1Smrg		;;
15649f606849Smrg	# This must come before the *-dec entry.
15659f606849Smrg	pdp10-*)
15669f606849Smrg		os=-tops20
15679f606849Smrg		;;
15689f606849Smrg	pdp11-*)
15699f606849Smrg		os=-none
15709f606849Smrg		;;
15719f606849Smrg	*-dec | vax-*)
15729f606849Smrg		os=-ultrix4.2
15739f606849Smrg		;;
15749f606849Smrg	m68*-apollo)
15759f606849Smrg		os=-domain
15769f606849Smrg		;;
15779f606849Smrg	i386-sun)
15789f606849Smrg		os=-sunos4.0.2
15799f606849Smrg		;;
15809f606849Smrg	m68000-sun)
15819f606849Smrg		os=-sunos3
15829f606849Smrg		;;
15839f606849Smrg	m68*-cisco)
15849f606849Smrg		os=-aout
15859f606849Smrg		;;
1586cdbfa18aSmrg	mep-*)
1587fba89afeSmrg		os=-elf
1588fba89afeSmrg		;;
15899f606849Smrg	mips*-cisco)
15909f606849Smrg		os=-elf
15919f606849Smrg		;;
15929f606849Smrg	mips*-*)
15939f606849Smrg		os=-elf
15949f606849Smrg		;;
1595cdbfa18aSmrg	or1k-*)
1596cdbfa18aSmrg		os=-elf
1597cdbfa18aSmrg		;;
15989f606849Smrg	or32-*)
15999f606849Smrg		os=-coff
16009f606849Smrg		;;
16019f606849Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
16029f606849Smrg		os=-sysv3
16039f606849Smrg		;;
16049f606849Smrg	sparc-* | *-sun)
16059f606849Smrg		os=-sunos4.1.1
16069f606849Smrg		;;
16079f606849Smrg	*-be)
16089f606849Smrg		os=-beos
16099f606849Smrg		;;
16109f606849Smrg	*-haiku)
16119f606849Smrg		os=-haiku
16129f606849Smrg		;;
16139f606849Smrg	*-ibm)
16149f606849Smrg		os=-aix
16159f606849Smrg		;;
1616cdbfa18aSmrg	*-knuth)
16179f606849Smrg		os=-mmixware
16189f606849Smrg		;;
16199f606849Smrg	*-wec)
16209f606849Smrg		os=-proelf
16219f606849Smrg		;;
16229f606849Smrg	*-winbond)
16239f606849Smrg		os=-proelf
16249f606849Smrg		;;
16259f606849Smrg	*-oki)
16269f606849Smrg		os=-proelf
16279f606849Smrg		;;
16289f606849Smrg	*-hp)
16299f606849Smrg		os=-hpux
16309f606849Smrg		;;
16319f606849Smrg	*-hitachi)
16329f606849Smrg		os=-hiux
16339f606849Smrg		;;
16349f606849Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16359f606849Smrg		os=-sysv
16369f606849Smrg		;;
16379f606849Smrg	*-cbm)
16389f606849Smrg		os=-amigaos
16399f606849Smrg		;;
16409f606849Smrg	*-dg)
16419f606849Smrg		os=-dgux
16429f606849Smrg		;;
16439f606849Smrg	*-dolphin)
16449f606849Smrg		os=-sysv3
16459f606849Smrg		;;
16469f606849Smrg	m68k-ccur)
16479f606849Smrg		os=-rtu
16489f606849Smrg		;;
16499f606849Smrg	m88k-omron*)
16509f606849Smrg		os=-luna
16519f606849Smrg		;;
16529f606849Smrg	*-next )
16539f606849Smrg		os=-nextstep
16549f606849Smrg		;;
16559f606849Smrg	*-sequent)
16569f606849Smrg		os=-ptx
16579f606849Smrg		;;
16589f606849Smrg	*-crds)
16599f606849Smrg		os=-unos
16609f606849Smrg		;;
16619f606849Smrg	*-ns)
16629f606849Smrg		os=-genix
16639f606849Smrg		;;
16649f606849Smrg	i370-*)
16659f606849Smrg		os=-mvs
16669f606849Smrg		;;
16679f606849Smrg	*-next)
16689f606849Smrg		os=-nextstep3
16699f606849Smrg		;;
16709f606849Smrg	*-gould)
16719f606849Smrg		os=-sysv
16729f606849Smrg		;;
16739f606849Smrg	*-highlevel)
16749f606849Smrg		os=-bsd
16759f606849Smrg		;;
16769f606849Smrg	*-encore)
16779f606849Smrg		os=-bsd
16789f606849Smrg		;;
16799f606849Smrg	*-sgi)
16809f606849Smrg		os=-irix
16819f606849Smrg		;;
16829f606849Smrg	*-siemens)
16839f606849Smrg		os=-sysv4
16849f606849Smrg		;;
16859f606849Smrg	*-masscomp)
16869f606849Smrg		os=-rtu
16879f606849Smrg		;;
16889f606849Smrg	f30[01]-fujitsu | f700-fujitsu)
16899f606849Smrg		os=-uxpv
16909f606849Smrg		;;
16919f606849Smrg	*-rom68k)
16929f606849Smrg		os=-coff
16939f606849Smrg		;;
16949f606849Smrg	*-*bug)
16959f606849Smrg		os=-coff
16969f606849Smrg		;;
16979f606849Smrg	*-apple)
16989f606849Smrg		os=-macos
16999f606849Smrg		;;
17009f606849Smrg	*-atari*)
17019f606849Smrg		os=-mint
17029f606849Smrg		;;
17039f606849Smrg	*)
17049f606849Smrg		os=-none
17059f606849Smrg		;;
17069f606849Smrgesac
17079f606849Smrgfi
17089f606849Smrg
17099f606849Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17109f606849Smrg# manufacturer.  We pick the logical manufacturer.
17119f606849Smrgvendor=unknown
17129f606849Smrgcase $basic_machine in
17139f606849Smrg	*-unknown)
17149f606849Smrg		case $os in
17159f606849Smrg			-riscix*)
17169f606849Smrg				vendor=acorn
17179f606849Smrg				;;
17189f606849Smrg			-sunos*)
17199f606849Smrg				vendor=sun
17209f606849Smrg				;;
1721d5c3dbf1Smrg			-cnk*|-aix*)
17229f606849Smrg				vendor=ibm
17239f606849Smrg				;;
17249f606849Smrg			-beos*)
17259f606849Smrg				vendor=be
17269f606849Smrg				;;
17279f606849Smrg			-hpux*)
17289f606849Smrg				vendor=hp
17299f606849Smrg				;;
17309f606849Smrg			-mpeix*)
17319f606849Smrg				vendor=hp
17329f606849Smrg				;;
17339f606849Smrg			-hiux*)
17349f606849Smrg				vendor=hitachi
17359f606849Smrg				;;
17369f606849Smrg			-unos*)
17379f606849Smrg				vendor=crds
17389f606849Smrg				;;
17399f606849Smrg			-dgux*)
17409f606849Smrg				vendor=dg
17419f606849Smrg				;;
17429f606849Smrg			-luna*)
17439f606849Smrg				vendor=omron
17449f606849Smrg				;;
17459f606849Smrg			-genix*)
17469f606849Smrg				vendor=ns
17479f606849Smrg				;;
17489f606849Smrg			-mvs* | -opened*)
17499f606849Smrg				vendor=ibm
17509f606849Smrg				;;
17519f606849Smrg			-os400*)
17529f606849Smrg				vendor=ibm
17539f606849Smrg				;;
17549f606849Smrg			-ptx*)
17559f606849Smrg				vendor=sequent
17569f606849Smrg				;;
17579f606849Smrg			-tpf*)
17589f606849Smrg				vendor=ibm
17599f606849Smrg				;;
17609f606849Smrg			-vxsim* | -vxworks* | -windiss*)
17619f606849Smrg				vendor=wrs
17629f606849Smrg				;;
17639f606849Smrg			-aux*)
17649f606849Smrg				vendor=apple
17659f606849Smrg				;;
17669f606849Smrg			-hms*)
17679f606849Smrg				vendor=hitachi
17689f606849Smrg				;;
17699f606849Smrg			-mpw* | -macos*)
17709f606849Smrg				vendor=apple
17719f606849Smrg				;;
17729f606849Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17739f606849Smrg				vendor=atari
17749f606849Smrg				;;
17759f606849Smrg			-vos*)
17769f606849Smrg				vendor=stratus
17779f606849Smrg				;;
17789f606849Smrg		esac
17799f606849Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17809f606849Smrg		;;
17819f606849Smrgesac
17829f606849Smrg
17839f606849Smrgecho $basic_machine$os
17849f606849Smrgexit
17859f606849Smrg
17869f606849Smrg# Local variables:
17879f606849Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17889f606849Smrg# time-stamp-start: "timestamp='"
17899f606849Smrg# time-stamp-format: "%:y-%02m-%02d"
17909f606849Smrg# time-stamp-end: "'"
17919f606849Smrg# End:
1792