config.sub revision ce62200c
11a30de1fSmrg#! /bin/sh
21a30de1fSmrg# Configuration validation subroutine script.
31a30de1fSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4ce62200cSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5b7fb5eacSmrg#   Free Software Foundation, Inc.
61a30de1fSmrg
7ce62200cSmrgtimestamp='2010-09-11'
81a30de1fSmrg
91a30de1fSmrg# This file is (in principle) common to ALL GNU software.
101a30de1fSmrg# The presence of a machine in this file suggests that SOME GNU software
111a30de1fSmrg# can handle that machine.  It does not imply ALL GNU software can.
121a30de1fSmrg#
131a30de1fSmrg# This file is free software; you can redistribute it and/or modify
141a30de1fSmrg# it under the terms of the GNU General Public License as published by
151a30de1fSmrg# the Free Software Foundation; either version 2 of the License, or
161a30de1fSmrg# (at your option) any later version.
171a30de1fSmrg#
181a30de1fSmrg# This program is distributed in the hope that it will be useful,
191a30de1fSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
201a30de1fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
211a30de1fSmrg# GNU General Public License for more details.
221a30de1fSmrg#
231a30de1fSmrg# You should have received a copy of the GNU General Public License
241a30de1fSmrg# along with this program; if not, write to the Free Software
251a30de1fSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
261a30de1fSmrg# 02110-1301, USA.
271a30de1fSmrg#
281a30de1fSmrg# As a special exception to the GNU General Public License, if you
291a30de1fSmrg# distribute this file as part of a program that contains a
301a30de1fSmrg# configuration script generated by Autoconf, you may include it under
311a30de1fSmrg# the same distribution terms that you use for the rest of that program.
321a30de1fSmrg
331a30de1fSmrg
341a30de1fSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35ce62200cSmrg# diff and a properly formatted GNU ChangeLog entry.
361a30de1fSmrg#
371a30de1fSmrg# Configuration subroutine to validate and canonicalize a configuration type.
381a30de1fSmrg# Supply the specified configuration type as an argument.
391a30de1fSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
401a30de1fSmrg# Otherwise, we print the canonical config type on stdout and succeed.
411a30de1fSmrg
42ce62200cSmrg# You can get the latest version of this script from:
43ce62200cSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44ce62200cSmrg
451a30de1fSmrg# This file is supposed to be the same for all GNU packages
461a30de1fSmrg# and recognize all the CPU types, system types and aliases
471a30de1fSmrg# that are meaningful with *any* GNU software.
481a30de1fSmrg# Each package is responsible for reporting which valid configurations
491a30de1fSmrg# it does not support.  The user should be able to distinguish
501a30de1fSmrg# a failure to support a valid configuration from a meaningless
511a30de1fSmrg# configuration.
521a30de1fSmrg
531a30de1fSmrg# The goal of this file is to map all the various variations of a given
541a30de1fSmrg# machine specification into a single specification in the form:
551a30de1fSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
561a30de1fSmrg# or in some cases, the newer four-part form:
571a30de1fSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
581a30de1fSmrg# It is wrong to echo any other type of specification.
591a30de1fSmrg
601a30de1fSmrgme=`echo "$0" | sed -e 's,.*/,,'`
611a30de1fSmrg
621a30de1fSmrgusage="\
631a30de1fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
641a30de1fSmrg       $0 [OPTION] ALIAS
651a30de1fSmrg
661a30de1fSmrgCanonicalize a configuration name.
671a30de1fSmrg
681a30de1fSmrgOperation modes:
691a30de1fSmrg  -h, --help         print this help, then exit
701a30de1fSmrg  -t, --time-stamp   print date of last modification, then exit
711a30de1fSmrg  -v, --version      print version number, then exit
721a30de1fSmrg
731a30de1fSmrgReport bugs and patches to <config-patches@gnu.org>."
741a30de1fSmrg
751a30de1fSmrgversion="\
761a30de1fSmrgGNU config.sub ($timestamp)
771a30de1fSmrg
78ce62200cSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79ce62200cSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80ce62200cSmrgSoftware Foundation, Inc.
811a30de1fSmrg
821a30de1fSmrgThis is free software; see the source for copying conditions.  There is NO
831a30de1fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
841a30de1fSmrg
851a30de1fSmrghelp="
861a30de1fSmrgTry \`$me --help' for more information."
871a30de1fSmrg
881a30de1fSmrg# Parse command line
891a30de1fSmrgwhile test $# -gt 0 ; do
901a30de1fSmrg  case $1 in
911a30de1fSmrg    --time-stamp | --time* | -t )
921a30de1fSmrg       echo "$timestamp" ; exit ;;
931a30de1fSmrg    --version | -v )
941a30de1fSmrg       echo "$version" ; exit ;;
951a30de1fSmrg    --help | --h* | -h )
961a30de1fSmrg       echo "$usage"; exit ;;
971a30de1fSmrg    -- )     # Stop option processing
981a30de1fSmrg       shift; break ;;
991a30de1fSmrg    - )	# Use stdin as input.
1001a30de1fSmrg       break ;;
1011a30de1fSmrg    -* )
1021a30de1fSmrg       echo "$me: invalid option $1$help"
1031a30de1fSmrg       exit 1 ;;
1041a30de1fSmrg
1051a30de1fSmrg    *local*)
1061a30de1fSmrg       # First pass through any local machine types.
1071a30de1fSmrg       echo $1
1081a30de1fSmrg       exit ;;
1091a30de1fSmrg
1101a30de1fSmrg    * )
1111a30de1fSmrg       break ;;
1121a30de1fSmrg  esac
1131a30de1fSmrgdone
1141a30de1fSmrg
1151a30de1fSmrgcase $# in
1161a30de1fSmrg 0) echo "$me: missing argument$help" >&2
1171a30de1fSmrg    exit 1;;
1181a30de1fSmrg 1) ;;
1191a30de1fSmrg *) echo "$me: too many arguments$help" >&2
1201a30de1fSmrg    exit 1;;
1211a30de1fSmrgesac
1221a30de1fSmrg
1231a30de1fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1241a30de1fSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1251a30de1fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1261a30de1fSmrgcase $maybe_os in
127ce62200cSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128ce62200cSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129ce62200cSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b7fb5eacSmrg  kopensolaris*-gnu* | \
1311a30de1fSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1321a30de1fSmrg    os=-$maybe_os
1331a30de1fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1341a30de1fSmrg    ;;
1351a30de1fSmrg  *)
1361a30de1fSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1371a30de1fSmrg    if [ $basic_machine != $1 ]
1381a30de1fSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1391a30de1fSmrg    else os=; fi
1401a30de1fSmrg    ;;
1411a30de1fSmrgesac
1421a30de1fSmrg
1431a30de1fSmrg### Let's recognize common machines as not being operating systems so
1441a30de1fSmrg### that things like config.sub decstation-3100 work.  We also
1451a30de1fSmrg### recognize some manufacturers as not being operating systems, so we
1461a30de1fSmrg### can provide default operating systems below.
1471a30de1fSmrgcase $os in
1481a30de1fSmrg	-sun*os*)
1491a30de1fSmrg		# Prevent following clause from handling this invalid input.
1501a30de1fSmrg		;;
1511a30de1fSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1521a30de1fSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1531a30de1fSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1541a30de1fSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1551a30de1fSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1561a30de1fSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157ce62200cSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1581a30de1fSmrg		os=
1591a30de1fSmrg		basic_machine=$1
1601a30de1fSmrg		;;
161ce62200cSmrg        -bluegene*)
162ce62200cSmrg	        os=-cnk
163ce62200cSmrg		;;
1641a30de1fSmrg	-sim | -cisco | -oki | -wec | -winbond)
1651a30de1fSmrg		os=
1661a30de1fSmrg		basic_machine=$1
1671a30de1fSmrg		;;
1681a30de1fSmrg	-scout)
1691a30de1fSmrg		;;
1701a30de1fSmrg	-wrs)
1711a30de1fSmrg		os=-vxworks
1721a30de1fSmrg		basic_machine=$1
1731a30de1fSmrg		;;
1741a30de1fSmrg	-chorusos*)
1751a30de1fSmrg		os=-chorusos
1761a30de1fSmrg		basic_machine=$1
1771a30de1fSmrg		;;
1781a30de1fSmrg 	-chorusrdb)
1791a30de1fSmrg 		os=-chorusrdb
1801a30de1fSmrg		basic_machine=$1
1811a30de1fSmrg 		;;
1821a30de1fSmrg	-hiux*)
1831a30de1fSmrg		os=-hiuxwe2
1841a30de1fSmrg		;;
1851a30de1fSmrg	-sco6)
1861a30de1fSmrg		os=-sco5v6
1871a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1881a30de1fSmrg		;;
1891a30de1fSmrg	-sco5)
1901a30de1fSmrg		os=-sco3.2v5
1911a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1921a30de1fSmrg		;;
1931a30de1fSmrg	-sco4)
1941a30de1fSmrg		os=-sco3.2v4
1951a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1961a30de1fSmrg		;;
1971a30de1fSmrg	-sco3.2.[4-9]*)
1981a30de1fSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1991a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2001a30de1fSmrg		;;
2011a30de1fSmrg	-sco3.2v[4-9]*)
2021a30de1fSmrg		# Don't forget version if it is 3.2v4 or newer.
2031a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2041a30de1fSmrg		;;
2051a30de1fSmrg	-sco5v6*)
2061a30de1fSmrg		# Don't forget version if it is 3.2v4 or newer.
2071a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2081a30de1fSmrg		;;
2091a30de1fSmrg	-sco*)
2101a30de1fSmrg		os=-sco3.2v2
2111a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2121a30de1fSmrg		;;
2131a30de1fSmrg	-udk*)
2141a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2151a30de1fSmrg		;;
2161a30de1fSmrg	-isc)
2171a30de1fSmrg		os=-isc2.2
2181a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2191a30de1fSmrg		;;
2201a30de1fSmrg	-clix*)
2211a30de1fSmrg		basic_machine=clipper-intergraph
2221a30de1fSmrg		;;
2231a30de1fSmrg	-isc*)
2241a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2251a30de1fSmrg		;;
2261a30de1fSmrg	-lynx*)
2271a30de1fSmrg		os=-lynxos
2281a30de1fSmrg		;;
2291a30de1fSmrg	-ptx*)
2301a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2311a30de1fSmrg		;;
2321a30de1fSmrg	-windowsnt*)
2331a30de1fSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2341a30de1fSmrg		;;
2351a30de1fSmrg	-psos*)
2361a30de1fSmrg		os=-psos
2371a30de1fSmrg		;;
2381a30de1fSmrg	-mint | -mint[0-9]*)
2391a30de1fSmrg		basic_machine=m68k-atari
2401a30de1fSmrg		os=-mint
2411a30de1fSmrg		;;
2421a30de1fSmrgesac
2431a30de1fSmrg
2441a30de1fSmrg# Decode aliases for certain CPU-COMPANY combinations.
2451a30de1fSmrgcase $basic_machine in
2461a30de1fSmrg	# Recognize the basic CPU types without company name.
2471a30de1fSmrg	# Some are omitted here because they have special meanings below.
2481a30de1fSmrg	1750a | 580 \
2491a30de1fSmrg	| a29k \
2501a30de1fSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2511a30de1fSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2521a30de1fSmrg	| am33_2.0 \
2531a30de1fSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2541a30de1fSmrg	| bfin \
2551a30de1fSmrg	| c4x | clipper \
2561a30de1fSmrg	| d10v | d30v | dlx | dsp16xx \
257b7fb5eacSmrg	| fido | fr30 | frv \
2581a30de1fSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2591a30de1fSmrg	| i370 | i860 | i960 | ia64 \
2601a30de1fSmrg	| ip2k | iq2000 \
261b7fb5eacSmrg	| lm32 \
2621a30de1fSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263b7fb5eacSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2641a30de1fSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2651a30de1fSmrg	| mips16 \
2661a30de1fSmrg	| mips64 | mips64el \
267b7fb5eacSmrg	| mips64octeon | mips64octeonel \
2681a30de1fSmrg	| mips64orion | mips64orionel \
269b7fb5eacSmrg	| mips64r5900 | mips64r5900el \
270b7fb5eacSmrg	| mips64vr | mips64vrel \
2711a30de1fSmrg	| mips64vr4100 | mips64vr4100el \
2721a30de1fSmrg	| mips64vr4300 | mips64vr4300el \
2731a30de1fSmrg	| mips64vr5000 | mips64vr5000el \
2741a30de1fSmrg	| mips64vr5900 | mips64vr5900el \
2751a30de1fSmrg	| mipsisa32 | mipsisa32el \
2761a30de1fSmrg	| mipsisa32r2 | mipsisa32r2el \
2771a30de1fSmrg	| mipsisa64 | mipsisa64el \
2781a30de1fSmrg	| mipsisa64r2 | mipsisa64r2el \
2791a30de1fSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2801a30de1fSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2811a30de1fSmrg	| mipstx39 | mipstx39el \
2821a30de1fSmrg	| mn10200 | mn10300 \
283b7fb5eacSmrg	| moxie \
2841a30de1fSmrg	| mt \
2851a30de1fSmrg	| msp430 \
286ce62200cSmrg	| nds32 | nds32le | nds32be \
2871a30de1fSmrg	| nios | nios2 \
2881a30de1fSmrg	| ns16k | ns32k \
2891a30de1fSmrg	| or32 \
2901a30de1fSmrg	| pdp10 | pdp11 | pj | pjl \
2911a30de1fSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2921a30de1fSmrg	| pyramid \
293ce62200cSmrg	| rx \
2941a30de1fSmrg	| score \
295b7fb5eacSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2961a30de1fSmrg	| sh64 | sh64le \
2971a30de1fSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2981a30de1fSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2991a30de1fSmrg	| spu | strongarm \
300ce62200cSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301ce62200cSmrg	| ubicom32 \
3021a30de1fSmrg	| v850 | v850e \
3031a30de1fSmrg	| we32k \
3041a30de1fSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305b7fb5eacSmrg	| z8k | z80)
3061a30de1fSmrg		basic_machine=$basic_machine-unknown
3071a30de1fSmrg		;;
308ce62200cSmrg	c54x)
309ce62200cSmrg		basic_machine=tic54x-unknown
310ce62200cSmrg		;;
311ce62200cSmrg	c55x)
312ce62200cSmrg		basic_machine=tic55x-unknown
313ce62200cSmrg		;;
314ce62200cSmrg	c6x)
315ce62200cSmrg		basic_machine=tic6x-unknown
316ce62200cSmrg		;;
317ce62200cSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3181a30de1fSmrg		# Motorola 68HC11/12.
3191a30de1fSmrg		basic_machine=$basic_machine-unknown
3201a30de1fSmrg		os=-none
3211a30de1fSmrg		;;
3221a30de1fSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3231a30de1fSmrg		;;
3241a30de1fSmrg	ms1)
3251a30de1fSmrg		basic_machine=mt-unknown
3261a30de1fSmrg		;;
3271a30de1fSmrg
3281a30de1fSmrg	# We use `pc' rather than `unknown'
3291a30de1fSmrg	# because (1) that's what they normally are, and
3301a30de1fSmrg	# (2) the word "unknown" tends to confuse beginning users.
3311a30de1fSmrg	i*86 | x86_64)
3321a30de1fSmrg	  basic_machine=$basic_machine-pc
3331a30de1fSmrg	  ;;
3341a30de1fSmrg	# Object if more than one company name word.
3351a30de1fSmrg	*-*-*)
3361a30de1fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3371a30de1fSmrg		exit 1
3381a30de1fSmrg		;;
3391a30de1fSmrg	# Recognize the basic CPU types with company name.
3401a30de1fSmrg	580-* \
3411a30de1fSmrg	| a29k-* \
3421a30de1fSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3431a30de1fSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3441a30de1fSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3451a30de1fSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3461a30de1fSmrg	| avr-* | avr32-* \
3471a30de1fSmrg	| bfin-* | bs2000-* \
348ce62200cSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3491a30de1fSmrg	| clipper-* | craynv-* | cydra-* \
3501a30de1fSmrg	| d10v-* | d30v-* | dlx-* \
3511a30de1fSmrg	| elxsi-* \
352b7fb5eacSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3531a30de1fSmrg	| h8300-* | h8500-* \
3541a30de1fSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3551a30de1fSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3561a30de1fSmrg	| ip2k-* | iq2000-* \
357b7fb5eacSmrg	| lm32-* \
3581a30de1fSmrg	| m32c-* | m32r-* | m32rle-* \
3591a30de1fSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360ce62200cSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3611a30de1fSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3621a30de1fSmrg	| mips16-* \
3631a30de1fSmrg	| mips64-* | mips64el-* \
364b7fb5eacSmrg	| mips64octeon-* | mips64octeonel-* \
3651a30de1fSmrg	| mips64orion-* | mips64orionel-* \
366b7fb5eacSmrg	| mips64r5900-* | mips64r5900el-* \
367b7fb5eacSmrg	| mips64vr-* | mips64vrel-* \
3681a30de1fSmrg	| mips64vr4100-* | mips64vr4100el-* \
3691a30de1fSmrg	| mips64vr4300-* | mips64vr4300el-* \
3701a30de1fSmrg	| mips64vr5000-* | mips64vr5000el-* \
3711a30de1fSmrg	| mips64vr5900-* | mips64vr5900el-* \
3721a30de1fSmrg	| mipsisa32-* | mipsisa32el-* \
3731a30de1fSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3741a30de1fSmrg	| mipsisa64-* | mipsisa64el-* \
3751a30de1fSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3761a30de1fSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3771a30de1fSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3781a30de1fSmrg	| mipstx39-* | mipstx39el-* \
3791a30de1fSmrg	| mmix-* \
3801a30de1fSmrg	| mt-* \
3811a30de1fSmrg	| msp430-* \
382ce62200cSmrg	| nds32-* | nds32le-* | nds32be-* \
3831a30de1fSmrg	| nios-* | nios2-* \
3841a30de1fSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3851a30de1fSmrg	| orion-* \
3861a30de1fSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3871a30de1fSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3881a30de1fSmrg	| pyramid-* \
389ce62200cSmrg	| romp-* | rs6000-* | rx-* \
390b7fb5eacSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3911a30de1fSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3921a30de1fSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3931a30de1fSmrg	| sparclite-* \
3941a30de1fSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3951a30de1fSmrg	| tahoe-* | thumb-* \
396ce62200cSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397ce62200cSmrg	| tile-* | tilegx-* \
3981a30de1fSmrg	| tron-* \
399ce62200cSmrg	| ubicom32-* \
4001a30de1fSmrg	| v850-* | v850e-* | vax-* \
4011a30de1fSmrg	| we32k-* \
4021a30de1fSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403b7fb5eacSmrg	| xstormy16-* | xtensa*-* \
4041a30de1fSmrg	| ymp-* \
405b7fb5eacSmrg	| z8k-* | z80-*)
406b7fb5eacSmrg		;;
407b7fb5eacSmrg	# Recognize the basic CPU types without company name, with glob match.
408b7fb5eacSmrg	xtensa*)
409b7fb5eacSmrg		basic_machine=$basic_machine-unknown
4101a30de1fSmrg		;;
4111a30de1fSmrg	# Recognize the various machine names and aliases which stand
4121a30de1fSmrg	# for a CPU type and a company and sometimes even an OS.
4131a30de1fSmrg	386bsd)
4141a30de1fSmrg		basic_machine=i386-unknown
4151a30de1fSmrg		os=-bsd
4161a30de1fSmrg		;;
4171a30de1fSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4181a30de1fSmrg		basic_machine=m68000-att
4191a30de1fSmrg		;;
4201a30de1fSmrg	3b*)
4211a30de1fSmrg		basic_machine=we32k-att
4221a30de1fSmrg		;;
4231a30de1fSmrg	a29khif)
4241a30de1fSmrg		basic_machine=a29k-amd
4251a30de1fSmrg		os=-udi
4261a30de1fSmrg		;;
4271a30de1fSmrg    	abacus)
4281a30de1fSmrg		basic_machine=abacus-unknown
4291a30de1fSmrg		;;
4301a30de1fSmrg	adobe68k)
4311a30de1fSmrg		basic_machine=m68010-adobe
4321a30de1fSmrg		os=-scout
4331a30de1fSmrg		;;
4341a30de1fSmrg	alliant | fx80)
4351a30de1fSmrg		basic_machine=fx80-alliant
4361a30de1fSmrg		;;
4371a30de1fSmrg	altos | altos3068)
4381a30de1fSmrg		basic_machine=m68k-altos
4391a30de1fSmrg		;;
4401a30de1fSmrg	am29k)
4411a30de1fSmrg		basic_machine=a29k-none
4421a30de1fSmrg		os=-bsd
4431a30de1fSmrg		;;
4441a30de1fSmrg	amd64)
4451a30de1fSmrg		basic_machine=x86_64-pc
4461a30de1fSmrg		;;
4471a30de1fSmrg	amd64-*)
4481a30de1fSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4491a30de1fSmrg		;;
4501a30de1fSmrg	amdahl)
4511a30de1fSmrg		basic_machine=580-amdahl
4521a30de1fSmrg		os=-sysv
4531a30de1fSmrg		;;
4541a30de1fSmrg	amiga | amiga-*)
4551a30de1fSmrg		basic_machine=m68k-unknown
4561a30de1fSmrg		;;
4571a30de1fSmrg	amigaos | amigados)
4581a30de1fSmrg		basic_machine=m68k-unknown
4591a30de1fSmrg		os=-amigaos
4601a30de1fSmrg		;;
4611a30de1fSmrg	amigaunix | amix)
4621a30de1fSmrg		basic_machine=m68k-unknown
4631a30de1fSmrg		os=-sysv4
4641a30de1fSmrg		;;
4651a30de1fSmrg	apollo68)
4661a30de1fSmrg		basic_machine=m68k-apollo
4671a30de1fSmrg		os=-sysv
4681a30de1fSmrg		;;
4691a30de1fSmrg	apollo68bsd)
4701a30de1fSmrg		basic_machine=m68k-apollo
4711a30de1fSmrg		os=-bsd
4721a30de1fSmrg		;;
473b7fb5eacSmrg	aros)
474b7fb5eacSmrg		basic_machine=i386-pc
475b7fb5eacSmrg		os=-aros
476b7fb5eacSmrg		;;
4771a30de1fSmrg	aux)
4781a30de1fSmrg		basic_machine=m68k-apple
4791a30de1fSmrg		os=-aux
4801a30de1fSmrg		;;
4811a30de1fSmrg	balance)
4821a30de1fSmrg		basic_machine=ns32k-sequent
4831a30de1fSmrg		os=-dynix
4841a30de1fSmrg		;;
485b7fb5eacSmrg	blackfin)
486b7fb5eacSmrg		basic_machine=bfin-unknown
487b7fb5eacSmrg		os=-linux
488b7fb5eacSmrg		;;
489b7fb5eacSmrg	blackfin-*)
490b7fb5eacSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491b7fb5eacSmrg		os=-linux
492b7fb5eacSmrg		;;
493ce62200cSmrg	bluegene*)
494ce62200cSmrg		basic_machine=powerpc-ibm
495ce62200cSmrg		os=-cnk
496ce62200cSmrg		;;
497ce62200cSmrg	c54x-*)
498ce62200cSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499ce62200cSmrg		;;
500ce62200cSmrg	c55x-*)
501ce62200cSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502ce62200cSmrg		;;
503ce62200cSmrg	c6x-*)
504ce62200cSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505ce62200cSmrg		;;
5061a30de1fSmrg	c90)
5071a30de1fSmrg		basic_machine=c90-cray
5081a30de1fSmrg		os=-unicos
5091a30de1fSmrg		;;
510b7fb5eacSmrg        cegcc)
511b7fb5eacSmrg		basic_machine=arm-unknown
512b7fb5eacSmrg		os=-cegcc
513b7fb5eacSmrg		;;
5141a30de1fSmrg	convex-c1)
5151a30de1fSmrg		basic_machine=c1-convex
5161a30de1fSmrg		os=-bsd
5171a30de1fSmrg		;;
5181a30de1fSmrg	convex-c2)
5191a30de1fSmrg		basic_machine=c2-convex
5201a30de1fSmrg		os=-bsd
5211a30de1fSmrg		;;
5221a30de1fSmrg	convex-c32)
5231a30de1fSmrg		basic_machine=c32-convex
5241a30de1fSmrg		os=-bsd
5251a30de1fSmrg		;;
5261a30de1fSmrg	convex-c34)
5271a30de1fSmrg		basic_machine=c34-convex
5281a30de1fSmrg		os=-bsd
5291a30de1fSmrg		;;
5301a30de1fSmrg	convex-c38)
5311a30de1fSmrg		basic_machine=c38-convex
5321a30de1fSmrg		os=-bsd
5331a30de1fSmrg		;;
5341a30de1fSmrg	cray | j90)
5351a30de1fSmrg		basic_machine=j90-cray
5361a30de1fSmrg		os=-unicos
5371a30de1fSmrg		;;
5381a30de1fSmrg	craynv)
5391a30de1fSmrg		basic_machine=craynv-cray
5401a30de1fSmrg		os=-unicosmp
5411a30de1fSmrg		;;
542b7fb5eacSmrg	cr16)
543b7fb5eacSmrg		basic_machine=cr16-unknown
5441a30de1fSmrg		os=-elf
5451a30de1fSmrg		;;
5461a30de1fSmrg	crds | unos)
5471a30de1fSmrg		basic_machine=m68k-crds
5481a30de1fSmrg		;;
5491a30de1fSmrg	crisv32 | crisv32-* | etraxfs*)
5501a30de1fSmrg		basic_machine=crisv32-axis
5511a30de1fSmrg		;;
5521a30de1fSmrg	cris | cris-* | etrax*)
5531a30de1fSmrg		basic_machine=cris-axis
5541a30de1fSmrg		;;
5551a30de1fSmrg	crx)
5561a30de1fSmrg		basic_machine=crx-unknown
5571a30de1fSmrg		os=-elf
5581a30de1fSmrg		;;
5591a30de1fSmrg	da30 | da30-*)
5601a30de1fSmrg		basic_machine=m68k-da30
5611a30de1fSmrg		;;
5621a30de1fSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5631a30de1fSmrg		basic_machine=mips-dec
5641a30de1fSmrg		;;
5651a30de1fSmrg	decsystem10* | dec10*)
5661a30de1fSmrg		basic_machine=pdp10-dec
5671a30de1fSmrg		os=-tops10
5681a30de1fSmrg		;;
5691a30de1fSmrg	decsystem20* | dec20*)
5701a30de1fSmrg		basic_machine=pdp10-dec
5711a30de1fSmrg		os=-tops20
5721a30de1fSmrg		;;
5731a30de1fSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5741a30de1fSmrg	      | 3300-motorola | delta-motorola)
5751a30de1fSmrg		basic_machine=m68k-motorola
5761a30de1fSmrg		;;
5771a30de1fSmrg	delta88)
5781a30de1fSmrg		basic_machine=m88k-motorola
5791a30de1fSmrg		os=-sysv3
5801a30de1fSmrg		;;
581b7fb5eacSmrg	dicos)
582b7fb5eacSmrg		basic_machine=i686-pc
583b7fb5eacSmrg		os=-dicos
584b7fb5eacSmrg		;;
5851a30de1fSmrg	djgpp)
5861a30de1fSmrg		basic_machine=i586-pc
5871a30de1fSmrg		os=-msdosdjgpp
5881a30de1fSmrg		;;
5891a30de1fSmrg	dpx20 | dpx20-*)
5901a30de1fSmrg		basic_machine=rs6000-bull
5911a30de1fSmrg		os=-bosx
5921a30de1fSmrg		;;
5931a30de1fSmrg	dpx2* | dpx2*-bull)
5941a30de1fSmrg		basic_machine=m68k-bull
5951a30de1fSmrg		os=-sysv3
5961a30de1fSmrg		;;
5971a30de1fSmrg	ebmon29k)
5981a30de1fSmrg		basic_machine=a29k-amd
5991a30de1fSmrg		os=-ebmon
6001a30de1fSmrg		;;
6011a30de1fSmrg	elxsi)
6021a30de1fSmrg		basic_machine=elxsi-elxsi
6031a30de1fSmrg		os=-bsd
6041a30de1fSmrg		;;
6051a30de1fSmrg	encore | umax | mmax)
6061a30de1fSmrg		basic_machine=ns32k-encore
6071a30de1fSmrg		;;
6081a30de1fSmrg	es1800 | OSE68k | ose68k | ose | OSE)
6091a30de1fSmrg		basic_machine=m68k-ericsson
6101a30de1fSmrg		os=-ose
6111a30de1fSmrg		;;
6121a30de1fSmrg	fx2800)
6131a30de1fSmrg		basic_machine=i860-alliant
6141a30de1fSmrg		;;
6151a30de1fSmrg	genix)
6161a30de1fSmrg		basic_machine=ns32k-ns
6171a30de1fSmrg		;;
6181a30de1fSmrg	gmicro)
6191a30de1fSmrg		basic_machine=tron-gmicro
6201a30de1fSmrg		os=-sysv
6211a30de1fSmrg		;;
6221a30de1fSmrg	go32)
6231a30de1fSmrg		basic_machine=i386-pc
6241a30de1fSmrg		os=-go32
6251a30de1fSmrg		;;
6261a30de1fSmrg	h3050r* | hiux*)
6271a30de1fSmrg		basic_machine=hppa1.1-hitachi
6281a30de1fSmrg		os=-hiuxwe2
6291a30de1fSmrg		;;
6301a30de1fSmrg	h8300hms)
6311a30de1fSmrg		basic_machine=h8300-hitachi
6321a30de1fSmrg		os=-hms
6331a30de1fSmrg		;;
6341a30de1fSmrg	h8300xray)
6351a30de1fSmrg		basic_machine=h8300-hitachi
6361a30de1fSmrg		os=-xray
6371a30de1fSmrg		;;
6381a30de1fSmrg	h8500hms)
6391a30de1fSmrg		basic_machine=h8500-hitachi
6401a30de1fSmrg		os=-hms
6411a30de1fSmrg		;;
6421a30de1fSmrg	harris)
6431a30de1fSmrg		basic_machine=m88k-harris
6441a30de1fSmrg		os=-sysv3
6451a30de1fSmrg		;;
6461a30de1fSmrg	hp300-*)
6471a30de1fSmrg		basic_machine=m68k-hp
6481a30de1fSmrg		;;
6491a30de1fSmrg	hp300bsd)
6501a30de1fSmrg		basic_machine=m68k-hp
6511a30de1fSmrg		os=-bsd
6521a30de1fSmrg		;;
6531a30de1fSmrg	hp300hpux)
6541a30de1fSmrg		basic_machine=m68k-hp
6551a30de1fSmrg		os=-hpux
6561a30de1fSmrg		;;
6571a30de1fSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6581a30de1fSmrg		basic_machine=hppa1.0-hp
6591a30de1fSmrg		;;
6601a30de1fSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6611a30de1fSmrg		basic_machine=m68000-hp
6621a30de1fSmrg		;;
6631a30de1fSmrg	hp9k3[2-9][0-9])
6641a30de1fSmrg		basic_machine=m68k-hp
6651a30de1fSmrg		;;
6661a30de1fSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6671a30de1fSmrg		basic_machine=hppa1.0-hp
6681a30de1fSmrg		;;
6691a30de1fSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6701a30de1fSmrg		basic_machine=hppa1.1-hp
6711a30de1fSmrg		;;
6721a30de1fSmrg	hp9k78[0-9] | hp78[0-9])
6731a30de1fSmrg		# FIXME: really hppa2.0-hp
6741a30de1fSmrg		basic_machine=hppa1.1-hp
6751a30de1fSmrg		;;
6761a30de1fSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6771a30de1fSmrg		# FIXME: really hppa2.0-hp
6781a30de1fSmrg		basic_machine=hppa1.1-hp
6791a30de1fSmrg		;;
6801a30de1fSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6811a30de1fSmrg		basic_machine=hppa1.1-hp
6821a30de1fSmrg		;;
6831a30de1fSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6841a30de1fSmrg		basic_machine=hppa1.0-hp
6851a30de1fSmrg		;;
6861a30de1fSmrg	hppa-next)
6871a30de1fSmrg		os=-nextstep3
6881a30de1fSmrg		;;
6891a30de1fSmrg	hppaosf)
6901a30de1fSmrg		basic_machine=hppa1.1-hp
6911a30de1fSmrg		os=-osf
6921a30de1fSmrg		;;
6931a30de1fSmrg	hppro)
6941a30de1fSmrg		basic_machine=hppa1.1-hp
6951a30de1fSmrg		os=-proelf
6961a30de1fSmrg		;;
6971a30de1fSmrg	i370-ibm* | ibm*)
6981a30de1fSmrg		basic_machine=i370-ibm
6991a30de1fSmrg		;;
7001a30de1fSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7011a30de1fSmrg	i*86v32)
7021a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7031a30de1fSmrg		os=-sysv32
7041a30de1fSmrg		;;
7051a30de1fSmrg	i*86v4*)
7061a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7071a30de1fSmrg		os=-sysv4
7081a30de1fSmrg		;;
7091a30de1fSmrg	i*86v)
7101a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7111a30de1fSmrg		os=-sysv
7121a30de1fSmrg		;;
7131a30de1fSmrg	i*86sol2)
7141a30de1fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7151a30de1fSmrg		os=-solaris2
7161a30de1fSmrg		;;
7171a30de1fSmrg	i386mach)
7181a30de1fSmrg		basic_machine=i386-mach
7191a30de1fSmrg		os=-mach
7201a30de1fSmrg		;;
7211a30de1fSmrg	i386-vsta | vsta)
7221a30de1fSmrg		basic_machine=i386-unknown
7231a30de1fSmrg		os=-vsta
7241a30de1fSmrg		;;
7251a30de1fSmrg	iris | iris4d)
7261a30de1fSmrg		basic_machine=mips-sgi
7271a30de1fSmrg		case $os in
7281a30de1fSmrg		    -irix*)
7291a30de1fSmrg			;;
7301a30de1fSmrg		    *)
7311a30de1fSmrg			os=-irix4
7321a30de1fSmrg			;;
7331a30de1fSmrg		esac
7341a30de1fSmrg		;;
7351a30de1fSmrg	isi68 | isi)
7361a30de1fSmrg		basic_machine=m68k-isi
7371a30de1fSmrg		os=-sysv
7381a30de1fSmrg		;;
739b7fb5eacSmrg	m68knommu)
740b7fb5eacSmrg		basic_machine=m68k-unknown
741b7fb5eacSmrg		os=-linux
742b7fb5eacSmrg		;;
743b7fb5eacSmrg	m68knommu-*)
744b7fb5eacSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745b7fb5eacSmrg		os=-linux
746b7fb5eacSmrg		;;
7471a30de1fSmrg	m88k-omron*)
7481a30de1fSmrg		basic_machine=m88k-omron
7491a30de1fSmrg		;;
7501a30de1fSmrg	magnum | m3230)
7511a30de1fSmrg		basic_machine=mips-mips
7521a30de1fSmrg		os=-sysv
7531a30de1fSmrg		;;
7541a30de1fSmrg	merlin)
7551a30de1fSmrg		basic_machine=ns32k-utek
7561a30de1fSmrg		os=-sysv
7571a30de1fSmrg		;;
758ce62200cSmrg        microblaze)
759ce62200cSmrg		basic_machine=microblaze-xilinx
760ce62200cSmrg		;;
7611a30de1fSmrg	mingw32)
7621a30de1fSmrg		basic_machine=i386-pc
7631a30de1fSmrg		os=-mingw32
7641a30de1fSmrg		;;
765b7fb5eacSmrg	mingw32ce)
766b7fb5eacSmrg		basic_machine=arm-unknown
767b7fb5eacSmrg		os=-mingw32ce
768b7fb5eacSmrg		;;
7691a30de1fSmrg	miniframe)
7701a30de1fSmrg		basic_machine=m68000-convergent
7711a30de1fSmrg		;;
7721a30de1fSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7731a30de1fSmrg		basic_machine=m68k-atari
7741a30de1fSmrg		os=-mint
7751a30de1fSmrg		;;
7761a30de1fSmrg	mips3*-*)
7771a30de1fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7781a30de1fSmrg		;;
7791a30de1fSmrg	mips3*)
7801a30de1fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7811a30de1fSmrg		;;
7821a30de1fSmrg	monitor)
7831a30de1fSmrg		basic_machine=m68k-rom68k
7841a30de1fSmrg		os=-coff
7851a30de1fSmrg		;;
7861a30de1fSmrg	morphos)
7871a30de1fSmrg		basic_machine=powerpc-unknown
7881a30de1fSmrg		os=-morphos
7891a30de1fSmrg		;;
7901a30de1fSmrg	msdos)
7911a30de1fSmrg		basic_machine=i386-pc
7921a30de1fSmrg		os=-msdos
7931a30de1fSmrg		;;
7941a30de1fSmrg	ms1-*)
7951a30de1fSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7961a30de1fSmrg		;;
7971a30de1fSmrg	mvs)
7981a30de1fSmrg		basic_machine=i370-ibm
7991a30de1fSmrg		os=-mvs
8001a30de1fSmrg		;;
8011a30de1fSmrg	ncr3000)
8021a30de1fSmrg		basic_machine=i486-ncr
8031a30de1fSmrg		os=-sysv4
8041a30de1fSmrg		;;
8051a30de1fSmrg	netbsd386)
8061a30de1fSmrg		basic_machine=i386-unknown
8071a30de1fSmrg		os=-netbsd
8081a30de1fSmrg		;;
8091a30de1fSmrg	netwinder)
8101a30de1fSmrg		basic_machine=armv4l-rebel
8111a30de1fSmrg		os=-linux
8121a30de1fSmrg		;;
8131a30de1fSmrg	news | news700 | news800 | news900)
8141a30de1fSmrg		basic_machine=m68k-sony
8151a30de1fSmrg		os=-newsos
8161a30de1fSmrg		;;
8171a30de1fSmrg	news1000)
8181a30de1fSmrg		basic_machine=m68030-sony
8191a30de1fSmrg		os=-newsos
8201a30de1fSmrg		;;
8211a30de1fSmrg	news-3600 | risc-news)
8221a30de1fSmrg		basic_machine=mips-sony
8231a30de1fSmrg		os=-newsos
8241a30de1fSmrg		;;
8251a30de1fSmrg	necv70)
8261a30de1fSmrg		basic_machine=v70-nec
8271a30de1fSmrg		os=-sysv
8281a30de1fSmrg		;;
8291a30de1fSmrg	next | m*-next )
8301a30de1fSmrg		basic_machine=m68k-next
8311a30de1fSmrg		case $os in
8321a30de1fSmrg		    -nextstep* )
8331a30de1fSmrg			;;
8341a30de1fSmrg		    -ns2*)
8351a30de1fSmrg		      os=-nextstep2
8361a30de1fSmrg			;;
8371a30de1fSmrg		    *)
8381a30de1fSmrg		      os=-nextstep3
8391a30de1fSmrg			;;
8401a30de1fSmrg		esac
8411a30de1fSmrg		;;
8421a30de1fSmrg	nh3000)
8431a30de1fSmrg		basic_machine=m68k-harris
8441a30de1fSmrg		os=-cxux
8451a30de1fSmrg		;;
8461a30de1fSmrg	nh[45]000)
8471a30de1fSmrg		basic_machine=m88k-harris
8481a30de1fSmrg		os=-cxux
8491a30de1fSmrg		;;
8501a30de1fSmrg	nindy960)
8511a30de1fSmrg		basic_machine=i960-intel
8521a30de1fSmrg		os=-nindy
8531a30de1fSmrg		;;
8541a30de1fSmrg	mon960)
8551a30de1fSmrg		basic_machine=i960-intel
8561a30de1fSmrg		os=-mon960
8571a30de1fSmrg		;;
8581a30de1fSmrg	nonstopux)
8591a30de1fSmrg		basic_machine=mips-compaq
8601a30de1fSmrg		os=-nonstopux
8611a30de1fSmrg		;;
8621a30de1fSmrg	np1)
8631a30de1fSmrg		basic_machine=np1-gould
8641a30de1fSmrg		;;
865ce62200cSmrg        neo-tandem)
866ce62200cSmrg		basic_machine=neo-tandem
867ce62200cSmrg		;;
868ce62200cSmrg        nse-tandem)
869ce62200cSmrg		basic_machine=nse-tandem
870ce62200cSmrg		;;
8711a30de1fSmrg	nsr-tandem)
8721a30de1fSmrg		basic_machine=nsr-tandem
8731a30de1fSmrg		;;
8741a30de1fSmrg	op50n-* | op60c-*)
8751a30de1fSmrg		basic_machine=hppa1.1-oki
8761a30de1fSmrg		os=-proelf
8771a30de1fSmrg		;;
8781a30de1fSmrg	openrisc | openrisc-*)
8791a30de1fSmrg		basic_machine=or32-unknown
8801a30de1fSmrg		;;
8811a30de1fSmrg	os400)
8821a30de1fSmrg		basic_machine=powerpc-ibm
8831a30de1fSmrg		os=-os400
8841a30de1fSmrg		;;
8851a30de1fSmrg	OSE68000 | ose68000)
8861a30de1fSmrg		basic_machine=m68000-ericsson
8871a30de1fSmrg		os=-ose
8881a30de1fSmrg		;;
8891a30de1fSmrg	os68k)
8901a30de1fSmrg		basic_machine=m68k-none
8911a30de1fSmrg		os=-os68k
8921a30de1fSmrg		;;
8931a30de1fSmrg	pa-hitachi)
8941a30de1fSmrg		basic_machine=hppa1.1-hitachi
8951a30de1fSmrg		os=-hiuxwe2
8961a30de1fSmrg		;;
8971a30de1fSmrg	paragon)
8981a30de1fSmrg		basic_machine=i860-intel
8991a30de1fSmrg		os=-osf
9001a30de1fSmrg		;;
901b7fb5eacSmrg	parisc)
902b7fb5eacSmrg		basic_machine=hppa-unknown
903b7fb5eacSmrg		os=-linux
904b7fb5eacSmrg		;;
905b7fb5eacSmrg	parisc-*)
906b7fb5eacSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907b7fb5eacSmrg		os=-linux
908b7fb5eacSmrg		;;
9091a30de1fSmrg	pbd)
9101a30de1fSmrg		basic_machine=sparc-tti
9111a30de1fSmrg		;;
9121a30de1fSmrg	pbb)
9131a30de1fSmrg		basic_machine=m68k-tti
9141a30de1fSmrg		;;
9151a30de1fSmrg	pc532 | pc532-*)
9161a30de1fSmrg		basic_machine=ns32k-pc532
9171a30de1fSmrg		;;
9181a30de1fSmrg	pc98)
9191a30de1fSmrg		basic_machine=i386-pc
9201a30de1fSmrg		;;
9211a30de1fSmrg	pc98-*)
9221a30de1fSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9231a30de1fSmrg		;;
9241a30de1fSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9251a30de1fSmrg		basic_machine=i586-pc
9261a30de1fSmrg		;;
9271a30de1fSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9281a30de1fSmrg		basic_machine=i686-pc
9291a30de1fSmrg		;;
9301a30de1fSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
9311a30de1fSmrg		basic_machine=i686-pc
9321a30de1fSmrg		;;
9331a30de1fSmrg	pentium4)
9341a30de1fSmrg		basic_machine=i786-pc
9351a30de1fSmrg		;;
9361a30de1fSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9371a30de1fSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9381a30de1fSmrg		;;
9391a30de1fSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9401a30de1fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9411a30de1fSmrg		;;
9421a30de1fSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9431a30de1fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9441a30de1fSmrg		;;
9451a30de1fSmrg	pentium4-*)
9461a30de1fSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9471a30de1fSmrg		;;
9481a30de1fSmrg	pn)
9491a30de1fSmrg		basic_machine=pn-gould
9501a30de1fSmrg		;;
9511a30de1fSmrg	power)	basic_machine=power-ibm
9521a30de1fSmrg		;;
9531a30de1fSmrg	ppc)	basic_machine=powerpc-unknown
9541a30de1fSmrg		;;
9551a30de1fSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9561a30de1fSmrg		;;
9571a30de1fSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9581a30de1fSmrg		basic_machine=powerpcle-unknown
9591a30de1fSmrg		;;
9601a30de1fSmrg	ppcle-* | powerpclittle-*)
9611a30de1fSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9621a30de1fSmrg		;;
9631a30de1fSmrg	ppc64)	basic_machine=powerpc64-unknown
9641a30de1fSmrg		;;
9651a30de1fSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9661a30de1fSmrg		;;
9671a30de1fSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9681a30de1fSmrg		basic_machine=powerpc64le-unknown
9691a30de1fSmrg		;;
9701a30de1fSmrg	ppc64le-* | powerpc64little-*)
9711a30de1fSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9721a30de1fSmrg		;;
9731a30de1fSmrg	ps2)
9741a30de1fSmrg		basic_machine=i386-ibm
9751a30de1fSmrg		;;
9761a30de1fSmrg	pw32)
9771a30de1fSmrg		basic_machine=i586-unknown
9781a30de1fSmrg		os=-pw32
9791a30de1fSmrg		;;
9801a30de1fSmrg	rdos)
9811a30de1fSmrg		basic_machine=i386-pc
9821a30de1fSmrg		os=-rdos
9831a30de1fSmrg		;;
9841a30de1fSmrg	rom68k)
9851a30de1fSmrg		basic_machine=m68k-rom68k
9861a30de1fSmrg		os=-coff
9871a30de1fSmrg		;;
9881a30de1fSmrg	rm[46]00)
9891a30de1fSmrg		basic_machine=mips-siemens
9901a30de1fSmrg		;;
9911a30de1fSmrg	rtpc | rtpc-*)
9921a30de1fSmrg		basic_machine=romp-ibm
9931a30de1fSmrg		;;
9941a30de1fSmrg	s390 | s390-*)
9951a30de1fSmrg		basic_machine=s390-ibm
9961a30de1fSmrg		;;
9971a30de1fSmrg	s390x | s390x-*)
9981a30de1fSmrg		basic_machine=s390x-ibm
9991a30de1fSmrg		;;
10001a30de1fSmrg	sa29200)
10011a30de1fSmrg		basic_machine=a29k-amd
10021a30de1fSmrg		os=-udi
10031a30de1fSmrg		;;
10041a30de1fSmrg	sb1)
10051a30de1fSmrg		basic_machine=mipsisa64sb1-unknown
10061a30de1fSmrg		;;
10071a30de1fSmrg	sb1el)
10081a30de1fSmrg		basic_machine=mipsisa64sb1el-unknown
10091a30de1fSmrg		;;
10101a30de1fSmrg	sde)
10111a30de1fSmrg		basic_machine=mipsisa32-sde
10121a30de1fSmrg		os=-elf
10131a30de1fSmrg		;;
10141a30de1fSmrg	sei)
10151a30de1fSmrg		basic_machine=mips-sei
10161a30de1fSmrg		os=-seiux
10171a30de1fSmrg		;;
10181a30de1fSmrg	sequent)
10191a30de1fSmrg		basic_machine=i386-sequent
10201a30de1fSmrg		;;
10211a30de1fSmrg	sh)
10221a30de1fSmrg		basic_machine=sh-hitachi
10231a30de1fSmrg		os=-hms
10241a30de1fSmrg		;;
1025b7fb5eacSmrg	sh5el)
1026b7fb5eacSmrg		basic_machine=sh5le-unknown
1027b7fb5eacSmrg		;;
10281a30de1fSmrg	sh64)
10291a30de1fSmrg		basic_machine=sh64-unknown
10301a30de1fSmrg		;;
10311a30de1fSmrg	sparclite-wrs | simso-wrs)
10321a30de1fSmrg		basic_machine=sparclite-wrs
10331a30de1fSmrg		os=-vxworks
10341a30de1fSmrg		;;
10351a30de1fSmrg	sps7)
10361a30de1fSmrg		basic_machine=m68k-bull
10371a30de1fSmrg		os=-sysv2
10381a30de1fSmrg		;;
10391a30de1fSmrg	spur)
10401a30de1fSmrg		basic_machine=spur-unknown
10411a30de1fSmrg		;;
10421a30de1fSmrg	st2000)
10431a30de1fSmrg		basic_machine=m68k-tandem
10441a30de1fSmrg		;;
10451a30de1fSmrg	stratus)
10461a30de1fSmrg		basic_machine=i860-stratus
10471a30de1fSmrg		os=-sysv4
10481a30de1fSmrg		;;
10491a30de1fSmrg	sun2)
10501a30de1fSmrg		basic_machine=m68000-sun
10511a30de1fSmrg		;;
10521a30de1fSmrg	sun2os3)
10531a30de1fSmrg		basic_machine=m68000-sun
10541a30de1fSmrg		os=-sunos3
10551a30de1fSmrg		;;
10561a30de1fSmrg	sun2os4)
10571a30de1fSmrg		basic_machine=m68000-sun
10581a30de1fSmrg		os=-sunos4
10591a30de1fSmrg		;;
10601a30de1fSmrg	sun3os3)
10611a30de1fSmrg		basic_machine=m68k-sun
10621a30de1fSmrg		os=-sunos3
10631a30de1fSmrg		;;
10641a30de1fSmrg	sun3os4)
10651a30de1fSmrg		basic_machine=m68k-sun
10661a30de1fSmrg		os=-sunos4
10671a30de1fSmrg		;;
10681a30de1fSmrg	sun4os3)
10691a30de1fSmrg		basic_machine=sparc-sun
10701a30de1fSmrg		os=-sunos3
10711a30de1fSmrg		;;
10721a30de1fSmrg	sun4os4)
10731a30de1fSmrg		basic_machine=sparc-sun
10741a30de1fSmrg		os=-sunos4
10751a30de1fSmrg		;;
10761a30de1fSmrg	sun4sol2)
10771a30de1fSmrg		basic_machine=sparc-sun
10781a30de1fSmrg		os=-solaris2
10791a30de1fSmrg		;;
10801a30de1fSmrg	sun3 | sun3-*)
10811a30de1fSmrg		basic_machine=m68k-sun
10821a30de1fSmrg		;;
10831a30de1fSmrg	sun4)
10841a30de1fSmrg		basic_machine=sparc-sun
10851a30de1fSmrg		;;
10861a30de1fSmrg	sun386 | sun386i | roadrunner)
10871a30de1fSmrg		basic_machine=i386-sun
10881a30de1fSmrg		;;
10891a30de1fSmrg	sv1)
10901a30de1fSmrg		basic_machine=sv1-cray
10911a30de1fSmrg		os=-unicos
10921a30de1fSmrg		;;
10931a30de1fSmrg	symmetry)
10941a30de1fSmrg		basic_machine=i386-sequent
10951a30de1fSmrg		os=-dynix
10961a30de1fSmrg		;;
10971a30de1fSmrg	t3e)
10981a30de1fSmrg		basic_machine=alphaev5-cray
10991a30de1fSmrg		os=-unicos
11001a30de1fSmrg		;;
11011a30de1fSmrg	t90)
11021a30de1fSmrg		basic_machine=t90-cray
11031a30de1fSmrg		os=-unicos
11041a30de1fSmrg		;;
1105ce62200cSmrg        # This must be matched before tile*.
1106ce62200cSmrg        tilegx*)
1107ce62200cSmrg		basic_machine=tilegx-unknown
1108ce62200cSmrg		os=-linux-gnu
11091a30de1fSmrg		;;
1110b7fb5eacSmrg	tile*)
1111b7fb5eacSmrg		basic_machine=tile-unknown
1112b7fb5eacSmrg		os=-linux-gnu
1113b7fb5eacSmrg		;;
11141a30de1fSmrg	tx39)
11151a30de1fSmrg		basic_machine=mipstx39-unknown
11161a30de1fSmrg		;;
11171a30de1fSmrg	tx39el)
11181a30de1fSmrg		basic_machine=mipstx39el-unknown
11191a30de1fSmrg		;;
11201a30de1fSmrg	toad1)
11211a30de1fSmrg		basic_machine=pdp10-xkl
11221a30de1fSmrg		os=-tops20
11231a30de1fSmrg		;;
11241a30de1fSmrg	tower | tower-32)
11251a30de1fSmrg		basic_machine=m68k-ncr
11261a30de1fSmrg		;;
11271a30de1fSmrg	tpf)
11281a30de1fSmrg		basic_machine=s390x-ibm
11291a30de1fSmrg		os=-tpf
11301a30de1fSmrg		;;
11311a30de1fSmrg	udi29k)
11321a30de1fSmrg		basic_machine=a29k-amd
11331a30de1fSmrg		os=-udi
11341a30de1fSmrg		;;
11351a30de1fSmrg	ultra3)
11361a30de1fSmrg		basic_machine=a29k-nyu
11371a30de1fSmrg		os=-sym1
11381a30de1fSmrg		;;
11391a30de1fSmrg	v810 | necv810)
11401a30de1fSmrg		basic_machine=v810-nec
11411a30de1fSmrg		os=-none
11421a30de1fSmrg		;;
11431a30de1fSmrg	vaxv)
11441a30de1fSmrg		basic_machine=vax-dec
11451a30de1fSmrg		os=-sysv
11461a30de1fSmrg		;;
11471a30de1fSmrg	vms)
11481a30de1fSmrg		basic_machine=vax-dec
11491a30de1fSmrg		os=-vms
11501a30de1fSmrg		;;
11511a30de1fSmrg	vpp*|vx|vx-*)
11521a30de1fSmrg		basic_machine=f301-fujitsu
11531a30de1fSmrg		;;
11541a30de1fSmrg	vxworks960)
11551a30de1fSmrg		basic_machine=i960-wrs
11561a30de1fSmrg		os=-vxworks
11571a30de1fSmrg		;;
11581a30de1fSmrg	vxworks68)
11591a30de1fSmrg		basic_machine=m68k-wrs
11601a30de1fSmrg		os=-vxworks
11611a30de1fSmrg		;;
11621a30de1fSmrg	vxworks29k)
11631a30de1fSmrg		basic_machine=a29k-wrs
11641a30de1fSmrg		os=-vxworks
11651a30de1fSmrg		;;
11661a30de1fSmrg	w65*)
11671a30de1fSmrg		basic_machine=w65-wdc
11681a30de1fSmrg		os=-none
11691a30de1fSmrg		;;
11701a30de1fSmrg	w89k-*)
11711a30de1fSmrg		basic_machine=hppa1.1-winbond
11721a30de1fSmrg		os=-proelf
11731a30de1fSmrg		;;
11741a30de1fSmrg	xbox)
11751a30de1fSmrg		basic_machine=i686-pc
11761a30de1fSmrg		os=-mingw32
11771a30de1fSmrg		;;
11781a30de1fSmrg	xps | xps100)
11791a30de1fSmrg		basic_machine=xps100-honeywell
11801a30de1fSmrg		;;
11811a30de1fSmrg	ymp)
11821a30de1fSmrg		basic_machine=ymp-cray
11831a30de1fSmrg		os=-unicos
11841a30de1fSmrg		;;
11851a30de1fSmrg	z8k-*-coff)
11861a30de1fSmrg		basic_machine=z8k-unknown
11871a30de1fSmrg		os=-sim
11881a30de1fSmrg		;;
1189b7fb5eacSmrg	z80-*-coff)
1190b7fb5eacSmrg		basic_machine=z80-unknown
1191b7fb5eacSmrg		os=-sim
1192b7fb5eacSmrg		;;
11931a30de1fSmrg	none)
11941a30de1fSmrg		basic_machine=none-none
11951a30de1fSmrg		os=-none
11961a30de1fSmrg		;;
11971a30de1fSmrg
11981a30de1fSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11991a30de1fSmrg# some cases the only manufacturer, in others, it is the most popular.
12001a30de1fSmrg	w89k)
12011a30de1fSmrg		basic_machine=hppa1.1-winbond
12021a30de1fSmrg		;;
12031a30de1fSmrg	op50n)
12041a30de1fSmrg		basic_machine=hppa1.1-oki
12051a30de1fSmrg		;;
12061a30de1fSmrg	op60c)
12071a30de1fSmrg		basic_machine=hppa1.1-oki
12081a30de1fSmrg		;;
12091a30de1fSmrg	romp)
12101a30de1fSmrg		basic_machine=romp-ibm
12111a30de1fSmrg		;;
12121a30de1fSmrg	mmix)
12131a30de1fSmrg		basic_machine=mmix-knuth
12141a30de1fSmrg		;;
12151a30de1fSmrg	rs6000)
12161a30de1fSmrg		basic_machine=rs6000-ibm
12171a30de1fSmrg		;;
12181a30de1fSmrg	vax)
12191a30de1fSmrg		basic_machine=vax-dec
12201a30de1fSmrg		;;
12211a30de1fSmrg	pdp10)
12221a30de1fSmrg		# there are many clones, so DEC is not a safe bet
12231a30de1fSmrg		basic_machine=pdp10-unknown
12241a30de1fSmrg		;;
12251a30de1fSmrg	pdp11)
12261a30de1fSmrg		basic_machine=pdp11-dec
12271a30de1fSmrg		;;
12281a30de1fSmrg	we32k)
12291a30de1fSmrg		basic_machine=we32k-att
12301a30de1fSmrg		;;
1231b7fb5eacSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12321a30de1fSmrg		basic_machine=sh-unknown
12331a30de1fSmrg		;;
12341a30de1fSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12351a30de1fSmrg		basic_machine=sparc-sun
12361a30de1fSmrg		;;
12371a30de1fSmrg	cydra)
12381a30de1fSmrg		basic_machine=cydra-cydrome
12391a30de1fSmrg		;;
12401a30de1fSmrg	orion)
12411a30de1fSmrg		basic_machine=orion-highlevel
12421a30de1fSmrg		;;
12431a30de1fSmrg	orion105)
12441a30de1fSmrg		basic_machine=clipper-highlevel
12451a30de1fSmrg		;;
12461a30de1fSmrg	mac | mpw | mac-mpw)
12471a30de1fSmrg		basic_machine=m68k-apple
12481a30de1fSmrg		;;
12491a30de1fSmrg	pmac | pmac-mpw)
12501a30de1fSmrg		basic_machine=powerpc-apple
12511a30de1fSmrg		;;
12521a30de1fSmrg	*-unknown)
12531a30de1fSmrg		# Make sure to match an already-canonicalized machine name.
12541a30de1fSmrg		;;
12551a30de1fSmrg	*)
12561a30de1fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12571a30de1fSmrg		exit 1
12581a30de1fSmrg		;;
12591a30de1fSmrgesac
12601a30de1fSmrg
12611a30de1fSmrg# Here we canonicalize certain aliases for manufacturers.
12621a30de1fSmrgcase $basic_machine in
12631a30de1fSmrg	*-digital*)
12641a30de1fSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12651a30de1fSmrg		;;
12661a30de1fSmrg	*-commodore*)
12671a30de1fSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12681a30de1fSmrg		;;
12691a30de1fSmrg	*)
12701a30de1fSmrg		;;
12711a30de1fSmrgesac
12721a30de1fSmrg
12731a30de1fSmrg# Decode manufacturer-specific aliases for certain operating systems.
12741a30de1fSmrg
12751a30de1fSmrgif [ x"$os" != x"" ]
12761a30de1fSmrgthen
12771a30de1fSmrgcase $os in
12781a30de1fSmrg        # First match some system type aliases
12791a30de1fSmrg        # that might get confused with valid system types.
12801a30de1fSmrg	# -solaris* is a basic system type, with this one exception.
1281ce62200cSmrg        -auroraux)
1282ce62200cSmrg	        os=-auroraux
1283ce62200cSmrg		;;
12841a30de1fSmrg	-solaris1 | -solaris1.*)
12851a30de1fSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12861a30de1fSmrg		;;
12871a30de1fSmrg	-solaris)
12881a30de1fSmrg		os=-solaris2
12891a30de1fSmrg		;;
12901a30de1fSmrg	-svr4*)
12911a30de1fSmrg		os=-sysv4
12921a30de1fSmrg		;;
12931a30de1fSmrg	-unixware*)
12941a30de1fSmrg		os=-sysv4.2uw
12951a30de1fSmrg		;;
12961a30de1fSmrg	-gnu/linux*)
12971a30de1fSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12981a30de1fSmrg		;;
12991a30de1fSmrg	# First accept the basic system types.
13001a30de1fSmrg	# The portable systems comes first.
13011a30de1fSmrg	# Each alternative MUST END IN A *, to match a version number.
13021a30de1fSmrg	# -sysv* is not here because it comes later, after sysvr4.
13031a30de1fSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304ce62200cSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305ce62200cSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306ce62200cSmrg	      | -sym* | -kopensolaris* \
13071a30de1fSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308b7fb5eacSmrg	      | -aos* | -aros* \
13091a30de1fSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13101a30de1fSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13111a30de1fSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13121a30de1fSmrg	      | -openbsd* | -solidbsd* \
13131a30de1fSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13141a30de1fSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13151a30de1fSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13161a30de1fSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317b7fb5eacSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13181a30de1fSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319ce62200cSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320ce62200cSmrg	      | -linux-newlib* | -linux-uclibc* \
13211a30de1fSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13221a30de1fSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13231a30de1fSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13241a30de1fSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13251a30de1fSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13261a30de1fSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13271a30de1fSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328ce62200cSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13291a30de1fSmrg	# Remember, each alternative MUST END IN *, to match a version number.
13301a30de1fSmrg		;;
13311a30de1fSmrg	-qnx*)
13321a30de1fSmrg		case $basic_machine in
13331a30de1fSmrg		    x86-* | i*86-*)
13341a30de1fSmrg			;;
13351a30de1fSmrg		    *)
13361a30de1fSmrg			os=-nto$os
13371a30de1fSmrg			;;
13381a30de1fSmrg		esac
13391a30de1fSmrg		;;
13401a30de1fSmrg	-nto-qnx*)
13411a30de1fSmrg		;;
13421a30de1fSmrg	-nto*)
13431a30de1fSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13441a30de1fSmrg		;;
13451a30de1fSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13461a30de1fSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13471a30de1fSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13481a30de1fSmrg		;;
13491a30de1fSmrg	-mac*)
13501a30de1fSmrg		os=`echo $os | sed -e 's|mac|macos|'`
13511a30de1fSmrg		;;
13521a30de1fSmrg	-linux-dietlibc)
13531a30de1fSmrg		os=-linux-dietlibc
13541a30de1fSmrg		;;
13551a30de1fSmrg	-linux*)
13561a30de1fSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13571a30de1fSmrg		;;
13581a30de1fSmrg	-sunos5*)
13591a30de1fSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13601a30de1fSmrg		;;
13611a30de1fSmrg	-sunos6*)
13621a30de1fSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13631a30de1fSmrg		;;
13641a30de1fSmrg	-opened*)
13651a30de1fSmrg		os=-openedition
13661a30de1fSmrg		;;
13671a30de1fSmrg        -os400*)
13681a30de1fSmrg		os=-os400
13691a30de1fSmrg		;;
13701a30de1fSmrg	-wince*)
13711a30de1fSmrg		os=-wince
13721a30de1fSmrg		;;
13731a30de1fSmrg	-osfrose*)
13741a30de1fSmrg		os=-osfrose
13751a30de1fSmrg		;;
13761a30de1fSmrg	-osf*)
13771a30de1fSmrg		os=-osf
13781a30de1fSmrg		;;
13791a30de1fSmrg	-utek*)
13801a30de1fSmrg		os=-bsd
13811a30de1fSmrg		;;
13821a30de1fSmrg	-dynix*)
13831a30de1fSmrg		os=-bsd
13841a30de1fSmrg		;;
13851a30de1fSmrg	-acis*)
13861a30de1fSmrg		os=-aos
13871a30de1fSmrg		;;
13881a30de1fSmrg	-atheos*)
13891a30de1fSmrg		os=-atheos
13901a30de1fSmrg		;;
13911a30de1fSmrg	-syllable*)
13921a30de1fSmrg		os=-syllable
13931a30de1fSmrg		;;
13941a30de1fSmrg	-386bsd)
13951a30de1fSmrg		os=-bsd
13961a30de1fSmrg		;;
13971a30de1fSmrg	-ctix* | -uts*)
13981a30de1fSmrg		os=-sysv
13991a30de1fSmrg		;;
14001a30de1fSmrg	-nova*)
14011a30de1fSmrg		os=-rtmk-nova
14021a30de1fSmrg		;;
14031a30de1fSmrg	-ns2 )
14041a30de1fSmrg		os=-nextstep2
14051a30de1fSmrg		;;
14061a30de1fSmrg	-nsk*)
14071a30de1fSmrg		os=-nsk
14081a30de1fSmrg		;;
14091a30de1fSmrg	# Preserve the version number of sinix5.
14101a30de1fSmrg	-sinix5.*)
14111a30de1fSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14121a30de1fSmrg		;;
14131a30de1fSmrg	-sinix*)
14141a30de1fSmrg		os=-sysv4
14151a30de1fSmrg		;;
14161a30de1fSmrg        -tpf*)
14171a30de1fSmrg		os=-tpf
14181a30de1fSmrg		;;
14191a30de1fSmrg	-triton*)
14201a30de1fSmrg		os=-sysv3
14211a30de1fSmrg		;;
14221a30de1fSmrg	-oss*)
14231a30de1fSmrg		os=-sysv3
14241a30de1fSmrg		;;
14251a30de1fSmrg	-svr4)
14261a30de1fSmrg		os=-sysv4
14271a30de1fSmrg		;;
14281a30de1fSmrg	-svr3)
14291a30de1fSmrg		os=-sysv3
14301a30de1fSmrg		;;
14311a30de1fSmrg	-sysvr4)
14321a30de1fSmrg		os=-sysv4
14331a30de1fSmrg		;;
14341a30de1fSmrg	# This must come after -sysvr4.
14351a30de1fSmrg	-sysv*)
14361a30de1fSmrg		;;
14371a30de1fSmrg	-ose*)
14381a30de1fSmrg		os=-ose
14391a30de1fSmrg		;;
14401a30de1fSmrg	-es1800*)
14411a30de1fSmrg		os=-ose
14421a30de1fSmrg		;;
14431a30de1fSmrg	-xenix)
14441a30de1fSmrg		os=-xenix
14451a30de1fSmrg		;;
14461a30de1fSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14471a30de1fSmrg		os=-mint
14481a30de1fSmrg		;;
14491a30de1fSmrg	-aros*)
14501a30de1fSmrg		os=-aros
14511a30de1fSmrg		;;
14521a30de1fSmrg	-kaos*)
14531a30de1fSmrg		os=-kaos
14541a30de1fSmrg		;;
14551a30de1fSmrg	-zvmoe)
14561a30de1fSmrg		os=-zvmoe
14571a30de1fSmrg		;;
1458b7fb5eacSmrg	-dicos*)
1459b7fb5eacSmrg		os=-dicos
1460b7fb5eacSmrg		;;
1461ce62200cSmrg        -nacl*)
1462ce62200cSmrg	        ;;
14631a30de1fSmrg	-none)
14641a30de1fSmrg		;;
14651a30de1fSmrg	*)
14661a30de1fSmrg		# Get rid of the `-' at the beginning of $os.
14671a30de1fSmrg		os=`echo $os | sed 's/[^-]*-//'`
14681a30de1fSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14691a30de1fSmrg		exit 1
14701a30de1fSmrg		;;
14711a30de1fSmrgesac
14721a30de1fSmrgelse
14731a30de1fSmrg
14741a30de1fSmrg# Here we handle the default operating systems that come with various machines.
14751a30de1fSmrg# The value should be what the vendor currently ships out the door with their
14761a30de1fSmrg# machine or put another way, the most popular os provided with the machine.
14771a30de1fSmrg
14781a30de1fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14791a30de1fSmrg# "-sun"), then you have to tell the case statement up towards the top
14801a30de1fSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14811a30de1fSmrg# will signal an error saying that MANUFACTURER isn't an operating
14821a30de1fSmrg# system, and we'll never get to this point.
14831a30de1fSmrg
14841a30de1fSmrgcase $basic_machine in
14851a30de1fSmrg        score-*)
14861a30de1fSmrg		os=-elf
14871a30de1fSmrg		;;
14881a30de1fSmrg        spu-*)
14891a30de1fSmrg		os=-elf
14901a30de1fSmrg		;;
14911a30de1fSmrg	*-acorn)
14921a30de1fSmrg		os=-riscix1.2
14931a30de1fSmrg		;;
14941a30de1fSmrg	arm*-rebel)
14951a30de1fSmrg		os=-linux
14961a30de1fSmrg		;;
14971a30de1fSmrg	arm*-semi)
14981a30de1fSmrg		os=-aout
14991a30de1fSmrg		;;
15001a30de1fSmrg        c4x-* | tic4x-*)
15011a30de1fSmrg        	os=-coff
15021a30de1fSmrg		;;
1503ce62200cSmrg	tic54x-*)
1504ce62200cSmrg		os=-coff
1505ce62200cSmrg		;;
1506ce62200cSmrg	tic55x-*)
1507ce62200cSmrg		os=-coff
1508ce62200cSmrg		;;
1509ce62200cSmrg	tic6x-*)
1510ce62200cSmrg		os=-coff
1511ce62200cSmrg		;;
15121a30de1fSmrg	# This must come before the *-dec entry.
15131a30de1fSmrg	pdp10-*)
15141a30de1fSmrg		os=-tops20
15151a30de1fSmrg		;;
15161a30de1fSmrg	pdp11-*)
15171a30de1fSmrg		os=-none
15181a30de1fSmrg		;;
15191a30de1fSmrg	*-dec | vax-*)
15201a30de1fSmrg		os=-ultrix4.2
15211a30de1fSmrg		;;
15221a30de1fSmrg	m68*-apollo)
15231a30de1fSmrg		os=-domain
15241a30de1fSmrg		;;
15251a30de1fSmrg	i386-sun)
15261a30de1fSmrg		os=-sunos4.0.2
15271a30de1fSmrg		;;
15281a30de1fSmrg	m68000-sun)
15291a30de1fSmrg		os=-sunos3
15301a30de1fSmrg		# This also exists in the configure program, but was not the
15311a30de1fSmrg		# default.
15321a30de1fSmrg		# os=-sunos4
15331a30de1fSmrg		;;
15341a30de1fSmrg	m68*-cisco)
15351a30de1fSmrg		os=-aout
15361a30de1fSmrg		;;
1537b7fb5eacSmrg        mep-*)
1538b7fb5eacSmrg		os=-elf
1539b7fb5eacSmrg		;;
15401a30de1fSmrg	mips*-cisco)
15411a30de1fSmrg		os=-elf
15421a30de1fSmrg		;;
15431a30de1fSmrg	mips*-*)
15441a30de1fSmrg		os=-elf
15451a30de1fSmrg		;;
15461a30de1fSmrg	or32-*)
15471a30de1fSmrg		os=-coff
15481a30de1fSmrg		;;
15491a30de1fSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
15501a30de1fSmrg		os=-sysv3
15511a30de1fSmrg		;;
15521a30de1fSmrg	sparc-* | *-sun)
15531a30de1fSmrg		os=-sunos4.1.1
15541a30de1fSmrg		;;
15551a30de1fSmrg	*-be)
15561a30de1fSmrg		os=-beos
15571a30de1fSmrg		;;
15581a30de1fSmrg	*-haiku)
15591a30de1fSmrg		os=-haiku
15601a30de1fSmrg		;;
15611a30de1fSmrg	*-ibm)
15621a30de1fSmrg		os=-aix
15631a30de1fSmrg		;;
15641a30de1fSmrg    	*-knuth)
15651a30de1fSmrg		os=-mmixware
15661a30de1fSmrg		;;
15671a30de1fSmrg	*-wec)
15681a30de1fSmrg		os=-proelf
15691a30de1fSmrg		;;
15701a30de1fSmrg	*-winbond)
15711a30de1fSmrg		os=-proelf
15721a30de1fSmrg		;;
15731a30de1fSmrg	*-oki)
15741a30de1fSmrg		os=-proelf
15751a30de1fSmrg		;;
15761a30de1fSmrg	*-hp)
15771a30de1fSmrg		os=-hpux
15781a30de1fSmrg		;;
15791a30de1fSmrg	*-hitachi)
15801a30de1fSmrg		os=-hiux
15811a30de1fSmrg		;;
15821a30de1fSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15831a30de1fSmrg		os=-sysv
15841a30de1fSmrg		;;
15851a30de1fSmrg	*-cbm)
15861a30de1fSmrg		os=-amigaos
15871a30de1fSmrg		;;
15881a30de1fSmrg	*-dg)
15891a30de1fSmrg		os=-dgux
15901a30de1fSmrg		;;
15911a30de1fSmrg	*-dolphin)
15921a30de1fSmrg		os=-sysv3
15931a30de1fSmrg		;;
15941a30de1fSmrg	m68k-ccur)
15951a30de1fSmrg		os=-rtu
15961a30de1fSmrg		;;
15971a30de1fSmrg	m88k-omron*)
15981a30de1fSmrg		os=-luna
15991a30de1fSmrg		;;
16001a30de1fSmrg	*-next )
16011a30de1fSmrg		os=-nextstep
16021a30de1fSmrg		;;
16031a30de1fSmrg	*-sequent)
16041a30de1fSmrg		os=-ptx
16051a30de1fSmrg		;;
16061a30de1fSmrg	*-crds)
16071a30de1fSmrg		os=-unos
16081a30de1fSmrg		;;
16091a30de1fSmrg	*-ns)
16101a30de1fSmrg		os=-genix
16111a30de1fSmrg		;;
16121a30de1fSmrg	i370-*)
16131a30de1fSmrg		os=-mvs
16141a30de1fSmrg		;;
16151a30de1fSmrg	*-next)
16161a30de1fSmrg		os=-nextstep3
16171a30de1fSmrg		;;
16181a30de1fSmrg	*-gould)
16191a30de1fSmrg		os=-sysv
16201a30de1fSmrg		;;
16211a30de1fSmrg	*-highlevel)
16221a30de1fSmrg		os=-bsd
16231a30de1fSmrg		;;
16241a30de1fSmrg	*-encore)
16251a30de1fSmrg		os=-bsd
16261a30de1fSmrg		;;
16271a30de1fSmrg	*-sgi)
16281a30de1fSmrg		os=-irix
16291a30de1fSmrg		;;
16301a30de1fSmrg	*-siemens)
16311a30de1fSmrg		os=-sysv4
16321a30de1fSmrg		;;
16331a30de1fSmrg	*-masscomp)
16341a30de1fSmrg		os=-rtu
16351a30de1fSmrg		;;
16361a30de1fSmrg	f30[01]-fujitsu | f700-fujitsu)
16371a30de1fSmrg		os=-uxpv
16381a30de1fSmrg		;;
16391a30de1fSmrg	*-rom68k)
16401a30de1fSmrg		os=-coff
16411a30de1fSmrg		;;
16421a30de1fSmrg	*-*bug)
16431a30de1fSmrg		os=-coff
16441a30de1fSmrg		;;
16451a30de1fSmrg	*-apple)
16461a30de1fSmrg		os=-macos
16471a30de1fSmrg		;;
16481a30de1fSmrg	*-atari*)
16491a30de1fSmrg		os=-mint
16501a30de1fSmrg		;;
16511a30de1fSmrg	*)
16521a30de1fSmrg		os=-none
16531a30de1fSmrg		;;
16541a30de1fSmrgesac
16551a30de1fSmrgfi
16561a30de1fSmrg
16571a30de1fSmrg# Here we handle the case where we know the os, and the CPU type, but not the
16581a30de1fSmrg# manufacturer.  We pick the logical manufacturer.
16591a30de1fSmrgvendor=unknown
16601a30de1fSmrgcase $basic_machine in
16611a30de1fSmrg	*-unknown)
16621a30de1fSmrg		case $os in
16631a30de1fSmrg			-riscix*)
16641a30de1fSmrg				vendor=acorn
16651a30de1fSmrg				;;
16661a30de1fSmrg			-sunos*)
16671a30de1fSmrg				vendor=sun
16681a30de1fSmrg				;;
1669ce62200cSmrg			-cnk*|-aix*)
16701a30de1fSmrg				vendor=ibm
16711a30de1fSmrg				;;
16721a30de1fSmrg			-beos*)
16731a30de1fSmrg				vendor=be
16741a30de1fSmrg				;;
16751a30de1fSmrg			-hpux*)
16761a30de1fSmrg				vendor=hp
16771a30de1fSmrg				;;
16781a30de1fSmrg			-mpeix*)
16791a30de1fSmrg				vendor=hp
16801a30de1fSmrg				;;
16811a30de1fSmrg			-hiux*)
16821a30de1fSmrg				vendor=hitachi
16831a30de1fSmrg				;;
16841a30de1fSmrg			-unos*)
16851a30de1fSmrg				vendor=crds
16861a30de1fSmrg				;;
16871a30de1fSmrg			-dgux*)
16881a30de1fSmrg				vendor=dg
16891a30de1fSmrg				;;
16901a30de1fSmrg			-luna*)
16911a30de1fSmrg				vendor=omron
16921a30de1fSmrg				;;
16931a30de1fSmrg			-genix*)
16941a30de1fSmrg				vendor=ns
16951a30de1fSmrg				;;
16961a30de1fSmrg			-mvs* | -opened*)
16971a30de1fSmrg				vendor=ibm
16981a30de1fSmrg				;;
16991a30de1fSmrg			-os400*)
17001a30de1fSmrg				vendor=ibm
17011a30de1fSmrg				;;
17021a30de1fSmrg			-ptx*)
17031a30de1fSmrg				vendor=sequent
17041a30de1fSmrg				;;
17051a30de1fSmrg			-tpf*)
17061a30de1fSmrg				vendor=ibm
17071a30de1fSmrg				;;
17081a30de1fSmrg			-vxsim* | -vxworks* | -windiss*)
17091a30de1fSmrg				vendor=wrs
17101a30de1fSmrg				;;
17111a30de1fSmrg			-aux*)
17121a30de1fSmrg				vendor=apple
17131a30de1fSmrg				;;
17141a30de1fSmrg			-hms*)
17151a30de1fSmrg				vendor=hitachi
17161a30de1fSmrg				;;
17171a30de1fSmrg			-mpw* | -macos*)
17181a30de1fSmrg				vendor=apple
17191a30de1fSmrg				;;
17201a30de1fSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17211a30de1fSmrg				vendor=atari
17221a30de1fSmrg				;;
17231a30de1fSmrg			-vos*)
17241a30de1fSmrg				vendor=stratus
17251a30de1fSmrg				;;
17261a30de1fSmrg		esac
17271a30de1fSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17281a30de1fSmrg		;;
17291a30de1fSmrgesac
17301a30de1fSmrg
17311a30de1fSmrgecho $basic_machine$os
17321a30de1fSmrgexit
17331a30de1fSmrg
17341a30de1fSmrg# Local variables:
17351a30de1fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17361a30de1fSmrg# time-stamp-start: "timestamp='"
17371a30de1fSmrg# time-stamp-format: "%:y-%02m-%02d"
17381a30de1fSmrg# time-stamp-end: "'"
17391a30de1fSmrg# End:
1740