config.sub revision 31de2854
15dfecf96Smrg#! /bin/sh
25dfecf96Smrg# Configuration validation subroutine script.
35dfecf96Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
431de2854Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
531de2854Smrg#   2011 Free Software Foundation, Inc.
65dfecf96Smrg
731de2854Smrgtimestamp='2011-11-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,
7931de2854Smrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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		;;
16131de2854Smrg	-bluegene*)
16231de2854Smrg		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		;;
17831de2854Smrg	-chorusrdb)
17931de2854Smrg		os=-chorusrdb
1805dfecf96Smrg		basic_machine=$1
18131de2854Smrg		;;
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 \
25431de2854Smrg        | be32 | be64 \
2555dfecf96Smrg	| bfin \
2565dfecf96Smrg	| c4x | clipper \
2575dfecf96Smrg	| d10v | d30v | dlx | dsp16xx \
25831de2854Smrg	| epiphany \
259f14f4646Smrg	| fido | fr30 | frv \
2605dfecf96Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
26131de2854Smrg	| hexagon \
2625dfecf96Smrg	| i370 | i860 | i960 | ia64 \
2635dfecf96Smrg	| ip2k | iq2000 \
26431de2854Smrg	| le32 | le64 \
265c05e22d7Smrg	| lm32 \
266f14f4646Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
267c05e22d7Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2685dfecf96Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2695dfecf96Smrg	| mips16 \
2705dfecf96Smrg	| mips64 | mips64el \
271c05e22d7Smrg	| mips64octeon | mips64octeonel \
2725dfecf96Smrg	| mips64orion | mips64orionel \
273c05e22d7Smrg	| mips64r5900 | mips64r5900el \
274c05e22d7Smrg	| mips64vr | mips64vrel \
2755dfecf96Smrg	| mips64vr4100 | mips64vr4100el \
2765dfecf96Smrg	| mips64vr4300 | mips64vr4300el \
2775dfecf96Smrg	| mips64vr5000 | mips64vr5000el \
2785dfecf96Smrg	| mips64vr5900 | mips64vr5900el \
2795dfecf96Smrg	| mipsisa32 | mipsisa32el \
2805dfecf96Smrg	| mipsisa32r2 | mipsisa32r2el \
2815dfecf96Smrg	| mipsisa64 | mipsisa64el \
2825dfecf96Smrg	| mipsisa64r2 | mipsisa64r2el \
2835dfecf96Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2845dfecf96Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2855dfecf96Smrg	| mipstx39 | mipstx39el \
2865dfecf96Smrg	| mn10200 | mn10300 \
287c05e22d7Smrg	| moxie \
288f14f4646Smrg	| mt \
2895dfecf96Smrg	| msp430 \
290c05e22d7Smrg	| nds32 | nds32le | nds32be \
291f14f4646Smrg	| nios | nios2 \
2925dfecf96Smrg	| ns16k | ns32k \
29331de2854Smrg	| open8 \
2945dfecf96Smrg	| or32 \
2955dfecf96Smrg	| pdp10 | pdp11 | pj | pjl \
29631de2854Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle \
2975dfecf96Smrg	| pyramid \
29831de2854Smrg	| rl78 | rx \
299f14f4646Smrg	| score \
300c05e22d7Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
3015dfecf96Smrg	| sh64 | sh64le \
302f14f4646Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
303f14f4646Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
30431de2854Smrg	| spu \
30531de2854Smrg	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
306c05e22d7Smrg	| ubicom32 \
30731de2854Smrg	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
3085dfecf96Smrg	| we32k \
30931de2854Smrg	| x86 | xc16x | xstormy16 | xtensa \
310c05e22d7Smrg	| z8k | z80)
3115dfecf96Smrg		basic_machine=$basic_machine-unknown
3125dfecf96Smrg		;;
313c05e22d7Smrg	c54x)
314c05e22d7Smrg		basic_machine=tic54x-unknown
315c05e22d7Smrg		;;
316c05e22d7Smrg	c55x)
317c05e22d7Smrg		basic_machine=tic55x-unknown
318c05e22d7Smrg		;;
319c05e22d7Smrg	c6x)
320c05e22d7Smrg		basic_machine=tic6x-unknown
321c05e22d7Smrg		;;
322c05e22d7Smrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3235dfecf96Smrg		# Motorola 68HC11/12.
3245dfecf96Smrg		basic_machine=$basic_machine-unknown
3255dfecf96Smrg		os=-none
3265dfecf96Smrg		;;
3275dfecf96Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3285dfecf96Smrg		;;
329f14f4646Smrg	ms1)
330f14f4646Smrg		basic_machine=mt-unknown
331f14f4646Smrg		;;
3325dfecf96Smrg
33331de2854Smrg	strongarm | thumb | xscale)
33431de2854Smrg		basic_machine=arm-unknown
33531de2854Smrg		;;
33631de2854Smrg
33731de2854Smrg	xscaleeb)
33831de2854Smrg		basic_machine=armeb-unknown
33931de2854Smrg		;;
34031de2854Smrg
34131de2854Smrg	xscaleel)
34231de2854Smrg		basic_machine=armel-unknown
34331de2854Smrg		;;
34431de2854Smrg
3455dfecf96Smrg	# We use `pc' rather than `unknown'
3465dfecf96Smrg	# because (1) that's what they normally are, and
3475dfecf96Smrg	# (2) the word "unknown" tends to confuse beginning users.
3485dfecf96Smrg	i*86 | x86_64)
3495dfecf96Smrg	  basic_machine=$basic_machine-pc
3505dfecf96Smrg	  ;;
3515dfecf96Smrg	# Object if more than one company name word.
3525dfecf96Smrg	*-*-*)
3535dfecf96Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3545dfecf96Smrg		exit 1
3555dfecf96Smrg		;;
3565dfecf96Smrg	# Recognize the basic CPU types with company name.
3575dfecf96Smrg	580-* \
3585dfecf96Smrg	| a29k-* \
3595dfecf96Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3605dfecf96Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3615dfecf96Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3625dfecf96Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
363f14f4646Smrg	| avr-* | avr32-* \
36431de2854Smrg	| be32-* | be64-* \
3655dfecf96Smrg	| bfin-* | bs2000-* \
366c05e22d7Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3675dfecf96Smrg	| clipper-* | craynv-* | cydra-* \
3685dfecf96Smrg	| d10v-* | d30v-* | dlx-* \
3695dfecf96Smrg	| elxsi-* \
370f14f4646Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3715dfecf96Smrg	| h8300-* | h8500-* \
3725dfecf96Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
37331de2854Smrg	| hexagon-* \
3745dfecf96Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3755dfecf96Smrg	| ip2k-* | iq2000-* \
37631de2854Smrg	| le32-* | le64-* \
377c05e22d7Smrg	| lm32-* \
378f14f4646Smrg	| m32c-* | m32r-* | m32rle-* \
3795dfecf96Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
380c05e22d7Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3815dfecf96Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3825dfecf96Smrg	| mips16-* \
3835dfecf96Smrg	| mips64-* | mips64el-* \
384c05e22d7Smrg	| mips64octeon-* | mips64octeonel-* \
3855dfecf96Smrg	| mips64orion-* | mips64orionel-* \
386c05e22d7Smrg	| mips64r5900-* | mips64r5900el-* \
387c05e22d7Smrg	| mips64vr-* | mips64vrel-* \
3885dfecf96Smrg	| mips64vr4100-* | mips64vr4100el-* \
3895dfecf96Smrg	| mips64vr4300-* | mips64vr4300el-* \
3905dfecf96Smrg	| mips64vr5000-* | mips64vr5000el-* \
3915dfecf96Smrg	| mips64vr5900-* | mips64vr5900el-* \
3925dfecf96Smrg	| mipsisa32-* | mipsisa32el-* \
3935dfecf96Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3945dfecf96Smrg	| mipsisa64-* | mipsisa64el-* \
3955dfecf96Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3965dfecf96Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3975dfecf96Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3985dfecf96Smrg	| mipstx39-* | mipstx39el-* \
3995dfecf96Smrg	| mmix-* \
400f14f4646Smrg	| mt-* \
4015dfecf96Smrg	| msp430-* \
402c05e22d7Smrg	| nds32-* | nds32le-* | nds32be-* \
403f14f4646Smrg	| nios-* | nios2-* \
4045dfecf96Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
40531de2854Smrg	| open8-* \
4065dfecf96Smrg	| orion-* \
4075dfecf96Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
40831de2854Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
4095dfecf96Smrg	| pyramid-* \
41031de2854Smrg	| rl78-* | romp-* | rs6000-* | rx-* \
411c05e22d7Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
4125dfecf96Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
413f14f4646Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
4145dfecf96Smrg	| sparclite-* \
41531de2854Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
41631de2854Smrg	| tahoe-* \
4175dfecf96Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
41831de2854Smrg	| tile*-* \
4195dfecf96Smrg	| tron-* \
420c05e22d7Smrg	| ubicom32-* \
42131de2854Smrg	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
42231de2854Smrg	| vax-* \
4235dfecf96Smrg	| we32k-* \
42431de2854Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* \
425f14f4646Smrg	| xstormy16-* | xtensa*-* \
4265dfecf96Smrg	| ymp-* \
427c05e22d7Smrg	| z8k-* | z80-*)
4285dfecf96Smrg		;;
429f14f4646Smrg	# Recognize the basic CPU types without company name, with glob match.
430f14f4646Smrg	xtensa*)
431f14f4646Smrg		basic_machine=$basic_machine-unknown
4325dfecf96Smrg		;;
4335dfecf96Smrg	# Recognize the various machine names and aliases which stand
4345dfecf96Smrg	# for a CPU type and a company and sometimes even an OS.
4355dfecf96Smrg	386bsd)
4365dfecf96Smrg		basic_machine=i386-unknown
4375dfecf96Smrg		os=-bsd
4385dfecf96Smrg		;;
4395dfecf96Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4405dfecf96Smrg		basic_machine=m68000-att
4415dfecf96Smrg		;;
4425dfecf96Smrg	3b*)
4435dfecf96Smrg		basic_machine=we32k-att
4445dfecf96Smrg		;;
4455dfecf96Smrg	a29khif)
4465dfecf96Smrg		basic_machine=a29k-amd
4475dfecf96Smrg		os=-udi
4485dfecf96Smrg		;;
44931de2854Smrg	abacus)
4505dfecf96Smrg		basic_machine=abacus-unknown
4515dfecf96Smrg		;;
4525dfecf96Smrg	adobe68k)
4535dfecf96Smrg		basic_machine=m68010-adobe
4545dfecf96Smrg		os=-scout
4555dfecf96Smrg		;;
4565dfecf96Smrg	alliant | fx80)
4575dfecf96Smrg		basic_machine=fx80-alliant
4585dfecf96Smrg		;;
4595dfecf96Smrg	altos | altos3068)
4605dfecf96Smrg		basic_machine=m68k-altos
4615dfecf96Smrg		;;
4625dfecf96Smrg	am29k)
4635dfecf96Smrg		basic_machine=a29k-none
4645dfecf96Smrg		os=-bsd
4655dfecf96Smrg		;;
4665dfecf96Smrg	amd64)
4675dfecf96Smrg		basic_machine=x86_64-pc
4685dfecf96Smrg		;;
4695dfecf96Smrg	amd64-*)
4705dfecf96Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4715dfecf96Smrg		;;
4725dfecf96Smrg	amdahl)
4735dfecf96Smrg		basic_machine=580-amdahl
4745dfecf96Smrg		os=-sysv
4755dfecf96Smrg		;;
4765dfecf96Smrg	amiga | amiga-*)
4775dfecf96Smrg		basic_machine=m68k-unknown
4785dfecf96Smrg		;;
4795dfecf96Smrg	amigaos | amigados)
4805dfecf96Smrg		basic_machine=m68k-unknown
4815dfecf96Smrg		os=-amigaos
4825dfecf96Smrg		;;
4835dfecf96Smrg	amigaunix | amix)
4845dfecf96Smrg		basic_machine=m68k-unknown
4855dfecf96Smrg		os=-sysv4
4865dfecf96Smrg		;;
4875dfecf96Smrg	apollo68)
4885dfecf96Smrg		basic_machine=m68k-apollo
4895dfecf96Smrg		os=-sysv
4905dfecf96Smrg		;;
4915dfecf96Smrg	apollo68bsd)
4925dfecf96Smrg		basic_machine=m68k-apollo
4935dfecf96Smrg		os=-bsd
4945dfecf96Smrg		;;
495c05e22d7Smrg	aros)
496c05e22d7Smrg		basic_machine=i386-pc
497c05e22d7Smrg		os=-aros
498c05e22d7Smrg		;;
4995dfecf96Smrg	aux)
5005dfecf96Smrg		basic_machine=m68k-apple
5015dfecf96Smrg		os=-aux
5025dfecf96Smrg		;;
5035dfecf96Smrg	balance)
5045dfecf96Smrg		basic_machine=ns32k-sequent
5055dfecf96Smrg		os=-dynix
5065dfecf96Smrg		;;
507f14f4646Smrg	blackfin)
508f14f4646Smrg		basic_machine=bfin-unknown
509f14f4646Smrg		os=-linux
510f14f4646Smrg		;;
511f14f4646Smrg	blackfin-*)
512f14f4646Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
513f14f4646Smrg		os=-linux
514f14f4646Smrg		;;
515c05e22d7Smrg	bluegene*)
516c05e22d7Smrg		basic_machine=powerpc-ibm
517c05e22d7Smrg		os=-cnk
518c05e22d7Smrg		;;
519c05e22d7Smrg	c54x-*)
520c05e22d7Smrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
521c05e22d7Smrg		;;
522c05e22d7Smrg	c55x-*)
523c05e22d7Smrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
524c05e22d7Smrg		;;
525c05e22d7Smrg	c6x-*)
526c05e22d7Smrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
527c05e22d7Smrg		;;
5285dfecf96Smrg	c90)
5295dfecf96Smrg		basic_machine=c90-cray
5305dfecf96Smrg		os=-unicos
5315dfecf96Smrg		;;
53231de2854Smrg	cegcc)
533c05e22d7Smrg		basic_machine=arm-unknown
534c05e22d7Smrg		os=-cegcc
535c05e22d7Smrg		;;
5365dfecf96Smrg	convex-c1)
5375dfecf96Smrg		basic_machine=c1-convex
5385dfecf96Smrg		os=-bsd
5395dfecf96Smrg		;;
5405dfecf96Smrg	convex-c2)
5415dfecf96Smrg		basic_machine=c2-convex
5425dfecf96Smrg		os=-bsd
5435dfecf96Smrg		;;
5445dfecf96Smrg	convex-c32)
5455dfecf96Smrg		basic_machine=c32-convex
5465dfecf96Smrg		os=-bsd
5475dfecf96Smrg		;;
5485dfecf96Smrg	convex-c34)
5495dfecf96Smrg		basic_machine=c34-convex
5505dfecf96Smrg		os=-bsd
5515dfecf96Smrg		;;
5525dfecf96Smrg	convex-c38)
5535dfecf96Smrg		basic_machine=c38-convex
5545dfecf96Smrg		os=-bsd
5555dfecf96Smrg		;;
5565dfecf96Smrg	cray | j90)
5575dfecf96Smrg		basic_machine=j90-cray
5585dfecf96Smrg		os=-unicos
5595dfecf96Smrg		;;
5605dfecf96Smrg	craynv)
5615dfecf96Smrg		basic_machine=craynv-cray
5625dfecf96Smrg		os=-unicosmp
5635dfecf96Smrg		;;
56431de2854Smrg	cr16 | cr16-*)
565f14f4646Smrg		basic_machine=cr16-unknown
5665dfecf96Smrg		os=-elf
5675dfecf96Smrg		;;
5685dfecf96Smrg	crds | unos)
5695dfecf96Smrg		basic_machine=m68k-crds
5705dfecf96Smrg		;;
5715dfecf96Smrg	crisv32 | crisv32-* | etraxfs*)
5725dfecf96Smrg		basic_machine=crisv32-axis
5735dfecf96Smrg		;;
5745dfecf96Smrg	cris | cris-* | etrax*)
5755dfecf96Smrg		basic_machine=cris-axis
5765dfecf96Smrg		;;
5775dfecf96Smrg	crx)
5785dfecf96Smrg		basic_machine=crx-unknown
5795dfecf96Smrg		os=-elf
5805dfecf96Smrg		;;
5815dfecf96Smrg	da30 | da30-*)
5825dfecf96Smrg		basic_machine=m68k-da30
5835dfecf96Smrg		;;
5845dfecf96Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5855dfecf96Smrg		basic_machine=mips-dec
5865dfecf96Smrg		;;
5875dfecf96Smrg	decsystem10* | dec10*)
5885dfecf96Smrg		basic_machine=pdp10-dec
5895dfecf96Smrg		os=-tops10
5905dfecf96Smrg		;;
5915dfecf96Smrg	decsystem20* | dec20*)
5925dfecf96Smrg		basic_machine=pdp10-dec
5935dfecf96Smrg		os=-tops20
5945dfecf96Smrg		;;
5955dfecf96Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5965dfecf96Smrg	      | 3300-motorola | delta-motorola)
5975dfecf96Smrg		basic_machine=m68k-motorola
5985dfecf96Smrg		;;
5995dfecf96Smrg	delta88)
6005dfecf96Smrg		basic_machine=m88k-motorola
6015dfecf96Smrg		os=-sysv3
6025dfecf96Smrg		;;
603c05e22d7Smrg	dicos)
604c05e22d7Smrg		basic_machine=i686-pc
605c05e22d7Smrg		os=-dicos
606c05e22d7Smrg		;;
6075dfecf96Smrg	djgpp)
6085dfecf96Smrg		basic_machine=i586-pc
6095dfecf96Smrg		os=-msdosdjgpp
6105dfecf96Smrg		;;
6115dfecf96Smrg	dpx20 | dpx20-*)
6125dfecf96Smrg		basic_machine=rs6000-bull
6135dfecf96Smrg		os=-bosx
6145dfecf96Smrg		;;
6155dfecf96Smrg	dpx2* | dpx2*-bull)
6165dfecf96Smrg		basic_machine=m68k-bull
6175dfecf96Smrg		os=-sysv3
6185dfecf96Smrg		;;
6195dfecf96Smrg	ebmon29k)
6205dfecf96Smrg		basic_machine=a29k-amd
6215dfecf96Smrg		os=-ebmon
6225dfecf96Smrg		;;
6235dfecf96Smrg	elxsi)
6245dfecf96Smrg		basic_machine=elxsi-elxsi
6255dfecf96Smrg		os=-bsd
6265dfecf96Smrg		;;
6275dfecf96Smrg	encore | umax | mmax)
6285dfecf96Smrg		basic_machine=ns32k-encore
6295dfecf96Smrg		;;
6305dfecf96Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6315dfecf96Smrg		basic_machine=m68k-ericsson
6325dfecf96Smrg		os=-ose
6335dfecf96Smrg		;;
6345dfecf96Smrg	fx2800)
6355dfecf96Smrg		basic_machine=i860-alliant
6365dfecf96Smrg		;;
6375dfecf96Smrg	genix)
6385dfecf96Smrg		basic_machine=ns32k-ns
6395dfecf96Smrg		;;
6405dfecf96Smrg	gmicro)
6415dfecf96Smrg		basic_machine=tron-gmicro
6425dfecf96Smrg		os=-sysv
6435dfecf96Smrg		;;
6445dfecf96Smrg	go32)
6455dfecf96Smrg		basic_machine=i386-pc
6465dfecf96Smrg		os=-go32
6475dfecf96Smrg		;;
6485dfecf96Smrg	h3050r* | hiux*)
6495dfecf96Smrg		basic_machine=hppa1.1-hitachi
6505dfecf96Smrg		os=-hiuxwe2
6515dfecf96Smrg		;;
6525dfecf96Smrg	h8300hms)
6535dfecf96Smrg		basic_machine=h8300-hitachi
6545dfecf96Smrg		os=-hms
6555dfecf96Smrg		;;
6565dfecf96Smrg	h8300xray)
6575dfecf96Smrg		basic_machine=h8300-hitachi
6585dfecf96Smrg		os=-xray
6595dfecf96Smrg		;;
6605dfecf96Smrg	h8500hms)
6615dfecf96Smrg		basic_machine=h8500-hitachi
6625dfecf96Smrg		os=-hms
6635dfecf96Smrg		;;
6645dfecf96Smrg	harris)
6655dfecf96Smrg		basic_machine=m88k-harris
6665dfecf96Smrg		os=-sysv3
6675dfecf96Smrg		;;
6685dfecf96Smrg	hp300-*)
6695dfecf96Smrg		basic_machine=m68k-hp
6705dfecf96Smrg		;;
6715dfecf96Smrg	hp300bsd)
6725dfecf96Smrg		basic_machine=m68k-hp
6735dfecf96Smrg		os=-bsd
6745dfecf96Smrg		;;
6755dfecf96Smrg	hp300hpux)
6765dfecf96Smrg		basic_machine=m68k-hp
6775dfecf96Smrg		os=-hpux
6785dfecf96Smrg		;;
6795dfecf96Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6805dfecf96Smrg		basic_machine=hppa1.0-hp
6815dfecf96Smrg		;;
6825dfecf96Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6835dfecf96Smrg		basic_machine=m68000-hp
6845dfecf96Smrg		;;
6855dfecf96Smrg	hp9k3[2-9][0-9])
6865dfecf96Smrg		basic_machine=m68k-hp
6875dfecf96Smrg		;;
6885dfecf96Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6895dfecf96Smrg		basic_machine=hppa1.0-hp
6905dfecf96Smrg		;;
6915dfecf96Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6925dfecf96Smrg		basic_machine=hppa1.1-hp
6935dfecf96Smrg		;;
6945dfecf96Smrg	hp9k78[0-9] | hp78[0-9])
6955dfecf96Smrg		# FIXME: really hppa2.0-hp
6965dfecf96Smrg		basic_machine=hppa1.1-hp
6975dfecf96Smrg		;;
6985dfecf96Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6995dfecf96Smrg		# FIXME: really hppa2.0-hp
7005dfecf96Smrg		basic_machine=hppa1.1-hp
7015dfecf96Smrg		;;
7025dfecf96Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
7035dfecf96Smrg		basic_machine=hppa1.1-hp
7045dfecf96Smrg		;;
7055dfecf96Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
7065dfecf96Smrg		basic_machine=hppa1.0-hp
7075dfecf96Smrg		;;
7085dfecf96Smrg	hppa-next)
7095dfecf96Smrg		os=-nextstep3
7105dfecf96Smrg		;;
7115dfecf96Smrg	hppaosf)
7125dfecf96Smrg		basic_machine=hppa1.1-hp
7135dfecf96Smrg		os=-osf
7145dfecf96Smrg		;;
7155dfecf96Smrg	hppro)
7165dfecf96Smrg		basic_machine=hppa1.1-hp
7175dfecf96Smrg		os=-proelf
7185dfecf96Smrg		;;
7195dfecf96Smrg	i370-ibm* | ibm*)
7205dfecf96Smrg		basic_machine=i370-ibm
7215dfecf96Smrg		;;
7225dfecf96Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7235dfecf96Smrg	i*86v32)
7245dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7255dfecf96Smrg		os=-sysv32
7265dfecf96Smrg		;;
7275dfecf96Smrg	i*86v4*)
7285dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7295dfecf96Smrg		os=-sysv4
7305dfecf96Smrg		;;
7315dfecf96Smrg	i*86v)
7325dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7335dfecf96Smrg		os=-sysv
7345dfecf96Smrg		;;
7355dfecf96Smrg	i*86sol2)
7365dfecf96Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7375dfecf96Smrg		os=-solaris2
7385dfecf96Smrg		;;
7395dfecf96Smrg	i386mach)
7405dfecf96Smrg		basic_machine=i386-mach
7415dfecf96Smrg		os=-mach
7425dfecf96Smrg		;;
7435dfecf96Smrg	i386-vsta | vsta)
7445dfecf96Smrg		basic_machine=i386-unknown
7455dfecf96Smrg		os=-vsta
7465dfecf96Smrg		;;
7475dfecf96Smrg	iris | iris4d)
7485dfecf96Smrg		basic_machine=mips-sgi
7495dfecf96Smrg		case $os in
7505dfecf96Smrg		    -irix*)
7515dfecf96Smrg			;;
7525dfecf96Smrg		    *)
7535dfecf96Smrg			os=-irix4
7545dfecf96Smrg			;;
7555dfecf96Smrg		esac
7565dfecf96Smrg		;;
7575dfecf96Smrg	isi68 | isi)
7585dfecf96Smrg		basic_machine=m68k-isi
7595dfecf96Smrg		os=-sysv
7605dfecf96Smrg		;;
761f14f4646Smrg	m68knommu)
762f14f4646Smrg		basic_machine=m68k-unknown
763f14f4646Smrg		os=-linux
764f14f4646Smrg		;;
765f14f4646Smrg	m68knommu-*)
766f14f4646Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
767f14f4646Smrg		os=-linux
768f14f4646Smrg		;;
7695dfecf96Smrg	m88k-omron*)
7705dfecf96Smrg		basic_machine=m88k-omron
7715dfecf96Smrg		;;
7725dfecf96Smrg	magnum | m3230)
7735dfecf96Smrg		basic_machine=mips-mips
7745dfecf96Smrg		os=-sysv
7755dfecf96Smrg		;;
7765dfecf96Smrg	merlin)
7775dfecf96Smrg		basic_machine=ns32k-utek
7785dfecf96Smrg		os=-sysv
7795dfecf96Smrg		;;
78031de2854Smrg	microblaze)
781c05e22d7Smrg		basic_machine=microblaze-xilinx
782c05e22d7Smrg		;;
7835dfecf96Smrg	mingw32)
7845dfecf96Smrg		basic_machine=i386-pc
7855dfecf96Smrg		os=-mingw32
7865dfecf96Smrg		;;
787f14f4646Smrg	mingw32ce)
788f14f4646Smrg		basic_machine=arm-unknown
789f14f4646Smrg		os=-mingw32ce
790f14f4646Smrg		;;
7915dfecf96Smrg	miniframe)
7925dfecf96Smrg		basic_machine=m68000-convergent
7935dfecf96Smrg		;;
7945dfecf96Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7955dfecf96Smrg		basic_machine=m68k-atari
7965dfecf96Smrg		os=-mint
7975dfecf96Smrg		;;
7985dfecf96Smrg	mips3*-*)
7995dfecf96Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
8005dfecf96Smrg		;;
8015dfecf96Smrg	mips3*)
8025dfecf96Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
8035dfecf96Smrg		;;
8045dfecf96Smrg	monitor)
8055dfecf96Smrg		basic_machine=m68k-rom68k
8065dfecf96Smrg		os=-coff
8075dfecf96Smrg		;;
8085dfecf96Smrg	morphos)
8095dfecf96Smrg		basic_machine=powerpc-unknown
8105dfecf96Smrg		os=-morphos
8115dfecf96Smrg		;;
8125dfecf96Smrg	msdos)
8135dfecf96Smrg		basic_machine=i386-pc
8145dfecf96Smrg		os=-msdos
8155dfecf96Smrg		;;
816f14f4646Smrg	ms1-*)
817f14f4646Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
818f14f4646Smrg		;;
81931de2854Smrg	msys)
82031de2854Smrg		basic_machine=i386-pc
82131de2854Smrg		os=-msys
82231de2854Smrg		;;
8235dfecf96Smrg	mvs)
8245dfecf96Smrg		basic_machine=i370-ibm
8255dfecf96Smrg		os=-mvs
8265dfecf96Smrg		;;
82731de2854Smrg	nacl)
82831de2854Smrg		basic_machine=le32-unknown
82931de2854Smrg		os=-nacl
83031de2854Smrg		;;
8315dfecf96Smrg	ncr3000)
8325dfecf96Smrg		basic_machine=i486-ncr
8335dfecf96Smrg		os=-sysv4
8345dfecf96Smrg		;;
8355dfecf96Smrg	netbsd386)
8365dfecf96Smrg		basic_machine=i386-unknown
8375dfecf96Smrg		os=-netbsd
8385dfecf96Smrg		;;
8395dfecf96Smrg	netwinder)
8405dfecf96Smrg		basic_machine=armv4l-rebel
8415dfecf96Smrg		os=-linux
8425dfecf96Smrg		;;
8435dfecf96Smrg	news | news700 | news800 | news900)
8445dfecf96Smrg		basic_machine=m68k-sony
8455dfecf96Smrg		os=-newsos
8465dfecf96Smrg		;;
8475dfecf96Smrg	news1000)
8485dfecf96Smrg		basic_machine=m68030-sony
8495dfecf96Smrg		os=-newsos
8505dfecf96Smrg		;;
8515dfecf96Smrg	news-3600 | risc-news)
8525dfecf96Smrg		basic_machine=mips-sony
8535dfecf96Smrg		os=-newsos
8545dfecf96Smrg		;;
8555dfecf96Smrg	necv70)
8565dfecf96Smrg		basic_machine=v70-nec
8575dfecf96Smrg		os=-sysv
8585dfecf96Smrg		;;
8595dfecf96Smrg	next | m*-next )
8605dfecf96Smrg		basic_machine=m68k-next
8615dfecf96Smrg		case $os in
8625dfecf96Smrg		    -nextstep* )
8635dfecf96Smrg			;;
8645dfecf96Smrg		    -ns2*)
8655dfecf96Smrg		      os=-nextstep2
8665dfecf96Smrg			;;
8675dfecf96Smrg		    *)
8685dfecf96Smrg		      os=-nextstep3
8695dfecf96Smrg			;;
8705dfecf96Smrg		esac
8715dfecf96Smrg		;;
8725dfecf96Smrg	nh3000)
8735dfecf96Smrg		basic_machine=m68k-harris
8745dfecf96Smrg		os=-cxux
8755dfecf96Smrg		;;
8765dfecf96Smrg	nh[45]000)
8775dfecf96Smrg		basic_machine=m88k-harris
8785dfecf96Smrg		os=-cxux
8795dfecf96Smrg		;;
8805dfecf96Smrg	nindy960)
8815dfecf96Smrg		basic_machine=i960-intel
8825dfecf96Smrg		os=-nindy
8835dfecf96Smrg		;;
8845dfecf96Smrg	mon960)
8855dfecf96Smrg		basic_machine=i960-intel
8865dfecf96Smrg		os=-mon960
8875dfecf96Smrg		;;
8885dfecf96Smrg	nonstopux)
8895dfecf96Smrg		basic_machine=mips-compaq
8905dfecf96Smrg		os=-nonstopux
8915dfecf96Smrg		;;
8925dfecf96Smrg	np1)
8935dfecf96Smrg		basic_machine=np1-gould
8945dfecf96Smrg		;;
89531de2854Smrg	neo-tandem)
896c05e22d7Smrg		basic_machine=neo-tandem
897c05e22d7Smrg		;;
89831de2854Smrg	nse-tandem)
899c05e22d7Smrg		basic_machine=nse-tandem
900c05e22d7Smrg		;;
9015dfecf96Smrg	nsr-tandem)
9025dfecf96Smrg		basic_machine=nsr-tandem
9035dfecf96Smrg		;;
9045dfecf96Smrg	op50n-* | op60c-*)
9055dfecf96Smrg		basic_machine=hppa1.1-oki
9065dfecf96Smrg		os=-proelf
9075dfecf96Smrg		;;
9085dfecf96Smrg	openrisc | openrisc-*)
9095dfecf96Smrg		basic_machine=or32-unknown
9105dfecf96Smrg		;;
9115dfecf96Smrg	os400)
9125dfecf96Smrg		basic_machine=powerpc-ibm
9135dfecf96Smrg		os=-os400
9145dfecf96Smrg		;;
9155dfecf96Smrg	OSE68000 | ose68000)
9165dfecf96Smrg		basic_machine=m68000-ericsson
9175dfecf96Smrg		os=-ose
9185dfecf96Smrg		;;
9195dfecf96Smrg	os68k)
9205dfecf96Smrg		basic_machine=m68k-none
9215dfecf96Smrg		os=-os68k
9225dfecf96Smrg		;;
9235dfecf96Smrg	pa-hitachi)
9245dfecf96Smrg		basic_machine=hppa1.1-hitachi
9255dfecf96Smrg		os=-hiuxwe2
9265dfecf96Smrg		;;
9275dfecf96Smrg	paragon)
9285dfecf96Smrg		basic_machine=i860-intel
9295dfecf96Smrg		os=-osf
9305dfecf96Smrg		;;
931f14f4646Smrg	parisc)
932f14f4646Smrg		basic_machine=hppa-unknown
933f14f4646Smrg		os=-linux
934f14f4646Smrg		;;
935f14f4646Smrg	parisc-*)
936f14f4646Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
937f14f4646Smrg		os=-linux
938f14f4646Smrg		;;
9395dfecf96Smrg	pbd)
9405dfecf96Smrg		basic_machine=sparc-tti
9415dfecf96Smrg		;;
9425dfecf96Smrg	pbb)
9435dfecf96Smrg		basic_machine=m68k-tti
9445dfecf96Smrg		;;
9455dfecf96Smrg	pc532 | pc532-*)
9465dfecf96Smrg		basic_machine=ns32k-pc532
9475dfecf96Smrg		;;
948f14f4646Smrg	pc98)
949f14f4646Smrg		basic_machine=i386-pc
950f14f4646Smrg		;;
951f14f4646Smrg	pc98-*)
952f14f4646Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
953f14f4646Smrg		;;
9545dfecf96Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9555dfecf96Smrg		basic_machine=i586-pc
9565dfecf96Smrg		;;
9575dfecf96Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9585dfecf96Smrg		basic_machine=i686-pc
9595dfecf96Smrg		;;
9605dfecf96Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9615dfecf96Smrg		basic_machine=i686-pc
9625dfecf96Smrg		;;
9635dfecf96Smrg	pentium4)
9645dfecf96Smrg		basic_machine=i786-pc
9655dfecf96Smrg		;;
9665dfecf96Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9675dfecf96Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9685dfecf96Smrg		;;
9695dfecf96Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9705dfecf96Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9715dfecf96Smrg		;;
9725dfecf96Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9735dfecf96Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9745dfecf96Smrg		;;
9755dfecf96Smrg	pentium4-*)
9765dfecf96Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9775dfecf96Smrg		;;
9785dfecf96Smrg	pn)
9795dfecf96Smrg		basic_machine=pn-gould
9805dfecf96Smrg		;;
9815dfecf96Smrg	power)	basic_machine=power-ibm
9825dfecf96Smrg		;;
98331de2854Smrg	ppc | ppcbe)	basic_machine=powerpc-unknown
9845dfecf96Smrg		;;
98531de2854Smrg	ppc-* | ppcbe-*)
98631de2854Smrg		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9875dfecf96Smrg		;;
9885dfecf96Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9895dfecf96Smrg		basic_machine=powerpcle-unknown
9905dfecf96Smrg		;;
9915dfecf96Smrg	ppcle-* | powerpclittle-*)
9925dfecf96Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9935dfecf96Smrg		;;
9945dfecf96Smrg	ppc64)	basic_machine=powerpc64-unknown
9955dfecf96Smrg		;;
9965dfecf96Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9975dfecf96Smrg		;;
9985dfecf96Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9995dfecf96Smrg		basic_machine=powerpc64le-unknown
10005dfecf96Smrg		;;
10015dfecf96Smrg	ppc64le-* | powerpc64little-*)
10025dfecf96Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
10035dfecf96Smrg		;;
10045dfecf96Smrg	ps2)
10055dfecf96Smrg		basic_machine=i386-ibm
10065dfecf96Smrg		;;
10075dfecf96Smrg	pw32)
10085dfecf96Smrg		basic_machine=i586-unknown
10095dfecf96Smrg		os=-pw32
10105dfecf96Smrg		;;
1011f14f4646Smrg	rdos)
1012f14f4646Smrg		basic_machine=i386-pc
1013f14f4646Smrg		os=-rdos
1014f14f4646Smrg		;;
10155dfecf96Smrg	rom68k)
10165dfecf96Smrg		basic_machine=m68k-rom68k
10175dfecf96Smrg		os=-coff
10185dfecf96Smrg		;;
10195dfecf96Smrg	rm[46]00)
10205dfecf96Smrg		basic_machine=mips-siemens
10215dfecf96Smrg		;;
10225dfecf96Smrg	rtpc | rtpc-*)
10235dfecf96Smrg		basic_machine=romp-ibm
10245dfecf96Smrg		;;
10255dfecf96Smrg	s390 | s390-*)
10265dfecf96Smrg		basic_machine=s390-ibm
10275dfecf96Smrg		;;
10285dfecf96Smrg	s390x | s390x-*)
10295dfecf96Smrg		basic_machine=s390x-ibm
10305dfecf96Smrg		;;
10315dfecf96Smrg	sa29200)
10325dfecf96Smrg		basic_machine=a29k-amd
10335dfecf96Smrg		os=-udi
10345dfecf96Smrg		;;
10355dfecf96Smrg	sb1)
10365dfecf96Smrg		basic_machine=mipsisa64sb1-unknown
10375dfecf96Smrg		;;
10385dfecf96Smrg	sb1el)
10395dfecf96Smrg		basic_machine=mipsisa64sb1el-unknown
10405dfecf96Smrg		;;
1041f14f4646Smrg	sde)
1042f14f4646Smrg		basic_machine=mipsisa32-sde
1043f14f4646Smrg		os=-elf
1044f14f4646Smrg		;;
10455dfecf96Smrg	sei)
10465dfecf96Smrg		basic_machine=mips-sei
10475dfecf96Smrg		os=-seiux
10485dfecf96Smrg		;;
10495dfecf96Smrg	sequent)
10505dfecf96Smrg		basic_machine=i386-sequent
10515dfecf96Smrg		;;
10525dfecf96Smrg	sh)
10535dfecf96Smrg		basic_machine=sh-hitachi
10545dfecf96Smrg		os=-hms
10555dfecf96Smrg		;;
1056f14f4646Smrg	sh5el)
1057f14f4646Smrg		basic_machine=sh5le-unknown
1058f14f4646Smrg		;;
10595dfecf96Smrg	sh64)
10605dfecf96Smrg		basic_machine=sh64-unknown
10615dfecf96Smrg		;;
10625dfecf96Smrg	sparclite-wrs | simso-wrs)
10635dfecf96Smrg		basic_machine=sparclite-wrs
10645dfecf96Smrg		os=-vxworks
10655dfecf96Smrg		;;
10665dfecf96Smrg	sps7)
10675dfecf96Smrg		basic_machine=m68k-bull
10685dfecf96Smrg		os=-sysv2
10695dfecf96Smrg		;;
10705dfecf96Smrg	spur)
10715dfecf96Smrg		basic_machine=spur-unknown
10725dfecf96Smrg		;;
10735dfecf96Smrg	st2000)
10745dfecf96Smrg		basic_machine=m68k-tandem
10755dfecf96Smrg		;;
10765dfecf96Smrg	stratus)
10775dfecf96Smrg		basic_machine=i860-stratus
10785dfecf96Smrg		os=-sysv4
10795dfecf96Smrg		;;
108031de2854Smrg	strongarm-* | thumb-*)
108131de2854Smrg		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
108231de2854Smrg		;;
10835dfecf96Smrg	sun2)
10845dfecf96Smrg		basic_machine=m68000-sun
10855dfecf96Smrg		;;
10865dfecf96Smrg	sun2os3)
10875dfecf96Smrg		basic_machine=m68000-sun
10885dfecf96Smrg		os=-sunos3
10895dfecf96Smrg		;;
10905dfecf96Smrg	sun2os4)
10915dfecf96Smrg		basic_machine=m68000-sun
10925dfecf96Smrg		os=-sunos4
10935dfecf96Smrg		;;
10945dfecf96Smrg	sun3os3)
10955dfecf96Smrg		basic_machine=m68k-sun
10965dfecf96Smrg		os=-sunos3
10975dfecf96Smrg		;;
10985dfecf96Smrg	sun3os4)
10995dfecf96Smrg		basic_machine=m68k-sun
11005dfecf96Smrg		os=-sunos4
11015dfecf96Smrg		;;
11025dfecf96Smrg	sun4os3)
11035dfecf96Smrg		basic_machine=sparc-sun
11045dfecf96Smrg		os=-sunos3
11055dfecf96Smrg		;;
11065dfecf96Smrg	sun4os4)
11075dfecf96Smrg		basic_machine=sparc-sun
11085dfecf96Smrg		os=-sunos4
11095dfecf96Smrg		;;
11105dfecf96Smrg	sun4sol2)
11115dfecf96Smrg		basic_machine=sparc-sun
11125dfecf96Smrg		os=-solaris2
11135dfecf96Smrg		;;
11145dfecf96Smrg	sun3 | sun3-*)
11155dfecf96Smrg		basic_machine=m68k-sun
11165dfecf96Smrg		;;
11175dfecf96Smrg	sun4)
11185dfecf96Smrg		basic_machine=sparc-sun
11195dfecf96Smrg		;;
11205dfecf96Smrg	sun386 | sun386i | roadrunner)
11215dfecf96Smrg		basic_machine=i386-sun
11225dfecf96Smrg		;;
11235dfecf96Smrg	sv1)
11245dfecf96Smrg		basic_machine=sv1-cray
11255dfecf96Smrg		os=-unicos
11265dfecf96Smrg		;;
11275dfecf96Smrg	symmetry)
11285dfecf96Smrg		basic_machine=i386-sequent
11295dfecf96Smrg		os=-dynix
11305dfecf96Smrg		;;
11315dfecf96Smrg	t3e)
11325dfecf96Smrg		basic_machine=alphaev5-cray
11335dfecf96Smrg		os=-unicos
11345dfecf96Smrg		;;
11355dfecf96Smrg	t90)
11365dfecf96Smrg		basic_machine=t90-cray
11375dfecf96Smrg		os=-unicos
11385dfecf96Smrg		;;
1139f14f4646Smrg	tile*)
114031de2854Smrg		basic_machine=$basic_machine-unknown
1141f14f4646Smrg		os=-linux-gnu
1142f14f4646Smrg		;;
11435dfecf96Smrg	tx39)
11445dfecf96Smrg		basic_machine=mipstx39-unknown
11455dfecf96Smrg		;;
11465dfecf96Smrg	tx39el)
11475dfecf96Smrg		basic_machine=mipstx39el-unknown
11485dfecf96Smrg		;;
11495dfecf96Smrg	toad1)
11505dfecf96Smrg		basic_machine=pdp10-xkl
11515dfecf96Smrg		os=-tops20
11525dfecf96Smrg		;;
11535dfecf96Smrg	tower | tower-32)
11545dfecf96Smrg		basic_machine=m68k-ncr
11555dfecf96Smrg		;;
11565dfecf96Smrg	tpf)
11575dfecf96Smrg		basic_machine=s390x-ibm
11585dfecf96Smrg		os=-tpf
11595dfecf96Smrg		;;
11605dfecf96Smrg	udi29k)
11615dfecf96Smrg		basic_machine=a29k-amd
11625dfecf96Smrg		os=-udi
11635dfecf96Smrg		;;
11645dfecf96Smrg	ultra3)
11655dfecf96Smrg		basic_machine=a29k-nyu
11665dfecf96Smrg		os=-sym1
11675dfecf96Smrg		;;
11685dfecf96Smrg	v810 | necv810)
11695dfecf96Smrg		basic_machine=v810-nec
11705dfecf96Smrg		os=-none
11715dfecf96Smrg		;;
11725dfecf96Smrg	vaxv)
11735dfecf96Smrg		basic_machine=vax-dec
11745dfecf96Smrg		os=-sysv
11755dfecf96Smrg		;;
11765dfecf96Smrg	vms)
11775dfecf96Smrg		basic_machine=vax-dec
11785dfecf96Smrg		os=-vms
11795dfecf96Smrg		;;
11805dfecf96Smrg	vpp*|vx|vx-*)
11815dfecf96Smrg		basic_machine=f301-fujitsu
11825dfecf96Smrg		;;
11835dfecf96Smrg	vxworks960)
11845dfecf96Smrg		basic_machine=i960-wrs
11855dfecf96Smrg		os=-vxworks
11865dfecf96Smrg		;;
11875dfecf96Smrg	vxworks68)
11885dfecf96Smrg		basic_machine=m68k-wrs
11895dfecf96Smrg		os=-vxworks
11905dfecf96Smrg		;;
11915dfecf96Smrg	vxworks29k)
11925dfecf96Smrg		basic_machine=a29k-wrs
11935dfecf96Smrg		os=-vxworks
11945dfecf96Smrg		;;
11955dfecf96Smrg	w65*)
11965dfecf96Smrg		basic_machine=w65-wdc
11975dfecf96Smrg		os=-none
11985dfecf96Smrg		;;
11995dfecf96Smrg	w89k-*)
12005dfecf96Smrg		basic_machine=hppa1.1-winbond
12015dfecf96Smrg		os=-proelf
12025dfecf96Smrg		;;
12035dfecf96Smrg	xbox)
12045dfecf96Smrg		basic_machine=i686-pc
12055dfecf96Smrg		os=-mingw32
12065dfecf96Smrg		;;
12075dfecf96Smrg	xps | xps100)
12085dfecf96Smrg		basic_machine=xps100-honeywell
12095dfecf96Smrg		;;
121031de2854Smrg	xscale-* | xscalee[bl]-*)
121131de2854Smrg		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
121231de2854Smrg		;;
12135dfecf96Smrg	ymp)
12145dfecf96Smrg		basic_machine=ymp-cray
12155dfecf96Smrg		os=-unicos
12165dfecf96Smrg		;;
12175dfecf96Smrg	z8k-*-coff)
12185dfecf96Smrg		basic_machine=z8k-unknown
12195dfecf96Smrg		os=-sim
12205dfecf96Smrg		;;
1221c05e22d7Smrg	z80-*-coff)
1222c05e22d7Smrg		basic_machine=z80-unknown
1223c05e22d7Smrg		os=-sim
1224c05e22d7Smrg		;;
12255dfecf96Smrg	none)
12265dfecf96Smrg		basic_machine=none-none
12275dfecf96Smrg		os=-none
12285dfecf96Smrg		;;
12295dfecf96Smrg
12305dfecf96Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
12315dfecf96Smrg# some cases the only manufacturer, in others, it is the most popular.
12325dfecf96Smrg	w89k)
12335dfecf96Smrg		basic_machine=hppa1.1-winbond
12345dfecf96Smrg		;;
12355dfecf96Smrg	op50n)
12365dfecf96Smrg		basic_machine=hppa1.1-oki
12375dfecf96Smrg		;;
12385dfecf96Smrg	op60c)
12395dfecf96Smrg		basic_machine=hppa1.1-oki
12405dfecf96Smrg		;;
12415dfecf96Smrg	romp)
12425dfecf96Smrg		basic_machine=romp-ibm
12435dfecf96Smrg		;;
12445dfecf96Smrg	mmix)
12455dfecf96Smrg		basic_machine=mmix-knuth
12465dfecf96Smrg		;;
12475dfecf96Smrg	rs6000)
12485dfecf96Smrg		basic_machine=rs6000-ibm
12495dfecf96Smrg		;;
12505dfecf96Smrg	vax)
12515dfecf96Smrg		basic_machine=vax-dec
12525dfecf96Smrg		;;
12535dfecf96Smrg	pdp10)
12545dfecf96Smrg		# there are many clones, so DEC is not a safe bet
12555dfecf96Smrg		basic_machine=pdp10-unknown
12565dfecf96Smrg		;;
12575dfecf96Smrg	pdp11)
12585dfecf96Smrg		basic_machine=pdp11-dec
12595dfecf96Smrg		;;
12605dfecf96Smrg	we32k)
12615dfecf96Smrg		basic_machine=we32k-att
12625dfecf96Smrg		;;
1263c05e22d7Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12645dfecf96Smrg		basic_machine=sh-unknown
12655dfecf96Smrg		;;
1266f14f4646Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12675dfecf96Smrg		basic_machine=sparc-sun
12685dfecf96Smrg		;;
12695dfecf96Smrg	cydra)
12705dfecf96Smrg		basic_machine=cydra-cydrome
12715dfecf96Smrg		;;
12725dfecf96Smrg	orion)
12735dfecf96Smrg		basic_machine=orion-highlevel
12745dfecf96Smrg		;;
12755dfecf96Smrg	orion105)
12765dfecf96Smrg		basic_machine=clipper-highlevel
12775dfecf96Smrg		;;
12785dfecf96Smrg	mac | mpw | mac-mpw)
12795dfecf96Smrg		basic_machine=m68k-apple
12805dfecf96Smrg		;;
12815dfecf96Smrg	pmac | pmac-mpw)
12825dfecf96Smrg		basic_machine=powerpc-apple
12835dfecf96Smrg		;;
12845dfecf96Smrg	*-unknown)
12855dfecf96Smrg		# Make sure to match an already-canonicalized machine name.
12865dfecf96Smrg		;;
12875dfecf96Smrg	*)
12885dfecf96Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12895dfecf96Smrg		exit 1
12905dfecf96Smrg		;;
12915dfecf96Smrgesac
12925dfecf96Smrg
12935dfecf96Smrg# Here we canonicalize certain aliases for manufacturers.
12945dfecf96Smrgcase $basic_machine in
12955dfecf96Smrg	*-digital*)
12965dfecf96Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12975dfecf96Smrg		;;
12985dfecf96Smrg	*-commodore*)
12995dfecf96Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
13005dfecf96Smrg		;;
13015dfecf96Smrg	*)
13025dfecf96Smrg		;;
13035dfecf96Smrgesac
13045dfecf96Smrg
13055dfecf96Smrg# Decode manufacturer-specific aliases for certain operating systems.
13065dfecf96Smrg
13075dfecf96Smrgif [ x"$os" != x"" ]
13085dfecf96Smrgthen
13095dfecf96Smrgcase $os in
131031de2854Smrg	# First match some system type aliases
131131de2854Smrg	# that might get confused with valid system types.
13125dfecf96Smrg	# -solaris* is a basic system type, with this one exception.
131331de2854Smrg	-auroraux)
131431de2854Smrg		os=-auroraux
1315c05e22d7Smrg		;;
13165dfecf96Smrg	-solaris1 | -solaris1.*)
13175dfecf96Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
13185dfecf96Smrg		;;
13195dfecf96Smrg	-solaris)
13205dfecf96Smrg		os=-solaris2
13215dfecf96Smrg		;;
13225dfecf96Smrg	-svr4*)
13235dfecf96Smrg		os=-sysv4
13245dfecf96Smrg		;;
13255dfecf96Smrg	-unixware*)
13265dfecf96Smrg		os=-sysv4.2uw
13275dfecf96Smrg		;;
13285dfecf96Smrg	-gnu/linux*)
13295dfecf96Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
13305dfecf96Smrg		;;
13315dfecf96Smrg	# First accept the basic system types.
13325dfecf96Smrg	# The portable systems comes first.
13335dfecf96Smrg	# Each alternative MUST END IN A *, to match a version number.
13345dfecf96Smrg	# -sysv* is not here because it comes later, after sysvr4.
13355dfecf96Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1336c05e22d7Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1337c05e22d7Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1338c05e22d7Smrg	      | -sym* | -kopensolaris* \
13395dfecf96Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1340c05e22d7Smrg	      | -aos* | -aros* \
13415dfecf96Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13425dfecf96Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1343f14f4646Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1344f14f4646Smrg	      | -openbsd* | -solidbsd* \
13455dfecf96Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13465dfecf96Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13475dfecf96Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13485dfecf96Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1349c05e22d7Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
135031de2854Smrg	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1351c05e22d7Smrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1352c05e22d7Smrg	      | -linux-newlib* | -linux-uclibc* \
1353f14f4646Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13545dfecf96Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13555dfecf96Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13565dfecf96Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13575dfecf96Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13585dfecf96Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13595dfecf96Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1360c05e22d7Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13615dfecf96Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13625dfecf96Smrg		;;
13635dfecf96Smrg	-qnx*)
13645dfecf96Smrg		case $basic_machine in
13655dfecf96Smrg		    x86-* | i*86-*)
13665dfecf96Smrg			;;
13675dfecf96Smrg		    *)
13685dfecf96Smrg			os=-nto$os
13695dfecf96Smrg			;;
13705dfecf96Smrg		esac
13715dfecf96Smrg		;;
13725dfecf96Smrg	-nto-qnx*)
13735dfecf96Smrg		;;
13745dfecf96Smrg	-nto*)
13755dfecf96Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13765dfecf96Smrg		;;
13775dfecf96Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13785dfecf96Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13795dfecf96Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13805dfecf96Smrg		;;
13815dfecf96Smrg	-mac*)
13825dfecf96Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13835dfecf96Smrg		;;
13845dfecf96Smrg	-linux-dietlibc)
13855dfecf96Smrg		os=-linux-dietlibc
13865dfecf96Smrg		;;
13875dfecf96Smrg	-linux*)
13885dfecf96Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13895dfecf96Smrg		;;
13905dfecf96Smrg	-sunos5*)
13915dfecf96Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13925dfecf96Smrg		;;
13935dfecf96Smrg	-sunos6*)
13945dfecf96Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13955dfecf96Smrg		;;
13965dfecf96Smrg	-opened*)
13975dfecf96Smrg		os=-openedition
13985dfecf96Smrg		;;
139931de2854Smrg	-os400*)
14005dfecf96Smrg		os=-os400
14015dfecf96Smrg		;;
14025dfecf96Smrg	-wince*)
14035dfecf96Smrg		os=-wince
14045dfecf96Smrg		;;
14055dfecf96Smrg	-osfrose*)
14065dfecf96Smrg		os=-osfrose
14075dfecf96Smrg		;;
14085dfecf96Smrg	-osf*)
14095dfecf96Smrg		os=-osf
14105dfecf96Smrg		;;
14115dfecf96Smrg	-utek*)
14125dfecf96Smrg		os=-bsd
14135dfecf96Smrg		;;
14145dfecf96Smrg	-dynix*)
14155dfecf96Smrg		os=-bsd
14165dfecf96Smrg		;;
14175dfecf96Smrg	-acis*)
14185dfecf96Smrg		os=-aos
14195dfecf96Smrg		;;
14205dfecf96Smrg	-atheos*)
14215dfecf96Smrg		os=-atheos
14225dfecf96Smrg		;;
14235dfecf96Smrg	-syllable*)
14245dfecf96Smrg		os=-syllable
14255dfecf96Smrg		;;
14265dfecf96Smrg	-386bsd)
14275dfecf96Smrg		os=-bsd
14285dfecf96Smrg		;;
14295dfecf96Smrg	-ctix* | -uts*)
14305dfecf96Smrg		os=-sysv
14315dfecf96Smrg		;;
14325dfecf96Smrg	-nova*)
14335dfecf96Smrg		os=-rtmk-nova
14345dfecf96Smrg		;;
14355dfecf96Smrg	-ns2 )
14365dfecf96Smrg		os=-nextstep2
14375dfecf96Smrg		;;
14385dfecf96Smrg	-nsk*)
14395dfecf96Smrg		os=-nsk
14405dfecf96Smrg		;;
14415dfecf96Smrg	# Preserve the version number of sinix5.
14425dfecf96Smrg	-sinix5.*)
14435dfecf96Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14445dfecf96Smrg		;;
14455dfecf96Smrg	-sinix*)
14465dfecf96Smrg		os=-sysv4
14475dfecf96Smrg		;;
144831de2854Smrg	-tpf*)
14495dfecf96Smrg		os=-tpf
14505dfecf96Smrg		;;
14515dfecf96Smrg	-triton*)
14525dfecf96Smrg		os=-sysv3
14535dfecf96Smrg		;;
14545dfecf96Smrg	-oss*)
14555dfecf96Smrg		os=-sysv3
14565dfecf96Smrg		;;
14575dfecf96Smrg	-svr4)
14585dfecf96Smrg		os=-sysv4
14595dfecf96Smrg		;;
14605dfecf96Smrg	-svr3)
14615dfecf96Smrg		os=-sysv3
14625dfecf96Smrg		;;
14635dfecf96Smrg	-sysvr4)
14645dfecf96Smrg		os=-sysv4
14655dfecf96Smrg		;;
14665dfecf96Smrg	# This must come after -sysvr4.
14675dfecf96Smrg	-sysv*)
14685dfecf96Smrg		;;
14695dfecf96Smrg	-ose*)
14705dfecf96Smrg		os=-ose
14715dfecf96Smrg		;;
14725dfecf96Smrg	-es1800*)
14735dfecf96Smrg		os=-ose
14745dfecf96Smrg		;;
14755dfecf96Smrg	-xenix)
14765dfecf96Smrg		os=-xenix
14775dfecf96Smrg		;;
14785dfecf96Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14795dfecf96Smrg		os=-mint
14805dfecf96Smrg		;;
14815dfecf96Smrg	-aros*)
14825dfecf96Smrg		os=-aros
14835dfecf96Smrg		;;
14845dfecf96Smrg	-kaos*)
14855dfecf96Smrg		os=-kaos
14865dfecf96Smrg		;;
14875dfecf96Smrg	-zvmoe)
14885dfecf96Smrg		os=-zvmoe
14895dfecf96Smrg		;;
1490c05e22d7Smrg	-dicos*)
1491c05e22d7Smrg		os=-dicos
1492c05e22d7Smrg		;;
149331de2854Smrg	-nacl*)
149431de2854Smrg		;;
14955dfecf96Smrg	-none)
14965dfecf96Smrg		;;
14975dfecf96Smrg	*)
14985dfecf96Smrg		# Get rid of the `-' at the beginning of $os.
14995dfecf96Smrg		os=`echo $os | sed 's/[^-]*-//'`
15005dfecf96Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
15015dfecf96Smrg		exit 1
15025dfecf96Smrg		;;
15035dfecf96Smrgesac
15045dfecf96Smrgelse
15055dfecf96Smrg
15065dfecf96Smrg# Here we handle the default operating systems that come with various machines.
15075dfecf96Smrg# The value should be what the vendor currently ships out the door with their
15085dfecf96Smrg# machine or put another way, the most popular os provided with the machine.
15095dfecf96Smrg
15105dfecf96Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
15115dfecf96Smrg# "-sun"), then you have to tell the case statement up towards the top
15125dfecf96Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
15135dfecf96Smrg# will signal an error saying that MANUFACTURER isn't an operating
15145dfecf96Smrg# system, and we'll never get to this point.
15155dfecf96Smrg
15165dfecf96Smrgcase $basic_machine in
151731de2854Smrg	score-*)
1518f14f4646Smrg		os=-elf
1519f14f4646Smrg		;;
152031de2854Smrg	spu-*)
1521f14f4646Smrg		os=-elf
1522f14f4646Smrg		;;
15235dfecf96Smrg	*-acorn)
15245dfecf96Smrg		os=-riscix1.2
15255dfecf96Smrg		;;
15265dfecf96Smrg	arm*-rebel)
15275dfecf96Smrg		os=-linux
15285dfecf96Smrg		;;
15295dfecf96Smrg	arm*-semi)
15305dfecf96Smrg		os=-aout
15315dfecf96Smrg		;;
153231de2854Smrg	c4x-* | tic4x-*)
153331de2854Smrg		os=-coff
1534f14f4646Smrg		;;
1535c05e22d7Smrg	tic54x-*)
1536c05e22d7Smrg		os=-coff
1537c05e22d7Smrg		;;
1538c05e22d7Smrg	tic55x-*)
1539c05e22d7Smrg		os=-coff
1540c05e22d7Smrg		;;
1541c05e22d7Smrg	tic6x-*)
1542c05e22d7Smrg		os=-coff
1543c05e22d7Smrg		;;
15445dfecf96Smrg	# This must come before the *-dec entry.
15455dfecf96Smrg	pdp10-*)
15465dfecf96Smrg		os=-tops20
15475dfecf96Smrg		;;
15485dfecf96Smrg	pdp11-*)
15495dfecf96Smrg		os=-none
15505dfecf96Smrg		;;
15515dfecf96Smrg	*-dec | vax-*)
15525dfecf96Smrg		os=-ultrix4.2
15535dfecf96Smrg		;;
15545dfecf96Smrg	m68*-apollo)
15555dfecf96Smrg		os=-domain
15565dfecf96Smrg		;;
15575dfecf96Smrg	i386-sun)
15585dfecf96Smrg		os=-sunos4.0.2
15595dfecf96Smrg		;;
15605dfecf96Smrg	m68000-sun)
15615dfecf96Smrg		os=-sunos3
15625dfecf96Smrg		# This also exists in the configure program, but was not the
15635dfecf96Smrg		# default.
15645dfecf96Smrg		# os=-sunos4
15655dfecf96Smrg		;;
15665dfecf96Smrg	m68*-cisco)
15675dfecf96Smrg		os=-aout
15685dfecf96Smrg		;;
156931de2854Smrg	mep-*)
1570f14f4646Smrg		os=-elf
1571f14f4646Smrg		;;
15725dfecf96Smrg	mips*-cisco)
15735dfecf96Smrg		os=-elf
15745dfecf96Smrg		;;
15755dfecf96Smrg	mips*-*)
15765dfecf96Smrg		os=-elf
15775dfecf96Smrg		;;
15785dfecf96Smrg	or32-*)
15795dfecf96Smrg		os=-coff
15805dfecf96Smrg		;;
15815dfecf96Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15825dfecf96Smrg		os=-sysv3
15835dfecf96Smrg		;;
15845dfecf96Smrg	sparc-* | *-sun)
15855dfecf96Smrg		os=-sunos4.1.1
15865dfecf96Smrg		;;
15875dfecf96Smrg	*-be)
15885dfecf96Smrg		os=-beos
15895dfecf96Smrg		;;
15905dfecf96Smrg	*-haiku)
15915dfecf96Smrg		os=-haiku
15925dfecf96Smrg		;;
15935dfecf96Smrg	*-ibm)
15945dfecf96Smrg		os=-aix
15955dfecf96Smrg		;;
159631de2854Smrg	*-knuth)
15975dfecf96Smrg		os=-mmixware
15985dfecf96Smrg		;;
15995dfecf96Smrg	*-wec)
16005dfecf96Smrg		os=-proelf
16015dfecf96Smrg		;;
16025dfecf96Smrg	*-winbond)
16035dfecf96Smrg		os=-proelf
16045dfecf96Smrg		;;
16055dfecf96Smrg	*-oki)
16065dfecf96Smrg		os=-proelf
16075dfecf96Smrg		;;
16085dfecf96Smrg	*-hp)
16095dfecf96Smrg		os=-hpux
16105dfecf96Smrg		;;
16115dfecf96Smrg	*-hitachi)
16125dfecf96Smrg		os=-hiux
16135dfecf96Smrg		;;
16145dfecf96Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
16155dfecf96Smrg		os=-sysv
16165dfecf96Smrg		;;
16175dfecf96Smrg	*-cbm)
16185dfecf96Smrg		os=-amigaos
16195dfecf96Smrg		;;
16205dfecf96Smrg	*-dg)
16215dfecf96Smrg		os=-dgux
16225dfecf96Smrg		;;
16235dfecf96Smrg	*-dolphin)
16245dfecf96Smrg		os=-sysv3
16255dfecf96Smrg		;;
16265dfecf96Smrg	m68k-ccur)
16275dfecf96Smrg		os=-rtu
16285dfecf96Smrg		;;
16295dfecf96Smrg	m88k-omron*)
16305dfecf96Smrg		os=-luna
16315dfecf96Smrg		;;
16325dfecf96Smrg	*-next )
16335dfecf96Smrg		os=-nextstep
16345dfecf96Smrg		;;
16355dfecf96Smrg	*-sequent)
16365dfecf96Smrg		os=-ptx
16375dfecf96Smrg		;;
16385dfecf96Smrg	*-crds)
16395dfecf96Smrg		os=-unos
16405dfecf96Smrg		;;
16415dfecf96Smrg	*-ns)
16425dfecf96Smrg		os=-genix
16435dfecf96Smrg		;;
16445dfecf96Smrg	i370-*)
16455dfecf96Smrg		os=-mvs
16465dfecf96Smrg		;;
16475dfecf96Smrg	*-next)
16485dfecf96Smrg		os=-nextstep3
16495dfecf96Smrg		;;
16505dfecf96Smrg	*-gould)
16515dfecf96Smrg		os=-sysv
16525dfecf96Smrg		;;
16535dfecf96Smrg	*-highlevel)
16545dfecf96Smrg		os=-bsd
16555dfecf96Smrg		;;
16565dfecf96Smrg	*-encore)
16575dfecf96Smrg		os=-bsd
16585dfecf96Smrg		;;
16595dfecf96Smrg	*-sgi)
16605dfecf96Smrg		os=-irix
16615dfecf96Smrg		;;
16625dfecf96Smrg	*-siemens)
16635dfecf96Smrg		os=-sysv4
16645dfecf96Smrg		;;
16655dfecf96Smrg	*-masscomp)
16665dfecf96Smrg		os=-rtu
16675dfecf96Smrg		;;
16685dfecf96Smrg	f30[01]-fujitsu | f700-fujitsu)
16695dfecf96Smrg		os=-uxpv
16705dfecf96Smrg		;;
16715dfecf96Smrg	*-rom68k)
16725dfecf96Smrg		os=-coff
16735dfecf96Smrg		;;
16745dfecf96Smrg	*-*bug)
16755dfecf96Smrg		os=-coff
16765dfecf96Smrg		;;
16775dfecf96Smrg	*-apple)
16785dfecf96Smrg		os=-macos
16795dfecf96Smrg		;;
16805dfecf96Smrg	*-atari*)
16815dfecf96Smrg		os=-mint
16825dfecf96Smrg		;;
16835dfecf96Smrg	*)
16845dfecf96Smrg		os=-none
16855dfecf96Smrg		;;
16865dfecf96Smrgesac
16875dfecf96Smrgfi
16885dfecf96Smrg
16895dfecf96Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16905dfecf96Smrg# manufacturer.  We pick the logical manufacturer.
16915dfecf96Smrgvendor=unknown
16925dfecf96Smrgcase $basic_machine in
16935dfecf96Smrg	*-unknown)
16945dfecf96Smrg		case $os in
16955dfecf96Smrg			-riscix*)
16965dfecf96Smrg				vendor=acorn
16975dfecf96Smrg				;;
16985dfecf96Smrg			-sunos*)
16995dfecf96Smrg				vendor=sun
17005dfecf96Smrg				;;
1701c05e22d7Smrg			-cnk*|-aix*)
17025dfecf96Smrg				vendor=ibm
17035dfecf96Smrg				;;
17045dfecf96Smrg			-beos*)
17055dfecf96Smrg				vendor=be
17065dfecf96Smrg				;;
17075dfecf96Smrg			-hpux*)
17085dfecf96Smrg				vendor=hp
17095dfecf96Smrg				;;
17105dfecf96Smrg			-mpeix*)
17115dfecf96Smrg				vendor=hp
17125dfecf96Smrg				;;
17135dfecf96Smrg			-hiux*)
17145dfecf96Smrg				vendor=hitachi
17155dfecf96Smrg				;;
17165dfecf96Smrg			-unos*)
17175dfecf96Smrg				vendor=crds
17185dfecf96Smrg				;;
17195dfecf96Smrg			-dgux*)
17205dfecf96Smrg				vendor=dg
17215dfecf96Smrg				;;
17225dfecf96Smrg			-luna*)
17235dfecf96Smrg				vendor=omron
17245dfecf96Smrg				;;
17255dfecf96Smrg			-genix*)
17265dfecf96Smrg				vendor=ns
17275dfecf96Smrg				;;
17285dfecf96Smrg			-mvs* | -opened*)
17295dfecf96Smrg				vendor=ibm
17305dfecf96Smrg				;;
17315dfecf96Smrg			-os400*)
17325dfecf96Smrg				vendor=ibm
17335dfecf96Smrg				;;
17345dfecf96Smrg			-ptx*)
17355dfecf96Smrg				vendor=sequent
17365dfecf96Smrg				;;
17375dfecf96Smrg			-tpf*)
17385dfecf96Smrg				vendor=ibm
17395dfecf96Smrg				;;
17405dfecf96Smrg			-vxsim* | -vxworks* | -windiss*)
17415dfecf96Smrg				vendor=wrs
17425dfecf96Smrg				;;
17435dfecf96Smrg			-aux*)
17445dfecf96Smrg				vendor=apple
17455dfecf96Smrg				;;
17465dfecf96Smrg			-hms*)
17475dfecf96Smrg				vendor=hitachi
17485dfecf96Smrg				;;
17495dfecf96Smrg			-mpw* | -macos*)
17505dfecf96Smrg				vendor=apple
17515dfecf96Smrg				;;
17525dfecf96Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17535dfecf96Smrg				vendor=atari
17545dfecf96Smrg				;;
17555dfecf96Smrg			-vos*)
17565dfecf96Smrg				vendor=stratus
17575dfecf96Smrg				;;
17585dfecf96Smrg		esac
17595dfecf96Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17605dfecf96Smrg		;;
17615dfecf96Smrgesac
17625dfecf96Smrg
17635dfecf96Smrgecho $basic_machine$os
17645dfecf96Smrgexit
17655dfecf96Smrg
17665dfecf96Smrg# Local variables:
17675dfecf96Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17685dfecf96Smrg# time-stamp-start: "timestamp='"
17695dfecf96Smrg# time-stamp-format: "%:y-%02m-%02d"
17705dfecf96Smrg# time-stamp-end: "'"
17715dfecf96Smrg# End:
1772