config.sub revision b62cc08c
19fe995a9Smrg#! /bin/sh
29fe995a9Smrg# Configuration validation subroutine script.
39fe995a9Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4b62cc08cSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5b62cc08cSmrg#   Free Software Foundation, Inc.
69fe995a9Smrg
7b62cc08cSmrgtimestamp='2010-09-11'
89fe995a9Smrg
99fe995a9Smrg# This file is (in principle) common to ALL GNU software.
109fe995a9Smrg# The presence of a machine in this file suggests that SOME GNU software
119fe995a9Smrg# can handle that machine.  It does not imply ALL GNU software can.
129fe995a9Smrg#
139fe995a9Smrg# This file is free software; you can redistribute it and/or modify
149fe995a9Smrg# it under the terms of the GNU General Public License as published by
159fe995a9Smrg# the Free Software Foundation; either version 2 of the License, or
169fe995a9Smrg# (at your option) any later version.
179fe995a9Smrg#
189fe995a9Smrg# This program is distributed in the hope that it will be useful,
199fe995a9Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
209fe995a9Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
219fe995a9Smrg# GNU General Public License for more details.
229fe995a9Smrg#
239fe995a9Smrg# You should have received a copy of the GNU General Public License
249fe995a9Smrg# along with this program; if not, write to the Free Software
259fe995a9Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
269fe995a9Smrg# 02110-1301, USA.
279fe995a9Smrg#
289fe995a9Smrg# As a special exception to the GNU General Public License, if you
299fe995a9Smrg# distribute this file as part of a program that contains a
309fe995a9Smrg# configuration script generated by Autoconf, you may include it under
319fe995a9Smrg# the same distribution terms that you use for the rest of that program.
329fe995a9Smrg
339fe995a9Smrg
349fe995a9Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
35b62cc08cSmrg# diff and a properly formatted GNU ChangeLog entry.
369fe995a9Smrg#
379fe995a9Smrg# Configuration subroutine to validate and canonicalize a configuration type.
389fe995a9Smrg# Supply the specified configuration type as an argument.
399fe995a9Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
409fe995a9Smrg# Otherwise, we print the canonical config type on stdout and succeed.
419fe995a9Smrg
42b62cc08cSmrg# You can get the latest version of this script from:
43b62cc08cSmrg# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
44b62cc08cSmrg
459fe995a9Smrg# This file is supposed to be the same for all GNU packages
469fe995a9Smrg# and recognize all the CPU types, system types and aliases
479fe995a9Smrg# that are meaningful with *any* GNU software.
489fe995a9Smrg# Each package is responsible for reporting which valid configurations
499fe995a9Smrg# it does not support.  The user should be able to distinguish
509fe995a9Smrg# a failure to support a valid configuration from a meaningless
519fe995a9Smrg# configuration.
529fe995a9Smrg
539fe995a9Smrg# The goal of this file is to map all the various variations of a given
549fe995a9Smrg# machine specification into a single specification in the form:
559fe995a9Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
569fe995a9Smrg# or in some cases, the newer four-part form:
579fe995a9Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
589fe995a9Smrg# It is wrong to echo any other type of specification.
599fe995a9Smrg
609fe995a9Smrgme=`echo "$0" | sed -e 's,.*/,,'`
619fe995a9Smrg
629fe995a9Smrgusage="\
639fe995a9SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
649fe995a9Smrg       $0 [OPTION] ALIAS
659fe995a9Smrg
669fe995a9SmrgCanonicalize a configuration name.
679fe995a9Smrg
689fe995a9SmrgOperation modes:
699fe995a9Smrg  -h, --help         print this help, then exit
709fe995a9Smrg  -t, --time-stamp   print date of last modification, then exit
719fe995a9Smrg  -v, --version      print version number, then exit
729fe995a9Smrg
739fe995a9SmrgReport bugs and patches to <config-patches@gnu.org>."
749fe995a9Smrg
759fe995a9Smrgversion="\
769fe995a9SmrgGNU config.sub ($timestamp)
779fe995a9Smrg
78b62cc08cSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
79b62cc08cSmrg2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
80b62cc08cSmrgSoftware Foundation, Inc.
819fe995a9Smrg
829fe995a9SmrgThis is free software; see the source for copying conditions.  There is NO
839fe995a9Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
849fe995a9Smrg
859fe995a9Smrghelp="
869fe995a9SmrgTry \`$me --help' for more information."
879fe995a9Smrg
889fe995a9Smrg# Parse command line
899fe995a9Smrgwhile test $# -gt 0 ; do
909fe995a9Smrg  case $1 in
919fe995a9Smrg    --time-stamp | --time* | -t )
929fe995a9Smrg       echo "$timestamp" ; exit ;;
939fe995a9Smrg    --version | -v )
949fe995a9Smrg       echo "$version" ; exit ;;
959fe995a9Smrg    --help | --h* | -h )
969fe995a9Smrg       echo "$usage"; exit ;;
979fe995a9Smrg    -- )     # Stop option processing
989fe995a9Smrg       shift; break ;;
999fe995a9Smrg    - )	# Use stdin as input.
1009fe995a9Smrg       break ;;
1019fe995a9Smrg    -* )
1029fe995a9Smrg       echo "$me: invalid option $1$help"
1039fe995a9Smrg       exit 1 ;;
1049fe995a9Smrg
1059fe995a9Smrg    *local*)
1069fe995a9Smrg       # First pass through any local machine types.
1079fe995a9Smrg       echo $1
1089fe995a9Smrg       exit ;;
1099fe995a9Smrg
1109fe995a9Smrg    * )
1119fe995a9Smrg       break ;;
1129fe995a9Smrg  esac
1139fe995a9Smrgdone
1149fe995a9Smrg
1159fe995a9Smrgcase $# in
1169fe995a9Smrg 0) echo "$me: missing argument$help" >&2
1179fe995a9Smrg    exit 1;;
1189fe995a9Smrg 1) ;;
1199fe995a9Smrg *) echo "$me: too many arguments$help" >&2
1209fe995a9Smrg    exit 1;;
1219fe995a9Smrgesac
1229fe995a9Smrg
1239fe995a9Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1249fe995a9Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1259fe995a9Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1269fe995a9Smrgcase $maybe_os in
127b62cc08cSmrg  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
128b62cc08cSmrg  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
129b62cc08cSmrg  knetbsd*-gnu* | netbsd*-gnu* | \
130b62cc08cSmrg  kopensolaris*-gnu* | \
1319fe995a9Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1329fe995a9Smrg    os=-$maybe_os
1339fe995a9Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1349fe995a9Smrg    ;;
1359fe995a9Smrg  *)
1369fe995a9Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1379fe995a9Smrg    if [ $basic_machine != $1 ]
1389fe995a9Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1399fe995a9Smrg    else os=; fi
1409fe995a9Smrg    ;;
1419fe995a9Smrgesac
1429fe995a9Smrg
1439fe995a9Smrg### Let's recognize common machines as not being operating systems so
1449fe995a9Smrg### that things like config.sub decstation-3100 work.  We also
1459fe995a9Smrg### recognize some manufacturers as not being operating systems, so we
1469fe995a9Smrg### can provide default operating systems below.
1479fe995a9Smrgcase $os in
1489fe995a9Smrg	-sun*os*)
1499fe995a9Smrg		# Prevent following clause from handling this invalid input.
1509fe995a9Smrg		;;
1519fe995a9Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1529fe995a9Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1539fe995a9Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1549fe995a9Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1559fe995a9Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1569fe995a9Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
157b62cc08cSmrg	-apple | -axis | -knuth | -cray | -microblaze)
1589fe995a9Smrg		os=
1599fe995a9Smrg		basic_machine=$1
1609fe995a9Smrg		;;
161b62cc08cSmrg        -bluegene*)
162b62cc08cSmrg	        os=-cnk
163b62cc08cSmrg		;;
1649fe995a9Smrg	-sim | -cisco | -oki | -wec | -winbond)
1659fe995a9Smrg		os=
1669fe995a9Smrg		basic_machine=$1
1679fe995a9Smrg		;;
1689fe995a9Smrg	-scout)
1699fe995a9Smrg		;;
1709fe995a9Smrg	-wrs)
1719fe995a9Smrg		os=-vxworks
1729fe995a9Smrg		basic_machine=$1
1739fe995a9Smrg		;;
1749fe995a9Smrg	-chorusos*)
1759fe995a9Smrg		os=-chorusos
1769fe995a9Smrg		basic_machine=$1
1779fe995a9Smrg		;;
1789fe995a9Smrg 	-chorusrdb)
1799fe995a9Smrg 		os=-chorusrdb
1809fe995a9Smrg		basic_machine=$1
1819fe995a9Smrg 		;;
1829fe995a9Smrg	-hiux*)
1839fe995a9Smrg		os=-hiuxwe2
1849fe995a9Smrg		;;
1859fe995a9Smrg	-sco6)
1869fe995a9Smrg		os=-sco5v6
1879fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1889fe995a9Smrg		;;
1899fe995a9Smrg	-sco5)
1909fe995a9Smrg		os=-sco3.2v5
1919fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1929fe995a9Smrg		;;
1939fe995a9Smrg	-sco4)
1949fe995a9Smrg		os=-sco3.2v4
1959fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1969fe995a9Smrg		;;
1979fe995a9Smrg	-sco3.2.[4-9]*)
1989fe995a9Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1999fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2009fe995a9Smrg		;;
2019fe995a9Smrg	-sco3.2v[4-9]*)
2029fe995a9Smrg		# Don't forget version if it is 3.2v4 or newer.
2039fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2049fe995a9Smrg		;;
2059fe995a9Smrg	-sco5v6*)
2069fe995a9Smrg		# Don't forget version if it is 3.2v4 or newer.
2079fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2089fe995a9Smrg		;;
2099fe995a9Smrg	-sco*)
2109fe995a9Smrg		os=-sco3.2v2
2119fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2129fe995a9Smrg		;;
2139fe995a9Smrg	-udk*)
2149fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2159fe995a9Smrg		;;
2169fe995a9Smrg	-isc)
2179fe995a9Smrg		os=-isc2.2
2189fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2199fe995a9Smrg		;;
2209fe995a9Smrg	-clix*)
2219fe995a9Smrg		basic_machine=clipper-intergraph
2229fe995a9Smrg		;;
2239fe995a9Smrg	-isc*)
2249fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2259fe995a9Smrg		;;
2269fe995a9Smrg	-lynx*)
2279fe995a9Smrg		os=-lynxos
2289fe995a9Smrg		;;
2299fe995a9Smrg	-ptx*)
2309fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2319fe995a9Smrg		;;
2329fe995a9Smrg	-windowsnt*)
2339fe995a9Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2349fe995a9Smrg		;;
2359fe995a9Smrg	-psos*)
2369fe995a9Smrg		os=-psos
2379fe995a9Smrg		;;
2389fe995a9Smrg	-mint | -mint[0-9]*)
2399fe995a9Smrg		basic_machine=m68k-atari
2409fe995a9Smrg		os=-mint
2419fe995a9Smrg		;;
2429fe995a9Smrgesac
2439fe995a9Smrg
2449fe995a9Smrg# Decode aliases for certain CPU-COMPANY combinations.
2459fe995a9Smrgcase $basic_machine in
2469fe995a9Smrg	# Recognize the basic CPU types without company name.
2479fe995a9Smrg	# Some are omitted here because they have special meanings below.
2489fe995a9Smrg	1750a | 580 \
2499fe995a9Smrg	| a29k \
2509fe995a9Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2519fe995a9Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2529fe995a9Smrg	| am33_2.0 \
2539fe995a9Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2549fe995a9Smrg	| bfin \
2559fe995a9Smrg	| c4x | clipper \
2569fe995a9Smrg	| d10v | d30v | dlx | dsp16xx \
257b62cc08cSmrg	| fido | fr30 | frv \
2589fe995a9Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2599fe995a9Smrg	| i370 | i860 | i960 | ia64 \
2609fe995a9Smrg	| ip2k | iq2000 \
261b62cc08cSmrg	| lm32 \
2629fe995a9Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
263b62cc08cSmrg	| maxq | mb | microblaze | mcore | mep | metag \
2649fe995a9Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2659fe995a9Smrg	| mips16 \
2669fe995a9Smrg	| mips64 | mips64el \
267b62cc08cSmrg	| mips64octeon | mips64octeonel \
2689fe995a9Smrg	| mips64orion | mips64orionel \
269b62cc08cSmrg	| mips64r5900 | mips64r5900el \
270b62cc08cSmrg	| mips64vr | mips64vrel \
2719fe995a9Smrg	| mips64vr4100 | mips64vr4100el \
2729fe995a9Smrg	| mips64vr4300 | mips64vr4300el \
2739fe995a9Smrg	| mips64vr5000 | mips64vr5000el \
2749fe995a9Smrg	| mips64vr5900 | mips64vr5900el \
2759fe995a9Smrg	| mipsisa32 | mipsisa32el \
2769fe995a9Smrg	| mipsisa32r2 | mipsisa32r2el \
2779fe995a9Smrg	| mipsisa64 | mipsisa64el \
2789fe995a9Smrg	| mipsisa64r2 | mipsisa64r2el \
2799fe995a9Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2809fe995a9Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2819fe995a9Smrg	| mipstx39 | mipstx39el \
2829fe995a9Smrg	| mn10200 | mn10300 \
283b62cc08cSmrg	| moxie \
2849fe995a9Smrg	| mt \
2859fe995a9Smrg	| msp430 \
286b62cc08cSmrg	| nds32 | nds32le | nds32be \
2879fe995a9Smrg	| nios | nios2 \
2889fe995a9Smrg	| ns16k | ns32k \
2899fe995a9Smrg	| or32 \
2909fe995a9Smrg	| pdp10 | pdp11 | pj | pjl \
2919fe995a9Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2929fe995a9Smrg	| pyramid \
293b62cc08cSmrg	| rx \
2949fe995a9Smrg	| score \
295b62cc08cSmrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2969fe995a9Smrg	| sh64 | sh64le \
2979fe995a9Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2989fe995a9Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2999fe995a9Smrg	| spu | strongarm \
300b62cc08cSmrg	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
301b62cc08cSmrg	| ubicom32 \
3029fe995a9Smrg	| v850 | v850e \
3039fe995a9Smrg	| we32k \
3049fe995a9Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
305b62cc08cSmrg	| z8k | z80)
3069fe995a9Smrg		basic_machine=$basic_machine-unknown
3079fe995a9Smrg		;;
308b62cc08cSmrg	c54x)
309b62cc08cSmrg		basic_machine=tic54x-unknown
310b62cc08cSmrg		;;
311b62cc08cSmrg	c55x)
312b62cc08cSmrg		basic_machine=tic55x-unknown
313b62cc08cSmrg		;;
314b62cc08cSmrg	c6x)
315b62cc08cSmrg		basic_machine=tic6x-unknown
316b62cc08cSmrg		;;
317b62cc08cSmrg	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
3189fe995a9Smrg		# Motorola 68HC11/12.
3199fe995a9Smrg		basic_machine=$basic_machine-unknown
3209fe995a9Smrg		os=-none
3219fe995a9Smrg		;;
3229fe995a9Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3239fe995a9Smrg		;;
3249fe995a9Smrg	ms1)
3259fe995a9Smrg		basic_machine=mt-unknown
3269fe995a9Smrg		;;
3279fe995a9Smrg
3289fe995a9Smrg	# We use `pc' rather than `unknown'
3299fe995a9Smrg	# because (1) that's what they normally are, and
3309fe995a9Smrg	# (2) the word "unknown" tends to confuse beginning users.
3319fe995a9Smrg	i*86 | x86_64)
3329fe995a9Smrg	  basic_machine=$basic_machine-pc
3339fe995a9Smrg	  ;;
3349fe995a9Smrg	# Object if more than one company name word.
3359fe995a9Smrg	*-*-*)
3369fe995a9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3379fe995a9Smrg		exit 1
3389fe995a9Smrg		;;
3399fe995a9Smrg	# Recognize the basic CPU types with company name.
3409fe995a9Smrg	580-* \
3419fe995a9Smrg	| a29k-* \
3429fe995a9Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3439fe995a9Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3449fe995a9Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3459fe995a9Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3469fe995a9Smrg	| avr-* | avr32-* \
3479fe995a9Smrg	| bfin-* | bs2000-* \
348b62cc08cSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* \
3499fe995a9Smrg	| clipper-* | craynv-* | cydra-* \
3509fe995a9Smrg	| d10v-* | d30v-* | dlx-* \
3519fe995a9Smrg	| elxsi-* \
352b62cc08cSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3539fe995a9Smrg	| h8300-* | h8500-* \
3549fe995a9Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3559fe995a9Smrg	| i*86-* | i860-* | i960-* | ia64-* \
3569fe995a9Smrg	| ip2k-* | iq2000-* \
357b62cc08cSmrg	| lm32-* \
3589fe995a9Smrg	| m32c-* | m32r-* | m32rle-* \
3599fe995a9Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
360b62cc08cSmrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
3619fe995a9Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3629fe995a9Smrg	| mips16-* \
3639fe995a9Smrg	| mips64-* | mips64el-* \
364b62cc08cSmrg	| mips64octeon-* | mips64octeonel-* \
3659fe995a9Smrg	| mips64orion-* | mips64orionel-* \
366b62cc08cSmrg	| mips64r5900-* | mips64r5900el-* \
367b62cc08cSmrg	| mips64vr-* | mips64vrel-* \
3689fe995a9Smrg	| mips64vr4100-* | mips64vr4100el-* \
3699fe995a9Smrg	| mips64vr4300-* | mips64vr4300el-* \
3709fe995a9Smrg	| mips64vr5000-* | mips64vr5000el-* \
3719fe995a9Smrg	| mips64vr5900-* | mips64vr5900el-* \
3729fe995a9Smrg	| mipsisa32-* | mipsisa32el-* \
3739fe995a9Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3749fe995a9Smrg	| mipsisa64-* | mipsisa64el-* \
3759fe995a9Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3769fe995a9Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3779fe995a9Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3789fe995a9Smrg	| mipstx39-* | mipstx39el-* \
3799fe995a9Smrg	| mmix-* \
3809fe995a9Smrg	| mt-* \
3819fe995a9Smrg	| msp430-* \
382b62cc08cSmrg	| nds32-* | nds32le-* | nds32be-* \
3839fe995a9Smrg	| nios-* | nios2-* \
3849fe995a9Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3859fe995a9Smrg	| orion-* \
3869fe995a9Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3879fe995a9Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3889fe995a9Smrg	| pyramid-* \
389b62cc08cSmrg	| romp-* | rs6000-* | rx-* \
390b62cc08cSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3919fe995a9Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3929fe995a9Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3939fe995a9Smrg	| sparclite-* \
3949fe995a9Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3959fe995a9Smrg	| tahoe-* | thumb-* \
3969fe995a9Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
397b62cc08cSmrg	| tile-* | tilegx-* \
3989fe995a9Smrg	| tron-* \
399b62cc08cSmrg	| ubicom32-* \
4009fe995a9Smrg	| v850-* | v850e-* | vax-* \
4019fe995a9Smrg	| we32k-* \
4029fe995a9Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
403b62cc08cSmrg	| xstormy16-* | xtensa*-* \
4049fe995a9Smrg	| ymp-* \
405b62cc08cSmrg	| z8k-* | z80-*)
406b62cc08cSmrg		;;
407b62cc08cSmrg	# Recognize the basic CPU types without company name, with glob match.
408b62cc08cSmrg	xtensa*)
409b62cc08cSmrg		basic_machine=$basic_machine-unknown
4109fe995a9Smrg		;;
4119fe995a9Smrg	# Recognize the various machine names and aliases which stand
4129fe995a9Smrg	# for a CPU type and a company and sometimes even an OS.
4139fe995a9Smrg	386bsd)
4149fe995a9Smrg		basic_machine=i386-unknown
4159fe995a9Smrg		os=-bsd
4169fe995a9Smrg		;;
4179fe995a9Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
4189fe995a9Smrg		basic_machine=m68000-att
4199fe995a9Smrg		;;
4209fe995a9Smrg	3b*)
4219fe995a9Smrg		basic_machine=we32k-att
4229fe995a9Smrg		;;
4239fe995a9Smrg	a29khif)
4249fe995a9Smrg		basic_machine=a29k-amd
4259fe995a9Smrg		os=-udi
4269fe995a9Smrg		;;
4279fe995a9Smrg    	abacus)
4289fe995a9Smrg		basic_machine=abacus-unknown
4299fe995a9Smrg		;;
4309fe995a9Smrg	adobe68k)
4319fe995a9Smrg		basic_machine=m68010-adobe
4329fe995a9Smrg		os=-scout
4339fe995a9Smrg		;;
4349fe995a9Smrg	alliant | fx80)
4359fe995a9Smrg		basic_machine=fx80-alliant
4369fe995a9Smrg		;;
4379fe995a9Smrg	altos | altos3068)
4389fe995a9Smrg		basic_machine=m68k-altos
4399fe995a9Smrg		;;
4409fe995a9Smrg	am29k)
4419fe995a9Smrg		basic_machine=a29k-none
4429fe995a9Smrg		os=-bsd
4439fe995a9Smrg		;;
4449fe995a9Smrg	amd64)
4459fe995a9Smrg		basic_machine=x86_64-pc
4469fe995a9Smrg		;;
4479fe995a9Smrg	amd64-*)
4489fe995a9Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4499fe995a9Smrg		;;
4509fe995a9Smrg	amdahl)
4519fe995a9Smrg		basic_machine=580-amdahl
4529fe995a9Smrg		os=-sysv
4539fe995a9Smrg		;;
4549fe995a9Smrg	amiga | amiga-*)
4559fe995a9Smrg		basic_machine=m68k-unknown
4569fe995a9Smrg		;;
4579fe995a9Smrg	amigaos | amigados)
4589fe995a9Smrg		basic_machine=m68k-unknown
4599fe995a9Smrg		os=-amigaos
4609fe995a9Smrg		;;
4619fe995a9Smrg	amigaunix | amix)
4629fe995a9Smrg		basic_machine=m68k-unknown
4639fe995a9Smrg		os=-sysv4
4649fe995a9Smrg		;;
4659fe995a9Smrg	apollo68)
4669fe995a9Smrg		basic_machine=m68k-apollo
4679fe995a9Smrg		os=-sysv
4689fe995a9Smrg		;;
4699fe995a9Smrg	apollo68bsd)
4709fe995a9Smrg		basic_machine=m68k-apollo
4719fe995a9Smrg		os=-bsd
4729fe995a9Smrg		;;
473b62cc08cSmrg	aros)
474b62cc08cSmrg		basic_machine=i386-pc
475b62cc08cSmrg		os=-aros
476b62cc08cSmrg		;;
4779fe995a9Smrg	aux)
4789fe995a9Smrg		basic_machine=m68k-apple
4799fe995a9Smrg		os=-aux
4809fe995a9Smrg		;;
4819fe995a9Smrg	balance)
4829fe995a9Smrg		basic_machine=ns32k-sequent
4839fe995a9Smrg		os=-dynix
4849fe995a9Smrg		;;
485b62cc08cSmrg	blackfin)
486b62cc08cSmrg		basic_machine=bfin-unknown
487b62cc08cSmrg		os=-linux
488b62cc08cSmrg		;;
489b62cc08cSmrg	blackfin-*)
490b62cc08cSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
491b62cc08cSmrg		os=-linux
492b62cc08cSmrg		;;
493b62cc08cSmrg	bluegene*)
494b62cc08cSmrg		basic_machine=powerpc-ibm
495b62cc08cSmrg		os=-cnk
496b62cc08cSmrg		;;
497b62cc08cSmrg	c54x-*)
498b62cc08cSmrg		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
499b62cc08cSmrg		;;
500b62cc08cSmrg	c55x-*)
501b62cc08cSmrg		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
502b62cc08cSmrg		;;
503b62cc08cSmrg	c6x-*)
504b62cc08cSmrg		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
505b62cc08cSmrg		;;
5069fe995a9Smrg	c90)
5079fe995a9Smrg		basic_machine=c90-cray
5089fe995a9Smrg		os=-unicos
5099fe995a9Smrg		;;
510b62cc08cSmrg        cegcc)
511b62cc08cSmrg		basic_machine=arm-unknown
512b62cc08cSmrg		os=-cegcc
513b62cc08cSmrg		;;
5149fe995a9Smrg	convex-c1)
5159fe995a9Smrg		basic_machine=c1-convex
5169fe995a9Smrg		os=-bsd
5179fe995a9Smrg		;;
5189fe995a9Smrg	convex-c2)
5199fe995a9Smrg		basic_machine=c2-convex
5209fe995a9Smrg		os=-bsd
5219fe995a9Smrg		;;
5229fe995a9Smrg	convex-c32)
5239fe995a9Smrg		basic_machine=c32-convex
5249fe995a9Smrg		os=-bsd
5259fe995a9Smrg		;;
5269fe995a9Smrg	convex-c34)
5279fe995a9Smrg		basic_machine=c34-convex
5289fe995a9Smrg		os=-bsd
5299fe995a9Smrg		;;
5309fe995a9Smrg	convex-c38)
5319fe995a9Smrg		basic_machine=c38-convex
5329fe995a9Smrg		os=-bsd
5339fe995a9Smrg		;;
5349fe995a9Smrg	cray | j90)
5359fe995a9Smrg		basic_machine=j90-cray
5369fe995a9Smrg		os=-unicos
5379fe995a9Smrg		;;
5389fe995a9Smrg	craynv)
5399fe995a9Smrg		basic_machine=craynv-cray
5409fe995a9Smrg		os=-unicosmp
5419fe995a9Smrg		;;
542b62cc08cSmrg	cr16)
543b62cc08cSmrg		basic_machine=cr16-unknown
5449fe995a9Smrg		os=-elf
5459fe995a9Smrg		;;
5469fe995a9Smrg	crds | unos)
5479fe995a9Smrg		basic_machine=m68k-crds
5489fe995a9Smrg		;;
5499fe995a9Smrg	crisv32 | crisv32-* | etraxfs*)
5509fe995a9Smrg		basic_machine=crisv32-axis
5519fe995a9Smrg		;;
5529fe995a9Smrg	cris | cris-* | etrax*)
5539fe995a9Smrg		basic_machine=cris-axis
5549fe995a9Smrg		;;
5559fe995a9Smrg	crx)
5569fe995a9Smrg		basic_machine=crx-unknown
5579fe995a9Smrg		os=-elf
5589fe995a9Smrg		;;
5599fe995a9Smrg	da30 | da30-*)
5609fe995a9Smrg		basic_machine=m68k-da30
5619fe995a9Smrg		;;
5629fe995a9Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5639fe995a9Smrg		basic_machine=mips-dec
5649fe995a9Smrg		;;
5659fe995a9Smrg	decsystem10* | dec10*)
5669fe995a9Smrg		basic_machine=pdp10-dec
5679fe995a9Smrg		os=-tops10
5689fe995a9Smrg		;;
5699fe995a9Smrg	decsystem20* | dec20*)
5709fe995a9Smrg		basic_machine=pdp10-dec
5719fe995a9Smrg		os=-tops20
5729fe995a9Smrg		;;
5739fe995a9Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5749fe995a9Smrg	      | 3300-motorola | delta-motorola)
5759fe995a9Smrg		basic_machine=m68k-motorola
5769fe995a9Smrg		;;
5779fe995a9Smrg	delta88)
5789fe995a9Smrg		basic_machine=m88k-motorola
5799fe995a9Smrg		os=-sysv3
5809fe995a9Smrg		;;
581b62cc08cSmrg	dicos)
582b62cc08cSmrg		basic_machine=i686-pc
583b62cc08cSmrg		os=-dicos
584b62cc08cSmrg		;;
5859fe995a9Smrg	djgpp)
5869fe995a9Smrg		basic_machine=i586-pc
5879fe995a9Smrg		os=-msdosdjgpp
5889fe995a9Smrg		;;
5899fe995a9Smrg	dpx20 | dpx20-*)
5909fe995a9Smrg		basic_machine=rs6000-bull
5919fe995a9Smrg		os=-bosx
5929fe995a9Smrg		;;
5939fe995a9Smrg	dpx2* | dpx2*-bull)
5949fe995a9Smrg		basic_machine=m68k-bull
5959fe995a9Smrg		os=-sysv3
5969fe995a9Smrg		;;
5979fe995a9Smrg	ebmon29k)
5989fe995a9Smrg		basic_machine=a29k-amd
5999fe995a9Smrg		os=-ebmon
6009fe995a9Smrg		;;
6019fe995a9Smrg	elxsi)
6029fe995a9Smrg		basic_machine=elxsi-elxsi
6039fe995a9Smrg		os=-bsd
6049fe995a9Smrg		;;
6059fe995a9Smrg	encore | umax | mmax)
6069fe995a9Smrg		basic_machine=ns32k-encore
6079fe995a9Smrg		;;
6089fe995a9Smrg	es1800 | OSE68k | ose68k | ose | OSE)
6099fe995a9Smrg		basic_machine=m68k-ericsson
6109fe995a9Smrg		os=-ose
6119fe995a9Smrg		;;
6129fe995a9Smrg	fx2800)
6139fe995a9Smrg		basic_machine=i860-alliant
6149fe995a9Smrg		;;
6159fe995a9Smrg	genix)
6169fe995a9Smrg		basic_machine=ns32k-ns
6179fe995a9Smrg		;;
6189fe995a9Smrg	gmicro)
6199fe995a9Smrg		basic_machine=tron-gmicro
6209fe995a9Smrg		os=-sysv
6219fe995a9Smrg		;;
6229fe995a9Smrg	go32)
6239fe995a9Smrg		basic_machine=i386-pc
6249fe995a9Smrg		os=-go32
6259fe995a9Smrg		;;
6269fe995a9Smrg	h3050r* | hiux*)
6279fe995a9Smrg		basic_machine=hppa1.1-hitachi
6289fe995a9Smrg		os=-hiuxwe2
6299fe995a9Smrg		;;
6309fe995a9Smrg	h8300hms)
6319fe995a9Smrg		basic_machine=h8300-hitachi
6329fe995a9Smrg		os=-hms
6339fe995a9Smrg		;;
6349fe995a9Smrg	h8300xray)
6359fe995a9Smrg		basic_machine=h8300-hitachi
6369fe995a9Smrg		os=-xray
6379fe995a9Smrg		;;
6389fe995a9Smrg	h8500hms)
6399fe995a9Smrg		basic_machine=h8500-hitachi
6409fe995a9Smrg		os=-hms
6419fe995a9Smrg		;;
6429fe995a9Smrg	harris)
6439fe995a9Smrg		basic_machine=m88k-harris
6449fe995a9Smrg		os=-sysv3
6459fe995a9Smrg		;;
6469fe995a9Smrg	hp300-*)
6479fe995a9Smrg		basic_machine=m68k-hp
6489fe995a9Smrg		;;
6499fe995a9Smrg	hp300bsd)
6509fe995a9Smrg		basic_machine=m68k-hp
6519fe995a9Smrg		os=-bsd
6529fe995a9Smrg		;;
6539fe995a9Smrg	hp300hpux)
6549fe995a9Smrg		basic_machine=m68k-hp
6559fe995a9Smrg		os=-hpux
6569fe995a9Smrg		;;
6579fe995a9Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6589fe995a9Smrg		basic_machine=hppa1.0-hp
6599fe995a9Smrg		;;
6609fe995a9Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6619fe995a9Smrg		basic_machine=m68000-hp
6629fe995a9Smrg		;;
6639fe995a9Smrg	hp9k3[2-9][0-9])
6649fe995a9Smrg		basic_machine=m68k-hp
6659fe995a9Smrg		;;
6669fe995a9Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6679fe995a9Smrg		basic_machine=hppa1.0-hp
6689fe995a9Smrg		;;
6699fe995a9Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6709fe995a9Smrg		basic_machine=hppa1.1-hp
6719fe995a9Smrg		;;
6729fe995a9Smrg	hp9k78[0-9] | hp78[0-9])
6739fe995a9Smrg		# FIXME: really hppa2.0-hp
6749fe995a9Smrg		basic_machine=hppa1.1-hp
6759fe995a9Smrg		;;
6769fe995a9Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6779fe995a9Smrg		# FIXME: really hppa2.0-hp
6789fe995a9Smrg		basic_machine=hppa1.1-hp
6799fe995a9Smrg		;;
6809fe995a9Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6819fe995a9Smrg		basic_machine=hppa1.1-hp
6829fe995a9Smrg		;;
6839fe995a9Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6849fe995a9Smrg		basic_machine=hppa1.0-hp
6859fe995a9Smrg		;;
6869fe995a9Smrg	hppa-next)
6879fe995a9Smrg		os=-nextstep3
6889fe995a9Smrg		;;
6899fe995a9Smrg	hppaosf)
6909fe995a9Smrg		basic_machine=hppa1.1-hp
6919fe995a9Smrg		os=-osf
6929fe995a9Smrg		;;
6939fe995a9Smrg	hppro)
6949fe995a9Smrg		basic_machine=hppa1.1-hp
6959fe995a9Smrg		os=-proelf
6969fe995a9Smrg		;;
6979fe995a9Smrg	i370-ibm* | ibm*)
6989fe995a9Smrg		basic_machine=i370-ibm
6999fe995a9Smrg		;;
7009fe995a9Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
7019fe995a9Smrg	i*86v32)
7029fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7039fe995a9Smrg		os=-sysv32
7049fe995a9Smrg		;;
7059fe995a9Smrg	i*86v4*)
7069fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7079fe995a9Smrg		os=-sysv4
7089fe995a9Smrg		;;
7099fe995a9Smrg	i*86v)
7109fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7119fe995a9Smrg		os=-sysv
7129fe995a9Smrg		;;
7139fe995a9Smrg	i*86sol2)
7149fe995a9Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
7159fe995a9Smrg		os=-solaris2
7169fe995a9Smrg		;;
7179fe995a9Smrg	i386mach)
7189fe995a9Smrg		basic_machine=i386-mach
7199fe995a9Smrg		os=-mach
7209fe995a9Smrg		;;
7219fe995a9Smrg	i386-vsta | vsta)
7229fe995a9Smrg		basic_machine=i386-unknown
7239fe995a9Smrg		os=-vsta
7249fe995a9Smrg		;;
7259fe995a9Smrg	iris | iris4d)
7269fe995a9Smrg		basic_machine=mips-sgi
7279fe995a9Smrg		case $os in
7289fe995a9Smrg		    -irix*)
7299fe995a9Smrg			;;
7309fe995a9Smrg		    *)
7319fe995a9Smrg			os=-irix4
7329fe995a9Smrg			;;
7339fe995a9Smrg		esac
7349fe995a9Smrg		;;
7359fe995a9Smrg	isi68 | isi)
7369fe995a9Smrg		basic_machine=m68k-isi
7379fe995a9Smrg		os=-sysv
7389fe995a9Smrg		;;
739b62cc08cSmrg	m68knommu)
740b62cc08cSmrg		basic_machine=m68k-unknown
741b62cc08cSmrg		os=-linux
742b62cc08cSmrg		;;
743b62cc08cSmrg	m68knommu-*)
744b62cc08cSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
745b62cc08cSmrg		os=-linux
746b62cc08cSmrg		;;
7479fe995a9Smrg	m88k-omron*)
7489fe995a9Smrg		basic_machine=m88k-omron
7499fe995a9Smrg		;;
7509fe995a9Smrg	magnum | m3230)
7519fe995a9Smrg		basic_machine=mips-mips
7529fe995a9Smrg		os=-sysv
7539fe995a9Smrg		;;
7549fe995a9Smrg	merlin)
7559fe995a9Smrg		basic_machine=ns32k-utek
7569fe995a9Smrg		os=-sysv
7579fe995a9Smrg		;;
758b62cc08cSmrg        microblaze)
759b62cc08cSmrg		basic_machine=microblaze-xilinx
760b62cc08cSmrg		;;
7619fe995a9Smrg	mingw32)
7629fe995a9Smrg		basic_machine=i386-pc
7639fe995a9Smrg		os=-mingw32
7649fe995a9Smrg		;;
765b62cc08cSmrg	mingw32ce)
766b62cc08cSmrg		basic_machine=arm-unknown
767b62cc08cSmrg		os=-mingw32ce
768b62cc08cSmrg		;;
7699fe995a9Smrg	miniframe)
7709fe995a9Smrg		basic_machine=m68000-convergent
7719fe995a9Smrg		;;
7729fe995a9Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7739fe995a9Smrg		basic_machine=m68k-atari
7749fe995a9Smrg		os=-mint
7759fe995a9Smrg		;;
7769fe995a9Smrg	mips3*-*)
7779fe995a9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7789fe995a9Smrg		;;
7799fe995a9Smrg	mips3*)
7809fe995a9Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7819fe995a9Smrg		;;
7829fe995a9Smrg	monitor)
7839fe995a9Smrg		basic_machine=m68k-rom68k
7849fe995a9Smrg		os=-coff
7859fe995a9Smrg		;;
7869fe995a9Smrg	morphos)
7879fe995a9Smrg		basic_machine=powerpc-unknown
7889fe995a9Smrg		os=-morphos
7899fe995a9Smrg		;;
7909fe995a9Smrg	msdos)
7919fe995a9Smrg		basic_machine=i386-pc
7929fe995a9Smrg		os=-msdos
7939fe995a9Smrg		;;
7949fe995a9Smrg	ms1-*)
7959fe995a9Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7969fe995a9Smrg		;;
7979fe995a9Smrg	mvs)
7989fe995a9Smrg		basic_machine=i370-ibm
7999fe995a9Smrg		os=-mvs
8009fe995a9Smrg		;;
8019fe995a9Smrg	ncr3000)
8029fe995a9Smrg		basic_machine=i486-ncr
8039fe995a9Smrg		os=-sysv4
8049fe995a9Smrg		;;
8059fe995a9Smrg	netbsd386)
8069fe995a9Smrg		basic_machine=i386-unknown
8079fe995a9Smrg		os=-netbsd
8089fe995a9Smrg		;;
8099fe995a9Smrg	netwinder)
8109fe995a9Smrg		basic_machine=armv4l-rebel
8119fe995a9Smrg		os=-linux
8129fe995a9Smrg		;;
8139fe995a9Smrg	news | news700 | news800 | news900)
8149fe995a9Smrg		basic_machine=m68k-sony
8159fe995a9Smrg		os=-newsos
8169fe995a9Smrg		;;
8179fe995a9Smrg	news1000)
8189fe995a9Smrg		basic_machine=m68030-sony
8199fe995a9Smrg		os=-newsos
8209fe995a9Smrg		;;
8219fe995a9Smrg	news-3600 | risc-news)
8229fe995a9Smrg		basic_machine=mips-sony
8239fe995a9Smrg		os=-newsos
8249fe995a9Smrg		;;
8259fe995a9Smrg	necv70)
8269fe995a9Smrg		basic_machine=v70-nec
8279fe995a9Smrg		os=-sysv
8289fe995a9Smrg		;;
8299fe995a9Smrg	next | m*-next )
8309fe995a9Smrg		basic_machine=m68k-next
8319fe995a9Smrg		case $os in
8329fe995a9Smrg		    -nextstep* )
8339fe995a9Smrg			;;
8349fe995a9Smrg		    -ns2*)
8359fe995a9Smrg		      os=-nextstep2
8369fe995a9Smrg			;;
8379fe995a9Smrg		    *)
8389fe995a9Smrg		      os=-nextstep3
8399fe995a9Smrg			;;
8409fe995a9Smrg		esac
8419fe995a9Smrg		;;
8429fe995a9Smrg	nh3000)
8439fe995a9Smrg		basic_machine=m68k-harris
8449fe995a9Smrg		os=-cxux
8459fe995a9Smrg		;;
8469fe995a9Smrg	nh[45]000)
8479fe995a9Smrg		basic_machine=m88k-harris
8489fe995a9Smrg		os=-cxux
8499fe995a9Smrg		;;
8509fe995a9Smrg	nindy960)
8519fe995a9Smrg		basic_machine=i960-intel
8529fe995a9Smrg		os=-nindy
8539fe995a9Smrg		;;
8549fe995a9Smrg	mon960)
8559fe995a9Smrg		basic_machine=i960-intel
8569fe995a9Smrg		os=-mon960
8579fe995a9Smrg		;;
8589fe995a9Smrg	nonstopux)
8599fe995a9Smrg		basic_machine=mips-compaq
8609fe995a9Smrg		os=-nonstopux
8619fe995a9Smrg		;;
8629fe995a9Smrg	np1)
8639fe995a9Smrg		basic_machine=np1-gould
8649fe995a9Smrg		;;
865b62cc08cSmrg        neo-tandem)
866b62cc08cSmrg		basic_machine=neo-tandem
867b62cc08cSmrg		;;
868b62cc08cSmrg        nse-tandem)
869b62cc08cSmrg		basic_machine=nse-tandem
870b62cc08cSmrg		;;
8719fe995a9Smrg	nsr-tandem)
8729fe995a9Smrg		basic_machine=nsr-tandem
8739fe995a9Smrg		;;
8749fe995a9Smrg	op50n-* | op60c-*)
8759fe995a9Smrg		basic_machine=hppa1.1-oki
8769fe995a9Smrg		os=-proelf
8779fe995a9Smrg		;;
8789fe995a9Smrg	openrisc | openrisc-*)
8799fe995a9Smrg		basic_machine=or32-unknown
8809fe995a9Smrg		;;
8819fe995a9Smrg	os400)
8829fe995a9Smrg		basic_machine=powerpc-ibm
8839fe995a9Smrg		os=-os400
8849fe995a9Smrg		;;
8859fe995a9Smrg	OSE68000 | ose68000)
8869fe995a9Smrg		basic_machine=m68000-ericsson
8879fe995a9Smrg		os=-ose
8889fe995a9Smrg		;;
8899fe995a9Smrg	os68k)
8909fe995a9Smrg		basic_machine=m68k-none
8919fe995a9Smrg		os=-os68k
8929fe995a9Smrg		;;
8939fe995a9Smrg	pa-hitachi)
8949fe995a9Smrg		basic_machine=hppa1.1-hitachi
8959fe995a9Smrg		os=-hiuxwe2
8969fe995a9Smrg		;;
8979fe995a9Smrg	paragon)
8989fe995a9Smrg		basic_machine=i860-intel
8999fe995a9Smrg		os=-osf
9009fe995a9Smrg		;;
901b62cc08cSmrg	parisc)
902b62cc08cSmrg		basic_machine=hppa-unknown
903b62cc08cSmrg		os=-linux
904b62cc08cSmrg		;;
905b62cc08cSmrg	parisc-*)
906b62cc08cSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
907b62cc08cSmrg		os=-linux
908b62cc08cSmrg		;;
9099fe995a9Smrg	pbd)
9109fe995a9Smrg		basic_machine=sparc-tti
9119fe995a9Smrg		;;
9129fe995a9Smrg	pbb)
9139fe995a9Smrg		basic_machine=m68k-tti
9149fe995a9Smrg		;;
9159fe995a9Smrg	pc532 | pc532-*)
9169fe995a9Smrg		basic_machine=ns32k-pc532
9179fe995a9Smrg		;;
9189fe995a9Smrg	pc98)
9199fe995a9Smrg		basic_machine=i386-pc
9209fe995a9Smrg		;;
9219fe995a9Smrg	pc98-*)
9229fe995a9Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
9239fe995a9Smrg		;;
9249fe995a9Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
9259fe995a9Smrg		basic_machine=i586-pc
9269fe995a9Smrg		;;
9279fe995a9Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
9289fe995a9Smrg		basic_machine=i686-pc
9299fe995a9Smrg		;;
9309fe995a9Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
9319fe995a9Smrg		basic_machine=i686-pc
9329fe995a9Smrg		;;
9339fe995a9Smrg	pentium4)
9349fe995a9Smrg		basic_machine=i786-pc
9359fe995a9Smrg		;;
9369fe995a9Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
9379fe995a9Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
9389fe995a9Smrg		;;
9399fe995a9Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
9409fe995a9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9419fe995a9Smrg		;;
9429fe995a9Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
9439fe995a9Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
9449fe995a9Smrg		;;
9459fe995a9Smrg	pentium4-*)
9469fe995a9Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9479fe995a9Smrg		;;
9489fe995a9Smrg	pn)
9499fe995a9Smrg		basic_machine=pn-gould
9509fe995a9Smrg		;;
9519fe995a9Smrg	power)	basic_machine=power-ibm
9529fe995a9Smrg		;;
9539fe995a9Smrg	ppc)	basic_machine=powerpc-unknown
9549fe995a9Smrg		;;
9559fe995a9Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9569fe995a9Smrg		;;
9579fe995a9Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9589fe995a9Smrg		basic_machine=powerpcle-unknown
9599fe995a9Smrg		;;
9609fe995a9Smrg	ppcle-* | powerpclittle-*)
9619fe995a9Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9629fe995a9Smrg		;;
9639fe995a9Smrg	ppc64)	basic_machine=powerpc64-unknown
9649fe995a9Smrg		;;
9659fe995a9Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9669fe995a9Smrg		;;
9679fe995a9Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9689fe995a9Smrg		basic_machine=powerpc64le-unknown
9699fe995a9Smrg		;;
9709fe995a9Smrg	ppc64le-* | powerpc64little-*)
9719fe995a9Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9729fe995a9Smrg		;;
9739fe995a9Smrg	ps2)
9749fe995a9Smrg		basic_machine=i386-ibm
9759fe995a9Smrg		;;
9769fe995a9Smrg	pw32)
9779fe995a9Smrg		basic_machine=i586-unknown
9789fe995a9Smrg		os=-pw32
9799fe995a9Smrg		;;
9809fe995a9Smrg	rdos)
9819fe995a9Smrg		basic_machine=i386-pc
9829fe995a9Smrg		os=-rdos
9839fe995a9Smrg		;;
9849fe995a9Smrg	rom68k)
9859fe995a9Smrg		basic_machine=m68k-rom68k
9869fe995a9Smrg		os=-coff
9879fe995a9Smrg		;;
9889fe995a9Smrg	rm[46]00)
9899fe995a9Smrg		basic_machine=mips-siemens
9909fe995a9Smrg		;;
9919fe995a9Smrg	rtpc | rtpc-*)
9929fe995a9Smrg		basic_machine=romp-ibm
9939fe995a9Smrg		;;
9949fe995a9Smrg	s390 | s390-*)
9959fe995a9Smrg		basic_machine=s390-ibm
9969fe995a9Smrg		;;
9979fe995a9Smrg	s390x | s390x-*)
9989fe995a9Smrg		basic_machine=s390x-ibm
9999fe995a9Smrg		;;
10009fe995a9Smrg	sa29200)
10019fe995a9Smrg		basic_machine=a29k-amd
10029fe995a9Smrg		os=-udi
10039fe995a9Smrg		;;
10049fe995a9Smrg	sb1)
10059fe995a9Smrg		basic_machine=mipsisa64sb1-unknown
10069fe995a9Smrg		;;
10079fe995a9Smrg	sb1el)
10089fe995a9Smrg		basic_machine=mipsisa64sb1el-unknown
10099fe995a9Smrg		;;
10109fe995a9Smrg	sde)
10119fe995a9Smrg		basic_machine=mipsisa32-sde
10129fe995a9Smrg		os=-elf
10139fe995a9Smrg		;;
10149fe995a9Smrg	sei)
10159fe995a9Smrg		basic_machine=mips-sei
10169fe995a9Smrg		os=-seiux
10179fe995a9Smrg		;;
10189fe995a9Smrg	sequent)
10199fe995a9Smrg		basic_machine=i386-sequent
10209fe995a9Smrg		;;
10219fe995a9Smrg	sh)
10229fe995a9Smrg		basic_machine=sh-hitachi
10239fe995a9Smrg		os=-hms
10249fe995a9Smrg		;;
1025b62cc08cSmrg	sh5el)
1026b62cc08cSmrg		basic_machine=sh5le-unknown
1027b62cc08cSmrg		;;
10289fe995a9Smrg	sh64)
10299fe995a9Smrg		basic_machine=sh64-unknown
10309fe995a9Smrg		;;
10319fe995a9Smrg	sparclite-wrs | simso-wrs)
10329fe995a9Smrg		basic_machine=sparclite-wrs
10339fe995a9Smrg		os=-vxworks
10349fe995a9Smrg		;;
10359fe995a9Smrg	sps7)
10369fe995a9Smrg		basic_machine=m68k-bull
10379fe995a9Smrg		os=-sysv2
10389fe995a9Smrg		;;
10399fe995a9Smrg	spur)
10409fe995a9Smrg		basic_machine=spur-unknown
10419fe995a9Smrg		;;
10429fe995a9Smrg	st2000)
10439fe995a9Smrg		basic_machine=m68k-tandem
10449fe995a9Smrg		;;
10459fe995a9Smrg	stratus)
10469fe995a9Smrg		basic_machine=i860-stratus
10479fe995a9Smrg		os=-sysv4
10489fe995a9Smrg		;;
10499fe995a9Smrg	sun2)
10509fe995a9Smrg		basic_machine=m68000-sun
10519fe995a9Smrg		;;
10529fe995a9Smrg	sun2os3)
10539fe995a9Smrg		basic_machine=m68000-sun
10549fe995a9Smrg		os=-sunos3
10559fe995a9Smrg		;;
10569fe995a9Smrg	sun2os4)
10579fe995a9Smrg		basic_machine=m68000-sun
10589fe995a9Smrg		os=-sunos4
10599fe995a9Smrg		;;
10609fe995a9Smrg	sun3os3)
10619fe995a9Smrg		basic_machine=m68k-sun
10629fe995a9Smrg		os=-sunos3
10639fe995a9Smrg		;;
10649fe995a9Smrg	sun3os4)
10659fe995a9Smrg		basic_machine=m68k-sun
10669fe995a9Smrg		os=-sunos4
10679fe995a9Smrg		;;
10689fe995a9Smrg	sun4os3)
10699fe995a9Smrg		basic_machine=sparc-sun
10709fe995a9Smrg		os=-sunos3
10719fe995a9Smrg		;;
10729fe995a9Smrg	sun4os4)
10739fe995a9Smrg		basic_machine=sparc-sun
10749fe995a9Smrg		os=-sunos4
10759fe995a9Smrg		;;
10769fe995a9Smrg	sun4sol2)
10779fe995a9Smrg		basic_machine=sparc-sun
10789fe995a9Smrg		os=-solaris2
10799fe995a9Smrg		;;
10809fe995a9Smrg	sun3 | sun3-*)
10819fe995a9Smrg		basic_machine=m68k-sun
10829fe995a9Smrg		;;
10839fe995a9Smrg	sun4)
10849fe995a9Smrg		basic_machine=sparc-sun
10859fe995a9Smrg		;;
10869fe995a9Smrg	sun386 | sun386i | roadrunner)
10879fe995a9Smrg		basic_machine=i386-sun
10889fe995a9Smrg		;;
10899fe995a9Smrg	sv1)
10909fe995a9Smrg		basic_machine=sv1-cray
10919fe995a9Smrg		os=-unicos
10929fe995a9Smrg		;;
10939fe995a9Smrg	symmetry)
10949fe995a9Smrg		basic_machine=i386-sequent
10959fe995a9Smrg		os=-dynix
10969fe995a9Smrg		;;
10979fe995a9Smrg	t3e)
10989fe995a9Smrg		basic_machine=alphaev5-cray
10999fe995a9Smrg		os=-unicos
11009fe995a9Smrg		;;
11019fe995a9Smrg	t90)
11029fe995a9Smrg		basic_machine=t90-cray
11039fe995a9Smrg		os=-unicos
11049fe995a9Smrg		;;
1105b62cc08cSmrg        # This must be matched before tile*.
1106b62cc08cSmrg        tilegx*)
1107b62cc08cSmrg		basic_machine=tilegx-unknown
1108b62cc08cSmrg		os=-linux-gnu
11099fe995a9Smrg		;;
1110b62cc08cSmrg	tile*)
1111b62cc08cSmrg		basic_machine=tile-unknown
1112b62cc08cSmrg		os=-linux-gnu
11139fe995a9Smrg		;;
11149fe995a9Smrg	tx39)
11159fe995a9Smrg		basic_machine=mipstx39-unknown
11169fe995a9Smrg		;;
11179fe995a9Smrg	tx39el)
11189fe995a9Smrg		basic_machine=mipstx39el-unknown
11199fe995a9Smrg		;;
11209fe995a9Smrg	toad1)
11219fe995a9Smrg		basic_machine=pdp10-xkl
11229fe995a9Smrg		os=-tops20
11239fe995a9Smrg		;;
11249fe995a9Smrg	tower | tower-32)
11259fe995a9Smrg		basic_machine=m68k-ncr
11269fe995a9Smrg		;;
11279fe995a9Smrg	tpf)
11289fe995a9Smrg		basic_machine=s390x-ibm
11299fe995a9Smrg		os=-tpf
11309fe995a9Smrg		;;
11319fe995a9Smrg	udi29k)
11329fe995a9Smrg		basic_machine=a29k-amd
11339fe995a9Smrg		os=-udi
11349fe995a9Smrg		;;
11359fe995a9Smrg	ultra3)
11369fe995a9Smrg		basic_machine=a29k-nyu
11379fe995a9Smrg		os=-sym1
11389fe995a9Smrg		;;
11399fe995a9Smrg	v810 | necv810)
11409fe995a9Smrg		basic_machine=v810-nec
11419fe995a9Smrg		os=-none
11429fe995a9Smrg		;;
11439fe995a9Smrg	vaxv)
11449fe995a9Smrg		basic_machine=vax-dec
11459fe995a9Smrg		os=-sysv
11469fe995a9Smrg		;;
11479fe995a9Smrg	vms)
11489fe995a9Smrg		basic_machine=vax-dec
11499fe995a9Smrg		os=-vms
11509fe995a9Smrg		;;
11519fe995a9Smrg	vpp*|vx|vx-*)
11529fe995a9Smrg		basic_machine=f301-fujitsu
11539fe995a9Smrg		;;
11549fe995a9Smrg	vxworks960)
11559fe995a9Smrg		basic_machine=i960-wrs
11569fe995a9Smrg		os=-vxworks
11579fe995a9Smrg		;;
11589fe995a9Smrg	vxworks68)
11599fe995a9Smrg		basic_machine=m68k-wrs
11609fe995a9Smrg		os=-vxworks
11619fe995a9Smrg		;;
11629fe995a9Smrg	vxworks29k)
11639fe995a9Smrg		basic_machine=a29k-wrs
11649fe995a9Smrg		os=-vxworks
11659fe995a9Smrg		;;
11669fe995a9Smrg	w65*)
11679fe995a9Smrg		basic_machine=w65-wdc
11689fe995a9Smrg		os=-none
11699fe995a9Smrg		;;
11709fe995a9Smrg	w89k-*)
11719fe995a9Smrg		basic_machine=hppa1.1-winbond
11729fe995a9Smrg		os=-proelf
11739fe995a9Smrg		;;
11749fe995a9Smrg	xbox)
11759fe995a9Smrg		basic_machine=i686-pc
11769fe995a9Smrg		os=-mingw32
11779fe995a9Smrg		;;
11789fe995a9Smrg	xps | xps100)
11799fe995a9Smrg		basic_machine=xps100-honeywell
11809fe995a9Smrg		;;
11819fe995a9Smrg	ymp)
11829fe995a9Smrg		basic_machine=ymp-cray
11839fe995a9Smrg		os=-unicos
11849fe995a9Smrg		;;
11859fe995a9Smrg	z8k-*-coff)
11869fe995a9Smrg		basic_machine=z8k-unknown
11879fe995a9Smrg		os=-sim
11889fe995a9Smrg		;;
1189b62cc08cSmrg	z80-*-coff)
1190b62cc08cSmrg		basic_machine=z80-unknown
1191b62cc08cSmrg		os=-sim
1192b62cc08cSmrg		;;
11939fe995a9Smrg	none)
11949fe995a9Smrg		basic_machine=none-none
11959fe995a9Smrg		os=-none
11969fe995a9Smrg		;;
11979fe995a9Smrg
11989fe995a9Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11999fe995a9Smrg# some cases the only manufacturer, in others, it is the most popular.
12009fe995a9Smrg	w89k)
12019fe995a9Smrg		basic_machine=hppa1.1-winbond
12029fe995a9Smrg		;;
12039fe995a9Smrg	op50n)
12049fe995a9Smrg		basic_machine=hppa1.1-oki
12059fe995a9Smrg		;;
12069fe995a9Smrg	op60c)
12079fe995a9Smrg		basic_machine=hppa1.1-oki
12089fe995a9Smrg		;;
12099fe995a9Smrg	romp)
12109fe995a9Smrg		basic_machine=romp-ibm
12119fe995a9Smrg		;;
12129fe995a9Smrg	mmix)
12139fe995a9Smrg		basic_machine=mmix-knuth
12149fe995a9Smrg		;;
12159fe995a9Smrg	rs6000)
12169fe995a9Smrg		basic_machine=rs6000-ibm
12179fe995a9Smrg		;;
12189fe995a9Smrg	vax)
12199fe995a9Smrg		basic_machine=vax-dec
12209fe995a9Smrg		;;
12219fe995a9Smrg	pdp10)
12229fe995a9Smrg		# there are many clones, so DEC is not a safe bet
12239fe995a9Smrg		basic_machine=pdp10-unknown
12249fe995a9Smrg		;;
12259fe995a9Smrg	pdp11)
12269fe995a9Smrg		basic_machine=pdp11-dec
12279fe995a9Smrg		;;
12289fe995a9Smrg	we32k)
12299fe995a9Smrg		basic_machine=we32k-att
12309fe995a9Smrg		;;
1231b62cc08cSmrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
12329fe995a9Smrg		basic_machine=sh-unknown
12339fe995a9Smrg		;;
12349fe995a9Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
12359fe995a9Smrg		basic_machine=sparc-sun
12369fe995a9Smrg		;;
12379fe995a9Smrg	cydra)
12389fe995a9Smrg		basic_machine=cydra-cydrome
12399fe995a9Smrg		;;
12409fe995a9Smrg	orion)
12419fe995a9Smrg		basic_machine=orion-highlevel
12429fe995a9Smrg		;;
12439fe995a9Smrg	orion105)
12449fe995a9Smrg		basic_machine=clipper-highlevel
12459fe995a9Smrg		;;
12469fe995a9Smrg	mac | mpw | mac-mpw)
12479fe995a9Smrg		basic_machine=m68k-apple
12489fe995a9Smrg		;;
12499fe995a9Smrg	pmac | pmac-mpw)
12509fe995a9Smrg		basic_machine=powerpc-apple
12519fe995a9Smrg		;;
12529fe995a9Smrg	*-unknown)
12539fe995a9Smrg		# Make sure to match an already-canonicalized machine name.
12549fe995a9Smrg		;;
12559fe995a9Smrg	*)
12569fe995a9Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12579fe995a9Smrg		exit 1
12589fe995a9Smrg		;;
12599fe995a9Smrgesac
12609fe995a9Smrg
12619fe995a9Smrg# Here we canonicalize certain aliases for manufacturers.
12629fe995a9Smrgcase $basic_machine in
12639fe995a9Smrg	*-digital*)
12649fe995a9Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12659fe995a9Smrg		;;
12669fe995a9Smrg	*-commodore*)
12679fe995a9Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12689fe995a9Smrg		;;
12699fe995a9Smrg	*)
12709fe995a9Smrg		;;
12719fe995a9Smrgesac
12729fe995a9Smrg
12739fe995a9Smrg# Decode manufacturer-specific aliases for certain operating systems.
12749fe995a9Smrg
12759fe995a9Smrgif [ x"$os" != x"" ]
12769fe995a9Smrgthen
12779fe995a9Smrgcase $os in
12789fe995a9Smrg        # First match some system type aliases
12799fe995a9Smrg        # that might get confused with valid system types.
12809fe995a9Smrg	# -solaris* is a basic system type, with this one exception.
1281b62cc08cSmrg        -auroraux)
1282b62cc08cSmrg	        os=-auroraux
1283b62cc08cSmrg		;;
12849fe995a9Smrg	-solaris1 | -solaris1.*)
12859fe995a9Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12869fe995a9Smrg		;;
12879fe995a9Smrg	-solaris)
12889fe995a9Smrg		os=-solaris2
12899fe995a9Smrg		;;
12909fe995a9Smrg	-svr4*)
12919fe995a9Smrg		os=-sysv4
12929fe995a9Smrg		;;
12939fe995a9Smrg	-unixware*)
12949fe995a9Smrg		os=-sysv4.2uw
12959fe995a9Smrg		;;
12969fe995a9Smrg	-gnu/linux*)
12979fe995a9Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12989fe995a9Smrg		;;
12999fe995a9Smrg	# First accept the basic system types.
13009fe995a9Smrg	# The portable systems comes first.
13019fe995a9Smrg	# Each alternative MUST END IN A *, to match a version number.
13029fe995a9Smrg	# -sysv* is not here because it comes later, after sysvr4.
13039fe995a9Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1304b62cc08cSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1305b62cc08cSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1306b62cc08cSmrg	      | -sym* | -kopensolaris* \
13079fe995a9Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1308b62cc08cSmrg	      | -aos* | -aros* \
13099fe995a9Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
13109fe995a9Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
13119fe995a9Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
13129fe995a9Smrg	      | -openbsd* | -solidbsd* \
13139fe995a9Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
13149fe995a9Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
13159fe995a9Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
13169fe995a9Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1317b62cc08cSmrg	      | -chorusos* | -chorusrdb* | -cegcc* \
13189fe995a9Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1319b62cc08cSmrg	      | -mingw32* | -linux-gnu* | -linux-android* \
1320b62cc08cSmrg	      | -linux-newlib* | -linux-uclibc* \
13219fe995a9Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
13229fe995a9Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
13239fe995a9Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
13249fe995a9Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
13259fe995a9Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
13269fe995a9Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
13279fe995a9Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1328b62cc08cSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
13299fe995a9Smrg	# Remember, each alternative MUST END IN *, to match a version number.
13309fe995a9Smrg		;;
13319fe995a9Smrg	-qnx*)
13329fe995a9Smrg		case $basic_machine in
13339fe995a9Smrg		    x86-* | i*86-*)
13349fe995a9Smrg			;;
13359fe995a9Smrg		    *)
13369fe995a9Smrg			os=-nto$os
13379fe995a9Smrg			;;
13389fe995a9Smrg		esac
13399fe995a9Smrg		;;
13409fe995a9Smrg	-nto-qnx*)
13419fe995a9Smrg		;;
13429fe995a9Smrg	-nto*)
13439fe995a9Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13449fe995a9Smrg		;;
13459fe995a9Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13469fe995a9Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13479fe995a9Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13489fe995a9Smrg		;;
13499fe995a9Smrg	-mac*)
13509fe995a9Smrg		os=`echo $os | sed -e 's|mac|macos|'`
13519fe995a9Smrg		;;
13529fe995a9Smrg	-linux-dietlibc)
13539fe995a9Smrg		os=-linux-dietlibc
13549fe995a9Smrg		;;
13559fe995a9Smrg	-linux*)
13569fe995a9Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13579fe995a9Smrg		;;
13589fe995a9Smrg	-sunos5*)
13599fe995a9Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13609fe995a9Smrg		;;
13619fe995a9Smrg	-sunos6*)
13629fe995a9Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13639fe995a9Smrg		;;
13649fe995a9Smrg	-opened*)
13659fe995a9Smrg		os=-openedition
13669fe995a9Smrg		;;
13679fe995a9Smrg        -os400*)
13689fe995a9Smrg		os=-os400
13699fe995a9Smrg		;;
13709fe995a9Smrg	-wince*)
13719fe995a9Smrg		os=-wince
13729fe995a9Smrg		;;
13739fe995a9Smrg	-osfrose*)
13749fe995a9Smrg		os=-osfrose
13759fe995a9Smrg		;;
13769fe995a9Smrg	-osf*)
13779fe995a9Smrg		os=-osf
13789fe995a9Smrg		;;
13799fe995a9Smrg	-utek*)
13809fe995a9Smrg		os=-bsd
13819fe995a9Smrg		;;
13829fe995a9Smrg	-dynix*)
13839fe995a9Smrg		os=-bsd
13849fe995a9Smrg		;;
13859fe995a9Smrg	-acis*)
13869fe995a9Smrg		os=-aos
13879fe995a9Smrg		;;
13889fe995a9Smrg	-atheos*)
13899fe995a9Smrg		os=-atheos
13909fe995a9Smrg		;;
13919fe995a9Smrg	-syllable*)
13929fe995a9Smrg		os=-syllable
13939fe995a9Smrg		;;
13949fe995a9Smrg	-386bsd)
13959fe995a9Smrg		os=-bsd
13969fe995a9Smrg		;;
13979fe995a9Smrg	-ctix* | -uts*)
13989fe995a9Smrg		os=-sysv
13999fe995a9Smrg		;;
14009fe995a9Smrg	-nova*)
14019fe995a9Smrg		os=-rtmk-nova
14029fe995a9Smrg		;;
14039fe995a9Smrg	-ns2 )
14049fe995a9Smrg		os=-nextstep2
14059fe995a9Smrg		;;
14069fe995a9Smrg	-nsk*)
14079fe995a9Smrg		os=-nsk
14089fe995a9Smrg		;;
14099fe995a9Smrg	# Preserve the version number of sinix5.
14109fe995a9Smrg	-sinix5.*)
14119fe995a9Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
14129fe995a9Smrg		;;
14139fe995a9Smrg	-sinix*)
14149fe995a9Smrg		os=-sysv4
14159fe995a9Smrg		;;
14169fe995a9Smrg        -tpf*)
14179fe995a9Smrg		os=-tpf
14189fe995a9Smrg		;;
14199fe995a9Smrg	-triton*)
14209fe995a9Smrg		os=-sysv3
14219fe995a9Smrg		;;
14229fe995a9Smrg	-oss*)
14239fe995a9Smrg		os=-sysv3
14249fe995a9Smrg		;;
14259fe995a9Smrg	-svr4)
14269fe995a9Smrg		os=-sysv4
14279fe995a9Smrg		;;
14289fe995a9Smrg	-svr3)
14299fe995a9Smrg		os=-sysv3
14309fe995a9Smrg		;;
14319fe995a9Smrg	-sysvr4)
14329fe995a9Smrg		os=-sysv4
14339fe995a9Smrg		;;
14349fe995a9Smrg	# This must come after -sysvr4.
14359fe995a9Smrg	-sysv*)
14369fe995a9Smrg		;;
14379fe995a9Smrg	-ose*)
14389fe995a9Smrg		os=-ose
14399fe995a9Smrg		;;
14409fe995a9Smrg	-es1800*)
14419fe995a9Smrg		os=-ose
14429fe995a9Smrg		;;
14439fe995a9Smrg	-xenix)
14449fe995a9Smrg		os=-xenix
14459fe995a9Smrg		;;
14469fe995a9Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14479fe995a9Smrg		os=-mint
14489fe995a9Smrg		;;
14499fe995a9Smrg	-aros*)
14509fe995a9Smrg		os=-aros
14519fe995a9Smrg		;;
14529fe995a9Smrg	-kaos*)
14539fe995a9Smrg		os=-kaos
14549fe995a9Smrg		;;
14559fe995a9Smrg	-zvmoe)
14569fe995a9Smrg		os=-zvmoe
14579fe995a9Smrg		;;
1458b62cc08cSmrg	-dicos*)
1459b62cc08cSmrg		os=-dicos
1460b62cc08cSmrg		;;
1461b62cc08cSmrg        -nacl*)
1462b62cc08cSmrg	        ;;
14639fe995a9Smrg	-none)
14649fe995a9Smrg		;;
14659fe995a9Smrg	*)
14669fe995a9Smrg		# Get rid of the `-' at the beginning of $os.
14679fe995a9Smrg		os=`echo $os | sed 's/[^-]*-//'`
14689fe995a9Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14699fe995a9Smrg		exit 1
14709fe995a9Smrg		;;
14719fe995a9Smrgesac
14729fe995a9Smrgelse
14739fe995a9Smrg
14749fe995a9Smrg# Here we handle the default operating systems that come with various machines.
14759fe995a9Smrg# The value should be what the vendor currently ships out the door with their
14769fe995a9Smrg# machine or put another way, the most popular os provided with the machine.
14779fe995a9Smrg
14789fe995a9Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14799fe995a9Smrg# "-sun"), then you have to tell the case statement up towards the top
14809fe995a9Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14819fe995a9Smrg# will signal an error saying that MANUFACTURER isn't an operating
14829fe995a9Smrg# system, and we'll never get to this point.
14839fe995a9Smrg
14849fe995a9Smrgcase $basic_machine in
14859fe995a9Smrg        score-*)
14869fe995a9Smrg		os=-elf
14879fe995a9Smrg		;;
14889fe995a9Smrg        spu-*)
14899fe995a9Smrg		os=-elf
14909fe995a9Smrg		;;
14919fe995a9Smrg	*-acorn)
14929fe995a9Smrg		os=-riscix1.2
14939fe995a9Smrg		;;
14949fe995a9Smrg	arm*-rebel)
14959fe995a9Smrg		os=-linux
14969fe995a9Smrg		;;
14979fe995a9Smrg	arm*-semi)
14989fe995a9Smrg		os=-aout
14999fe995a9Smrg		;;
15009fe995a9Smrg        c4x-* | tic4x-*)
15019fe995a9Smrg        	os=-coff
15029fe995a9Smrg		;;
1503b62cc08cSmrg	tic54x-*)
1504b62cc08cSmrg		os=-coff
1505b62cc08cSmrg		;;
1506b62cc08cSmrg	tic55x-*)
1507b62cc08cSmrg		os=-coff
1508b62cc08cSmrg		;;
1509b62cc08cSmrg	tic6x-*)
1510b62cc08cSmrg		os=-coff
1511b62cc08cSmrg		;;
15129fe995a9Smrg	# This must come before the *-dec entry.
15139fe995a9Smrg	pdp10-*)
15149fe995a9Smrg		os=-tops20
15159fe995a9Smrg		;;
15169fe995a9Smrg	pdp11-*)
15179fe995a9Smrg		os=-none
15189fe995a9Smrg		;;
15199fe995a9Smrg	*-dec | vax-*)
15209fe995a9Smrg		os=-ultrix4.2
15219fe995a9Smrg		;;
15229fe995a9Smrg	m68*-apollo)
15239fe995a9Smrg		os=-domain
15249fe995a9Smrg		;;
15259fe995a9Smrg	i386-sun)
15269fe995a9Smrg		os=-sunos4.0.2
15279fe995a9Smrg		;;
15289fe995a9Smrg	m68000-sun)
15299fe995a9Smrg		os=-sunos3
15309fe995a9Smrg		# This also exists in the configure program, but was not the
15319fe995a9Smrg		# default.
15329fe995a9Smrg		# os=-sunos4
15339fe995a9Smrg		;;
15349fe995a9Smrg	m68*-cisco)
15359fe995a9Smrg		os=-aout
15369fe995a9Smrg		;;
1537b62cc08cSmrg        mep-*)
1538b62cc08cSmrg		os=-elf
1539b62cc08cSmrg		;;
15409fe995a9Smrg	mips*-cisco)
15419fe995a9Smrg		os=-elf
15429fe995a9Smrg		;;
15439fe995a9Smrg	mips*-*)
15449fe995a9Smrg		os=-elf
15459fe995a9Smrg		;;
15469fe995a9Smrg	or32-*)
15479fe995a9Smrg		os=-coff
15489fe995a9Smrg		;;
15499fe995a9Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
15509fe995a9Smrg		os=-sysv3
15519fe995a9Smrg		;;
15529fe995a9Smrg	sparc-* | *-sun)
15539fe995a9Smrg		os=-sunos4.1.1
15549fe995a9Smrg		;;
15559fe995a9Smrg	*-be)
15569fe995a9Smrg		os=-beos
15579fe995a9Smrg		;;
15589fe995a9Smrg	*-haiku)
15599fe995a9Smrg		os=-haiku
15609fe995a9Smrg		;;
15619fe995a9Smrg	*-ibm)
15629fe995a9Smrg		os=-aix
15639fe995a9Smrg		;;
15649fe995a9Smrg    	*-knuth)
15659fe995a9Smrg		os=-mmixware
15669fe995a9Smrg		;;
15679fe995a9Smrg	*-wec)
15689fe995a9Smrg		os=-proelf
15699fe995a9Smrg		;;
15709fe995a9Smrg	*-winbond)
15719fe995a9Smrg		os=-proelf
15729fe995a9Smrg		;;
15739fe995a9Smrg	*-oki)
15749fe995a9Smrg		os=-proelf
15759fe995a9Smrg		;;
15769fe995a9Smrg	*-hp)
15779fe995a9Smrg		os=-hpux
15789fe995a9Smrg		;;
15799fe995a9Smrg	*-hitachi)
15809fe995a9Smrg		os=-hiux
15819fe995a9Smrg		;;
15829fe995a9Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15839fe995a9Smrg		os=-sysv
15849fe995a9Smrg		;;
15859fe995a9Smrg	*-cbm)
15869fe995a9Smrg		os=-amigaos
15879fe995a9Smrg		;;
15889fe995a9Smrg	*-dg)
15899fe995a9Smrg		os=-dgux
15909fe995a9Smrg		;;
15919fe995a9Smrg	*-dolphin)
15929fe995a9Smrg		os=-sysv3
15939fe995a9Smrg		;;
15949fe995a9Smrg	m68k-ccur)
15959fe995a9Smrg		os=-rtu
15969fe995a9Smrg		;;
15979fe995a9Smrg	m88k-omron*)
15989fe995a9Smrg		os=-luna
15999fe995a9Smrg		;;
16009fe995a9Smrg	*-next )
16019fe995a9Smrg		os=-nextstep
16029fe995a9Smrg		;;
16039fe995a9Smrg	*-sequent)
16049fe995a9Smrg		os=-ptx
16059fe995a9Smrg		;;
16069fe995a9Smrg	*-crds)
16079fe995a9Smrg		os=-unos
16089fe995a9Smrg		;;
16099fe995a9Smrg	*-ns)
16109fe995a9Smrg		os=-genix
16119fe995a9Smrg		;;
16129fe995a9Smrg	i370-*)
16139fe995a9Smrg		os=-mvs
16149fe995a9Smrg		;;
16159fe995a9Smrg	*-next)
16169fe995a9Smrg		os=-nextstep3
16179fe995a9Smrg		;;
16189fe995a9Smrg	*-gould)
16199fe995a9Smrg		os=-sysv
16209fe995a9Smrg		;;
16219fe995a9Smrg	*-highlevel)
16229fe995a9Smrg		os=-bsd
16239fe995a9Smrg		;;
16249fe995a9Smrg	*-encore)
16259fe995a9Smrg		os=-bsd
16269fe995a9Smrg		;;
16279fe995a9Smrg	*-sgi)
16289fe995a9Smrg		os=-irix
16299fe995a9Smrg		;;
16309fe995a9Smrg	*-siemens)
16319fe995a9Smrg		os=-sysv4
16329fe995a9Smrg		;;
16339fe995a9Smrg	*-masscomp)
16349fe995a9Smrg		os=-rtu
16359fe995a9Smrg		;;
16369fe995a9Smrg	f30[01]-fujitsu | f700-fujitsu)
16379fe995a9Smrg		os=-uxpv
16389fe995a9Smrg		;;
16399fe995a9Smrg	*-rom68k)
16409fe995a9Smrg		os=-coff
16419fe995a9Smrg		;;
16429fe995a9Smrg	*-*bug)
16439fe995a9Smrg		os=-coff
16449fe995a9Smrg		;;
16459fe995a9Smrg	*-apple)
16469fe995a9Smrg		os=-macos
16479fe995a9Smrg		;;
16489fe995a9Smrg	*-atari*)
16499fe995a9Smrg		os=-mint
16509fe995a9Smrg		;;
16519fe995a9Smrg	*)
16529fe995a9Smrg		os=-none
16539fe995a9Smrg		;;
16549fe995a9Smrgesac
16559fe995a9Smrgfi
16569fe995a9Smrg
16579fe995a9Smrg# Here we handle the case where we know the os, and the CPU type, but not the
16589fe995a9Smrg# manufacturer.  We pick the logical manufacturer.
16599fe995a9Smrgvendor=unknown
16609fe995a9Smrgcase $basic_machine in
16619fe995a9Smrg	*-unknown)
16629fe995a9Smrg		case $os in
16639fe995a9Smrg			-riscix*)
16649fe995a9Smrg				vendor=acorn
16659fe995a9Smrg				;;
16669fe995a9Smrg			-sunos*)
16679fe995a9Smrg				vendor=sun
16689fe995a9Smrg				;;
1669b62cc08cSmrg			-cnk*|-aix*)
16709fe995a9Smrg				vendor=ibm
16719fe995a9Smrg				;;
16729fe995a9Smrg			-beos*)
16739fe995a9Smrg				vendor=be
16749fe995a9Smrg				;;
16759fe995a9Smrg			-hpux*)
16769fe995a9Smrg				vendor=hp
16779fe995a9Smrg				;;
16789fe995a9Smrg			-mpeix*)
16799fe995a9Smrg				vendor=hp
16809fe995a9Smrg				;;
16819fe995a9Smrg			-hiux*)
16829fe995a9Smrg				vendor=hitachi
16839fe995a9Smrg				;;
16849fe995a9Smrg			-unos*)
16859fe995a9Smrg				vendor=crds
16869fe995a9Smrg				;;
16879fe995a9Smrg			-dgux*)
16889fe995a9Smrg				vendor=dg
16899fe995a9Smrg				;;
16909fe995a9Smrg			-luna*)
16919fe995a9Smrg				vendor=omron
16929fe995a9Smrg				;;
16939fe995a9Smrg			-genix*)
16949fe995a9Smrg				vendor=ns
16959fe995a9Smrg				;;
16969fe995a9Smrg			-mvs* | -opened*)
16979fe995a9Smrg				vendor=ibm
16989fe995a9Smrg				;;
16999fe995a9Smrg			-os400*)
17009fe995a9Smrg				vendor=ibm
17019fe995a9Smrg				;;
17029fe995a9Smrg			-ptx*)
17039fe995a9Smrg				vendor=sequent
17049fe995a9Smrg				;;
17059fe995a9Smrg			-tpf*)
17069fe995a9Smrg				vendor=ibm
17079fe995a9Smrg				;;
17089fe995a9Smrg			-vxsim* | -vxworks* | -windiss*)
17099fe995a9Smrg				vendor=wrs
17109fe995a9Smrg				;;
17119fe995a9Smrg			-aux*)
17129fe995a9Smrg				vendor=apple
17139fe995a9Smrg				;;
17149fe995a9Smrg			-hms*)
17159fe995a9Smrg				vendor=hitachi
17169fe995a9Smrg				;;
17179fe995a9Smrg			-mpw* | -macos*)
17189fe995a9Smrg				vendor=apple
17199fe995a9Smrg				;;
17209fe995a9Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
17219fe995a9Smrg				vendor=atari
17229fe995a9Smrg				;;
17239fe995a9Smrg			-vos*)
17249fe995a9Smrg				vendor=stratus
17259fe995a9Smrg				;;
17269fe995a9Smrg		esac
17279fe995a9Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
17289fe995a9Smrg		;;
17299fe995a9Smrgesac
17309fe995a9Smrg
17319fe995a9Smrgecho $basic_machine$os
17329fe995a9Smrgexit
17339fe995a9Smrg
17349fe995a9Smrg# Local variables:
17359fe995a9Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
17369fe995a9Smrg# time-stamp-start: "timestamp='"
17379fe995a9Smrg# time-stamp-format: "%:y-%02m-%02d"
17389fe995a9Smrg# time-stamp-end: "'"
17399fe995a9Smrg# End:
1740