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