config.sub revision f1e20f77
15b28e182Smrg#! /bin/sh
25b28e182Smrg# Configuration validation subroutine script.
35b28e182Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4f1e20f77Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
55b28e182Smrg#   Free Software Foundation, Inc.
65b28e182Smrg
7f1e20f77Smrgtimestamp='2010-09-11'
85b28e182Smrg
95b28e182Smrg# This file is (in principle) common to ALL GNU software.
105b28e182Smrg# The presence of a machine in this file suggests that SOME GNU software
115b28e182Smrg# can handle that machine.  It does not imply ALL GNU software can.
125b28e182Smrg#
135b28e182Smrg# This file is free software; you can redistribute it and/or modify
145b28e182Smrg# it under the terms of the GNU General Public License as published by
155b28e182Smrg# the Free Software Foundation; either version 2 of the License, or
165b28e182Smrg# (at your option) any later version.
175b28e182Smrg#
185b28e182Smrg# This program is distributed in the hope that it will be useful,
195b28e182Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
205b28e182Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
215b28e182Smrg# GNU General Public License for more details.
225b28e182Smrg#
235b28e182Smrg# You should have received a copy of the GNU General Public License
245b28e182Smrg# along with this program; if not, write to the Free Software
255b28e182Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
265b28e182Smrg# 02110-1301, USA.
275b28e182Smrg#
285b28e182Smrg# As a special exception to the GNU General Public License, if you
295b28e182Smrg# distribute this file as part of a program that contains a
305b28e182Smrg# configuration script generated by Autoconf, you may include it under
315b28e182Smrg# the same distribution terms that you use for the rest of that program.
325b28e182Smrg
335b28e182Smrg
345b28e182Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35f1e20f77Smrg# diff and a properly formatted GNU ChangeLog entry.
365b28e182Smrg#
375b28e182Smrg# Configuration subroutine to validate and canonicalize a configuration type.
385b28e182Smrg# Supply the specified configuration type as an argument.
395b28e182Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
405b28e182Smrg# Otherwise, we print the canonical config type on stdout and succeed.
415b28e182Smrg
42f1e20f77Smrg# You can get the latest version of this script from:
43f1e20f77Smrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44f1e20f77Smrg
455b28e182Smrg# This file is supposed to be the same for all GNU packages
465b28e182Smrg# and recognize all the CPU types, system types and aliases
475b28e182Smrg# that are meaningful with *any* GNU software.
485b28e182Smrg# Each package is responsible for reporting which valid configurations
495b28e182Smrg# it does not support.  The user should be able to distinguish
505b28e182Smrg# a failure to support a valid configuration from a meaningless
515b28e182Smrg# configuration.
525b28e182Smrg
535b28e182Smrg# The goal of this file is to map all the various variations of a given
545b28e182Smrg# machine specification into a single specification in the form:
555b28e182Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
565b28e182Smrg# or in some cases, the newer four-part form:
575b28e182Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
585b28e182Smrg# It is wrong to echo any other type of specification.
595b28e182Smrg
605b28e182Smrgme=`echo "$0" | sed -e 's,.*/,,'`
615b28e182Smrg
625b28e182Smrgusage="\
635b28e182SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
645b28e182Smrg       $0 [OPTION] ALIAS
655b28e182Smrg
665b28e182SmrgCanonicalize a configuration name.
675b28e182Smrg
685b28e182SmrgOperation modes:
695b28e182Smrg  -h, --help         print this help, then exit
705b28e182Smrg  -t, --time-stamp   print date of last modification, then exit
715b28e182Smrg  -v, --version      print version number, then exit
725b28e182Smrg
735b28e182SmrgReport bugs and patches to <config-patches@gnu.org>."
745b28e182Smrg
755b28e182Smrgversion="\
765b28e182SmrgGNU config.sub ($timestamp)
775b28e182Smrg
78f1e20f77SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79f1e20f77Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80f1e20f77SmrgSoftware Foundation, Inc.
815b28e182Smrg
825b28e182SmrgThis is free software; see the source for copying conditions.  There is NO
835b28e182Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
845b28e182Smrg
855b28e182Smrghelp="
865b28e182SmrgTry \`$me --help' for more information."
875b28e182Smrg
885b28e182Smrg# Parse command line
895b28e182Smrgwhile test $# -gt 0 ; do
905b28e182Smrg  case $1 in
915b28e182Smrg    --time-stamp | --time* | -t )
925b28e182Smrg       echo "$timestamp" ; exit ;;
935b28e182Smrg    --version | -v )
945b28e182Smrg       echo "$version" ; exit ;;
955b28e182Smrg    --help | --h* | -h )
965b28e182Smrg       echo "$usage"; exit ;;
975b28e182Smrg    -- )     # Stop option processing
985b28e182Smrg       shift; break ;;
995b28e182Smrg    - )	# Use stdin as input.
1005b28e182Smrg       break ;;
1015b28e182Smrg    -* )
1025b28e182Smrg       echo "$me: invalid option $1$help"
1035b28e182Smrg       exit 1 ;;
1045b28e182Smrg
1055b28e182Smrg    *local*)
1065b28e182Smrg       # First pass through any local machine types.
1075b28e182Smrg       echo $1
1085b28e182Smrg       exit ;;
1095b28e182Smrg
1105b28e182Smrg    * )
1115b28e182Smrg       break ;;
1125b28e182Smrg  esac
1135b28e182Smrgdone
1145b28e182Smrg
1155b28e182Smrgcase $# in
1165b28e182Smrg 0) echo "$me: missing argument$help" >&2
1175b28e182Smrg    exit 1;;
1185b28e182Smrg 1) ;;
1195b28e182Smrg *) echo "$me: too many arguments$help" >&2
1205b28e182Smrg    exit 1;;
1215b28e182Smrgesac
1225b28e182Smrg
1235b28e182Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1245b28e182Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1255b28e182Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1265b28e182Smrgcase $maybe_os in
127f1e20f77Smrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128f1e20f77Smrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129f1e20f77Smrg  knetbsd*-gnu* | netbsd*-gnu* | \
1305b28e182Smrg  kopensolaris*-gnu* | \
1315b28e182Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1325b28e182Smrg    os=-$maybe_os
1335b28e182Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1345b28e182Smrg    ;;
1355b28e182Smrg  *)
1365b28e182Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1375b28e182Smrg    if [ $basic_machine != $1 ]
1385b28e182Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1395b28e182Smrg    else os=; fi
1405b28e182Smrg    ;;
1415b28e182Smrgesac
1425b28e182Smrg
1435b28e182Smrg### Let's recognize common machines as not being operating systems so
1445b28e182Smrg### that things like config.sub decstation-3100 work.  We also
1455b28e182Smrg### recognize some manufacturers as not being operating systems, so we
1465b28e182Smrg### can provide default operating systems below.
1475b28e182Smrgcase $os in
1485b28e182Smrg	-sun*os*)
1495b28e182Smrg		# Prevent following clause from handling this invalid input.
1505b28e182Smrg		;;
1515b28e182Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1525b28e182Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1535b28e182Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1545b28e182Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1555b28e182Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1565b28e182Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157f1e20f77Smrg	-apple | -axis | -knuth | -cray | -microblaze)
1585b28e182Smrg		os=
1595b28e182Smrg		basic_machine=$1
1605b28e182Smrg		;;
161f1e20f77Smrg        -bluegene*)
162f1e20f77Smrg	        os=-cnk
163f1e20f77Smrg		;;
1645b28e182Smrg	-sim | -cisco | -oki | -wec | -winbond)
1655b28e182Smrg		os=
1665b28e182Smrg		basic_machine=$1
1675b28e182Smrg		;;
1685b28e182Smrg	-scout)
1695b28e182Smrg		;;
1705b28e182Smrg	-wrs)
1715b28e182Smrg		os=-vxworks
1725b28e182Smrg		basic_machine=$1
1735b28e182Smrg		;;
1745b28e182Smrg	-chorusos*)
1755b28e182Smrg		os=-chorusos
1765b28e182Smrg		basic_machine=$1
1775b28e182Smrg		;;
1785b28e182Smrg 	-chorusrdb)
1795b28e182Smrg 		os=-chorusrdb
1805b28e182Smrg		basic_machine=$1
1815b28e182Smrg 		;;
1825b28e182Smrg	-hiux*)
1835b28e182Smrg		os=-hiuxwe2
1845b28e182Smrg		;;
1855b28e182Smrg	-sco6)
1865b28e182Smrg		os=-sco5v6
1875b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1885b28e182Smrg		;;
1895b28e182Smrg	-sco5)
1905b28e182Smrg		os=-sco3.2v5
1915b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1925b28e182Smrg		;;
1935b28e182Smrg	-sco4)
1945b28e182Smrg		os=-sco3.2v4
1955b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1965b28e182Smrg		;;
1975b28e182Smrg	-sco3.2.[4-9]*)
1985b28e182Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1995b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2005b28e182Smrg		;;
2015b28e182Smrg	-sco3.2v[4-9]*)
2025b28e182Smrg		# Don't forget version if it is 3.2v4 or newer.
2035b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2045b28e182Smrg		;;
2055b28e182Smrg	-sco5v6*)
2065b28e182Smrg		# Don't forget version if it is 3.2v4 or newer.
2075b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2085b28e182Smrg		;;
2095b28e182Smrg	-sco*)
2105b28e182Smrg		os=-sco3.2v2
2115b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2125b28e182Smrg		;;
2135b28e182Smrg	-udk*)
2145b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2155b28e182Smrg		;;
2165b28e182Smrg	-isc)
2175b28e182Smrg		os=-isc2.2
2185b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2195b28e182Smrg		;;
2205b28e182Smrg	-clix*)
2215b28e182Smrg		basic_machine=clipper-intergraph
2225b28e182Smrg		;;
2235b28e182Smrg	-isc*)
2245b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2255b28e182Smrg		;;
2265b28e182Smrg	-lynx*)
2275b28e182Smrg		os=-lynxos
2285b28e182Smrg		;;
2295b28e182Smrg	-ptx*)
2305b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2315b28e182Smrg		;;
2325b28e182Smrg	-windowsnt*)
2335b28e182Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2345b28e182Smrg		;;
2355b28e182Smrg	-psos*)
2365b28e182Smrg		os=-psos
2375b28e182Smrg		;;
2385b28e182Smrg	-mint | -mint[0-9]*)
2395b28e182Smrg		basic_machine=m68k-atari
2405b28e182Smrg		os=-mint
2415b28e182Smrg		;;
2425b28e182Smrgesac
2435b28e182Smrg
2445b28e182Smrg# Decode aliases for certain CPU-COMPANY combinations.
2455b28e182Smrgcase $basic_machine in
2465b28e182Smrg	# Recognize the basic CPU types without company name.
2475b28e182Smrg	# Some are omitted here because they have special meanings below.
2485b28e182Smrg	1750a | 580 \
2495b28e182Smrg	| a29k \
2505b28e182Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2515b28e182Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2525b28e182Smrg	| am33_2.0 \
2535b28e182Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2545b28e182Smrg	| bfin \
2555b28e182Smrg	| c4x | clipper \
256f1e20f77Smrg	| d10v | d30v | dlx | dsp16xx | dvp \
2575b28e182Smrg	| fido | fr30 | frv \
2585b28e182Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2595b28e182Smrg	| i370 | i860 | i960 | ia64 \
2605b28e182Smrg	| ip2k | iq2000 \
2615b28e182Smrg	| lm32 \
2625b28e182Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2635b28e182Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2645b28e182Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2655b28e182Smrg	| mips16 \
2665b28e182Smrg	| mips64 | mips64el \
2675b28e182Smrg	| mips64octeon | mips64octeonel \
2685b28e182Smrg	| mips64orion | mips64orionel \
2695b28e182Smrg	| mips64r5900 | mips64r5900el \
2705b28e182Smrg	| mips64vr | mips64vrel \
2715b28e182Smrg	| mips64vr4100 | mips64vr4100el \
2725b28e182Smrg	| mips64vr4300 | mips64vr4300el \
2735b28e182Smrg	| mips64vr5000 | mips64vr5000el \
2745b28e182Smrg	| mips64vr5900 | mips64vr5900el \
2755b28e182Smrg	| mipsisa32 | mipsisa32el \
2765b28e182Smrg	| mipsisa32r2 | mipsisa32r2el \
2775b28e182Smrg	| mipsisa64 | mipsisa64el \
2785b28e182Smrg	| mipsisa64r2 | mipsisa64r2el \
2795b28e182Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2805b28e182Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2815b28e182Smrg	| mipstx39 | mipstx39el \
2825b28e182Smrg	| mn10200 | mn10300 \
2835b28e182Smrg	| moxie \
2845b28e182Smrg	| mt \
2855b28e182Smrg	| msp430 \
286f1e20f77Smrg	| nds32 | nds32le | nds32be \
2875b28e182Smrg	| nios | nios2 \
2885b28e182Smrg	| ns16k | ns32k \
2895b28e182Smrg	| or32 \
2905b28e182Smrg	| pdp10 | pdp11 | pj | pjl \
2915b28e182Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2925b28e182Smrg	| pyramid \
293f1e20f77Smrg	| rx \
2945b28e182Smrg	| score \
2955b28e182Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2965b28e182Smrg	| sh64 | sh64le \
2975b28e182Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2985b28e182Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2995b28e182Smrg	| spu | strongarm \
300f1e20f77Smrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301f1e20f77Smrg	| ubicom32 \
3025b28e182Smrg	| v850 | v850e \
3035b28e182Smrg	| we32k \
3045b28e182Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
3055b28e182Smrg	| z8k | z80)
3065b28e182Smrg		basic_machine=$basic_machine-unknown
3075b28e182Smrg		;;
308f1e20f77Smrg	c54x)
309f1e20f77Smrg		basic_machine=tic54x-unknown
310f1e20f77Smrg		;;
311f1e20f77Smrg	c55x)
312f1e20f77Smrg		basic_machine=tic55x-unknown
313f1e20f77Smrg		;;
314f1e20f77Smrg	c6x)
315f1e20f77Smrg		basic_machine=tic6x-unknown
316f1e20f77Smrg		;;
317f1e20f77Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3185b28e182Smrg		# Motorola 68HC11/12.
3195b28e182Smrg		basic_machine=$basic_machine-unknown
3205b28e182Smrg		os=-none
3215b28e182Smrg		;;
3225b28e182Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3235b28e182Smrg		;;
3245b28e182Smrg	ms1)
3255b28e182Smrg		basic_machine=mt-unknown
3265b28e182Smrg		;;
3275b28e182Smrg
3285b28e182Smrg	# We use `pc' rather than `unknown'
3295b28e182Smrg	# because (1) that's what they normally are, and
3305b28e182Smrg	# (2) the word "unknown" tends to confuse beginning users.
3315b28e182Smrg	i*86 | x86_64)
3325b28e182Smrg	  basic_machine=$basic_machine-pc
3335b28e182Smrg	  ;;
3345b28e182Smrg	# Object if more than one company name word.
3355b28e182Smrg	*-*-*)
3365b28e182Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3375b28e182Smrg		exit 1
3385b28e182Smrg		;;
3395b28e182Smrg	# Recognize the basic CPU types with company name.
3405b28e182Smrg	580-* \
3415b28e182Smrg	| a29k-* \
3425b28e182Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3435b28e182Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3445b28e182Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3455b28e182Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3465b28e182Smrg	| avr-* | avr32-* \
3475b28e182Smrg	| bfin-* | bs2000-* \
348f1e20f77Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3495b28e182Smrg	| clipper-* | craynv-* | cydra-* \
3505b28e182Smrg	| d10v-* | d30v-* | dlx-* \
3515b28e182Smrg	| elxsi-* \
3525b28e182Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3535b28e182Smrg	| h8300-* | h8500-* \
3545b28e182Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3555b28e182Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3565b28e182Smrg	| ip2k-* | iq2000-* \
3575b28e182Smrg	| lm32-* \
3585b28e182Smrg	| m32c-* | m32r-* | m32rle-* \
3595b28e182Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360f1e20f77Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3615b28e182Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3625b28e182Smrg	| mips16-* \
3635b28e182Smrg	| mips64-* | mips64el-* \
3645b28e182Smrg	| mips64octeon-* | mips64octeonel-* \
3655b28e182Smrg	| mips64orion-* | mips64orionel-* \
3665b28e182Smrg	| mips64r5900-* | mips64r5900el-* \
3675b28e182Smrg	| mips64vr-* | mips64vrel-* \
3685b28e182Smrg	| mips64vr4100-* | mips64vr4100el-* \
3695b28e182Smrg	| mips64vr4300-* | mips64vr4300el-* \
3705b28e182Smrg	| mips64vr5000-* | mips64vr5000el-* \
3715b28e182Smrg	| mips64vr5900-* | mips64vr5900el-* \
3725b28e182Smrg	| mipsisa32-* | mipsisa32el-* \
3735b28e182Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3745b28e182Smrg	| mipsisa64-* | mipsisa64el-* \
3755b28e182Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3765b28e182Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3775b28e182Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3785b28e182Smrg	| mipstx39-* | mipstx39el-* \
3795b28e182Smrg	| mmix-* \
3805b28e182Smrg	| mt-* \
3815b28e182Smrg	| msp430-* \
382f1e20f77Smrg	| nds32-* | nds32le-* | nds32be-* \
3835b28e182Smrg	| nios-* | nios2-* \
3845b28e182Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3855b28e182Smrg	| orion-* \
3865b28e182Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3875b28e182Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3885b28e182Smrg	| pyramid-* \
389f1e20f77Smrg	| romp-* | rs6000-* | rx-* \
3905b28e182Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3915b28e182Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3925b28e182Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3935b28e182Smrg	| sparclite-* \
3945b28e182Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3955b28e182Smrg	| tahoe-* | thumb-* \
396f1e20f77Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397f1e20f77Smrg	| tile-* | tilegx-* \
3985b28e182Smrg	| tron-* \
399f1e20f77Smrg	| ubicom32-* \
4005b28e182Smrg	| v850-* | v850e-* | vax-* \
4015b28e182Smrg	| we32k-* \
4025b28e182Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
4035b28e182Smrg	| xstormy16-* | xtensa*-* \
4045b28e182Smrg	| ymp-* \
4055b28e182Smrg	| z8k-* | z80-*)
4065b28e182Smrg		;;
4075b28e182Smrg	# Recognize the basic CPU types without company name, with glob match.
4085b28e182Smrg	xtensa*)
4095b28e182Smrg		basic_machine=$basic_machine-unknown
4105b28e182Smrg		;;
4115b28e182Smrg	# Recognize the various machine names and aliases which stand
4125b28e182Smrg	# for a CPU type and a company and sometimes even an OS.
4135b28e182Smrg	386bsd)
4145b28e182Smrg		basic_machine=i386-unknown
4155b28e182Smrg		os=-bsd
4165b28e182Smrg		;;
4175b28e182Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4185b28e182Smrg		basic_machine=m68000-att
4195b28e182Smrg		;;
4205b28e182Smrg	3b*)
4215b28e182Smrg		basic_machine=we32k-att
4225b28e182Smrg		;;
4235b28e182Smrg	a29khif)
4245b28e182Smrg		basic_machine=a29k-amd
4255b28e182Smrg		os=-udi
4265b28e182Smrg		;;
4275b28e182Smrg    	abacus)
4285b28e182Smrg		basic_machine=abacus-unknown
4295b28e182Smrg		;;
4305b28e182Smrg	adobe68k)
4315b28e182Smrg		basic_machine=m68010-adobe
4325b28e182Smrg		os=-scout
4335b28e182Smrg		;;
4345b28e182Smrg	alliant | fx80)
4355b28e182Smrg		basic_machine=fx80-alliant
4365b28e182Smrg		;;
4375b28e182Smrg	altos | altos3068)
4385b28e182Smrg		basic_machine=m68k-altos
4395b28e182Smrg		;;
4405b28e182Smrg	am29k)
4415b28e182Smrg		basic_machine=a29k-none
4425b28e182Smrg		os=-bsd
4435b28e182Smrg		;;
4445b28e182Smrg	amd64)
4455b28e182Smrg		basic_machine=x86_64-pc
4465b28e182Smrg		;;
4475b28e182Smrg	amd64-*)
4485b28e182Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4495b28e182Smrg		;;
4505b28e182Smrg	amdahl)
4515b28e182Smrg		basic_machine=580-amdahl
4525b28e182Smrg		os=-sysv
4535b28e182Smrg		;;
4545b28e182Smrg	amiga | amiga-*)
4555b28e182Smrg		basic_machine=m68k-unknown
4565b28e182Smrg		;;
4575b28e182Smrg	amigaos | amigados)
4585b28e182Smrg		basic_machine=m68k-unknown
4595b28e182Smrg		os=-amigaos
4605b28e182Smrg		;;
4615b28e182Smrg	amigaunix | amix)
4625b28e182Smrg		basic_machine=m68k-unknown
4635b28e182Smrg		os=-sysv4
4645b28e182Smrg		;;
4655b28e182Smrg	apollo68)
4665b28e182Smrg		basic_machine=m68k-apollo
4675b28e182Smrg		os=-sysv
4685b28e182Smrg		;;
4695b28e182Smrg	apollo68bsd)
4705b28e182Smrg		basic_machine=m68k-apollo
4715b28e182Smrg		os=-bsd
4725b28e182Smrg		;;
4735b28e182Smrg	aros)
4745b28e182Smrg		basic_machine=i386-pc
4755b28e182Smrg		os=-aros
4765b28e182Smrg		;;
4775b28e182Smrg	aux)
4785b28e182Smrg		basic_machine=m68k-apple
4795b28e182Smrg		os=-aux
4805b28e182Smrg		;;
4815b28e182Smrg	balance)
4825b28e182Smrg		basic_machine=ns32k-sequent
4835b28e182Smrg		os=-dynix
4845b28e182Smrg		;;
4855b28e182Smrg	blackfin)
4865b28e182Smrg		basic_machine=bfin-unknown
4875b28e182Smrg		os=-linux
4885b28e182Smrg		;;
4895b28e182Smrg	blackfin-*)
4905b28e182Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4915b28e182Smrg		os=-linux
4925b28e182Smrg		;;
493f1e20f77Smrg	bluegene*)
494f1e20f77Smrg		basic_machine=powerpc-ibm
495f1e20f77Smrg		os=-cnk
496f1e20f77Smrg		;;
497f1e20f77Smrg	c54x-*)
498f1e20f77Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499f1e20f77Smrg		;;
500f1e20f77Smrg	c55x-*)
501f1e20f77Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502f1e20f77Smrg		;;
503f1e20f77Smrg	c6x-*)
504f1e20f77Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505f1e20f77Smrg		;;
5065b28e182Smrg	c90)
5075b28e182Smrg		basic_machine=c90-cray
5085b28e182Smrg		os=-unicos
5095b28e182Smrg		;;
5105b28e182Smrg        cegcc)
5115b28e182Smrg		basic_machine=arm-unknown
5125b28e182Smrg		os=-cegcc
5135b28e182Smrg		;;
5145b28e182Smrg	convex-c1)
5155b28e182Smrg		basic_machine=c1-convex
5165b28e182Smrg		os=-bsd
5175b28e182Smrg		;;
5185b28e182Smrg	convex-c2)
5195b28e182Smrg		basic_machine=c2-convex
5205b28e182Smrg		os=-bsd
5215b28e182Smrg		;;
5225b28e182Smrg	convex-c32)
5235b28e182Smrg		basic_machine=c32-convex
5245b28e182Smrg		os=-bsd
5255b28e182Smrg		;;
5265b28e182Smrg	convex-c34)
5275b28e182Smrg		basic_machine=c34-convex
5285b28e182Smrg		os=-bsd
5295b28e182Smrg		;;
5305b28e182Smrg	convex-c38)
5315b28e182Smrg		basic_machine=c38-convex
5325b28e182Smrg		os=-bsd
5335b28e182Smrg		;;
5345b28e182Smrg	cray | j90)
5355b28e182Smrg		basic_machine=j90-cray
5365b28e182Smrg		os=-unicos
5375b28e182Smrg		;;
5385b28e182Smrg	craynv)
5395b28e182Smrg		basic_machine=craynv-cray
5405b28e182Smrg		os=-unicosmp
5415b28e182Smrg		;;
5425b28e182Smrg	cr16)
5435b28e182Smrg		basic_machine=cr16-unknown
5445b28e182Smrg		os=-elf
5455b28e182Smrg		;;
5465b28e182Smrg	crds | unos)
5475b28e182Smrg		basic_machine=m68k-crds
5485b28e182Smrg		;;
5495b28e182Smrg	crisv32 | crisv32-* | etraxfs*)
5505b28e182Smrg		basic_machine=crisv32-axis
5515b28e182Smrg		;;
5525b28e182Smrg	cris | cris-* | etrax*)
5535b28e182Smrg		basic_machine=cris-axis
5545b28e182Smrg		;;
5555b28e182Smrg	crx)
5565b28e182Smrg		basic_machine=crx-unknown
5575b28e182Smrg		os=-elf
5585b28e182Smrg		;;
5595b28e182Smrg	da30 | da30-*)
5605b28e182Smrg		basic_machine=m68k-da30
5615b28e182Smrg		;;
5625b28e182Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5635b28e182Smrg		basic_machine=mips-dec
5645b28e182Smrg		;;
5655b28e182Smrg	decsystem10* | dec10*)
5665b28e182Smrg		basic_machine=pdp10-dec
5675b28e182Smrg		os=-tops10
5685b28e182Smrg		;;
5695b28e182Smrg	decsystem20* | dec20*)
5705b28e182Smrg		basic_machine=pdp10-dec
5715b28e182Smrg		os=-tops20
5725b28e182Smrg		;;
5735b28e182Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5745b28e182Smrg	      | 3300-motorola | delta-motorola)
5755b28e182Smrg		basic_machine=m68k-motorola
5765b28e182Smrg		;;
5775b28e182Smrg	delta88)
5785b28e182Smrg		basic_machine=m88k-motorola
5795b28e182Smrg		os=-sysv3
5805b28e182Smrg		;;
5815b28e182Smrg	dicos)
5825b28e182Smrg		basic_machine=i686-pc
5835b28e182Smrg		os=-dicos
5845b28e182Smrg		;;
5855b28e182Smrg	djgpp)
5865b28e182Smrg		basic_machine=i586-pc
5875b28e182Smrg		os=-msdosdjgpp
5885b28e182Smrg		;;
5895b28e182Smrg	dpx20 | dpx20-*)
5905b28e182Smrg		basic_machine=rs6000-bull
5915b28e182Smrg		os=-bosx
5925b28e182Smrg		;;
5935b28e182Smrg	dpx2* | dpx2*-bull)
5945b28e182Smrg		basic_machine=m68k-bull
5955b28e182Smrg		os=-sysv3
5965b28e182Smrg		;;
5975b28e182Smrg	ebmon29k)
5985b28e182Smrg		basic_machine=a29k-amd
5995b28e182Smrg		os=-ebmon
6005b28e182Smrg		;;
6015b28e182Smrg	elxsi)
6025b28e182Smrg		basic_machine=elxsi-elxsi
6035b28e182Smrg		os=-bsd
6045b28e182Smrg		;;
6055b28e182Smrg	encore | umax | mmax)
6065b28e182Smrg		basic_machine=ns32k-encore
6075b28e182Smrg		;;
6085b28e182Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6095b28e182Smrg		basic_machine=m68k-ericsson
6105b28e182Smrg		os=-ose
6115b28e182Smrg		;;
6125b28e182Smrg	fx2800)
6135b28e182Smrg		basic_machine=i860-alliant
6145b28e182Smrg		;;
6155b28e182Smrg	genix)
6165b28e182Smrg		basic_machine=ns32k-ns
6175b28e182Smrg		;;
6185b28e182Smrg	gmicro)
6195b28e182Smrg		basic_machine=tron-gmicro
6205b28e182Smrg		os=-sysv
6215b28e182Smrg		;;
6225b28e182Smrg	go32)
6235b28e182Smrg		basic_machine=i386-pc
6245b28e182Smrg		os=-go32
6255b28e182Smrg		;;
6265b28e182Smrg	h3050r* | hiux*)
6275b28e182Smrg		basic_machine=hppa1.1-hitachi
6285b28e182Smrg		os=-hiuxwe2
6295b28e182Smrg		;;
6305b28e182Smrg	h8300hms)
6315b28e182Smrg		basic_machine=h8300-hitachi
6325b28e182Smrg		os=-hms
6335b28e182Smrg		;;
6345b28e182Smrg	h8300xray)
6355b28e182Smrg		basic_machine=h8300-hitachi
6365b28e182Smrg		os=-xray
6375b28e182Smrg		;;
6385b28e182Smrg	h8500hms)
6395b28e182Smrg		basic_machine=h8500-hitachi
6405b28e182Smrg		os=-hms
6415b28e182Smrg		;;
6425b28e182Smrg	harris)
6435b28e182Smrg		basic_machine=m88k-harris
6445b28e182Smrg		os=-sysv3
6455b28e182Smrg		;;
6465b28e182Smrg	hp300-*)
6475b28e182Smrg		basic_machine=m68k-hp
6485b28e182Smrg		;;
6495b28e182Smrg	hp300bsd)
6505b28e182Smrg		basic_machine=m68k-hp
6515b28e182Smrg		os=-bsd
6525b28e182Smrg		;;
6535b28e182Smrg	hp300hpux)
6545b28e182Smrg		basic_machine=m68k-hp
6555b28e182Smrg		os=-hpux
6565b28e182Smrg		;;
6575b28e182Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6585b28e182Smrg		basic_machine=hppa1.0-hp
6595b28e182Smrg		;;
6605b28e182Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6615b28e182Smrg		basic_machine=m68000-hp
6625b28e182Smrg		;;
6635b28e182Smrg	hp9k3[2-9][0-9])
6645b28e182Smrg		basic_machine=m68k-hp
6655b28e182Smrg		;;
6665b28e182Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6675b28e182Smrg		basic_machine=hppa1.0-hp
6685b28e182Smrg		;;
6695b28e182Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6705b28e182Smrg		basic_machine=hppa1.1-hp
6715b28e182Smrg		;;
6725b28e182Smrg	hp9k78[0-9] | hp78[0-9])
6735b28e182Smrg		# FIXME: really hppa2.0-hp
6745b28e182Smrg		basic_machine=hppa1.1-hp
6755b28e182Smrg		;;
6765b28e182Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6775b28e182Smrg		# FIXME: really hppa2.0-hp
6785b28e182Smrg		basic_machine=hppa1.1-hp
6795b28e182Smrg		;;
6805b28e182Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6815b28e182Smrg		basic_machine=hppa1.1-hp
6825b28e182Smrg		;;
6835b28e182Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6845b28e182Smrg		basic_machine=hppa1.0-hp
6855b28e182Smrg		;;
6865b28e182Smrg	hppa-next)
6875b28e182Smrg		os=-nextstep3
6885b28e182Smrg		;;
6895b28e182Smrg	hppaosf)
6905b28e182Smrg		basic_machine=hppa1.1-hp
6915b28e182Smrg		os=-osf
6925b28e182Smrg		;;
6935b28e182Smrg	hppro)
6945b28e182Smrg		basic_machine=hppa1.1-hp
6955b28e182Smrg		os=-proelf
6965b28e182Smrg		;;
6975b28e182Smrg	i370-ibm* | ibm*)
6985b28e182Smrg		basic_machine=i370-ibm
6995b28e182Smrg		;;
7005b28e182Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7015b28e182Smrg	i*86v32)
7025b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7035b28e182Smrg		os=-sysv32
7045b28e182Smrg		;;
7055b28e182Smrg	i*86v4*)
7065b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7075b28e182Smrg		os=-sysv4
7085b28e182Smrg		;;
7095b28e182Smrg	i*86v)
7105b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7115b28e182Smrg		os=-sysv
7125b28e182Smrg		;;
7135b28e182Smrg	i*86sol2)
7145b28e182Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7155b28e182Smrg		os=-solaris2
7165b28e182Smrg		;;
7175b28e182Smrg	i386mach)
7185b28e182Smrg		basic_machine=i386-mach
7195b28e182Smrg		os=-mach
7205b28e182Smrg		;;
7215b28e182Smrg	i386-vsta | vsta)
7225b28e182Smrg		basic_machine=i386-unknown
7235b28e182Smrg		os=-vsta
7245b28e182Smrg		;;
7255b28e182Smrg	iris | iris4d)
7265b28e182Smrg		basic_machine=mips-sgi
7275b28e182Smrg		case $os in
7285b28e182Smrg		    -irix*)
7295b28e182Smrg			;;
7305b28e182Smrg		    *)
7315b28e182Smrg			os=-irix4
7325b28e182Smrg			;;
7335b28e182Smrg		esac
7345b28e182Smrg		;;
7355b28e182Smrg	isi68 | isi)
7365b28e182Smrg		basic_machine=m68k-isi
7375b28e182Smrg		os=-sysv
7385b28e182Smrg		;;
7395b28e182Smrg	m68knommu)
7405b28e182Smrg		basic_machine=m68k-unknown
7415b28e182Smrg		os=-linux
7425b28e182Smrg		;;
7435b28e182Smrg	m68knommu-*)
7445b28e182Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7455b28e182Smrg		os=-linux
7465b28e182Smrg		;;
7475b28e182Smrg	m88k-omron*)
7485b28e182Smrg		basic_machine=m88k-omron
7495b28e182Smrg		;;
7505b28e182Smrg	magnum | m3230)
7515b28e182Smrg		basic_machine=mips-mips
7525b28e182Smrg		os=-sysv
7535b28e182Smrg		;;
7545b28e182Smrg	merlin)
7555b28e182Smrg		basic_machine=ns32k-utek
7565b28e182Smrg		os=-sysv
7575b28e182Smrg		;;
758f1e20f77Smrg        microblaze)
759f1e20f77Smrg		basic_machine=microblaze-xilinx
760f1e20f77Smrg		;;
7615b28e182Smrg	mingw32)
7625b28e182Smrg		basic_machine=i386-pc
7635b28e182Smrg		os=-mingw32
7645b28e182Smrg		;;
7655b28e182Smrg	mingw32ce)
7665b28e182Smrg		basic_machine=arm-unknown
7675b28e182Smrg		os=-mingw32ce
7685b28e182Smrg		;;
7695b28e182Smrg	miniframe)
7705b28e182Smrg		basic_machine=m68000-convergent
7715b28e182Smrg		;;
7725b28e182Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7735b28e182Smrg		basic_machine=m68k-atari
7745b28e182Smrg		os=-mint
7755b28e182Smrg		;;
776f1e20f77Smrg	mipsEE* | ee | ps2)
777f1e20f77Smrg		basic_machine=mips64r5900el-scei
778f1e20f77Smrg		case $os in
779f1e20f77Smrg		    -linux*)
780f1e20f77Smrg			;;
781f1e20f77Smrg		    *)
782f1e20f77Smrg			os=-elf
783f1e20f77Smrg			;;
784f1e20f77Smrg		esac
785f1e20f77Smrg		;;
786f1e20f77Smrg	iop)
787f1e20f77Smrg		basic_machine=mipsel-scei
788f1e20f77Smrg		os=-irx
789f1e20f77Smrg		;;
790f1e20f77Smrg	dvp)
791f1e20f77Smrg		basic_machine=dvp-scei
792f1e20f77Smrg		os=-elf
793f1e20f77Smrg		;;
7945b28e182Smrg	mips3*-*)
7955b28e182Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7965b28e182Smrg		;;
7975b28e182Smrg	mips3*)
7985b28e182Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7995b28e182Smrg		;;
8005b28e182Smrg	monitor)
8015b28e182Smrg		basic_machine=m68k-rom68k
8025b28e182Smrg		os=-coff
8035b28e182Smrg		;;
8045b28e182Smrg	morphos)
8055b28e182Smrg		basic_machine=powerpc-unknown
8065b28e182Smrg		os=-morphos
8075b28e182Smrg		;;
8085b28e182Smrg	msdos)
8095b28e182Smrg		basic_machine=i386-pc
8105b28e182Smrg		os=-msdos
8115b28e182Smrg		;;
8125b28e182Smrg	ms1-*)
8135b28e182Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
8145b28e182Smrg		;;
8155b28e182Smrg	mvs)
8165b28e182Smrg		basic_machine=i370-ibm
8175b28e182Smrg		os=-mvs
8185b28e182Smrg		;;
8195b28e182Smrg	ncr3000)
8205b28e182Smrg		basic_machine=i486-ncr
8215b28e182Smrg		os=-sysv4
8225b28e182Smrg		;;
8235b28e182Smrg	netbsd386)
8245b28e182Smrg		basic_machine=i386-unknown
8255b28e182Smrg		os=-netbsd
8265b28e182Smrg		;;
8275b28e182Smrg	netwinder)
8285b28e182Smrg		basic_machine=armv4l-rebel
8295b28e182Smrg		os=-linux
8305b28e182Smrg		;;
8315b28e182Smrg	news | news700 | news800 | news900)
8325b28e182Smrg		basic_machine=m68k-sony
8335b28e182Smrg		os=-newsos
8345b28e182Smrg		;;
8355b28e182Smrg	news1000)
8365b28e182Smrg		basic_machine=m68030-sony
8375b28e182Smrg		os=-newsos
8385b28e182Smrg		;;
8395b28e182Smrg	news-3600 | risc-news)
8405b28e182Smrg		basic_machine=mips-sony
8415b28e182Smrg		os=-newsos
8425b28e182Smrg		;;
8435b28e182Smrg	necv70)
8445b28e182Smrg		basic_machine=v70-nec
8455b28e182Smrg		os=-sysv
8465b28e182Smrg		;;
8475b28e182Smrg	next | m*-next )
8485b28e182Smrg		basic_machine=m68k-next
8495b28e182Smrg		case $os in
8505b28e182Smrg		    -nextstep* )
8515b28e182Smrg			;;
8525b28e182Smrg		    -ns2*)
8535b28e182Smrg		      os=-nextstep2
8545b28e182Smrg			;;
8555b28e182Smrg		    *)
8565b28e182Smrg		      os=-nextstep3
8575b28e182Smrg			;;
8585b28e182Smrg		esac
8595b28e182Smrg		;;
8605b28e182Smrg	nh3000)
8615b28e182Smrg		basic_machine=m68k-harris
8625b28e182Smrg		os=-cxux
8635b28e182Smrg		;;
8645b28e182Smrg	nh[45]000)
8655b28e182Smrg		basic_machine=m88k-harris
8665b28e182Smrg		os=-cxux
8675b28e182Smrg		;;
8685b28e182Smrg	nindy960)
8695b28e182Smrg		basic_machine=i960-intel
8705b28e182Smrg		os=-nindy
8715b28e182Smrg		;;
8725b28e182Smrg	mon960)
8735b28e182Smrg		basic_machine=i960-intel
8745b28e182Smrg		os=-mon960
8755b28e182Smrg		;;
8765b28e182Smrg	nonstopux)
8775b28e182Smrg		basic_machine=mips-compaq
8785b28e182Smrg		os=-nonstopux
8795b28e182Smrg		;;
8805b28e182Smrg	np1)
8815b28e182Smrg		basic_machine=np1-gould
8825b28e182Smrg		;;
883f1e20f77Smrg        neo-tandem)
884f1e20f77Smrg		basic_machine=neo-tandem
885f1e20f77Smrg		;;
886f1e20f77Smrg        nse-tandem)
887f1e20f77Smrg		basic_machine=nse-tandem
888f1e20f77Smrg		;;
8895b28e182Smrg	nsr-tandem)
8905b28e182Smrg		basic_machine=nsr-tandem
8915b28e182Smrg		;;
8925b28e182Smrg	op50n-* | op60c-*)
8935b28e182Smrg		basic_machine=hppa1.1-oki
8945b28e182Smrg		os=-proelf
8955b28e182Smrg		;;
8965b28e182Smrg	openrisc | openrisc-*)
8975b28e182Smrg		basic_machine=or32-unknown
8985b28e182Smrg		;;
8995b28e182Smrg	os400)
9005b28e182Smrg		basic_machine=powerpc-ibm
9015b28e182Smrg		os=-os400
9025b28e182Smrg		;;
9035b28e182Smrg	OSE68000 | ose68000)
9045b28e182Smrg		basic_machine=m68000-ericsson
9055b28e182Smrg		os=-ose
9065b28e182Smrg		;;
9075b28e182Smrg	os68k)
9085b28e182Smrg		basic_machine=m68k-none
9095b28e182Smrg		os=-os68k
9105b28e182Smrg		;;
9115b28e182Smrg	pa-hitachi)
9125b28e182Smrg		basic_machine=hppa1.1-hitachi
9135b28e182Smrg		os=-hiuxwe2
9145b28e182Smrg		;;
9155b28e182Smrg	paragon)
9165b28e182Smrg		basic_machine=i860-intel
9175b28e182Smrg		os=-osf
9185b28e182Smrg		;;
9195b28e182Smrg	parisc)
9205b28e182Smrg		basic_machine=hppa-unknown
9215b28e182Smrg		os=-linux
9225b28e182Smrg		;;
9235b28e182Smrg	parisc-*)
9245b28e182Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
9255b28e182Smrg		os=-linux
9265b28e182Smrg		;;
9275b28e182Smrg	pbd)
9285b28e182Smrg		basic_machine=sparc-tti
9295b28e182Smrg		;;
9305b28e182Smrg	pbb)
9315b28e182Smrg		basic_machine=m68k-tti
9325b28e182Smrg		;;
9335b28e182Smrg	pc532 | pc532-*)
9345b28e182Smrg		basic_machine=ns32k-pc532
9355b28e182Smrg		;;
9365b28e182Smrg	pc98)
9375b28e182Smrg		basic_machine=i386-pc
9385b28e182Smrg		;;
9395b28e182Smrg	pc98-*)
9405b28e182Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9415b28e182Smrg		;;
9425b28e182Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9435b28e182Smrg		basic_machine=i586-pc
9445b28e182Smrg		;;
9455b28e182Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9465b28e182Smrg		basic_machine=i686-pc
9475b28e182Smrg		;;
9485b28e182Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9495b28e182Smrg		basic_machine=i686-pc
9505b28e182Smrg		;;
9515b28e182Smrg	pentium4)
9525b28e182Smrg		basic_machine=i786-pc
9535b28e182Smrg		;;
9545b28e182Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9555b28e182Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9565b28e182Smrg		;;
9575b28e182Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9585b28e182Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9595b28e182Smrg		;;
9605b28e182Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9615b28e182Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9625b28e182Smrg		;;
9635b28e182Smrg	pentium4-*)
9645b28e182Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9655b28e182Smrg		;;
9665b28e182Smrg	pn)
9675b28e182Smrg		basic_machine=pn-gould
9685b28e182Smrg		;;
9695b28e182Smrg	power)	basic_machine=power-ibm
9705b28e182Smrg		;;
9715b28e182Smrg	ppc)	basic_machine=powerpc-unknown
9725b28e182Smrg		;;
9735b28e182Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9745b28e182Smrg		;;
9755b28e182Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9765b28e182Smrg		basic_machine=powerpcle-unknown
9775b28e182Smrg		;;
9785b28e182Smrg	ppcle-* | powerpclittle-*)
9795b28e182Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9805b28e182Smrg		;;
9815b28e182Smrg	ppc64)	basic_machine=powerpc64-unknown
9825b28e182Smrg		;;
9835b28e182Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9845b28e182Smrg		;;
9855b28e182Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9865b28e182Smrg		basic_machine=powerpc64le-unknown
9875b28e182Smrg		;;
9885b28e182Smrg	ppc64le-* | powerpc64little-*)
9895b28e182Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9905b28e182Smrg		;;
9915b28e182Smrg	ps2)
9925b28e182Smrg		basic_machine=i386-ibm
9935b28e182Smrg		;;
9945b28e182Smrg	pw32)
9955b28e182Smrg		basic_machine=i586-unknown
9965b28e182Smrg		os=-pw32
9975b28e182Smrg		;;
9985b28e182Smrg	rdos)
9995b28e182Smrg		basic_machine=i386-pc
10005b28e182Smrg		os=-rdos
10015b28e182Smrg		;;
10025b28e182Smrg	rom68k)
10035b28e182Smrg		basic_machine=m68k-rom68k
10045b28e182Smrg		os=-coff
10055b28e182Smrg		;;
10065b28e182Smrg	rm[46]00)
10075b28e182Smrg		basic_machine=mips-siemens
10085b28e182Smrg		;;
10095b28e182Smrg	rtpc | rtpc-*)
10105b28e182Smrg		basic_machine=romp-ibm
10115b28e182Smrg		;;
10125b28e182Smrg	s390 | s390-*)
10135b28e182Smrg		basic_machine=s390-ibm
10145b28e182Smrg		;;
10155b28e182Smrg	s390x | s390x-*)
10165b28e182Smrg		basic_machine=s390x-ibm
10175b28e182Smrg		;;
10185b28e182Smrg	sa29200)
10195b28e182Smrg		basic_machine=a29k-amd
10205b28e182Smrg		os=-udi
10215b28e182Smrg		;;
10225b28e182Smrg	sb1)
10235b28e182Smrg		basic_machine=mipsisa64sb1-unknown
10245b28e182Smrg		;;
10255b28e182Smrg	sb1el)
10265b28e182Smrg		basic_machine=mipsisa64sb1el-unknown
10275b28e182Smrg		;;
10285b28e182Smrg	sde)
10295b28e182Smrg		basic_machine=mipsisa32-sde
10305b28e182Smrg		os=-elf
10315b28e182Smrg		;;
10325b28e182Smrg	sei)
10335b28e182Smrg		basic_machine=mips-sei
10345b28e182Smrg		os=-seiux
10355b28e182Smrg		;;
10365b28e182Smrg	sequent)
10375b28e182Smrg		basic_machine=i386-sequent
10385b28e182Smrg		;;
10395b28e182Smrg	sh)
10405b28e182Smrg		basic_machine=sh-hitachi
10415b28e182Smrg		os=-hms
10425b28e182Smrg		;;
10435b28e182Smrg	sh5el)
10445b28e182Smrg		basic_machine=sh5le-unknown
10455b28e182Smrg		;;
10465b28e182Smrg	sh64)
10475b28e182Smrg		basic_machine=sh64-unknown
10485b28e182Smrg		;;
10495b28e182Smrg	sparclite-wrs | simso-wrs)
10505b28e182Smrg		basic_machine=sparclite-wrs
10515b28e182Smrg		os=-vxworks
10525b28e182Smrg		;;
10535b28e182Smrg	sps7)
10545b28e182Smrg		basic_machine=m68k-bull
10555b28e182Smrg		os=-sysv2
10565b28e182Smrg		;;
10575b28e182Smrg	spur)
10585b28e182Smrg		basic_machine=spur-unknown
10595b28e182Smrg		;;
10605b28e182Smrg	st2000)
10615b28e182Smrg		basic_machine=m68k-tandem
10625b28e182Smrg		;;
10635b28e182Smrg	stratus)
10645b28e182Smrg		basic_machine=i860-stratus
10655b28e182Smrg		os=-sysv4
10665b28e182Smrg		;;
10675b28e182Smrg	sun2)
10685b28e182Smrg		basic_machine=m68000-sun
10695b28e182Smrg		;;
10705b28e182Smrg	sun2os3)
10715b28e182Smrg		basic_machine=m68000-sun
10725b28e182Smrg		os=-sunos3
10735b28e182Smrg		;;
10745b28e182Smrg	sun2os4)
10755b28e182Smrg		basic_machine=m68000-sun
10765b28e182Smrg		os=-sunos4
10775b28e182Smrg		;;
10785b28e182Smrg	sun3os3)
10795b28e182Smrg		basic_machine=m68k-sun
10805b28e182Smrg		os=-sunos3
10815b28e182Smrg		;;
10825b28e182Smrg	sun3os4)
10835b28e182Smrg		basic_machine=m68k-sun
10845b28e182Smrg		os=-sunos4
10855b28e182Smrg		;;
10865b28e182Smrg	sun4os3)
10875b28e182Smrg		basic_machine=sparc-sun
10885b28e182Smrg		os=-sunos3
10895b28e182Smrg		;;
10905b28e182Smrg	sun4os4)
10915b28e182Smrg		basic_machine=sparc-sun
10925b28e182Smrg		os=-sunos4
10935b28e182Smrg		;;
10945b28e182Smrg	sun4sol2)
10955b28e182Smrg		basic_machine=sparc-sun
10965b28e182Smrg		os=-solaris2
10975b28e182Smrg		;;
10985b28e182Smrg	sun3 | sun3-*)
10995b28e182Smrg		basic_machine=m68k-sun
11005b28e182Smrg		;;
11015b28e182Smrg	sun4)
11025b28e182Smrg		basic_machine=sparc-sun
11035b28e182Smrg		;;
11045b28e182Smrg	sun386 | sun386i | roadrunner)
11055b28e182Smrg		basic_machine=i386-sun
11065b28e182Smrg		;;
11075b28e182Smrg	sv1)
11085b28e182Smrg		basic_machine=sv1-cray
11095b28e182Smrg		os=-unicos
11105b28e182Smrg		;;
11115b28e182Smrg	symmetry)
11125b28e182Smrg		basic_machine=i386-sequent
11135b28e182Smrg		os=-dynix
11145b28e182Smrg		;;
11155b28e182Smrg	t3e)
11165b28e182Smrg		basic_machine=alphaev5-cray
11175b28e182Smrg		os=-unicos
11185b28e182Smrg		;;
11195b28e182Smrg	t90)
11205b28e182Smrg		basic_machine=t90-cray
11215b28e182Smrg		os=-unicos
11225b28e182Smrg		;;
1123f1e20f77Smrg        # This must be matched before tile*.
1124f1e20f77Smrg        tilegx*)
1125f1e20f77Smrg		basic_machine=tilegx-unknown
1126f1e20f77Smrg		os=-linux-gnu
11275b28e182Smrg		;;
11285b28e182Smrg	tile*)
11295b28e182Smrg		basic_machine=tile-unknown
11305b28e182Smrg		os=-linux-gnu
11315b28e182Smrg		;;
11325b28e182Smrg	tx39)
11335b28e182Smrg		basic_machine=mipstx39-unknown
11345b28e182Smrg		;;
11355b28e182Smrg	tx39el)
11365b28e182Smrg		basic_machine=mipstx39el-unknown
11375b28e182Smrg		;;
11385b28e182Smrg	toad1)
11395b28e182Smrg		basic_machine=pdp10-xkl
11405b28e182Smrg		os=-tops20
11415b28e182Smrg		;;
11425b28e182Smrg	tower | tower-32)
11435b28e182Smrg		basic_machine=m68k-ncr
11445b28e182Smrg		;;
11455b28e182Smrg	tpf)
11465b28e182Smrg		basic_machine=s390x-ibm
11475b28e182Smrg		os=-tpf
11485b28e182Smrg		;;
11495b28e182Smrg	udi29k)
11505b28e182Smrg		basic_machine=a29k-amd
11515b28e182Smrg		os=-udi
11525b28e182Smrg		;;
11535b28e182Smrg	ultra3)
11545b28e182Smrg		basic_machine=a29k-nyu
11555b28e182Smrg		os=-sym1
11565b28e182Smrg		;;
11575b28e182Smrg	v810 | necv810)
11585b28e182Smrg		basic_machine=v810-nec
11595b28e182Smrg		os=-none
11605b28e182Smrg		;;
11615b28e182Smrg	vaxv)
11625b28e182Smrg		basic_machine=vax-dec
11635b28e182Smrg		os=-sysv
11645b28e182Smrg		;;
11655b28e182Smrg	vms)
11665b28e182Smrg		basic_machine=vax-dec
11675b28e182Smrg		os=-vms
11685b28e182Smrg		;;
11695b28e182Smrg	vpp*|vx|vx-*)
11705b28e182Smrg		basic_machine=f301-fujitsu
11715b28e182Smrg		;;
11725b28e182Smrg	vxworks960)
11735b28e182Smrg		basic_machine=i960-wrs
11745b28e182Smrg		os=-vxworks
11755b28e182Smrg		;;
11765b28e182Smrg	vxworks68)
11775b28e182Smrg		basic_machine=m68k-wrs
11785b28e182Smrg		os=-vxworks
11795b28e182Smrg		;;
11805b28e182Smrg	vxworks29k)
11815b28e182Smrg		basic_machine=a29k-wrs
11825b28e182Smrg		os=-vxworks
11835b28e182Smrg		;;
11845b28e182Smrg	w65*)
11855b28e182Smrg		basic_machine=w65-wdc
11865b28e182Smrg		os=-none
11875b28e182Smrg		;;
11885b28e182Smrg	w89k-*)
11895b28e182Smrg		basic_machine=hppa1.1-winbond
11905b28e182Smrg		os=-proelf
11915b28e182Smrg		;;
11925b28e182Smrg	xbox)
11935b28e182Smrg		basic_machine=i686-pc
11945b28e182Smrg		os=-mingw32
11955b28e182Smrg		;;
11965b28e182Smrg	xps | xps100)
11975b28e182Smrg		basic_machine=xps100-honeywell
11985b28e182Smrg		;;
11995b28e182Smrg	ymp)
12005b28e182Smrg		basic_machine=ymp-cray
12015b28e182Smrg		os=-unicos
12025b28e182Smrg		;;
12035b28e182Smrg	z8k-*-coff)
12045b28e182Smrg		basic_machine=z8k-unknown
12055b28e182Smrg		os=-sim
12065b28e182Smrg		;;
12075b28e182Smrg	z80-*-coff)
12085b28e182Smrg		basic_machine=z80-unknown
12095b28e182Smrg		os=-sim
12105b28e182Smrg		;;
12115b28e182Smrg	none)
12125b28e182Smrg		basic_machine=none-none
12135b28e182Smrg		os=-none
12145b28e182Smrg		;;
12155b28e182Smrg
12165b28e182Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12175b28e182Smrg# some cases the only manufacturer, in others, it is the most popular.
12185b28e182Smrg	w89k)
12195b28e182Smrg		basic_machine=hppa1.1-winbond
12205b28e182Smrg		;;
12215b28e182Smrg	op50n)
12225b28e182Smrg		basic_machine=hppa1.1-oki
12235b28e182Smrg		;;
12245b28e182Smrg	op60c)
12255b28e182Smrg		basic_machine=hppa1.1-oki
12265b28e182Smrg		;;
12275b28e182Smrg	romp)
12285b28e182Smrg		basic_machine=romp-ibm
12295b28e182Smrg		;;
12305b28e182Smrg	mmix)
12315b28e182Smrg		basic_machine=mmix-knuth
12325b28e182Smrg		;;
12335b28e182Smrg	rs6000)
12345b28e182Smrg		basic_machine=rs6000-ibm
12355b28e182Smrg		;;
12365b28e182Smrg	vax)
12375b28e182Smrg		basic_machine=vax-dec
12385b28e182Smrg		;;
12395b28e182Smrg	pdp10)
12405b28e182Smrg		# there are many clones, so DEC is not a safe bet
12415b28e182Smrg		basic_machine=pdp10-unknown
12425b28e182Smrg		;;
12435b28e182Smrg	pdp11)
12445b28e182Smrg		basic_machine=pdp11-dec
12455b28e182Smrg		;;
12465b28e182Smrg	we32k)
12475b28e182Smrg		basic_machine=we32k-att
12485b28e182Smrg		;;
12495b28e182Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12505b28e182Smrg		basic_machine=sh-unknown
12515b28e182Smrg		;;
12525b28e182Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12535b28e182Smrg		basic_machine=sparc-sun
12545b28e182Smrg		;;
12555b28e182Smrg	cydra)
12565b28e182Smrg		basic_machine=cydra-cydrome
12575b28e182Smrg		;;
12585b28e182Smrg	orion)
12595b28e182Smrg		basic_machine=orion-highlevel
12605b28e182Smrg		;;
12615b28e182Smrg	orion105)
12625b28e182Smrg		basic_machine=clipper-highlevel
12635b28e182Smrg		;;
12645b28e182Smrg	mac | mpw | mac-mpw)
12655b28e182Smrg		basic_machine=m68k-apple
12665b28e182Smrg		;;
12675b28e182Smrg	pmac | pmac-mpw)
12685b28e182Smrg		basic_machine=powerpc-apple
12695b28e182Smrg		;;
12705b28e182Smrg	*-unknown)
12715b28e182Smrg		# Make sure to match an already-canonicalized machine name.
12725b28e182Smrg		;;
12735b28e182Smrg	*)
12745b28e182Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12755b28e182Smrg		exit 1
12765b28e182Smrg		;;
12775b28e182Smrgesac
12785b28e182Smrg
12795b28e182Smrg# Here we canonicalize certain aliases for manufacturers.
12805b28e182Smrgcase $basic_machine in
12815b28e182Smrg	*-digital*)
12825b28e182Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12835b28e182Smrg		;;
12845b28e182Smrg	*-commodore*)
12855b28e182Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12865b28e182Smrg		;;
12875b28e182Smrg	*)
12885b28e182Smrg		;;
12895b28e182Smrgesac
12905b28e182Smrg
12915b28e182Smrg# Decode manufacturer-specific aliases for certain operating systems.
12925b28e182Smrg
12935b28e182Smrgif [ x"$os" != x"" ]
12945b28e182Smrgthen
12955b28e182Smrgcase $os in
12965b28e182Smrg        # First match some system type aliases
12975b28e182Smrg        # that might get confused with valid system types.
12985b28e182Smrg	# -solaris* is a basic system type, with this one exception.
1299f1e20f77Smrg        -auroraux)
1300f1e20f77Smrg	        os=-auroraux
1301f1e20f77Smrg		;;
13025b28e182Smrg	-solaris1 | -solaris1.*)
13035b28e182Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13045b28e182Smrg		;;
13055b28e182Smrg	-solaris)
13065b28e182Smrg		os=-solaris2
13075b28e182Smrg		;;
13085b28e182Smrg	-svr4*)
13095b28e182Smrg		os=-sysv4
13105b28e182Smrg		;;
13115b28e182Smrg	-unixware*)
13125b28e182Smrg		os=-sysv4.2uw
13135b28e182Smrg		;;
13145b28e182Smrg	-gnu/linux*)
13155b28e182Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13165b28e182Smrg		;;
13175b28e182Smrg	# First accept the basic system types.
13185b28e182Smrg	# The portable systems comes first.
13195b28e182Smrg	# Each alternative MUST END IN A *, to match a version number.
13205b28e182Smrg	# -sysv* is not here because it comes later, after sysvr4.
13215b28e182Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1322f1e20f77Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1323f1e20f77Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1324f1e20f77Smrg	      | -sym* | -kopensolaris* \
13255b28e182Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
13265b28e182Smrg	      | -aos* | -aros* \
13275b28e182Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13285b28e182Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13295b28e182Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13305b28e182Smrg	      | -openbsd* | -solidbsd* \
13315b28e182Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13325b28e182Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13335b28e182Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13345b28e182Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
13355b28e182Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13365b28e182Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1337f1e20f77Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1338f1e20f77Smrg	      | -linux-newlib* | -linux-uclibc* \
13395b28e182Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13405b28e182Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13415b28e182Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1342f1e20f77Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -irx* \
13435b28e182Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13445b28e182Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13455b28e182Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1346f1e20f77Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13475b28e182Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13485b28e182Smrg		;;
13495b28e182Smrg	-qnx*)
13505b28e182Smrg		case $basic_machine in
13515b28e182Smrg		    x86-* | i*86-*)
13525b28e182Smrg			;;
13535b28e182Smrg		    *)
13545b28e182Smrg			os=-nto$os
13555b28e182Smrg			;;
13565b28e182Smrg		esac
13575b28e182Smrg		;;
13585b28e182Smrg	-nto-qnx*)
13595b28e182Smrg		;;
13605b28e182Smrg	-nto*)
13615b28e182Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13625b28e182Smrg		;;
13635b28e182Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13645b28e182Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13655b28e182Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13665b28e182Smrg		;;
13675b28e182Smrg	-mac*)
13685b28e182Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13695b28e182Smrg		;;
13705b28e182Smrg	-linux-dietlibc)
13715b28e182Smrg		os=-linux-dietlibc
13725b28e182Smrg		;;
13735b28e182Smrg	-linux*)
13745b28e182Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13755b28e182Smrg		;;
13765b28e182Smrg	-sunos5*)
13775b28e182Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13785b28e182Smrg		;;
13795b28e182Smrg	-sunos6*)
13805b28e182Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13815b28e182Smrg		;;
13825b28e182Smrg	-opened*)
13835b28e182Smrg		os=-openedition
13845b28e182Smrg		;;
13855b28e182Smrg        -os400*)
13865b28e182Smrg		os=-os400
13875b28e182Smrg		;;
13885b28e182Smrg	-wince*)
13895b28e182Smrg		os=-wince
13905b28e182Smrg		;;
13915b28e182Smrg	-osfrose*)
13925b28e182Smrg		os=-osfrose
13935b28e182Smrg		;;
13945b28e182Smrg	-osf*)
13955b28e182Smrg		os=-osf
13965b28e182Smrg		;;
13975b28e182Smrg	-utek*)
13985b28e182Smrg		os=-bsd
13995b28e182Smrg		;;
14005b28e182Smrg	-dynix*)
14015b28e182Smrg		os=-bsd
14025b28e182Smrg		;;
14035b28e182Smrg	-acis*)
14045b28e182Smrg		os=-aos
14055b28e182Smrg		;;
14065b28e182Smrg	-atheos*)
14075b28e182Smrg		os=-atheos
14085b28e182Smrg		;;
14095b28e182Smrg	-syllable*)
14105b28e182Smrg		os=-syllable
14115b28e182Smrg		;;
14125b28e182Smrg	-386bsd)
14135b28e182Smrg		os=-bsd
14145b28e182Smrg		;;
14155b28e182Smrg	-ctix* | -uts*)
14165b28e182Smrg		os=-sysv
14175b28e182Smrg		;;
14185b28e182Smrg	-nova*)
14195b28e182Smrg		os=-rtmk-nova
14205b28e182Smrg		;;
14215b28e182Smrg	-ns2 )
14225b28e182Smrg		os=-nextstep2
14235b28e182Smrg		;;
14245b28e182Smrg	-nsk*)
14255b28e182Smrg		os=-nsk
14265b28e182Smrg		;;
14275b28e182Smrg	# Preserve the version number of sinix5.
14285b28e182Smrg	-sinix5.*)
14295b28e182Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14305b28e182Smrg		;;
14315b28e182Smrg	-sinix*)
14325b28e182Smrg		os=-sysv4
14335b28e182Smrg		;;
14345b28e182Smrg        -tpf*)
14355b28e182Smrg		os=-tpf
14365b28e182Smrg		;;
14375b28e182Smrg	-triton*)
14385b28e182Smrg		os=-sysv3
14395b28e182Smrg		;;
14405b28e182Smrg	-oss*)
14415b28e182Smrg		os=-sysv3
14425b28e182Smrg		;;
14435b28e182Smrg	-svr4)
14445b28e182Smrg		os=-sysv4
14455b28e182Smrg		;;
14465b28e182Smrg	-svr3)
14475b28e182Smrg		os=-sysv3
14485b28e182Smrg		;;
14495b28e182Smrg	-sysvr4)
14505b28e182Smrg		os=-sysv4
14515b28e182Smrg		;;
14525b28e182Smrg	# This must come after -sysvr4.
14535b28e182Smrg	-sysv*)
14545b28e182Smrg		;;
14555b28e182Smrg	-ose*)
14565b28e182Smrg		os=-ose
14575b28e182Smrg		;;
14585b28e182Smrg	-es1800*)
14595b28e182Smrg		os=-ose
14605b28e182Smrg		;;
14615b28e182Smrg	-xenix)
14625b28e182Smrg		os=-xenix
14635b28e182Smrg		;;
14645b28e182Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14655b28e182Smrg		os=-mint
14665b28e182Smrg		;;
14675b28e182Smrg	-aros*)
14685b28e182Smrg		os=-aros
14695b28e182Smrg		;;
14705b28e182Smrg	-kaos*)
14715b28e182Smrg		os=-kaos
14725b28e182Smrg		;;
14735b28e182Smrg	-zvmoe)
14745b28e182Smrg		os=-zvmoe
14755b28e182Smrg		;;
14765b28e182Smrg	-dicos*)
14775b28e182Smrg		os=-dicos
14785b28e182Smrg		;;
1479f1e20f77Smrg        -nacl*)
1480f1e20f77Smrg	        ;;
14815b28e182Smrg	-none)
14825b28e182Smrg		;;
14835b28e182Smrg	*)
14845b28e182Smrg		# Get rid of the `-' at the beginning of $os.
14855b28e182Smrg		os=`echo $os | sed 's/[^-]*-//'`
14865b28e182Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14875b28e182Smrg		exit 1
14885b28e182Smrg		;;
14895b28e182Smrgesac
14905b28e182Smrgelse
14915b28e182Smrg
14925b28e182Smrg# Here we handle the default operating systems that come with various machines.
14935b28e182Smrg# The value should be what the vendor currently ships out the door with their
14945b28e182Smrg# machine or put another way, the most popular os provided with the machine.
14955b28e182Smrg
14965b28e182Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14975b28e182Smrg# "-sun"), then you have to tell the case statement up towards the top
14985b28e182Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14995b28e182Smrg# will signal an error saying that MANUFACTURER isn't an operating
15005b28e182Smrg# system, and we'll never get to this point.
15015b28e182Smrg
15025b28e182Smrgcase $basic_machine in
15035b28e182Smrg        score-*)
15045b28e182Smrg		os=-elf
15055b28e182Smrg		;;
15065b28e182Smrg        spu-*)
15075b28e182Smrg		os=-elf
15085b28e182Smrg		;;
15095b28e182Smrg	*-acorn)
15105b28e182Smrg		os=-riscix1.2
15115b28e182Smrg		;;
15125b28e182Smrg	arm*-rebel)
15135b28e182Smrg		os=-linux
15145b28e182Smrg		;;
15155b28e182Smrg	arm*-semi)
15165b28e182Smrg		os=-aout
15175b28e182Smrg		;;
15185b28e182Smrg        c4x-* | tic4x-*)
15195b28e182Smrg        	os=-coff
15205b28e182Smrg		;;
1521f1e20f77Smrg	tic54x-*)
1522f1e20f77Smrg		os=-coff
1523f1e20f77Smrg		;;
1524f1e20f77Smrg	tic55x-*)
1525f1e20f77Smrg		os=-coff
1526f1e20f77Smrg		;;
1527f1e20f77Smrg	tic6x-*)
1528f1e20f77Smrg		os=-coff
1529f1e20f77Smrg		;;
15305b28e182Smrg	# This must come before the *-dec entry.
15315b28e182Smrg	pdp10-*)
15325b28e182Smrg		os=-tops20
15335b28e182Smrg		;;
15345b28e182Smrg	pdp11-*)
15355b28e182Smrg		os=-none
15365b28e182Smrg		;;
15375b28e182Smrg	*-dec | vax-*)
15385b28e182Smrg		os=-ultrix4.2
15395b28e182Smrg		;;
15405b28e182Smrg	m68*-apollo)
15415b28e182Smrg		os=-domain
15425b28e182Smrg		;;
15435b28e182Smrg	i386-sun)
15445b28e182Smrg		os=-sunos4.0.2
15455b28e182Smrg		;;
15465b28e182Smrg	m68000-sun)
15475b28e182Smrg		os=-sunos3
15485b28e182Smrg		# This also exists in the configure program, but was not the
15495b28e182Smrg		# default.
15505b28e182Smrg		# os=-sunos4
15515b28e182Smrg		;;
15525b28e182Smrg	m68*-cisco)
15535b28e182Smrg		os=-aout
15545b28e182Smrg		;;
15555b28e182Smrg        mep-*)
15565b28e182Smrg		os=-elf
15575b28e182Smrg		;;
15585b28e182Smrg	mips*-cisco)
15595b28e182Smrg		os=-elf
15605b28e182Smrg		;;
15615b28e182Smrg	mips*-*)
15625b28e182Smrg		os=-elf
15635b28e182Smrg		;;
15645b28e182Smrg	or32-*)
15655b28e182Smrg		os=-coff
15665b28e182Smrg		;;
15675b28e182Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15685b28e182Smrg		os=-sysv3
15695b28e182Smrg		;;
15705b28e182Smrg	sparc-* | *-sun)
15715b28e182Smrg		os=-sunos4.1.1
15725b28e182Smrg		;;
15735b28e182Smrg	*-be)
15745b28e182Smrg		os=-beos
15755b28e182Smrg		;;
15765b28e182Smrg	*-haiku)
15775b28e182Smrg		os=-haiku
15785b28e182Smrg		;;
15795b28e182Smrg	*-ibm)
15805b28e182Smrg		os=-aix
15815b28e182Smrg		;;
15825b28e182Smrg    	*-knuth)
15835b28e182Smrg		os=-mmixware
15845b28e182Smrg		;;
15855b28e182Smrg	*-wec)
15865b28e182Smrg		os=-proelf
15875b28e182Smrg		;;
15885b28e182Smrg	*-winbond)
15895b28e182Smrg		os=-proelf
15905b28e182Smrg		;;
15915b28e182Smrg	*-oki)
15925b28e182Smrg		os=-proelf
15935b28e182Smrg		;;
15945b28e182Smrg	*-hp)
15955b28e182Smrg		os=-hpux
15965b28e182Smrg		;;
15975b28e182Smrg	*-hitachi)
15985b28e182Smrg		os=-hiux
15995b28e182Smrg		;;
16005b28e182Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16015b28e182Smrg		os=-sysv
16025b28e182Smrg		;;
16035b28e182Smrg	*-cbm)
16045b28e182Smrg		os=-amigaos
16055b28e182Smrg		;;
16065b28e182Smrg	*-dg)
16075b28e182Smrg		os=-dgux
16085b28e182Smrg		;;
16095b28e182Smrg	*-dolphin)
16105b28e182Smrg		os=-sysv3
16115b28e182Smrg		;;
16125b28e182Smrg	m68k-ccur)
16135b28e182Smrg		os=-rtu
16145b28e182Smrg		;;
16155b28e182Smrg	m88k-omron*)
16165b28e182Smrg		os=-luna
16175b28e182Smrg		;;
16185b28e182Smrg	*-next )
16195b28e182Smrg		os=-nextstep
16205b28e182Smrg		;;
16215b28e182Smrg	*-sequent)
16225b28e182Smrg		os=-ptx
16235b28e182Smrg		;;
16245b28e182Smrg	*-crds)
16255b28e182Smrg		os=-unos
16265b28e182Smrg		;;
16275b28e182Smrg	*-ns)
16285b28e182Smrg		os=-genix
16295b28e182Smrg		;;
16305b28e182Smrg	i370-*)
16315b28e182Smrg		os=-mvs
16325b28e182Smrg		;;
16335b28e182Smrg	*-next)
16345b28e182Smrg		os=-nextstep3
16355b28e182Smrg		;;
16365b28e182Smrg	*-gould)
16375b28e182Smrg		os=-sysv
16385b28e182Smrg		;;
16395b28e182Smrg	*-highlevel)
16405b28e182Smrg		os=-bsd
16415b28e182Smrg		;;
16425b28e182Smrg	*-encore)
16435b28e182Smrg		os=-bsd
16445b28e182Smrg		;;
16455b28e182Smrg	*-sgi)
16465b28e182Smrg		os=-irix
16475b28e182Smrg		;;
16485b28e182Smrg	*-siemens)
16495b28e182Smrg		os=-sysv4
16505b28e182Smrg		;;
16515b28e182Smrg	*-masscomp)
16525b28e182Smrg		os=-rtu
16535b28e182Smrg		;;
16545b28e182Smrg	f30[01]-fujitsu | f700-fujitsu)
16555b28e182Smrg		os=-uxpv
16565b28e182Smrg		;;
16575b28e182Smrg	*-rom68k)
16585b28e182Smrg		os=-coff
16595b28e182Smrg		;;
16605b28e182Smrg	*-*bug)
16615b28e182Smrg		os=-coff
16625b28e182Smrg		;;
16635b28e182Smrg	*-apple)
16645b28e182Smrg		os=-macos
16655b28e182Smrg		;;
16665b28e182Smrg	*-atari*)
16675b28e182Smrg		os=-mint
16685b28e182Smrg		;;
16695b28e182Smrg	*)
16705b28e182Smrg		os=-none
16715b28e182Smrg		;;
16725b28e182Smrgesac
16735b28e182Smrgfi
16745b28e182Smrg
16755b28e182Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16765b28e182Smrg# manufacturer.  We pick the logical manufacturer.
16775b28e182Smrgvendor=unknown
16785b28e182Smrgcase $basic_machine in
16795b28e182Smrg	*-unknown)
16805b28e182Smrg		case $os in
16815b28e182Smrg			-riscix*)
16825b28e182Smrg				vendor=acorn
16835b28e182Smrg				;;
16845b28e182Smrg			-sunos*)
16855b28e182Smrg				vendor=sun
16865b28e182Smrg				;;
1687f1e20f77Smrg			-cnk*|-aix*)
16885b28e182Smrg				vendor=ibm
16895b28e182Smrg				;;
16905b28e182Smrg			-beos*)
16915b28e182Smrg				vendor=be
16925b28e182Smrg				;;
16935b28e182Smrg			-hpux*)
16945b28e182Smrg				vendor=hp
16955b28e182Smrg				;;
16965b28e182Smrg			-mpeix*)
16975b28e182Smrg				vendor=hp
16985b28e182Smrg				;;
16995b28e182Smrg			-hiux*)
17005b28e182Smrg				vendor=hitachi
17015b28e182Smrg				;;
17025b28e182Smrg			-unos*)
17035b28e182Smrg				vendor=crds
17045b28e182Smrg				;;
17055b28e182Smrg			-dgux*)
17065b28e182Smrg				vendor=dg
17075b28e182Smrg				;;
17085b28e182Smrg			-luna*)
17095b28e182Smrg				vendor=omron
17105b28e182Smrg				;;
17115b28e182Smrg			-genix*)
17125b28e182Smrg				vendor=ns
17135b28e182Smrg				;;
17145b28e182Smrg			-mvs* | -opened*)
17155b28e182Smrg				vendor=ibm
17165b28e182Smrg				;;
17175b28e182Smrg			-os400*)
17185b28e182Smrg				vendor=ibm
17195b28e182Smrg				;;
17205b28e182Smrg			-ptx*)
17215b28e182Smrg				vendor=sequent
17225b28e182Smrg				;;
17235b28e182Smrg			-tpf*)
17245b28e182Smrg				vendor=ibm
17255b28e182Smrg				;;
17265b28e182Smrg			-vxsim* | -vxworks* | -windiss*)
17275b28e182Smrg				vendor=wrs
17285b28e182Smrg				;;
17295b28e182Smrg			-aux*)
17305b28e182Smrg				vendor=apple
17315b28e182Smrg				;;
17325b28e182Smrg			-hms*)
17335b28e182Smrg				vendor=hitachi
17345b28e182Smrg				;;
17355b28e182Smrg			-mpw* | -macos*)
17365b28e182Smrg				vendor=apple
17375b28e182Smrg				;;
17385b28e182Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17395b28e182Smrg				vendor=atari
17405b28e182Smrg				;;
17415b28e182Smrg			-vos*)
17425b28e182Smrg				vendor=stratus
17435b28e182Smrg				;;
17445b28e182Smrg		esac
17455b28e182Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17465b28e182Smrg		;;
17475b28e182Smrgesac
17485b28e182Smrg
17495b28e182Smrgecho $basic_machine$os
17505b28e182Smrgexit
17515b28e182Smrg
17525b28e182Smrg# Local variables:
17535b28e182Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17545b28e182Smrg# time-stamp-start: "timestamp='"
17555b28e182Smrg# time-stamp-format: "%:y-%02m-%02d"
17565b28e182Smrg# time-stamp-end: "'"
17575b28e182Smrg# End:
1758