config.sub revision 4a041c5b
14a041c5bSmacallan#! /bin/sh
24a041c5bSmacallan# Configuration validation subroutine script.
34a041c5bSmacallan#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
44a041c5bSmacallan#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
54a041c5bSmacallan#   Free Software Foundation, Inc.
64a041c5bSmacallan
74a041c5bSmacallantimestamp='2008-01-16'
84a041c5bSmacallan
94a041c5bSmacallan# This file is (in principle) common to ALL GNU software.
104a041c5bSmacallan# The presence of a machine in this file suggests that SOME GNU software
114a041c5bSmacallan# can handle that machine.  It does not imply ALL GNU software can.
124a041c5bSmacallan#
134a041c5bSmacallan# This file is free software; you can redistribute it and/or modify
144a041c5bSmacallan# it under the terms of the GNU General Public License as published by
154a041c5bSmacallan# the Free Software Foundation; either version 2 of the License, or
164a041c5bSmacallan# (at your option) any later version.
174a041c5bSmacallan#
184a041c5bSmacallan# This program is distributed in the hope that it will be useful,
194a041c5bSmacallan# but WITHOUT ANY WARRANTY; without even the implied warranty of
204a041c5bSmacallan# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
214a041c5bSmacallan# GNU General Public License for more details.
224a041c5bSmacallan#
234a041c5bSmacallan# You should have received a copy of the GNU General Public License
244a041c5bSmacallan# along with this program; if not, write to the Free Software
254a041c5bSmacallan# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
264a041c5bSmacallan# 02110-1301, USA.
274a041c5bSmacallan#
284a041c5bSmacallan# As a special exception to the GNU General Public License, if you
294a041c5bSmacallan# distribute this file as part of a program that contains a
304a041c5bSmacallan# configuration script generated by Autoconf, you may include it under
314a041c5bSmacallan# the same distribution terms that you use for the rest of that program.
324a041c5bSmacallan
334a041c5bSmacallan
344a041c5bSmacallan# Please send patches to <config-patches@gnu.org>.  Submit a context
354a041c5bSmacallan# diff and a properly formatted ChangeLog entry.
364a041c5bSmacallan#
374a041c5bSmacallan# Configuration subroutine to validate and canonicalize a configuration type.
384a041c5bSmacallan# Supply the specified configuration type as an argument.
394a041c5bSmacallan# If it is invalid, we print an error message on stderr and exit with code 1.
404a041c5bSmacallan# Otherwise, we print the canonical config type on stdout and succeed.
414a041c5bSmacallan
424a041c5bSmacallan# This file is supposed to be the same for all GNU packages
434a041c5bSmacallan# and recognize all the CPU types, system types and aliases
444a041c5bSmacallan# that are meaningful with *any* GNU software.
454a041c5bSmacallan# Each package is responsible for reporting which valid configurations
464a041c5bSmacallan# it does not support.  The user should be able to distinguish
474a041c5bSmacallan# a failure to support a valid configuration from a meaningless
484a041c5bSmacallan# configuration.
494a041c5bSmacallan
504a041c5bSmacallan# The goal of this file is to map all the various variations of a given
514a041c5bSmacallan# machine specification into a single specification in the form:
524a041c5bSmacallan#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
534a041c5bSmacallan# or in some cases, the newer four-part form:
544a041c5bSmacallan#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
554a041c5bSmacallan# It is wrong to echo any other type of specification.
564a041c5bSmacallan
574a041c5bSmacallanme=`echo "$0" | sed -e 's,.*/,,'`
584a041c5bSmacallan
594a041c5bSmacallanusage="\
604a041c5bSmacallanUsage: $0 [OPTION] CPU-MFR-OPSYS
614a041c5bSmacallan       $0 [OPTION] ALIAS
624a041c5bSmacallan
634a041c5bSmacallanCanonicalize a configuration name.
644a041c5bSmacallan
654a041c5bSmacallanOperation modes:
664a041c5bSmacallan  -h, --help         print this help, then exit
674a041c5bSmacallan  -t, --time-stamp   print date of last modification, then exit
684a041c5bSmacallan  -v, --version      print version number, then exit
694a041c5bSmacallan
704a041c5bSmacallanReport bugs and patches to <config-patches@gnu.org>."
714a041c5bSmacallan
724a041c5bSmacallanversion="\
734a041c5bSmacallanGNU config.sub ($timestamp)
744a041c5bSmacallan
754a041c5bSmacallanCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
764a041c5bSmacallan2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
774a041c5bSmacallan
784a041c5bSmacallanThis is free software; see the source for copying conditions.  There is NO
794a041c5bSmacallanwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
804a041c5bSmacallan
814a041c5bSmacallanhelp="
824a041c5bSmacallanTry \`$me --help' for more information."
834a041c5bSmacallan
844a041c5bSmacallan# Parse command line
854a041c5bSmacallanwhile test $# -gt 0 ; do
864a041c5bSmacallan  case $1 in
874a041c5bSmacallan    --time-stamp | --time* | -t )
884a041c5bSmacallan       echo "$timestamp" ; exit ;;
894a041c5bSmacallan    --version | -v )
904a041c5bSmacallan       echo "$version" ; exit ;;
914a041c5bSmacallan    --help | --h* | -h )
924a041c5bSmacallan       echo "$usage"; exit ;;
934a041c5bSmacallan    -- )     # Stop option processing
944a041c5bSmacallan       shift; break ;;
954a041c5bSmacallan    - )	# Use stdin as input.
964a041c5bSmacallan       break ;;
974a041c5bSmacallan    -* )
984a041c5bSmacallan       echo "$me: invalid option $1$help"
994a041c5bSmacallan       exit 1 ;;
1004a041c5bSmacallan
1014a041c5bSmacallan    *local*)
1024a041c5bSmacallan       # First pass through any local machine types.
1034a041c5bSmacallan       echo $1
1044a041c5bSmacallan       exit ;;
1054a041c5bSmacallan
1064a041c5bSmacallan    * )
1074a041c5bSmacallan       break ;;
1084a041c5bSmacallan  esac
1094a041c5bSmacallandone
1104a041c5bSmacallan
1114a041c5bSmacallancase $# in
1124a041c5bSmacallan 0) echo "$me: missing argument$help" >&2
1134a041c5bSmacallan    exit 1;;
1144a041c5bSmacallan 1) ;;
1154a041c5bSmacallan *) echo "$me: too many arguments$help" >&2
1164a041c5bSmacallan    exit 1;;
1174a041c5bSmacallanesac
1184a041c5bSmacallan
1194a041c5bSmacallan# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1204a041c5bSmacallan# Here we must recognize all the valid KERNEL-OS combinations.
1214a041c5bSmacallanmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1224a041c5bSmacallancase $maybe_os in
1234a041c5bSmacallan  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1244a041c5bSmacallan  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1254a041c5bSmacallan  storm-chaos* | os2-emx* | rtmk-nova*)
1264a041c5bSmacallan    os=-$maybe_os
1274a041c5bSmacallan    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1284a041c5bSmacallan    ;;
1294a041c5bSmacallan  *)
1304a041c5bSmacallan    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1314a041c5bSmacallan    if [ $basic_machine != $1 ]
1324a041c5bSmacallan    then os=`echo $1 | sed 's/.*-/-/'`
1334a041c5bSmacallan    else os=; fi
1344a041c5bSmacallan    ;;
1354a041c5bSmacallanesac
1364a041c5bSmacallan
1374a041c5bSmacallan### Let's recognize common machines as not being operating systems so
1384a041c5bSmacallan### that things like config.sub decstation-3100 work.  We also
1394a041c5bSmacallan### recognize some manufacturers as not being operating systems, so we
1404a041c5bSmacallan### can provide default operating systems below.
1414a041c5bSmacallancase $os in
1424a041c5bSmacallan	-sun*os*)
1434a041c5bSmacallan		# Prevent following clause from handling this invalid input.
1444a041c5bSmacallan		;;
1454a041c5bSmacallan	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1464a041c5bSmacallan	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1474a041c5bSmacallan	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1484a041c5bSmacallan	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1494a041c5bSmacallan	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1504a041c5bSmacallan	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1514a041c5bSmacallan	-apple | -axis | -knuth | -cray)
1524a041c5bSmacallan		os=
1534a041c5bSmacallan		basic_machine=$1
1544a041c5bSmacallan		;;
1554a041c5bSmacallan	-sim | -cisco | -oki | -wec | -winbond)
1564a041c5bSmacallan		os=
1574a041c5bSmacallan		basic_machine=$1
1584a041c5bSmacallan		;;
1594a041c5bSmacallan	-scout)
1604a041c5bSmacallan		;;
1614a041c5bSmacallan	-wrs)
1624a041c5bSmacallan		os=-vxworks
1634a041c5bSmacallan		basic_machine=$1
1644a041c5bSmacallan		;;
1654a041c5bSmacallan	-chorusos*)
1664a041c5bSmacallan		os=-chorusos
1674a041c5bSmacallan		basic_machine=$1
1684a041c5bSmacallan		;;
1694a041c5bSmacallan 	-chorusrdb)
1704a041c5bSmacallan 		os=-chorusrdb
1714a041c5bSmacallan		basic_machine=$1
1724a041c5bSmacallan 		;;
1734a041c5bSmacallan	-hiux*)
1744a041c5bSmacallan		os=-hiuxwe2
1754a041c5bSmacallan		;;
1764a041c5bSmacallan	-sco6)
1774a041c5bSmacallan		os=-sco5v6
1784a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1794a041c5bSmacallan		;;
1804a041c5bSmacallan	-sco5)
1814a041c5bSmacallan		os=-sco3.2v5
1824a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1834a041c5bSmacallan		;;
1844a041c5bSmacallan	-sco4)
1854a041c5bSmacallan		os=-sco3.2v4
1864a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1874a041c5bSmacallan		;;
1884a041c5bSmacallan	-sco3.2.[4-9]*)
1894a041c5bSmacallan		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1904a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1914a041c5bSmacallan		;;
1924a041c5bSmacallan	-sco3.2v[4-9]*)
1934a041c5bSmacallan		# Don't forget version if it is 3.2v4 or newer.
1944a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1954a041c5bSmacallan		;;
1964a041c5bSmacallan	-sco5v6*)
1974a041c5bSmacallan		# Don't forget version if it is 3.2v4 or newer.
1984a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1994a041c5bSmacallan		;;
2004a041c5bSmacallan	-sco*)
2014a041c5bSmacallan		os=-sco3.2v2
2024a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2034a041c5bSmacallan		;;
2044a041c5bSmacallan	-udk*)
2054a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2064a041c5bSmacallan		;;
2074a041c5bSmacallan	-isc)
2084a041c5bSmacallan		os=-isc2.2
2094a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2104a041c5bSmacallan		;;
2114a041c5bSmacallan	-clix*)
2124a041c5bSmacallan		basic_machine=clipper-intergraph
2134a041c5bSmacallan		;;
2144a041c5bSmacallan	-isc*)
2154a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2164a041c5bSmacallan		;;
2174a041c5bSmacallan	-lynx*)
2184a041c5bSmacallan		os=-lynxos
2194a041c5bSmacallan		;;
2204a041c5bSmacallan	-ptx*)
2214a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2224a041c5bSmacallan		;;
2234a041c5bSmacallan	-windowsnt*)
2244a041c5bSmacallan		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2254a041c5bSmacallan		;;
2264a041c5bSmacallan	-psos*)
2274a041c5bSmacallan		os=-psos
2284a041c5bSmacallan		;;
2294a041c5bSmacallan	-mint | -mint[0-9]*)
2304a041c5bSmacallan		basic_machine=m68k-atari
2314a041c5bSmacallan		os=-mint
2324a041c5bSmacallan		;;
2334a041c5bSmacallanesac
2344a041c5bSmacallan
2354a041c5bSmacallan# Decode aliases for certain CPU-COMPANY combinations.
2364a041c5bSmacallancase $basic_machine in
2374a041c5bSmacallan	# Recognize the basic CPU types without company name.
2384a041c5bSmacallan	# Some are omitted here because they have special meanings below.
2394a041c5bSmacallan	1750a | 580 \
2404a041c5bSmacallan	| a29k \
2414a041c5bSmacallan	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2424a041c5bSmacallan	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2434a041c5bSmacallan	| am33_2.0 \
2444a041c5bSmacallan	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2454a041c5bSmacallan	| bfin \
2464a041c5bSmacallan	| c4x | clipper \
2474a041c5bSmacallan	| d10v | d30v | dlx | dsp16xx \
2484a041c5bSmacallan	| fido | fr30 | frv \
2494a041c5bSmacallan	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2504a041c5bSmacallan	| i370 | i860 | i960 | ia64 \
2514a041c5bSmacallan	| ip2k | iq2000 \
2524a041c5bSmacallan	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2534a041c5bSmacallan	| maxq | mb | microblaze | mcore | mep \
2544a041c5bSmacallan	| mips | mipsbe | mipseb | mipsel | mipsle \
2554a041c5bSmacallan	| mips16 \
2564a041c5bSmacallan	| mips64 | mips64el \
2574a041c5bSmacallan	| mips64vr | mips64vrel \
2584a041c5bSmacallan	| mips64orion | mips64orionel \
2594a041c5bSmacallan	| mips64vr4100 | mips64vr4100el \
2604a041c5bSmacallan	| mips64vr4300 | mips64vr4300el \
2614a041c5bSmacallan	| mips64vr5000 | mips64vr5000el \
2624a041c5bSmacallan	| mips64vr5900 | mips64vr5900el \
2634a041c5bSmacallan	| mipsisa32 | mipsisa32el \
2644a041c5bSmacallan	| mipsisa32r2 | mipsisa32r2el \
2654a041c5bSmacallan	| mipsisa64 | mipsisa64el \
2664a041c5bSmacallan	| mipsisa64r2 | mipsisa64r2el \
2674a041c5bSmacallan	| mipsisa64sb1 | mipsisa64sb1el \
2684a041c5bSmacallan	| mipsisa64sr71k | mipsisa64sr71kel \
2694a041c5bSmacallan	| mipstx39 | mipstx39el \
2704a041c5bSmacallan	| mn10200 | mn10300 \
2714a041c5bSmacallan	| mt \
2724a041c5bSmacallan	| msp430 \
2734a041c5bSmacallan	| nios | nios2 \
2744a041c5bSmacallan	| ns16k | ns32k \
2754a041c5bSmacallan	| or32 \
2764a041c5bSmacallan	| pdp10 | pdp11 | pj | pjl \
2774a041c5bSmacallan	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2784a041c5bSmacallan	| pyramid \
2794a041c5bSmacallan	| score \
2804a041c5bSmacallan	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2814a041c5bSmacallan	| sh64 | sh64le \
2824a041c5bSmacallan	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2834a041c5bSmacallan	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2844a041c5bSmacallan	| spu | strongarm \
2854a041c5bSmacallan	| tahoe | thumb | tic4x | tic80 | tron \
2864a041c5bSmacallan	| v850 | v850e \
2874a041c5bSmacallan	| we32k \
2884a041c5bSmacallan	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
2894a041c5bSmacallan	| z8k)
2904a041c5bSmacallan		basic_machine=$basic_machine-unknown
2914a041c5bSmacallan		;;
2924a041c5bSmacallan	m6811 | m68hc11 | m6812 | m68hc12)
2934a041c5bSmacallan		# Motorola 68HC11/12.
2944a041c5bSmacallan		basic_machine=$basic_machine-unknown
2954a041c5bSmacallan		os=-none
2964a041c5bSmacallan		;;
2974a041c5bSmacallan	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2984a041c5bSmacallan		;;
2994a041c5bSmacallan	ms1)
3004a041c5bSmacallan		basic_machine=mt-unknown
3014a041c5bSmacallan		;;
3024a041c5bSmacallan
3034a041c5bSmacallan	# We use `pc' rather than `unknown'
3044a041c5bSmacallan	# because (1) that's what they normally are, and
3054a041c5bSmacallan	# (2) the word "unknown" tends to confuse beginning users.
3064a041c5bSmacallan	i*86 | x86_64)
3074a041c5bSmacallan	  basic_machine=$basic_machine-pc
3084a041c5bSmacallan	  ;;
3094a041c5bSmacallan	# Object if more than one company name word.
3104a041c5bSmacallan	*-*-*)
3114a041c5bSmacallan		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3124a041c5bSmacallan		exit 1
3134a041c5bSmacallan		;;
3144a041c5bSmacallan	# Recognize the basic CPU types with company name.
3154a041c5bSmacallan	580-* \
3164a041c5bSmacallan	| a29k-* \
3174a041c5bSmacallan	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3184a041c5bSmacallan	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3194a041c5bSmacallan	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3204a041c5bSmacallan	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3214a041c5bSmacallan	| avr-* | avr32-* \
3224a041c5bSmacallan	| bfin-* | bs2000-* \
3234a041c5bSmacallan	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3244a041c5bSmacallan	| clipper-* | craynv-* | cydra-* \
3254a041c5bSmacallan	| d10v-* | d30v-* | dlx-* \
3264a041c5bSmacallan	| elxsi-* \
3274a041c5bSmacallan	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3284a041c5bSmacallan	| h8300-* | h8500-* \
3294a041c5bSmacallan	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3304a041c5bSmacallan	| i*86-* | i860-* | i960-* | ia64-* \
3314a041c5bSmacallan	| ip2k-* | iq2000-* \
3324a041c5bSmacallan	| m32c-* | m32r-* | m32rle-* \
3334a041c5bSmacallan	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3344a041c5bSmacallan	| m88110-* | m88k-* | maxq-* | mcore-* \
3354a041c5bSmacallan	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3364a041c5bSmacallan	| mips16-* \
3374a041c5bSmacallan	| mips64-* | mips64el-* \
3384a041c5bSmacallan	| mips64vr-* | mips64vrel-* \
3394a041c5bSmacallan	| mips64orion-* | mips64orionel-* \
3404a041c5bSmacallan	| mips64vr4100-* | mips64vr4100el-* \
3414a041c5bSmacallan	| mips64vr4300-* | mips64vr4300el-* \
3424a041c5bSmacallan	| mips64vr5000-* | mips64vr5000el-* \
3434a041c5bSmacallan	| mips64vr5900-* | mips64vr5900el-* \
3444a041c5bSmacallan	| mipsisa32-* | mipsisa32el-* \
3454a041c5bSmacallan	| mipsisa32r2-* | mipsisa32r2el-* \
3464a041c5bSmacallan	| mipsisa64-* | mipsisa64el-* \
3474a041c5bSmacallan	| mipsisa64r2-* | mipsisa64r2el-* \
3484a041c5bSmacallan	| mipsisa64sb1-* | mipsisa64sb1el-* \
3494a041c5bSmacallan	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3504a041c5bSmacallan	| mipstx39-* | mipstx39el-* \
3514a041c5bSmacallan	| mmix-* \
3524a041c5bSmacallan	| mt-* \
3534a041c5bSmacallan	| msp430-* \
3544a041c5bSmacallan	| nios-* | nios2-* \
3554a041c5bSmacallan	| none-* | np1-* | ns16k-* | ns32k-* \
3564a041c5bSmacallan	| orion-* \
3574a041c5bSmacallan	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3584a041c5bSmacallan	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3594a041c5bSmacallan	| pyramid-* \
3604a041c5bSmacallan	| romp-* | rs6000-* \
3614a041c5bSmacallan	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3624a041c5bSmacallan	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3634a041c5bSmacallan	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3644a041c5bSmacallan	| sparclite-* \
3654a041c5bSmacallan	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3664a041c5bSmacallan	| tahoe-* | thumb-* \
3674a041c5bSmacallan	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3684a041c5bSmacallan	| tron-* \
3694a041c5bSmacallan	| v850-* | v850e-* | vax-* \
3704a041c5bSmacallan	| we32k-* \
3714a041c5bSmacallan	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3724a041c5bSmacallan	| xstormy16-* | xtensa*-* \
3734a041c5bSmacallan	| ymp-* \
3744a041c5bSmacallan	| z8k-*)
3754a041c5bSmacallan		;;
3764a041c5bSmacallan	# Recognize the basic CPU types without company name, with glob match.
3774a041c5bSmacallan	xtensa*)
3784a041c5bSmacallan		basic_machine=$basic_machine-unknown
3794a041c5bSmacallan		;;
3804a041c5bSmacallan	# Recognize the various machine names and aliases which stand
3814a041c5bSmacallan	# for a CPU type and a company and sometimes even an OS.
3824a041c5bSmacallan	386bsd)
3834a041c5bSmacallan		basic_machine=i386-unknown
3844a041c5bSmacallan		os=-bsd
3854a041c5bSmacallan		;;
3864a041c5bSmacallan	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3874a041c5bSmacallan		basic_machine=m68000-att
3884a041c5bSmacallan		;;
3894a041c5bSmacallan	3b*)
3904a041c5bSmacallan		basic_machine=we32k-att
3914a041c5bSmacallan		;;
3924a041c5bSmacallan	a29khif)
3934a041c5bSmacallan		basic_machine=a29k-amd
3944a041c5bSmacallan		os=-udi
3954a041c5bSmacallan		;;
3964a041c5bSmacallan    	abacus)
3974a041c5bSmacallan		basic_machine=abacus-unknown
3984a041c5bSmacallan		;;
3994a041c5bSmacallan	adobe68k)
4004a041c5bSmacallan		basic_machine=m68010-adobe
4014a041c5bSmacallan		os=-scout
4024a041c5bSmacallan		;;
4034a041c5bSmacallan	alliant | fx80)
4044a041c5bSmacallan		basic_machine=fx80-alliant
4054a041c5bSmacallan		;;
4064a041c5bSmacallan	altos | altos3068)
4074a041c5bSmacallan		basic_machine=m68k-altos
4084a041c5bSmacallan		;;
4094a041c5bSmacallan	am29k)
4104a041c5bSmacallan		basic_machine=a29k-none
4114a041c5bSmacallan		os=-bsd
4124a041c5bSmacallan		;;
4134a041c5bSmacallan	amd64)
4144a041c5bSmacallan		basic_machine=x86_64-pc
4154a041c5bSmacallan		;;
4164a041c5bSmacallan	amd64-*)
4174a041c5bSmacallan		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4184a041c5bSmacallan		;;
4194a041c5bSmacallan	amdahl)
4204a041c5bSmacallan		basic_machine=580-amdahl
4214a041c5bSmacallan		os=-sysv
4224a041c5bSmacallan		;;
4234a041c5bSmacallan	amiga | amiga-*)
4244a041c5bSmacallan		basic_machine=m68k-unknown
4254a041c5bSmacallan		;;
4264a041c5bSmacallan	amigaos | amigados)
4274a041c5bSmacallan		basic_machine=m68k-unknown
4284a041c5bSmacallan		os=-amigaos
4294a041c5bSmacallan		;;
4304a041c5bSmacallan	amigaunix | amix)
4314a041c5bSmacallan		basic_machine=m68k-unknown
4324a041c5bSmacallan		os=-sysv4
4334a041c5bSmacallan		;;
4344a041c5bSmacallan	apollo68)
4354a041c5bSmacallan		basic_machine=m68k-apollo
4364a041c5bSmacallan		os=-sysv
4374a041c5bSmacallan		;;
4384a041c5bSmacallan	apollo68bsd)
4394a041c5bSmacallan		basic_machine=m68k-apollo
4404a041c5bSmacallan		os=-bsd
4414a041c5bSmacallan		;;
4424a041c5bSmacallan	aux)
4434a041c5bSmacallan		basic_machine=m68k-apple
4444a041c5bSmacallan		os=-aux
4454a041c5bSmacallan		;;
4464a041c5bSmacallan	balance)
4474a041c5bSmacallan		basic_machine=ns32k-sequent
4484a041c5bSmacallan		os=-dynix
4494a041c5bSmacallan		;;
4504a041c5bSmacallan	blackfin)
4514a041c5bSmacallan		basic_machine=bfin-unknown
4524a041c5bSmacallan		os=-linux
4534a041c5bSmacallan		;;
4544a041c5bSmacallan	blackfin-*)
4554a041c5bSmacallan		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4564a041c5bSmacallan		os=-linux
4574a041c5bSmacallan		;;
4584a041c5bSmacallan	c90)
4594a041c5bSmacallan		basic_machine=c90-cray
4604a041c5bSmacallan		os=-unicos
4614a041c5bSmacallan		;;
4624a041c5bSmacallan	convex-c1)
4634a041c5bSmacallan		basic_machine=c1-convex
4644a041c5bSmacallan		os=-bsd
4654a041c5bSmacallan		;;
4664a041c5bSmacallan	convex-c2)
4674a041c5bSmacallan		basic_machine=c2-convex
4684a041c5bSmacallan		os=-bsd
4694a041c5bSmacallan		;;
4704a041c5bSmacallan	convex-c32)
4714a041c5bSmacallan		basic_machine=c32-convex
4724a041c5bSmacallan		os=-bsd
4734a041c5bSmacallan		;;
4744a041c5bSmacallan	convex-c34)
4754a041c5bSmacallan		basic_machine=c34-convex
4764a041c5bSmacallan		os=-bsd
4774a041c5bSmacallan		;;
4784a041c5bSmacallan	convex-c38)
4794a041c5bSmacallan		basic_machine=c38-convex
4804a041c5bSmacallan		os=-bsd
4814a041c5bSmacallan		;;
4824a041c5bSmacallan	cray | j90)
4834a041c5bSmacallan		basic_machine=j90-cray
4844a041c5bSmacallan		os=-unicos
4854a041c5bSmacallan		;;
4864a041c5bSmacallan	craynv)
4874a041c5bSmacallan		basic_machine=craynv-cray
4884a041c5bSmacallan		os=-unicosmp
4894a041c5bSmacallan		;;
4904a041c5bSmacallan	cr16)
4914a041c5bSmacallan		basic_machine=cr16-unknown
4924a041c5bSmacallan		os=-elf
4934a041c5bSmacallan		;;
4944a041c5bSmacallan	crds | unos)
4954a041c5bSmacallan		basic_machine=m68k-crds
4964a041c5bSmacallan		;;
4974a041c5bSmacallan	crisv32 | crisv32-* | etraxfs*)
4984a041c5bSmacallan		basic_machine=crisv32-axis
4994a041c5bSmacallan		;;
5004a041c5bSmacallan	cris | cris-* | etrax*)
5014a041c5bSmacallan		basic_machine=cris-axis
5024a041c5bSmacallan		;;
5034a041c5bSmacallan	crx)
5044a041c5bSmacallan		basic_machine=crx-unknown
5054a041c5bSmacallan		os=-elf
5064a041c5bSmacallan		;;
5074a041c5bSmacallan	da30 | da30-*)
5084a041c5bSmacallan		basic_machine=m68k-da30
5094a041c5bSmacallan		;;
5104a041c5bSmacallan	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5114a041c5bSmacallan		basic_machine=mips-dec
5124a041c5bSmacallan		;;
5134a041c5bSmacallan	decsystem10* | dec10*)
5144a041c5bSmacallan		basic_machine=pdp10-dec
5154a041c5bSmacallan		os=-tops10
5164a041c5bSmacallan		;;
5174a041c5bSmacallan	decsystem20* | dec20*)
5184a041c5bSmacallan		basic_machine=pdp10-dec
5194a041c5bSmacallan		os=-tops20
5204a041c5bSmacallan		;;
5214a041c5bSmacallan	delta | 3300 | motorola-3300 | motorola-delta \
5224a041c5bSmacallan	      | 3300-motorola | delta-motorola)
5234a041c5bSmacallan		basic_machine=m68k-motorola
5244a041c5bSmacallan		;;
5254a041c5bSmacallan	delta88)
5264a041c5bSmacallan		basic_machine=m88k-motorola
5274a041c5bSmacallan		os=-sysv3
5284a041c5bSmacallan		;;
5294a041c5bSmacallan	djgpp)
5304a041c5bSmacallan		basic_machine=i586-pc
5314a041c5bSmacallan		os=-msdosdjgpp
5324a041c5bSmacallan		;;
5334a041c5bSmacallan	dpx20 | dpx20-*)
5344a041c5bSmacallan		basic_machine=rs6000-bull
5354a041c5bSmacallan		os=-bosx
5364a041c5bSmacallan		;;
5374a041c5bSmacallan	dpx2* | dpx2*-bull)
5384a041c5bSmacallan		basic_machine=m68k-bull
5394a041c5bSmacallan		os=-sysv3
5404a041c5bSmacallan		;;
5414a041c5bSmacallan	ebmon29k)
5424a041c5bSmacallan		basic_machine=a29k-amd
5434a041c5bSmacallan		os=-ebmon
5444a041c5bSmacallan		;;
5454a041c5bSmacallan	elxsi)
5464a041c5bSmacallan		basic_machine=elxsi-elxsi
5474a041c5bSmacallan		os=-bsd
5484a041c5bSmacallan		;;
5494a041c5bSmacallan	encore | umax | mmax)
5504a041c5bSmacallan		basic_machine=ns32k-encore
5514a041c5bSmacallan		;;
5524a041c5bSmacallan	es1800 | OSE68k | ose68k | ose | OSE)
5534a041c5bSmacallan		basic_machine=m68k-ericsson
5544a041c5bSmacallan		os=-ose
5554a041c5bSmacallan		;;
5564a041c5bSmacallan	fx2800)
5574a041c5bSmacallan		basic_machine=i860-alliant
5584a041c5bSmacallan		;;
5594a041c5bSmacallan	genix)
5604a041c5bSmacallan		basic_machine=ns32k-ns
5614a041c5bSmacallan		;;
5624a041c5bSmacallan	gmicro)
5634a041c5bSmacallan		basic_machine=tron-gmicro
5644a041c5bSmacallan		os=-sysv
5654a041c5bSmacallan		;;
5664a041c5bSmacallan	go32)
5674a041c5bSmacallan		basic_machine=i386-pc
5684a041c5bSmacallan		os=-go32
5694a041c5bSmacallan		;;
5704a041c5bSmacallan	h3050r* | hiux*)
5714a041c5bSmacallan		basic_machine=hppa1.1-hitachi
5724a041c5bSmacallan		os=-hiuxwe2
5734a041c5bSmacallan		;;
5744a041c5bSmacallan	h8300hms)
5754a041c5bSmacallan		basic_machine=h8300-hitachi
5764a041c5bSmacallan		os=-hms
5774a041c5bSmacallan		;;
5784a041c5bSmacallan	h8300xray)
5794a041c5bSmacallan		basic_machine=h8300-hitachi
5804a041c5bSmacallan		os=-xray
5814a041c5bSmacallan		;;
5824a041c5bSmacallan	h8500hms)
5834a041c5bSmacallan		basic_machine=h8500-hitachi
5844a041c5bSmacallan		os=-hms
5854a041c5bSmacallan		;;
5864a041c5bSmacallan	harris)
5874a041c5bSmacallan		basic_machine=m88k-harris
5884a041c5bSmacallan		os=-sysv3
5894a041c5bSmacallan		;;
5904a041c5bSmacallan	hp300-*)
5914a041c5bSmacallan		basic_machine=m68k-hp
5924a041c5bSmacallan		;;
5934a041c5bSmacallan	hp300bsd)
5944a041c5bSmacallan		basic_machine=m68k-hp
5954a041c5bSmacallan		os=-bsd
5964a041c5bSmacallan		;;
5974a041c5bSmacallan	hp300hpux)
5984a041c5bSmacallan		basic_machine=m68k-hp
5994a041c5bSmacallan		os=-hpux
6004a041c5bSmacallan		;;
6014a041c5bSmacallan	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6024a041c5bSmacallan		basic_machine=hppa1.0-hp
6034a041c5bSmacallan		;;
6044a041c5bSmacallan	hp9k2[0-9][0-9] | hp9k31[0-9])
6054a041c5bSmacallan		basic_machine=m68000-hp
6064a041c5bSmacallan		;;
6074a041c5bSmacallan	hp9k3[2-9][0-9])
6084a041c5bSmacallan		basic_machine=m68k-hp
6094a041c5bSmacallan		;;
6104a041c5bSmacallan	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6114a041c5bSmacallan		basic_machine=hppa1.0-hp
6124a041c5bSmacallan		;;
6134a041c5bSmacallan	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6144a041c5bSmacallan		basic_machine=hppa1.1-hp
6154a041c5bSmacallan		;;
6164a041c5bSmacallan	hp9k78[0-9] | hp78[0-9])
6174a041c5bSmacallan		# FIXME: really hppa2.0-hp
6184a041c5bSmacallan		basic_machine=hppa1.1-hp
6194a041c5bSmacallan		;;
6204a041c5bSmacallan	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6214a041c5bSmacallan		# FIXME: really hppa2.0-hp
6224a041c5bSmacallan		basic_machine=hppa1.1-hp
6234a041c5bSmacallan		;;
6244a041c5bSmacallan	hp9k8[0-9][13679] | hp8[0-9][13679])
6254a041c5bSmacallan		basic_machine=hppa1.1-hp
6264a041c5bSmacallan		;;
6274a041c5bSmacallan	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6284a041c5bSmacallan		basic_machine=hppa1.0-hp
6294a041c5bSmacallan		;;
6304a041c5bSmacallan	hppa-next)
6314a041c5bSmacallan		os=-nextstep3
6324a041c5bSmacallan		;;
6334a041c5bSmacallan	hppaosf)
6344a041c5bSmacallan		basic_machine=hppa1.1-hp
6354a041c5bSmacallan		os=-osf
6364a041c5bSmacallan		;;
6374a041c5bSmacallan	hppro)
6384a041c5bSmacallan		basic_machine=hppa1.1-hp
6394a041c5bSmacallan		os=-proelf
6404a041c5bSmacallan		;;
6414a041c5bSmacallan	i370-ibm* | ibm*)
6424a041c5bSmacallan		basic_machine=i370-ibm
6434a041c5bSmacallan		;;
6444a041c5bSmacallan# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
6454a041c5bSmacallan	i*86v32)
6464a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6474a041c5bSmacallan		os=-sysv32
6484a041c5bSmacallan		;;
6494a041c5bSmacallan	i*86v4*)
6504a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6514a041c5bSmacallan		os=-sysv4
6524a041c5bSmacallan		;;
6534a041c5bSmacallan	i*86v)
6544a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6554a041c5bSmacallan		os=-sysv
6564a041c5bSmacallan		;;
6574a041c5bSmacallan	i*86sol2)
6584a041c5bSmacallan		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6594a041c5bSmacallan		os=-solaris2
6604a041c5bSmacallan		;;
6614a041c5bSmacallan	i386mach)
6624a041c5bSmacallan		basic_machine=i386-mach
6634a041c5bSmacallan		os=-mach
6644a041c5bSmacallan		;;
6654a041c5bSmacallan	i386-vsta | vsta)
6664a041c5bSmacallan		basic_machine=i386-unknown
6674a041c5bSmacallan		os=-vsta
6684a041c5bSmacallan		;;
6694a041c5bSmacallan	iris | iris4d)
6704a041c5bSmacallan		basic_machine=mips-sgi
6714a041c5bSmacallan		case $os in
6724a041c5bSmacallan		    -irix*)
6734a041c5bSmacallan			;;
6744a041c5bSmacallan		    *)
6754a041c5bSmacallan			os=-irix4
6764a041c5bSmacallan			;;
6774a041c5bSmacallan		esac
6784a041c5bSmacallan		;;
6794a041c5bSmacallan	isi68 | isi)
6804a041c5bSmacallan		basic_machine=m68k-isi
6814a041c5bSmacallan		os=-sysv
6824a041c5bSmacallan		;;
6834a041c5bSmacallan	m68knommu)
6844a041c5bSmacallan		basic_machine=m68k-unknown
6854a041c5bSmacallan		os=-linux
6864a041c5bSmacallan		;;
6874a041c5bSmacallan	m68knommu-*)
6884a041c5bSmacallan		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
6894a041c5bSmacallan		os=-linux
6904a041c5bSmacallan		;;
6914a041c5bSmacallan	m88k-omron*)
6924a041c5bSmacallan		basic_machine=m88k-omron
6934a041c5bSmacallan		;;
6944a041c5bSmacallan	magnum | m3230)
6954a041c5bSmacallan		basic_machine=mips-mips
6964a041c5bSmacallan		os=-sysv
6974a041c5bSmacallan		;;
6984a041c5bSmacallan	merlin)
6994a041c5bSmacallan		basic_machine=ns32k-utek
7004a041c5bSmacallan		os=-sysv
7014a041c5bSmacallan		;;
7024a041c5bSmacallan	mingw32)
7034a041c5bSmacallan		basic_machine=i386-pc
7044a041c5bSmacallan		os=-mingw32
7054a041c5bSmacallan		;;
7064a041c5bSmacallan	mingw32ce)
7074a041c5bSmacallan		basic_machine=arm-unknown
7084a041c5bSmacallan		os=-mingw32ce
7094a041c5bSmacallan		;;
7104a041c5bSmacallan	miniframe)
7114a041c5bSmacallan		basic_machine=m68000-convergent
7124a041c5bSmacallan		;;
7134a041c5bSmacallan	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7144a041c5bSmacallan		basic_machine=m68k-atari
7154a041c5bSmacallan		os=-mint
7164a041c5bSmacallan		;;
7174a041c5bSmacallan	mips3*-*)
7184a041c5bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7194a041c5bSmacallan		;;
7204a041c5bSmacallan	mips3*)
7214a041c5bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7224a041c5bSmacallan		;;
7234a041c5bSmacallan	monitor)
7244a041c5bSmacallan		basic_machine=m68k-rom68k
7254a041c5bSmacallan		os=-coff
7264a041c5bSmacallan		;;
7274a041c5bSmacallan	morphos)
7284a041c5bSmacallan		basic_machine=powerpc-unknown
7294a041c5bSmacallan		os=-morphos
7304a041c5bSmacallan		;;
7314a041c5bSmacallan	msdos)
7324a041c5bSmacallan		basic_machine=i386-pc
7334a041c5bSmacallan		os=-msdos
7344a041c5bSmacallan		;;
7354a041c5bSmacallan	ms1-*)
7364a041c5bSmacallan		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7374a041c5bSmacallan		;;
7384a041c5bSmacallan	mvs)
7394a041c5bSmacallan		basic_machine=i370-ibm
7404a041c5bSmacallan		os=-mvs
7414a041c5bSmacallan		;;
7424a041c5bSmacallan	ncr3000)
7434a041c5bSmacallan		basic_machine=i486-ncr
7444a041c5bSmacallan		os=-sysv4
7454a041c5bSmacallan		;;
7464a041c5bSmacallan	netbsd386)
7474a041c5bSmacallan		basic_machine=i386-unknown
7484a041c5bSmacallan		os=-netbsd
7494a041c5bSmacallan		;;
7504a041c5bSmacallan	netwinder)
7514a041c5bSmacallan		basic_machine=armv4l-rebel
7524a041c5bSmacallan		os=-linux
7534a041c5bSmacallan		;;
7544a041c5bSmacallan	news | news700 | news800 | news900)
7554a041c5bSmacallan		basic_machine=m68k-sony
7564a041c5bSmacallan		os=-newsos
7574a041c5bSmacallan		;;
7584a041c5bSmacallan	news1000)
7594a041c5bSmacallan		basic_machine=m68030-sony
7604a041c5bSmacallan		os=-newsos
7614a041c5bSmacallan		;;
7624a041c5bSmacallan	news-3600 | risc-news)
7634a041c5bSmacallan		basic_machine=mips-sony
7644a041c5bSmacallan		os=-newsos
7654a041c5bSmacallan		;;
7664a041c5bSmacallan	necv70)
7674a041c5bSmacallan		basic_machine=v70-nec
7684a041c5bSmacallan		os=-sysv
7694a041c5bSmacallan		;;
7704a041c5bSmacallan	next | m*-next )
7714a041c5bSmacallan		basic_machine=m68k-next
7724a041c5bSmacallan		case $os in
7734a041c5bSmacallan		    -nextstep* )
7744a041c5bSmacallan			;;
7754a041c5bSmacallan		    -ns2*)
7764a041c5bSmacallan		      os=-nextstep2
7774a041c5bSmacallan			;;
7784a041c5bSmacallan		    *)
7794a041c5bSmacallan		      os=-nextstep3
7804a041c5bSmacallan			;;
7814a041c5bSmacallan		esac
7824a041c5bSmacallan		;;
7834a041c5bSmacallan	nh3000)
7844a041c5bSmacallan		basic_machine=m68k-harris
7854a041c5bSmacallan		os=-cxux
7864a041c5bSmacallan		;;
7874a041c5bSmacallan	nh[45]000)
7884a041c5bSmacallan		basic_machine=m88k-harris
7894a041c5bSmacallan		os=-cxux
7904a041c5bSmacallan		;;
7914a041c5bSmacallan	nindy960)
7924a041c5bSmacallan		basic_machine=i960-intel
7934a041c5bSmacallan		os=-nindy
7944a041c5bSmacallan		;;
7954a041c5bSmacallan	mon960)
7964a041c5bSmacallan		basic_machine=i960-intel
7974a041c5bSmacallan		os=-mon960
7984a041c5bSmacallan		;;
7994a041c5bSmacallan	nonstopux)
8004a041c5bSmacallan		basic_machine=mips-compaq
8014a041c5bSmacallan		os=-nonstopux
8024a041c5bSmacallan		;;
8034a041c5bSmacallan	np1)
8044a041c5bSmacallan		basic_machine=np1-gould
8054a041c5bSmacallan		;;
8064a041c5bSmacallan	nsr-tandem)
8074a041c5bSmacallan		basic_machine=nsr-tandem
8084a041c5bSmacallan		;;
8094a041c5bSmacallan	op50n-* | op60c-*)
8104a041c5bSmacallan		basic_machine=hppa1.1-oki
8114a041c5bSmacallan		os=-proelf
8124a041c5bSmacallan		;;
8134a041c5bSmacallan	openrisc | openrisc-*)
8144a041c5bSmacallan		basic_machine=or32-unknown
8154a041c5bSmacallan		;;
8164a041c5bSmacallan	os400)
8174a041c5bSmacallan		basic_machine=powerpc-ibm
8184a041c5bSmacallan		os=-os400
8194a041c5bSmacallan		;;
8204a041c5bSmacallan	OSE68000 | ose68000)
8214a041c5bSmacallan		basic_machine=m68000-ericsson
8224a041c5bSmacallan		os=-ose
8234a041c5bSmacallan		;;
8244a041c5bSmacallan	os68k)
8254a041c5bSmacallan		basic_machine=m68k-none
8264a041c5bSmacallan		os=-os68k
8274a041c5bSmacallan		;;
8284a041c5bSmacallan	pa-hitachi)
8294a041c5bSmacallan		basic_machine=hppa1.1-hitachi
8304a041c5bSmacallan		os=-hiuxwe2
8314a041c5bSmacallan		;;
8324a041c5bSmacallan	paragon)
8334a041c5bSmacallan		basic_machine=i860-intel
8344a041c5bSmacallan		os=-osf
8354a041c5bSmacallan		;;
8364a041c5bSmacallan	parisc)
8374a041c5bSmacallan		basic_machine=hppa-unknown
8384a041c5bSmacallan		os=-linux
8394a041c5bSmacallan		;;
8404a041c5bSmacallan	parisc-*)
8414a041c5bSmacallan		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
8424a041c5bSmacallan		os=-linux
8434a041c5bSmacallan		;;
8444a041c5bSmacallan	pbd)
8454a041c5bSmacallan		basic_machine=sparc-tti
8464a041c5bSmacallan		;;
8474a041c5bSmacallan	pbb)
8484a041c5bSmacallan		basic_machine=m68k-tti
8494a041c5bSmacallan		;;
8504a041c5bSmacallan	pc532 | pc532-*)
8514a041c5bSmacallan		basic_machine=ns32k-pc532
8524a041c5bSmacallan		;;
8534a041c5bSmacallan	pc98)
8544a041c5bSmacallan		basic_machine=i386-pc
8554a041c5bSmacallan		;;
8564a041c5bSmacallan	pc98-*)
8574a041c5bSmacallan		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8584a041c5bSmacallan		;;
8594a041c5bSmacallan	pentium | p5 | k5 | k6 | nexgen | viac3)
8604a041c5bSmacallan		basic_machine=i586-pc
8614a041c5bSmacallan		;;
8624a041c5bSmacallan	pentiumpro | p6 | 6x86 | athlon | athlon_*)
8634a041c5bSmacallan		basic_machine=i686-pc
8644a041c5bSmacallan		;;
8654a041c5bSmacallan	pentiumii | pentium2 | pentiumiii | pentium3)
8664a041c5bSmacallan		basic_machine=i686-pc
8674a041c5bSmacallan		;;
8684a041c5bSmacallan	pentium4)
8694a041c5bSmacallan		basic_machine=i786-pc
8704a041c5bSmacallan		;;
8714a041c5bSmacallan	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8724a041c5bSmacallan		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
8734a041c5bSmacallan		;;
8744a041c5bSmacallan	pentiumpro-* | p6-* | 6x86-* | athlon-*)
8754a041c5bSmacallan		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8764a041c5bSmacallan		;;
8774a041c5bSmacallan	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
8784a041c5bSmacallan		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8794a041c5bSmacallan		;;
8804a041c5bSmacallan	pentium4-*)
8814a041c5bSmacallan		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
8824a041c5bSmacallan		;;
8834a041c5bSmacallan	pn)
8844a041c5bSmacallan		basic_machine=pn-gould
8854a041c5bSmacallan		;;
8864a041c5bSmacallan	power)	basic_machine=power-ibm
8874a041c5bSmacallan		;;
8884a041c5bSmacallan	ppc)	basic_machine=powerpc-unknown
8894a041c5bSmacallan		;;
8904a041c5bSmacallan	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
8914a041c5bSmacallan		;;
8924a041c5bSmacallan	ppcle | powerpclittle | ppc-le | powerpc-little)
8934a041c5bSmacallan		basic_machine=powerpcle-unknown
8944a041c5bSmacallan		;;
8954a041c5bSmacallan	ppcle-* | powerpclittle-*)
8964a041c5bSmacallan		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
8974a041c5bSmacallan		;;
8984a041c5bSmacallan	ppc64)	basic_machine=powerpc64-unknown
8994a041c5bSmacallan		;;
9004a041c5bSmacallan	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9014a041c5bSmacallan		;;
9024a041c5bSmacallan	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9034a041c5bSmacallan		basic_machine=powerpc64le-unknown
9044a041c5bSmacallan		;;
9054a041c5bSmacallan	ppc64le-* | powerpc64little-*)
9064a041c5bSmacallan		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9074a041c5bSmacallan		;;
9084a041c5bSmacallan	ps2)
9094a041c5bSmacallan		basic_machine=i386-ibm
9104a041c5bSmacallan		;;
9114a041c5bSmacallan	pw32)
9124a041c5bSmacallan		basic_machine=i586-unknown
9134a041c5bSmacallan		os=-pw32
9144a041c5bSmacallan		;;
9154a041c5bSmacallan	rdos)
9164a041c5bSmacallan		basic_machine=i386-pc
9174a041c5bSmacallan		os=-rdos
9184a041c5bSmacallan		;;
9194a041c5bSmacallan	rom68k)
9204a041c5bSmacallan		basic_machine=m68k-rom68k
9214a041c5bSmacallan		os=-coff
9224a041c5bSmacallan		;;
9234a041c5bSmacallan	rm[46]00)
9244a041c5bSmacallan		basic_machine=mips-siemens
9254a041c5bSmacallan		;;
9264a041c5bSmacallan	rtpc | rtpc-*)
9274a041c5bSmacallan		basic_machine=romp-ibm
9284a041c5bSmacallan		;;
9294a041c5bSmacallan	s390 | s390-*)
9304a041c5bSmacallan		basic_machine=s390-ibm
9314a041c5bSmacallan		;;
9324a041c5bSmacallan	s390x | s390x-*)
9334a041c5bSmacallan		basic_machine=s390x-ibm
9344a041c5bSmacallan		;;
9354a041c5bSmacallan	sa29200)
9364a041c5bSmacallan		basic_machine=a29k-amd
9374a041c5bSmacallan		os=-udi
9384a041c5bSmacallan		;;
9394a041c5bSmacallan	sb1)
9404a041c5bSmacallan		basic_machine=mipsisa64sb1-unknown
9414a041c5bSmacallan		;;
9424a041c5bSmacallan	sb1el)
9434a041c5bSmacallan		basic_machine=mipsisa64sb1el-unknown
9444a041c5bSmacallan		;;
9454a041c5bSmacallan	sde)
9464a041c5bSmacallan		basic_machine=mipsisa32-sde
9474a041c5bSmacallan		os=-elf
9484a041c5bSmacallan		;;
9494a041c5bSmacallan	sei)
9504a041c5bSmacallan		basic_machine=mips-sei
9514a041c5bSmacallan		os=-seiux
9524a041c5bSmacallan		;;
9534a041c5bSmacallan	sequent)
9544a041c5bSmacallan		basic_machine=i386-sequent
9554a041c5bSmacallan		;;
9564a041c5bSmacallan	sh)
9574a041c5bSmacallan		basic_machine=sh-hitachi
9584a041c5bSmacallan		os=-hms
9594a041c5bSmacallan		;;
9604a041c5bSmacallan	sh5el)
9614a041c5bSmacallan		basic_machine=sh5le-unknown
9624a041c5bSmacallan		;;
9634a041c5bSmacallan	sh64)
9644a041c5bSmacallan		basic_machine=sh64-unknown
9654a041c5bSmacallan		;;
9664a041c5bSmacallan	sparclite-wrs | simso-wrs)
9674a041c5bSmacallan		basic_machine=sparclite-wrs
9684a041c5bSmacallan		os=-vxworks
9694a041c5bSmacallan		;;
9704a041c5bSmacallan	sps7)
9714a041c5bSmacallan		basic_machine=m68k-bull
9724a041c5bSmacallan		os=-sysv2
9734a041c5bSmacallan		;;
9744a041c5bSmacallan	spur)
9754a041c5bSmacallan		basic_machine=spur-unknown
9764a041c5bSmacallan		;;
9774a041c5bSmacallan	st2000)
9784a041c5bSmacallan		basic_machine=m68k-tandem
9794a041c5bSmacallan		;;
9804a041c5bSmacallan	stratus)
9814a041c5bSmacallan		basic_machine=i860-stratus
9824a041c5bSmacallan		os=-sysv4
9834a041c5bSmacallan		;;
9844a041c5bSmacallan	sun2)
9854a041c5bSmacallan		basic_machine=m68000-sun
9864a041c5bSmacallan		;;
9874a041c5bSmacallan	sun2os3)
9884a041c5bSmacallan		basic_machine=m68000-sun
9894a041c5bSmacallan		os=-sunos3
9904a041c5bSmacallan		;;
9914a041c5bSmacallan	sun2os4)
9924a041c5bSmacallan		basic_machine=m68000-sun
9934a041c5bSmacallan		os=-sunos4
9944a041c5bSmacallan		;;
9954a041c5bSmacallan	sun3os3)
9964a041c5bSmacallan		basic_machine=m68k-sun
9974a041c5bSmacallan		os=-sunos3
9984a041c5bSmacallan		;;
9994a041c5bSmacallan	sun3os4)
10004a041c5bSmacallan		basic_machine=m68k-sun
10014a041c5bSmacallan		os=-sunos4
10024a041c5bSmacallan		;;
10034a041c5bSmacallan	sun4os3)
10044a041c5bSmacallan		basic_machine=sparc-sun
10054a041c5bSmacallan		os=-sunos3
10064a041c5bSmacallan		;;
10074a041c5bSmacallan	sun4os4)
10084a041c5bSmacallan		basic_machine=sparc-sun
10094a041c5bSmacallan		os=-sunos4
10104a041c5bSmacallan		;;
10114a041c5bSmacallan	sun4sol2)
10124a041c5bSmacallan		basic_machine=sparc-sun
10134a041c5bSmacallan		os=-solaris2
10144a041c5bSmacallan		;;
10154a041c5bSmacallan	sun3 | sun3-*)
10164a041c5bSmacallan		basic_machine=m68k-sun
10174a041c5bSmacallan		;;
10184a041c5bSmacallan	sun4)
10194a041c5bSmacallan		basic_machine=sparc-sun
10204a041c5bSmacallan		;;
10214a041c5bSmacallan	sun386 | sun386i | roadrunner)
10224a041c5bSmacallan		basic_machine=i386-sun
10234a041c5bSmacallan		;;
10244a041c5bSmacallan	sv1)
10254a041c5bSmacallan		basic_machine=sv1-cray
10264a041c5bSmacallan		os=-unicos
10274a041c5bSmacallan		;;
10284a041c5bSmacallan	symmetry)
10294a041c5bSmacallan		basic_machine=i386-sequent
10304a041c5bSmacallan		os=-dynix
10314a041c5bSmacallan		;;
10324a041c5bSmacallan	t3e)
10334a041c5bSmacallan		basic_machine=alphaev5-cray
10344a041c5bSmacallan		os=-unicos
10354a041c5bSmacallan		;;
10364a041c5bSmacallan	t90)
10374a041c5bSmacallan		basic_machine=t90-cray
10384a041c5bSmacallan		os=-unicos
10394a041c5bSmacallan		;;
10404a041c5bSmacallan	tic54x | c54x*)
10414a041c5bSmacallan		basic_machine=tic54x-unknown
10424a041c5bSmacallan		os=-coff
10434a041c5bSmacallan		;;
10444a041c5bSmacallan	tic55x | c55x*)
10454a041c5bSmacallan		basic_machine=tic55x-unknown
10464a041c5bSmacallan		os=-coff
10474a041c5bSmacallan		;;
10484a041c5bSmacallan	tic6x | c6x*)
10494a041c5bSmacallan		basic_machine=tic6x-unknown
10504a041c5bSmacallan		os=-coff
10514a041c5bSmacallan		;;
10524a041c5bSmacallan	tile*)
10534a041c5bSmacallan		basic_machine=tile-unknown
10544a041c5bSmacallan		os=-linux-gnu
10554a041c5bSmacallan		;;
10564a041c5bSmacallan	tx39)
10574a041c5bSmacallan		basic_machine=mipstx39-unknown
10584a041c5bSmacallan		;;
10594a041c5bSmacallan	tx39el)
10604a041c5bSmacallan		basic_machine=mipstx39el-unknown
10614a041c5bSmacallan		;;
10624a041c5bSmacallan	toad1)
10634a041c5bSmacallan		basic_machine=pdp10-xkl
10644a041c5bSmacallan		os=-tops20
10654a041c5bSmacallan		;;
10664a041c5bSmacallan	tower | tower-32)
10674a041c5bSmacallan		basic_machine=m68k-ncr
10684a041c5bSmacallan		;;
10694a041c5bSmacallan	tpf)
10704a041c5bSmacallan		basic_machine=s390x-ibm
10714a041c5bSmacallan		os=-tpf
10724a041c5bSmacallan		;;
10734a041c5bSmacallan	udi29k)
10744a041c5bSmacallan		basic_machine=a29k-amd
10754a041c5bSmacallan		os=-udi
10764a041c5bSmacallan		;;
10774a041c5bSmacallan	ultra3)
10784a041c5bSmacallan		basic_machine=a29k-nyu
10794a041c5bSmacallan		os=-sym1
10804a041c5bSmacallan		;;
10814a041c5bSmacallan	v810 | necv810)
10824a041c5bSmacallan		basic_machine=v810-nec
10834a041c5bSmacallan		os=-none
10844a041c5bSmacallan		;;
10854a041c5bSmacallan	vaxv)
10864a041c5bSmacallan		basic_machine=vax-dec
10874a041c5bSmacallan		os=-sysv
10884a041c5bSmacallan		;;
10894a041c5bSmacallan	vms)
10904a041c5bSmacallan		basic_machine=vax-dec
10914a041c5bSmacallan		os=-vms
10924a041c5bSmacallan		;;
10934a041c5bSmacallan	vpp*|vx|vx-*)
10944a041c5bSmacallan		basic_machine=f301-fujitsu
10954a041c5bSmacallan		;;
10964a041c5bSmacallan	vxworks960)
10974a041c5bSmacallan		basic_machine=i960-wrs
10984a041c5bSmacallan		os=-vxworks
10994a041c5bSmacallan		;;
11004a041c5bSmacallan	vxworks68)
11014a041c5bSmacallan		basic_machine=m68k-wrs
11024a041c5bSmacallan		os=-vxworks
11034a041c5bSmacallan		;;
11044a041c5bSmacallan	vxworks29k)
11054a041c5bSmacallan		basic_machine=a29k-wrs
11064a041c5bSmacallan		os=-vxworks
11074a041c5bSmacallan		;;
11084a041c5bSmacallan	w65*)
11094a041c5bSmacallan		basic_machine=w65-wdc
11104a041c5bSmacallan		os=-none
11114a041c5bSmacallan		;;
11124a041c5bSmacallan	w89k-*)
11134a041c5bSmacallan		basic_machine=hppa1.1-winbond
11144a041c5bSmacallan		os=-proelf
11154a041c5bSmacallan		;;
11164a041c5bSmacallan	xbox)
11174a041c5bSmacallan		basic_machine=i686-pc
11184a041c5bSmacallan		os=-mingw32
11194a041c5bSmacallan		;;
11204a041c5bSmacallan	xps | xps100)
11214a041c5bSmacallan		basic_machine=xps100-honeywell
11224a041c5bSmacallan		;;
11234a041c5bSmacallan	ymp)
11244a041c5bSmacallan		basic_machine=ymp-cray
11254a041c5bSmacallan		os=-unicos
11264a041c5bSmacallan		;;
11274a041c5bSmacallan	z8k-*-coff)
11284a041c5bSmacallan		basic_machine=z8k-unknown
11294a041c5bSmacallan		os=-sim
11304a041c5bSmacallan		;;
11314a041c5bSmacallan	none)
11324a041c5bSmacallan		basic_machine=none-none
11334a041c5bSmacallan		os=-none
11344a041c5bSmacallan		;;
11354a041c5bSmacallan
11364a041c5bSmacallan# Here we handle the default manufacturer of certain CPU types.  It is in
11374a041c5bSmacallan# some cases the only manufacturer, in others, it is the most popular.
11384a041c5bSmacallan	w89k)
11394a041c5bSmacallan		basic_machine=hppa1.1-winbond
11404a041c5bSmacallan		;;
11414a041c5bSmacallan	op50n)
11424a041c5bSmacallan		basic_machine=hppa1.1-oki
11434a041c5bSmacallan		;;
11444a041c5bSmacallan	op60c)
11454a041c5bSmacallan		basic_machine=hppa1.1-oki
11464a041c5bSmacallan		;;
11474a041c5bSmacallan	romp)
11484a041c5bSmacallan		basic_machine=romp-ibm
11494a041c5bSmacallan		;;
11504a041c5bSmacallan	mmix)
11514a041c5bSmacallan		basic_machine=mmix-knuth
11524a041c5bSmacallan		;;
11534a041c5bSmacallan	rs6000)
11544a041c5bSmacallan		basic_machine=rs6000-ibm
11554a041c5bSmacallan		;;
11564a041c5bSmacallan	vax)
11574a041c5bSmacallan		basic_machine=vax-dec
11584a041c5bSmacallan		;;
11594a041c5bSmacallan	pdp10)
11604a041c5bSmacallan		# there are many clones, so DEC is not a safe bet
11614a041c5bSmacallan		basic_machine=pdp10-unknown
11624a041c5bSmacallan		;;
11634a041c5bSmacallan	pdp11)
11644a041c5bSmacallan		basic_machine=pdp11-dec
11654a041c5bSmacallan		;;
11664a041c5bSmacallan	we32k)
11674a041c5bSmacallan		basic_machine=we32k-att
11684a041c5bSmacallan		;;
11694a041c5bSmacallan	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
11704a041c5bSmacallan		basic_machine=sh-unknown
11714a041c5bSmacallan		;;
11724a041c5bSmacallan	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
11734a041c5bSmacallan		basic_machine=sparc-sun
11744a041c5bSmacallan		;;
11754a041c5bSmacallan	cydra)
11764a041c5bSmacallan		basic_machine=cydra-cydrome
11774a041c5bSmacallan		;;
11784a041c5bSmacallan	orion)
11794a041c5bSmacallan		basic_machine=orion-highlevel
11804a041c5bSmacallan		;;
11814a041c5bSmacallan	orion105)
11824a041c5bSmacallan		basic_machine=clipper-highlevel
11834a041c5bSmacallan		;;
11844a041c5bSmacallan	mac | mpw | mac-mpw)
11854a041c5bSmacallan		basic_machine=m68k-apple
11864a041c5bSmacallan		;;
11874a041c5bSmacallan	pmac | pmac-mpw)
11884a041c5bSmacallan		basic_machine=powerpc-apple
11894a041c5bSmacallan		;;
11904a041c5bSmacallan	*-unknown)
11914a041c5bSmacallan		# Make sure to match an already-canonicalized machine name.
11924a041c5bSmacallan		;;
11934a041c5bSmacallan	*)
11944a041c5bSmacallan		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
11954a041c5bSmacallan		exit 1
11964a041c5bSmacallan		;;
11974a041c5bSmacallanesac
11984a041c5bSmacallan
11994a041c5bSmacallan# Here we canonicalize certain aliases for manufacturers.
12004a041c5bSmacallancase $basic_machine in
12014a041c5bSmacallan	*-digital*)
12024a041c5bSmacallan		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12034a041c5bSmacallan		;;
12044a041c5bSmacallan	*-commodore*)
12054a041c5bSmacallan		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12064a041c5bSmacallan		;;
12074a041c5bSmacallan	*)
12084a041c5bSmacallan		;;
12094a041c5bSmacallanesac
12104a041c5bSmacallan
12114a041c5bSmacallan# Decode manufacturer-specific aliases for certain operating systems.
12124a041c5bSmacallan
12134a041c5bSmacallanif [ x"$os" != x"" ]
12144a041c5bSmacallanthen
12154a041c5bSmacallancase $os in
12164a041c5bSmacallan        # First match some system type aliases
12174a041c5bSmacallan        # that might get confused with valid system types.
12184a041c5bSmacallan	# -solaris* is a basic system type, with this one exception.
12194a041c5bSmacallan	-solaris1 | -solaris1.*)
12204a041c5bSmacallan		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12214a041c5bSmacallan		;;
12224a041c5bSmacallan	-solaris)
12234a041c5bSmacallan		os=-solaris2
12244a041c5bSmacallan		;;
12254a041c5bSmacallan	-svr4*)
12264a041c5bSmacallan		os=-sysv4
12274a041c5bSmacallan		;;
12284a041c5bSmacallan	-unixware*)
12294a041c5bSmacallan		os=-sysv4.2uw
12304a041c5bSmacallan		;;
12314a041c5bSmacallan	-gnu/linux*)
12324a041c5bSmacallan		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12334a041c5bSmacallan		;;
12344a041c5bSmacallan	# First accept the basic system types.
12354a041c5bSmacallan	# The portable systems comes first.
12364a041c5bSmacallan	# Each alternative MUST END IN A *, to match a version number.
12374a041c5bSmacallan	# -sysv* is not here because it comes later, after sysvr4.
12384a041c5bSmacallan	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12394a041c5bSmacallan	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12404a041c5bSmacallan	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
12414a041c5bSmacallan	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12424a041c5bSmacallan	      | -aos* \
12434a041c5bSmacallan	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12444a041c5bSmacallan	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12454a041c5bSmacallan	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12464a041c5bSmacallan	      | -openbsd* | -solidbsd* \
12474a041c5bSmacallan	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12484a041c5bSmacallan	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12494a041c5bSmacallan	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12504a041c5bSmacallan	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
12514a041c5bSmacallan	      | -chorusos* | -chorusrdb* \
12524a041c5bSmacallan	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12534a041c5bSmacallan	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12544a041c5bSmacallan	      | -uxpv* | -beos* | -mpeix* | -udk* \
12554a041c5bSmacallan	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
12564a041c5bSmacallan	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
12574a041c5bSmacallan	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
12584a041c5bSmacallan	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
12594a041c5bSmacallan	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
12604a041c5bSmacallan	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12614a041c5bSmacallan	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
12624a041c5bSmacallan	# Remember, each alternative MUST END IN *, to match a version number.
12634a041c5bSmacallan		;;
12644a041c5bSmacallan	-qnx*)
12654a041c5bSmacallan		case $basic_machine in
12664a041c5bSmacallan		    x86-* | i*86-*)
12674a041c5bSmacallan			;;
12684a041c5bSmacallan		    *)
12694a041c5bSmacallan			os=-nto$os
12704a041c5bSmacallan			;;
12714a041c5bSmacallan		esac
12724a041c5bSmacallan		;;
12734a041c5bSmacallan	-nto-qnx*)
12744a041c5bSmacallan		;;
12754a041c5bSmacallan	-nto*)
12764a041c5bSmacallan		os=`echo $os | sed -e 's|nto|nto-qnx|'`
12774a041c5bSmacallan		;;
12784a041c5bSmacallan	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
12794a041c5bSmacallan	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
12804a041c5bSmacallan	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
12814a041c5bSmacallan		;;
12824a041c5bSmacallan	-mac*)
12834a041c5bSmacallan		os=`echo $os | sed -e 's|mac|macos|'`
12844a041c5bSmacallan		;;
12854a041c5bSmacallan	-linux-dietlibc)
12864a041c5bSmacallan		os=-linux-dietlibc
12874a041c5bSmacallan		;;
12884a041c5bSmacallan	-linux*)
12894a041c5bSmacallan		os=`echo $os | sed -e 's|linux|linux-gnu|'`
12904a041c5bSmacallan		;;
12914a041c5bSmacallan	-sunos5*)
12924a041c5bSmacallan		os=`echo $os | sed -e 's|sunos5|solaris2|'`
12934a041c5bSmacallan		;;
12944a041c5bSmacallan	-sunos6*)
12954a041c5bSmacallan		os=`echo $os | sed -e 's|sunos6|solaris3|'`
12964a041c5bSmacallan		;;
12974a041c5bSmacallan	-opened*)
12984a041c5bSmacallan		os=-openedition
12994a041c5bSmacallan		;;
13004a041c5bSmacallan        -os400*)
13014a041c5bSmacallan		os=-os400
13024a041c5bSmacallan		;;
13034a041c5bSmacallan	-wince*)
13044a041c5bSmacallan		os=-wince
13054a041c5bSmacallan		;;
13064a041c5bSmacallan	-osfrose*)
13074a041c5bSmacallan		os=-osfrose
13084a041c5bSmacallan		;;
13094a041c5bSmacallan	-osf*)
13104a041c5bSmacallan		os=-osf
13114a041c5bSmacallan		;;
13124a041c5bSmacallan	-utek*)
13134a041c5bSmacallan		os=-bsd
13144a041c5bSmacallan		;;
13154a041c5bSmacallan	-dynix*)
13164a041c5bSmacallan		os=-bsd
13174a041c5bSmacallan		;;
13184a041c5bSmacallan	-acis*)
13194a041c5bSmacallan		os=-aos
13204a041c5bSmacallan		;;
13214a041c5bSmacallan	-atheos*)
13224a041c5bSmacallan		os=-atheos
13234a041c5bSmacallan		;;
13244a041c5bSmacallan	-syllable*)
13254a041c5bSmacallan		os=-syllable
13264a041c5bSmacallan		;;
13274a041c5bSmacallan	-386bsd)
13284a041c5bSmacallan		os=-bsd
13294a041c5bSmacallan		;;
13304a041c5bSmacallan	-ctix* | -uts*)
13314a041c5bSmacallan		os=-sysv
13324a041c5bSmacallan		;;
13334a041c5bSmacallan	-nova*)
13344a041c5bSmacallan		os=-rtmk-nova
13354a041c5bSmacallan		;;
13364a041c5bSmacallan	-ns2 )
13374a041c5bSmacallan		os=-nextstep2
13384a041c5bSmacallan		;;
13394a041c5bSmacallan	-nsk*)
13404a041c5bSmacallan		os=-nsk
13414a041c5bSmacallan		;;
13424a041c5bSmacallan	# Preserve the version number of sinix5.
13434a041c5bSmacallan	-sinix5.*)
13444a041c5bSmacallan		os=`echo $os | sed -e 's|sinix|sysv|'`
13454a041c5bSmacallan		;;
13464a041c5bSmacallan	-sinix*)
13474a041c5bSmacallan		os=-sysv4
13484a041c5bSmacallan		;;
13494a041c5bSmacallan        -tpf*)
13504a041c5bSmacallan		os=-tpf
13514a041c5bSmacallan		;;
13524a041c5bSmacallan	-triton*)
13534a041c5bSmacallan		os=-sysv3
13544a041c5bSmacallan		;;
13554a041c5bSmacallan	-oss*)
13564a041c5bSmacallan		os=-sysv3
13574a041c5bSmacallan		;;
13584a041c5bSmacallan	-svr4)
13594a041c5bSmacallan		os=-sysv4
13604a041c5bSmacallan		;;
13614a041c5bSmacallan	-svr3)
13624a041c5bSmacallan		os=-sysv3
13634a041c5bSmacallan		;;
13644a041c5bSmacallan	-sysvr4)
13654a041c5bSmacallan		os=-sysv4
13664a041c5bSmacallan		;;
13674a041c5bSmacallan	# This must come after -sysvr4.
13684a041c5bSmacallan	-sysv*)
13694a041c5bSmacallan		;;
13704a041c5bSmacallan	-ose*)
13714a041c5bSmacallan		os=-ose
13724a041c5bSmacallan		;;
13734a041c5bSmacallan	-es1800*)
13744a041c5bSmacallan		os=-ose
13754a041c5bSmacallan		;;
13764a041c5bSmacallan	-xenix)
13774a041c5bSmacallan		os=-xenix
13784a041c5bSmacallan		;;
13794a041c5bSmacallan	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
13804a041c5bSmacallan		os=-mint
13814a041c5bSmacallan		;;
13824a041c5bSmacallan	-aros*)
13834a041c5bSmacallan		os=-aros
13844a041c5bSmacallan		;;
13854a041c5bSmacallan	-kaos*)
13864a041c5bSmacallan		os=-kaos
13874a041c5bSmacallan		;;
13884a041c5bSmacallan	-zvmoe)
13894a041c5bSmacallan		os=-zvmoe
13904a041c5bSmacallan		;;
13914a041c5bSmacallan	-none)
13924a041c5bSmacallan		;;
13934a041c5bSmacallan	*)
13944a041c5bSmacallan		# Get rid of the `-' at the beginning of $os.
13954a041c5bSmacallan		os=`echo $os | sed 's/[^-]*-//'`
13964a041c5bSmacallan		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
13974a041c5bSmacallan		exit 1
13984a041c5bSmacallan		;;
13994a041c5bSmacallanesac
14004a041c5bSmacallanelse
14014a041c5bSmacallan
14024a041c5bSmacallan# Here we handle the default operating systems that come with various machines.
14034a041c5bSmacallan# The value should be what the vendor currently ships out the door with their
14044a041c5bSmacallan# machine or put another way, the most popular os provided with the machine.
14054a041c5bSmacallan
14064a041c5bSmacallan# Note that if you're going to try to match "-MANUFACTURER" here (say,
14074a041c5bSmacallan# "-sun"), then you have to tell the case statement up towards the top
14084a041c5bSmacallan# that MANUFACTURER isn't an operating system.  Otherwise, code above
14094a041c5bSmacallan# will signal an error saying that MANUFACTURER isn't an operating
14104a041c5bSmacallan# system, and we'll never get to this point.
14114a041c5bSmacallan
14124a041c5bSmacallancase $basic_machine in
14134a041c5bSmacallan        score-*)
14144a041c5bSmacallan		os=-elf
14154a041c5bSmacallan		;;
14164a041c5bSmacallan        spu-*)
14174a041c5bSmacallan		os=-elf
14184a041c5bSmacallan		;;
14194a041c5bSmacallan	*-acorn)
14204a041c5bSmacallan		os=-riscix1.2
14214a041c5bSmacallan		;;
14224a041c5bSmacallan	arm*-rebel)
14234a041c5bSmacallan		os=-linux
14244a041c5bSmacallan		;;
14254a041c5bSmacallan	arm*-semi)
14264a041c5bSmacallan		os=-aout
14274a041c5bSmacallan		;;
14284a041c5bSmacallan        c4x-* | tic4x-*)
14294a041c5bSmacallan        	os=-coff
14304a041c5bSmacallan		;;
14314a041c5bSmacallan	# This must come before the *-dec entry.
14324a041c5bSmacallan	pdp10-*)
14334a041c5bSmacallan		os=-tops20
14344a041c5bSmacallan		;;
14354a041c5bSmacallan	pdp11-*)
14364a041c5bSmacallan		os=-none
14374a041c5bSmacallan		;;
14384a041c5bSmacallan	*-dec | vax-*)
14394a041c5bSmacallan		os=-ultrix4.2
14404a041c5bSmacallan		;;
14414a041c5bSmacallan	m68*-apollo)
14424a041c5bSmacallan		os=-domain
14434a041c5bSmacallan		;;
14444a041c5bSmacallan	i386-sun)
14454a041c5bSmacallan		os=-sunos4.0.2
14464a041c5bSmacallan		;;
14474a041c5bSmacallan	m68000-sun)
14484a041c5bSmacallan		os=-sunos3
14494a041c5bSmacallan		# This also exists in the configure program, but was not the
14504a041c5bSmacallan		# default.
14514a041c5bSmacallan		# os=-sunos4
14524a041c5bSmacallan		;;
14534a041c5bSmacallan	m68*-cisco)
14544a041c5bSmacallan		os=-aout
14554a041c5bSmacallan		;;
14564a041c5bSmacallan        mep-*)
14574a041c5bSmacallan		os=-elf
14584a041c5bSmacallan		;;
14594a041c5bSmacallan	mips*-cisco)
14604a041c5bSmacallan		os=-elf
14614a041c5bSmacallan		;;
14624a041c5bSmacallan	mips*-*)
14634a041c5bSmacallan		os=-elf
14644a041c5bSmacallan		;;
14654a041c5bSmacallan	or32-*)
14664a041c5bSmacallan		os=-coff
14674a041c5bSmacallan		;;
14684a041c5bSmacallan	*-tti)	# must be before sparc entry or we get the wrong os.
14694a041c5bSmacallan		os=-sysv3
14704a041c5bSmacallan		;;
14714a041c5bSmacallan	sparc-* | *-sun)
14724a041c5bSmacallan		os=-sunos4.1.1
14734a041c5bSmacallan		;;
14744a041c5bSmacallan	*-be)
14754a041c5bSmacallan		os=-beos
14764a041c5bSmacallan		;;
14774a041c5bSmacallan	*-haiku)
14784a041c5bSmacallan		os=-haiku
14794a041c5bSmacallan		;;
14804a041c5bSmacallan	*-ibm)
14814a041c5bSmacallan		os=-aix
14824a041c5bSmacallan		;;
14834a041c5bSmacallan    	*-knuth)
14844a041c5bSmacallan		os=-mmixware
14854a041c5bSmacallan		;;
14864a041c5bSmacallan	*-wec)
14874a041c5bSmacallan		os=-proelf
14884a041c5bSmacallan		;;
14894a041c5bSmacallan	*-winbond)
14904a041c5bSmacallan		os=-proelf
14914a041c5bSmacallan		;;
14924a041c5bSmacallan	*-oki)
14934a041c5bSmacallan		os=-proelf
14944a041c5bSmacallan		;;
14954a041c5bSmacallan	*-hp)
14964a041c5bSmacallan		os=-hpux
14974a041c5bSmacallan		;;
14984a041c5bSmacallan	*-hitachi)
14994a041c5bSmacallan		os=-hiux
15004a041c5bSmacallan		;;
15014a041c5bSmacallan	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15024a041c5bSmacallan		os=-sysv
15034a041c5bSmacallan		;;
15044a041c5bSmacallan	*-cbm)
15054a041c5bSmacallan		os=-amigaos
15064a041c5bSmacallan		;;
15074a041c5bSmacallan	*-dg)
15084a041c5bSmacallan		os=-dgux
15094a041c5bSmacallan		;;
15104a041c5bSmacallan	*-dolphin)
15114a041c5bSmacallan		os=-sysv3
15124a041c5bSmacallan		;;
15134a041c5bSmacallan	m68k-ccur)
15144a041c5bSmacallan		os=-rtu
15154a041c5bSmacallan		;;
15164a041c5bSmacallan	m88k-omron*)
15174a041c5bSmacallan		os=-luna
15184a041c5bSmacallan		;;
15194a041c5bSmacallan	*-next )
15204a041c5bSmacallan		os=-nextstep
15214a041c5bSmacallan		;;
15224a041c5bSmacallan	*-sequent)
15234a041c5bSmacallan		os=-ptx
15244a041c5bSmacallan		;;
15254a041c5bSmacallan	*-crds)
15264a041c5bSmacallan		os=-unos
15274a041c5bSmacallan		;;
15284a041c5bSmacallan	*-ns)
15294a041c5bSmacallan		os=-genix
15304a041c5bSmacallan		;;
15314a041c5bSmacallan	i370-*)
15324a041c5bSmacallan		os=-mvs
15334a041c5bSmacallan		;;
15344a041c5bSmacallan	*-next)
15354a041c5bSmacallan		os=-nextstep3
15364a041c5bSmacallan		;;
15374a041c5bSmacallan	*-gould)
15384a041c5bSmacallan		os=-sysv
15394a041c5bSmacallan		;;
15404a041c5bSmacallan	*-highlevel)
15414a041c5bSmacallan		os=-bsd
15424a041c5bSmacallan		;;
15434a041c5bSmacallan	*-encore)
15444a041c5bSmacallan		os=-bsd
15454a041c5bSmacallan		;;
15464a041c5bSmacallan	*-sgi)
15474a041c5bSmacallan		os=-irix
15484a041c5bSmacallan		;;
15494a041c5bSmacallan	*-siemens)
15504a041c5bSmacallan		os=-sysv4
15514a041c5bSmacallan		;;
15524a041c5bSmacallan	*-masscomp)
15534a041c5bSmacallan		os=-rtu
15544a041c5bSmacallan		;;
15554a041c5bSmacallan	f30[01]-fujitsu | f700-fujitsu)
15564a041c5bSmacallan		os=-uxpv
15574a041c5bSmacallan		;;
15584a041c5bSmacallan	*-rom68k)
15594a041c5bSmacallan		os=-coff
15604a041c5bSmacallan		;;
15614a041c5bSmacallan	*-*bug)
15624a041c5bSmacallan		os=-coff
15634a041c5bSmacallan		;;
15644a041c5bSmacallan	*-apple)
15654a041c5bSmacallan		os=-macos
15664a041c5bSmacallan		;;
15674a041c5bSmacallan	*-atari*)
15684a041c5bSmacallan		os=-mint
15694a041c5bSmacallan		;;
15704a041c5bSmacallan	*)
15714a041c5bSmacallan		os=-none
15724a041c5bSmacallan		;;
15734a041c5bSmacallanesac
15744a041c5bSmacallanfi
15754a041c5bSmacallan
15764a041c5bSmacallan# Here we handle the case where we know the os, and the CPU type, but not the
15774a041c5bSmacallan# manufacturer.  We pick the logical manufacturer.
15784a041c5bSmacallanvendor=unknown
15794a041c5bSmacallancase $basic_machine in
15804a041c5bSmacallan	*-unknown)
15814a041c5bSmacallan		case $os in
15824a041c5bSmacallan			-riscix*)
15834a041c5bSmacallan				vendor=acorn
15844a041c5bSmacallan				;;
15854a041c5bSmacallan			-sunos*)
15864a041c5bSmacallan				vendor=sun
15874a041c5bSmacallan				;;
15884a041c5bSmacallan			-aix*)
15894a041c5bSmacallan				vendor=ibm
15904a041c5bSmacallan				;;
15914a041c5bSmacallan			-beos*)
15924a041c5bSmacallan				vendor=be
15934a041c5bSmacallan				;;
15944a041c5bSmacallan			-hpux*)
15954a041c5bSmacallan				vendor=hp
15964a041c5bSmacallan				;;
15974a041c5bSmacallan			-mpeix*)
15984a041c5bSmacallan				vendor=hp
15994a041c5bSmacallan				;;
16004a041c5bSmacallan			-hiux*)
16014a041c5bSmacallan				vendor=hitachi
16024a041c5bSmacallan				;;
16034a041c5bSmacallan			-unos*)
16044a041c5bSmacallan				vendor=crds
16054a041c5bSmacallan				;;
16064a041c5bSmacallan			-dgux*)
16074a041c5bSmacallan				vendor=dg
16084a041c5bSmacallan				;;
16094a041c5bSmacallan			-luna*)
16104a041c5bSmacallan				vendor=omron
16114a041c5bSmacallan				;;
16124a041c5bSmacallan			-genix*)
16134a041c5bSmacallan				vendor=ns
16144a041c5bSmacallan				;;
16154a041c5bSmacallan			-mvs* | -opened*)
16164a041c5bSmacallan				vendor=ibm
16174a041c5bSmacallan				;;
16184a041c5bSmacallan			-os400*)
16194a041c5bSmacallan				vendor=ibm
16204a041c5bSmacallan				;;
16214a041c5bSmacallan			-ptx*)
16224a041c5bSmacallan				vendor=sequent
16234a041c5bSmacallan				;;
16244a041c5bSmacallan			-tpf*)
16254a041c5bSmacallan				vendor=ibm
16264a041c5bSmacallan				;;
16274a041c5bSmacallan			-vxsim* | -vxworks* | -windiss*)
16284a041c5bSmacallan				vendor=wrs
16294a041c5bSmacallan				;;
16304a041c5bSmacallan			-aux*)
16314a041c5bSmacallan				vendor=apple
16324a041c5bSmacallan				;;
16334a041c5bSmacallan			-hms*)
16344a041c5bSmacallan				vendor=hitachi
16354a041c5bSmacallan				;;
16364a041c5bSmacallan			-mpw* | -macos*)
16374a041c5bSmacallan				vendor=apple
16384a041c5bSmacallan				;;
16394a041c5bSmacallan			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
16404a041c5bSmacallan				vendor=atari
16414a041c5bSmacallan				;;
16424a041c5bSmacallan			-vos*)
16434a041c5bSmacallan				vendor=stratus
16444a041c5bSmacallan				;;
16454a041c5bSmacallan		esac
16464a041c5bSmacallan		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
16474a041c5bSmacallan		;;
16484a041c5bSmacallanesac
16494a041c5bSmacallan
16504a041c5bSmacallanecho $basic_machine$os
16514a041c5bSmacallanexit
16524a041c5bSmacallan
16534a041c5bSmacallan# Local variables:
16544a041c5bSmacallan# eval: (add-hook 'write-file-hooks 'time-stamp)
16554a041c5bSmacallan# time-stamp-start: "timestamp='"
16564a041c5bSmacallan# time-stamp-format: "%:y-%02m-%02d"
16574a041c5bSmacallan# time-stamp-end: "'"
16584a041c5bSmacallan# End:
1659