config.sub revision 7e6fb56f
17e6fb56fSmrg#! /bin/sh
27e6fb56fSmrg# Configuration validation subroutine script.
37e6fb56fSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
47e6fb56fSmrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
57e6fb56fSmrg#   Free Software Foundation, Inc.
67e6fb56fSmrg
77e6fb56fSmrgtimestamp='2008-01-16'
87e6fb56fSmrg
97e6fb56fSmrg# This file is (in principle) common to ALL GNU software.
107e6fb56fSmrg# The presence of a machine in this file suggests that SOME GNU software
117e6fb56fSmrg# can handle that machine.  It does not imply ALL GNU software can.
127e6fb56fSmrg#
137e6fb56fSmrg# This file is free software; you can redistribute it and/or modify
147e6fb56fSmrg# it under the terms of the GNU General Public License as published by
157e6fb56fSmrg# the Free Software Foundation; either version 2 of the License, or
167e6fb56fSmrg# (at your option) any later version.
177e6fb56fSmrg#
187e6fb56fSmrg# This program is distributed in the hope that it will be useful,
197e6fb56fSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
207e6fb56fSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
217e6fb56fSmrg# GNU General Public License for more details.
227e6fb56fSmrg#
237e6fb56fSmrg# You should have received a copy of the GNU General Public License
247e6fb56fSmrg# along with this program; if not, write to the Free Software
257e6fb56fSmrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
267e6fb56fSmrg# 02110-1301, USA.
277e6fb56fSmrg#
287e6fb56fSmrg# As a special exception to the GNU General Public License, if you
297e6fb56fSmrg# distribute this file as part of a program that contains a
307e6fb56fSmrg# configuration script generated by Autoconf, you may include it under
317e6fb56fSmrg# the same distribution terms that you use for the rest of that program.
327e6fb56fSmrg
337e6fb56fSmrg
347e6fb56fSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
357e6fb56fSmrg# diff and a properly formatted ChangeLog entry.
367e6fb56fSmrg#
377e6fb56fSmrg# Configuration subroutine to validate and canonicalize a configuration type.
387e6fb56fSmrg# Supply the specified configuration type as an argument.
397e6fb56fSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
407e6fb56fSmrg# Otherwise, we print the canonical config type on stdout and succeed.
417e6fb56fSmrg
427e6fb56fSmrg# This file is supposed to be the same for all GNU packages
437e6fb56fSmrg# and recognize all the CPU types, system types and aliases
447e6fb56fSmrg# that are meaningful with *any* GNU software.
457e6fb56fSmrg# Each package is responsible for reporting which valid configurations
467e6fb56fSmrg# it does not support.  The user should be able to distinguish
477e6fb56fSmrg# a failure to support a valid configuration from a meaningless
487e6fb56fSmrg# configuration.
497e6fb56fSmrg
507e6fb56fSmrg# The goal of this file is to map all the various variations of a given
517e6fb56fSmrg# machine specification into a single specification in the form:
527e6fb56fSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
537e6fb56fSmrg# or in some cases, the newer four-part form:
547e6fb56fSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
557e6fb56fSmrg# It is wrong to echo any other type of specification.
567e6fb56fSmrg
577e6fb56fSmrgme=`echo "$0" | sed -e 's,.*/,,'`
587e6fb56fSmrg
597e6fb56fSmrgusage="\
607e6fb56fSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
617e6fb56fSmrg       $0 [OPTION] ALIAS
627e6fb56fSmrg
637e6fb56fSmrgCanonicalize a configuration name.
647e6fb56fSmrg
657e6fb56fSmrgOperation modes:
667e6fb56fSmrg  -h, --help         print this help, then exit
677e6fb56fSmrg  -t, --time-stamp   print date of last modification, then exit
687e6fb56fSmrg  -v, --version      print version number, then exit
697e6fb56fSmrg
707e6fb56fSmrgReport bugs and patches to <config-patches@gnu.org>."
717e6fb56fSmrg
727e6fb56fSmrgversion="\
737e6fb56fSmrgGNU config.sub ($timestamp)
747e6fb56fSmrg
757e6fb56fSmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
767e6fb56fSmrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
777e6fb56fSmrg
787e6fb56fSmrgThis is free software; see the source for copying conditions.  There is NO
797e6fb56fSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
807e6fb56fSmrg
817e6fb56fSmrghelp="
827e6fb56fSmrgTry \`$me --help' for more information."
837e6fb56fSmrg
847e6fb56fSmrg# Parse command line
857e6fb56fSmrgwhile test $# -gt 0 ; do
867e6fb56fSmrg  case $1 in
877e6fb56fSmrg    --time-stamp | --time* | -t )
887e6fb56fSmrg       echo "$timestamp" ; exit ;;
897e6fb56fSmrg    --version | -v )
907e6fb56fSmrg       echo "$version" ; exit ;;
917e6fb56fSmrg    --help | --h* | -h )
927e6fb56fSmrg       echo "$usage"; exit ;;
937e6fb56fSmrg    -- )     # Stop option processing
947e6fb56fSmrg       shift; break ;;
957e6fb56fSmrg    - )	# Use stdin as input.
967e6fb56fSmrg       break ;;
977e6fb56fSmrg    -* )
987e6fb56fSmrg       echo "$me: invalid option $1$help"
997e6fb56fSmrg       exit 1 ;;
1007e6fb56fSmrg
1017e6fb56fSmrg    *local*)
1027e6fb56fSmrg       # First pass through any local machine types.
1037e6fb56fSmrg       echo $1
1047e6fb56fSmrg       exit ;;
1057e6fb56fSmrg
1067e6fb56fSmrg    * )
1077e6fb56fSmrg       break ;;
1087e6fb56fSmrg  esac
1097e6fb56fSmrgdone
1107e6fb56fSmrg
1117e6fb56fSmrgcase $# in
1127e6fb56fSmrg 0) echo "$me: missing argument$help" >&2
1137e6fb56fSmrg    exit 1;;
1147e6fb56fSmrg 1) ;;
1157e6fb56fSmrg *) echo "$me: too many arguments$help" >&2
1167e6fb56fSmrg    exit 1;;
1177e6fb56fSmrgesac
1187e6fb56fSmrg
1197e6fb56fSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1207e6fb56fSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1217e6fb56fSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1227e6fb56fSmrgcase $maybe_os in
1237e6fb56fSmrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1247e6fb56fSmrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1257e6fb56fSmrg  storm-chaos* | os2-emx* | rtmk-nova*)
1267e6fb56fSmrg    os=-$maybe_os
1277e6fb56fSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1287e6fb56fSmrg    ;;
1297e6fb56fSmrg  *)
1307e6fb56fSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1317e6fb56fSmrg    if [ $basic_machine != $1 ]
1327e6fb56fSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1337e6fb56fSmrg    else os=; fi
1347e6fb56fSmrg    ;;
1357e6fb56fSmrgesac
1367e6fb56fSmrg
1377e6fb56fSmrg### Let's recognize common machines as not being operating systems so
1387e6fb56fSmrg### that things like config.sub decstation-3100 work.  We also
1397e6fb56fSmrg### recognize some manufacturers as not being operating systems, so we
1407e6fb56fSmrg### can provide default operating systems below.
1417e6fb56fSmrgcase $os in
1427e6fb56fSmrg	-sun*os*)
1437e6fb56fSmrg		# Prevent following clause from handling this invalid input.
1447e6fb56fSmrg		;;
1457e6fb56fSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1467e6fb56fSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1477e6fb56fSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1487e6fb56fSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1497e6fb56fSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1507e6fb56fSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1517e6fb56fSmrg	-apple | -axis | -knuth | -cray)
1527e6fb56fSmrg		os=
1537e6fb56fSmrg		basic_machine=$1
1547e6fb56fSmrg		;;
1557e6fb56fSmrg	-sim | -cisco | -oki | -wec | -winbond)
1567e6fb56fSmrg		os=
1577e6fb56fSmrg		basic_machine=$1
1587e6fb56fSmrg		;;
1597e6fb56fSmrg	-scout)
1607e6fb56fSmrg		;;
1617e6fb56fSmrg	-wrs)
1627e6fb56fSmrg		os=-vxworks
1637e6fb56fSmrg		basic_machine=$1
1647e6fb56fSmrg		;;
1657e6fb56fSmrg	-chorusos*)
1667e6fb56fSmrg		os=-chorusos
1677e6fb56fSmrg		basic_machine=$1
1687e6fb56fSmrg		;;
1697e6fb56fSmrg 	-chorusrdb)
1707e6fb56fSmrg 		os=-chorusrdb
1717e6fb56fSmrg		basic_machine=$1
1727e6fb56fSmrg 		;;
1737e6fb56fSmrg	-hiux*)
1747e6fb56fSmrg		os=-hiuxwe2
1757e6fb56fSmrg		;;
1767e6fb56fSmrg	-sco6)
1777e6fb56fSmrg		os=-sco5v6
1787e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1797e6fb56fSmrg		;;
1807e6fb56fSmrg	-sco5)
1817e6fb56fSmrg		os=-sco3.2v5
1827e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1837e6fb56fSmrg		;;
1847e6fb56fSmrg	-sco4)
1857e6fb56fSmrg		os=-sco3.2v4
1867e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1877e6fb56fSmrg		;;
1887e6fb56fSmrg	-sco3.2.[4-9]*)
1897e6fb56fSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1907e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1917e6fb56fSmrg		;;
1927e6fb56fSmrg	-sco3.2v[4-9]*)
1937e6fb56fSmrg		# Don't forget version if it is 3.2v4 or newer.
1947e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1957e6fb56fSmrg		;;
1967e6fb56fSmrg	-sco5v6*)
1977e6fb56fSmrg		# Don't forget version if it is 3.2v4 or newer.
1987e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1997e6fb56fSmrg		;;
2007e6fb56fSmrg	-sco*)
2017e6fb56fSmrg		os=-sco3.2v2
2027e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2037e6fb56fSmrg		;;
2047e6fb56fSmrg	-udk*)
2057e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2067e6fb56fSmrg		;;
2077e6fb56fSmrg	-isc)
2087e6fb56fSmrg		os=-isc2.2
2097e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2107e6fb56fSmrg		;;
2117e6fb56fSmrg	-clix*)
2127e6fb56fSmrg		basic_machine=clipper-intergraph
2137e6fb56fSmrg		;;
2147e6fb56fSmrg	-isc*)
2157e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2167e6fb56fSmrg		;;
2177e6fb56fSmrg	-lynx*)
2187e6fb56fSmrg		os=-lynxos
2197e6fb56fSmrg		;;
2207e6fb56fSmrg	-ptx*)
2217e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2227e6fb56fSmrg		;;
2237e6fb56fSmrg	-windowsnt*)
2247e6fb56fSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2257e6fb56fSmrg		;;
2267e6fb56fSmrg	-psos*)
2277e6fb56fSmrg		os=-psos
2287e6fb56fSmrg		;;
2297e6fb56fSmrg	-mint | -mint[0-9]*)
2307e6fb56fSmrg		basic_machine=m68k-atari
2317e6fb56fSmrg		os=-mint
2327e6fb56fSmrg		;;
2337e6fb56fSmrgesac
2347e6fb56fSmrg
2357e6fb56fSmrg# Decode aliases for certain CPU-COMPANY combinations.
2367e6fb56fSmrgcase $basic_machine in
2377e6fb56fSmrg	# Recognize the basic CPU types without company name.
2387e6fb56fSmrg	# Some are omitted here because they have special meanings below.
2397e6fb56fSmrg	1750a | 580 \
2407e6fb56fSmrg	| a29k \
2417e6fb56fSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2427e6fb56fSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2437e6fb56fSmrg	| am33_2.0 \
2447e6fb56fSmrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2457e6fb56fSmrg	| bfin \
2467e6fb56fSmrg	| c4x | clipper \
2477e6fb56fSmrg	| d10v | d30v | dlx | dsp16xx \
2487e6fb56fSmrg	| fido | fr30 | frv \
2497e6fb56fSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2507e6fb56fSmrg	| i370 | i860 | i960 | ia64 \
2517e6fb56fSmrg	| ip2k | iq2000 \
2527e6fb56fSmrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2537e6fb56fSmrg	| maxq | mb | microblaze | mcore | mep \
2547e6fb56fSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2557e6fb56fSmrg	| mips16 \
2567e6fb56fSmrg	| mips64 | mips64el \
2577e6fb56fSmrg	| mips64vr | mips64vrel \
2587e6fb56fSmrg	| mips64orion | mips64orionel \
2597e6fb56fSmrg	| mips64vr4100 | mips64vr4100el \
2607e6fb56fSmrg	| mips64vr4300 | mips64vr4300el \
2617e6fb56fSmrg	| mips64vr5000 | mips64vr5000el \
2627e6fb56fSmrg	| mips64vr5900 | mips64vr5900el \
2637e6fb56fSmrg	| mipsisa32 | mipsisa32el \
2647e6fb56fSmrg	| mipsisa32r2 | mipsisa32r2el \
2657e6fb56fSmrg	| mipsisa64 | mipsisa64el \
2667e6fb56fSmrg	| mipsisa64r2 | mipsisa64r2el \
2677e6fb56fSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2687e6fb56fSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2697e6fb56fSmrg	| mipstx39 | mipstx39el \
2707e6fb56fSmrg	| mn10200 | mn10300 \
2717e6fb56fSmrg	| mt \
2727e6fb56fSmrg	| msp430 \
2737e6fb56fSmrg	| nios | nios2 \
2747e6fb56fSmrg	| ns16k | ns32k \
2757e6fb56fSmrg	| or32 \
2767e6fb56fSmrg	| pdp10 | pdp11 | pj | pjl \
2777e6fb56fSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2787e6fb56fSmrg	| pyramid \
2797e6fb56fSmrg	| score \
2807e6fb56fSmrg	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2817e6fb56fSmrg	| sh64 | sh64le \
2827e6fb56fSmrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2837e6fb56fSmrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2847e6fb56fSmrg	| spu | strongarm \
2857e6fb56fSmrg	| tahoe | thumb | tic4x | tic80 | tron \
2867e6fb56fSmrg	| v850 | v850e \
2877e6fb56fSmrg	| we32k \
2887e6fb56fSmrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
2897e6fb56fSmrg	| z8k)
2907e6fb56fSmrg		basic_machine=$basic_machine-unknown
2917e6fb56fSmrg		;;
2927e6fb56fSmrg	m6811 | m68hc11 | m6812 | m68hc12)
2937e6fb56fSmrg		# Motorola 68HC11/12.
2947e6fb56fSmrg		basic_machine=$basic_machine-unknown
2957e6fb56fSmrg		os=-none
2967e6fb56fSmrg		;;
2977e6fb56fSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2987e6fb56fSmrg		;;
2997e6fb56fSmrg	ms1)
3007e6fb56fSmrg		basic_machine=mt-unknown
3017e6fb56fSmrg		;;
3027e6fb56fSmrg
3037e6fb56fSmrg	# We use `pc' rather than `unknown'
3047e6fb56fSmrg	# because (1) that's what they normally are, and
3057e6fb56fSmrg	# (2) the word "unknown" tends to confuse beginning users.
3067e6fb56fSmrg	i*86 | x86_64)
3077e6fb56fSmrg	  basic_machine=$basic_machine-pc
3087e6fb56fSmrg	  ;;
3097e6fb56fSmrg	# Object if more than one company name word.
3107e6fb56fSmrg	*-*-*)
3117e6fb56fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3127e6fb56fSmrg		exit 1
3137e6fb56fSmrg		;;
3147e6fb56fSmrg	# Recognize the basic CPU types with company name.
3157e6fb56fSmrg	580-* \
3167e6fb56fSmrg	| a29k-* \
3177e6fb56fSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3187e6fb56fSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3197e6fb56fSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3207e6fb56fSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3217e6fb56fSmrg	| avr-* | avr32-* \
3227e6fb56fSmrg	| bfin-* | bs2000-* \
3237e6fb56fSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3247e6fb56fSmrg	| clipper-* | craynv-* | cydra-* \
3257e6fb56fSmrg	| d10v-* | d30v-* | dlx-* \
3267e6fb56fSmrg	| elxsi-* \
3277e6fb56fSmrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3287e6fb56fSmrg	| h8300-* | h8500-* \
3297e6fb56fSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3307e6fb56fSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3317e6fb56fSmrg	| ip2k-* | iq2000-* \
3327e6fb56fSmrg	| m32c-* | m32r-* | m32rle-* \
3337e6fb56fSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3347e6fb56fSmrg	| m88110-* | m88k-* | maxq-* | mcore-* \
3357e6fb56fSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3367e6fb56fSmrg	| mips16-* \
3377e6fb56fSmrg	| mips64-* | mips64el-* \
3387e6fb56fSmrg	| mips64vr-* | mips64vrel-* \
3397e6fb56fSmrg	| mips64orion-* | mips64orionel-* \
3407e6fb56fSmrg	| mips64vr4100-* | mips64vr4100el-* \
3417e6fb56fSmrg	| mips64vr4300-* | mips64vr4300el-* \
3427e6fb56fSmrg	| mips64vr5000-* | mips64vr5000el-* \
3437e6fb56fSmrg	| mips64vr5900-* | mips64vr5900el-* \
3447e6fb56fSmrg	| mipsisa32-* | mipsisa32el-* \
3457e6fb56fSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3467e6fb56fSmrg	| mipsisa64-* | mipsisa64el-* \
3477e6fb56fSmrg	| mipsisa64r2-* | mipsisa64r2el-* \
3487e6fb56fSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3497e6fb56fSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3507e6fb56fSmrg	| mipstx39-* | mipstx39el-* \
3517e6fb56fSmrg	| mmix-* \
3527e6fb56fSmrg	| mt-* \
3537e6fb56fSmrg	| msp430-* \
3547e6fb56fSmrg	| nios-* | nios2-* \
3557e6fb56fSmrg	| none-* | np1-* | ns16k-* | ns32k-* \
3567e6fb56fSmrg	| orion-* \
3577e6fb56fSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3587e6fb56fSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3597e6fb56fSmrg	| pyramid-* \
3607e6fb56fSmrg	| romp-* | rs6000-* \
3617e6fb56fSmrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3627e6fb56fSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3637e6fb56fSmrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3647e6fb56fSmrg	| sparclite-* \
3657e6fb56fSmrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3667e6fb56fSmrg	| tahoe-* | thumb-* \
3677e6fb56fSmrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3687e6fb56fSmrg	| tron-* \
3697e6fb56fSmrg	| v850-* | v850e-* | vax-* \
3707e6fb56fSmrg	| we32k-* \
3717e6fb56fSmrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3727e6fb56fSmrg	| xstormy16-* | xtensa*-* \
3737e6fb56fSmrg	| ymp-* \
3747e6fb56fSmrg	| z8k-*)
3757e6fb56fSmrg		;;
3767e6fb56fSmrg	# Recognize the basic CPU types without company name, with glob match.
3777e6fb56fSmrg	xtensa*)
3787e6fb56fSmrg		basic_machine=$basic_machine-unknown
3797e6fb56fSmrg		;;
3807e6fb56fSmrg	# Recognize the various machine names and aliases which stand
3817e6fb56fSmrg	# for a CPU type and a company and sometimes even an OS.
3827e6fb56fSmrg	386bsd)
3837e6fb56fSmrg		basic_machine=i386-unknown
3847e6fb56fSmrg		os=-bsd
3857e6fb56fSmrg		;;
3867e6fb56fSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3877e6fb56fSmrg		basic_machine=m68000-att
3887e6fb56fSmrg		;;
3897e6fb56fSmrg	3b*)
3907e6fb56fSmrg		basic_machine=we32k-att
3917e6fb56fSmrg		;;
3927e6fb56fSmrg	a29khif)
3937e6fb56fSmrg		basic_machine=a29k-amd
3947e6fb56fSmrg		os=-udi
3957e6fb56fSmrg		;;
3967e6fb56fSmrg    	abacus)
3977e6fb56fSmrg		basic_machine=abacus-unknown
3987e6fb56fSmrg		;;
3997e6fb56fSmrg	adobe68k)
4007e6fb56fSmrg		basic_machine=m68010-adobe
4017e6fb56fSmrg		os=-scout
4027e6fb56fSmrg		;;
4037e6fb56fSmrg	alliant | fx80)
4047e6fb56fSmrg		basic_machine=fx80-alliant
4057e6fb56fSmrg		;;
4067e6fb56fSmrg	altos | altos3068)
4077e6fb56fSmrg		basic_machine=m68k-altos
4087e6fb56fSmrg		;;
4097e6fb56fSmrg	am29k)
4107e6fb56fSmrg		basic_machine=a29k-none
4117e6fb56fSmrg		os=-bsd
4127e6fb56fSmrg		;;
4137e6fb56fSmrg	amd64)
4147e6fb56fSmrg		basic_machine=x86_64-pc
4157e6fb56fSmrg		;;
4167e6fb56fSmrg	amd64-*)
4177e6fb56fSmrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4187e6fb56fSmrg		;;
4197e6fb56fSmrg	amdahl)
4207e6fb56fSmrg		basic_machine=580-amdahl
4217e6fb56fSmrg		os=-sysv
4227e6fb56fSmrg		;;
4237e6fb56fSmrg	amiga | amiga-*)
4247e6fb56fSmrg		basic_machine=m68k-unknown
4257e6fb56fSmrg		;;
4267e6fb56fSmrg	amigaos | amigados)
4277e6fb56fSmrg		basic_machine=m68k-unknown
4287e6fb56fSmrg		os=-amigaos
4297e6fb56fSmrg		;;
4307e6fb56fSmrg	amigaunix | amix)
4317e6fb56fSmrg		basic_machine=m68k-unknown
4327e6fb56fSmrg		os=-sysv4
4337e6fb56fSmrg		;;
4347e6fb56fSmrg	apollo68)
4357e6fb56fSmrg		basic_machine=m68k-apollo
4367e6fb56fSmrg		os=-sysv
4377e6fb56fSmrg		;;
4387e6fb56fSmrg	apollo68bsd)
4397e6fb56fSmrg		basic_machine=m68k-apollo
4407e6fb56fSmrg		os=-bsd
4417e6fb56fSmrg		;;
4427e6fb56fSmrg	aux)
4437e6fb56fSmrg		basic_machine=m68k-apple
4447e6fb56fSmrg		os=-aux
4457e6fb56fSmrg		;;
4467e6fb56fSmrg	balance)
4477e6fb56fSmrg		basic_machine=ns32k-sequent
4487e6fb56fSmrg		os=-dynix
4497e6fb56fSmrg		;;
4507e6fb56fSmrg	blackfin)
4517e6fb56fSmrg		basic_machine=bfin-unknown
4527e6fb56fSmrg		os=-linux
4537e6fb56fSmrg		;;
4547e6fb56fSmrg	blackfin-*)
4557e6fb56fSmrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4567e6fb56fSmrg		os=-linux
4577e6fb56fSmrg		;;
4587e6fb56fSmrg	c90)
4597e6fb56fSmrg		basic_machine=c90-cray
4607e6fb56fSmrg		os=-unicos
4617e6fb56fSmrg		;;
4627e6fb56fSmrg	convex-c1)
4637e6fb56fSmrg		basic_machine=c1-convex
4647e6fb56fSmrg		os=-bsd
4657e6fb56fSmrg		;;
4667e6fb56fSmrg	convex-c2)
4677e6fb56fSmrg		basic_machine=c2-convex
4687e6fb56fSmrg		os=-bsd
4697e6fb56fSmrg		;;
4707e6fb56fSmrg	convex-c32)
4717e6fb56fSmrg		basic_machine=c32-convex
4727e6fb56fSmrg		os=-bsd
4737e6fb56fSmrg		;;
4747e6fb56fSmrg	convex-c34)
4757e6fb56fSmrg		basic_machine=c34-convex
4767e6fb56fSmrg		os=-bsd
4777e6fb56fSmrg		;;
4787e6fb56fSmrg	convex-c38)
4797e6fb56fSmrg		basic_machine=c38-convex
4807e6fb56fSmrg		os=-bsd
4817e6fb56fSmrg		;;
4827e6fb56fSmrg	cray | j90)
4837e6fb56fSmrg		basic_machine=j90-cray
4847e6fb56fSmrg		os=-unicos
4857e6fb56fSmrg		;;
4867e6fb56fSmrg	craynv)
4877e6fb56fSmrg		basic_machine=craynv-cray
4887e6fb56fSmrg		os=-unicosmp
4897e6fb56fSmrg		;;
4907e6fb56fSmrg	cr16)
4917e6fb56fSmrg		basic_machine=cr16-unknown
4927e6fb56fSmrg		os=-elf
4937e6fb56fSmrg		;;
4947e6fb56fSmrg	crds | unos)
4957e6fb56fSmrg		basic_machine=m68k-crds
4967e6fb56fSmrg		;;
4977e6fb56fSmrg	crisv32 | crisv32-* | etraxfs*)
4987e6fb56fSmrg		basic_machine=crisv32-axis
4997e6fb56fSmrg		;;
5007e6fb56fSmrg	cris | cris-* | etrax*)
5017e6fb56fSmrg		basic_machine=cris-axis
5027e6fb56fSmrg		;;
5037e6fb56fSmrg	crx)
5047e6fb56fSmrg		basic_machine=crx-unknown
5057e6fb56fSmrg		os=-elf
5067e6fb56fSmrg		;;
5077e6fb56fSmrg	da30 | da30-*)
5087e6fb56fSmrg		basic_machine=m68k-da30
5097e6fb56fSmrg		;;
5107e6fb56fSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5117e6fb56fSmrg		basic_machine=mips-dec
5127e6fb56fSmrg		;;
5137e6fb56fSmrg	decsystem10* | dec10*)
5147e6fb56fSmrg		basic_machine=pdp10-dec
5157e6fb56fSmrg		os=-tops10
5167e6fb56fSmrg		;;
5177e6fb56fSmrg	decsystem20* | dec20*)
5187e6fb56fSmrg		basic_machine=pdp10-dec
5197e6fb56fSmrg		os=-tops20
5207e6fb56fSmrg		;;
5217e6fb56fSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5227e6fb56fSmrg	      | 3300-motorola | delta-motorola)
5237e6fb56fSmrg		basic_machine=m68k-motorola
5247e6fb56fSmrg		;;
5257e6fb56fSmrg	delta88)
5267e6fb56fSmrg		basic_machine=m88k-motorola
5277e6fb56fSmrg		os=-sysv3
5287e6fb56fSmrg		;;
5297e6fb56fSmrg	djgpp)
5307e6fb56fSmrg		basic_machine=i586-pc
5317e6fb56fSmrg		os=-msdosdjgpp
5327e6fb56fSmrg		;;
5337e6fb56fSmrg	dpx20 | dpx20-*)
5347e6fb56fSmrg		basic_machine=rs6000-bull
5357e6fb56fSmrg		os=-bosx
5367e6fb56fSmrg		;;
5377e6fb56fSmrg	dpx2* | dpx2*-bull)
5387e6fb56fSmrg		basic_machine=m68k-bull
5397e6fb56fSmrg		os=-sysv3
5407e6fb56fSmrg		;;
5417e6fb56fSmrg	ebmon29k)
5427e6fb56fSmrg		basic_machine=a29k-amd
5437e6fb56fSmrg		os=-ebmon
5447e6fb56fSmrg		;;
5457e6fb56fSmrg	elxsi)
5467e6fb56fSmrg		basic_machine=elxsi-elxsi
5477e6fb56fSmrg		os=-bsd
5487e6fb56fSmrg		;;
5497e6fb56fSmrg	encore | umax | mmax)
5507e6fb56fSmrg		basic_machine=ns32k-encore
5517e6fb56fSmrg		;;
5527e6fb56fSmrg	es1800 | OSE68k | ose68k | ose | OSE)
5537e6fb56fSmrg		basic_machine=m68k-ericsson
5547e6fb56fSmrg		os=-ose
5557e6fb56fSmrg		;;
5567e6fb56fSmrg	fx2800)
5577e6fb56fSmrg		basic_machine=i860-alliant
5587e6fb56fSmrg		;;
5597e6fb56fSmrg	genix)
5607e6fb56fSmrg		basic_machine=ns32k-ns
5617e6fb56fSmrg		;;
5627e6fb56fSmrg	gmicro)
5637e6fb56fSmrg		basic_machine=tron-gmicro
5647e6fb56fSmrg		os=-sysv
5657e6fb56fSmrg		;;
5667e6fb56fSmrg	go32)
5677e6fb56fSmrg		basic_machine=i386-pc
5687e6fb56fSmrg		os=-go32
5697e6fb56fSmrg		;;
5707e6fb56fSmrg	h3050r* | hiux*)
5717e6fb56fSmrg		basic_machine=hppa1.1-hitachi
5727e6fb56fSmrg		os=-hiuxwe2
5737e6fb56fSmrg		;;
5747e6fb56fSmrg	h8300hms)
5757e6fb56fSmrg		basic_machine=h8300-hitachi
5767e6fb56fSmrg		os=-hms
5777e6fb56fSmrg		;;
5787e6fb56fSmrg	h8300xray)
5797e6fb56fSmrg		basic_machine=h8300-hitachi
5807e6fb56fSmrg		os=-xray
5817e6fb56fSmrg		;;
5827e6fb56fSmrg	h8500hms)
5837e6fb56fSmrg		basic_machine=h8500-hitachi
5847e6fb56fSmrg		os=-hms
5857e6fb56fSmrg		;;
5867e6fb56fSmrg	harris)
5877e6fb56fSmrg		basic_machine=m88k-harris
5887e6fb56fSmrg		os=-sysv3
5897e6fb56fSmrg		;;
5907e6fb56fSmrg	hp300-*)
5917e6fb56fSmrg		basic_machine=m68k-hp
5927e6fb56fSmrg		;;
5937e6fb56fSmrg	hp300bsd)
5947e6fb56fSmrg		basic_machine=m68k-hp
5957e6fb56fSmrg		os=-bsd
5967e6fb56fSmrg		;;
5977e6fb56fSmrg	hp300hpux)
5987e6fb56fSmrg		basic_machine=m68k-hp
5997e6fb56fSmrg		os=-hpux
6007e6fb56fSmrg		;;
6017e6fb56fSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6027e6fb56fSmrg		basic_machine=hppa1.0-hp
6037e6fb56fSmrg		;;
6047e6fb56fSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6057e6fb56fSmrg		basic_machine=m68000-hp
6067e6fb56fSmrg		;;
6077e6fb56fSmrg	hp9k3[2-9][0-9])
6087e6fb56fSmrg		basic_machine=m68k-hp
6097e6fb56fSmrg		;;
6107e6fb56fSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6117e6fb56fSmrg		basic_machine=hppa1.0-hp
6127e6fb56fSmrg		;;
6137e6fb56fSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6147e6fb56fSmrg		basic_machine=hppa1.1-hp
6157e6fb56fSmrg		;;
6167e6fb56fSmrg	hp9k78[0-9] | hp78[0-9])
6177e6fb56fSmrg		# FIXME: really hppa2.0-hp
6187e6fb56fSmrg		basic_machine=hppa1.1-hp
6197e6fb56fSmrg		;;
6207e6fb56fSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6217e6fb56fSmrg		# FIXME: really hppa2.0-hp
6227e6fb56fSmrg		basic_machine=hppa1.1-hp
6237e6fb56fSmrg		;;
6247e6fb56fSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6257e6fb56fSmrg		basic_machine=hppa1.1-hp
6267e6fb56fSmrg		;;
6277e6fb56fSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6287e6fb56fSmrg		basic_machine=hppa1.0-hp
6297e6fb56fSmrg		;;
6307e6fb56fSmrg	hppa-next)
6317e6fb56fSmrg		os=-nextstep3
6327e6fb56fSmrg		;;
6337e6fb56fSmrg	hppaosf)
6347e6fb56fSmrg		basic_machine=hppa1.1-hp
6357e6fb56fSmrg		os=-osf
6367e6fb56fSmrg		;;
6377e6fb56fSmrg	hppro)
6387e6fb56fSmrg		basic_machine=hppa1.1-hp
6397e6fb56fSmrg		os=-proelf
6407e6fb56fSmrg		;;
6417e6fb56fSmrg	i370-ibm* | ibm*)
6427e6fb56fSmrg		basic_machine=i370-ibm
6437e6fb56fSmrg		;;
6447e6fb56fSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
6457e6fb56fSmrg	i*86v32)
6467e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6477e6fb56fSmrg		os=-sysv32
6487e6fb56fSmrg		;;
6497e6fb56fSmrg	i*86v4*)
6507e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6517e6fb56fSmrg		os=-sysv4
6527e6fb56fSmrg		;;
6537e6fb56fSmrg	i*86v)
6547e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6557e6fb56fSmrg		os=-sysv
6567e6fb56fSmrg		;;
6577e6fb56fSmrg	i*86sol2)
6587e6fb56fSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6597e6fb56fSmrg		os=-solaris2
6607e6fb56fSmrg		;;
6617e6fb56fSmrg	i386mach)
6627e6fb56fSmrg		basic_machine=i386-mach
6637e6fb56fSmrg		os=-mach
6647e6fb56fSmrg		;;
6657e6fb56fSmrg	i386-vsta | vsta)
6667e6fb56fSmrg		basic_machine=i386-unknown
6677e6fb56fSmrg		os=-vsta
6687e6fb56fSmrg		;;
6697e6fb56fSmrg	iris | iris4d)
6707e6fb56fSmrg		basic_machine=mips-sgi
6717e6fb56fSmrg		case $os in
6727e6fb56fSmrg		    -irix*)
6737e6fb56fSmrg			;;
6747e6fb56fSmrg		    *)
6757e6fb56fSmrg			os=-irix4
6767e6fb56fSmrg			;;
6777e6fb56fSmrg		esac
6787e6fb56fSmrg		;;
6797e6fb56fSmrg	isi68 | isi)
6807e6fb56fSmrg		basic_machine=m68k-isi
6817e6fb56fSmrg		os=-sysv
6827e6fb56fSmrg		;;
6837e6fb56fSmrg	m68knommu)
6847e6fb56fSmrg		basic_machine=m68k-unknown
6857e6fb56fSmrg		os=-linux
6867e6fb56fSmrg		;;
6877e6fb56fSmrg	m68knommu-*)
6887e6fb56fSmrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
6897e6fb56fSmrg		os=-linux
6907e6fb56fSmrg		;;
6917e6fb56fSmrg	m88k-omron*)
6927e6fb56fSmrg		basic_machine=m88k-omron
6937e6fb56fSmrg		;;
6947e6fb56fSmrg	magnum | m3230)
6957e6fb56fSmrg		basic_machine=mips-mips
6967e6fb56fSmrg		os=-sysv
6977e6fb56fSmrg		;;
6987e6fb56fSmrg	merlin)
6997e6fb56fSmrg		basic_machine=ns32k-utek
7007e6fb56fSmrg		os=-sysv
7017e6fb56fSmrg		;;
7027e6fb56fSmrg	mingw32)
7037e6fb56fSmrg		basic_machine=i386-pc
7047e6fb56fSmrg		os=-mingw32
7057e6fb56fSmrg		;;
7067e6fb56fSmrg	mingw32ce)
7077e6fb56fSmrg		basic_machine=arm-unknown
7087e6fb56fSmrg		os=-mingw32ce
7097e6fb56fSmrg		;;
7107e6fb56fSmrg	miniframe)
7117e6fb56fSmrg		basic_machine=m68000-convergent
7127e6fb56fSmrg		;;
7137e6fb56fSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7147e6fb56fSmrg		basic_machine=m68k-atari
7157e6fb56fSmrg		os=-mint
7167e6fb56fSmrg		;;
7177e6fb56fSmrg	mips3*-*)
7187e6fb56fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7197e6fb56fSmrg		;;
7207e6fb56fSmrg	mips3*)
7217e6fb56fSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7227e6fb56fSmrg		;;
7237e6fb56fSmrg	monitor)
7247e6fb56fSmrg		basic_machine=m68k-rom68k
7257e6fb56fSmrg		os=-coff
7267e6fb56fSmrg		;;
7277e6fb56fSmrg	morphos)
7287e6fb56fSmrg		basic_machine=powerpc-unknown
7297e6fb56fSmrg		os=-morphos
7307e6fb56fSmrg		;;
7317e6fb56fSmrg	msdos)
7327e6fb56fSmrg		basic_machine=i386-pc
7337e6fb56fSmrg		os=-msdos
7347e6fb56fSmrg		;;
7357e6fb56fSmrg	ms1-*)
7367e6fb56fSmrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7377e6fb56fSmrg		;;
7387e6fb56fSmrg	mvs)
7397e6fb56fSmrg		basic_machine=i370-ibm
7407e6fb56fSmrg		os=-mvs
7417e6fb56fSmrg		;;
7427e6fb56fSmrg	ncr3000)
7437e6fb56fSmrg		basic_machine=i486-ncr
7447e6fb56fSmrg		os=-sysv4
7457e6fb56fSmrg		;;
7467e6fb56fSmrg	netbsd386)
7477e6fb56fSmrg		basic_machine=i386-unknown
7487e6fb56fSmrg		os=-netbsd
7497e6fb56fSmrg		;;
7507e6fb56fSmrg	netwinder)
7517e6fb56fSmrg		basic_machine=armv4l-rebel
7527e6fb56fSmrg		os=-linux
7537e6fb56fSmrg		;;
7547e6fb56fSmrg	news | news700 | news800 | news900)
7557e6fb56fSmrg		basic_machine=m68k-sony
7567e6fb56fSmrg		os=-newsos
7577e6fb56fSmrg		;;
7587e6fb56fSmrg	news1000)
7597e6fb56fSmrg		basic_machine=m68030-sony
7607e6fb56fSmrg		os=-newsos
7617e6fb56fSmrg		;;
7627e6fb56fSmrg	news-3600 | risc-news)
7637e6fb56fSmrg		basic_machine=mips-sony
7647e6fb56fSmrg		os=-newsos
7657e6fb56fSmrg		;;
7667e6fb56fSmrg	necv70)
7677e6fb56fSmrg		basic_machine=v70-nec
7687e6fb56fSmrg		os=-sysv
7697e6fb56fSmrg		;;
7707e6fb56fSmrg	next | m*-next )
7717e6fb56fSmrg		basic_machine=m68k-next
7727e6fb56fSmrg		case $os in
7737e6fb56fSmrg		    -nextstep* )
7747e6fb56fSmrg			;;
7757e6fb56fSmrg		    -ns2*)
7767e6fb56fSmrg		      os=-nextstep2
7777e6fb56fSmrg			;;
7787e6fb56fSmrg		    *)
7797e6fb56fSmrg		      os=-nextstep3
7807e6fb56fSmrg			;;
7817e6fb56fSmrg		esac
7827e6fb56fSmrg		;;
7837e6fb56fSmrg	nh3000)
7847e6fb56fSmrg		basic_machine=m68k-harris
7857e6fb56fSmrg		os=-cxux
7867e6fb56fSmrg		;;
7877e6fb56fSmrg	nh[45]000)
7887e6fb56fSmrg		basic_machine=m88k-harris
7897e6fb56fSmrg		os=-cxux
7907e6fb56fSmrg		;;
7917e6fb56fSmrg	nindy960)
7927e6fb56fSmrg		basic_machine=i960-intel
7937e6fb56fSmrg		os=-nindy
7947e6fb56fSmrg		;;
7957e6fb56fSmrg	mon960)
7967e6fb56fSmrg		basic_machine=i960-intel
7977e6fb56fSmrg		os=-mon960
7987e6fb56fSmrg		;;
7997e6fb56fSmrg	nonstopux)
8007e6fb56fSmrg		basic_machine=mips-compaq
8017e6fb56fSmrg		os=-nonstopux
8027e6fb56fSmrg		;;
8037e6fb56fSmrg	np1)
8047e6fb56fSmrg		basic_machine=np1-gould
8057e6fb56fSmrg		;;
8067e6fb56fSmrg	nsr-tandem)
8077e6fb56fSmrg		basic_machine=nsr-tandem
8087e6fb56fSmrg		;;
8097e6fb56fSmrg	op50n-* | op60c-*)
8107e6fb56fSmrg		basic_machine=hppa1.1-oki
8117e6fb56fSmrg		os=-proelf
8127e6fb56fSmrg		;;
8137e6fb56fSmrg	openrisc | openrisc-*)
8147e6fb56fSmrg		basic_machine=or32-unknown
8157e6fb56fSmrg		;;
8167e6fb56fSmrg	os400)
8177e6fb56fSmrg		basic_machine=powerpc-ibm
8187e6fb56fSmrg		os=-os400
8197e6fb56fSmrg		;;
8207e6fb56fSmrg	OSE68000 | ose68000)
8217e6fb56fSmrg		basic_machine=m68000-ericsson
8227e6fb56fSmrg		os=-ose
8237e6fb56fSmrg		;;
8247e6fb56fSmrg	os68k)
8257e6fb56fSmrg		basic_machine=m68k-none
8267e6fb56fSmrg		os=-os68k
8277e6fb56fSmrg		;;
8287e6fb56fSmrg	pa-hitachi)
8297e6fb56fSmrg		basic_machine=hppa1.1-hitachi
8307e6fb56fSmrg		os=-hiuxwe2
8317e6fb56fSmrg		;;
8327e6fb56fSmrg	paragon)
8337e6fb56fSmrg		basic_machine=i860-intel
8347e6fb56fSmrg		os=-osf
8357e6fb56fSmrg		;;
8367e6fb56fSmrg	parisc)
8377e6fb56fSmrg		basic_machine=hppa-unknown
8387e6fb56fSmrg		os=-linux
8397e6fb56fSmrg		;;
8407e6fb56fSmrg	parisc-*)
8417e6fb56fSmrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
8427e6fb56fSmrg		os=-linux
8437e6fb56fSmrg		;;
8447e6fb56fSmrg	pbd)
8457e6fb56fSmrg		basic_machine=sparc-tti
8467e6fb56fSmrg		;;
8477e6fb56fSmrg	pbb)
8487e6fb56fSmrg		basic_machine=m68k-tti
8497e6fb56fSmrg		;;
8507e6fb56fSmrg	pc532 | pc532-*)
8517e6fb56fSmrg		basic_machine=ns32k-pc532
8527e6fb56fSmrg		;;
8537e6fb56fSmrg	pc98)
8547e6fb56fSmrg		basic_machine=i386-pc
8557e6fb56fSmrg		;;
8567e6fb56fSmrg	pc98-*)
8577e6fb56fSmrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8587e6fb56fSmrg		;;
8597e6fb56fSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
8607e6fb56fSmrg		basic_machine=i586-pc
8617e6fb56fSmrg		;;
8627e6fb56fSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
8637e6fb56fSmrg		basic_machine=i686-pc
8647e6fb56fSmrg		;;
8657e6fb56fSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
8667e6fb56fSmrg		basic_machine=i686-pc
8677e6fb56fSmrg		;;
8687e6fb56fSmrg	pentium4)
8697e6fb56fSmrg		basic_machine=i786-pc
8707e6fb56fSmrg		;;
8717e6fb56fSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8727e6fb56fSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
8737e6fb56fSmrg		;;
8747e6fb56fSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
8757e6fb56fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8767e6fb56fSmrg		;;
8777e6fb56fSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
8787e6fb56fSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8797e6fb56fSmrg		;;
8807e6fb56fSmrg	pentium4-*)
8817e6fb56fSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
8827e6fb56fSmrg		;;
8837e6fb56fSmrg	pn)
8847e6fb56fSmrg		basic_machine=pn-gould
8857e6fb56fSmrg		;;
8867e6fb56fSmrg	power)	basic_machine=power-ibm
8877e6fb56fSmrg		;;
8887e6fb56fSmrg	ppc)	basic_machine=powerpc-unknown
8897e6fb56fSmrg		;;
8907e6fb56fSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
8917e6fb56fSmrg		;;
8927e6fb56fSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
8937e6fb56fSmrg		basic_machine=powerpcle-unknown
8947e6fb56fSmrg		;;
8957e6fb56fSmrg	ppcle-* | powerpclittle-*)
8967e6fb56fSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
8977e6fb56fSmrg		;;
8987e6fb56fSmrg	ppc64)	basic_machine=powerpc64-unknown
8997e6fb56fSmrg		;;
9007e6fb56fSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9017e6fb56fSmrg		;;
9027e6fb56fSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9037e6fb56fSmrg		basic_machine=powerpc64le-unknown
9047e6fb56fSmrg		;;
9057e6fb56fSmrg	ppc64le-* | powerpc64little-*)
9067e6fb56fSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9077e6fb56fSmrg		;;
9087e6fb56fSmrg	ps2)
9097e6fb56fSmrg		basic_machine=i386-ibm
9107e6fb56fSmrg		;;
9117e6fb56fSmrg	pw32)
9127e6fb56fSmrg		basic_machine=i586-unknown
9137e6fb56fSmrg		os=-pw32
9147e6fb56fSmrg		;;
9157e6fb56fSmrg	rdos)
9167e6fb56fSmrg		basic_machine=i386-pc
9177e6fb56fSmrg		os=-rdos
9187e6fb56fSmrg		;;
9197e6fb56fSmrg	rom68k)
9207e6fb56fSmrg		basic_machine=m68k-rom68k
9217e6fb56fSmrg		os=-coff
9227e6fb56fSmrg		;;
9237e6fb56fSmrg	rm[46]00)
9247e6fb56fSmrg		basic_machine=mips-siemens
9257e6fb56fSmrg		;;
9267e6fb56fSmrg	rtpc | rtpc-*)
9277e6fb56fSmrg		basic_machine=romp-ibm
9287e6fb56fSmrg		;;
9297e6fb56fSmrg	s390 | s390-*)
9307e6fb56fSmrg		basic_machine=s390-ibm
9317e6fb56fSmrg		;;
9327e6fb56fSmrg	s390x | s390x-*)
9337e6fb56fSmrg		basic_machine=s390x-ibm
9347e6fb56fSmrg		;;
9357e6fb56fSmrg	sa29200)
9367e6fb56fSmrg		basic_machine=a29k-amd
9377e6fb56fSmrg		os=-udi
9387e6fb56fSmrg		;;
9397e6fb56fSmrg	sb1)
9407e6fb56fSmrg		basic_machine=mipsisa64sb1-unknown
9417e6fb56fSmrg		;;
9427e6fb56fSmrg	sb1el)
9437e6fb56fSmrg		basic_machine=mipsisa64sb1el-unknown
9447e6fb56fSmrg		;;
9457e6fb56fSmrg	sde)
9467e6fb56fSmrg		basic_machine=mipsisa32-sde
9477e6fb56fSmrg		os=-elf
9487e6fb56fSmrg		;;
9497e6fb56fSmrg	sei)
9507e6fb56fSmrg		basic_machine=mips-sei
9517e6fb56fSmrg		os=-seiux
9527e6fb56fSmrg		;;
9537e6fb56fSmrg	sequent)
9547e6fb56fSmrg		basic_machine=i386-sequent
9557e6fb56fSmrg		;;
9567e6fb56fSmrg	sh)
9577e6fb56fSmrg		basic_machine=sh-hitachi
9587e6fb56fSmrg		os=-hms
9597e6fb56fSmrg		;;
9607e6fb56fSmrg	sh5el)
9617e6fb56fSmrg		basic_machine=sh5le-unknown
9627e6fb56fSmrg		;;
9637e6fb56fSmrg	sh64)
9647e6fb56fSmrg		basic_machine=sh64-unknown
9657e6fb56fSmrg		;;
9667e6fb56fSmrg	sparclite-wrs | simso-wrs)
9677e6fb56fSmrg		basic_machine=sparclite-wrs
9687e6fb56fSmrg		os=-vxworks
9697e6fb56fSmrg		;;
9707e6fb56fSmrg	sps7)
9717e6fb56fSmrg		basic_machine=m68k-bull
9727e6fb56fSmrg		os=-sysv2
9737e6fb56fSmrg		;;
9747e6fb56fSmrg	spur)
9757e6fb56fSmrg		basic_machine=spur-unknown
9767e6fb56fSmrg		;;
9777e6fb56fSmrg	st2000)
9787e6fb56fSmrg		basic_machine=m68k-tandem
9797e6fb56fSmrg		;;
9807e6fb56fSmrg	stratus)
9817e6fb56fSmrg		basic_machine=i860-stratus
9827e6fb56fSmrg		os=-sysv4
9837e6fb56fSmrg		;;
9847e6fb56fSmrg	sun2)
9857e6fb56fSmrg		basic_machine=m68000-sun
9867e6fb56fSmrg		;;
9877e6fb56fSmrg	sun2os3)
9887e6fb56fSmrg		basic_machine=m68000-sun
9897e6fb56fSmrg		os=-sunos3
9907e6fb56fSmrg		;;
9917e6fb56fSmrg	sun2os4)
9927e6fb56fSmrg		basic_machine=m68000-sun
9937e6fb56fSmrg		os=-sunos4
9947e6fb56fSmrg		;;
9957e6fb56fSmrg	sun3os3)
9967e6fb56fSmrg		basic_machine=m68k-sun
9977e6fb56fSmrg		os=-sunos3
9987e6fb56fSmrg		;;
9997e6fb56fSmrg	sun3os4)
10007e6fb56fSmrg		basic_machine=m68k-sun
10017e6fb56fSmrg		os=-sunos4
10027e6fb56fSmrg		;;
10037e6fb56fSmrg	sun4os3)
10047e6fb56fSmrg		basic_machine=sparc-sun
10057e6fb56fSmrg		os=-sunos3
10067e6fb56fSmrg		;;
10077e6fb56fSmrg	sun4os4)
10087e6fb56fSmrg		basic_machine=sparc-sun
10097e6fb56fSmrg		os=-sunos4
10107e6fb56fSmrg		;;
10117e6fb56fSmrg	sun4sol2)
10127e6fb56fSmrg		basic_machine=sparc-sun
10137e6fb56fSmrg		os=-solaris2
10147e6fb56fSmrg		;;
10157e6fb56fSmrg	sun3 | sun3-*)
10167e6fb56fSmrg		basic_machine=m68k-sun
10177e6fb56fSmrg		;;
10187e6fb56fSmrg	sun4)
10197e6fb56fSmrg		basic_machine=sparc-sun
10207e6fb56fSmrg		;;
10217e6fb56fSmrg	sun386 | sun386i | roadrunner)
10227e6fb56fSmrg		basic_machine=i386-sun
10237e6fb56fSmrg		;;
10247e6fb56fSmrg	sv1)
10257e6fb56fSmrg		basic_machine=sv1-cray
10267e6fb56fSmrg		os=-unicos
10277e6fb56fSmrg		;;
10287e6fb56fSmrg	symmetry)
10297e6fb56fSmrg		basic_machine=i386-sequent
10307e6fb56fSmrg		os=-dynix
10317e6fb56fSmrg		;;
10327e6fb56fSmrg	t3e)
10337e6fb56fSmrg		basic_machine=alphaev5-cray
10347e6fb56fSmrg		os=-unicos
10357e6fb56fSmrg		;;
10367e6fb56fSmrg	t90)
10377e6fb56fSmrg		basic_machine=t90-cray
10387e6fb56fSmrg		os=-unicos
10397e6fb56fSmrg		;;
10407e6fb56fSmrg	tic54x | c54x*)
10417e6fb56fSmrg		basic_machine=tic54x-unknown
10427e6fb56fSmrg		os=-coff
10437e6fb56fSmrg		;;
10447e6fb56fSmrg	tic55x | c55x*)
10457e6fb56fSmrg		basic_machine=tic55x-unknown
10467e6fb56fSmrg		os=-coff
10477e6fb56fSmrg		;;
10487e6fb56fSmrg	tic6x | c6x*)
10497e6fb56fSmrg		basic_machine=tic6x-unknown
10507e6fb56fSmrg		os=-coff
10517e6fb56fSmrg		;;
10527e6fb56fSmrg	tile*)
10537e6fb56fSmrg		basic_machine=tile-unknown
10547e6fb56fSmrg		os=-linux-gnu
10557e6fb56fSmrg		;;
10567e6fb56fSmrg	tx39)
10577e6fb56fSmrg		basic_machine=mipstx39-unknown
10587e6fb56fSmrg		;;
10597e6fb56fSmrg	tx39el)
10607e6fb56fSmrg		basic_machine=mipstx39el-unknown
10617e6fb56fSmrg		;;
10627e6fb56fSmrg	toad1)
10637e6fb56fSmrg		basic_machine=pdp10-xkl
10647e6fb56fSmrg		os=-tops20
10657e6fb56fSmrg		;;
10667e6fb56fSmrg	tower | tower-32)
10677e6fb56fSmrg		basic_machine=m68k-ncr
10687e6fb56fSmrg		;;
10697e6fb56fSmrg	tpf)
10707e6fb56fSmrg		basic_machine=s390x-ibm
10717e6fb56fSmrg		os=-tpf
10727e6fb56fSmrg		;;
10737e6fb56fSmrg	udi29k)
10747e6fb56fSmrg		basic_machine=a29k-amd
10757e6fb56fSmrg		os=-udi
10767e6fb56fSmrg		;;
10777e6fb56fSmrg	ultra3)
10787e6fb56fSmrg		basic_machine=a29k-nyu
10797e6fb56fSmrg		os=-sym1
10807e6fb56fSmrg		;;
10817e6fb56fSmrg	v810 | necv810)
10827e6fb56fSmrg		basic_machine=v810-nec
10837e6fb56fSmrg		os=-none
10847e6fb56fSmrg		;;
10857e6fb56fSmrg	vaxv)
10867e6fb56fSmrg		basic_machine=vax-dec
10877e6fb56fSmrg		os=-sysv
10887e6fb56fSmrg		;;
10897e6fb56fSmrg	vms)
10907e6fb56fSmrg		basic_machine=vax-dec
10917e6fb56fSmrg		os=-vms
10927e6fb56fSmrg		;;
10937e6fb56fSmrg	vpp*|vx|vx-*)
10947e6fb56fSmrg		basic_machine=f301-fujitsu
10957e6fb56fSmrg		;;
10967e6fb56fSmrg	vxworks960)
10977e6fb56fSmrg		basic_machine=i960-wrs
10987e6fb56fSmrg		os=-vxworks
10997e6fb56fSmrg		;;
11007e6fb56fSmrg	vxworks68)
11017e6fb56fSmrg		basic_machine=m68k-wrs
11027e6fb56fSmrg		os=-vxworks
11037e6fb56fSmrg		;;
11047e6fb56fSmrg	vxworks29k)
11057e6fb56fSmrg		basic_machine=a29k-wrs
11067e6fb56fSmrg		os=-vxworks
11077e6fb56fSmrg		;;
11087e6fb56fSmrg	w65*)
11097e6fb56fSmrg		basic_machine=w65-wdc
11107e6fb56fSmrg		os=-none
11117e6fb56fSmrg		;;
11127e6fb56fSmrg	w89k-*)
11137e6fb56fSmrg		basic_machine=hppa1.1-winbond
11147e6fb56fSmrg		os=-proelf
11157e6fb56fSmrg		;;
11167e6fb56fSmrg	xbox)
11177e6fb56fSmrg		basic_machine=i686-pc
11187e6fb56fSmrg		os=-mingw32
11197e6fb56fSmrg		;;
11207e6fb56fSmrg	xps | xps100)
11217e6fb56fSmrg		basic_machine=xps100-honeywell
11227e6fb56fSmrg		;;
11237e6fb56fSmrg	ymp)
11247e6fb56fSmrg		basic_machine=ymp-cray
11257e6fb56fSmrg		os=-unicos
11267e6fb56fSmrg		;;
11277e6fb56fSmrg	z8k-*-coff)
11287e6fb56fSmrg		basic_machine=z8k-unknown
11297e6fb56fSmrg		os=-sim
11307e6fb56fSmrg		;;
11317e6fb56fSmrg	none)
11327e6fb56fSmrg		basic_machine=none-none
11337e6fb56fSmrg		os=-none
11347e6fb56fSmrg		;;
11357e6fb56fSmrg
11367e6fb56fSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11377e6fb56fSmrg# some cases the only manufacturer, in others, it is the most popular.
11387e6fb56fSmrg	w89k)
11397e6fb56fSmrg		basic_machine=hppa1.1-winbond
11407e6fb56fSmrg		;;
11417e6fb56fSmrg	op50n)
11427e6fb56fSmrg		basic_machine=hppa1.1-oki
11437e6fb56fSmrg		;;
11447e6fb56fSmrg	op60c)
11457e6fb56fSmrg		basic_machine=hppa1.1-oki
11467e6fb56fSmrg		;;
11477e6fb56fSmrg	romp)
11487e6fb56fSmrg		basic_machine=romp-ibm
11497e6fb56fSmrg		;;
11507e6fb56fSmrg	mmix)
11517e6fb56fSmrg		basic_machine=mmix-knuth
11527e6fb56fSmrg		;;
11537e6fb56fSmrg	rs6000)
11547e6fb56fSmrg		basic_machine=rs6000-ibm
11557e6fb56fSmrg		;;
11567e6fb56fSmrg	vax)
11577e6fb56fSmrg		basic_machine=vax-dec
11587e6fb56fSmrg		;;
11597e6fb56fSmrg	pdp10)
11607e6fb56fSmrg		# there are many clones, so DEC is not a safe bet
11617e6fb56fSmrg		basic_machine=pdp10-unknown
11627e6fb56fSmrg		;;
11637e6fb56fSmrg	pdp11)
11647e6fb56fSmrg		basic_machine=pdp11-dec
11657e6fb56fSmrg		;;
11667e6fb56fSmrg	we32k)
11677e6fb56fSmrg		basic_machine=we32k-att
11687e6fb56fSmrg		;;
11697e6fb56fSmrg	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
11707e6fb56fSmrg		basic_machine=sh-unknown
11717e6fb56fSmrg		;;
11727e6fb56fSmrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
11737e6fb56fSmrg		basic_machine=sparc-sun
11747e6fb56fSmrg		;;
11757e6fb56fSmrg	cydra)
11767e6fb56fSmrg		basic_machine=cydra-cydrome
11777e6fb56fSmrg		;;
11787e6fb56fSmrg	orion)
11797e6fb56fSmrg		basic_machine=orion-highlevel
11807e6fb56fSmrg		;;
11817e6fb56fSmrg	orion105)
11827e6fb56fSmrg		basic_machine=clipper-highlevel
11837e6fb56fSmrg		;;
11847e6fb56fSmrg	mac | mpw | mac-mpw)
11857e6fb56fSmrg		basic_machine=m68k-apple
11867e6fb56fSmrg		;;
11877e6fb56fSmrg	pmac | pmac-mpw)
11887e6fb56fSmrg		basic_machine=powerpc-apple
11897e6fb56fSmrg		;;
11907e6fb56fSmrg	*-unknown)
11917e6fb56fSmrg		# Make sure to match an already-canonicalized machine name.
11927e6fb56fSmrg		;;
11937e6fb56fSmrg	*)
11947e6fb56fSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
11957e6fb56fSmrg		exit 1
11967e6fb56fSmrg		;;
11977e6fb56fSmrgesac
11987e6fb56fSmrg
11997e6fb56fSmrg# Here we canonicalize certain aliases for manufacturers.
12007e6fb56fSmrgcase $basic_machine in
12017e6fb56fSmrg	*-digital*)
12027e6fb56fSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12037e6fb56fSmrg		;;
12047e6fb56fSmrg	*-commodore*)
12057e6fb56fSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12067e6fb56fSmrg		;;
12077e6fb56fSmrg	*)
12087e6fb56fSmrg		;;
12097e6fb56fSmrgesac
12107e6fb56fSmrg
12117e6fb56fSmrg# Decode manufacturer-specific aliases for certain operating systems.
12127e6fb56fSmrg
12137e6fb56fSmrgif [ x"$os" != x"" ]
12147e6fb56fSmrgthen
12157e6fb56fSmrgcase $os in
12167e6fb56fSmrg        # First match some system type aliases
12177e6fb56fSmrg        # that might get confused with valid system types.
12187e6fb56fSmrg	# -solaris* is a basic system type, with this one exception.
12197e6fb56fSmrg	-solaris1 | -solaris1.*)
12207e6fb56fSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12217e6fb56fSmrg		;;
12227e6fb56fSmrg	-solaris)
12237e6fb56fSmrg		os=-solaris2
12247e6fb56fSmrg		;;
12257e6fb56fSmrg	-svr4*)
12267e6fb56fSmrg		os=-sysv4
12277e6fb56fSmrg		;;
12287e6fb56fSmrg	-unixware*)
12297e6fb56fSmrg		os=-sysv4.2uw
12307e6fb56fSmrg		;;
12317e6fb56fSmrg	-gnu/linux*)
12327e6fb56fSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12337e6fb56fSmrg		;;
12347e6fb56fSmrg	# First accept the basic system types.
12357e6fb56fSmrg	# The portable systems comes first.
12367e6fb56fSmrg	# Each alternative MUST END IN A *, to match a version number.
12377e6fb56fSmrg	# -sysv* is not here because it comes later, after sysvr4.
12387e6fb56fSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12397e6fb56fSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12407e6fb56fSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
12417e6fb56fSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12427e6fb56fSmrg	      | -aos* \
12437e6fb56fSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12447e6fb56fSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12457e6fb56fSmrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12467e6fb56fSmrg	      | -openbsd* | -solidbsd* \
12477e6fb56fSmrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12487e6fb56fSmrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12497e6fb56fSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12507e6fb56fSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
12517e6fb56fSmrg	      | -chorusos* | -chorusrdb* \
12527e6fb56fSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12537e6fb56fSmrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12547e6fb56fSmrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
12557e6fb56fSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
12567e6fb56fSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
12577e6fb56fSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
12587e6fb56fSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
12597e6fb56fSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
12607e6fb56fSmrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12617e6fb56fSmrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
12627e6fb56fSmrg	# Remember, each alternative MUST END IN *, to match a version number.
12637e6fb56fSmrg		;;
12647e6fb56fSmrg	-qnx*)
12657e6fb56fSmrg		case $basic_machine in
12667e6fb56fSmrg		    x86-* | i*86-*)
12677e6fb56fSmrg			;;
12687e6fb56fSmrg		    *)
12697e6fb56fSmrg			os=-nto$os
12707e6fb56fSmrg			;;
12717e6fb56fSmrg		esac
12727e6fb56fSmrg		;;
12737e6fb56fSmrg	-nto-qnx*)
12747e6fb56fSmrg		;;
12757e6fb56fSmrg	-nto*)
12767e6fb56fSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
12777e6fb56fSmrg		;;
12787e6fb56fSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
12797e6fb56fSmrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
12807e6fb56fSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
12817e6fb56fSmrg		;;
12827e6fb56fSmrg	-mac*)
12837e6fb56fSmrg		os=`echo $os | sed -e 's|mac|macos|'`
12847e6fb56fSmrg		;;
12857e6fb56fSmrg	-linux-dietlibc)
12867e6fb56fSmrg		os=-linux-dietlibc
12877e6fb56fSmrg		;;
12887e6fb56fSmrg	-linux*)
12897e6fb56fSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
12907e6fb56fSmrg		;;
12917e6fb56fSmrg	-sunos5*)
12927e6fb56fSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
12937e6fb56fSmrg		;;
12947e6fb56fSmrg	-sunos6*)
12957e6fb56fSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
12967e6fb56fSmrg		;;
12977e6fb56fSmrg	-opened*)
12987e6fb56fSmrg		os=-openedition
12997e6fb56fSmrg		;;
13007e6fb56fSmrg        -os400*)
13017e6fb56fSmrg		os=-os400
13027e6fb56fSmrg		;;
13037e6fb56fSmrg	-wince*)
13047e6fb56fSmrg		os=-wince
13057e6fb56fSmrg		;;
13067e6fb56fSmrg	-osfrose*)
13077e6fb56fSmrg		os=-osfrose
13087e6fb56fSmrg		;;
13097e6fb56fSmrg	-osf*)
13107e6fb56fSmrg		os=-osf
13117e6fb56fSmrg		;;
13127e6fb56fSmrg	-utek*)
13137e6fb56fSmrg		os=-bsd
13147e6fb56fSmrg		;;
13157e6fb56fSmrg	-dynix*)
13167e6fb56fSmrg		os=-bsd
13177e6fb56fSmrg		;;
13187e6fb56fSmrg	-acis*)
13197e6fb56fSmrg		os=-aos
13207e6fb56fSmrg		;;
13217e6fb56fSmrg	-atheos*)
13227e6fb56fSmrg		os=-atheos
13237e6fb56fSmrg		;;
13247e6fb56fSmrg	-syllable*)
13257e6fb56fSmrg		os=-syllable
13267e6fb56fSmrg		;;
13277e6fb56fSmrg	-386bsd)
13287e6fb56fSmrg		os=-bsd
13297e6fb56fSmrg		;;
13307e6fb56fSmrg	-ctix* | -uts*)
13317e6fb56fSmrg		os=-sysv
13327e6fb56fSmrg		;;
13337e6fb56fSmrg	-nova*)
13347e6fb56fSmrg		os=-rtmk-nova
13357e6fb56fSmrg		;;
13367e6fb56fSmrg	-ns2 )
13377e6fb56fSmrg		os=-nextstep2
13387e6fb56fSmrg		;;
13397e6fb56fSmrg	-nsk*)
13407e6fb56fSmrg		os=-nsk
13417e6fb56fSmrg		;;
13427e6fb56fSmrg	# Preserve the version number of sinix5.
13437e6fb56fSmrg	-sinix5.*)
13447e6fb56fSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
13457e6fb56fSmrg		;;
13467e6fb56fSmrg	-sinix*)
13477e6fb56fSmrg		os=-sysv4
13487e6fb56fSmrg		;;
13497e6fb56fSmrg        -tpf*)
13507e6fb56fSmrg		os=-tpf
13517e6fb56fSmrg		;;
13527e6fb56fSmrg	-triton*)
13537e6fb56fSmrg		os=-sysv3
13547e6fb56fSmrg		;;
13557e6fb56fSmrg	-oss*)
13567e6fb56fSmrg		os=-sysv3
13577e6fb56fSmrg		;;
13587e6fb56fSmrg	-svr4)
13597e6fb56fSmrg		os=-sysv4
13607e6fb56fSmrg		;;
13617e6fb56fSmrg	-svr3)
13627e6fb56fSmrg		os=-sysv3
13637e6fb56fSmrg		;;
13647e6fb56fSmrg	-sysvr4)
13657e6fb56fSmrg		os=-sysv4
13667e6fb56fSmrg		;;
13677e6fb56fSmrg	# This must come after -sysvr4.
13687e6fb56fSmrg	-sysv*)
13697e6fb56fSmrg		;;
13707e6fb56fSmrg	-ose*)
13717e6fb56fSmrg		os=-ose
13727e6fb56fSmrg		;;
13737e6fb56fSmrg	-es1800*)
13747e6fb56fSmrg		os=-ose
13757e6fb56fSmrg		;;
13767e6fb56fSmrg	-xenix)
13777e6fb56fSmrg		os=-xenix
13787e6fb56fSmrg		;;
13797e6fb56fSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
13807e6fb56fSmrg		os=-mint
13817e6fb56fSmrg		;;
13827e6fb56fSmrg	-aros*)
13837e6fb56fSmrg		os=-aros
13847e6fb56fSmrg		;;
13857e6fb56fSmrg	-kaos*)
13867e6fb56fSmrg		os=-kaos
13877e6fb56fSmrg		;;
13887e6fb56fSmrg	-zvmoe)
13897e6fb56fSmrg		os=-zvmoe
13907e6fb56fSmrg		;;
13917e6fb56fSmrg	-none)
13927e6fb56fSmrg		;;
13937e6fb56fSmrg	*)
13947e6fb56fSmrg		# Get rid of the `-' at the beginning of $os.
13957e6fb56fSmrg		os=`echo $os | sed 's/[^-]*-//'`
13967e6fb56fSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
13977e6fb56fSmrg		exit 1
13987e6fb56fSmrg		;;
13997e6fb56fSmrgesac
14007e6fb56fSmrgelse
14017e6fb56fSmrg
14027e6fb56fSmrg# Here we handle the default operating systems that come with various machines.
14037e6fb56fSmrg# The value should be what the vendor currently ships out the door with their
14047e6fb56fSmrg# machine or put another way, the most popular os provided with the machine.
14057e6fb56fSmrg
14067e6fb56fSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14077e6fb56fSmrg# "-sun"), then you have to tell the case statement up towards the top
14087e6fb56fSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14097e6fb56fSmrg# will signal an error saying that MANUFACTURER isn't an operating
14107e6fb56fSmrg# system, and we'll never get to this point.
14117e6fb56fSmrg
14127e6fb56fSmrgcase $basic_machine in
14137e6fb56fSmrg        score-*)
14147e6fb56fSmrg		os=-elf
14157e6fb56fSmrg		;;
14167e6fb56fSmrg        spu-*)
14177e6fb56fSmrg		os=-elf
14187e6fb56fSmrg		;;
14197e6fb56fSmrg	*-acorn)
14207e6fb56fSmrg		os=-riscix1.2
14217e6fb56fSmrg		;;
14227e6fb56fSmrg	arm*-rebel)
14237e6fb56fSmrg		os=-linux
14247e6fb56fSmrg		;;
14257e6fb56fSmrg	arm*-semi)
14267e6fb56fSmrg		os=-aout
14277e6fb56fSmrg		;;
14287e6fb56fSmrg        c4x-* | tic4x-*)
14297e6fb56fSmrg        	os=-coff
14307e6fb56fSmrg		;;
14317e6fb56fSmrg	# This must come before the *-dec entry.
14327e6fb56fSmrg	pdp10-*)
14337e6fb56fSmrg		os=-tops20
14347e6fb56fSmrg		;;
14357e6fb56fSmrg	pdp11-*)
14367e6fb56fSmrg		os=-none
14377e6fb56fSmrg		;;
14387e6fb56fSmrg	*-dec | vax-*)
14397e6fb56fSmrg		os=-ultrix4.2
14407e6fb56fSmrg		;;
14417e6fb56fSmrg	m68*-apollo)
14427e6fb56fSmrg		os=-domain
14437e6fb56fSmrg		;;
14447e6fb56fSmrg	i386-sun)
14457e6fb56fSmrg		os=-sunos4.0.2
14467e6fb56fSmrg		;;
14477e6fb56fSmrg	m68000-sun)
14487e6fb56fSmrg		os=-sunos3
14497e6fb56fSmrg		# This also exists in the configure program, but was not the
14507e6fb56fSmrg		# default.
14517e6fb56fSmrg		# os=-sunos4
14527e6fb56fSmrg		;;
14537e6fb56fSmrg	m68*-cisco)
14547e6fb56fSmrg		os=-aout
14557e6fb56fSmrg		;;
14567e6fb56fSmrg        mep-*)
14577e6fb56fSmrg		os=-elf
14587e6fb56fSmrg		;;
14597e6fb56fSmrg	mips*-cisco)
14607e6fb56fSmrg		os=-elf
14617e6fb56fSmrg		;;
14627e6fb56fSmrg	mips*-*)
14637e6fb56fSmrg		os=-elf
14647e6fb56fSmrg		;;
14657e6fb56fSmrg	or32-*)
14667e6fb56fSmrg		os=-coff
14677e6fb56fSmrg		;;
14687e6fb56fSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
14697e6fb56fSmrg		os=-sysv3
14707e6fb56fSmrg		;;
14717e6fb56fSmrg	sparc-* | *-sun)
14727e6fb56fSmrg		os=-sunos4.1.1
14737e6fb56fSmrg		;;
14747e6fb56fSmrg	*-be)
14757e6fb56fSmrg		os=-beos
14767e6fb56fSmrg		;;
14777e6fb56fSmrg	*-haiku)
14787e6fb56fSmrg		os=-haiku
14797e6fb56fSmrg		;;
14807e6fb56fSmrg	*-ibm)
14817e6fb56fSmrg		os=-aix
14827e6fb56fSmrg		;;
14837e6fb56fSmrg    	*-knuth)
14847e6fb56fSmrg		os=-mmixware
14857e6fb56fSmrg		;;
14867e6fb56fSmrg	*-wec)
14877e6fb56fSmrg		os=-proelf
14887e6fb56fSmrg		;;
14897e6fb56fSmrg	*-winbond)
14907e6fb56fSmrg		os=-proelf
14917e6fb56fSmrg		;;
14927e6fb56fSmrg	*-oki)
14937e6fb56fSmrg		os=-proelf
14947e6fb56fSmrg		;;
14957e6fb56fSmrg	*-hp)
14967e6fb56fSmrg		os=-hpux
14977e6fb56fSmrg		;;
14987e6fb56fSmrg	*-hitachi)
14997e6fb56fSmrg		os=-hiux
15007e6fb56fSmrg		;;
15017e6fb56fSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15027e6fb56fSmrg		os=-sysv
15037e6fb56fSmrg		;;
15047e6fb56fSmrg	*-cbm)
15057e6fb56fSmrg		os=-amigaos
15067e6fb56fSmrg		;;
15077e6fb56fSmrg	*-dg)
15087e6fb56fSmrg		os=-dgux
15097e6fb56fSmrg		;;
15107e6fb56fSmrg	*-dolphin)
15117e6fb56fSmrg		os=-sysv3
15127e6fb56fSmrg		;;
15137e6fb56fSmrg	m68k-ccur)
15147e6fb56fSmrg		os=-rtu
15157e6fb56fSmrg		;;
15167e6fb56fSmrg	m88k-omron*)
15177e6fb56fSmrg		os=-luna
15187e6fb56fSmrg		;;
15197e6fb56fSmrg	*-next )
15207e6fb56fSmrg		os=-nextstep
15217e6fb56fSmrg		;;
15227e6fb56fSmrg	*-sequent)
15237e6fb56fSmrg		os=-ptx
15247e6fb56fSmrg		;;
15257e6fb56fSmrg	*-crds)
15267e6fb56fSmrg		os=-unos
15277e6fb56fSmrg		;;
15287e6fb56fSmrg	*-ns)
15297e6fb56fSmrg		os=-genix
15307e6fb56fSmrg		;;
15317e6fb56fSmrg	i370-*)
15327e6fb56fSmrg		os=-mvs
15337e6fb56fSmrg		;;
15347e6fb56fSmrg	*-next)
15357e6fb56fSmrg		os=-nextstep3
15367e6fb56fSmrg		;;
15377e6fb56fSmrg	*-gould)
15387e6fb56fSmrg		os=-sysv
15397e6fb56fSmrg		;;
15407e6fb56fSmrg	*-highlevel)
15417e6fb56fSmrg		os=-bsd
15427e6fb56fSmrg		;;
15437e6fb56fSmrg	*-encore)
15447e6fb56fSmrg		os=-bsd
15457e6fb56fSmrg		;;
15467e6fb56fSmrg	*-sgi)
15477e6fb56fSmrg		os=-irix
15487e6fb56fSmrg		;;
15497e6fb56fSmrg	*-siemens)
15507e6fb56fSmrg		os=-sysv4
15517e6fb56fSmrg		;;
15527e6fb56fSmrg	*-masscomp)
15537e6fb56fSmrg		os=-rtu
15547e6fb56fSmrg		;;
15557e6fb56fSmrg	f30[01]-fujitsu | f700-fujitsu)
15567e6fb56fSmrg		os=-uxpv
15577e6fb56fSmrg		;;
15587e6fb56fSmrg	*-rom68k)
15597e6fb56fSmrg		os=-coff
15607e6fb56fSmrg		;;
15617e6fb56fSmrg	*-*bug)
15627e6fb56fSmrg		os=-coff
15637e6fb56fSmrg		;;
15647e6fb56fSmrg	*-apple)
15657e6fb56fSmrg		os=-macos
15667e6fb56fSmrg		;;
15677e6fb56fSmrg	*-atari*)
15687e6fb56fSmrg		os=-mint
15697e6fb56fSmrg		;;
15707e6fb56fSmrg	*)
15717e6fb56fSmrg		os=-none
15727e6fb56fSmrg		;;
15737e6fb56fSmrgesac
15747e6fb56fSmrgfi
15757e6fb56fSmrg
15767e6fb56fSmrg# Here we handle the case where we know the os, and the CPU type, but not the
15777e6fb56fSmrg# manufacturer.  We pick the logical manufacturer.
15787e6fb56fSmrgvendor=unknown
15797e6fb56fSmrgcase $basic_machine in
15807e6fb56fSmrg	*-unknown)
15817e6fb56fSmrg		case $os in
15827e6fb56fSmrg			-riscix*)
15837e6fb56fSmrg				vendor=acorn
15847e6fb56fSmrg				;;
15857e6fb56fSmrg			-sunos*)
15867e6fb56fSmrg				vendor=sun
15877e6fb56fSmrg				;;
15887e6fb56fSmrg			-aix*)
15897e6fb56fSmrg				vendor=ibm
15907e6fb56fSmrg				;;
15917e6fb56fSmrg			-beos*)
15927e6fb56fSmrg				vendor=be
15937e6fb56fSmrg				;;
15947e6fb56fSmrg			-hpux*)
15957e6fb56fSmrg				vendor=hp
15967e6fb56fSmrg				;;
15977e6fb56fSmrg			-mpeix*)
15987e6fb56fSmrg				vendor=hp
15997e6fb56fSmrg				;;
16007e6fb56fSmrg			-hiux*)
16017e6fb56fSmrg				vendor=hitachi
16027e6fb56fSmrg				;;
16037e6fb56fSmrg			-unos*)
16047e6fb56fSmrg				vendor=crds
16057e6fb56fSmrg				;;
16067e6fb56fSmrg			-dgux*)
16077e6fb56fSmrg				vendor=dg
16087e6fb56fSmrg				;;
16097e6fb56fSmrg			-luna*)
16107e6fb56fSmrg				vendor=omron
16117e6fb56fSmrg				;;
16127e6fb56fSmrg			-genix*)
16137e6fb56fSmrg				vendor=ns
16147e6fb56fSmrg				;;
16157e6fb56fSmrg			-mvs* | -opened*)
16167e6fb56fSmrg				vendor=ibm
16177e6fb56fSmrg				;;
16187e6fb56fSmrg			-os400*)
16197e6fb56fSmrg				vendor=ibm
16207e6fb56fSmrg				;;
16217e6fb56fSmrg			-ptx*)
16227e6fb56fSmrg				vendor=sequent
16237e6fb56fSmrg				;;
16247e6fb56fSmrg			-tpf*)
16257e6fb56fSmrg				vendor=ibm
16267e6fb56fSmrg				;;
16277e6fb56fSmrg			-vxsim* | -vxworks* | -windiss*)
16287e6fb56fSmrg				vendor=wrs
16297e6fb56fSmrg				;;
16307e6fb56fSmrg			-aux*)
16317e6fb56fSmrg				vendor=apple
16327e6fb56fSmrg				;;
16337e6fb56fSmrg			-hms*)
16347e6fb56fSmrg				vendor=hitachi
16357e6fb56fSmrg				;;
16367e6fb56fSmrg			-mpw* | -macos*)
16377e6fb56fSmrg				vendor=apple
16387e6fb56fSmrg				;;
16397e6fb56fSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
16407e6fb56fSmrg				vendor=atari
16417e6fb56fSmrg				;;
16427e6fb56fSmrg			-vos*)
16437e6fb56fSmrg				vendor=stratus
16447e6fb56fSmrg				;;
16457e6fb56fSmrg		esac
16467e6fb56fSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
16477e6fb56fSmrg		;;
16487e6fb56fSmrgesac
16497e6fb56fSmrg
16507e6fb56fSmrgecho $basic_machine$os
16517e6fb56fSmrgexit
16527e6fb56fSmrg
16537e6fb56fSmrg# Local variables:
16547e6fb56fSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
16557e6fb56fSmrg# time-stamp-start: "timestamp='"
16567e6fb56fSmrg# time-stamp-format: "%:y-%02m-%02d"
16577e6fb56fSmrg# time-stamp-end: "'"
16587e6fb56fSmrg# End:
1659