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