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