config.sub revision 9a011757
17a0395d0Smrg#! /bin/sh
27a0395d0Smrg# Configuration validation subroutine script.
37a0395d0Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
48abc0ccfSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
59a011757Smrg#   2011, 2012, 2013 Free Software Foundation, Inc.
67a0395d0Smrg
79a011757Smrgtimestamp='2012-12-29'
87a0395d0Smrg
99a011757Smrg# This file is free software; you can redistribute it and/or modify it
109a011757Smrg# under the terms of the GNU General Public License as published by
119a011757Smrg# the Free Software Foundation; either version 3 of the License, or
127a0395d0Smrg# (at your option) any later version.
137a0395d0Smrg#
149a011757Smrg# This program is distributed in the hope that it will be useful, but
159a011757Smrg# WITHOUT ANY WARRANTY; without even the implied warranty of
169a011757Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
179a011757Smrg# General Public License for more details.
187a0395d0Smrg#
197a0395d0Smrg# You should have received a copy of the GNU General Public License
208abc0ccfSmrg# along with this program; if not, see <http://www.gnu.org/licenses/>.
217a0395d0Smrg#
227a0395d0Smrg# As a special exception to the GNU General Public License, if you
237a0395d0Smrg# distribute this file as part of a program that contains a
247a0395d0Smrg# configuration script generated by Autoconf, you may include it under
259a011757Smrg# the same distribution terms that you use for the rest of that
269a011757Smrg# program.  This Exception is an additional permission under section 7
279a011757Smrg# of the GNU General Public License, version 3 ("GPLv3").
287a0395d0Smrg
297a0395d0Smrg
309a011757Smrg# Please send patches with a ChangeLog entry to config-patches@gnu.org.
317a0395d0Smrg#
327a0395d0Smrg# Configuration subroutine to validate and canonicalize a configuration type.
337a0395d0Smrg# Supply the specified configuration type as an argument.
347a0395d0Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
357a0395d0Smrg# Otherwise, we print the canonical config type on stdout and succeed.
367a0395d0Smrg
372adc0320Smrg# You can get the latest version of this script from:
382adc0320Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
392adc0320Smrg
407a0395d0Smrg# This file is supposed to be the same for all GNU packages
417a0395d0Smrg# and recognize all the CPU types, system types and aliases
427a0395d0Smrg# that are meaningful with *any* GNU software.
437a0395d0Smrg# Each package is responsible for reporting which valid configurations
447a0395d0Smrg# it does not support.  The user should be able to distinguish
457a0395d0Smrg# a failure to support a valid configuration from a meaningless
467a0395d0Smrg# configuration.
477a0395d0Smrg
487a0395d0Smrg# The goal of this file is to map all the various variations of a given
497a0395d0Smrg# machine specification into a single specification in the form:
507a0395d0Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
517a0395d0Smrg# or in some cases, the newer four-part form:
527a0395d0Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
537a0395d0Smrg# It is wrong to echo any other type of specification.
547a0395d0Smrg
557a0395d0Smrgme=`echo "$0" | sed -e 's,.*/,,'`
567a0395d0Smrg
577a0395d0Smrgusage="\
587a0395d0SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
597a0395d0Smrg       $0 [OPTION] ALIAS
607a0395d0Smrg
617a0395d0SmrgCanonicalize a configuration name.
627a0395d0Smrg
637a0395d0SmrgOperation modes:
647a0395d0Smrg  -h, --help         print this help, then exit
657a0395d0Smrg  -t, --time-stamp   print date of last modification, then exit
667a0395d0Smrg  -v, --version      print version number, then exit
677a0395d0Smrg
687a0395d0SmrgReport bugs and patches to <config-patches@gnu.org>."
697a0395d0Smrg
707a0395d0Smrgversion="\
717a0395d0SmrgGNU config.sub ($timestamp)
727a0395d0Smrg
7396402570SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
749a011757Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
759a011757Smrg2012, 2013 Free Software Foundation, Inc.
767a0395d0Smrg
777a0395d0SmrgThis is free software; see the source for copying conditions.  There is NO
787a0395d0Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
797a0395d0Smrg
807a0395d0Smrghelp="
817a0395d0SmrgTry \`$me --help' for more information."
827a0395d0Smrg
837a0395d0Smrg# Parse command line
847a0395d0Smrgwhile test $# -gt 0 ; do
857a0395d0Smrg  case $1 in
867a0395d0Smrg    --time-stamp | --time* | -t )
877a0395d0Smrg       echo "$timestamp" ; exit ;;
887a0395d0Smrg    --version | -v )
897a0395d0Smrg       echo "$version" ; exit ;;
907a0395d0Smrg    --help | --h* | -h )
917a0395d0Smrg       echo "$usage"; exit ;;
927a0395d0Smrg    -- )     # Stop option processing
937a0395d0Smrg       shift; break ;;
947a0395d0Smrg    - )	# Use stdin as input.
957a0395d0Smrg       break ;;
967a0395d0Smrg    -* )
977a0395d0Smrg       echo "$me: invalid option $1$help"
987a0395d0Smrg       exit 1 ;;
997a0395d0Smrg
1007a0395d0Smrg    *local*)
1017a0395d0Smrg       # First pass through any local machine types.
1027a0395d0Smrg       echo $1
1037a0395d0Smrg       exit ;;
1047a0395d0Smrg
1057a0395d0Smrg    * )
1067a0395d0Smrg       break ;;
1077a0395d0Smrg  esac
1087a0395d0Smrgdone
1097a0395d0Smrg
1107a0395d0Smrgcase $# in
1117a0395d0Smrg 0) echo "$me: missing argument$help" >&2
1127a0395d0Smrg    exit 1;;
1137a0395d0Smrg 1) ;;
1147a0395d0Smrg *) echo "$me: too many arguments$help" >&2
1157a0395d0Smrg    exit 1;;
1167a0395d0Smrgesac
1177a0395d0Smrg
1187a0395d0Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1197a0395d0Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1207a0395d0Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1217a0395d0Smrgcase $maybe_os in
12296402570Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
1239a011757Smrg  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
12496402570Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1257366012aSmrg  kopensolaris*-gnu* | \
1267a0395d0Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1277a0395d0Smrg    os=-$maybe_os
1287a0395d0Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1297a0395d0Smrg    ;;
1308abc0ccfSmrg  android-linux)
1318abc0ccfSmrg    os=-linux-android
1328abc0ccfSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
1338abc0ccfSmrg    ;;
1347a0395d0Smrg  *)
1357a0395d0Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1367a0395d0Smrg    if [ $basic_machine != $1 ]
1377a0395d0Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1387a0395d0Smrg    else os=; fi
1397a0395d0Smrg    ;;
1407a0395d0Smrgesac
1417a0395d0Smrg
1427a0395d0Smrg### Let's recognize common machines as not being operating systems so
1437a0395d0Smrg### that things like config.sub decstation-3100 work.  We also
1447a0395d0Smrg### recognize some manufacturers as not being operating systems, so we
1457a0395d0Smrg### can provide default operating systems below.
1467a0395d0Smrgcase $os in
1477a0395d0Smrg	-sun*os*)
1487a0395d0Smrg		# Prevent following clause from handling this invalid input.
1497a0395d0Smrg		;;
1507a0395d0Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1517a0395d0Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1527a0395d0Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1537a0395d0Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1547a0395d0Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1557a0395d0Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1569a011757Smrg	-apple | -axis | -knuth | -cray | -microblaze*)
1577a0395d0Smrg		os=
1587a0395d0Smrg		basic_machine=$1
1597a0395d0Smrg		;;
1608abc0ccfSmrg	-bluegene*)
1618abc0ccfSmrg		os=-cnk
1622adc0320Smrg		;;
1637a0395d0Smrg	-sim | -cisco | -oki | -wec | -winbond)
1647a0395d0Smrg		os=
1657a0395d0Smrg		basic_machine=$1
1667a0395d0Smrg		;;
1677a0395d0Smrg	-scout)
1687a0395d0Smrg		;;
1697a0395d0Smrg	-wrs)
1707a0395d0Smrg		os=-vxworks
1717a0395d0Smrg		basic_machine=$1
1727a0395d0Smrg		;;
1737a0395d0Smrg	-chorusos*)
1747a0395d0Smrg		os=-chorusos
1757a0395d0Smrg		basic_machine=$1
1767a0395d0Smrg		;;
1778abc0ccfSmrg	-chorusrdb)
1788abc0ccfSmrg		os=-chorusrdb
1797a0395d0Smrg		basic_machine=$1
1808abc0ccfSmrg		;;
1817a0395d0Smrg	-hiux*)
1827a0395d0Smrg		os=-hiuxwe2
1837a0395d0Smrg		;;
1847a0395d0Smrg	-sco6)
1857a0395d0Smrg		os=-sco5v6
1867a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1877a0395d0Smrg		;;
1887a0395d0Smrg	-sco5)
1897a0395d0Smrg		os=-sco3.2v5
1907a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1917a0395d0Smrg		;;
1927a0395d0Smrg	-sco4)
1937a0395d0Smrg		os=-sco3.2v4
1947a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1957a0395d0Smrg		;;
1967a0395d0Smrg	-sco3.2.[4-9]*)
1977a0395d0Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1987a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1997a0395d0Smrg		;;
2007a0395d0Smrg	-sco3.2v[4-9]*)
2017a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2027a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2037a0395d0Smrg		;;
2047a0395d0Smrg	-sco5v6*)
2057a0395d0Smrg		# Don't forget version if it is 3.2v4 or newer.
2067a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2077a0395d0Smrg		;;
2087a0395d0Smrg	-sco*)
2097a0395d0Smrg		os=-sco3.2v2
2107a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2117a0395d0Smrg		;;
2127a0395d0Smrg	-udk*)
2137a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2147a0395d0Smrg		;;
2157a0395d0Smrg	-isc)
2167a0395d0Smrg		os=-isc2.2
2177a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2187a0395d0Smrg		;;
2197a0395d0Smrg	-clix*)
2207a0395d0Smrg		basic_machine=clipper-intergraph
2217a0395d0Smrg		;;
2227a0395d0Smrg	-isc*)
2237a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2247a0395d0Smrg		;;
2258abc0ccfSmrg	-lynx*178)
2268abc0ccfSmrg		os=-lynxos178
2278abc0ccfSmrg		;;
2288abc0ccfSmrg	-lynx*5)
2298abc0ccfSmrg		os=-lynxos5
2308abc0ccfSmrg		;;
2317a0395d0Smrg	-lynx*)
2327a0395d0Smrg		os=-lynxos
2337a0395d0Smrg		;;
2347a0395d0Smrg	-ptx*)
2357a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2367a0395d0Smrg		;;
2377a0395d0Smrg	-windowsnt*)
2387a0395d0Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2397a0395d0Smrg		;;
2407a0395d0Smrg	-psos*)
2417a0395d0Smrg		os=-psos
2427a0395d0Smrg		;;
2437a0395d0Smrg	-mint | -mint[0-9]*)
2447a0395d0Smrg		basic_machine=m68k-atari
2457a0395d0Smrg		os=-mint
2467a0395d0Smrg		;;
2477a0395d0Smrgesac
2487a0395d0Smrg
2497a0395d0Smrg# Decode aliases for certain CPU-COMPANY combinations.
2507a0395d0Smrgcase $basic_machine in
2517a0395d0Smrg	# Recognize the basic CPU types without company name.
2527a0395d0Smrg	# Some are omitted here because they have special meanings below.
2537a0395d0Smrg	1750a | 580 \
2547a0395d0Smrg	| a29k \
2558abc0ccfSmrg	| aarch64 | aarch64_be \
2567a0395d0Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2577a0395d0Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2587a0395d0Smrg	| am33_2.0 \
2599a011757Smrg	| arc \
2609a011757Smrg	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2619a011757Smrg	| avr | avr32 \
2629a011757Smrg	| be32 | be64 \
2637a0395d0Smrg	| bfin \
2647a0395d0Smrg	| c4x | clipper \
2657a0395d0Smrg	| d10v | d30v | dlx | dsp16xx \
2668abc0ccfSmrg	| epiphany \
2677a0395d0Smrg	| fido | fr30 | frv \
2687a0395d0Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2698abc0ccfSmrg	| hexagon \
2707a0395d0Smrg	| i370 | i860 | i960 | ia64 \
2717a0395d0Smrg	| ip2k | iq2000 \
2728abc0ccfSmrg	| le32 | le64 \
2737366012aSmrg	| lm32 \
2747a0395d0Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2759a011757Smrg	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2767a0395d0Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2777a0395d0Smrg	| mips16 \
2787a0395d0Smrg	| mips64 | mips64el \
2797366012aSmrg	| mips64octeon | mips64octeonel \
2807a0395d0Smrg	| mips64orion | mips64orionel \
2817366012aSmrg	| mips64r5900 | mips64r5900el \
2827366012aSmrg	| mips64vr | mips64vrel \
2837a0395d0Smrg	| mips64vr4100 | mips64vr4100el \
2847a0395d0Smrg	| mips64vr4300 | mips64vr4300el \
2857a0395d0Smrg	| mips64vr5000 | mips64vr5000el \
2867a0395d0Smrg	| mips64vr5900 | mips64vr5900el \
2877a0395d0Smrg	| mipsisa32 | mipsisa32el \
2887a0395d0Smrg	| mipsisa32r2 | mipsisa32r2el \
2897a0395d0Smrg	| mipsisa64 | mipsisa64el \
2907a0395d0Smrg	| mipsisa64r2 | mipsisa64r2el \
2917a0395d0Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2927a0395d0Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2937a0395d0Smrg	| mipstx39 | mipstx39el \
2947a0395d0Smrg	| mn10200 | mn10300 \
2957366012aSmrg	| moxie \
2967a0395d0Smrg	| mt \
2977a0395d0Smrg	| msp430 \
29896402570Smrg	| nds32 | nds32le | nds32be \
2997a0395d0Smrg	| nios | nios2 \
3007a0395d0Smrg	| ns16k | ns32k \
3018abc0ccfSmrg	| open8 \
3027a0395d0Smrg	| or32 \
3037a0395d0Smrg	| pdp10 | pdp11 | pj | pjl \
3048abc0ccfSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
3057a0395d0Smrg	| pyramid \
3068abc0ccfSmrg	| rl78 | rx \
3077a0395d0Smrg	| score \
3087366012aSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3097a0395d0Smrg	| sh64 | sh64le \
3107a0395d0Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
3117a0395d0Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
3128abc0ccfSmrg	| spu \
3138abc0ccfSmrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
3142adc0320Smrg	| ubicom32 \
3158abc0ccfSmrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3167a0395d0Smrg	| we32k \
3178abc0ccfSmrg	| x86 | xc16x | xstormy16 | xtensa \
3187366012aSmrg	| z8k | z80)
3197a0395d0Smrg		basic_machine=$basic_machine-unknown
3207a0395d0Smrg		;;
32196402570Smrg	c54x)
32296402570Smrg		basic_machine=tic54x-unknown
32396402570Smrg		;;
32496402570Smrg	c55x)
32596402570Smrg		basic_machine=tic55x-unknown
32696402570Smrg		;;
32796402570Smrg	c6x)
32896402570Smrg		basic_machine=tic6x-unknown
32996402570Smrg		;;
3308abc0ccfSmrg	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
3317a0395d0Smrg		basic_machine=$basic_machine-unknown
3327a0395d0Smrg		os=-none
3337a0395d0Smrg		;;
3347a0395d0Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3357a0395d0Smrg		;;
3367a0395d0Smrg	ms1)
3377a0395d0Smrg		basic_machine=mt-unknown
3387a0395d0Smrg		;;
3397a0395d0Smrg
3408abc0ccfSmrg	strongarm | thumb | xscale)
3418abc0ccfSmrg		basic_machine=arm-unknown
3428abc0ccfSmrg		;;
3438abc0ccfSmrg	xgate)
3448abc0ccfSmrg		basic_machine=$basic_machine-unknown
3458abc0ccfSmrg		os=-none
3468abc0ccfSmrg		;;
3478abc0ccfSmrg	xscaleeb)
3488abc0ccfSmrg		basic_machine=armeb-unknown
3498abc0ccfSmrg		;;
3508abc0ccfSmrg
3518abc0ccfSmrg	xscaleel)
3528abc0ccfSmrg		basic_machine=armel-unknown
3538abc0ccfSmrg		;;
3548abc0ccfSmrg
3557a0395d0Smrg	# We use `pc' rather than `unknown'
3567a0395d0Smrg	# because (1) that's what they normally are, and
3577a0395d0Smrg	# (2) the word "unknown" tends to confuse beginning users.
3587a0395d0Smrg	i*86 | x86_64)
3597a0395d0Smrg	  basic_machine=$basic_machine-pc
3607a0395d0Smrg	  ;;
3617a0395d0Smrg	# Object if more than one company name word.
3627a0395d0Smrg	*-*-*)
3637a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3647a0395d0Smrg		exit 1
3657a0395d0Smrg		;;
3667a0395d0Smrg	# Recognize the basic CPU types with company name.
3677a0395d0Smrg	580-* \
3687a0395d0Smrg	| a29k-* \
3698abc0ccfSmrg	| aarch64-* | aarch64_be-* \
3707a0395d0Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3717a0395d0Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3727a0395d0Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3737a0395d0Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3747a0395d0Smrg	| avr-* | avr32-* \
3758abc0ccfSmrg	| be32-* | be64-* \
3767a0395d0Smrg	| bfin-* | bs2000-* \
37796402570Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3787a0395d0Smrg	| clipper-* | craynv-* | cydra-* \
3797a0395d0Smrg	| d10v-* | d30v-* | dlx-* \
3807a0395d0Smrg	| elxsi-* \
3817a0395d0Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3827a0395d0Smrg	| h8300-* | h8500-* \
3837a0395d0Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3848abc0ccfSmrg	| hexagon-* \
3857a0395d0Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3867a0395d0Smrg	| ip2k-* | iq2000-* \
3878abc0ccfSmrg	| le32-* | le64-* \
3887366012aSmrg	| lm32-* \
3897a0395d0Smrg	| m32c-* | m32r-* | m32rle-* \
3907a0395d0Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3919a011757Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3929a011757Smrg	| microblaze-* | microblazeel-* \
3937a0395d0Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3947a0395d0Smrg	| mips16-* \
3957a0395d0Smrg	| mips64-* | mips64el-* \
3967366012aSmrg	| mips64octeon-* | mips64octeonel-* \
3977a0395d0Smrg	| mips64orion-* | mips64orionel-* \
3987366012aSmrg	| mips64r5900-* | mips64r5900el-* \
3997366012aSmrg	| mips64vr-* | mips64vrel-* \
4007a0395d0Smrg	| mips64vr4100-* | mips64vr4100el-* \
4017a0395d0Smrg	| mips64vr4300-* | mips64vr4300el-* \
4027a0395d0Smrg	| mips64vr5000-* | mips64vr5000el-* \
4037a0395d0Smrg	| mips64vr5900-* | mips64vr5900el-* \
4047a0395d0Smrg	| mipsisa32-* | mipsisa32el-* \
4057a0395d0Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
4067a0395d0Smrg	| mipsisa64-* | mipsisa64el-* \
4077a0395d0Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
4087a0395d0Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
4097a0395d0Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
4107a0395d0Smrg	| mipstx39-* | mipstx39el-* \
4117a0395d0Smrg	| mmix-* \
4127a0395d0Smrg	| mt-* \
4137a0395d0Smrg	| msp430-* \
41496402570Smrg	| nds32-* | nds32le-* | nds32be-* \
4157a0395d0Smrg	| nios-* | nios2-* \
4167a0395d0Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
4178abc0ccfSmrg	| open8-* \
4187a0395d0Smrg	| orion-* \
4197a0395d0Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
4208abc0ccfSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4217a0395d0Smrg	| pyramid-* \
4228abc0ccfSmrg	| rl78-* | romp-* | rs6000-* | rx-* \
4237366012aSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4247a0395d0Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
4257a0395d0Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4267a0395d0Smrg	| sparclite-* \
4278abc0ccfSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
4288abc0ccfSmrg	| tahoe-* \
42996402570Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
4308abc0ccfSmrg	| tile*-* \
4317a0395d0Smrg	| tron-* \
4322adc0320Smrg	| ubicom32-* \
4338abc0ccfSmrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
4348abc0ccfSmrg	| vax-* \
4357a0395d0Smrg	| we32k-* \
4368abc0ccfSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
4377a0395d0Smrg	| xstormy16-* | xtensa*-* \
4387a0395d0Smrg	| ymp-* \
4397366012aSmrg	| z8k-* | z80-*)
4407a0395d0Smrg		;;
4417a0395d0Smrg	# Recognize the basic CPU types without company name, with glob match.
4427a0395d0Smrg	xtensa*)
4437a0395d0Smrg		basic_machine=$basic_machine-unknown
4447a0395d0Smrg		;;
4457a0395d0Smrg	# Recognize the various machine names and aliases which stand
4467a0395d0Smrg	# for a CPU type and a company and sometimes even an OS.
4477a0395d0Smrg	386bsd)
4487a0395d0Smrg		basic_machine=i386-unknown
4497a0395d0Smrg		os=-bsd
4507a0395d0Smrg		;;
4517a0395d0Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4527a0395d0Smrg		basic_machine=m68000-att
4537a0395d0Smrg		;;
4547a0395d0Smrg	3b*)
4557a0395d0Smrg		basic_machine=we32k-att
4567a0395d0Smrg		;;
4577a0395d0Smrg	a29khif)
4587a0395d0Smrg		basic_machine=a29k-amd
4597a0395d0Smrg		os=-udi
4607a0395d0Smrg		;;
4618abc0ccfSmrg	abacus)
4627a0395d0Smrg		basic_machine=abacus-unknown
4637a0395d0Smrg		;;
4647a0395d0Smrg	adobe68k)
4657a0395d0Smrg		basic_machine=m68010-adobe
4667a0395d0Smrg		os=-scout
4677a0395d0Smrg		;;
4687a0395d0Smrg	alliant | fx80)
4697a0395d0Smrg		basic_machine=fx80-alliant
4707a0395d0Smrg		;;
4717a0395d0Smrg	altos | altos3068)
4727a0395d0Smrg		basic_machine=m68k-altos
4737a0395d0Smrg		;;
4747a0395d0Smrg	am29k)
4757a0395d0Smrg		basic_machine=a29k-none
4767a0395d0Smrg		os=-bsd
4777a0395d0Smrg		;;
4787a0395d0Smrg	amd64)
4797a0395d0Smrg		basic_machine=x86_64-pc
4807a0395d0Smrg		;;
4817a0395d0Smrg	amd64-*)
4827a0395d0Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4837a0395d0Smrg		;;
4847a0395d0Smrg	amdahl)
4857a0395d0Smrg		basic_machine=580-amdahl
4867a0395d0Smrg		os=-sysv
4877a0395d0Smrg		;;
4887a0395d0Smrg	amiga | amiga-*)
4897a0395d0Smrg		basic_machine=m68k-unknown
4907a0395d0Smrg		;;
4917a0395d0Smrg	amigaos | amigados)
4927a0395d0Smrg		basic_machine=m68k-unknown
4937a0395d0Smrg		os=-amigaos
4947a0395d0Smrg		;;
4957a0395d0Smrg	amigaunix | amix)
4967a0395d0Smrg		basic_machine=m68k-unknown
4977a0395d0Smrg		os=-sysv4
4987a0395d0Smrg		;;
4997a0395d0Smrg	apollo68)
5007a0395d0Smrg		basic_machine=m68k-apollo
5017a0395d0Smrg		os=-sysv
5027a0395d0Smrg		;;
5037a0395d0Smrg	apollo68bsd)
5047a0395d0Smrg		basic_machine=m68k-apollo
5057a0395d0Smrg		os=-bsd
5067a0395d0Smrg		;;
5077366012aSmrg	aros)
5087366012aSmrg		basic_machine=i386-pc
5097366012aSmrg		os=-aros
5107366012aSmrg		;;
5117a0395d0Smrg	aux)
5127a0395d0Smrg		basic_machine=m68k-apple
5137a0395d0Smrg		os=-aux
5147a0395d0Smrg		;;
5157a0395d0Smrg	balance)
5167a0395d0Smrg		basic_machine=ns32k-sequent
5177a0395d0Smrg		os=-dynix
5187a0395d0Smrg		;;
5197a0395d0Smrg	blackfin)
5207a0395d0Smrg		basic_machine=bfin-unknown
5217a0395d0Smrg		os=-linux
5227a0395d0Smrg		;;
5237a0395d0Smrg	blackfin-*)
5247a0395d0Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
5257a0395d0Smrg		os=-linux
5267a0395d0Smrg		;;
5272adc0320Smrg	bluegene*)
5282adc0320Smrg		basic_machine=powerpc-ibm
5292adc0320Smrg		os=-cnk
5302adc0320Smrg		;;
53196402570Smrg	c54x-*)
53296402570Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
53396402570Smrg		;;
53496402570Smrg	c55x-*)
53596402570Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
53696402570Smrg		;;
53796402570Smrg	c6x-*)
53896402570Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
53996402570Smrg		;;
5407a0395d0Smrg	c90)
5417a0395d0Smrg		basic_machine=c90-cray
5427a0395d0Smrg		os=-unicos
5437a0395d0Smrg		;;
5448abc0ccfSmrg	cegcc)
5457366012aSmrg		basic_machine=arm-unknown
5467366012aSmrg		os=-cegcc
5477366012aSmrg		;;
5487a0395d0Smrg	convex-c1)
5497a0395d0Smrg		basic_machine=c1-convex
5507a0395d0Smrg		os=-bsd
5517a0395d0Smrg		;;
5527a0395d0Smrg	convex-c2)
5537a0395d0Smrg		basic_machine=c2-convex
5547a0395d0Smrg		os=-bsd
5557a0395d0Smrg		;;
5567a0395d0Smrg	convex-c32)
5577a0395d0Smrg		basic_machine=c32-convex
5587a0395d0Smrg		os=-bsd
5597a0395d0Smrg		;;
5607a0395d0Smrg	convex-c34)
5617a0395d0Smrg		basic_machine=c34-convex
5627a0395d0Smrg		os=-bsd
5637a0395d0Smrg		;;
5647a0395d0Smrg	convex-c38)
5657a0395d0Smrg		basic_machine=c38-convex
5667a0395d0Smrg		os=-bsd
5677a0395d0Smrg		;;
5687a0395d0Smrg	cray | j90)
5697a0395d0Smrg		basic_machine=j90-cray
5707a0395d0Smrg		os=-unicos
5717a0395d0Smrg		;;
5727a0395d0Smrg	craynv)
5737a0395d0Smrg		basic_machine=craynv-cray
5747a0395d0Smrg		os=-unicosmp
5757a0395d0Smrg		;;
5768abc0ccfSmrg	cr16 | cr16-*)
5777a0395d0Smrg		basic_machine=cr16-unknown
5787a0395d0Smrg		os=-elf
5797a0395d0Smrg		;;
5807a0395d0Smrg	crds | unos)
5817a0395d0Smrg		basic_machine=m68k-crds
5827a0395d0Smrg		;;
5837a0395d0Smrg	crisv32 | crisv32-* | etraxfs*)
5847a0395d0Smrg		basic_machine=crisv32-axis
5857a0395d0Smrg		;;
5867a0395d0Smrg	cris | cris-* | etrax*)
5877a0395d0Smrg		basic_machine=cris-axis
5887a0395d0Smrg		;;
5897a0395d0Smrg	crx)
5907a0395d0Smrg		basic_machine=crx-unknown
5917a0395d0Smrg		os=-elf
5927a0395d0Smrg		;;
5937a0395d0Smrg	da30 | da30-*)
5947a0395d0Smrg		basic_machine=m68k-da30
5957a0395d0Smrg		;;
5967a0395d0Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5977a0395d0Smrg		basic_machine=mips-dec
5987a0395d0Smrg		;;
5997a0395d0Smrg	decsystem10* | dec10*)
6007a0395d0Smrg		basic_machine=pdp10-dec
6017a0395d0Smrg		os=-tops10
6027a0395d0Smrg		;;
6037a0395d0Smrg	decsystem20* | dec20*)
6047a0395d0Smrg		basic_machine=pdp10-dec
6057a0395d0Smrg		os=-tops20
6067a0395d0Smrg		;;
6077a0395d0Smrg	delta | 3300 | motorola-3300 | motorola-delta \
6087a0395d0Smrg	      | 3300-motorola | delta-motorola)
6097a0395d0Smrg		basic_machine=m68k-motorola
6107a0395d0Smrg		;;
6117a0395d0Smrg	delta88)
6127a0395d0Smrg		basic_machine=m88k-motorola
6137a0395d0Smrg		os=-sysv3
6147a0395d0Smrg		;;
6157366012aSmrg	dicos)
6167366012aSmrg		basic_machine=i686-pc
6177366012aSmrg		os=-dicos
6187366012aSmrg		;;
6197a0395d0Smrg	djgpp)
6207a0395d0Smrg		basic_machine=i586-pc
6217a0395d0Smrg		os=-msdosdjgpp
6227a0395d0Smrg		;;
6237a0395d0Smrg	dpx20 | dpx20-*)
6247a0395d0Smrg		basic_machine=rs6000-bull
6257a0395d0Smrg		os=-bosx
6267a0395d0Smrg		;;
6277a0395d0Smrg	dpx2* | dpx2*-bull)
6287a0395d0Smrg		basic_machine=m68k-bull
6297a0395d0Smrg		os=-sysv3
6307a0395d0Smrg		;;
6317a0395d0Smrg	ebmon29k)
6327a0395d0Smrg		basic_machine=a29k-amd
6337a0395d0Smrg		os=-ebmon
6347a0395d0Smrg		;;
6357a0395d0Smrg	elxsi)
6367a0395d0Smrg		basic_machine=elxsi-elxsi
6377a0395d0Smrg		os=-bsd
6387a0395d0Smrg		;;
6397a0395d0Smrg	encore | umax | mmax)
6407a0395d0Smrg		basic_machine=ns32k-encore
6417a0395d0Smrg		;;
6427a0395d0Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6437a0395d0Smrg		basic_machine=m68k-ericsson
6447a0395d0Smrg		os=-ose
6457a0395d0Smrg		;;
6467a0395d0Smrg	fx2800)
6477a0395d0Smrg		basic_machine=i860-alliant
6487a0395d0Smrg		;;
6497a0395d0Smrg	genix)
6507a0395d0Smrg		basic_machine=ns32k-ns
6517a0395d0Smrg		;;
6527a0395d0Smrg	gmicro)
6537a0395d0Smrg		basic_machine=tron-gmicro
6547a0395d0Smrg		os=-sysv
6557a0395d0Smrg		;;
6567a0395d0Smrg	go32)
6577a0395d0Smrg		basic_machine=i386-pc
6587a0395d0Smrg		os=-go32
6597a0395d0Smrg		;;
6607a0395d0Smrg	h3050r* | hiux*)
6617a0395d0Smrg		basic_machine=hppa1.1-hitachi
6627a0395d0Smrg		os=-hiuxwe2
6637a0395d0Smrg		;;
6647a0395d0Smrg	h8300hms)
6657a0395d0Smrg		basic_machine=h8300-hitachi
6667a0395d0Smrg		os=-hms
6677a0395d0Smrg		;;
6687a0395d0Smrg	h8300xray)
6697a0395d0Smrg		basic_machine=h8300-hitachi
6707a0395d0Smrg		os=-xray
6717a0395d0Smrg		;;
6727a0395d0Smrg	h8500hms)
6737a0395d0Smrg		basic_machine=h8500-hitachi
6747a0395d0Smrg		os=-hms
6757a0395d0Smrg		;;
6767a0395d0Smrg	harris)
6777a0395d0Smrg		basic_machine=m88k-harris
6787a0395d0Smrg		os=-sysv3
6797a0395d0Smrg		;;
6807a0395d0Smrg	hp300-*)
6817a0395d0Smrg		basic_machine=m68k-hp
6827a0395d0Smrg		;;
6837a0395d0Smrg	hp300bsd)
6847a0395d0Smrg		basic_machine=m68k-hp
6857a0395d0Smrg		os=-bsd
6867a0395d0Smrg		;;
6877a0395d0Smrg	hp300hpux)
6887a0395d0Smrg		basic_machine=m68k-hp
6897a0395d0Smrg		os=-hpux
6907a0395d0Smrg		;;
6917a0395d0Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6927a0395d0Smrg		basic_machine=hppa1.0-hp
6937a0395d0Smrg		;;
6947a0395d0Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6957a0395d0Smrg		basic_machine=m68000-hp
6967a0395d0Smrg		;;
6977a0395d0Smrg	hp9k3[2-9][0-9])
6987a0395d0Smrg		basic_machine=m68k-hp
6997a0395d0Smrg		;;
7007a0395d0Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
7017a0395d0Smrg		basic_machine=hppa1.0-hp
7027a0395d0Smrg		;;
7037a0395d0Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
7047a0395d0Smrg		basic_machine=hppa1.1-hp
7057a0395d0Smrg		;;
7067a0395d0Smrg	hp9k78[0-9] | hp78[0-9])
7077a0395d0Smrg		# FIXME: really hppa2.0-hp
7087a0395d0Smrg		basic_machine=hppa1.1-hp
7097a0395d0Smrg		;;
7107a0395d0Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
7117a0395d0Smrg		# FIXME: really hppa2.0-hp
7127a0395d0Smrg		basic_machine=hppa1.1-hp
7137a0395d0Smrg		;;
7147a0395d0Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7157a0395d0Smrg		basic_machine=hppa1.1-hp
7167a0395d0Smrg		;;
7177a0395d0Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7187a0395d0Smrg		basic_machine=hppa1.0-hp
7197a0395d0Smrg		;;
7207a0395d0Smrg	hppa-next)
7217a0395d0Smrg		os=-nextstep3
7227a0395d0Smrg		;;
7237a0395d0Smrg	hppaosf)
7247a0395d0Smrg		basic_machine=hppa1.1-hp
7257a0395d0Smrg		os=-osf
7267a0395d0Smrg		;;
7277a0395d0Smrg	hppro)
7287a0395d0Smrg		basic_machine=hppa1.1-hp
7297a0395d0Smrg		os=-proelf
7307a0395d0Smrg		;;
7317a0395d0Smrg	i370-ibm* | ibm*)
7327a0395d0Smrg		basic_machine=i370-ibm
7337a0395d0Smrg		;;
7347a0395d0Smrg	i*86v32)
7357a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7367a0395d0Smrg		os=-sysv32
7377a0395d0Smrg		;;
7387a0395d0Smrg	i*86v4*)
7397a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7407a0395d0Smrg		os=-sysv4
7417a0395d0Smrg		;;
7427a0395d0Smrg	i*86v)
7437a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7447a0395d0Smrg		os=-sysv
7457a0395d0Smrg		;;
7467a0395d0Smrg	i*86sol2)
7477a0395d0Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7487a0395d0Smrg		os=-solaris2
7497a0395d0Smrg		;;
7507a0395d0Smrg	i386mach)
7517a0395d0Smrg		basic_machine=i386-mach
7527a0395d0Smrg		os=-mach
7537a0395d0Smrg		;;
7547a0395d0Smrg	i386-vsta | vsta)
7557a0395d0Smrg		basic_machine=i386-unknown
7567a0395d0Smrg		os=-vsta
7577a0395d0Smrg		;;
7587a0395d0Smrg	iris | iris4d)
7597a0395d0Smrg		basic_machine=mips-sgi
7607a0395d0Smrg		case $os in
7617a0395d0Smrg		    -irix*)
7627a0395d0Smrg			;;
7637a0395d0Smrg		    *)
7647a0395d0Smrg			os=-irix4
7657a0395d0Smrg			;;
7667a0395d0Smrg		esac
7677a0395d0Smrg		;;
7687a0395d0Smrg	isi68 | isi)
7697a0395d0Smrg		basic_machine=m68k-isi
7707a0395d0Smrg		os=-sysv
7717a0395d0Smrg		;;
7727a0395d0Smrg	m68knommu)
7737a0395d0Smrg		basic_machine=m68k-unknown
7747a0395d0Smrg		os=-linux
7757a0395d0Smrg		;;
7767a0395d0Smrg	m68knommu-*)
7777a0395d0Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7787a0395d0Smrg		os=-linux
7797a0395d0Smrg		;;
7807a0395d0Smrg	m88k-omron*)
7817a0395d0Smrg		basic_machine=m88k-omron
7827a0395d0Smrg		;;
7837a0395d0Smrg	magnum | m3230)
7847a0395d0Smrg		basic_machine=mips-mips
7857a0395d0Smrg		os=-sysv
7867a0395d0Smrg		;;
7877a0395d0Smrg	merlin)
7887a0395d0Smrg		basic_machine=ns32k-utek
7897a0395d0Smrg		os=-sysv
7907a0395d0Smrg		;;
7919a011757Smrg	microblaze*)
7922adc0320Smrg		basic_machine=microblaze-xilinx
7932adc0320Smrg		;;
7949a011757Smrg	mingw64)
7959a011757Smrg		basic_machine=x86_64-pc
7969a011757Smrg		os=-mingw64
7979a011757Smrg		;;
7987a0395d0Smrg	mingw32)
7997a0395d0Smrg		basic_machine=i386-pc
8007a0395d0Smrg		os=-mingw32
8017a0395d0Smrg		;;
8027a0395d0Smrg	mingw32ce)
8037a0395d0Smrg		basic_machine=arm-unknown
8047a0395d0Smrg		os=-mingw32ce
8057a0395d0Smrg		;;
8067a0395d0Smrg	miniframe)
8077a0395d0Smrg		basic_machine=m68000-convergent
8087a0395d0Smrg		;;
8097a0395d0Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
8107a0395d0Smrg		basic_machine=m68k-atari
8117a0395d0Smrg		os=-mint
8127a0395d0Smrg		;;
8137a0395d0Smrg	mips3*-*)
8147a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8157a0395d0Smrg		;;
8167a0395d0Smrg	mips3*)
8177a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8187a0395d0Smrg		;;
8197a0395d0Smrg	monitor)
8207a0395d0Smrg		basic_machine=m68k-rom68k
8217a0395d0Smrg		os=-coff
8227a0395d0Smrg		;;
8237a0395d0Smrg	morphos)
8247a0395d0Smrg		basic_machine=powerpc-unknown
8257a0395d0Smrg		os=-morphos
8267a0395d0Smrg		;;
8277a0395d0Smrg	msdos)
8287a0395d0Smrg		basic_machine=i386-pc
8297a0395d0Smrg		os=-msdos
8307a0395d0Smrg		;;
8317a0395d0Smrg	ms1-*)
8327a0395d0Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8337a0395d0Smrg		;;
8348abc0ccfSmrg	msys)
8358abc0ccfSmrg		basic_machine=i386-pc
8368abc0ccfSmrg		os=-msys
8378abc0ccfSmrg		;;
8387a0395d0Smrg	mvs)
8397a0395d0Smrg		basic_machine=i370-ibm
8407a0395d0Smrg		os=-mvs
8417a0395d0Smrg		;;
8428abc0ccfSmrg	nacl)
8438abc0ccfSmrg		basic_machine=le32-unknown
8448abc0ccfSmrg		os=-nacl
8458abc0ccfSmrg		;;
8467a0395d0Smrg	ncr3000)
8477a0395d0Smrg		basic_machine=i486-ncr
8487a0395d0Smrg		os=-sysv4
8497a0395d0Smrg		;;
8507a0395d0Smrg	netbsd386)
8517a0395d0Smrg		basic_machine=i386-unknown
8527a0395d0Smrg		os=-netbsd
8537a0395d0Smrg		;;
8547a0395d0Smrg	netwinder)
8557a0395d0Smrg		basic_machine=armv4l-rebel
8567a0395d0Smrg		os=-linux
8577a0395d0Smrg		;;
8587a0395d0Smrg	news | news700 | news800 | news900)
8597a0395d0Smrg		basic_machine=m68k-sony
8607a0395d0Smrg		os=-newsos
8617a0395d0Smrg		;;
8627a0395d0Smrg	news1000)
8637a0395d0Smrg		basic_machine=m68030-sony
8647a0395d0Smrg		os=-newsos
8657a0395d0Smrg		;;
8667a0395d0Smrg	news-3600 | risc-news)
8677a0395d0Smrg		basic_machine=mips-sony
8687a0395d0Smrg		os=-newsos
8697a0395d0Smrg		;;
8707a0395d0Smrg	necv70)
8717a0395d0Smrg		basic_machine=v70-nec
8727a0395d0Smrg		os=-sysv
8737a0395d0Smrg		;;
8747a0395d0Smrg	next | m*-next )
8757a0395d0Smrg		basic_machine=m68k-next
8767a0395d0Smrg		case $os in
8777a0395d0Smrg		    -nextstep* )
8787a0395d0Smrg			;;
8797a0395d0Smrg		    -ns2*)
8807a0395d0Smrg		      os=-nextstep2
8817a0395d0Smrg			;;
8827a0395d0Smrg		    *)
8837a0395d0Smrg		      os=-nextstep3
8847a0395d0Smrg			;;
8857a0395d0Smrg		esac
8867a0395d0Smrg		;;
8877a0395d0Smrg	nh3000)
8887a0395d0Smrg		basic_machine=m68k-harris
8897a0395d0Smrg		os=-cxux
8907a0395d0Smrg		;;
8917a0395d0Smrg	nh[45]000)
8927a0395d0Smrg		basic_machine=m88k-harris
8937a0395d0Smrg		os=-cxux
8947a0395d0Smrg		;;
8957a0395d0Smrg	nindy960)
8967a0395d0Smrg		basic_machine=i960-intel
8977a0395d0Smrg		os=-nindy
8987a0395d0Smrg		;;
8997a0395d0Smrg	mon960)
9007a0395d0Smrg		basic_machine=i960-intel
9017a0395d0Smrg		os=-mon960
9027a0395d0Smrg		;;
9037a0395d0Smrg	nonstopux)
9047a0395d0Smrg		basic_machine=mips-compaq
9057a0395d0Smrg		os=-nonstopux
9067a0395d0Smrg		;;
9077a0395d0Smrg	np1)
9087a0395d0Smrg		basic_machine=np1-gould
9097a0395d0Smrg		;;
9108abc0ccfSmrg	neo-tandem)
91196402570Smrg		basic_machine=neo-tandem
91296402570Smrg		;;
9138abc0ccfSmrg	nse-tandem)
91496402570Smrg		basic_machine=nse-tandem
91596402570Smrg		;;
9167a0395d0Smrg	nsr-tandem)
9177a0395d0Smrg		basic_machine=nsr-tandem
9187a0395d0Smrg		;;
9197a0395d0Smrg	op50n-* | op60c-*)
9207a0395d0Smrg		basic_machine=hppa1.1-oki
9217a0395d0Smrg		os=-proelf
9227a0395d0Smrg		;;
9237a0395d0Smrg	openrisc | openrisc-*)
9247a0395d0Smrg		basic_machine=or32-unknown
9257a0395d0Smrg		;;
9267a0395d0Smrg	os400)
9277a0395d0Smrg		basic_machine=powerpc-ibm
9287a0395d0Smrg		os=-os400
9297a0395d0Smrg		;;
9307a0395d0Smrg	OSE68000 | ose68000)
9317a0395d0Smrg		basic_machine=m68000-ericsson
9327a0395d0Smrg		os=-ose
9337a0395d0Smrg		;;
9347a0395d0Smrg	os68k)
9357a0395d0Smrg		basic_machine=m68k-none
9367a0395d0Smrg		os=-os68k
9377a0395d0Smrg		;;
9387a0395d0Smrg	pa-hitachi)
9397a0395d0Smrg		basic_machine=hppa1.1-hitachi
9407a0395d0Smrg		os=-hiuxwe2
9417a0395d0Smrg		;;
9427a0395d0Smrg	paragon)
9437a0395d0Smrg		basic_machine=i860-intel
9447a0395d0Smrg		os=-osf
9457a0395d0Smrg		;;
9467a0395d0Smrg	parisc)
9477a0395d0Smrg		basic_machine=hppa-unknown
9487a0395d0Smrg		os=-linux
9497a0395d0Smrg		;;
9507a0395d0Smrg	parisc-*)
9517a0395d0Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9527a0395d0Smrg		os=-linux
9537a0395d0Smrg		;;
9547a0395d0Smrg	pbd)
9557a0395d0Smrg		basic_machine=sparc-tti
9567a0395d0Smrg		;;
9577a0395d0Smrg	pbb)
9587a0395d0Smrg		basic_machine=m68k-tti
9597a0395d0Smrg		;;
9607a0395d0Smrg	pc532 | pc532-*)
9617a0395d0Smrg		basic_machine=ns32k-pc532
9627a0395d0Smrg		;;
9637a0395d0Smrg	pc98)
9647a0395d0Smrg		basic_machine=i386-pc
9657a0395d0Smrg		;;
9667a0395d0Smrg	pc98-*)
9677a0395d0Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9687a0395d0Smrg		;;
9697a0395d0Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9707a0395d0Smrg		basic_machine=i586-pc
9717a0395d0Smrg		;;
9727a0395d0Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9737a0395d0Smrg		basic_machine=i686-pc
9747a0395d0Smrg		;;
9757a0395d0Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9767a0395d0Smrg		basic_machine=i686-pc
9777a0395d0Smrg		;;
9787a0395d0Smrg	pentium4)
9797a0395d0Smrg		basic_machine=i786-pc
9807a0395d0Smrg		;;
9817a0395d0Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9827a0395d0Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9837a0395d0Smrg		;;
9847a0395d0Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9857a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9867a0395d0Smrg		;;
9877a0395d0Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9887a0395d0Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9897a0395d0Smrg		;;
9907a0395d0Smrg	pentium4-*)
9917a0395d0Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9927a0395d0Smrg		;;
9937a0395d0Smrg	pn)
9947a0395d0Smrg		basic_machine=pn-gould
9957a0395d0Smrg		;;
9967a0395d0Smrg	power)	basic_machine=power-ibm
9977a0395d0Smrg		;;
9988abc0ccfSmrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9997a0395d0Smrg		;;
10008abc0ccfSmrg	ppc-* | ppcbe-*)
10018abc0ccfSmrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
10027a0395d0Smrg		;;
10037a0395d0Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
10047a0395d0Smrg		basic_machine=powerpcle-unknown
10057a0395d0Smrg		;;
10067a0395d0Smrg	ppcle-* | powerpclittle-*)
10077a0395d0Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
10087a0395d0Smrg		;;
10097a0395d0Smrg	ppc64)	basic_machine=powerpc64-unknown
10107a0395d0Smrg		;;
10119a011757Smrg	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
10127a0395d0Smrg		;;
10137a0395d0Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
10147a0395d0Smrg		basic_machine=powerpc64le-unknown
10157a0395d0Smrg		;;
10167a0395d0Smrg	ppc64le-* | powerpc64little-*)
10177a0395d0Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10187a0395d0Smrg		;;
10197a0395d0Smrg	ps2)
10207a0395d0Smrg		basic_machine=i386-ibm
10217a0395d0Smrg		;;
10227a0395d0Smrg	pw32)
10237a0395d0Smrg		basic_machine=i586-unknown
10247a0395d0Smrg		os=-pw32
10257a0395d0Smrg		;;
10269a011757Smrg	rdos | rdos64)
10279a011757Smrg		basic_machine=x86_64-pc
10289a011757Smrg		os=-rdos
10299a011757Smrg		;;
10309a011757Smrg	rdos32)
10317a0395d0Smrg		basic_machine=i386-pc
10327a0395d0Smrg		os=-rdos
10337a0395d0Smrg		;;
10347a0395d0Smrg	rom68k)
10357a0395d0Smrg		basic_machine=m68k-rom68k
10367a0395d0Smrg		os=-coff
10377a0395d0Smrg		;;
10387a0395d0Smrg	rm[46]00)
10397a0395d0Smrg		basic_machine=mips-siemens
10407a0395d0Smrg		;;
10417a0395d0Smrg	rtpc | rtpc-*)
10427a0395d0Smrg		basic_machine=romp-ibm
10437a0395d0Smrg		;;
10447a0395d0Smrg	s390 | s390-*)
10457a0395d0Smrg		basic_machine=s390-ibm
10467a0395d0Smrg		;;
10477a0395d0Smrg	s390x | s390x-*)
10487a0395d0Smrg		basic_machine=s390x-ibm
10497a0395d0Smrg		;;
10507a0395d0Smrg	sa29200)
10517a0395d0Smrg		basic_machine=a29k-amd
10527a0395d0Smrg		os=-udi
10537a0395d0Smrg		;;
10547a0395d0Smrg	sb1)
10557a0395d0Smrg		basic_machine=mipsisa64sb1-unknown
10567a0395d0Smrg		;;
10577a0395d0Smrg	sb1el)
10587a0395d0Smrg		basic_machine=mipsisa64sb1el-unknown
10597a0395d0Smrg		;;
10607a0395d0Smrg	sde)
10617a0395d0Smrg		basic_machine=mipsisa32-sde
10627a0395d0Smrg		os=-elf
10637a0395d0Smrg		;;
10647a0395d0Smrg	sei)
10657a0395d0Smrg		basic_machine=mips-sei
10667a0395d0Smrg		os=-seiux
10677a0395d0Smrg		;;
10687a0395d0Smrg	sequent)
10697a0395d0Smrg		basic_machine=i386-sequent
10707a0395d0Smrg		;;
10717a0395d0Smrg	sh)
10727a0395d0Smrg		basic_machine=sh-hitachi
10737a0395d0Smrg		os=-hms
10747a0395d0Smrg		;;
10757a0395d0Smrg	sh5el)
10767a0395d0Smrg		basic_machine=sh5le-unknown
10777a0395d0Smrg		;;
10787a0395d0Smrg	sh64)
10797a0395d0Smrg		basic_machine=sh64-unknown
10807a0395d0Smrg		;;
10817a0395d0Smrg	sparclite-wrs | simso-wrs)
10827a0395d0Smrg		basic_machine=sparclite-wrs
10837a0395d0Smrg		os=-vxworks
10847a0395d0Smrg		;;
10857a0395d0Smrg	sps7)
10867a0395d0Smrg		basic_machine=m68k-bull
10877a0395d0Smrg		os=-sysv2
10887a0395d0Smrg		;;
10897a0395d0Smrg	spur)
10907a0395d0Smrg		basic_machine=spur-unknown
10917a0395d0Smrg		;;
10927a0395d0Smrg	st2000)
10937a0395d0Smrg		basic_machine=m68k-tandem
10947a0395d0Smrg		;;
10957a0395d0Smrg	stratus)
10967a0395d0Smrg		basic_machine=i860-stratus
10977a0395d0Smrg		os=-sysv4
10987a0395d0Smrg		;;
10998abc0ccfSmrg	strongarm-* | thumb-*)
11008abc0ccfSmrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
11018abc0ccfSmrg		;;
11027a0395d0Smrg	sun2)
11037a0395d0Smrg		basic_machine=m68000-sun
11047a0395d0Smrg		;;
11057a0395d0Smrg	sun2os3)
11067a0395d0Smrg		basic_machine=m68000-sun
11077a0395d0Smrg		os=-sunos3
11087a0395d0Smrg		;;
11097a0395d0Smrg	sun2os4)
11107a0395d0Smrg		basic_machine=m68000-sun
11117a0395d0Smrg		os=-sunos4
11127a0395d0Smrg		;;
11137a0395d0Smrg	sun3os3)
11147a0395d0Smrg		basic_machine=m68k-sun
11157a0395d0Smrg		os=-sunos3
11167a0395d0Smrg		;;
11177a0395d0Smrg	sun3os4)
11187a0395d0Smrg		basic_machine=m68k-sun
11197a0395d0Smrg		os=-sunos4
11207a0395d0Smrg		;;
11217a0395d0Smrg	sun4os3)
11227a0395d0Smrg		basic_machine=sparc-sun
11237a0395d0Smrg		os=-sunos3
11247a0395d0Smrg		;;
11257a0395d0Smrg	sun4os4)
11267a0395d0Smrg		basic_machine=sparc-sun
11277a0395d0Smrg		os=-sunos4
11287a0395d0Smrg		;;
11297a0395d0Smrg	sun4sol2)
11307a0395d0Smrg		basic_machine=sparc-sun
11317a0395d0Smrg		os=-solaris2
11327a0395d0Smrg		;;
11337a0395d0Smrg	sun3 | sun3-*)
11347a0395d0Smrg		basic_machine=m68k-sun
11357a0395d0Smrg		;;
11367a0395d0Smrg	sun4)
11377a0395d0Smrg		basic_machine=sparc-sun
11387a0395d0Smrg		;;
11397a0395d0Smrg	sun386 | sun386i | roadrunner)
11407a0395d0Smrg		basic_machine=i386-sun
11417a0395d0Smrg		;;
11427a0395d0Smrg	sv1)
11437a0395d0Smrg		basic_machine=sv1-cray
11447a0395d0Smrg		os=-unicos
11457a0395d0Smrg		;;
11467a0395d0Smrg	symmetry)
11477a0395d0Smrg		basic_machine=i386-sequent
11487a0395d0Smrg		os=-dynix
11497a0395d0Smrg		;;
11507a0395d0Smrg	t3e)
11517a0395d0Smrg		basic_machine=alphaev5-cray
11527a0395d0Smrg		os=-unicos
11537a0395d0Smrg		;;
11547a0395d0Smrg	t90)
11557a0395d0Smrg		basic_machine=t90-cray
11567a0395d0Smrg		os=-unicos
11577a0395d0Smrg		;;
11587a0395d0Smrg	tile*)
11598abc0ccfSmrg		basic_machine=$basic_machine-unknown
11607a0395d0Smrg		os=-linux-gnu
11617a0395d0Smrg		;;
11627a0395d0Smrg	tx39)
11637a0395d0Smrg		basic_machine=mipstx39-unknown
11647a0395d0Smrg		;;
11657a0395d0Smrg	tx39el)
11667a0395d0Smrg		basic_machine=mipstx39el-unknown
11677a0395d0Smrg		;;
11687a0395d0Smrg	toad1)
11697a0395d0Smrg		basic_machine=pdp10-xkl
11707a0395d0Smrg		os=-tops20
11717a0395d0Smrg		;;
11727a0395d0Smrg	tower | tower-32)
11737a0395d0Smrg		basic_machine=m68k-ncr
11747a0395d0Smrg		;;
11757a0395d0Smrg	tpf)
11767a0395d0Smrg		basic_machine=s390x-ibm
11777a0395d0Smrg		os=-tpf
11787a0395d0Smrg		;;
11797a0395d0Smrg	udi29k)
11807a0395d0Smrg		basic_machine=a29k-amd
11817a0395d0Smrg		os=-udi
11827a0395d0Smrg		;;
11837a0395d0Smrg	ultra3)
11847a0395d0Smrg		basic_machine=a29k-nyu
11857a0395d0Smrg		os=-sym1
11867a0395d0Smrg		;;
11877a0395d0Smrg	v810 | necv810)
11887a0395d0Smrg		basic_machine=v810-nec
11897a0395d0Smrg		os=-none
11907a0395d0Smrg		;;
11917a0395d0Smrg	vaxv)
11927a0395d0Smrg		basic_machine=vax-dec
11937a0395d0Smrg		os=-sysv
11947a0395d0Smrg		;;
11957a0395d0Smrg	vms)
11967a0395d0Smrg		basic_machine=vax-dec
11977a0395d0Smrg		os=-vms
11987a0395d0Smrg		;;
11997a0395d0Smrg	vpp*|vx|vx-*)
12007a0395d0Smrg		basic_machine=f301-fujitsu
12017a0395d0Smrg		;;
12027a0395d0Smrg	vxworks960)
12037a0395d0Smrg		basic_machine=i960-wrs
12047a0395d0Smrg		os=-vxworks
12057a0395d0Smrg		;;
12067a0395d0Smrg	vxworks68)
12077a0395d0Smrg		basic_machine=m68k-wrs
12087a0395d0Smrg		os=-vxworks
12097a0395d0Smrg		;;
12107a0395d0Smrg	vxworks29k)
12117a0395d0Smrg		basic_machine=a29k-wrs
12127a0395d0Smrg		os=-vxworks
12137a0395d0Smrg		;;
12147a0395d0Smrg	w65*)
12157a0395d0Smrg		basic_machine=w65-wdc
12167a0395d0Smrg		os=-none
12177a0395d0Smrg		;;
12187a0395d0Smrg	w89k-*)
12197a0395d0Smrg		basic_machine=hppa1.1-winbond
12207a0395d0Smrg		os=-proelf
12217a0395d0Smrg		;;
12227a0395d0Smrg	xbox)
12237a0395d0Smrg		basic_machine=i686-pc
12247a0395d0Smrg		os=-mingw32
12257a0395d0Smrg		;;
12267a0395d0Smrg	xps | xps100)
12277a0395d0Smrg		basic_machine=xps100-honeywell
12287a0395d0Smrg		;;
12298abc0ccfSmrg	xscale-* | xscalee[bl]-*)
12308abc0ccfSmrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
12318abc0ccfSmrg		;;
12327a0395d0Smrg	ymp)
12337a0395d0Smrg		basic_machine=ymp-cray
12347a0395d0Smrg		os=-unicos
12357a0395d0Smrg		;;
12367a0395d0Smrg	z8k-*-coff)
12377a0395d0Smrg		basic_machine=z8k-unknown
12387a0395d0Smrg		os=-sim
12397a0395d0Smrg		;;
12407366012aSmrg	z80-*-coff)
12417366012aSmrg		basic_machine=z80-unknown
12427366012aSmrg		os=-sim
12437366012aSmrg		;;
12447a0395d0Smrg	none)
12457a0395d0Smrg		basic_machine=none-none
12467a0395d0Smrg		os=-none
12477a0395d0Smrg		;;
12487a0395d0Smrg
12497a0395d0Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12507a0395d0Smrg# some cases the only manufacturer, in others, it is the most popular.
12517a0395d0Smrg	w89k)
12527a0395d0Smrg		basic_machine=hppa1.1-winbond
12537a0395d0Smrg		;;
12547a0395d0Smrg	op50n)
12557a0395d0Smrg		basic_machine=hppa1.1-oki
12567a0395d0Smrg		;;
12577a0395d0Smrg	op60c)
12587a0395d0Smrg		basic_machine=hppa1.1-oki
12597a0395d0Smrg		;;
12607a0395d0Smrg	romp)
12617a0395d0Smrg		basic_machine=romp-ibm
12627a0395d0Smrg		;;
12637a0395d0Smrg	mmix)
12647a0395d0Smrg		basic_machine=mmix-knuth
12657a0395d0Smrg		;;
12667a0395d0Smrg	rs6000)
12677a0395d0Smrg		basic_machine=rs6000-ibm
12687a0395d0Smrg		;;
12697a0395d0Smrg	vax)
12707a0395d0Smrg		basic_machine=vax-dec
12717a0395d0Smrg		;;
12727a0395d0Smrg	pdp10)
12737a0395d0Smrg		# there are many clones, so DEC is not a safe bet
12747a0395d0Smrg		basic_machine=pdp10-unknown
12757a0395d0Smrg		;;
12767a0395d0Smrg	pdp11)
12777a0395d0Smrg		basic_machine=pdp11-dec
12787a0395d0Smrg		;;
12797a0395d0Smrg	we32k)
12807a0395d0Smrg		basic_machine=we32k-att
12817a0395d0Smrg		;;
12827366012aSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12837a0395d0Smrg		basic_machine=sh-unknown
12847a0395d0Smrg		;;
12857a0395d0Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12867a0395d0Smrg		basic_machine=sparc-sun
12877a0395d0Smrg		;;
12887a0395d0Smrg	cydra)
12897a0395d0Smrg		basic_machine=cydra-cydrome
12907a0395d0Smrg		;;
12917a0395d0Smrg	orion)
12927a0395d0Smrg		basic_machine=orion-highlevel
12937a0395d0Smrg		;;
12947a0395d0Smrg	orion105)
12957a0395d0Smrg		basic_machine=clipper-highlevel
12967a0395d0Smrg		;;
12977a0395d0Smrg	mac | mpw | mac-mpw)
12987a0395d0Smrg		basic_machine=m68k-apple
12997a0395d0Smrg		;;
13007a0395d0Smrg	pmac | pmac-mpw)
13017a0395d0Smrg		basic_machine=powerpc-apple
13027a0395d0Smrg		;;
13037a0395d0Smrg	*-unknown)
13047a0395d0Smrg		# Make sure to match an already-canonicalized machine name.
13057a0395d0Smrg		;;
13067a0395d0Smrg	*)
13077a0395d0Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
13087a0395d0Smrg		exit 1
13097a0395d0Smrg		;;
13107a0395d0Smrgesac
13117a0395d0Smrg
13127a0395d0Smrg# Here we canonicalize certain aliases for manufacturers.
13137a0395d0Smrgcase $basic_machine in
13147a0395d0Smrg	*-digital*)
13157a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
13167a0395d0Smrg		;;
13177a0395d0Smrg	*-commodore*)
13187a0395d0Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13197a0395d0Smrg		;;
13207a0395d0Smrg	*)
13217a0395d0Smrg		;;
13227a0395d0Smrgesac
13237a0395d0Smrg
13247a0395d0Smrg# Decode manufacturer-specific aliases for certain operating systems.
13257a0395d0Smrg
13267a0395d0Smrgif [ x"$os" != x"" ]
13277a0395d0Smrgthen
13287a0395d0Smrgcase $os in
13298abc0ccfSmrg	# First match some system type aliases
13308abc0ccfSmrg	# that might get confused with valid system types.
13317a0395d0Smrg	# -solaris* is a basic system type, with this one exception.
13328abc0ccfSmrg	-auroraux)
13338abc0ccfSmrg		os=-auroraux
13342adc0320Smrg		;;
13357a0395d0Smrg	-solaris1 | -solaris1.*)
13367a0395d0Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13377a0395d0Smrg		;;
13387a0395d0Smrg	-solaris)
13397a0395d0Smrg		os=-solaris2
13407a0395d0Smrg		;;
13417a0395d0Smrg	-svr4*)
13427a0395d0Smrg		os=-sysv4
13437a0395d0Smrg		;;
13447a0395d0Smrg	-unixware*)
13457a0395d0Smrg		os=-sysv4.2uw
13467a0395d0Smrg		;;
13477a0395d0Smrg	-gnu/linux*)
13487a0395d0Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13497a0395d0Smrg		;;
13507a0395d0Smrg	# First accept the basic system types.
13517a0395d0Smrg	# The portable systems comes first.
13527a0395d0Smrg	# Each alternative MUST END IN A *, to match a version number.
13537a0395d0Smrg	# -sysv* is not here because it comes later, after sysvr4.
13547a0395d0Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
13552adc0320Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
13562adc0320Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
13572adc0320Smrg	      | -sym* | -kopensolaris* \
13587a0395d0Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13597366012aSmrg	      | -aos* | -aros* \
13607a0395d0Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13617a0395d0Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13627a0395d0Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13639a011757Smrg	      | -bitrig* | -openbsd* | -solidbsd* \
13647a0395d0Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13657a0395d0Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13667a0395d0Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13677a0395d0Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13687366012aSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13698abc0ccfSmrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
13709a011757Smrg	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
13719a011757Smrg	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
13727a0395d0Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13737a0395d0Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13747a0395d0Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13757a0395d0Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13767a0395d0Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13777a0395d0Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13787a0395d0Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
13792adc0320Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13807a0395d0Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13817a0395d0Smrg		;;
13827a0395d0Smrg	-qnx*)
13837a0395d0Smrg		case $basic_machine in
13847a0395d0Smrg		    x86-* | i*86-*)
13857a0395d0Smrg			;;
13867a0395d0Smrg		    *)
13877a0395d0Smrg			os=-nto$os
13887a0395d0Smrg			;;
13897a0395d0Smrg		esac
13907a0395d0Smrg		;;
13917a0395d0Smrg	-nto-qnx*)
13927a0395d0Smrg		;;
13937a0395d0Smrg	-nto*)
13947a0395d0Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13957a0395d0Smrg		;;
13967a0395d0Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13977a0395d0Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13987a0395d0Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13997a0395d0Smrg		;;
14007a0395d0Smrg	-mac*)
14017a0395d0Smrg		os=`echo $os | sed -e 's|mac|macos|'`
14027a0395d0Smrg		;;
14037a0395d0Smrg	-linux-dietlibc)
14047a0395d0Smrg		os=-linux-dietlibc
14057a0395d0Smrg		;;
14067a0395d0Smrg	-linux*)
14077a0395d0Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
14087a0395d0Smrg		;;
14097a0395d0Smrg	-sunos5*)
14107a0395d0Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
14117a0395d0Smrg		;;
14127a0395d0Smrg	-sunos6*)
14137a0395d0Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
14147a0395d0Smrg		;;
14157a0395d0Smrg	-opened*)
14167a0395d0Smrg		os=-openedition
14177a0395d0Smrg		;;
14188abc0ccfSmrg	-os400*)
14197a0395d0Smrg		os=-os400
14207a0395d0Smrg		;;
14217a0395d0Smrg	-wince*)
14227a0395d0Smrg		os=-wince
14237a0395d0Smrg		;;
14247a0395d0Smrg	-osfrose*)
14257a0395d0Smrg		os=-osfrose
14267a0395d0Smrg		;;
14277a0395d0Smrg	-osf*)
14287a0395d0Smrg		os=-osf
14297a0395d0Smrg		;;
14307a0395d0Smrg	-utek*)
14317a0395d0Smrg		os=-bsd
14327a0395d0Smrg		;;
14337a0395d0Smrg	-dynix*)
14347a0395d0Smrg		os=-bsd
14357a0395d0Smrg		;;
14367a0395d0Smrg	-acis*)
14377a0395d0Smrg		os=-aos
14387a0395d0Smrg		;;
14397a0395d0Smrg	-atheos*)
14407a0395d0Smrg		os=-atheos
14417a0395d0Smrg		;;
14427a0395d0Smrg	-syllable*)
14437a0395d0Smrg		os=-syllable
14447a0395d0Smrg		;;
14457a0395d0Smrg	-386bsd)
14467a0395d0Smrg		os=-bsd
14477a0395d0Smrg		;;
14487a0395d0Smrg	-ctix* | -uts*)
14497a0395d0Smrg		os=-sysv
14507a0395d0Smrg		;;
14517a0395d0Smrg	-nova*)
14527a0395d0Smrg		os=-rtmk-nova
14537a0395d0Smrg		;;
14547a0395d0Smrg	-ns2 )
14557a0395d0Smrg		os=-nextstep2
14567a0395d0Smrg		;;
14577a0395d0Smrg	-nsk*)
14587a0395d0Smrg		os=-nsk
14597a0395d0Smrg		;;
14607a0395d0Smrg	# Preserve the version number of sinix5.
14617a0395d0Smrg	-sinix5.*)
14627a0395d0Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14637a0395d0Smrg		;;
14647a0395d0Smrg	-sinix*)
14657a0395d0Smrg		os=-sysv4
14667a0395d0Smrg		;;
14678abc0ccfSmrg	-tpf*)
14687a0395d0Smrg		os=-tpf
14697a0395d0Smrg		;;
14707a0395d0Smrg	-triton*)
14717a0395d0Smrg		os=-sysv3
14727a0395d0Smrg		;;
14737a0395d0Smrg	-oss*)
14747a0395d0Smrg		os=-sysv3
14757a0395d0Smrg		;;
14767a0395d0Smrg	-svr4)
14777a0395d0Smrg		os=-sysv4
14787a0395d0Smrg		;;
14797a0395d0Smrg	-svr3)
14807a0395d0Smrg		os=-sysv3
14817a0395d0Smrg		;;
14827a0395d0Smrg	-sysvr4)
14837a0395d0Smrg		os=-sysv4
14847a0395d0Smrg		;;
14857a0395d0Smrg	# This must come after -sysvr4.
14867a0395d0Smrg	-sysv*)
14877a0395d0Smrg		;;
14887a0395d0Smrg	-ose*)
14897a0395d0Smrg		os=-ose
14907a0395d0Smrg		;;
14917a0395d0Smrg	-es1800*)
14927a0395d0Smrg		os=-ose
14937a0395d0Smrg		;;
14947a0395d0Smrg	-xenix)
14957a0395d0Smrg		os=-xenix
14967a0395d0Smrg		;;
14977a0395d0Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14987a0395d0Smrg		os=-mint
14997a0395d0Smrg		;;
15007a0395d0Smrg	-aros*)
15017a0395d0Smrg		os=-aros
15027a0395d0Smrg		;;
15037a0395d0Smrg	-kaos*)
15047a0395d0Smrg		os=-kaos
15057a0395d0Smrg		;;
15067a0395d0Smrg	-zvmoe)
15077a0395d0Smrg		os=-zvmoe
15087a0395d0Smrg		;;
15097366012aSmrg	-dicos*)
15107366012aSmrg		os=-dicos
15117366012aSmrg		;;
15128abc0ccfSmrg	-nacl*)
15138abc0ccfSmrg		;;
15147a0395d0Smrg	-none)
15157a0395d0Smrg		;;
15167a0395d0Smrg	*)
15177a0395d0Smrg		# Get rid of the `-' at the beginning of $os.
15187a0395d0Smrg		os=`echo $os | sed 's/[^-]*-//'`
15197a0395d0Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15207a0395d0Smrg		exit 1
15217a0395d0Smrg		;;
15227a0395d0Smrgesac
15237a0395d0Smrgelse
15247a0395d0Smrg
15257a0395d0Smrg# Here we handle the default operating systems that come with various machines.
15267a0395d0Smrg# The value should be what the vendor currently ships out the door with their
15277a0395d0Smrg# machine or put another way, the most popular os provided with the machine.
15287a0395d0Smrg
15297a0395d0Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15307a0395d0Smrg# "-sun"), then you have to tell the case statement up towards the top
15317a0395d0Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15327a0395d0Smrg# will signal an error saying that MANUFACTURER isn't an operating
15337a0395d0Smrg# system, and we'll never get to this point.
15347a0395d0Smrg
15357a0395d0Smrgcase $basic_machine in
15368abc0ccfSmrg	score-*)
15377a0395d0Smrg		os=-elf
15387a0395d0Smrg		;;
15398abc0ccfSmrg	spu-*)
15407a0395d0Smrg		os=-elf
15417a0395d0Smrg		;;
15427a0395d0Smrg	*-acorn)
15437a0395d0Smrg		os=-riscix1.2
15447a0395d0Smrg		;;
15457a0395d0Smrg	arm*-rebel)
15467a0395d0Smrg		os=-linux
15477a0395d0Smrg		;;
15487a0395d0Smrg	arm*-semi)
15497a0395d0Smrg		os=-aout
15507a0395d0Smrg		;;
15518abc0ccfSmrg	c4x-* | tic4x-*)
15528abc0ccfSmrg		os=-coff
15538abc0ccfSmrg		;;
15548abc0ccfSmrg	hexagon-*)
15558abc0ccfSmrg		os=-elf
15567a0395d0Smrg		;;
155796402570Smrg	tic54x-*)
155896402570Smrg		os=-coff
155996402570Smrg		;;
156096402570Smrg	tic55x-*)
156196402570Smrg		os=-coff
156296402570Smrg		;;
156396402570Smrg	tic6x-*)
156496402570Smrg		os=-coff
156596402570Smrg		;;
15667a0395d0Smrg	# This must come before the *-dec entry.
15677a0395d0Smrg	pdp10-*)
15687a0395d0Smrg		os=-tops20
15697a0395d0Smrg		;;
15707a0395d0Smrg	pdp11-*)
15717a0395d0Smrg		os=-none
15727a0395d0Smrg		;;
15737a0395d0Smrg	*-dec | vax-*)
15747a0395d0Smrg		os=-ultrix4.2
15757a0395d0Smrg		;;
15767a0395d0Smrg	m68*-apollo)
15777a0395d0Smrg		os=-domain
15787a0395d0Smrg		;;
15797a0395d0Smrg	i386-sun)
15807a0395d0Smrg		os=-sunos4.0.2
15817a0395d0Smrg		;;
15827a0395d0Smrg	m68000-sun)
15837a0395d0Smrg		os=-sunos3
15847a0395d0Smrg		;;
15857a0395d0Smrg	m68*-cisco)
15867a0395d0Smrg		os=-aout
15877a0395d0Smrg		;;
15888abc0ccfSmrg	mep-*)
15897a0395d0Smrg		os=-elf
15907a0395d0Smrg		;;
15917a0395d0Smrg	mips*-cisco)
15927a0395d0Smrg		os=-elf
15937a0395d0Smrg		;;
15947a0395d0Smrg	mips*-*)
15957a0395d0Smrg		os=-elf
15967a0395d0Smrg		;;
15977a0395d0Smrg	or32-*)
15987a0395d0Smrg		os=-coff
15997a0395d0Smrg		;;
16007a0395d0Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
16017a0395d0Smrg		os=-sysv3
16027a0395d0Smrg		;;
16037a0395d0Smrg	sparc-* | *-sun)
16047a0395d0Smrg		os=-sunos4.1.1
16057a0395d0Smrg		;;
16067a0395d0Smrg	*-be)
16077a0395d0Smrg		os=-beos
16087a0395d0Smrg		;;
16097a0395d0Smrg	*-haiku)
16107a0395d0Smrg		os=-haiku
16117a0395d0Smrg		;;
16127a0395d0Smrg	*-ibm)
16137a0395d0Smrg		os=-aix
16147a0395d0Smrg		;;
16158abc0ccfSmrg	*-knuth)
16167a0395d0Smrg		os=-mmixware
16177a0395d0Smrg		;;
16187a0395d0Smrg	*-wec)
16197a0395d0Smrg		os=-proelf
16207a0395d0Smrg		;;
16217a0395d0Smrg	*-winbond)
16227a0395d0Smrg		os=-proelf
16237a0395d0Smrg		;;
16247a0395d0Smrg	*-oki)
16257a0395d0Smrg		os=-proelf
16267a0395d0Smrg		;;
16277a0395d0Smrg	*-hp)
16287a0395d0Smrg		os=-hpux
16297a0395d0Smrg		;;
16307a0395d0Smrg	*-hitachi)
16317a0395d0Smrg		os=-hiux
16327a0395d0Smrg		;;
16337a0395d0Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16347a0395d0Smrg		os=-sysv
16357a0395d0Smrg		;;
16367a0395d0Smrg	*-cbm)
16377a0395d0Smrg		os=-amigaos
16387a0395d0Smrg		;;
16397a0395d0Smrg	*-dg)
16407a0395d0Smrg		os=-dgux
16417a0395d0Smrg		;;
16427a0395d0Smrg	*-dolphin)
16437a0395d0Smrg		os=-sysv3
16447a0395d0Smrg		;;
16457a0395d0Smrg	m68k-ccur)
16467a0395d0Smrg		os=-rtu
16477a0395d0Smrg		;;
16487a0395d0Smrg	m88k-omron*)
16497a0395d0Smrg		os=-luna
16507a0395d0Smrg		;;
16517a0395d0Smrg	*-next )
16527a0395d0Smrg		os=-nextstep
16537a0395d0Smrg		;;
16547a0395d0Smrg	*-sequent)
16557a0395d0Smrg		os=-ptx
16567a0395d0Smrg		;;
16577a0395d0Smrg	*-crds)
16587a0395d0Smrg		os=-unos
16597a0395d0Smrg		;;
16607a0395d0Smrg	*-ns)
16617a0395d0Smrg		os=-genix
16627a0395d0Smrg		;;
16637a0395d0Smrg	i370-*)
16647a0395d0Smrg		os=-mvs
16657a0395d0Smrg		;;
16667a0395d0Smrg	*-next)
16677a0395d0Smrg		os=-nextstep3
16687a0395d0Smrg		;;
16697a0395d0Smrg	*-gould)
16707a0395d0Smrg		os=-sysv
16717a0395d0Smrg		;;
16727a0395d0Smrg	*-highlevel)
16737a0395d0Smrg		os=-bsd
16747a0395d0Smrg		;;
16757a0395d0Smrg	*-encore)
16767a0395d0Smrg		os=-bsd
16777a0395d0Smrg		;;
16787a0395d0Smrg	*-sgi)
16797a0395d0Smrg		os=-irix
16807a0395d0Smrg		;;
16817a0395d0Smrg	*-siemens)
16827a0395d0Smrg		os=-sysv4
16837a0395d0Smrg		;;
16847a0395d0Smrg	*-masscomp)
16857a0395d0Smrg		os=-rtu
16867a0395d0Smrg		;;
16877a0395d0Smrg	f30[01]-fujitsu | f700-fujitsu)
16887a0395d0Smrg		os=-uxpv
16897a0395d0Smrg		;;
16907a0395d0Smrg	*-rom68k)
16917a0395d0Smrg		os=-coff
16927a0395d0Smrg		;;
16937a0395d0Smrg	*-*bug)
16947a0395d0Smrg		os=-coff
16957a0395d0Smrg		;;
16967a0395d0Smrg	*-apple)
16977a0395d0Smrg		os=-macos
16987a0395d0Smrg		;;
16997a0395d0Smrg	*-atari*)
17007a0395d0Smrg		os=-mint
17017a0395d0Smrg		;;
17027a0395d0Smrg	*)
17037a0395d0Smrg		os=-none
17047a0395d0Smrg		;;
17057a0395d0Smrgesac
17067a0395d0Smrgfi
17077a0395d0Smrg
17087a0395d0Smrg# Here we handle the case where we know the os, and the CPU type, but not the
17097a0395d0Smrg# manufacturer.  We pick the logical manufacturer.
17107a0395d0Smrgvendor=unknown
17117a0395d0Smrgcase $basic_machine in
17127a0395d0Smrg	*-unknown)
17137a0395d0Smrg		case $os in
17147a0395d0Smrg			-riscix*)
17157a0395d0Smrg				vendor=acorn
17167a0395d0Smrg				;;
17177a0395d0Smrg			-sunos*)
17187a0395d0Smrg				vendor=sun
17197a0395d0Smrg				;;
17202adc0320Smrg			-cnk*|-aix*)
17217a0395d0Smrg				vendor=ibm
17227a0395d0Smrg				;;
17237a0395d0Smrg			-beos*)
17247a0395d0Smrg				vendor=be
17257a0395d0Smrg				;;
17267a0395d0Smrg			-hpux*)
17277a0395d0Smrg				vendor=hp
17287a0395d0Smrg				;;
17297a0395d0Smrg			-mpeix*)
17307a0395d0Smrg				vendor=hp
17317a0395d0Smrg				;;
17327a0395d0Smrg			-hiux*)
17337a0395d0Smrg				vendor=hitachi
17347a0395d0Smrg				;;
17357a0395d0Smrg			-unos*)
17367a0395d0Smrg				vendor=crds
17377a0395d0Smrg				;;
17387a0395d0Smrg			-dgux*)
17397a0395d0Smrg				vendor=dg
17407a0395d0Smrg				;;
17417a0395d0Smrg			-luna*)
17427a0395d0Smrg				vendor=omron
17437a0395d0Smrg				;;
17447a0395d0Smrg			-genix*)
17457a0395d0Smrg				vendor=ns
17467a0395d0Smrg				;;
17477a0395d0Smrg			-mvs* | -opened*)
17487a0395d0Smrg				vendor=ibm
17497a0395d0Smrg				;;
17507a0395d0Smrg			-os400*)
17517a0395d0Smrg				vendor=ibm
17527a0395d0Smrg				;;
17537a0395d0Smrg			-ptx*)
17547a0395d0Smrg				vendor=sequent
17557a0395d0Smrg				;;
17567a0395d0Smrg			-tpf*)
17577a0395d0Smrg				vendor=ibm
17587a0395d0Smrg				;;
17597a0395d0Smrg			-vxsim* | -vxworks* | -windiss*)
17607a0395d0Smrg				vendor=wrs
17617a0395d0Smrg				;;
17627a0395d0Smrg			-aux*)
17637a0395d0Smrg				vendor=apple
17647a0395d0Smrg				;;
17657a0395d0Smrg			-hms*)
17667a0395d0Smrg				vendor=hitachi
17677a0395d0Smrg				;;
17687a0395d0Smrg			-mpw* | -macos*)
17697a0395d0Smrg				vendor=apple
17707a0395d0Smrg				;;
17717a0395d0Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17727a0395d0Smrg				vendor=atari
17737a0395d0Smrg				;;
17747a0395d0Smrg			-vos*)
17757a0395d0Smrg				vendor=stratus
17767a0395d0Smrg				;;
17777a0395d0Smrg		esac
17787a0395d0Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17797a0395d0Smrg		;;
17807a0395d0Smrgesac
17817a0395d0Smrg
17827a0395d0Smrgecho $basic_machine$os
17837a0395d0Smrgexit
17847a0395d0Smrg
17857a0395d0Smrg# Local variables:
17867a0395d0Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17877a0395d0Smrg# time-stamp-start: "timestamp='"
17887a0395d0Smrg# time-stamp-format: "%:y-%02m-%02d"
17897a0395d0Smrg# time-stamp-end: "'"
17907a0395d0Smrg# End:
1791