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