config.sub revision 3e6c936a
14456fccdSmrg#! /bin/sh
24456fccdSmrg# Configuration validation subroutine script.
33e6c936aSmrg#   Copyright 1992-2013 Free Software Foundation, Inc.
44456fccdSmrg
53e6c936aSmrgtimestamp='2013-04-24'
64456fccdSmrg
73e6c936aSmrg# This file is free software; you can redistribute it and/or modify it
83e6c936aSmrg# under the terms of the GNU General Public License as published by
93e6c936aSmrg# the Free Software Foundation; either version 3 of the License, or
104456fccdSmrg# (at your option) any later version.
114456fccdSmrg#
123e6c936aSmrg# This program is distributed in the hope that it will be useful, but
133e6c936aSmrg# WITHOUT ANY WARRANTY; without even the implied warranty of
143e6c936aSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
153e6c936aSmrg# General Public License for more details.
164456fccdSmrg#
174456fccdSmrg# You should have received a copy of the GNU General Public License
183e6c936aSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
194456fccdSmrg#
204456fccdSmrg# As a special exception to the GNU General Public License, if you
214456fccdSmrg# distribute this file as part of a program that contains a
224456fccdSmrg# configuration script generated by Autoconf, you may include it under
233e6c936aSmrg# the same distribution terms that you use for the rest of that
243e6c936aSmrg# program.  This Exception is an additional permission under section 7
253e6c936aSmrg# of the GNU General Public License, version 3 ("GPLv3").
264456fccdSmrg
274456fccdSmrg
283e6c936aSmrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
294456fccdSmrg#
304456fccdSmrg# Configuration subroutine to validate and canonicalize a configuration type.
314456fccdSmrg# Supply the specified configuration type as an argument.
324456fccdSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
334456fccdSmrg# Otherwise, we print the canonical config type on stdout and succeed.
344456fccdSmrg
35521070a0Smrg# You can get the latest version of this script from:
36521070a0Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37521070a0Smrg
384456fccdSmrg# This file is supposed to be the same for all GNU packages
394456fccdSmrg# and recognize all the CPU types, system types and aliases
404456fccdSmrg# that are meaningful with *any* GNU software.
414456fccdSmrg# Each package is responsible for reporting which valid configurations
424456fccdSmrg# it does not support.  The user should be able to distinguish
434456fccdSmrg# a failure to support a valid configuration from a meaningless
444456fccdSmrg# configuration.
454456fccdSmrg
464456fccdSmrg# The goal of this file is to map all the various variations of a given
474456fccdSmrg# machine specification into a single specification in the form:
484456fccdSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
494456fccdSmrg# or in some cases, the newer four-part form:
504456fccdSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
514456fccdSmrg# It is wrong to echo any other type of specification.
524456fccdSmrg
534456fccdSmrgme=`echo "$0" | sed -e 's,.*/,,'`
544456fccdSmrg
554456fccdSmrgusage="\
564456fccdSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
574456fccdSmrg       $0 [OPTION] ALIAS
584456fccdSmrg
594456fccdSmrgCanonicalize a configuration name.
604456fccdSmrg
614456fccdSmrgOperation modes:
624456fccdSmrg  -h, --help         print this help, then exit
634456fccdSmrg  -t, --time-stamp   print date of last modification, then exit
644456fccdSmrg  -v, --version      print version number, then exit
654456fccdSmrg
664456fccdSmrgReport bugs and patches to <config-patches@gnu.org>."
674456fccdSmrg
684456fccdSmrgversion="\
694456fccdSmrgGNU config.sub ($timestamp)
704456fccdSmrg
713e6c936aSmrgCopyright 1992-2013 Free Software Foundation, Inc.
724456fccdSmrg
734456fccdSmrgThis is free software; see the source for copying conditions.  There is NO
744456fccdSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
754456fccdSmrg
764456fccdSmrghelp="
774456fccdSmrgTry \`$me --help' for more information."
784456fccdSmrg
794456fccdSmrg# Parse command line
804456fccdSmrgwhile test $# -gt 0 ; do
814456fccdSmrg  case $1 in
824456fccdSmrg    --time-stamp | --time* | -t )
834456fccdSmrg       echo "$timestamp" ; exit ;;
844456fccdSmrg    --version | -v )
854456fccdSmrg       echo "$version" ; exit ;;
864456fccdSmrg    --help | --h* | -h )
874456fccdSmrg       echo "$usage"; exit ;;
884456fccdSmrg    -- )     # Stop option processing
894456fccdSmrg       shift; break ;;
904456fccdSmrg    - )	# Use stdin as input.
914456fccdSmrg       break ;;
924456fccdSmrg    -* )
934456fccdSmrg       echo "$me: invalid option $1$help"
944456fccdSmrg       exit 1 ;;
954456fccdSmrg
964456fccdSmrg    *local*)
974456fccdSmrg       # First pass through any local machine types.
984456fccdSmrg       echo $1
994456fccdSmrg       exit ;;
1004456fccdSmrg
1014456fccdSmrg    * )
1024456fccdSmrg       break ;;
1034456fccdSmrg  esac
1044456fccdSmrgdone
1054456fccdSmrg
1064456fccdSmrgcase $# in
1074456fccdSmrg 0) echo "$me: missing argument$help" >&2
1084456fccdSmrg    exit 1;;
1094456fccdSmrg 1) ;;
1104456fccdSmrg *) echo "$me: too many arguments$help" >&2
1114456fccdSmrg    exit 1;;
1124456fccdSmrgesac
1134456fccdSmrg
1144456fccdSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1154456fccdSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1164456fccdSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1174456fccdSmrgcase $maybe_os in
1183e6c936aSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1193e6c936aSmrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
1203e6c936aSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
121521070a0Smrg  kopensolaris*-gnu* | \
1224456fccdSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1234456fccdSmrg    os=-$maybe_os
1244456fccdSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1254456fccdSmrg    ;;
1263e6c936aSmrg  android-linux)
1273e6c936aSmrg    os=-linux-android
1283e6c936aSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1293e6c936aSmrg    ;;
1304456fccdSmrg  *)
1314456fccdSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1324456fccdSmrg    if [ $basic_machine != $1 ]
1334456fccdSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1344456fccdSmrg    else os=; fi
1354456fccdSmrg    ;;
1364456fccdSmrgesac
1374456fccdSmrg
1384456fccdSmrg### Let's recognize common machines as not being operating systems so
1394456fccdSmrg### that things like config.sub decstation-3100 work.  We also
1404456fccdSmrg### recognize some manufacturers as not being operating systems, so we
1414456fccdSmrg### can provide default operating systems below.
1424456fccdSmrgcase $os in
1434456fccdSmrg	-sun*os*)
1444456fccdSmrg		# Prevent following clause from handling this invalid input.
1454456fccdSmrg		;;
1464456fccdSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1474456fccdSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1484456fccdSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1494456fccdSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1504456fccdSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1514456fccdSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1523e6c936aSmrg	-apple | -axis | -knuth | -cray | -microblaze*)
1534456fccdSmrg		os=
1544456fccdSmrg		basic_machine=$1
1554456fccdSmrg		;;
1563e6c936aSmrg	-bluegene*)
1573e6c936aSmrg		os=-cnk
158521070a0Smrg		;;
1594456fccdSmrg	-sim | -cisco | -oki | -wec | -winbond)
1604456fccdSmrg		os=
1614456fccdSmrg		basic_machine=$1
1624456fccdSmrg		;;
1634456fccdSmrg	-scout)
1644456fccdSmrg		;;
1654456fccdSmrg	-wrs)
1664456fccdSmrg		os=-vxworks
1674456fccdSmrg		basic_machine=$1
1684456fccdSmrg		;;
1694456fccdSmrg	-chorusos*)
1704456fccdSmrg		os=-chorusos
1714456fccdSmrg		basic_machine=$1
1724456fccdSmrg		;;
1733e6c936aSmrg	-chorusrdb)
1743e6c936aSmrg		os=-chorusrdb
1754456fccdSmrg		basic_machine=$1
1763e6c936aSmrg		;;
1774456fccdSmrg	-hiux*)
1784456fccdSmrg		os=-hiuxwe2
1794456fccdSmrg		;;
1804456fccdSmrg	-sco6)
1814456fccdSmrg		os=-sco5v6
1824456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1834456fccdSmrg		;;
1844456fccdSmrg	-sco5)
1854456fccdSmrg		os=-sco3.2v5
1864456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1874456fccdSmrg		;;
1884456fccdSmrg	-sco4)
1894456fccdSmrg		os=-sco3.2v4
1904456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1914456fccdSmrg		;;
1924456fccdSmrg	-sco3.2.[4-9]*)
1934456fccdSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1944456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1954456fccdSmrg		;;
1964456fccdSmrg	-sco3.2v[4-9]*)
1974456fccdSmrg		# Don't forget version if it is 3.2v4 or newer.
1984456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1994456fccdSmrg		;;
2004456fccdSmrg	-sco5v6*)
2014456fccdSmrg		# Don't forget version if it is 3.2v4 or newer.
2024456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2034456fccdSmrg		;;
2044456fccdSmrg	-sco*)
2054456fccdSmrg		os=-sco3.2v2
2064456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2074456fccdSmrg		;;
2084456fccdSmrg	-udk*)
2094456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2104456fccdSmrg		;;
2114456fccdSmrg	-isc)
2124456fccdSmrg		os=-isc2.2
2134456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2144456fccdSmrg		;;
2154456fccdSmrg	-clix*)
2164456fccdSmrg		basic_machine=clipper-intergraph
2174456fccdSmrg		;;
2184456fccdSmrg	-isc*)
2194456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2204456fccdSmrg		;;
2213e6c936aSmrg	-lynx*178)
2223e6c936aSmrg		os=-lynxos178
2233e6c936aSmrg		;;
2243e6c936aSmrg	-lynx*5)
2253e6c936aSmrg		os=-lynxos5
2263e6c936aSmrg		;;
2274456fccdSmrg	-lynx*)
2284456fccdSmrg		os=-lynxos
2294456fccdSmrg		;;
2304456fccdSmrg	-ptx*)
2314456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2324456fccdSmrg		;;
2334456fccdSmrg	-windowsnt*)
2344456fccdSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2354456fccdSmrg		;;
2364456fccdSmrg	-psos*)
2374456fccdSmrg		os=-psos
2384456fccdSmrg		;;
2394456fccdSmrg	-mint | -mint[0-9]*)
2404456fccdSmrg		basic_machine=m68k-atari
2414456fccdSmrg		os=-mint
2424456fccdSmrg		;;
2434456fccdSmrgesac
2444456fccdSmrg
2454456fccdSmrg# Decode aliases for certain CPU-COMPANY combinations.
2464456fccdSmrgcase $basic_machine in
2474456fccdSmrg	# Recognize the basic CPU types without company name.
2484456fccdSmrg	# Some are omitted here because they have special meanings below.
2494456fccdSmrg	1750a | 580 \
2504456fccdSmrg	| a29k \
2513e6c936aSmrg	| aarch64 | aarch64_be \
2524456fccdSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2534456fccdSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2544456fccdSmrg	| am33_2.0 \
2553e6c936aSmrg	| arc | arceb \
2563e6c936aSmrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2573e6c936aSmrg	| avr | avr32 \
2583e6c936aSmrg	| be32 | be64 \
2594456fccdSmrg	| bfin \
2604456fccdSmrg	| c4x | clipper \
2614456fccdSmrg	| d10v | d30v | dlx | dsp16xx \
2623e6c936aSmrg	| epiphany \
26342d69509Smrg	| fido | fr30 | frv \
2644456fccdSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2653e6c936aSmrg	| hexagon \
2664456fccdSmrg	| i370 | i860 | i960 | ia64 \
2674456fccdSmrg	| ip2k | iq2000 \
2683e6c936aSmrg	| le32 | le64 \
269521070a0Smrg	| lm32 \
27042d69509Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2713e6c936aSmrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2724456fccdSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2734456fccdSmrg	| mips16 \
2744456fccdSmrg	| mips64 | mips64el \
275521070a0Smrg	| mips64octeon | mips64octeonel \
2764456fccdSmrg	| mips64orion | mips64orionel \
277521070a0Smrg	| mips64r5900 | mips64r5900el \
278521070a0Smrg	| mips64vr | mips64vrel \
2794456fccdSmrg	| mips64vr4100 | mips64vr4100el \
2804456fccdSmrg	| mips64vr4300 | mips64vr4300el \
2814456fccdSmrg	| mips64vr5000 | mips64vr5000el \
2824456fccdSmrg	| mips64vr5900 | mips64vr5900el \
2834456fccdSmrg	| mipsisa32 | mipsisa32el \
2844456fccdSmrg	| mipsisa32r2 | mipsisa32r2el \
2854456fccdSmrg	| mipsisa64 | mipsisa64el \
2864456fccdSmrg	| mipsisa64r2 | mipsisa64r2el \
2874456fccdSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2884456fccdSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2893e6c936aSmrg	| mipsr5900 | mipsr5900el \
2904456fccdSmrg	| mipstx39 | mipstx39el \
2914456fccdSmrg	| mn10200 | mn10300 \
292521070a0Smrg	| moxie \
2934456fccdSmrg	| mt \
2944456fccdSmrg	| msp430 \
2953e6c936aSmrg	| nds32 | nds32le | nds32be \
2963e6c936aSmrg	| nios | nios2 | nios2eb | nios2el \
2974456fccdSmrg	| ns16k | ns32k \
2983e6c936aSmrg	| open8 \
2993e6c936aSmrg	| or1k | or32 \
3004456fccdSmrg	| pdp10 | pdp11 | pj | pjl \
3013e6c936aSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3024456fccdSmrg	| pyramid \
3033e6c936aSmrg	| rl78 | rx \
30442d69509Smrg	| score \
305521070a0Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3064456fccdSmrg	| sh64 | sh64le \
30742d69509Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
30842d69509Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3093e6c936aSmrg	| spu \
3103e6c936aSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
311521070a0Smrg	| ubicom32 \
3123e6c936aSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3134456fccdSmrg	| we32k \
3143e6c936aSmrg	| x86 | xc16x | xstormy16 | xtensa \
315521070a0Smrg	| z8k | z80)
3164456fccdSmrg		basic_machine=$basic_machine-unknown
3174456fccdSmrg		;;
3183e6c936aSmrg	c54x)
3193e6c936aSmrg		basic_machine=tic54x-unknown
3203e6c936aSmrg		;;
3213e6c936aSmrg	c55x)
3223e6c936aSmrg		basic_machine=tic55x-unknown
3233e6c936aSmrg		;;
3243e6c936aSmrg	c6x)
3253e6c936aSmrg		basic_machine=tic6x-unknown
3263e6c936aSmrg		;;
3273e6c936aSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3284456fccdSmrg		basic_machine=$basic_machine-unknown
3294456fccdSmrg		os=-none
3304456fccdSmrg		;;
3314456fccdSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3324456fccdSmrg		;;
3334456fccdSmrg	ms1)
3344456fccdSmrg		basic_machine=mt-unknown
3354456fccdSmrg		;;
3364456fccdSmrg
3373e6c936aSmrg	strongarm | thumb | xscale)
3383e6c936aSmrg		basic_machine=arm-unknown
3393e6c936aSmrg		;;
3403e6c936aSmrg	xgate)
3413e6c936aSmrg		basic_machine=$basic_machine-unknown
3423e6c936aSmrg		os=-none
3433e6c936aSmrg		;;
3443e6c936aSmrg	xscaleeb)
3453e6c936aSmrg		basic_machine=armeb-unknown
3463e6c936aSmrg		;;
3473e6c936aSmrg
3483e6c936aSmrg	xscaleel)
3493e6c936aSmrg		basic_machine=armel-unknown
3503e6c936aSmrg		;;
3513e6c936aSmrg
3524456fccdSmrg	# We use `pc' rather than `unknown'
3534456fccdSmrg	# because (1) that's what they normally are, and
3544456fccdSmrg	# (2) the word "unknown" tends to confuse beginning users.
3554456fccdSmrg	i*86 | x86_64)
3564456fccdSmrg	  basic_machine=$basic_machine-pc
3574456fccdSmrg	  ;;
3584456fccdSmrg	# Object if more than one company name word.
3594456fccdSmrg	*-*-*)
3604456fccdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3614456fccdSmrg		exit 1
3624456fccdSmrg		;;
3634456fccdSmrg	# Recognize the basic CPU types with company name.
3644456fccdSmrg	580-* \
3654456fccdSmrg	| a29k-* \
3663e6c936aSmrg	| aarch64-* | aarch64_be-* \
3674456fccdSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3684456fccdSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3693e6c936aSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
3704456fccdSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
37142d69509Smrg	| avr-* | avr32-* \
3723e6c936aSmrg	| be32-* | be64-* \
3734456fccdSmrg	| bfin-* | bs2000-* \
3743e6c936aSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3754456fccdSmrg	| clipper-* | craynv-* | cydra-* \
3764456fccdSmrg	| d10v-* | d30v-* | dlx-* \
3774456fccdSmrg	| elxsi-* \
37842d69509Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3794456fccdSmrg	| h8300-* | h8500-* \
3804456fccdSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3813e6c936aSmrg	| hexagon-* \
3824456fccdSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3834456fccdSmrg	| ip2k-* | iq2000-* \
3843e6c936aSmrg	| le32-* | le64-* \
385521070a0Smrg	| lm32-* \
38642d69509Smrg	| m32c-* | m32r-* | m32rle-* \
3874456fccdSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3883e6c936aSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3893e6c936aSmrg	| microblaze-* | microblazeel-* \
3904456fccdSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3914456fccdSmrg	| mips16-* \
3924456fccdSmrg	| mips64-* | mips64el-* \
393521070a0Smrg	| mips64octeon-* | mips64octeonel-* \
3944456fccdSmrg	| mips64orion-* | mips64orionel-* \
395521070a0Smrg	| mips64r5900-* | mips64r5900el-* \
396521070a0Smrg	| mips64vr-* | mips64vrel-* \
3974456fccdSmrg	| mips64vr4100-* | mips64vr4100el-* \
3984456fccdSmrg	| mips64vr4300-* | mips64vr4300el-* \
3994456fccdSmrg	| mips64vr5000-* | mips64vr5000el-* \
4004456fccdSmrg	| mips64vr5900-* | mips64vr5900el-* \
4014456fccdSmrg	| mipsisa32-* | mipsisa32el-* \
4024456fccdSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
4034456fccdSmrg	| mipsisa64-* | mipsisa64el-* \
4044456fccdSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
4054456fccdSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4064456fccdSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4073e6c936aSmrg	| mipsr5900-* | mipsr5900el-* \
4084456fccdSmrg	| mipstx39-* | mipstx39el-* \
4094456fccdSmrg	| mmix-* \
4104456fccdSmrg	| mt-* \
4114456fccdSmrg	| msp430-* \
4123e6c936aSmrg	| nds32-* | nds32le-* | nds32be-* \
4133e6c936aSmrg	| nios-* | nios2-* | nios2eb-* | nios2el-* \
4144456fccdSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
4153e6c936aSmrg	| open8-* \
4164456fccdSmrg	| orion-* \
4174456fccdSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4183e6c936aSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4194456fccdSmrg	| pyramid-* \
4203e6c936aSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
421521070a0Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4224456fccdSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
42342d69509Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4244456fccdSmrg	| sparclite-* \
4253e6c936aSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4263e6c936aSmrg	| tahoe-* \
4273e6c936aSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4283e6c936aSmrg	| tile*-* \
4294456fccdSmrg	| tron-* \
430521070a0Smrg	| ubicom32-* \
4313e6c936aSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4323e6c936aSmrg	| vax-* \
4334456fccdSmrg	| we32k-* \
4343e6c936aSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
43542d69509Smrg	| xstormy16-* | xtensa*-* \
4364456fccdSmrg	| ymp-* \
437521070a0Smrg	| z8k-* | z80-*)
4384456fccdSmrg		;;
43942d69509Smrg	# Recognize the basic CPU types without company name, with glob match.
44042d69509Smrg	xtensa*)
44142d69509Smrg		basic_machine=$basic_machine-unknown
4424456fccdSmrg		;;
4434456fccdSmrg	# Recognize the various machine names and aliases which stand
4444456fccdSmrg	# for a CPU type and a company and sometimes even an OS.
4454456fccdSmrg	386bsd)
4464456fccdSmrg		basic_machine=i386-unknown
4474456fccdSmrg		os=-bsd
4484456fccdSmrg		;;
4494456fccdSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4504456fccdSmrg		basic_machine=m68000-att
4514456fccdSmrg		;;
4524456fccdSmrg	3b*)
4534456fccdSmrg		basic_machine=we32k-att
4544456fccdSmrg		;;
4554456fccdSmrg	a29khif)
4564456fccdSmrg		basic_machine=a29k-amd
4574456fccdSmrg		os=-udi
4584456fccdSmrg		;;
4593e6c936aSmrg	abacus)
4604456fccdSmrg		basic_machine=abacus-unknown
4614456fccdSmrg		;;
4624456fccdSmrg	adobe68k)
4634456fccdSmrg		basic_machine=m68010-adobe
4644456fccdSmrg		os=-scout
4654456fccdSmrg		;;
4664456fccdSmrg	alliant | fx80)
4674456fccdSmrg		basic_machine=fx80-alliant
4684456fccdSmrg		;;
4694456fccdSmrg	altos | altos3068)
4704456fccdSmrg		basic_machine=m68k-altos
4714456fccdSmrg		;;
4724456fccdSmrg	am29k)
4734456fccdSmrg		basic_machine=a29k-none
4744456fccdSmrg		os=-bsd
4754456fccdSmrg		;;
4764456fccdSmrg	amd64)
4774456fccdSmrg		basic_machine=x86_64-pc
4784456fccdSmrg		;;
4794456fccdSmrg	amd64-*)
4804456fccdSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4814456fccdSmrg		;;
4824456fccdSmrg	amdahl)
4834456fccdSmrg		basic_machine=580-amdahl
4844456fccdSmrg		os=-sysv
4854456fccdSmrg		;;
4864456fccdSmrg	amiga | amiga-*)
4874456fccdSmrg		basic_machine=m68k-unknown
4884456fccdSmrg		;;
4894456fccdSmrg	amigaos | amigados)
4904456fccdSmrg		basic_machine=m68k-unknown
4914456fccdSmrg		os=-amigaos
4924456fccdSmrg		;;
4934456fccdSmrg	amigaunix | amix)
4944456fccdSmrg		basic_machine=m68k-unknown
4954456fccdSmrg		os=-sysv4
4964456fccdSmrg		;;
4974456fccdSmrg	apollo68)
4984456fccdSmrg		basic_machine=m68k-apollo
4994456fccdSmrg		os=-sysv
5004456fccdSmrg		;;
5014456fccdSmrg	apollo68bsd)
5024456fccdSmrg		basic_machine=m68k-apollo
5034456fccdSmrg		os=-bsd
5044456fccdSmrg		;;
505521070a0Smrg	aros)
506521070a0Smrg		basic_machine=i386-pc
507521070a0Smrg		os=-aros
508521070a0Smrg		;;
5094456fccdSmrg	aux)
5104456fccdSmrg		basic_machine=m68k-apple
5114456fccdSmrg		os=-aux
5124456fccdSmrg		;;
5134456fccdSmrg	balance)
5144456fccdSmrg		basic_machine=ns32k-sequent
5154456fccdSmrg		os=-dynix
5164456fccdSmrg		;;
51742d69509Smrg	blackfin)
51842d69509Smrg		basic_machine=bfin-unknown
51942d69509Smrg		os=-linux
52042d69509Smrg		;;
52142d69509Smrg	blackfin-*)
52242d69509Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
52342d69509Smrg		os=-linux
52442d69509Smrg		;;
525521070a0Smrg	bluegene*)
526521070a0Smrg		basic_machine=powerpc-ibm
527521070a0Smrg		os=-cnk
528521070a0Smrg		;;
5293e6c936aSmrg	c54x-*)
5303e6c936aSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
5313e6c936aSmrg		;;
5323e6c936aSmrg	c55x-*)
5333e6c936aSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
5343e6c936aSmrg		;;
5353e6c936aSmrg	c6x-*)
5363e6c936aSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
5373e6c936aSmrg		;;
5384456fccdSmrg	c90)
5394456fccdSmrg		basic_machine=c90-cray
5404456fccdSmrg		os=-unicos
5414456fccdSmrg		;;
5423e6c936aSmrg	cegcc)
543521070a0Smrg		basic_machine=arm-unknown
544521070a0Smrg		os=-cegcc
545521070a0Smrg		;;
5464456fccdSmrg	convex-c1)
5474456fccdSmrg		basic_machine=c1-convex
5484456fccdSmrg		os=-bsd
5494456fccdSmrg		;;
5504456fccdSmrg	convex-c2)
5514456fccdSmrg		basic_machine=c2-convex
5524456fccdSmrg		os=-bsd
5534456fccdSmrg		;;
5544456fccdSmrg	convex-c32)
5554456fccdSmrg		basic_machine=c32-convex
5564456fccdSmrg		os=-bsd
5574456fccdSmrg		;;
5584456fccdSmrg	convex-c34)
5594456fccdSmrg		basic_machine=c34-convex
5604456fccdSmrg		os=-bsd
5614456fccdSmrg		;;
5624456fccdSmrg	convex-c38)
5634456fccdSmrg		basic_machine=c38-convex
5644456fccdSmrg		os=-bsd
5654456fccdSmrg		;;
5664456fccdSmrg	cray | j90)
5674456fccdSmrg		basic_machine=j90-cray
5684456fccdSmrg		os=-unicos
5694456fccdSmrg		;;
5704456fccdSmrg	craynv)
5714456fccdSmrg		basic_machine=craynv-cray
5724456fccdSmrg		os=-unicosmp
5734456fccdSmrg		;;
5743e6c936aSmrg	cr16 | cr16-*)
57542d69509Smrg		basic_machine=cr16-unknown
5764456fccdSmrg		os=-elf
5774456fccdSmrg		;;
5784456fccdSmrg	crds | unos)
5794456fccdSmrg		basic_machine=m68k-crds
5804456fccdSmrg		;;
5814456fccdSmrg	crisv32 | crisv32-* | etraxfs*)
5824456fccdSmrg		basic_machine=crisv32-axis
5834456fccdSmrg		;;
5844456fccdSmrg	cris | cris-* | etrax*)
5854456fccdSmrg		basic_machine=cris-axis
5864456fccdSmrg		;;
5874456fccdSmrg	crx)
5884456fccdSmrg		basic_machine=crx-unknown
5894456fccdSmrg		os=-elf
5904456fccdSmrg		;;
5914456fccdSmrg	da30 | da30-*)
5924456fccdSmrg		basic_machine=m68k-da30
5934456fccdSmrg		;;
5944456fccdSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5954456fccdSmrg		basic_machine=mips-dec
5964456fccdSmrg		;;
5974456fccdSmrg	decsystem10* | dec10*)
5984456fccdSmrg		basic_machine=pdp10-dec
5994456fccdSmrg		os=-tops10
6004456fccdSmrg		;;
6014456fccdSmrg	decsystem20* | dec20*)
6024456fccdSmrg		basic_machine=pdp10-dec
6034456fccdSmrg		os=-tops20
6044456fccdSmrg		;;
6054456fccdSmrg	delta | 3300 | motorola-3300 | motorola-delta \
6064456fccdSmrg	      | 3300-motorola | delta-motorola)
6074456fccdSmrg		basic_machine=m68k-motorola
6084456fccdSmrg		;;
6094456fccdSmrg	delta88)
6104456fccdSmrg		basic_machine=m88k-motorola
6114456fccdSmrg		os=-sysv3
6124456fccdSmrg		;;
613521070a0Smrg	dicos)
614521070a0Smrg		basic_machine=i686-pc
615521070a0Smrg		os=-dicos
616521070a0Smrg		;;
6174456fccdSmrg	djgpp)
6184456fccdSmrg		basic_machine=i586-pc
6194456fccdSmrg		os=-msdosdjgpp
6204456fccdSmrg		;;
6214456fccdSmrg	dpx20 | dpx20-*)
6224456fccdSmrg		basic_machine=rs6000-bull
6234456fccdSmrg		os=-bosx
6244456fccdSmrg		;;
6254456fccdSmrg	dpx2* | dpx2*-bull)
6264456fccdSmrg		basic_machine=m68k-bull
6274456fccdSmrg		os=-sysv3
6284456fccdSmrg		;;
6294456fccdSmrg	ebmon29k)
6304456fccdSmrg		basic_machine=a29k-amd
6314456fccdSmrg		os=-ebmon
6324456fccdSmrg		;;
6334456fccdSmrg	elxsi)
6344456fccdSmrg		basic_machine=elxsi-elxsi
6354456fccdSmrg		os=-bsd
6364456fccdSmrg		;;
6374456fccdSmrg	encore | umax | mmax)
6384456fccdSmrg		basic_machine=ns32k-encore
6394456fccdSmrg		;;
6404456fccdSmrg	es1800 | OSE68k | ose68k | ose | OSE)
6414456fccdSmrg		basic_machine=m68k-ericsson
6424456fccdSmrg		os=-ose
6434456fccdSmrg		;;
6444456fccdSmrg	fx2800)
6454456fccdSmrg		basic_machine=i860-alliant
6464456fccdSmrg		;;
6474456fccdSmrg	genix)
6484456fccdSmrg		basic_machine=ns32k-ns
6494456fccdSmrg		;;
6504456fccdSmrg	gmicro)
6514456fccdSmrg		basic_machine=tron-gmicro
6524456fccdSmrg		os=-sysv
6534456fccdSmrg		;;
6544456fccdSmrg	go32)
6554456fccdSmrg		basic_machine=i386-pc
6564456fccdSmrg		os=-go32
6574456fccdSmrg		;;
6584456fccdSmrg	h3050r* | hiux*)
6594456fccdSmrg		basic_machine=hppa1.1-hitachi
6604456fccdSmrg		os=-hiuxwe2
6614456fccdSmrg		;;
6624456fccdSmrg	h8300hms)
6634456fccdSmrg		basic_machine=h8300-hitachi
6644456fccdSmrg		os=-hms
6654456fccdSmrg		;;
6664456fccdSmrg	h8300xray)
6674456fccdSmrg		basic_machine=h8300-hitachi
6684456fccdSmrg		os=-xray
6694456fccdSmrg		;;
6704456fccdSmrg	h8500hms)
6714456fccdSmrg		basic_machine=h8500-hitachi
6724456fccdSmrg		os=-hms
6734456fccdSmrg		;;
6744456fccdSmrg	harris)
6754456fccdSmrg		basic_machine=m88k-harris
6764456fccdSmrg		os=-sysv3
6774456fccdSmrg		;;
6784456fccdSmrg	hp300-*)
6794456fccdSmrg		basic_machine=m68k-hp
6804456fccdSmrg		;;
6814456fccdSmrg	hp300bsd)
6824456fccdSmrg		basic_machine=m68k-hp
6834456fccdSmrg		os=-bsd
6844456fccdSmrg		;;
6854456fccdSmrg	hp300hpux)
6864456fccdSmrg		basic_machine=m68k-hp
6874456fccdSmrg		os=-hpux
6884456fccdSmrg		;;
6894456fccdSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6904456fccdSmrg		basic_machine=hppa1.0-hp
6914456fccdSmrg		;;
6924456fccdSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6934456fccdSmrg		basic_machine=m68000-hp
6944456fccdSmrg		;;
6954456fccdSmrg	hp9k3[2-9][0-9])
6964456fccdSmrg		basic_machine=m68k-hp
6974456fccdSmrg		;;
6984456fccdSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6994456fccdSmrg		basic_machine=hppa1.0-hp
7004456fccdSmrg		;;
7014456fccdSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7024456fccdSmrg		basic_machine=hppa1.1-hp
7034456fccdSmrg		;;
7044456fccdSmrg	hp9k78[0-9] | hp78[0-9])
7054456fccdSmrg		# FIXME: really hppa2.0-hp
7064456fccdSmrg		basic_machine=hppa1.1-hp
7074456fccdSmrg		;;
7084456fccdSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7094456fccdSmrg		# FIXME: really hppa2.0-hp
7104456fccdSmrg		basic_machine=hppa1.1-hp
7114456fccdSmrg		;;
7124456fccdSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7134456fccdSmrg		basic_machine=hppa1.1-hp
7144456fccdSmrg		;;
7154456fccdSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7164456fccdSmrg		basic_machine=hppa1.0-hp
7174456fccdSmrg		;;
7184456fccdSmrg	hppa-next)
7194456fccdSmrg		os=-nextstep3
7204456fccdSmrg		;;
7214456fccdSmrg	hppaosf)
7224456fccdSmrg		basic_machine=hppa1.1-hp
7234456fccdSmrg		os=-osf
7244456fccdSmrg		;;
7254456fccdSmrg	hppro)
7264456fccdSmrg		basic_machine=hppa1.1-hp
7274456fccdSmrg		os=-proelf
7284456fccdSmrg		;;
7294456fccdSmrg	i370-ibm* | ibm*)
7304456fccdSmrg		basic_machine=i370-ibm
7314456fccdSmrg		;;
7324456fccdSmrg	i*86v32)
7334456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7344456fccdSmrg		os=-sysv32
7354456fccdSmrg		;;
7364456fccdSmrg	i*86v4*)
7374456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7384456fccdSmrg		os=-sysv4
7394456fccdSmrg		;;
7404456fccdSmrg	i*86v)
7414456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7424456fccdSmrg		os=-sysv
7434456fccdSmrg		;;
7444456fccdSmrg	i*86sol2)
7454456fccdSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7464456fccdSmrg		os=-solaris2
7474456fccdSmrg		;;
7484456fccdSmrg	i386mach)
7494456fccdSmrg		basic_machine=i386-mach
7504456fccdSmrg		os=-mach
7514456fccdSmrg		;;
7524456fccdSmrg	i386-vsta | vsta)
7534456fccdSmrg		basic_machine=i386-unknown
7544456fccdSmrg		os=-vsta
7554456fccdSmrg		;;
7564456fccdSmrg	iris | iris4d)
7574456fccdSmrg		basic_machine=mips-sgi
7584456fccdSmrg		case $os in
7594456fccdSmrg		    -irix*)
7604456fccdSmrg			;;
7614456fccdSmrg		    *)
7624456fccdSmrg			os=-irix4
7634456fccdSmrg			;;
7644456fccdSmrg		esac
7654456fccdSmrg		;;
7664456fccdSmrg	isi68 | isi)
7674456fccdSmrg		basic_machine=m68k-isi
7684456fccdSmrg		os=-sysv
7694456fccdSmrg		;;
77042d69509Smrg	m68knommu)
77142d69509Smrg		basic_machine=m68k-unknown
77242d69509Smrg		os=-linux
77342d69509Smrg		;;
77442d69509Smrg	m68knommu-*)
77542d69509Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
77642d69509Smrg		os=-linux
77742d69509Smrg		;;
7784456fccdSmrg	m88k-omron*)
7794456fccdSmrg		basic_machine=m88k-omron
7804456fccdSmrg		;;
7814456fccdSmrg	magnum | m3230)
7824456fccdSmrg		basic_machine=mips-mips
7834456fccdSmrg		os=-sysv
7844456fccdSmrg		;;
7854456fccdSmrg	merlin)
7864456fccdSmrg		basic_machine=ns32k-utek
7874456fccdSmrg		os=-sysv
7884456fccdSmrg		;;
7893e6c936aSmrg	microblaze*)
790521070a0Smrg		basic_machine=microblaze-xilinx
791521070a0Smrg		;;
7923e6c936aSmrg	mingw64)
7933e6c936aSmrg		basic_machine=x86_64-pc
7943e6c936aSmrg		os=-mingw64
7953e6c936aSmrg		;;
7964456fccdSmrg	mingw32)
7974456fccdSmrg		basic_machine=i386-pc
7984456fccdSmrg		os=-mingw32
7994456fccdSmrg		;;
80042d69509Smrg	mingw32ce)
80142d69509Smrg		basic_machine=arm-unknown
80242d69509Smrg		os=-mingw32ce
80342d69509Smrg		;;
8044456fccdSmrg	miniframe)
8054456fccdSmrg		basic_machine=m68000-convergent
8064456fccdSmrg		;;
8074456fccdSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8084456fccdSmrg		basic_machine=m68k-atari
8094456fccdSmrg		os=-mint
8104456fccdSmrg		;;
8114456fccdSmrg	mips3*-*)
8124456fccdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8134456fccdSmrg		;;
8144456fccdSmrg	mips3*)
8154456fccdSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8164456fccdSmrg		;;
8174456fccdSmrg	monitor)
8184456fccdSmrg		basic_machine=m68k-rom68k
8194456fccdSmrg		os=-coff
8204456fccdSmrg		;;
8214456fccdSmrg	morphos)
8224456fccdSmrg		basic_machine=powerpc-unknown
8234456fccdSmrg		os=-morphos
8244456fccdSmrg		;;
8254456fccdSmrg	msdos)
8264456fccdSmrg		basic_machine=i386-pc
8274456fccdSmrg		os=-msdos
8284456fccdSmrg		;;
8294456fccdSmrg	ms1-*)
8304456fccdSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8314456fccdSmrg		;;
8323e6c936aSmrg	msys)
8333e6c936aSmrg		basic_machine=i386-pc
8343e6c936aSmrg		os=-msys
8353e6c936aSmrg		;;
8364456fccdSmrg	mvs)
8374456fccdSmrg		basic_machine=i370-ibm
8384456fccdSmrg		os=-mvs
8394456fccdSmrg		;;
8403e6c936aSmrg	nacl)
8413e6c936aSmrg		basic_machine=le32-unknown
8423e6c936aSmrg		os=-nacl
8433e6c936aSmrg		;;
8444456fccdSmrg	ncr3000)
8454456fccdSmrg		basic_machine=i486-ncr
8464456fccdSmrg		os=-sysv4
8474456fccdSmrg		;;
8484456fccdSmrg	netbsd386)
8494456fccdSmrg		basic_machine=i386-unknown
8504456fccdSmrg		os=-netbsd
8514456fccdSmrg		;;
8524456fccdSmrg	netwinder)
8534456fccdSmrg		basic_machine=armv4l-rebel
8544456fccdSmrg		os=-linux
8554456fccdSmrg		;;
8564456fccdSmrg	news | news700 | news800 | news900)
8574456fccdSmrg		basic_machine=m68k-sony
8584456fccdSmrg		os=-newsos
8594456fccdSmrg		;;
8604456fccdSmrg	news1000)
8614456fccdSmrg		basic_machine=m68030-sony
8624456fccdSmrg		os=-newsos
8634456fccdSmrg		;;
8644456fccdSmrg	news-3600 | risc-news)
8654456fccdSmrg		basic_machine=mips-sony
8664456fccdSmrg		os=-newsos
8674456fccdSmrg		;;
8684456fccdSmrg	necv70)
8694456fccdSmrg		basic_machine=v70-nec
8704456fccdSmrg		os=-sysv
8714456fccdSmrg		;;
8724456fccdSmrg	next | m*-next )
8734456fccdSmrg		basic_machine=m68k-next
8744456fccdSmrg		case $os in
8754456fccdSmrg		    -nextstep* )
8764456fccdSmrg			;;
8774456fccdSmrg		    -ns2*)
8784456fccdSmrg		      os=-nextstep2
8794456fccdSmrg			;;
8804456fccdSmrg		    *)
8814456fccdSmrg		      os=-nextstep3
8824456fccdSmrg			;;
8834456fccdSmrg		esac
8844456fccdSmrg		;;
8854456fccdSmrg	nh3000)
8864456fccdSmrg		basic_machine=m68k-harris
8874456fccdSmrg		os=-cxux
8884456fccdSmrg		;;
8894456fccdSmrg	nh[45]000)
8904456fccdSmrg		basic_machine=m88k-harris
8914456fccdSmrg		os=-cxux
8924456fccdSmrg		;;
8934456fccdSmrg	nindy960)
8944456fccdSmrg		basic_machine=i960-intel
8954456fccdSmrg		os=-nindy
8964456fccdSmrg		;;
8974456fccdSmrg	mon960)
8984456fccdSmrg		basic_machine=i960-intel
8994456fccdSmrg		os=-mon960
9004456fccdSmrg		;;
9014456fccdSmrg	nonstopux)
9024456fccdSmrg		basic_machine=mips-compaq
9034456fccdSmrg		os=-nonstopux
9044456fccdSmrg		;;
9054456fccdSmrg	np1)
9064456fccdSmrg		basic_machine=np1-gould
9074456fccdSmrg		;;
9083e6c936aSmrg	neo-tandem)
9093e6c936aSmrg		basic_machine=neo-tandem
9103e6c936aSmrg		;;
9113e6c936aSmrg	nse-tandem)
9123e6c936aSmrg		basic_machine=nse-tandem
9133e6c936aSmrg		;;
9144456fccdSmrg	nsr-tandem)
9154456fccdSmrg		basic_machine=nsr-tandem
9164456fccdSmrg		;;
9174456fccdSmrg	op50n-* | op60c-*)
9184456fccdSmrg		basic_machine=hppa1.1-oki
9194456fccdSmrg		os=-proelf
9204456fccdSmrg		;;
9214456fccdSmrg	openrisc | openrisc-*)
9224456fccdSmrg		basic_machine=or32-unknown
9234456fccdSmrg		;;
9244456fccdSmrg	os400)
9254456fccdSmrg		basic_machine=powerpc-ibm
9264456fccdSmrg		os=-os400
9274456fccdSmrg		;;
9284456fccdSmrg	OSE68000 | ose68000)
9294456fccdSmrg		basic_machine=m68000-ericsson
9304456fccdSmrg		os=-ose
9314456fccdSmrg		;;
9324456fccdSmrg	os68k)
9334456fccdSmrg		basic_machine=m68k-none
9344456fccdSmrg		os=-os68k
9354456fccdSmrg		;;
9364456fccdSmrg	pa-hitachi)
9374456fccdSmrg		basic_machine=hppa1.1-hitachi
9384456fccdSmrg		os=-hiuxwe2
9394456fccdSmrg		;;
9404456fccdSmrg	paragon)
9414456fccdSmrg		basic_machine=i860-intel
9424456fccdSmrg		os=-osf
9434456fccdSmrg		;;
94442d69509Smrg	parisc)
94542d69509Smrg		basic_machine=hppa-unknown
94642d69509Smrg		os=-linux
94742d69509Smrg		;;
94842d69509Smrg	parisc-*)
94942d69509Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
95042d69509Smrg		os=-linux
95142d69509Smrg		;;
9524456fccdSmrg	pbd)
9534456fccdSmrg		basic_machine=sparc-tti
9544456fccdSmrg		;;
9554456fccdSmrg	pbb)
9564456fccdSmrg		basic_machine=m68k-tti
9574456fccdSmrg		;;
9584456fccdSmrg	pc532 | pc532-*)
9594456fccdSmrg		basic_machine=ns32k-pc532
9604456fccdSmrg		;;
9614456fccdSmrg	pc98)
9624456fccdSmrg		basic_machine=i386-pc
9634456fccdSmrg		;;
9644456fccdSmrg	pc98-*)
9654456fccdSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9664456fccdSmrg		;;
9674456fccdSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9684456fccdSmrg		basic_machine=i586-pc
9694456fccdSmrg		;;
9704456fccdSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9714456fccdSmrg		basic_machine=i686-pc
9724456fccdSmrg		;;
9734456fccdSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
9744456fccdSmrg		basic_machine=i686-pc
9754456fccdSmrg		;;
9764456fccdSmrg	pentium4)
9774456fccdSmrg		basic_machine=i786-pc
9784456fccdSmrg		;;
9794456fccdSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9804456fccdSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9814456fccdSmrg		;;
9824456fccdSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9834456fccdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9844456fccdSmrg		;;
9854456fccdSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9864456fccdSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9874456fccdSmrg		;;
9884456fccdSmrg	pentium4-*)
9894456fccdSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9904456fccdSmrg		;;
9914456fccdSmrg	pn)
9924456fccdSmrg		basic_machine=pn-gould
9934456fccdSmrg		;;
9944456fccdSmrg	power)	basic_machine=power-ibm
9954456fccdSmrg		;;
9963e6c936aSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9974456fccdSmrg		;;
9983e6c936aSmrg	ppc-* | ppcbe-*)
9993e6c936aSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10004456fccdSmrg		;;
10014456fccdSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10024456fccdSmrg		basic_machine=powerpcle-unknown
10034456fccdSmrg		;;
10044456fccdSmrg	ppcle-* | powerpclittle-*)
10054456fccdSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10064456fccdSmrg		;;
10074456fccdSmrg	ppc64)	basic_machine=powerpc64-unknown
10084456fccdSmrg		;;
10094456fccdSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10104456fccdSmrg		;;
10114456fccdSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10124456fccdSmrg		basic_machine=powerpc64le-unknown
10134456fccdSmrg		;;
10144456fccdSmrg	ppc64le-* | powerpc64little-*)
10154456fccdSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10164456fccdSmrg		;;
10174456fccdSmrg	ps2)
10184456fccdSmrg		basic_machine=i386-ibm
10194456fccdSmrg		;;
10204456fccdSmrg	pw32)
10214456fccdSmrg		basic_machine=i586-unknown
10224456fccdSmrg		os=-pw32
10234456fccdSmrg		;;
10243e6c936aSmrg	rdos | rdos64)
10253e6c936aSmrg		basic_machine=x86_64-pc
10263e6c936aSmrg		os=-rdos
10273e6c936aSmrg		;;
10283e6c936aSmrg	rdos32)
10294456fccdSmrg		basic_machine=i386-pc
10304456fccdSmrg		os=-rdos
10314456fccdSmrg		;;
10324456fccdSmrg	rom68k)
10334456fccdSmrg		basic_machine=m68k-rom68k
10344456fccdSmrg		os=-coff
10354456fccdSmrg		;;
10364456fccdSmrg	rm[46]00)
10374456fccdSmrg		basic_machine=mips-siemens
10384456fccdSmrg		;;
10394456fccdSmrg	rtpc | rtpc-*)
10404456fccdSmrg		basic_machine=romp-ibm
10414456fccdSmrg		;;
10424456fccdSmrg	s390 | s390-*)
10434456fccdSmrg		basic_machine=s390-ibm
10444456fccdSmrg		;;
10454456fccdSmrg	s390x | s390x-*)
10464456fccdSmrg		basic_machine=s390x-ibm
10474456fccdSmrg		;;
10484456fccdSmrg	sa29200)
10494456fccdSmrg		basic_machine=a29k-amd
10504456fccdSmrg		os=-udi
10514456fccdSmrg		;;
10524456fccdSmrg	sb1)
10534456fccdSmrg		basic_machine=mipsisa64sb1-unknown
10544456fccdSmrg		;;
10554456fccdSmrg	sb1el)
10564456fccdSmrg		basic_machine=mipsisa64sb1el-unknown
10574456fccdSmrg		;;
105842d69509Smrg	sde)
105942d69509Smrg		basic_machine=mipsisa32-sde
106042d69509Smrg		os=-elf
106142d69509Smrg		;;
10624456fccdSmrg	sei)
10634456fccdSmrg		basic_machine=mips-sei
10644456fccdSmrg		os=-seiux
10654456fccdSmrg		;;
10664456fccdSmrg	sequent)
10674456fccdSmrg		basic_machine=i386-sequent
10684456fccdSmrg		;;
10694456fccdSmrg	sh)
10704456fccdSmrg		basic_machine=sh-hitachi
10714456fccdSmrg		os=-hms
10724456fccdSmrg		;;
107342d69509Smrg	sh5el)
107442d69509Smrg		basic_machine=sh5le-unknown
107542d69509Smrg		;;
10764456fccdSmrg	sh64)
10774456fccdSmrg		basic_machine=sh64-unknown
10784456fccdSmrg		;;
10794456fccdSmrg	sparclite-wrs | simso-wrs)
10804456fccdSmrg		basic_machine=sparclite-wrs
10814456fccdSmrg		os=-vxworks
10824456fccdSmrg		;;
10834456fccdSmrg	sps7)
10844456fccdSmrg		basic_machine=m68k-bull
10854456fccdSmrg		os=-sysv2
10864456fccdSmrg		;;
10874456fccdSmrg	spur)
10884456fccdSmrg		basic_machine=spur-unknown
10894456fccdSmrg		;;
10904456fccdSmrg	st2000)
10914456fccdSmrg		basic_machine=m68k-tandem
10924456fccdSmrg		;;
10934456fccdSmrg	stratus)
10944456fccdSmrg		basic_machine=i860-stratus
10954456fccdSmrg		os=-sysv4
10964456fccdSmrg		;;
10973e6c936aSmrg	strongarm-* | thumb-*)
10983e6c936aSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
10993e6c936aSmrg		;;
11004456fccdSmrg	sun2)
11014456fccdSmrg		basic_machine=m68000-sun
11024456fccdSmrg		;;
11034456fccdSmrg	sun2os3)
11044456fccdSmrg		basic_machine=m68000-sun
11054456fccdSmrg		os=-sunos3
11064456fccdSmrg		;;
11074456fccdSmrg	sun2os4)
11084456fccdSmrg		basic_machine=m68000-sun
11094456fccdSmrg		os=-sunos4
11104456fccdSmrg		;;
11114456fccdSmrg	sun3os3)
11124456fccdSmrg		basic_machine=m68k-sun
11134456fccdSmrg		os=-sunos3
11144456fccdSmrg		;;
11154456fccdSmrg	sun3os4)
11164456fccdSmrg		basic_machine=m68k-sun
11174456fccdSmrg		os=-sunos4
11184456fccdSmrg		;;
11194456fccdSmrg	sun4os3)
11204456fccdSmrg		basic_machine=sparc-sun
11214456fccdSmrg		os=-sunos3
11224456fccdSmrg		;;
11234456fccdSmrg	sun4os4)
11244456fccdSmrg		basic_machine=sparc-sun
11254456fccdSmrg		os=-sunos4
11264456fccdSmrg		;;
11274456fccdSmrg	sun4sol2)
11284456fccdSmrg		basic_machine=sparc-sun
11294456fccdSmrg		os=-solaris2
11304456fccdSmrg		;;
11314456fccdSmrg	sun3 | sun3-*)
11324456fccdSmrg		basic_machine=m68k-sun
11334456fccdSmrg		;;
11344456fccdSmrg	sun4)
11354456fccdSmrg		basic_machine=sparc-sun
11364456fccdSmrg		;;
11374456fccdSmrg	sun386 | sun386i | roadrunner)
11384456fccdSmrg		basic_machine=i386-sun
11394456fccdSmrg		;;
11404456fccdSmrg	sv1)
11414456fccdSmrg		basic_machine=sv1-cray
11424456fccdSmrg		os=-unicos
11434456fccdSmrg		;;
11444456fccdSmrg	symmetry)
11454456fccdSmrg		basic_machine=i386-sequent
11464456fccdSmrg		os=-dynix
11474456fccdSmrg		;;
11484456fccdSmrg	t3e)
11494456fccdSmrg		basic_machine=alphaev5-cray
11504456fccdSmrg		os=-unicos
11514456fccdSmrg		;;
11524456fccdSmrg	t90)
11534456fccdSmrg		basic_machine=t90-cray
11544456fccdSmrg		os=-unicos
11554456fccdSmrg		;;
115642d69509Smrg	tile*)
11573e6c936aSmrg		basic_machine=$basic_machine-unknown
115842d69509Smrg		os=-linux-gnu
115942d69509Smrg		;;
11604456fccdSmrg	tx39)
11614456fccdSmrg		basic_machine=mipstx39-unknown
11624456fccdSmrg		;;
11634456fccdSmrg	tx39el)
11644456fccdSmrg		basic_machine=mipstx39el-unknown
11654456fccdSmrg		;;
11664456fccdSmrg	toad1)
11674456fccdSmrg		basic_machine=pdp10-xkl
11684456fccdSmrg		os=-tops20
11694456fccdSmrg		;;
11704456fccdSmrg	tower | tower-32)
11714456fccdSmrg		basic_machine=m68k-ncr
11724456fccdSmrg		;;
11734456fccdSmrg	tpf)
11744456fccdSmrg		basic_machine=s390x-ibm
11754456fccdSmrg		os=-tpf
11764456fccdSmrg		;;
11774456fccdSmrg	udi29k)
11784456fccdSmrg		basic_machine=a29k-amd
11794456fccdSmrg		os=-udi
11804456fccdSmrg		;;
11814456fccdSmrg	ultra3)
11824456fccdSmrg		basic_machine=a29k-nyu
11834456fccdSmrg		os=-sym1
11844456fccdSmrg		;;
11854456fccdSmrg	v810 | necv810)
11864456fccdSmrg		basic_machine=v810-nec
11874456fccdSmrg		os=-none
11884456fccdSmrg		;;
11894456fccdSmrg	vaxv)
11904456fccdSmrg		basic_machine=vax-dec
11914456fccdSmrg		os=-sysv
11924456fccdSmrg		;;
11934456fccdSmrg	vms)
11944456fccdSmrg		basic_machine=vax-dec
11954456fccdSmrg		os=-vms
11964456fccdSmrg		;;
11974456fccdSmrg	vpp*|vx|vx-*)
11984456fccdSmrg		basic_machine=f301-fujitsu
11994456fccdSmrg		;;
12004456fccdSmrg	vxworks960)
12014456fccdSmrg		basic_machine=i960-wrs
12024456fccdSmrg		os=-vxworks
12034456fccdSmrg		;;
12044456fccdSmrg	vxworks68)
12054456fccdSmrg		basic_machine=m68k-wrs
12064456fccdSmrg		os=-vxworks
12074456fccdSmrg		;;
12084456fccdSmrg	vxworks29k)
12094456fccdSmrg		basic_machine=a29k-wrs
12104456fccdSmrg		os=-vxworks
12114456fccdSmrg		;;
12124456fccdSmrg	w65*)
12134456fccdSmrg		basic_machine=w65-wdc
12144456fccdSmrg		os=-none
12154456fccdSmrg		;;
12164456fccdSmrg	w89k-*)
12174456fccdSmrg		basic_machine=hppa1.1-winbond
12184456fccdSmrg		os=-proelf
12194456fccdSmrg		;;
12204456fccdSmrg	xbox)
12214456fccdSmrg		basic_machine=i686-pc
12224456fccdSmrg		os=-mingw32
12234456fccdSmrg		;;
12244456fccdSmrg	xps | xps100)
12254456fccdSmrg		basic_machine=xps100-honeywell
12264456fccdSmrg		;;
12273e6c936aSmrg	xscale-* | xscalee[bl]-*)
12283e6c936aSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12293e6c936aSmrg		;;
12304456fccdSmrg	ymp)
12314456fccdSmrg		basic_machine=ymp-cray
12324456fccdSmrg		os=-unicos
12334456fccdSmrg		;;
12344456fccdSmrg	z8k-*-coff)
12354456fccdSmrg		basic_machine=z8k-unknown
12364456fccdSmrg		os=-sim
12374456fccdSmrg		;;
1238521070a0Smrg	z80-*-coff)
1239521070a0Smrg		basic_machine=z80-unknown
1240521070a0Smrg		os=-sim
1241521070a0Smrg		;;
12424456fccdSmrg	none)
12434456fccdSmrg		basic_machine=none-none
12444456fccdSmrg		os=-none
12454456fccdSmrg		;;
12464456fccdSmrg
12474456fccdSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
12484456fccdSmrg# some cases the only manufacturer, in others, it is the most popular.
12494456fccdSmrg	w89k)
12504456fccdSmrg		basic_machine=hppa1.1-winbond
12514456fccdSmrg		;;
12524456fccdSmrg	op50n)
12534456fccdSmrg		basic_machine=hppa1.1-oki
12544456fccdSmrg		;;
12554456fccdSmrg	op60c)
12564456fccdSmrg		basic_machine=hppa1.1-oki
12574456fccdSmrg		;;
12584456fccdSmrg	romp)
12594456fccdSmrg		basic_machine=romp-ibm
12604456fccdSmrg		;;
12614456fccdSmrg	mmix)
12624456fccdSmrg		basic_machine=mmix-knuth
12634456fccdSmrg		;;
12644456fccdSmrg	rs6000)
12654456fccdSmrg		basic_machine=rs6000-ibm
12664456fccdSmrg		;;
12674456fccdSmrg	vax)
12684456fccdSmrg		basic_machine=vax-dec
12694456fccdSmrg		;;
12704456fccdSmrg	pdp10)
12714456fccdSmrg		# there are many clones, so DEC is not a safe bet
12724456fccdSmrg		basic_machine=pdp10-unknown
12734456fccdSmrg		;;
12744456fccdSmrg	pdp11)
12754456fccdSmrg		basic_machine=pdp11-dec
12764456fccdSmrg		;;
12774456fccdSmrg	we32k)
12784456fccdSmrg		basic_machine=we32k-att
12794456fccdSmrg		;;
1280521070a0Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12814456fccdSmrg		basic_machine=sh-unknown
12824456fccdSmrg		;;
128342d69509Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12844456fccdSmrg		basic_machine=sparc-sun
12854456fccdSmrg		;;
12864456fccdSmrg	cydra)
12874456fccdSmrg		basic_machine=cydra-cydrome
12884456fccdSmrg		;;
12894456fccdSmrg	orion)
12904456fccdSmrg		basic_machine=orion-highlevel
12914456fccdSmrg		;;
12924456fccdSmrg	orion105)
12934456fccdSmrg		basic_machine=clipper-highlevel
12944456fccdSmrg		;;
12954456fccdSmrg	mac | mpw | mac-mpw)
12964456fccdSmrg		basic_machine=m68k-apple
12974456fccdSmrg		;;
12984456fccdSmrg	pmac | pmac-mpw)
12994456fccdSmrg		basic_machine=powerpc-apple
13004456fccdSmrg		;;
13014456fccdSmrg	*-unknown)
13024456fccdSmrg		# Make sure to match an already-canonicalized machine name.
13034456fccdSmrg		;;
13044456fccdSmrg	*)
13054456fccdSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13064456fccdSmrg		exit 1
13074456fccdSmrg		;;
13084456fccdSmrgesac
13094456fccdSmrg
13104456fccdSmrg# Here we canonicalize certain aliases for manufacturers.
13114456fccdSmrgcase $basic_machine in
13124456fccdSmrg	*-digital*)
13134456fccdSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13144456fccdSmrg		;;
13154456fccdSmrg	*-commodore*)
13164456fccdSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13174456fccdSmrg		;;
13184456fccdSmrg	*)
13194456fccdSmrg		;;
13204456fccdSmrgesac
13214456fccdSmrg
13224456fccdSmrg# Decode manufacturer-specific aliases for certain operating systems.
13234456fccdSmrg
13244456fccdSmrgif [ x"$os" != x"" ]
13254456fccdSmrgthen
13264456fccdSmrgcase $os in
13273e6c936aSmrg	# First match some system type aliases
13283e6c936aSmrg	# that might get confused with valid system types.
13294456fccdSmrg	# -solaris* is a basic system type, with this one exception.
13303e6c936aSmrg	-auroraux)
13313e6c936aSmrg		os=-auroraux
1332521070a0Smrg		;;
13334456fccdSmrg	-solaris1 | -solaris1.*)
13344456fccdSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13354456fccdSmrg		;;
13364456fccdSmrg	-solaris)
13374456fccdSmrg		os=-solaris2
13384456fccdSmrg		;;
13394456fccdSmrg	-svr4*)
13404456fccdSmrg		os=-sysv4
13414456fccdSmrg		;;
13424456fccdSmrg	-unixware*)
13434456fccdSmrg		os=-sysv4.2uw
13444456fccdSmrg		;;
13454456fccdSmrg	-gnu/linux*)
13464456fccdSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13474456fccdSmrg		;;
13484456fccdSmrg	# First accept the basic system types.
13494456fccdSmrg	# The portable systems comes first.
13504456fccdSmrg	# Each alternative MUST END IN A *, to match a version number.
13514456fccdSmrg	# -sysv* is not here because it comes later, after sysvr4.
13524456fccdSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1353521070a0Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1354521070a0Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13553e6c936aSmrg	      | -sym* | -kopensolaris* | -plan9* \
13564456fccdSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1357521070a0Smrg	      | -aos* | -aros* \
13584456fccdSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13594456fccdSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13604456fccdSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13613e6c936aSmrg	      | -bitrig* | -openbsd* | -solidbsd* \
13624456fccdSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13634456fccdSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13644456fccdSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13654456fccdSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1366521070a0Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13673e6c936aSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13683e6c936aSmrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
13693e6c936aSmrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13704456fccdSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13714456fccdSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13724456fccdSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13734456fccdSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13744456fccdSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13754456fccdSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13764456fccdSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1377521070a0Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13784456fccdSmrg	# Remember, each alternative MUST END IN *, to match a version number.
13794456fccdSmrg		;;
13804456fccdSmrg	-qnx*)
13814456fccdSmrg		case $basic_machine in
13824456fccdSmrg		    x86-* | i*86-*)
13834456fccdSmrg			;;
13844456fccdSmrg		    *)
13854456fccdSmrg			os=-nto$os
13864456fccdSmrg			;;
13874456fccdSmrg		esac
13884456fccdSmrg		;;
13894456fccdSmrg	-nto-qnx*)
13904456fccdSmrg		;;
13914456fccdSmrg	-nto*)
13924456fccdSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13934456fccdSmrg		;;
13944456fccdSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13954456fccdSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13964456fccdSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13974456fccdSmrg		;;
13984456fccdSmrg	-mac*)
13994456fccdSmrg		os=`echo $os | sed -e 's|mac|macos|'`
14004456fccdSmrg		;;
14014456fccdSmrg	-linux-dietlibc)
14024456fccdSmrg		os=-linux-dietlibc
14034456fccdSmrg		;;
14044456fccdSmrg	-linux*)
14054456fccdSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14064456fccdSmrg		;;
14074456fccdSmrg	-sunos5*)
14084456fccdSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14094456fccdSmrg		;;
14104456fccdSmrg	-sunos6*)
14114456fccdSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14124456fccdSmrg		;;
14134456fccdSmrg	-opened*)
14144456fccdSmrg		os=-openedition
14154456fccdSmrg		;;
14163e6c936aSmrg	-os400*)
14174456fccdSmrg		os=-os400
14184456fccdSmrg		;;
14194456fccdSmrg	-wince*)
14204456fccdSmrg		os=-wince
14214456fccdSmrg		;;
14224456fccdSmrg	-osfrose*)
14234456fccdSmrg		os=-osfrose
14244456fccdSmrg		;;
14254456fccdSmrg	-osf*)
14264456fccdSmrg		os=-osf
14274456fccdSmrg		;;
14284456fccdSmrg	-utek*)
14294456fccdSmrg		os=-bsd
14304456fccdSmrg		;;
14314456fccdSmrg	-dynix*)
14324456fccdSmrg		os=-bsd
14334456fccdSmrg		;;
14344456fccdSmrg	-acis*)
14354456fccdSmrg		os=-aos
14364456fccdSmrg		;;
14374456fccdSmrg	-atheos*)
14384456fccdSmrg		os=-atheos
14394456fccdSmrg		;;
14404456fccdSmrg	-syllable*)
14414456fccdSmrg		os=-syllable
14424456fccdSmrg		;;
14434456fccdSmrg	-386bsd)
14444456fccdSmrg		os=-bsd
14454456fccdSmrg		;;
14464456fccdSmrg	-ctix* | -uts*)
14474456fccdSmrg		os=-sysv
14484456fccdSmrg		;;
14494456fccdSmrg	-nova*)
14504456fccdSmrg		os=-rtmk-nova
14514456fccdSmrg		;;
14524456fccdSmrg	-ns2 )
14534456fccdSmrg		os=-nextstep2
14544456fccdSmrg		;;
14554456fccdSmrg	-nsk*)
14564456fccdSmrg		os=-nsk
14574456fccdSmrg		;;
14584456fccdSmrg	# Preserve the version number of sinix5.
14594456fccdSmrg	-sinix5.*)
14604456fccdSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14614456fccdSmrg		;;
14624456fccdSmrg	-sinix*)
14634456fccdSmrg		os=-sysv4
14644456fccdSmrg		;;
14653e6c936aSmrg	-tpf*)
14664456fccdSmrg		os=-tpf
14674456fccdSmrg		;;
14684456fccdSmrg	-triton*)
14694456fccdSmrg		os=-sysv3
14704456fccdSmrg		;;
14714456fccdSmrg	-oss*)
14724456fccdSmrg		os=-sysv3
14734456fccdSmrg		;;
14744456fccdSmrg	-svr4)
14754456fccdSmrg		os=-sysv4
14764456fccdSmrg		;;
14774456fccdSmrg	-svr3)
14784456fccdSmrg		os=-sysv3
14794456fccdSmrg		;;
14804456fccdSmrg	-sysvr4)
14814456fccdSmrg		os=-sysv4
14824456fccdSmrg		;;
14834456fccdSmrg	# This must come after -sysvr4.
14844456fccdSmrg	-sysv*)
14854456fccdSmrg		;;
14864456fccdSmrg	-ose*)
14874456fccdSmrg		os=-ose
14884456fccdSmrg		;;
14894456fccdSmrg	-es1800*)
14904456fccdSmrg		os=-ose
14914456fccdSmrg		;;
14924456fccdSmrg	-xenix)
14934456fccdSmrg		os=-xenix
14944456fccdSmrg		;;
14954456fccdSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14964456fccdSmrg		os=-mint
14974456fccdSmrg		;;
14984456fccdSmrg	-aros*)
14994456fccdSmrg		os=-aros
15004456fccdSmrg		;;
15014456fccdSmrg	-zvmoe)
15024456fccdSmrg		os=-zvmoe
15034456fccdSmrg		;;
1504521070a0Smrg	-dicos*)
1505521070a0Smrg		os=-dicos
1506521070a0Smrg		;;
15073e6c936aSmrg	-nacl*)
15083e6c936aSmrg		;;
15094456fccdSmrg	-none)
15104456fccdSmrg		;;
15114456fccdSmrg	*)
15124456fccdSmrg		# Get rid of the `-' at the beginning of $os.
15134456fccdSmrg		os=`echo $os | sed 's/[^-]*-//'`
15144456fccdSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15154456fccdSmrg		exit 1
15164456fccdSmrg		;;
15174456fccdSmrgesac
15184456fccdSmrgelse
15194456fccdSmrg
15204456fccdSmrg# Here we handle the default operating systems that come with various machines.
15214456fccdSmrg# The value should be what the vendor currently ships out the door with their
15224456fccdSmrg# machine or put another way, the most popular os provided with the machine.
15234456fccdSmrg
15244456fccdSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15254456fccdSmrg# "-sun"), then you have to tell the case statement up towards the top
15264456fccdSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15274456fccdSmrg# will signal an error saying that MANUFACTURER isn't an operating
15284456fccdSmrg# system, and we'll never get to this point.
15294456fccdSmrg
15304456fccdSmrgcase $basic_machine in
15313e6c936aSmrg	score-*)
153242d69509Smrg		os=-elf
153342d69509Smrg		;;
15343e6c936aSmrg	spu-*)
153542d69509Smrg		os=-elf
153642d69509Smrg		;;
15374456fccdSmrg	*-acorn)
15384456fccdSmrg		os=-riscix1.2
15394456fccdSmrg		;;
15404456fccdSmrg	arm*-rebel)
15414456fccdSmrg		os=-linux
15424456fccdSmrg		;;
15434456fccdSmrg	arm*-semi)
15444456fccdSmrg		os=-aout
15454456fccdSmrg		;;
15463e6c936aSmrg	c4x-* | tic4x-*)
15473e6c936aSmrg		os=-coff
15483e6c936aSmrg		;;
15493e6c936aSmrg	hexagon-*)
15503e6c936aSmrg		os=-elf
15513e6c936aSmrg		;;
15523e6c936aSmrg	tic54x-*)
15533e6c936aSmrg		os=-coff
15543e6c936aSmrg		;;
15553e6c936aSmrg	tic55x-*)
15563e6c936aSmrg		os=-coff
15573e6c936aSmrg		;;
15583e6c936aSmrg	tic6x-*)
15593e6c936aSmrg		os=-coff
156042d69509Smrg		;;
15614456fccdSmrg	# This must come before the *-dec entry.
15624456fccdSmrg	pdp10-*)
15634456fccdSmrg		os=-tops20
15644456fccdSmrg		;;
15654456fccdSmrg	pdp11-*)
15664456fccdSmrg		os=-none
15674456fccdSmrg		;;
15684456fccdSmrg	*-dec | vax-*)
15694456fccdSmrg		os=-ultrix4.2
15704456fccdSmrg		;;
15714456fccdSmrg	m68*-apollo)
15724456fccdSmrg		os=-domain
15734456fccdSmrg		;;
15744456fccdSmrg	i386-sun)
15754456fccdSmrg		os=-sunos4.0.2
15764456fccdSmrg		;;
15774456fccdSmrg	m68000-sun)
15784456fccdSmrg		os=-sunos3
15794456fccdSmrg		;;
15804456fccdSmrg	m68*-cisco)
15814456fccdSmrg		os=-aout
15824456fccdSmrg		;;
15833e6c936aSmrg	mep-*)
158442d69509Smrg		os=-elf
158542d69509Smrg		;;
15864456fccdSmrg	mips*-cisco)
15874456fccdSmrg		os=-elf
15884456fccdSmrg		;;
15894456fccdSmrg	mips*-*)
15904456fccdSmrg		os=-elf
15914456fccdSmrg		;;
15923e6c936aSmrg	or1k-*)
15933e6c936aSmrg		os=-elf
15943e6c936aSmrg		;;
15954456fccdSmrg	or32-*)
15964456fccdSmrg		os=-coff
15974456fccdSmrg		;;
15984456fccdSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
15994456fccdSmrg		os=-sysv3
16004456fccdSmrg		;;
16014456fccdSmrg	sparc-* | *-sun)
16024456fccdSmrg		os=-sunos4.1.1
16034456fccdSmrg		;;
16044456fccdSmrg	*-be)
16054456fccdSmrg		os=-beos
16064456fccdSmrg		;;
16074456fccdSmrg	*-haiku)
16084456fccdSmrg		os=-haiku
16094456fccdSmrg		;;
16104456fccdSmrg	*-ibm)
16114456fccdSmrg		os=-aix
16124456fccdSmrg		;;
16133e6c936aSmrg	*-knuth)
16144456fccdSmrg		os=-mmixware
16154456fccdSmrg		;;
16164456fccdSmrg	*-wec)
16174456fccdSmrg		os=-proelf
16184456fccdSmrg		;;
16194456fccdSmrg	*-winbond)
16204456fccdSmrg		os=-proelf
16214456fccdSmrg		;;
16224456fccdSmrg	*-oki)
16234456fccdSmrg		os=-proelf
16244456fccdSmrg		;;
16254456fccdSmrg	*-hp)
16264456fccdSmrg		os=-hpux
16274456fccdSmrg		;;
16284456fccdSmrg	*-hitachi)
16294456fccdSmrg		os=-hiux
16304456fccdSmrg		;;
16314456fccdSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16324456fccdSmrg		os=-sysv
16334456fccdSmrg		;;
16344456fccdSmrg	*-cbm)
16354456fccdSmrg		os=-amigaos
16364456fccdSmrg		;;
16374456fccdSmrg	*-dg)
16384456fccdSmrg		os=-dgux
16394456fccdSmrg		;;
16404456fccdSmrg	*-dolphin)
16414456fccdSmrg		os=-sysv3
16424456fccdSmrg		;;
16434456fccdSmrg	m68k-ccur)
16444456fccdSmrg		os=-rtu
16454456fccdSmrg		;;
16464456fccdSmrg	m88k-omron*)
16474456fccdSmrg		os=-luna
16484456fccdSmrg		;;
16494456fccdSmrg	*-next )
16504456fccdSmrg		os=-nextstep
16514456fccdSmrg		;;
16524456fccdSmrg	*-sequent)
16534456fccdSmrg		os=-ptx
16544456fccdSmrg		;;
16554456fccdSmrg	*-crds)
16564456fccdSmrg		os=-unos
16574456fccdSmrg		;;
16584456fccdSmrg	*-ns)
16594456fccdSmrg		os=-genix
16604456fccdSmrg		;;
16614456fccdSmrg	i370-*)
16624456fccdSmrg		os=-mvs
16634456fccdSmrg		;;
16644456fccdSmrg	*-next)
16654456fccdSmrg		os=-nextstep3
16664456fccdSmrg		;;
16674456fccdSmrg	*-gould)
16684456fccdSmrg		os=-sysv
16694456fccdSmrg		;;
16704456fccdSmrg	*-highlevel)
16714456fccdSmrg		os=-bsd
16724456fccdSmrg		;;
16734456fccdSmrg	*-encore)
16744456fccdSmrg		os=-bsd
16754456fccdSmrg		;;
16764456fccdSmrg	*-sgi)
16774456fccdSmrg		os=-irix
16784456fccdSmrg		;;
16794456fccdSmrg	*-siemens)
16804456fccdSmrg		os=-sysv4
16814456fccdSmrg		;;
16824456fccdSmrg	*-masscomp)
16834456fccdSmrg		os=-rtu
16844456fccdSmrg		;;
16854456fccdSmrg	f30[01]-fujitsu | f700-fujitsu)
16864456fccdSmrg		os=-uxpv
16874456fccdSmrg		;;
16884456fccdSmrg	*-rom68k)
16894456fccdSmrg		os=-coff
16904456fccdSmrg		;;
16914456fccdSmrg	*-*bug)
16924456fccdSmrg		os=-coff
16934456fccdSmrg		;;
16944456fccdSmrg	*-apple)
16954456fccdSmrg		os=-macos
16964456fccdSmrg		;;
16974456fccdSmrg	*-atari*)
16984456fccdSmrg		os=-mint
16994456fccdSmrg		;;
17004456fccdSmrg	*)
17014456fccdSmrg		os=-none
17024456fccdSmrg		;;
17034456fccdSmrgesac
17044456fccdSmrgfi
17054456fccdSmrg
17064456fccdSmrg# Here we handle the case where we know the os, and the CPU type, but not the
17074456fccdSmrg# manufacturer.  We pick the logical manufacturer.
17084456fccdSmrgvendor=unknown
17094456fccdSmrgcase $basic_machine in
17104456fccdSmrg	*-unknown)
17114456fccdSmrg		case $os in
17124456fccdSmrg			-riscix*)
17134456fccdSmrg				vendor=acorn
17144456fccdSmrg				;;
17154456fccdSmrg			-sunos*)
17164456fccdSmrg				vendor=sun
17174456fccdSmrg				;;
1718521070a0Smrg			-cnk*|-aix*)
17194456fccdSmrg				vendor=ibm
17204456fccdSmrg				;;
17214456fccdSmrg			-beos*)
17224456fccdSmrg				vendor=be
17234456fccdSmrg				;;
17244456fccdSmrg			-hpux*)
17254456fccdSmrg				vendor=hp
17264456fccdSmrg				;;
17274456fccdSmrg			-mpeix*)
17284456fccdSmrg				vendor=hp
17294456fccdSmrg				;;
17304456fccdSmrg			-hiux*)
17314456fccdSmrg				vendor=hitachi
17324456fccdSmrg				;;
17334456fccdSmrg			-unos*)
17344456fccdSmrg				vendor=crds
17354456fccdSmrg				;;
17364456fccdSmrg			-dgux*)
17374456fccdSmrg				vendor=dg
17384456fccdSmrg				;;
17394456fccdSmrg			-luna*)
17404456fccdSmrg				vendor=omron
17414456fccdSmrg				;;
17424456fccdSmrg			-genix*)
17434456fccdSmrg				vendor=ns
17444456fccdSmrg				;;
17454456fccdSmrg			-mvs* | -opened*)
17464456fccdSmrg				vendor=ibm
17474456fccdSmrg				;;
17484456fccdSmrg			-os400*)
17494456fccdSmrg				vendor=ibm
17504456fccdSmrg				;;
17514456fccdSmrg			-ptx*)
17524456fccdSmrg				vendor=sequent
17534456fccdSmrg				;;
17544456fccdSmrg			-tpf*)
17554456fccdSmrg				vendor=ibm
17564456fccdSmrg				;;
17574456fccdSmrg			-vxsim* | -vxworks* | -windiss*)
17584456fccdSmrg				vendor=wrs
17594456fccdSmrg				;;
17604456fccdSmrg			-aux*)
17614456fccdSmrg				vendor=apple
17624456fccdSmrg				;;
17634456fccdSmrg			-hms*)
17644456fccdSmrg				vendor=hitachi
17654456fccdSmrg				;;
17664456fccdSmrg			-mpw* | -macos*)
17674456fccdSmrg				vendor=apple
17684456fccdSmrg				;;
17694456fccdSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17704456fccdSmrg				vendor=atari
17714456fccdSmrg				;;
17724456fccdSmrg			-vos*)
17734456fccdSmrg				vendor=stratus
17744456fccdSmrg				;;
17754456fccdSmrg		esac
17764456fccdSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17774456fccdSmrg		;;
17784456fccdSmrgesac
17794456fccdSmrg
17804456fccdSmrgecho $basic_machine$os
17814456fccdSmrgexit
17824456fccdSmrg
17834456fccdSmrg# Local variables:
17844456fccdSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17854456fccdSmrg# time-stamp-start: "timestamp='"
17864456fccdSmrg# time-stamp-format: "%:y-%02m-%02d"
17874456fccdSmrg# time-stamp-end: "'"
17884456fccdSmrg# End:
1789