config.sub revision 8650bb69
12c7c4e3dSmrg#! /bin/sh
22c7c4e3dSmrg# Configuration validation subroutine script.
32c7c4e3dSmrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
48650bb69Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
58650bb69Smrg#   Free Software Foundation, Inc.
62c7c4e3dSmrg
78650bb69Smrgtimestamp='2009-04-17'
82c7c4e3dSmrg
92c7c4e3dSmrg# This file is (in principle) common to ALL GNU software.
102c7c4e3dSmrg# The presence of a machine in this file suggests that SOME GNU software
112c7c4e3dSmrg# can handle that machine.  It does not imply ALL GNU software can.
122c7c4e3dSmrg#
132c7c4e3dSmrg# This file is free software; you can redistribute it and/or modify
142c7c4e3dSmrg# it under the terms of the GNU General Public License as published by
152c7c4e3dSmrg# the Free Software Foundation; either version 2 of the License, or
162c7c4e3dSmrg# (at your option) any later version.
172c7c4e3dSmrg#
182c7c4e3dSmrg# This program is distributed in the hope that it will be useful,
192c7c4e3dSmrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
202c7c4e3dSmrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
212c7c4e3dSmrg# GNU General Public License for more details.
222c7c4e3dSmrg#
232c7c4e3dSmrg# You should have received a copy of the GNU General Public License
242c7c4e3dSmrg# along with this program; if not, write to the Free Software
258650bb69Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
268650bb69Smrg# 02110-1301, USA.
278650bb69Smrg#
282c7c4e3dSmrg# As a special exception to the GNU General Public License, if you
292c7c4e3dSmrg# distribute this file as part of a program that contains a
302c7c4e3dSmrg# configuration script generated by Autoconf, you may include it under
312c7c4e3dSmrg# the same distribution terms that you use for the rest of that program.
322c7c4e3dSmrg
338650bb69Smrg
342c7c4e3dSmrg# Please send patches to <config-patches@gnu.org>.  Submit a context
352c7c4e3dSmrg# diff and a properly formatted ChangeLog entry.
362c7c4e3dSmrg#
372c7c4e3dSmrg# Configuration subroutine to validate and canonicalize a configuration type.
382c7c4e3dSmrg# Supply the specified configuration type as an argument.
392c7c4e3dSmrg# If it is invalid, we print an error message on stderr and exit with code 1.
402c7c4e3dSmrg# Otherwise, we print the canonical config type on stdout and succeed.
412c7c4e3dSmrg
422c7c4e3dSmrg# This file is supposed to be the same for all GNU packages
432c7c4e3dSmrg# and recognize all the CPU types, system types and aliases
442c7c4e3dSmrg# that are meaningful with *any* GNU software.
452c7c4e3dSmrg# Each package is responsible for reporting which valid configurations
462c7c4e3dSmrg# it does not support.  The user should be able to distinguish
472c7c4e3dSmrg# a failure to support a valid configuration from a meaningless
482c7c4e3dSmrg# configuration.
492c7c4e3dSmrg
502c7c4e3dSmrg# The goal of this file is to map all the various variations of a given
512c7c4e3dSmrg# machine specification into a single specification in the form:
522c7c4e3dSmrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
532c7c4e3dSmrg# or in some cases, the newer four-part form:
542c7c4e3dSmrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
552c7c4e3dSmrg# It is wrong to echo any other type of specification.
562c7c4e3dSmrg
572c7c4e3dSmrgme=`echo "$0" | sed -e 's,.*/,,'`
582c7c4e3dSmrg
592c7c4e3dSmrgusage="\
602c7c4e3dSmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
612c7c4e3dSmrg       $0 [OPTION] ALIAS
622c7c4e3dSmrg
632c7c4e3dSmrgCanonicalize a configuration name.
642c7c4e3dSmrg
652c7c4e3dSmrgOperation modes:
662c7c4e3dSmrg  -h, --help         print this help, then exit
672c7c4e3dSmrg  -t, --time-stamp   print date of last modification, then exit
682c7c4e3dSmrg  -v, --version      print version number, then exit
692c7c4e3dSmrg
702c7c4e3dSmrgReport bugs and patches to <config-patches@gnu.org>."
712c7c4e3dSmrg
722c7c4e3dSmrgversion="\
732c7c4e3dSmrgGNU config.sub ($timestamp)
742c7c4e3dSmrg
758650bb69SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
768650bb69Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
772c7c4e3dSmrg
782c7c4e3dSmrgThis is free software; see the source for copying conditions.  There is NO
792c7c4e3dSmrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
802c7c4e3dSmrg
812c7c4e3dSmrghelp="
822c7c4e3dSmrgTry \`$me --help' for more information."
832c7c4e3dSmrg
842c7c4e3dSmrg# Parse command line
852c7c4e3dSmrgwhile test $# -gt 0 ; do
862c7c4e3dSmrg  case $1 in
872c7c4e3dSmrg    --time-stamp | --time* | -t )
888650bb69Smrg       echo "$timestamp" ; exit ;;
892c7c4e3dSmrg    --version | -v )
908650bb69Smrg       echo "$version" ; exit ;;
912c7c4e3dSmrg    --help | --h* | -h )
928650bb69Smrg       echo "$usage"; exit ;;
932c7c4e3dSmrg    -- )     # Stop option processing
942c7c4e3dSmrg       shift; break ;;
952c7c4e3dSmrg    - )	# Use stdin as input.
962c7c4e3dSmrg       break ;;
972c7c4e3dSmrg    -* )
982c7c4e3dSmrg       echo "$me: invalid option $1$help"
992c7c4e3dSmrg       exit 1 ;;
1002c7c4e3dSmrg
1012c7c4e3dSmrg    *local*)
1022c7c4e3dSmrg       # First pass through any local machine types.
1032c7c4e3dSmrg       echo $1
1048650bb69Smrg       exit ;;
1052c7c4e3dSmrg
1062c7c4e3dSmrg    * )
1072c7c4e3dSmrg       break ;;
1082c7c4e3dSmrg  esac
1092c7c4e3dSmrgdone
1102c7c4e3dSmrg
1112c7c4e3dSmrgcase $# in
1122c7c4e3dSmrg 0) echo "$me: missing argument$help" >&2
1132c7c4e3dSmrg    exit 1;;
1142c7c4e3dSmrg 1) ;;
1152c7c4e3dSmrg *) echo "$me: too many arguments$help" >&2
1162c7c4e3dSmrg    exit 1;;
1172c7c4e3dSmrgesac
1182c7c4e3dSmrg
1192c7c4e3dSmrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1202c7c4e3dSmrg# Here we must recognize all the valid KERNEL-OS combinations.
1212c7c4e3dSmrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1222c7c4e3dSmrgcase $maybe_os in
1238650bb69Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
1248650bb69Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
1258650bb69Smrg  kopensolaris*-gnu* | \
1268650bb69Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1272c7c4e3dSmrg    os=-$maybe_os
1282c7c4e3dSmrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1292c7c4e3dSmrg    ;;
1302c7c4e3dSmrg  *)
1312c7c4e3dSmrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1322c7c4e3dSmrg    if [ $basic_machine != $1 ]
1332c7c4e3dSmrg    then os=`echo $1 | sed 's/.*-/-/'`
1342c7c4e3dSmrg    else os=; fi
1352c7c4e3dSmrg    ;;
1362c7c4e3dSmrgesac
1372c7c4e3dSmrg
1382c7c4e3dSmrg### Let's recognize common machines as not being operating systems so
1392c7c4e3dSmrg### that things like config.sub decstation-3100 work.  We also
1402c7c4e3dSmrg### recognize some manufacturers as not being operating systems, so we
1412c7c4e3dSmrg### can provide default operating systems below.
1422c7c4e3dSmrgcase $os in
1432c7c4e3dSmrg	-sun*os*)
1442c7c4e3dSmrg		# Prevent following clause from handling this invalid input.
1452c7c4e3dSmrg		;;
1462c7c4e3dSmrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1472c7c4e3dSmrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1482c7c4e3dSmrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1492c7c4e3dSmrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1502c7c4e3dSmrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1512c7c4e3dSmrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
1528650bb69Smrg	-apple | -axis | -knuth | -cray)
1532c7c4e3dSmrg		os=
1542c7c4e3dSmrg		basic_machine=$1
1552c7c4e3dSmrg		;;
1562c7c4e3dSmrg	-sim | -cisco | -oki | -wec | -winbond)
1572c7c4e3dSmrg		os=
1582c7c4e3dSmrg		basic_machine=$1
1592c7c4e3dSmrg		;;
1602c7c4e3dSmrg	-scout)
1612c7c4e3dSmrg		;;
1622c7c4e3dSmrg	-wrs)
1632c7c4e3dSmrg		os=-vxworks
1642c7c4e3dSmrg		basic_machine=$1
1652c7c4e3dSmrg		;;
1662c7c4e3dSmrg	-chorusos*)
1672c7c4e3dSmrg		os=-chorusos
1682c7c4e3dSmrg		basic_machine=$1
1692c7c4e3dSmrg		;;
1702c7c4e3dSmrg 	-chorusrdb)
1712c7c4e3dSmrg 		os=-chorusrdb
1722c7c4e3dSmrg		basic_machine=$1
1732c7c4e3dSmrg 		;;
1742c7c4e3dSmrg	-hiux*)
1752c7c4e3dSmrg		os=-hiuxwe2
1762c7c4e3dSmrg		;;
1778650bb69Smrg	-sco6)
1788650bb69Smrg		os=-sco5v6
1798650bb69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1808650bb69Smrg		;;
1812c7c4e3dSmrg	-sco5)
1822c7c4e3dSmrg		os=-sco3.2v5
1832c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1842c7c4e3dSmrg		;;
1852c7c4e3dSmrg	-sco4)
1862c7c4e3dSmrg		os=-sco3.2v4
1872c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1882c7c4e3dSmrg		;;
1892c7c4e3dSmrg	-sco3.2.[4-9]*)
1902c7c4e3dSmrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1912c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1922c7c4e3dSmrg		;;
1932c7c4e3dSmrg	-sco3.2v[4-9]*)
1942c7c4e3dSmrg		# Don't forget version if it is 3.2v4 or newer.
1952c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1962c7c4e3dSmrg		;;
1978650bb69Smrg	-sco5v6*)
1988650bb69Smrg		# Don't forget version if it is 3.2v4 or newer.
1998650bb69Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2008650bb69Smrg		;;
2012c7c4e3dSmrg	-sco*)
2022c7c4e3dSmrg		os=-sco3.2v2
2032c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2042c7c4e3dSmrg		;;
2052c7c4e3dSmrg	-udk*)
2062c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2072c7c4e3dSmrg		;;
2082c7c4e3dSmrg	-isc)
2092c7c4e3dSmrg		os=-isc2.2
2102c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2112c7c4e3dSmrg		;;
2122c7c4e3dSmrg	-clix*)
2132c7c4e3dSmrg		basic_machine=clipper-intergraph
2142c7c4e3dSmrg		;;
2152c7c4e3dSmrg	-isc*)
2162c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2172c7c4e3dSmrg		;;
2182c7c4e3dSmrg	-lynx*)
2192c7c4e3dSmrg		os=-lynxos
2202c7c4e3dSmrg		;;
2212c7c4e3dSmrg	-ptx*)
2222c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2232c7c4e3dSmrg		;;
2242c7c4e3dSmrg	-windowsnt*)
2252c7c4e3dSmrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2262c7c4e3dSmrg		;;
2272c7c4e3dSmrg	-psos*)
2282c7c4e3dSmrg		os=-psos
2292c7c4e3dSmrg		;;
2302c7c4e3dSmrg	-mint | -mint[0-9]*)
2312c7c4e3dSmrg		basic_machine=m68k-atari
2322c7c4e3dSmrg		os=-mint
2332c7c4e3dSmrg		;;
2342c7c4e3dSmrgesac
2352c7c4e3dSmrg
2362c7c4e3dSmrg# Decode aliases for certain CPU-COMPANY combinations.
2372c7c4e3dSmrgcase $basic_machine in
2382c7c4e3dSmrg	# Recognize the basic CPU types without company name.
2392c7c4e3dSmrg	# Some are omitted here because they have special meanings below.
2402c7c4e3dSmrg	1750a | 580 \
2412c7c4e3dSmrg	| a29k \
2422c7c4e3dSmrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2432c7c4e3dSmrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2448650bb69Smrg	| am33_2.0 \
2458650bb69Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
2468650bb69Smrg	| bfin \
2472c7c4e3dSmrg	| c4x | clipper \
2482c7c4e3dSmrg	| d10v | d30v | dlx | dsp16xx \
2498650bb69Smrg	| fido | fr30 | frv \
2502c7c4e3dSmrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2512c7c4e3dSmrg	| i370 | i860 | i960 | ia64 \
2528650bb69Smrg	| ip2k | iq2000 \
2538650bb69Smrg	| lm32 \
2548650bb69Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2558650bb69Smrg	| maxq | mb | microblaze | mcore | mep | metag \
2562c7c4e3dSmrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2572c7c4e3dSmrg	| mips16 \
2582c7c4e3dSmrg	| mips64 | mips64el \
2598650bb69Smrg	| mips64octeon | mips64octeonel \
2602c7c4e3dSmrg	| mips64orion | mips64orionel \
2618650bb69Smrg	| mips64r5900 | mips64r5900el \
2628650bb69Smrg	| mips64vr | mips64vrel \
2632c7c4e3dSmrg	| mips64vr4100 | mips64vr4100el \
2642c7c4e3dSmrg	| mips64vr4300 | mips64vr4300el \
2652c7c4e3dSmrg	| mips64vr5000 | mips64vr5000el \
2668650bb69Smrg	| mips64vr5900 | mips64vr5900el \
2672c7c4e3dSmrg	| mipsisa32 | mipsisa32el \
2682c7c4e3dSmrg	| mipsisa32r2 | mipsisa32r2el \
2692c7c4e3dSmrg	| mipsisa64 | mipsisa64el \
2708650bb69Smrg	| mipsisa64r2 | mipsisa64r2el \
2712c7c4e3dSmrg	| mipsisa64sb1 | mipsisa64sb1el \
2722c7c4e3dSmrg	| mipsisa64sr71k | mipsisa64sr71kel \
2732c7c4e3dSmrg	| mipstx39 | mipstx39el \
2742c7c4e3dSmrg	| mn10200 | mn10300 \
2758650bb69Smrg	| moxie \
2768650bb69Smrg	| mt \
2772c7c4e3dSmrg	| msp430 \
2788650bb69Smrg	| nios | nios2 \
2792c7c4e3dSmrg	| ns16k | ns32k \
2808650bb69Smrg	| or32 \
2812c7c4e3dSmrg	| pdp10 | pdp11 | pj | pjl \
2822c7c4e3dSmrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2832c7c4e3dSmrg	| pyramid \
2848650bb69Smrg	| score \
2858650bb69Smrg	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2862c7c4e3dSmrg	| sh64 | sh64le \
2878650bb69Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2888650bb69Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2898650bb69Smrg	| spu | strongarm \
2902c7c4e3dSmrg	| tahoe | thumb | tic4x | tic80 | tron \
2912c7c4e3dSmrg	| v850 | v850e \
2922c7c4e3dSmrg	| we32k \
2938650bb69Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
2948650bb69Smrg	| z8k | z80)
2952c7c4e3dSmrg		basic_machine=$basic_machine-unknown
2962c7c4e3dSmrg		;;
2972c7c4e3dSmrg	m6811 | m68hc11 | m6812 | m68hc12)
2982c7c4e3dSmrg		# Motorola 68HC11/12.
2992c7c4e3dSmrg		basic_machine=$basic_machine-unknown
3002c7c4e3dSmrg		os=-none
3012c7c4e3dSmrg		;;
3022c7c4e3dSmrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
3032c7c4e3dSmrg		;;
3048650bb69Smrg	ms1)
3058650bb69Smrg		basic_machine=mt-unknown
3068650bb69Smrg		;;
3072c7c4e3dSmrg
3082c7c4e3dSmrg	# We use `pc' rather than `unknown'
3092c7c4e3dSmrg	# because (1) that's what they normally are, and
3102c7c4e3dSmrg	# (2) the word "unknown" tends to confuse beginning users.
3112c7c4e3dSmrg	i*86 | x86_64)
3122c7c4e3dSmrg	  basic_machine=$basic_machine-pc
3132c7c4e3dSmrg	  ;;
3142c7c4e3dSmrg	# Object if more than one company name word.
3152c7c4e3dSmrg	*-*-*)
3162c7c4e3dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3172c7c4e3dSmrg		exit 1
3182c7c4e3dSmrg		;;
3192c7c4e3dSmrg	# Recognize the basic CPU types with company name.
3202c7c4e3dSmrg	580-* \
3212c7c4e3dSmrg	| a29k-* \
3222c7c4e3dSmrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3232c7c4e3dSmrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
3242c7c4e3dSmrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3252c7c4e3dSmrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
3268650bb69Smrg	| avr-* | avr32-* \
3278650bb69Smrg	| bfin-* | bs2000-* \
3282c7c4e3dSmrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
3298650bb69Smrg	| clipper-* | craynv-* | cydra-* \
3302c7c4e3dSmrg	| d10v-* | d30v-* | dlx-* \
3312c7c4e3dSmrg	| elxsi-* \
3328650bb69Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3332c7c4e3dSmrg	| h8300-* | h8500-* \
3342c7c4e3dSmrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3352c7c4e3dSmrg	| i*86-* | i860-* | i960-* | ia64-* \
3368650bb69Smrg	| ip2k-* | iq2000-* \
3378650bb69Smrg	| lm32-* \
3388650bb69Smrg	| m32c-* | m32r-* | m32rle-* \
3392c7c4e3dSmrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
3408650bb69Smrg	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
3412c7c4e3dSmrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3422c7c4e3dSmrg	| mips16-* \
3432c7c4e3dSmrg	| mips64-* | mips64el-* \
3448650bb69Smrg	| mips64octeon-* | mips64octeonel-* \
3452c7c4e3dSmrg	| mips64orion-* | mips64orionel-* \
3468650bb69Smrg	| mips64r5900-* | mips64r5900el-* \
3478650bb69Smrg	| mips64vr-* | mips64vrel-* \
3482c7c4e3dSmrg	| mips64vr4100-* | mips64vr4100el-* \
3492c7c4e3dSmrg	| mips64vr4300-* | mips64vr4300el-* \
3502c7c4e3dSmrg	| mips64vr5000-* | mips64vr5000el-* \
3518650bb69Smrg	| mips64vr5900-* | mips64vr5900el-* \
3522c7c4e3dSmrg	| mipsisa32-* | mipsisa32el-* \
3532c7c4e3dSmrg	| mipsisa32r2-* | mipsisa32r2el-* \
3542c7c4e3dSmrg	| mipsisa64-* | mipsisa64el-* \
3558650bb69Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3562c7c4e3dSmrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3572c7c4e3dSmrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3582c7c4e3dSmrg	| mipstx39-* | mipstx39el-* \
3598650bb69Smrg	| mmix-* \
3608650bb69Smrg	| mt-* \
3612c7c4e3dSmrg	| msp430-* \
3628650bb69Smrg	| nios-* | nios2-* \
3638650bb69Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3642c7c4e3dSmrg	| orion-* \
3652c7c4e3dSmrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3662c7c4e3dSmrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3672c7c4e3dSmrg	| pyramid-* \
3682c7c4e3dSmrg	| romp-* | rs6000-* \
3698650bb69Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3702c7c4e3dSmrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
3718650bb69Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
3728650bb69Smrg	| sparclite-* \
3738650bb69Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3742c7c4e3dSmrg	| tahoe-* | thumb-* \
3758650bb69Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
3762c7c4e3dSmrg	| tron-* \
3772c7c4e3dSmrg	| v850-* | v850e-* | vax-* \
3782c7c4e3dSmrg	| we32k-* \
3798650bb69Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
3808650bb69Smrg	| xstormy16-* | xtensa*-* \
3812c7c4e3dSmrg	| ymp-* \
3828650bb69Smrg	| z8k-* | z80-*)
3838650bb69Smrg		;;
3848650bb69Smrg	# Recognize the basic CPU types without company name, with glob match.
3858650bb69Smrg	xtensa*)
3868650bb69Smrg		basic_machine=$basic_machine-unknown
3872c7c4e3dSmrg		;;
3882c7c4e3dSmrg	# Recognize the various machine names and aliases which stand
3892c7c4e3dSmrg	# for a CPU type and a company and sometimes even an OS.
3902c7c4e3dSmrg	386bsd)
3912c7c4e3dSmrg		basic_machine=i386-unknown
3922c7c4e3dSmrg		os=-bsd
3932c7c4e3dSmrg		;;
3942c7c4e3dSmrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3952c7c4e3dSmrg		basic_machine=m68000-att
3962c7c4e3dSmrg		;;
3972c7c4e3dSmrg	3b*)
3982c7c4e3dSmrg		basic_machine=we32k-att
3992c7c4e3dSmrg		;;
4002c7c4e3dSmrg	a29khif)
4012c7c4e3dSmrg		basic_machine=a29k-amd
4022c7c4e3dSmrg		os=-udi
4032c7c4e3dSmrg		;;
4048650bb69Smrg    	abacus)
4058650bb69Smrg		basic_machine=abacus-unknown
4068650bb69Smrg		;;
4072c7c4e3dSmrg	adobe68k)
4082c7c4e3dSmrg		basic_machine=m68010-adobe
4092c7c4e3dSmrg		os=-scout
4102c7c4e3dSmrg		;;
4112c7c4e3dSmrg	alliant | fx80)
4122c7c4e3dSmrg		basic_machine=fx80-alliant
4132c7c4e3dSmrg		;;
4142c7c4e3dSmrg	altos | altos3068)
4152c7c4e3dSmrg		basic_machine=m68k-altos
4162c7c4e3dSmrg		;;
4172c7c4e3dSmrg	am29k)
4182c7c4e3dSmrg		basic_machine=a29k-none
4192c7c4e3dSmrg		os=-bsd
4202c7c4e3dSmrg		;;
4212c7c4e3dSmrg	amd64)
4222c7c4e3dSmrg		basic_machine=x86_64-pc
4232c7c4e3dSmrg		;;
4248650bb69Smrg	amd64-*)
4258650bb69Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
4268650bb69Smrg		;;
4272c7c4e3dSmrg	amdahl)
4282c7c4e3dSmrg		basic_machine=580-amdahl
4292c7c4e3dSmrg		os=-sysv
4302c7c4e3dSmrg		;;
4312c7c4e3dSmrg	amiga | amiga-*)
4322c7c4e3dSmrg		basic_machine=m68k-unknown
4332c7c4e3dSmrg		;;
4342c7c4e3dSmrg	amigaos | amigados)
4352c7c4e3dSmrg		basic_machine=m68k-unknown
4362c7c4e3dSmrg		os=-amigaos
4372c7c4e3dSmrg		;;
4382c7c4e3dSmrg	amigaunix | amix)
4392c7c4e3dSmrg		basic_machine=m68k-unknown
4402c7c4e3dSmrg		os=-sysv4
4412c7c4e3dSmrg		;;
4422c7c4e3dSmrg	apollo68)
4432c7c4e3dSmrg		basic_machine=m68k-apollo
4442c7c4e3dSmrg		os=-sysv
4452c7c4e3dSmrg		;;
4462c7c4e3dSmrg	apollo68bsd)
4472c7c4e3dSmrg		basic_machine=m68k-apollo
4482c7c4e3dSmrg		os=-bsd
4492c7c4e3dSmrg		;;
4508650bb69Smrg	aros)
4518650bb69Smrg		basic_machine=i386-pc
4528650bb69Smrg		os=-aros
4538650bb69Smrg		;;
4542c7c4e3dSmrg	aux)
4552c7c4e3dSmrg		basic_machine=m68k-apple
4562c7c4e3dSmrg		os=-aux
4572c7c4e3dSmrg		;;
4582c7c4e3dSmrg	balance)
4592c7c4e3dSmrg		basic_machine=ns32k-sequent
4602c7c4e3dSmrg		os=-dynix
4612c7c4e3dSmrg		;;
4628650bb69Smrg	blackfin)
4638650bb69Smrg		basic_machine=bfin-unknown
4648650bb69Smrg		os=-linux
4658650bb69Smrg		;;
4668650bb69Smrg	blackfin-*)
4678650bb69Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
4688650bb69Smrg		os=-linux
4698650bb69Smrg		;;
4702c7c4e3dSmrg	c90)
4712c7c4e3dSmrg		basic_machine=c90-cray
4722c7c4e3dSmrg		os=-unicos
4732c7c4e3dSmrg		;;
4748650bb69Smrg        cegcc)
4758650bb69Smrg		basic_machine=arm-unknown
4768650bb69Smrg		os=-cegcc
4778650bb69Smrg		;;
4782c7c4e3dSmrg	convex-c1)
4792c7c4e3dSmrg		basic_machine=c1-convex
4802c7c4e3dSmrg		os=-bsd
4812c7c4e3dSmrg		;;
4822c7c4e3dSmrg	convex-c2)
4832c7c4e3dSmrg		basic_machine=c2-convex
4842c7c4e3dSmrg		os=-bsd
4852c7c4e3dSmrg		;;
4862c7c4e3dSmrg	convex-c32)
4872c7c4e3dSmrg		basic_machine=c32-convex
4882c7c4e3dSmrg		os=-bsd
4892c7c4e3dSmrg		;;
4902c7c4e3dSmrg	convex-c34)
4912c7c4e3dSmrg		basic_machine=c34-convex
4922c7c4e3dSmrg		os=-bsd
4932c7c4e3dSmrg		;;
4942c7c4e3dSmrg	convex-c38)
4952c7c4e3dSmrg		basic_machine=c38-convex
4962c7c4e3dSmrg		os=-bsd
4972c7c4e3dSmrg		;;
4982c7c4e3dSmrg	cray | j90)
4992c7c4e3dSmrg		basic_machine=j90-cray
5002c7c4e3dSmrg		os=-unicos
5012c7c4e3dSmrg		;;
5028650bb69Smrg	craynv)
5038650bb69Smrg		basic_machine=craynv-cray
5048650bb69Smrg		os=-unicosmp
5058650bb69Smrg		;;
5068650bb69Smrg	cr16)
5078650bb69Smrg		basic_machine=cr16-unknown
5088650bb69Smrg		os=-elf
5098650bb69Smrg		;;
5102c7c4e3dSmrg	crds | unos)
5112c7c4e3dSmrg		basic_machine=m68k-crds
5122c7c4e3dSmrg		;;
5138650bb69Smrg	crisv32 | crisv32-* | etraxfs*)
5148650bb69Smrg		basic_machine=crisv32-axis
5158650bb69Smrg		;;
5162c7c4e3dSmrg	cris | cris-* | etrax*)
5172c7c4e3dSmrg		basic_machine=cris-axis
5182c7c4e3dSmrg		;;
5198650bb69Smrg	crx)
5208650bb69Smrg		basic_machine=crx-unknown
5218650bb69Smrg		os=-elf
5228650bb69Smrg		;;
5232c7c4e3dSmrg	da30 | da30-*)
5242c7c4e3dSmrg		basic_machine=m68k-da30
5252c7c4e3dSmrg		;;
5262c7c4e3dSmrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5272c7c4e3dSmrg		basic_machine=mips-dec
5282c7c4e3dSmrg		;;
5292c7c4e3dSmrg	decsystem10* | dec10*)
5302c7c4e3dSmrg		basic_machine=pdp10-dec
5312c7c4e3dSmrg		os=-tops10
5322c7c4e3dSmrg		;;
5332c7c4e3dSmrg	decsystem20* | dec20*)
5342c7c4e3dSmrg		basic_machine=pdp10-dec
5352c7c4e3dSmrg		os=-tops20
5362c7c4e3dSmrg		;;
5372c7c4e3dSmrg	delta | 3300 | motorola-3300 | motorola-delta \
5382c7c4e3dSmrg	      | 3300-motorola | delta-motorola)
5392c7c4e3dSmrg		basic_machine=m68k-motorola
5402c7c4e3dSmrg		;;
5412c7c4e3dSmrg	delta88)
5422c7c4e3dSmrg		basic_machine=m88k-motorola
5432c7c4e3dSmrg		os=-sysv3
5442c7c4e3dSmrg		;;
5458650bb69Smrg	dicos)
5468650bb69Smrg		basic_machine=i686-pc
5478650bb69Smrg		os=-dicos
5488650bb69Smrg		;;
5498650bb69Smrg	djgpp)
5508650bb69Smrg		basic_machine=i586-pc
5518650bb69Smrg		os=-msdosdjgpp
5528650bb69Smrg		;;
5532c7c4e3dSmrg	dpx20 | dpx20-*)
5542c7c4e3dSmrg		basic_machine=rs6000-bull
5552c7c4e3dSmrg		os=-bosx
5562c7c4e3dSmrg		;;
5572c7c4e3dSmrg	dpx2* | dpx2*-bull)
5582c7c4e3dSmrg		basic_machine=m68k-bull
5592c7c4e3dSmrg		os=-sysv3
5602c7c4e3dSmrg		;;
5612c7c4e3dSmrg	ebmon29k)
5622c7c4e3dSmrg		basic_machine=a29k-amd
5632c7c4e3dSmrg		os=-ebmon
5642c7c4e3dSmrg		;;
5652c7c4e3dSmrg	elxsi)
5662c7c4e3dSmrg		basic_machine=elxsi-elxsi
5672c7c4e3dSmrg		os=-bsd
5682c7c4e3dSmrg		;;
5692c7c4e3dSmrg	encore | umax | mmax)
5702c7c4e3dSmrg		basic_machine=ns32k-encore
5712c7c4e3dSmrg		;;
5722c7c4e3dSmrg	es1800 | OSE68k | ose68k | ose | OSE)
5732c7c4e3dSmrg		basic_machine=m68k-ericsson
5742c7c4e3dSmrg		os=-ose
5752c7c4e3dSmrg		;;
5762c7c4e3dSmrg	fx2800)
5772c7c4e3dSmrg		basic_machine=i860-alliant
5782c7c4e3dSmrg		;;
5792c7c4e3dSmrg	genix)
5802c7c4e3dSmrg		basic_machine=ns32k-ns
5812c7c4e3dSmrg		;;
5822c7c4e3dSmrg	gmicro)
5832c7c4e3dSmrg		basic_machine=tron-gmicro
5842c7c4e3dSmrg		os=-sysv
5852c7c4e3dSmrg		;;
5862c7c4e3dSmrg	go32)
5872c7c4e3dSmrg		basic_machine=i386-pc
5882c7c4e3dSmrg		os=-go32
5892c7c4e3dSmrg		;;
5902c7c4e3dSmrg	h3050r* | hiux*)
5912c7c4e3dSmrg		basic_machine=hppa1.1-hitachi
5922c7c4e3dSmrg		os=-hiuxwe2
5932c7c4e3dSmrg		;;
5942c7c4e3dSmrg	h8300hms)
5952c7c4e3dSmrg		basic_machine=h8300-hitachi
5962c7c4e3dSmrg		os=-hms
5972c7c4e3dSmrg		;;
5982c7c4e3dSmrg	h8300xray)
5992c7c4e3dSmrg		basic_machine=h8300-hitachi
6002c7c4e3dSmrg		os=-xray
6012c7c4e3dSmrg		;;
6022c7c4e3dSmrg	h8500hms)
6032c7c4e3dSmrg		basic_machine=h8500-hitachi
6042c7c4e3dSmrg		os=-hms
6052c7c4e3dSmrg		;;
6062c7c4e3dSmrg	harris)
6072c7c4e3dSmrg		basic_machine=m88k-harris
6082c7c4e3dSmrg		os=-sysv3
6092c7c4e3dSmrg		;;
6102c7c4e3dSmrg	hp300-*)
6112c7c4e3dSmrg		basic_machine=m68k-hp
6122c7c4e3dSmrg		;;
6132c7c4e3dSmrg	hp300bsd)
6142c7c4e3dSmrg		basic_machine=m68k-hp
6152c7c4e3dSmrg		os=-bsd
6162c7c4e3dSmrg		;;
6172c7c4e3dSmrg	hp300hpux)
6182c7c4e3dSmrg		basic_machine=m68k-hp
6192c7c4e3dSmrg		os=-hpux
6202c7c4e3dSmrg		;;
6212c7c4e3dSmrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6222c7c4e3dSmrg		basic_machine=hppa1.0-hp
6232c7c4e3dSmrg		;;
6242c7c4e3dSmrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6252c7c4e3dSmrg		basic_machine=m68000-hp
6262c7c4e3dSmrg		;;
6272c7c4e3dSmrg	hp9k3[2-9][0-9])
6282c7c4e3dSmrg		basic_machine=m68k-hp
6292c7c4e3dSmrg		;;
6302c7c4e3dSmrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6312c7c4e3dSmrg		basic_machine=hppa1.0-hp
6322c7c4e3dSmrg		;;
6332c7c4e3dSmrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6342c7c4e3dSmrg		basic_machine=hppa1.1-hp
6352c7c4e3dSmrg		;;
6362c7c4e3dSmrg	hp9k78[0-9] | hp78[0-9])
6372c7c4e3dSmrg		# FIXME: really hppa2.0-hp
6382c7c4e3dSmrg		basic_machine=hppa1.1-hp
6392c7c4e3dSmrg		;;
6402c7c4e3dSmrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6412c7c4e3dSmrg		# FIXME: really hppa2.0-hp
6422c7c4e3dSmrg		basic_machine=hppa1.1-hp
6432c7c4e3dSmrg		;;
6442c7c4e3dSmrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6452c7c4e3dSmrg		basic_machine=hppa1.1-hp
6462c7c4e3dSmrg		;;
6472c7c4e3dSmrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6482c7c4e3dSmrg		basic_machine=hppa1.0-hp
6492c7c4e3dSmrg		;;
6502c7c4e3dSmrg	hppa-next)
6512c7c4e3dSmrg		os=-nextstep3
6522c7c4e3dSmrg		;;
6532c7c4e3dSmrg	hppaosf)
6542c7c4e3dSmrg		basic_machine=hppa1.1-hp
6552c7c4e3dSmrg		os=-osf
6562c7c4e3dSmrg		;;
6572c7c4e3dSmrg	hppro)
6582c7c4e3dSmrg		basic_machine=hppa1.1-hp
6592c7c4e3dSmrg		os=-proelf
6602c7c4e3dSmrg		;;
6612c7c4e3dSmrg	i370-ibm* | ibm*)
6622c7c4e3dSmrg		basic_machine=i370-ibm
6632c7c4e3dSmrg		;;
6642c7c4e3dSmrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
6652c7c4e3dSmrg	i*86v32)
6662c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6672c7c4e3dSmrg		os=-sysv32
6682c7c4e3dSmrg		;;
6692c7c4e3dSmrg	i*86v4*)
6702c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6712c7c4e3dSmrg		os=-sysv4
6722c7c4e3dSmrg		;;
6732c7c4e3dSmrg	i*86v)
6742c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6752c7c4e3dSmrg		os=-sysv
6762c7c4e3dSmrg		;;
6772c7c4e3dSmrg	i*86sol2)
6782c7c4e3dSmrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6792c7c4e3dSmrg		os=-solaris2
6802c7c4e3dSmrg		;;
6812c7c4e3dSmrg	i386mach)
6822c7c4e3dSmrg		basic_machine=i386-mach
6832c7c4e3dSmrg		os=-mach
6842c7c4e3dSmrg		;;
6852c7c4e3dSmrg	i386-vsta | vsta)
6862c7c4e3dSmrg		basic_machine=i386-unknown
6872c7c4e3dSmrg		os=-vsta
6882c7c4e3dSmrg		;;
6892c7c4e3dSmrg	iris | iris4d)
6902c7c4e3dSmrg		basic_machine=mips-sgi
6912c7c4e3dSmrg		case $os in
6922c7c4e3dSmrg		    -irix*)
6932c7c4e3dSmrg			;;
6942c7c4e3dSmrg		    *)
6952c7c4e3dSmrg			os=-irix4
6962c7c4e3dSmrg			;;
6972c7c4e3dSmrg		esac
6982c7c4e3dSmrg		;;
6992c7c4e3dSmrg	isi68 | isi)
7002c7c4e3dSmrg		basic_machine=m68k-isi
7012c7c4e3dSmrg		os=-sysv
7022c7c4e3dSmrg		;;
7038650bb69Smrg	m68knommu)
7048650bb69Smrg		basic_machine=m68k-unknown
7058650bb69Smrg		os=-linux
7068650bb69Smrg		;;
7078650bb69Smrg	m68knommu-*)
7088650bb69Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
7098650bb69Smrg		os=-linux
7108650bb69Smrg		;;
7112c7c4e3dSmrg	m88k-omron*)
7122c7c4e3dSmrg		basic_machine=m88k-omron
7132c7c4e3dSmrg		;;
7142c7c4e3dSmrg	magnum | m3230)
7152c7c4e3dSmrg		basic_machine=mips-mips
7162c7c4e3dSmrg		os=-sysv
7172c7c4e3dSmrg		;;
7182c7c4e3dSmrg	merlin)
7192c7c4e3dSmrg		basic_machine=ns32k-utek
7202c7c4e3dSmrg		os=-sysv
7212c7c4e3dSmrg		;;
7222c7c4e3dSmrg	mingw32)
7232c7c4e3dSmrg		basic_machine=i386-pc
7242c7c4e3dSmrg		os=-mingw32
7252c7c4e3dSmrg		;;
7268650bb69Smrg	mingw32ce)
7278650bb69Smrg		basic_machine=arm-unknown
7288650bb69Smrg		os=-mingw32ce
7298650bb69Smrg		;;
7302c7c4e3dSmrg	miniframe)
7312c7c4e3dSmrg		basic_machine=m68000-convergent
7322c7c4e3dSmrg		;;
7332c7c4e3dSmrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7342c7c4e3dSmrg		basic_machine=m68k-atari
7352c7c4e3dSmrg		os=-mint
7362c7c4e3dSmrg		;;
7372c7c4e3dSmrg	mips3*-*)
7382c7c4e3dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7392c7c4e3dSmrg		;;
7402c7c4e3dSmrg	mips3*)
7412c7c4e3dSmrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7422c7c4e3dSmrg		;;
7432c7c4e3dSmrg	monitor)
7442c7c4e3dSmrg		basic_machine=m68k-rom68k
7452c7c4e3dSmrg		os=-coff
7462c7c4e3dSmrg		;;
7472c7c4e3dSmrg	morphos)
7482c7c4e3dSmrg		basic_machine=powerpc-unknown
7492c7c4e3dSmrg		os=-morphos
7502c7c4e3dSmrg		;;
7512c7c4e3dSmrg	msdos)
7522c7c4e3dSmrg		basic_machine=i386-pc
7532c7c4e3dSmrg		os=-msdos
7542c7c4e3dSmrg		;;
7558650bb69Smrg	ms1-*)
7568650bb69Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
7578650bb69Smrg		;;
7582c7c4e3dSmrg	mvs)
7592c7c4e3dSmrg		basic_machine=i370-ibm
7602c7c4e3dSmrg		os=-mvs
7612c7c4e3dSmrg		;;
7622c7c4e3dSmrg	ncr3000)
7632c7c4e3dSmrg		basic_machine=i486-ncr
7642c7c4e3dSmrg		os=-sysv4
7652c7c4e3dSmrg		;;
7662c7c4e3dSmrg	netbsd386)
7672c7c4e3dSmrg		basic_machine=i386-unknown
7682c7c4e3dSmrg		os=-netbsd
7692c7c4e3dSmrg		;;
7702c7c4e3dSmrg	netwinder)
7712c7c4e3dSmrg		basic_machine=armv4l-rebel
7722c7c4e3dSmrg		os=-linux
7732c7c4e3dSmrg		;;
7742c7c4e3dSmrg	news | news700 | news800 | news900)
7752c7c4e3dSmrg		basic_machine=m68k-sony
7762c7c4e3dSmrg		os=-newsos
7772c7c4e3dSmrg		;;
7782c7c4e3dSmrg	news1000)
7792c7c4e3dSmrg		basic_machine=m68030-sony
7802c7c4e3dSmrg		os=-newsos
7812c7c4e3dSmrg		;;
7822c7c4e3dSmrg	news-3600 | risc-news)
7832c7c4e3dSmrg		basic_machine=mips-sony
7842c7c4e3dSmrg		os=-newsos
7852c7c4e3dSmrg		;;
7862c7c4e3dSmrg	necv70)
7872c7c4e3dSmrg		basic_machine=v70-nec
7882c7c4e3dSmrg		os=-sysv
7892c7c4e3dSmrg		;;
7902c7c4e3dSmrg	next | m*-next )
7912c7c4e3dSmrg		basic_machine=m68k-next
7922c7c4e3dSmrg		case $os in
7932c7c4e3dSmrg		    -nextstep* )
7942c7c4e3dSmrg			;;
7952c7c4e3dSmrg		    -ns2*)
7962c7c4e3dSmrg		      os=-nextstep2
7972c7c4e3dSmrg			;;
7982c7c4e3dSmrg		    *)
7992c7c4e3dSmrg		      os=-nextstep3
8002c7c4e3dSmrg			;;
8012c7c4e3dSmrg		esac
8022c7c4e3dSmrg		;;
8032c7c4e3dSmrg	nh3000)
8042c7c4e3dSmrg		basic_machine=m68k-harris
8052c7c4e3dSmrg		os=-cxux
8062c7c4e3dSmrg		;;
8072c7c4e3dSmrg	nh[45]000)
8082c7c4e3dSmrg		basic_machine=m88k-harris
8092c7c4e3dSmrg		os=-cxux
8102c7c4e3dSmrg		;;
8112c7c4e3dSmrg	nindy960)
8122c7c4e3dSmrg		basic_machine=i960-intel
8132c7c4e3dSmrg		os=-nindy
8142c7c4e3dSmrg		;;
8152c7c4e3dSmrg	mon960)
8162c7c4e3dSmrg		basic_machine=i960-intel
8172c7c4e3dSmrg		os=-mon960
8182c7c4e3dSmrg		;;
8192c7c4e3dSmrg	nonstopux)
8202c7c4e3dSmrg		basic_machine=mips-compaq
8212c7c4e3dSmrg		os=-nonstopux
8222c7c4e3dSmrg		;;
8232c7c4e3dSmrg	np1)
8242c7c4e3dSmrg		basic_machine=np1-gould
8252c7c4e3dSmrg		;;
8262c7c4e3dSmrg	nsr-tandem)
8272c7c4e3dSmrg		basic_machine=nsr-tandem
8282c7c4e3dSmrg		;;
8292c7c4e3dSmrg	op50n-* | op60c-*)
8302c7c4e3dSmrg		basic_machine=hppa1.1-oki
8312c7c4e3dSmrg		os=-proelf
8322c7c4e3dSmrg		;;
8338650bb69Smrg	openrisc | openrisc-*)
8342c7c4e3dSmrg		basic_machine=or32-unknown
8358650bb69Smrg		;;
8368650bb69Smrg	os400)
8378650bb69Smrg		basic_machine=powerpc-ibm
8388650bb69Smrg		os=-os400
8392c7c4e3dSmrg		;;
8402c7c4e3dSmrg	OSE68000 | ose68000)
8412c7c4e3dSmrg		basic_machine=m68000-ericsson
8422c7c4e3dSmrg		os=-ose
8432c7c4e3dSmrg		;;
8442c7c4e3dSmrg	os68k)
8452c7c4e3dSmrg		basic_machine=m68k-none
8462c7c4e3dSmrg		os=-os68k
8472c7c4e3dSmrg		;;
8482c7c4e3dSmrg	pa-hitachi)
8492c7c4e3dSmrg		basic_machine=hppa1.1-hitachi
8502c7c4e3dSmrg		os=-hiuxwe2
8512c7c4e3dSmrg		;;
8522c7c4e3dSmrg	paragon)
8532c7c4e3dSmrg		basic_machine=i860-intel
8542c7c4e3dSmrg		os=-osf
8552c7c4e3dSmrg		;;
8568650bb69Smrg	parisc)
8578650bb69Smrg		basic_machine=hppa-unknown
8588650bb69Smrg		os=-linux
8598650bb69Smrg		;;
8608650bb69Smrg	parisc-*)
8618650bb69Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
8628650bb69Smrg		os=-linux
8638650bb69Smrg		;;
8642c7c4e3dSmrg	pbd)
8652c7c4e3dSmrg		basic_machine=sparc-tti
8662c7c4e3dSmrg		;;
8672c7c4e3dSmrg	pbb)
8682c7c4e3dSmrg		basic_machine=m68k-tti
8692c7c4e3dSmrg		;;
8702c7c4e3dSmrg	pc532 | pc532-*)
8712c7c4e3dSmrg		basic_machine=ns32k-pc532
8722c7c4e3dSmrg		;;
8738650bb69Smrg	pc98)
8748650bb69Smrg		basic_machine=i386-pc
8758650bb69Smrg		;;
8768650bb69Smrg	pc98-*)
8778650bb69Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
8788650bb69Smrg		;;
8792c7c4e3dSmrg	pentium | p5 | k5 | k6 | nexgen | viac3)
8802c7c4e3dSmrg		basic_machine=i586-pc
8812c7c4e3dSmrg		;;
8822c7c4e3dSmrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
8832c7c4e3dSmrg		basic_machine=i686-pc
8842c7c4e3dSmrg		;;
8852c7c4e3dSmrg	pentiumii | pentium2 | pentiumiii | pentium3)
8862c7c4e3dSmrg		basic_machine=i686-pc
8872c7c4e3dSmrg		;;
8882c7c4e3dSmrg	pentium4)
8892c7c4e3dSmrg		basic_machine=i786-pc
8902c7c4e3dSmrg		;;
8912c7c4e3dSmrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8922c7c4e3dSmrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
8932c7c4e3dSmrg		;;
8942c7c4e3dSmrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
8952c7c4e3dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8962c7c4e3dSmrg		;;
8972c7c4e3dSmrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
8982c7c4e3dSmrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8992c7c4e3dSmrg		;;
9002c7c4e3dSmrg	pentium4-*)
9012c7c4e3dSmrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
9022c7c4e3dSmrg		;;
9032c7c4e3dSmrg	pn)
9042c7c4e3dSmrg		basic_machine=pn-gould
9052c7c4e3dSmrg		;;
9062c7c4e3dSmrg	power)	basic_machine=power-ibm
9072c7c4e3dSmrg		;;
9082c7c4e3dSmrg	ppc)	basic_machine=powerpc-unknown
9092c7c4e3dSmrg		;;
9102c7c4e3dSmrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
9112c7c4e3dSmrg		;;
9122c7c4e3dSmrg	ppcle | powerpclittle | ppc-le | powerpc-little)
9132c7c4e3dSmrg		basic_machine=powerpcle-unknown
9142c7c4e3dSmrg		;;
9152c7c4e3dSmrg	ppcle-* | powerpclittle-*)
9162c7c4e3dSmrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
9172c7c4e3dSmrg		;;
9182c7c4e3dSmrg	ppc64)	basic_machine=powerpc64-unknown
9192c7c4e3dSmrg		;;
9202c7c4e3dSmrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9212c7c4e3dSmrg		;;
9222c7c4e3dSmrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9232c7c4e3dSmrg		basic_machine=powerpc64le-unknown
9242c7c4e3dSmrg		;;
9252c7c4e3dSmrg	ppc64le-* | powerpc64little-*)
9262c7c4e3dSmrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9272c7c4e3dSmrg		;;
9282c7c4e3dSmrg	ps2)
9292c7c4e3dSmrg		basic_machine=i386-ibm
9302c7c4e3dSmrg		;;
9312c7c4e3dSmrg	pw32)
9322c7c4e3dSmrg		basic_machine=i586-unknown
9332c7c4e3dSmrg		os=-pw32
9342c7c4e3dSmrg		;;
9358650bb69Smrg	rdos)
9368650bb69Smrg		basic_machine=i386-pc
9378650bb69Smrg		os=-rdos
9388650bb69Smrg		;;
9392c7c4e3dSmrg	rom68k)
9402c7c4e3dSmrg		basic_machine=m68k-rom68k
9412c7c4e3dSmrg		os=-coff
9422c7c4e3dSmrg		;;
9432c7c4e3dSmrg	rm[46]00)
9442c7c4e3dSmrg		basic_machine=mips-siemens
9452c7c4e3dSmrg		;;
9462c7c4e3dSmrg	rtpc | rtpc-*)
9472c7c4e3dSmrg		basic_machine=romp-ibm
9482c7c4e3dSmrg		;;
9498650bb69Smrg	s390 | s390-*)
9508650bb69Smrg		basic_machine=s390-ibm
9518650bb69Smrg		;;
9528650bb69Smrg	s390x | s390x-*)
9538650bb69Smrg		basic_machine=s390x-ibm
9548650bb69Smrg		;;
9552c7c4e3dSmrg	sa29200)
9562c7c4e3dSmrg		basic_machine=a29k-amd
9572c7c4e3dSmrg		os=-udi
9582c7c4e3dSmrg		;;
9592c7c4e3dSmrg	sb1)
9602c7c4e3dSmrg		basic_machine=mipsisa64sb1-unknown
9612c7c4e3dSmrg		;;
9622c7c4e3dSmrg	sb1el)
9632c7c4e3dSmrg		basic_machine=mipsisa64sb1el-unknown
9642c7c4e3dSmrg		;;
9658650bb69Smrg	sde)
9668650bb69Smrg		basic_machine=mipsisa32-sde
9678650bb69Smrg		os=-elf
9688650bb69Smrg		;;
9692c7c4e3dSmrg	sei)
9702c7c4e3dSmrg		basic_machine=mips-sei
9712c7c4e3dSmrg		os=-seiux
9722c7c4e3dSmrg		;;
9732c7c4e3dSmrg	sequent)
9742c7c4e3dSmrg		basic_machine=i386-sequent
9752c7c4e3dSmrg		;;
9762c7c4e3dSmrg	sh)
9772c7c4e3dSmrg		basic_machine=sh-hitachi
9782c7c4e3dSmrg		os=-hms
9792c7c4e3dSmrg		;;
9808650bb69Smrg	sh5el)
9818650bb69Smrg		basic_machine=sh5le-unknown
9828650bb69Smrg		;;
9832c7c4e3dSmrg	sh64)
9842c7c4e3dSmrg		basic_machine=sh64-unknown
9852c7c4e3dSmrg		;;
9862c7c4e3dSmrg	sparclite-wrs | simso-wrs)
9872c7c4e3dSmrg		basic_machine=sparclite-wrs
9882c7c4e3dSmrg		os=-vxworks
9892c7c4e3dSmrg		;;
9902c7c4e3dSmrg	sps7)
9912c7c4e3dSmrg		basic_machine=m68k-bull
9922c7c4e3dSmrg		os=-sysv2
9932c7c4e3dSmrg		;;
9942c7c4e3dSmrg	spur)
9952c7c4e3dSmrg		basic_machine=spur-unknown
9962c7c4e3dSmrg		;;
9972c7c4e3dSmrg	st2000)
9982c7c4e3dSmrg		basic_machine=m68k-tandem
9992c7c4e3dSmrg		;;
10002c7c4e3dSmrg	stratus)
10012c7c4e3dSmrg		basic_machine=i860-stratus
10022c7c4e3dSmrg		os=-sysv4
10032c7c4e3dSmrg		;;
10042c7c4e3dSmrg	sun2)
10052c7c4e3dSmrg		basic_machine=m68000-sun
10062c7c4e3dSmrg		;;
10072c7c4e3dSmrg	sun2os3)
10082c7c4e3dSmrg		basic_machine=m68000-sun
10092c7c4e3dSmrg		os=-sunos3
10102c7c4e3dSmrg		;;
10112c7c4e3dSmrg	sun2os4)
10122c7c4e3dSmrg		basic_machine=m68000-sun
10132c7c4e3dSmrg		os=-sunos4
10142c7c4e3dSmrg		;;
10152c7c4e3dSmrg	sun3os3)
10162c7c4e3dSmrg		basic_machine=m68k-sun
10172c7c4e3dSmrg		os=-sunos3
10182c7c4e3dSmrg		;;
10192c7c4e3dSmrg	sun3os4)
10202c7c4e3dSmrg		basic_machine=m68k-sun
10212c7c4e3dSmrg		os=-sunos4
10222c7c4e3dSmrg		;;
10232c7c4e3dSmrg	sun4os3)
10242c7c4e3dSmrg		basic_machine=sparc-sun
10252c7c4e3dSmrg		os=-sunos3
10262c7c4e3dSmrg		;;
10272c7c4e3dSmrg	sun4os4)
10282c7c4e3dSmrg		basic_machine=sparc-sun
10292c7c4e3dSmrg		os=-sunos4
10302c7c4e3dSmrg		;;
10312c7c4e3dSmrg	sun4sol2)
10322c7c4e3dSmrg		basic_machine=sparc-sun
10332c7c4e3dSmrg		os=-solaris2
10342c7c4e3dSmrg		;;
10352c7c4e3dSmrg	sun3 | sun3-*)
10362c7c4e3dSmrg		basic_machine=m68k-sun
10372c7c4e3dSmrg		;;
10382c7c4e3dSmrg	sun4)
10392c7c4e3dSmrg		basic_machine=sparc-sun
10402c7c4e3dSmrg		;;
10412c7c4e3dSmrg	sun386 | sun386i | roadrunner)
10422c7c4e3dSmrg		basic_machine=i386-sun
10432c7c4e3dSmrg		;;
10442c7c4e3dSmrg	sv1)
10452c7c4e3dSmrg		basic_machine=sv1-cray
10462c7c4e3dSmrg		os=-unicos
10472c7c4e3dSmrg		;;
10482c7c4e3dSmrg	symmetry)
10492c7c4e3dSmrg		basic_machine=i386-sequent
10502c7c4e3dSmrg		os=-dynix
10512c7c4e3dSmrg		;;
10522c7c4e3dSmrg	t3e)
10532c7c4e3dSmrg		basic_machine=alphaev5-cray
10542c7c4e3dSmrg		os=-unicos
10552c7c4e3dSmrg		;;
10562c7c4e3dSmrg	t90)
10572c7c4e3dSmrg		basic_machine=t90-cray
10582c7c4e3dSmrg		os=-unicos
10592c7c4e3dSmrg		;;
10602c7c4e3dSmrg	tic54x | c54x*)
10612c7c4e3dSmrg		basic_machine=tic54x-unknown
10622c7c4e3dSmrg		os=-coff
10632c7c4e3dSmrg		;;
10642c7c4e3dSmrg	tic55x | c55x*)
10652c7c4e3dSmrg		basic_machine=tic55x-unknown
10662c7c4e3dSmrg		os=-coff
10672c7c4e3dSmrg		;;
10682c7c4e3dSmrg	tic6x | c6x*)
10692c7c4e3dSmrg		basic_machine=tic6x-unknown
10702c7c4e3dSmrg		os=-coff
10712c7c4e3dSmrg		;;
10728650bb69Smrg	tile*)
10738650bb69Smrg		basic_machine=tile-unknown
10748650bb69Smrg		os=-linux-gnu
10758650bb69Smrg		;;
10762c7c4e3dSmrg	tx39)
10772c7c4e3dSmrg		basic_machine=mipstx39-unknown
10782c7c4e3dSmrg		;;
10792c7c4e3dSmrg	tx39el)
10802c7c4e3dSmrg		basic_machine=mipstx39el-unknown
10812c7c4e3dSmrg		;;
10822c7c4e3dSmrg	toad1)
10832c7c4e3dSmrg		basic_machine=pdp10-xkl
10842c7c4e3dSmrg		os=-tops20
10852c7c4e3dSmrg		;;
10862c7c4e3dSmrg	tower | tower-32)
10872c7c4e3dSmrg		basic_machine=m68k-ncr
10882c7c4e3dSmrg		;;
10898650bb69Smrg	tpf)
10908650bb69Smrg		basic_machine=s390x-ibm
10918650bb69Smrg		os=-tpf
10928650bb69Smrg		;;
10932c7c4e3dSmrg	udi29k)
10942c7c4e3dSmrg		basic_machine=a29k-amd
10952c7c4e3dSmrg		os=-udi
10962c7c4e3dSmrg		;;
10972c7c4e3dSmrg	ultra3)
10982c7c4e3dSmrg		basic_machine=a29k-nyu
10992c7c4e3dSmrg		os=-sym1
11002c7c4e3dSmrg		;;
11012c7c4e3dSmrg	v810 | necv810)
11022c7c4e3dSmrg		basic_machine=v810-nec
11032c7c4e3dSmrg		os=-none
11042c7c4e3dSmrg		;;
11052c7c4e3dSmrg	vaxv)
11062c7c4e3dSmrg		basic_machine=vax-dec
11072c7c4e3dSmrg		os=-sysv
11082c7c4e3dSmrg		;;
11092c7c4e3dSmrg	vms)
11102c7c4e3dSmrg		basic_machine=vax-dec
11112c7c4e3dSmrg		os=-vms
11122c7c4e3dSmrg		;;
11132c7c4e3dSmrg	vpp*|vx|vx-*)
11142c7c4e3dSmrg		basic_machine=f301-fujitsu
11152c7c4e3dSmrg		;;
11162c7c4e3dSmrg	vxworks960)
11172c7c4e3dSmrg		basic_machine=i960-wrs
11182c7c4e3dSmrg		os=-vxworks
11192c7c4e3dSmrg		;;
11202c7c4e3dSmrg	vxworks68)
11212c7c4e3dSmrg		basic_machine=m68k-wrs
11222c7c4e3dSmrg		os=-vxworks
11232c7c4e3dSmrg		;;
11242c7c4e3dSmrg	vxworks29k)
11252c7c4e3dSmrg		basic_machine=a29k-wrs
11262c7c4e3dSmrg		os=-vxworks
11272c7c4e3dSmrg		;;
11282c7c4e3dSmrg	w65*)
11292c7c4e3dSmrg		basic_machine=w65-wdc
11302c7c4e3dSmrg		os=-none
11312c7c4e3dSmrg		;;
11322c7c4e3dSmrg	w89k-*)
11332c7c4e3dSmrg		basic_machine=hppa1.1-winbond
11342c7c4e3dSmrg		os=-proelf
11352c7c4e3dSmrg		;;
11368650bb69Smrg	xbox)
11378650bb69Smrg		basic_machine=i686-pc
11388650bb69Smrg		os=-mingw32
11398650bb69Smrg		;;
11402c7c4e3dSmrg	xps | xps100)
11412c7c4e3dSmrg		basic_machine=xps100-honeywell
11422c7c4e3dSmrg		;;
11432c7c4e3dSmrg	ymp)
11442c7c4e3dSmrg		basic_machine=ymp-cray
11452c7c4e3dSmrg		os=-unicos
11462c7c4e3dSmrg		;;
11472c7c4e3dSmrg	z8k-*-coff)
11482c7c4e3dSmrg		basic_machine=z8k-unknown
11492c7c4e3dSmrg		os=-sim
11502c7c4e3dSmrg		;;
11518650bb69Smrg	z80-*-coff)
11528650bb69Smrg		basic_machine=z80-unknown
11538650bb69Smrg		os=-sim
11548650bb69Smrg		;;
11552c7c4e3dSmrg	none)
11562c7c4e3dSmrg		basic_machine=none-none
11572c7c4e3dSmrg		os=-none
11582c7c4e3dSmrg		;;
11592c7c4e3dSmrg
11602c7c4e3dSmrg# Here we handle the default manufacturer of certain CPU types.  It is in
11612c7c4e3dSmrg# some cases the only manufacturer, in others, it is the most popular.
11622c7c4e3dSmrg	w89k)
11632c7c4e3dSmrg		basic_machine=hppa1.1-winbond
11642c7c4e3dSmrg		;;
11652c7c4e3dSmrg	op50n)
11662c7c4e3dSmrg		basic_machine=hppa1.1-oki
11672c7c4e3dSmrg		;;
11682c7c4e3dSmrg	op60c)
11692c7c4e3dSmrg		basic_machine=hppa1.1-oki
11702c7c4e3dSmrg		;;
11712c7c4e3dSmrg	romp)
11722c7c4e3dSmrg		basic_machine=romp-ibm
11732c7c4e3dSmrg		;;
11748650bb69Smrg	mmix)
11758650bb69Smrg		basic_machine=mmix-knuth
11768650bb69Smrg		;;
11772c7c4e3dSmrg	rs6000)
11782c7c4e3dSmrg		basic_machine=rs6000-ibm
11792c7c4e3dSmrg		;;
11802c7c4e3dSmrg	vax)
11812c7c4e3dSmrg		basic_machine=vax-dec
11822c7c4e3dSmrg		;;
11832c7c4e3dSmrg	pdp10)
11842c7c4e3dSmrg		# there are many clones, so DEC is not a safe bet
11852c7c4e3dSmrg		basic_machine=pdp10-unknown
11862c7c4e3dSmrg		;;
11872c7c4e3dSmrg	pdp11)
11882c7c4e3dSmrg		basic_machine=pdp11-dec
11892c7c4e3dSmrg		;;
11902c7c4e3dSmrg	we32k)
11912c7c4e3dSmrg		basic_machine=we32k-att
11922c7c4e3dSmrg		;;
11938650bb69Smrg	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
11942c7c4e3dSmrg		basic_machine=sh-unknown
11952c7c4e3dSmrg		;;
11968650bb69Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
11972c7c4e3dSmrg		basic_machine=sparc-sun
11982c7c4e3dSmrg		;;
11992c7c4e3dSmrg	cydra)
12002c7c4e3dSmrg		basic_machine=cydra-cydrome
12012c7c4e3dSmrg		;;
12022c7c4e3dSmrg	orion)
12032c7c4e3dSmrg		basic_machine=orion-highlevel
12042c7c4e3dSmrg		;;
12052c7c4e3dSmrg	orion105)
12062c7c4e3dSmrg		basic_machine=clipper-highlevel
12072c7c4e3dSmrg		;;
12082c7c4e3dSmrg	mac | mpw | mac-mpw)
12092c7c4e3dSmrg		basic_machine=m68k-apple
12102c7c4e3dSmrg		;;
12112c7c4e3dSmrg	pmac | pmac-mpw)
12122c7c4e3dSmrg		basic_machine=powerpc-apple
12132c7c4e3dSmrg		;;
12142c7c4e3dSmrg	*-unknown)
12152c7c4e3dSmrg		# Make sure to match an already-canonicalized machine name.
12162c7c4e3dSmrg		;;
12172c7c4e3dSmrg	*)
12182c7c4e3dSmrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
12192c7c4e3dSmrg		exit 1
12202c7c4e3dSmrg		;;
12212c7c4e3dSmrgesac
12222c7c4e3dSmrg
12232c7c4e3dSmrg# Here we canonicalize certain aliases for manufacturers.
12242c7c4e3dSmrgcase $basic_machine in
12252c7c4e3dSmrg	*-digital*)
12262c7c4e3dSmrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12272c7c4e3dSmrg		;;
12282c7c4e3dSmrg	*-commodore*)
12292c7c4e3dSmrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12302c7c4e3dSmrg		;;
12312c7c4e3dSmrg	*)
12322c7c4e3dSmrg		;;
12332c7c4e3dSmrgesac
12342c7c4e3dSmrg
12352c7c4e3dSmrg# Decode manufacturer-specific aliases for certain operating systems.
12362c7c4e3dSmrg
12372c7c4e3dSmrgif [ x"$os" != x"" ]
12382c7c4e3dSmrgthen
12392c7c4e3dSmrgcase $os in
12402c7c4e3dSmrg        # First match some system type aliases
12412c7c4e3dSmrg        # that might get confused with valid system types.
12422c7c4e3dSmrg	# -solaris* is a basic system type, with this one exception.
12432c7c4e3dSmrg	-solaris1 | -solaris1.*)
12442c7c4e3dSmrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12452c7c4e3dSmrg		;;
12462c7c4e3dSmrg	-solaris)
12472c7c4e3dSmrg		os=-solaris2
12482c7c4e3dSmrg		;;
12492c7c4e3dSmrg	-svr4*)
12502c7c4e3dSmrg		os=-sysv4
12512c7c4e3dSmrg		;;
12522c7c4e3dSmrg	-unixware*)
12532c7c4e3dSmrg		os=-sysv4.2uw
12542c7c4e3dSmrg		;;
12552c7c4e3dSmrg	-gnu/linux*)
12562c7c4e3dSmrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12572c7c4e3dSmrg		;;
12582c7c4e3dSmrg	# First accept the basic system types.
12592c7c4e3dSmrg	# The portable systems comes first.
12602c7c4e3dSmrg	# Each alternative MUST END IN A *, to match a version number.
12612c7c4e3dSmrg	# -sysv* is not here because it comes later, after sysvr4.
12622c7c4e3dSmrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12632c7c4e3dSmrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12642c7c4e3dSmrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
12658650bb69Smrg	      | -kopensolaris* \
12662c7c4e3dSmrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12678650bb69Smrg	      | -aos* | -aros* \
12682c7c4e3dSmrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12692c7c4e3dSmrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
12708650bb69Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
12718650bb69Smrg	      | -openbsd* | -solidbsd* \
12728650bb69Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
12738650bb69Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12742c7c4e3dSmrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12752c7c4e3dSmrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
12768650bb69Smrg	      | -chorusos* | -chorusrdb* | -cegcc* \
12772c7c4e3dSmrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
12788650bb69Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
12798650bb69Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
12802c7c4e3dSmrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
12812c7c4e3dSmrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
12822c7c4e3dSmrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
12832c7c4e3dSmrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
12842c7c4e3dSmrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
12858650bb69Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
12868650bb69Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
12872c7c4e3dSmrg	# Remember, each alternative MUST END IN *, to match a version number.
12882c7c4e3dSmrg		;;
12892c7c4e3dSmrg	-qnx*)
12902c7c4e3dSmrg		case $basic_machine in
12912c7c4e3dSmrg		    x86-* | i*86-*)
12922c7c4e3dSmrg			;;
12932c7c4e3dSmrg		    *)
12942c7c4e3dSmrg			os=-nto$os
12952c7c4e3dSmrg			;;
12962c7c4e3dSmrg		esac
12972c7c4e3dSmrg		;;
12982c7c4e3dSmrg	-nto-qnx*)
12992c7c4e3dSmrg		;;
13002c7c4e3dSmrg	-nto*)
13012c7c4e3dSmrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
13022c7c4e3dSmrg		;;
13032c7c4e3dSmrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
13048650bb69Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
13052c7c4e3dSmrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
13062c7c4e3dSmrg		;;
13072c7c4e3dSmrg	-mac*)
13082c7c4e3dSmrg		os=`echo $os | sed -e 's|mac|macos|'`
13092c7c4e3dSmrg		;;
13108650bb69Smrg	-linux-dietlibc)
13118650bb69Smrg		os=-linux-dietlibc
13128650bb69Smrg		;;
13132c7c4e3dSmrg	-linux*)
13142c7c4e3dSmrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
13152c7c4e3dSmrg		;;
13162c7c4e3dSmrg	-sunos5*)
13172c7c4e3dSmrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
13182c7c4e3dSmrg		;;
13192c7c4e3dSmrg	-sunos6*)
13202c7c4e3dSmrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
13212c7c4e3dSmrg		;;
13222c7c4e3dSmrg	-opened*)
13232c7c4e3dSmrg		os=-openedition
13242c7c4e3dSmrg		;;
13258650bb69Smrg        -os400*)
13268650bb69Smrg		os=-os400
13278650bb69Smrg		;;
13282c7c4e3dSmrg	-wince*)
13292c7c4e3dSmrg		os=-wince
13302c7c4e3dSmrg		;;
13312c7c4e3dSmrg	-osfrose*)
13322c7c4e3dSmrg		os=-osfrose
13332c7c4e3dSmrg		;;
13342c7c4e3dSmrg	-osf*)
13352c7c4e3dSmrg		os=-osf
13362c7c4e3dSmrg		;;
13372c7c4e3dSmrg	-utek*)
13382c7c4e3dSmrg		os=-bsd
13392c7c4e3dSmrg		;;
13402c7c4e3dSmrg	-dynix*)
13412c7c4e3dSmrg		os=-bsd
13422c7c4e3dSmrg		;;
13432c7c4e3dSmrg	-acis*)
13442c7c4e3dSmrg		os=-aos
13452c7c4e3dSmrg		;;
13462c7c4e3dSmrg	-atheos*)
13472c7c4e3dSmrg		os=-atheos
13482c7c4e3dSmrg		;;
13498650bb69Smrg	-syllable*)
13508650bb69Smrg		os=-syllable
13518650bb69Smrg		;;
13522c7c4e3dSmrg	-386bsd)
13532c7c4e3dSmrg		os=-bsd
13542c7c4e3dSmrg		;;
13552c7c4e3dSmrg	-ctix* | -uts*)
13562c7c4e3dSmrg		os=-sysv
13572c7c4e3dSmrg		;;
13582c7c4e3dSmrg	-nova*)
13592c7c4e3dSmrg		os=-rtmk-nova
13602c7c4e3dSmrg		;;
13612c7c4e3dSmrg	-ns2 )
13622c7c4e3dSmrg		os=-nextstep2
13632c7c4e3dSmrg		;;
13642c7c4e3dSmrg	-nsk*)
13652c7c4e3dSmrg		os=-nsk
13662c7c4e3dSmrg		;;
13672c7c4e3dSmrg	# Preserve the version number of sinix5.
13682c7c4e3dSmrg	-sinix5.*)
13692c7c4e3dSmrg		os=`echo $os | sed -e 's|sinix|sysv|'`
13702c7c4e3dSmrg		;;
13712c7c4e3dSmrg	-sinix*)
13722c7c4e3dSmrg		os=-sysv4
13732c7c4e3dSmrg		;;
13748650bb69Smrg        -tpf*)
13758650bb69Smrg		os=-tpf
13768650bb69Smrg		;;
13772c7c4e3dSmrg	-triton*)
13782c7c4e3dSmrg		os=-sysv3
13792c7c4e3dSmrg		;;
13802c7c4e3dSmrg	-oss*)
13812c7c4e3dSmrg		os=-sysv3
13822c7c4e3dSmrg		;;
13832c7c4e3dSmrg	-svr4)
13842c7c4e3dSmrg		os=-sysv4
13852c7c4e3dSmrg		;;
13862c7c4e3dSmrg	-svr3)
13872c7c4e3dSmrg		os=-sysv3
13882c7c4e3dSmrg		;;
13892c7c4e3dSmrg	-sysvr4)
13902c7c4e3dSmrg		os=-sysv4
13912c7c4e3dSmrg		;;
13922c7c4e3dSmrg	# This must come after -sysvr4.
13932c7c4e3dSmrg	-sysv*)
13942c7c4e3dSmrg		;;
13952c7c4e3dSmrg	-ose*)
13962c7c4e3dSmrg		os=-ose
13972c7c4e3dSmrg		;;
13982c7c4e3dSmrg	-es1800*)
13992c7c4e3dSmrg		os=-ose
14002c7c4e3dSmrg		;;
14012c7c4e3dSmrg	-xenix)
14022c7c4e3dSmrg		os=-xenix
14032c7c4e3dSmrg		;;
14042c7c4e3dSmrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
14052c7c4e3dSmrg		os=-mint
14062c7c4e3dSmrg		;;
14072c7c4e3dSmrg	-aros*)
14082c7c4e3dSmrg		os=-aros
14092c7c4e3dSmrg		;;
14102c7c4e3dSmrg	-kaos*)
14112c7c4e3dSmrg		os=-kaos
14122c7c4e3dSmrg		;;
14138650bb69Smrg	-zvmoe)
14148650bb69Smrg		os=-zvmoe
14158650bb69Smrg		;;
14168650bb69Smrg	-dicos*)
14178650bb69Smrg		os=-dicos
14188650bb69Smrg		;;
14192c7c4e3dSmrg	-none)
14202c7c4e3dSmrg		;;
14212c7c4e3dSmrg	*)
14222c7c4e3dSmrg		# Get rid of the `-' at the beginning of $os.
14232c7c4e3dSmrg		os=`echo $os | sed 's/[^-]*-//'`
14242c7c4e3dSmrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
14252c7c4e3dSmrg		exit 1
14262c7c4e3dSmrg		;;
14272c7c4e3dSmrgesac
14282c7c4e3dSmrgelse
14292c7c4e3dSmrg
14302c7c4e3dSmrg# Here we handle the default operating systems that come with various machines.
14312c7c4e3dSmrg# The value should be what the vendor currently ships out the door with their
14322c7c4e3dSmrg# machine or put another way, the most popular os provided with the machine.
14332c7c4e3dSmrg
14342c7c4e3dSmrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14352c7c4e3dSmrg# "-sun"), then you have to tell the case statement up towards the top
14362c7c4e3dSmrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14372c7c4e3dSmrg# will signal an error saying that MANUFACTURER isn't an operating
14382c7c4e3dSmrg# system, and we'll never get to this point.
14392c7c4e3dSmrg
14402c7c4e3dSmrgcase $basic_machine in
14418650bb69Smrg        score-*)
14428650bb69Smrg		os=-elf
14438650bb69Smrg		;;
14448650bb69Smrg        spu-*)
14458650bb69Smrg		os=-elf
14468650bb69Smrg		;;
14472c7c4e3dSmrg	*-acorn)
14482c7c4e3dSmrg		os=-riscix1.2
14492c7c4e3dSmrg		;;
14502c7c4e3dSmrg	arm*-rebel)
14512c7c4e3dSmrg		os=-linux
14522c7c4e3dSmrg		;;
14532c7c4e3dSmrg	arm*-semi)
14542c7c4e3dSmrg		os=-aout
14552c7c4e3dSmrg		;;
14568650bb69Smrg        c4x-* | tic4x-*)
14578650bb69Smrg        	os=-coff
14582c7c4e3dSmrg		;;
14592c7c4e3dSmrg	# This must come before the *-dec entry.
14602c7c4e3dSmrg	pdp10-*)
14612c7c4e3dSmrg		os=-tops20
14622c7c4e3dSmrg		;;
14632c7c4e3dSmrg	pdp11-*)
14642c7c4e3dSmrg		os=-none
14652c7c4e3dSmrg		;;
14662c7c4e3dSmrg	*-dec | vax-*)
14672c7c4e3dSmrg		os=-ultrix4.2
14682c7c4e3dSmrg		;;
14692c7c4e3dSmrg	m68*-apollo)
14702c7c4e3dSmrg		os=-domain
14712c7c4e3dSmrg		;;
14722c7c4e3dSmrg	i386-sun)
14732c7c4e3dSmrg		os=-sunos4.0.2
14742c7c4e3dSmrg		;;
14752c7c4e3dSmrg	m68000-sun)
14762c7c4e3dSmrg		os=-sunos3
14772c7c4e3dSmrg		# This also exists in the configure program, but was not the
14782c7c4e3dSmrg		# default.
14792c7c4e3dSmrg		# os=-sunos4
14802c7c4e3dSmrg		;;
14812c7c4e3dSmrg	m68*-cisco)
14822c7c4e3dSmrg		os=-aout
14832c7c4e3dSmrg		;;
14848650bb69Smrg        mep-*)
14858650bb69Smrg		os=-elf
14868650bb69Smrg		;;
14872c7c4e3dSmrg	mips*-cisco)
14882c7c4e3dSmrg		os=-elf
14892c7c4e3dSmrg		;;
14902c7c4e3dSmrg	mips*-*)
14912c7c4e3dSmrg		os=-elf
14922c7c4e3dSmrg		;;
14932c7c4e3dSmrg	or32-*)
14942c7c4e3dSmrg		os=-coff
14952c7c4e3dSmrg		;;
14962c7c4e3dSmrg	*-tti)	# must be before sparc entry or we get the wrong os.
14972c7c4e3dSmrg		os=-sysv3
14982c7c4e3dSmrg		;;
14992c7c4e3dSmrg	sparc-* | *-sun)
15002c7c4e3dSmrg		os=-sunos4.1.1
15012c7c4e3dSmrg		;;
15022c7c4e3dSmrg	*-be)
15032c7c4e3dSmrg		os=-beos
15042c7c4e3dSmrg		;;
15058650bb69Smrg	*-haiku)
15068650bb69Smrg		os=-haiku
15078650bb69Smrg		;;
15082c7c4e3dSmrg	*-ibm)
15092c7c4e3dSmrg		os=-aix
15102c7c4e3dSmrg		;;
15118650bb69Smrg    	*-knuth)
15128650bb69Smrg		os=-mmixware
15138650bb69Smrg		;;
15142c7c4e3dSmrg	*-wec)
15152c7c4e3dSmrg		os=-proelf
15162c7c4e3dSmrg		;;
15172c7c4e3dSmrg	*-winbond)
15182c7c4e3dSmrg		os=-proelf
15192c7c4e3dSmrg		;;
15202c7c4e3dSmrg	*-oki)
15212c7c4e3dSmrg		os=-proelf
15222c7c4e3dSmrg		;;
15232c7c4e3dSmrg	*-hp)
15242c7c4e3dSmrg		os=-hpux
15252c7c4e3dSmrg		;;
15262c7c4e3dSmrg	*-hitachi)
15272c7c4e3dSmrg		os=-hiux
15282c7c4e3dSmrg		;;
15292c7c4e3dSmrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15302c7c4e3dSmrg		os=-sysv
15312c7c4e3dSmrg		;;
15322c7c4e3dSmrg	*-cbm)
15332c7c4e3dSmrg		os=-amigaos
15342c7c4e3dSmrg		;;
15352c7c4e3dSmrg	*-dg)
15362c7c4e3dSmrg		os=-dgux
15372c7c4e3dSmrg		;;
15382c7c4e3dSmrg	*-dolphin)
15392c7c4e3dSmrg		os=-sysv3
15402c7c4e3dSmrg		;;
15412c7c4e3dSmrg	m68k-ccur)
15422c7c4e3dSmrg		os=-rtu
15432c7c4e3dSmrg		;;
15442c7c4e3dSmrg	m88k-omron*)
15452c7c4e3dSmrg		os=-luna
15462c7c4e3dSmrg		;;
15472c7c4e3dSmrg	*-next )
15482c7c4e3dSmrg		os=-nextstep
15492c7c4e3dSmrg		;;
15502c7c4e3dSmrg	*-sequent)
15512c7c4e3dSmrg		os=-ptx
15522c7c4e3dSmrg		;;
15532c7c4e3dSmrg	*-crds)
15542c7c4e3dSmrg		os=-unos
15552c7c4e3dSmrg		;;
15562c7c4e3dSmrg	*-ns)
15572c7c4e3dSmrg		os=-genix
15582c7c4e3dSmrg		;;
15592c7c4e3dSmrg	i370-*)
15602c7c4e3dSmrg		os=-mvs
15612c7c4e3dSmrg		;;
15622c7c4e3dSmrg	*-next)
15632c7c4e3dSmrg		os=-nextstep3
15642c7c4e3dSmrg		;;
15652c7c4e3dSmrg	*-gould)
15662c7c4e3dSmrg		os=-sysv
15672c7c4e3dSmrg		;;
15682c7c4e3dSmrg	*-highlevel)
15692c7c4e3dSmrg		os=-bsd
15702c7c4e3dSmrg		;;
15712c7c4e3dSmrg	*-encore)
15722c7c4e3dSmrg		os=-bsd
15732c7c4e3dSmrg		;;
15742c7c4e3dSmrg	*-sgi)
15752c7c4e3dSmrg		os=-irix
15762c7c4e3dSmrg		;;
15772c7c4e3dSmrg	*-siemens)
15782c7c4e3dSmrg		os=-sysv4
15792c7c4e3dSmrg		;;
15802c7c4e3dSmrg	*-masscomp)
15812c7c4e3dSmrg		os=-rtu
15822c7c4e3dSmrg		;;
15832c7c4e3dSmrg	f30[01]-fujitsu | f700-fujitsu)
15842c7c4e3dSmrg		os=-uxpv
15852c7c4e3dSmrg		;;
15862c7c4e3dSmrg	*-rom68k)
15872c7c4e3dSmrg		os=-coff
15882c7c4e3dSmrg		;;
15892c7c4e3dSmrg	*-*bug)
15902c7c4e3dSmrg		os=-coff
15912c7c4e3dSmrg		;;
15922c7c4e3dSmrg	*-apple)
15932c7c4e3dSmrg		os=-macos
15942c7c4e3dSmrg		;;
15952c7c4e3dSmrg	*-atari*)
15962c7c4e3dSmrg		os=-mint
15972c7c4e3dSmrg		;;
15982c7c4e3dSmrg	*)
15992c7c4e3dSmrg		os=-none
16002c7c4e3dSmrg		;;
16012c7c4e3dSmrgesac
16022c7c4e3dSmrgfi
16032c7c4e3dSmrg
16042c7c4e3dSmrg# Here we handle the case where we know the os, and the CPU type, but not the
16052c7c4e3dSmrg# manufacturer.  We pick the logical manufacturer.
16062c7c4e3dSmrgvendor=unknown
16072c7c4e3dSmrgcase $basic_machine in
16082c7c4e3dSmrg	*-unknown)
16092c7c4e3dSmrg		case $os in
16102c7c4e3dSmrg			-riscix*)
16112c7c4e3dSmrg				vendor=acorn
16122c7c4e3dSmrg				;;
16132c7c4e3dSmrg			-sunos*)
16142c7c4e3dSmrg				vendor=sun
16152c7c4e3dSmrg				;;
16162c7c4e3dSmrg			-aix*)
16172c7c4e3dSmrg				vendor=ibm
16182c7c4e3dSmrg				;;
16192c7c4e3dSmrg			-beos*)
16202c7c4e3dSmrg				vendor=be
16212c7c4e3dSmrg				;;
16222c7c4e3dSmrg			-hpux*)
16232c7c4e3dSmrg				vendor=hp
16242c7c4e3dSmrg				;;
16252c7c4e3dSmrg			-mpeix*)
16262c7c4e3dSmrg				vendor=hp
16272c7c4e3dSmrg				;;
16282c7c4e3dSmrg			-hiux*)
16292c7c4e3dSmrg				vendor=hitachi
16302c7c4e3dSmrg				;;
16312c7c4e3dSmrg			-unos*)
16322c7c4e3dSmrg				vendor=crds
16332c7c4e3dSmrg				;;
16342c7c4e3dSmrg			-dgux*)
16352c7c4e3dSmrg				vendor=dg
16362c7c4e3dSmrg				;;
16372c7c4e3dSmrg			-luna*)
16382c7c4e3dSmrg				vendor=omron
16392c7c4e3dSmrg				;;
16402c7c4e3dSmrg			-genix*)
16412c7c4e3dSmrg				vendor=ns
16422c7c4e3dSmrg				;;
16432c7c4e3dSmrg			-mvs* | -opened*)
16442c7c4e3dSmrg				vendor=ibm
16452c7c4e3dSmrg				;;
16468650bb69Smrg			-os400*)
16478650bb69Smrg				vendor=ibm
16488650bb69Smrg				;;
16492c7c4e3dSmrg			-ptx*)
16502c7c4e3dSmrg				vendor=sequent
16512c7c4e3dSmrg				;;
16528650bb69Smrg			-tpf*)
16538650bb69Smrg				vendor=ibm
16548650bb69Smrg				;;
16552c7c4e3dSmrg			-vxsim* | -vxworks* | -windiss*)
16562c7c4e3dSmrg				vendor=wrs
16572c7c4e3dSmrg				;;
16582c7c4e3dSmrg			-aux*)
16592c7c4e3dSmrg				vendor=apple
16602c7c4e3dSmrg				;;
16612c7c4e3dSmrg			-hms*)
16622c7c4e3dSmrg				vendor=hitachi
16632c7c4e3dSmrg				;;
16642c7c4e3dSmrg			-mpw* | -macos*)
16652c7c4e3dSmrg				vendor=apple
16662c7c4e3dSmrg				;;
16672c7c4e3dSmrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
16682c7c4e3dSmrg				vendor=atari
16692c7c4e3dSmrg				;;
16702c7c4e3dSmrg			-vos*)
16712c7c4e3dSmrg				vendor=stratus
16722c7c4e3dSmrg				;;
16732c7c4e3dSmrg		esac
16742c7c4e3dSmrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
16752c7c4e3dSmrg		;;
16762c7c4e3dSmrgesac
16772c7c4e3dSmrg
16782c7c4e3dSmrgecho $basic_machine$os
16798650bb69Smrgexit
16802c7c4e3dSmrg
16812c7c4e3dSmrg# Local variables:
16822c7c4e3dSmrg# eval: (add-hook 'write-file-hooks 'time-stamp)
16832c7c4e3dSmrg# time-stamp-start: "timestamp='"
16842c7c4e3dSmrg# time-stamp-format: "%:y-%02m-%02d"
16852c7c4e3dSmrg# time-stamp-end: "'"
16862c7c4e3dSmrg# End:
1687