config.sub revision e5410a46
11f0ac6a5Smrg#! /bin/sh
21f0ac6a5Smrg# Configuration validation subroutine script.
31f0ac6a5Smrg#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4e5410a46Smrg#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5e5410a46Smrg#   Free Software Foundation, Inc.
61f0ac6a5Smrg
7e5410a46Smrgtimestamp='2008-01-16'
81f0ac6a5Smrg
91f0ac6a5Smrg# This file is (in principle) common to ALL GNU software.
101f0ac6a5Smrg# The presence of a machine in this file suggests that SOME GNU software
111f0ac6a5Smrg# can handle that machine.  It does not imply ALL GNU software can.
121f0ac6a5Smrg#
131f0ac6a5Smrg# This file is free software; you can redistribute it and/or modify
141f0ac6a5Smrg# it under the terms of the GNU General Public License as published by
151f0ac6a5Smrg# the Free Software Foundation; either version 2 of the License, or
161f0ac6a5Smrg# (at your option) any later version.
171f0ac6a5Smrg#
181f0ac6a5Smrg# This program is distributed in the hope that it will be useful,
191f0ac6a5Smrg# but WITHOUT ANY WARRANTY; without even the implied warranty of
201f0ac6a5Smrg# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
211f0ac6a5Smrg# GNU General Public License for more details.
221f0ac6a5Smrg#
231f0ac6a5Smrg# You should have received a copy of the GNU General Public License
241f0ac6a5Smrg# along with this program; if not, write to the Free Software
25e5410a46Smrg# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26e5410a46Smrg# 02110-1301, USA.
27e5410a46Smrg#
281f0ac6a5Smrg# As a special exception to the GNU General Public License, if you
291f0ac6a5Smrg# distribute this file as part of a program that contains a
301f0ac6a5Smrg# configuration script generated by Autoconf, you may include it under
311f0ac6a5Smrg# the same distribution terms that you use for the rest of that program.
321f0ac6a5Smrg
33e5410a46Smrg
341f0ac6a5Smrg# Please send patches to <config-patches@gnu.org>.  Submit a context
351f0ac6a5Smrg# diff and a properly formatted ChangeLog entry.
361f0ac6a5Smrg#
371f0ac6a5Smrg# Configuration subroutine to validate and canonicalize a configuration type.
381f0ac6a5Smrg# Supply the specified configuration type as an argument.
391f0ac6a5Smrg# If it is invalid, we print an error message on stderr and exit with code 1.
401f0ac6a5Smrg# Otherwise, we print the canonical config type on stdout and succeed.
411f0ac6a5Smrg
421f0ac6a5Smrg# This file is supposed to be the same for all GNU packages
431f0ac6a5Smrg# and recognize all the CPU types, system types and aliases
441f0ac6a5Smrg# that are meaningful with *any* GNU software.
451f0ac6a5Smrg# Each package is responsible for reporting which valid configurations
461f0ac6a5Smrg# it does not support.  The user should be able to distinguish
471f0ac6a5Smrg# a failure to support a valid configuration from a meaningless
481f0ac6a5Smrg# configuration.
491f0ac6a5Smrg
501f0ac6a5Smrg# The goal of this file is to map all the various variations of a given
511f0ac6a5Smrg# machine specification into a single specification in the form:
521f0ac6a5Smrg#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
531f0ac6a5Smrg# or in some cases, the newer four-part form:
541f0ac6a5Smrg#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
551f0ac6a5Smrg# It is wrong to echo any other type of specification.
561f0ac6a5Smrg
571f0ac6a5Smrgme=`echo "$0" | sed -e 's,.*/,,'`
581f0ac6a5Smrg
591f0ac6a5Smrgusage="\
601f0ac6a5SmrgUsage: $0 [OPTION] CPU-MFR-OPSYS
611f0ac6a5Smrg       $0 [OPTION] ALIAS
621f0ac6a5Smrg
631f0ac6a5SmrgCanonicalize a configuration name.
641f0ac6a5Smrg
651f0ac6a5SmrgOperation modes:
661f0ac6a5Smrg  -h, --help         print this help, then exit
671f0ac6a5Smrg  -t, --time-stamp   print date of last modification, then exit
681f0ac6a5Smrg  -v, --version      print version number, then exit
691f0ac6a5Smrg
701f0ac6a5SmrgReport bugs and patches to <config-patches@gnu.org>."
711f0ac6a5Smrg
721f0ac6a5Smrgversion="\
731f0ac6a5SmrgGNU config.sub ($timestamp)
741f0ac6a5Smrg
75e5410a46SmrgCopyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76e5410a46Smrg2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
771f0ac6a5Smrg
781f0ac6a5SmrgThis is free software; see the source for copying conditions.  There is NO
791f0ac6a5Smrgwarranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
801f0ac6a5Smrg
811f0ac6a5Smrghelp="
821f0ac6a5SmrgTry \`$me --help' for more information."
831f0ac6a5Smrg
841f0ac6a5Smrg# Parse command line
851f0ac6a5Smrgwhile test $# -gt 0 ; do
861f0ac6a5Smrg  case $1 in
871f0ac6a5Smrg    --time-stamp | --time* | -t )
88e5410a46Smrg       echo "$timestamp" ; exit ;;
891f0ac6a5Smrg    --version | -v )
90e5410a46Smrg       echo "$version" ; exit ;;
911f0ac6a5Smrg    --help | --h* | -h )
92e5410a46Smrg       echo "$usage"; exit ;;
931f0ac6a5Smrg    -- )     # Stop option processing
941f0ac6a5Smrg       shift; break ;;
951f0ac6a5Smrg    - )	# Use stdin as input.
961f0ac6a5Smrg       break ;;
971f0ac6a5Smrg    -* )
981f0ac6a5Smrg       echo "$me: invalid option $1$help"
991f0ac6a5Smrg       exit 1 ;;
1001f0ac6a5Smrg
1011f0ac6a5Smrg    *local*)
1021f0ac6a5Smrg       # First pass through any local machine types.
1031f0ac6a5Smrg       echo $1
104e5410a46Smrg       exit ;;
1051f0ac6a5Smrg
1061f0ac6a5Smrg    * )
1071f0ac6a5Smrg       break ;;
1081f0ac6a5Smrg  esac
1091f0ac6a5Smrgdone
1101f0ac6a5Smrg
1111f0ac6a5Smrgcase $# in
1121f0ac6a5Smrg 0) echo "$me: missing argument$help" >&2
1131f0ac6a5Smrg    exit 1;;
1141f0ac6a5Smrg 1) ;;
1151f0ac6a5Smrg *) echo "$me: too many arguments$help" >&2
1161f0ac6a5Smrg    exit 1;;
1171f0ac6a5Smrgesac
1181f0ac6a5Smrg
1191f0ac6a5Smrg# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
1201f0ac6a5Smrg# Here we must recognize all the valid KERNEL-OS combinations.
1211f0ac6a5Smrgmaybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
1221f0ac6a5Smrgcase $maybe_os in
123e5410a46Smrg  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124e5410a46Smrg  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
125e5410a46Smrg  storm-chaos* | os2-emx* | rtmk-nova*)
1261f0ac6a5Smrg    os=-$maybe_os
1271f0ac6a5Smrg    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
1281f0ac6a5Smrg    ;;
1291f0ac6a5Smrg  *)
1301f0ac6a5Smrg    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
1311f0ac6a5Smrg    if [ $basic_machine != $1 ]
1321f0ac6a5Smrg    then os=`echo $1 | sed 's/.*-/-/'`
1331f0ac6a5Smrg    else os=; fi
1341f0ac6a5Smrg    ;;
1351f0ac6a5Smrgesac
1361f0ac6a5Smrg
1371f0ac6a5Smrg### Let's recognize common machines as not being operating systems so
1381f0ac6a5Smrg### that things like config.sub decstation-3100 work.  We also
1391f0ac6a5Smrg### recognize some manufacturers as not being operating systems, so we
1401f0ac6a5Smrg### can provide default operating systems below.
1411f0ac6a5Smrgcase $os in
1421f0ac6a5Smrg	-sun*os*)
1431f0ac6a5Smrg		# Prevent following clause from handling this invalid input.
1441f0ac6a5Smrg		;;
1451f0ac6a5Smrg	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
1461f0ac6a5Smrg	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
1471f0ac6a5Smrg	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
1481f0ac6a5Smrg	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
1491f0ac6a5Smrg	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
1501f0ac6a5Smrg	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151e5410a46Smrg	-apple | -axis | -knuth | -cray)
1521f0ac6a5Smrg		os=
1531f0ac6a5Smrg		basic_machine=$1
1541f0ac6a5Smrg		;;
1551f0ac6a5Smrg	-sim | -cisco | -oki | -wec | -winbond)
1561f0ac6a5Smrg		os=
1571f0ac6a5Smrg		basic_machine=$1
1581f0ac6a5Smrg		;;
1591f0ac6a5Smrg	-scout)
1601f0ac6a5Smrg		;;
1611f0ac6a5Smrg	-wrs)
1621f0ac6a5Smrg		os=-vxworks
1631f0ac6a5Smrg		basic_machine=$1
1641f0ac6a5Smrg		;;
1651f0ac6a5Smrg	-chorusos*)
1661f0ac6a5Smrg		os=-chorusos
1671f0ac6a5Smrg		basic_machine=$1
1681f0ac6a5Smrg		;;
1691f0ac6a5Smrg 	-chorusrdb)
1701f0ac6a5Smrg 		os=-chorusrdb
1711f0ac6a5Smrg		basic_machine=$1
1721f0ac6a5Smrg 		;;
1731f0ac6a5Smrg	-hiux*)
1741f0ac6a5Smrg		os=-hiuxwe2
1751f0ac6a5Smrg		;;
176e5410a46Smrg	-sco6)
177e5410a46Smrg		os=-sco5v6
178e5410a46Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
179e5410a46Smrg		;;
1801f0ac6a5Smrg	-sco5)
1811f0ac6a5Smrg		os=-sco3.2v5
1821f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1831f0ac6a5Smrg		;;
1841f0ac6a5Smrg	-sco4)
1851f0ac6a5Smrg		os=-sco3.2v4
1861f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1871f0ac6a5Smrg		;;
1881f0ac6a5Smrg	-sco3.2.[4-9]*)
1891f0ac6a5Smrg		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
1901f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1911f0ac6a5Smrg		;;
1921f0ac6a5Smrg	-sco3.2v[4-9]*)
1931f0ac6a5Smrg		# Don't forget version if it is 3.2v4 or newer.
1941f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
1951f0ac6a5Smrg		;;
196e5410a46Smrg	-sco5v6*)
197e5410a46Smrg		# Don't forget version if it is 3.2v4 or newer.
198e5410a46Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
199e5410a46Smrg		;;
2001f0ac6a5Smrg	-sco*)
2011f0ac6a5Smrg		os=-sco3.2v2
2021f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2031f0ac6a5Smrg		;;
2041f0ac6a5Smrg	-udk*)
2051f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2061f0ac6a5Smrg		;;
2071f0ac6a5Smrg	-isc)
2081f0ac6a5Smrg		os=-isc2.2
2091f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2101f0ac6a5Smrg		;;
2111f0ac6a5Smrg	-clix*)
2121f0ac6a5Smrg		basic_machine=clipper-intergraph
2131f0ac6a5Smrg		;;
2141f0ac6a5Smrg	-isc*)
2151f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2161f0ac6a5Smrg		;;
2171f0ac6a5Smrg	-lynx*)
2181f0ac6a5Smrg		os=-lynxos
2191f0ac6a5Smrg		;;
2201f0ac6a5Smrg	-ptx*)
2211f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2221f0ac6a5Smrg		;;
2231f0ac6a5Smrg	-windowsnt*)
2241f0ac6a5Smrg		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2251f0ac6a5Smrg		;;
2261f0ac6a5Smrg	-psos*)
2271f0ac6a5Smrg		os=-psos
2281f0ac6a5Smrg		;;
2291f0ac6a5Smrg	-mint | -mint[0-9]*)
2301f0ac6a5Smrg		basic_machine=m68k-atari
2311f0ac6a5Smrg		os=-mint
2321f0ac6a5Smrg		;;
2331f0ac6a5Smrgesac
2341f0ac6a5Smrg
2351f0ac6a5Smrg# Decode aliases for certain CPU-COMPANY combinations.
2361f0ac6a5Smrgcase $basic_machine in
2371f0ac6a5Smrg	# Recognize the basic CPU types without company name.
2381f0ac6a5Smrg	# Some are omitted here because they have special meanings below.
2391f0ac6a5Smrg	1750a | 580 \
2401f0ac6a5Smrg	| a29k \
2411f0ac6a5Smrg	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2421f0ac6a5Smrg	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243e5410a46Smrg	| am33_2.0 \
244e5410a46Smrg	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
245e5410a46Smrg	| bfin \
2461f0ac6a5Smrg	| c4x | clipper \
2471f0ac6a5Smrg	| d10v | d30v | dlx | dsp16xx \
248e5410a46Smrg	| fido | fr30 | frv \
2491f0ac6a5Smrg	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2501f0ac6a5Smrg	| i370 | i860 | i960 | ia64 \
251e5410a46Smrg	| ip2k | iq2000 \
252e5410a46Smrg	| m32c | m32r | m32rle | m68000 | m68k | m88k \
253e5410a46Smrg	| maxq | mb | microblaze | mcore | mep \
2541f0ac6a5Smrg	| mips | mipsbe | mipseb | mipsel | mipsle \
2551f0ac6a5Smrg	| mips16 \
2561f0ac6a5Smrg	| mips64 | mips64el \
2571f0ac6a5Smrg	| mips64vr | mips64vrel \
2581f0ac6a5Smrg	| mips64orion | mips64orionel \
2591f0ac6a5Smrg	| mips64vr4100 | mips64vr4100el \
2601f0ac6a5Smrg	| mips64vr4300 | mips64vr4300el \
2611f0ac6a5Smrg	| mips64vr5000 | mips64vr5000el \
262e5410a46Smrg	| mips64vr5900 | mips64vr5900el \
2631f0ac6a5Smrg	| mipsisa32 | mipsisa32el \
2641f0ac6a5Smrg	| mipsisa32r2 | mipsisa32r2el \
2651f0ac6a5Smrg	| mipsisa64 | mipsisa64el \
266e5410a46Smrg	| mipsisa64r2 | mipsisa64r2el \
2671f0ac6a5Smrg	| mipsisa64sb1 | mipsisa64sb1el \
2681f0ac6a5Smrg	| mipsisa64sr71k | mipsisa64sr71kel \
2691f0ac6a5Smrg	| mipstx39 | mipstx39el \
2701f0ac6a5Smrg	| mn10200 | mn10300 \
271e5410a46Smrg	| mt \
2721f0ac6a5Smrg	| msp430 \
273e5410a46Smrg	| nios | nios2 \
2741f0ac6a5Smrg	| ns16k | ns32k \
275e5410a46Smrg	| or32 \
2761f0ac6a5Smrg	| pdp10 | pdp11 | pj | pjl \
2771f0ac6a5Smrg	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
2781f0ac6a5Smrg	| pyramid \
279e5410a46Smrg	| score \
280e5410a46Smrg	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2811f0ac6a5Smrg	| sh64 | sh64le \
282e5410a46Smrg	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283e5410a46Smrg	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284e5410a46Smrg	| spu | strongarm \
2851f0ac6a5Smrg	| tahoe | thumb | tic4x | tic80 | tron \
2861f0ac6a5Smrg	| v850 | v850e \
2871f0ac6a5Smrg	| we32k \
288e5410a46Smrg	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
2891f0ac6a5Smrg	| z8k)
2901f0ac6a5Smrg		basic_machine=$basic_machine-unknown
2911f0ac6a5Smrg		;;
2921f0ac6a5Smrg	m6811 | m68hc11 | m6812 | m68hc12)
2931f0ac6a5Smrg		# Motorola 68HC11/12.
2941f0ac6a5Smrg		basic_machine=$basic_machine-unknown
2951f0ac6a5Smrg		os=-none
2961f0ac6a5Smrg		;;
2971f0ac6a5Smrg	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2981f0ac6a5Smrg		;;
299e5410a46Smrg	ms1)
300e5410a46Smrg		basic_machine=mt-unknown
301e5410a46Smrg		;;
3021f0ac6a5Smrg
3031f0ac6a5Smrg	# We use `pc' rather than `unknown'
3041f0ac6a5Smrg	# because (1) that's what they normally are, and
3051f0ac6a5Smrg	# (2) the word "unknown" tends to confuse beginning users.
3061f0ac6a5Smrg	i*86 | x86_64)
3071f0ac6a5Smrg	  basic_machine=$basic_machine-pc
3081f0ac6a5Smrg	  ;;
3091f0ac6a5Smrg	# Object if more than one company name word.
3101f0ac6a5Smrg	*-*-*)
3111f0ac6a5Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
3121f0ac6a5Smrg		exit 1
3131f0ac6a5Smrg		;;
3141f0ac6a5Smrg	# Recognize the basic CPU types with company name.
3151f0ac6a5Smrg	580-* \
3161f0ac6a5Smrg	| a29k-* \
3171f0ac6a5Smrg	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
3181f0ac6a5Smrg	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319e5410a46Smrg	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
3201f0ac6a5Smrg	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
321e5410a46Smrg	| avr-* | avr32-* \
322e5410a46Smrg	| bfin-* | bs2000-* \
3231f0ac6a5Smrg	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
324e5410a46Smrg	| clipper-* | craynv-* | cydra-* \
3251f0ac6a5Smrg	| d10v-* | d30v-* | dlx-* \
3261f0ac6a5Smrg	| elxsi-* \
327e5410a46Smrg	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
3281f0ac6a5Smrg	| h8300-* | h8500-* \
3291f0ac6a5Smrg	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
3301f0ac6a5Smrg	| i*86-* | i860-* | i960-* | ia64-* \
331e5410a46Smrg	| ip2k-* | iq2000-* \
332e5410a46Smrg	| m32c-* | m32r-* | m32rle-* \
3331f0ac6a5Smrg	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334e5410a46Smrg	| m88110-* | m88k-* | maxq-* | mcore-* \
3351f0ac6a5Smrg	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
3361f0ac6a5Smrg	| mips16-* \
3371f0ac6a5Smrg	| mips64-* | mips64el-* \
3381f0ac6a5Smrg	| mips64vr-* | mips64vrel-* \
3391f0ac6a5Smrg	| mips64orion-* | mips64orionel-* \
3401f0ac6a5Smrg	| mips64vr4100-* | mips64vr4100el-* \
3411f0ac6a5Smrg	| mips64vr4300-* | mips64vr4300el-* \
3421f0ac6a5Smrg	| mips64vr5000-* | mips64vr5000el-* \
343e5410a46Smrg	| mips64vr5900-* | mips64vr5900el-* \
3441f0ac6a5Smrg	| mipsisa32-* | mipsisa32el-* \
3451f0ac6a5Smrg	| mipsisa32r2-* | mipsisa32r2el-* \
3461f0ac6a5Smrg	| mipsisa64-* | mipsisa64el-* \
347e5410a46Smrg	| mipsisa64r2-* | mipsisa64r2el-* \
3481f0ac6a5Smrg	| mipsisa64sb1-* | mipsisa64sb1el-* \
3491f0ac6a5Smrg	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
3501f0ac6a5Smrg	| mipstx39-* | mipstx39el-* \
351e5410a46Smrg	| mmix-* \
352e5410a46Smrg	| mt-* \
3531f0ac6a5Smrg	| msp430-* \
354e5410a46Smrg	| nios-* | nios2-* \
355e5410a46Smrg	| none-* | np1-* | ns16k-* | ns32k-* \
3561f0ac6a5Smrg	| orion-* \
3571f0ac6a5Smrg	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
3581f0ac6a5Smrg	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
3591f0ac6a5Smrg	| pyramid-* \
3601f0ac6a5Smrg	| romp-* | rs6000-* \
361e5410a46Smrg	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
3621f0ac6a5Smrg	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363e5410a46Smrg	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364e5410a46Smrg	| sparclite-* \
365e5410a46Smrg	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
3661f0ac6a5Smrg	| tahoe-* | thumb-* \
3671f0ac6a5Smrg	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
3681f0ac6a5Smrg	| tron-* \
3691f0ac6a5Smrg	| v850-* | v850e-* | vax-* \
3701f0ac6a5Smrg	| we32k-* \
371e5410a46Smrg	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
372e5410a46Smrg	| xstormy16-* | xtensa*-* \
3731f0ac6a5Smrg	| ymp-* \
3741f0ac6a5Smrg	| z8k-*)
3751f0ac6a5Smrg		;;
376e5410a46Smrg	# Recognize the basic CPU types without company name, with glob match.
377e5410a46Smrg	xtensa*)
378e5410a46Smrg		basic_machine=$basic_machine-unknown
379e5410a46Smrg		;;
3801f0ac6a5Smrg	# Recognize the various machine names and aliases which stand
3811f0ac6a5Smrg	# for a CPU type and a company and sometimes even an OS.
3821f0ac6a5Smrg	386bsd)
3831f0ac6a5Smrg		basic_machine=i386-unknown
3841f0ac6a5Smrg		os=-bsd
3851f0ac6a5Smrg		;;
3861f0ac6a5Smrg	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
3871f0ac6a5Smrg		basic_machine=m68000-att
3881f0ac6a5Smrg		;;
3891f0ac6a5Smrg	3b*)
3901f0ac6a5Smrg		basic_machine=we32k-att
3911f0ac6a5Smrg		;;
3921f0ac6a5Smrg	a29khif)
3931f0ac6a5Smrg		basic_machine=a29k-amd
3941f0ac6a5Smrg		os=-udi
3951f0ac6a5Smrg		;;
396e5410a46Smrg    	abacus)
397e5410a46Smrg		basic_machine=abacus-unknown
398e5410a46Smrg		;;
3991f0ac6a5Smrg	adobe68k)
4001f0ac6a5Smrg		basic_machine=m68010-adobe
4011f0ac6a5Smrg		os=-scout
4021f0ac6a5Smrg		;;
4031f0ac6a5Smrg	alliant | fx80)
4041f0ac6a5Smrg		basic_machine=fx80-alliant
4051f0ac6a5Smrg		;;
4061f0ac6a5Smrg	altos | altos3068)
4071f0ac6a5Smrg		basic_machine=m68k-altos
4081f0ac6a5Smrg		;;
4091f0ac6a5Smrg	am29k)
4101f0ac6a5Smrg		basic_machine=a29k-none
4111f0ac6a5Smrg		os=-bsd
4121f0ac6a5Smrg		;;
4131f0ac6a5Smrg	amd64)
4141f0ac6a5Smrg		basic_machine=x86_64-pc
4151f0ac6a5Smrg		;;
416e5410a46Smrg	amd64-*)
417e5410a46Smrg		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
418e5410a46Smrg		;;
4191f0ac6a5Smrg	amdahl)
4201f0ac6a5Smrg		basic_machine=580-amdahl
4211f0ac6a5Smrg		os=-sysv
4221f0ac6a5Smrg		;;
4231f0ac6a5Smrg	amiga | amiga-*)
4241f0ac6a5Smrg		basic_machine=m68k-unknown
4251f0ac6a5Smrg		;;
4261f0ac6a5Smrg	amigaos | amigados)
4271f0ac6a5Smrg		basic_machine=m68k-unknown
4281f0ac6a5Smrg		os=-amigaos
4291f0ac6a5Smrg		;;
4301f0ac6a5Smrg	amigaunix | amix)
4311f0ac6a5Smrg		basic_machine=m68k-unknown
4321f0ac6a5Smrg		os=-sysv4
4331f0ac6a5Smrg		;;
4341f0ac6a5Smrg	apollo68)
4351f0ac6a5Smrg		basic_machine=m68k-apollo
4361f0ac6a5Smrg		os=-sysv
4371f0ac6a5Smrg		;;
4381f0ac6a5Smrg	apollo68bsd)
4391f0ac6a5Smrg		basic_machine=m68k-apollo
4401f0ac6a5Smrg		os=-bsd
4411f0ac6a5Smrg		;;
4421f0ac6a5Smrg	aux)
4431f0ac6a5Smrg		basic_machine=m68k-apple
4441f0ac6a5Smrg		os=-aux
4451f0ac6a5Smrg		;;
4461f0ac6a5Smrg	balance)
4471f0ac6a5Smrg		basic_machine=ns32k-sequent
4481f0ac6a5Smrg		os=-dynix
4491f0ac6a5Smrg		;;
450e5410a46Smrg	blackfin)
451e5410a46Smrg		basic_machine=bfin-unknown
452e5410a46Smrg		os=-linux
453e5410a46Smrg		;;
454e5410a46Smrg	blackfin-*)
455e5410a46Smrg		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
456e5410a46Smrg		os=-linux
457e5410a46Smrg		;;
4581f0ac6a5Smrg	c90)
4591f0ac6a5Smrg		basic_machine=c90-cray
4601f0ac6a5Smrg		os=-unicos
4611f0ac6a5Smrg		;;
4621f0ac6a5Smrg	convex-c1)
4631f0ac6a5Smrg		basic_machine=c1-convex
4641f0ac6a5Smrg		os=-bsd
4651f0ac6a5Smrg		;;
4661f0ac6a5Smrg	convex-c2)
4671f0ac6a5Smrg		basic_machine=c2-convex
4681f0ac6a5Smrg		os=-bsd
4691f0ac6a5Smrg		;;
4701f0ac6a5Smrg	convex-c32)
4711f0ac6a5Smrg		basic_machine=c32-convex
4721f0ac6a5Smrg		os=-bsd
4731f0ac6a5Smrg		;;
4741f0ac6a5Smrg	convex-c34)
4751f0ac6a5Smrg		basic_machine=c34-convex
4761f0ac6a5Smrg		os=-bsd
4771f0ac6a5Smrg		;;
4781f0ac6a5Smrg	convex-c38)
4791f0ac6a5Smrg		basic_machine=c38-convex
4801f0ac6a5Smrg		os=-bsd
4811f0ac6a5Smrg		;;
4821f0ac6a5Smrg	cray | j90)
4831f0ac6a5Smrg		basic_machine=j90-cray
4841f0ac6a5Smrg		os=-unicos
4851f0ac6a5Smrg		;;
486e5410a46Smrg	craynv)
487e5410a46Smrg		basic_machine=craynv-cray
488e5410a46Smrg		os=-unicosmp
489e5410a46Smrg		;;
490e5410a46Smrg	cr16)
491e5410a46Smrg		basic_machine=cr16-unknown
492e5410a46Smrg		os=-elf
493e5410a46Smrg		;;
4941f0ac6a5Smrg	crds | unos)
4951f0ac6a5Smrg		basic_machine=m68k-crds
4961f0ac6a5Smrg		;;
497e5410a46Smrg	crisv32 | crisv32-* | etraxfs*)
498e5410a46Smrg		basic_machine=crisv32-axis
499e5410a46Smrg		;;
5001f0ac6a5Smrg	cris | cris-* | etrax*)
5011f0ac6a5Smrg		basic_machine=cris-axis
5021f0ac6a5Smrg		;;
503e5410a46Smrg	crx)
504e5410a46Smrg		basic_machine=crx-unknown
505e5410a46Smrg		os=-elf
506e5410a46Smrg		;;
5071f0ac6a5Smrg	da30 | da30-*)
5081f0ac6a5Smrg		basic_machine=m68k-da30
5091f0ac6a5Smrg		;;
5101f0ac6a5Smrg	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
5111f0ac6a5Smrg		basic_machine=mips-dec
5121f0ac6a5Smrg		;;
5131f0ac6a5Smrg	decsystem10* | dec10*)
5141f0ac6a5Smrg		basic_machine=pdp10-dec
5151f0ac6a5Smrg		os=-tops10
5161f0ac6a5Smrg		;;
5171f0ac6a5Smrg	decsystem20* | dec20*)
5181f0ac6a5Smrg		basic_machine=pdp10-dec
5191f0ac6a5Smrg		os=-tops20
5201f0ac6a5Smrg		;;
5211f0ac6a5Smrg	delta | 3300 | motorola-3300 | motorola-delta \
5221f0ac6a5Smrg	      | 3300-motorola | delta-motorola)
5231f0ac6a5Smrg		basic_machine=m68k-motorola
5241f0ac6a5Smrg		;;
5251f0ac6a5Smrg	delta88)
5261f0ac6a5Smrg		basic_machine=m88k-motorola
5271f0ac6a5Smrg		os=-sysv3
5281f0ac6a5Smrg		;;
529e5410a46Smrg	djgpp)
530e5410a46Smrg		basic_machine=i586-pc
531e5410a46Smrg		os=-msdosdjgpp
532e5410a46Smrg		;;
5331f0ac6a5Smrg	dpx20 | dpx20-*)
5341f0ac6a5Smrg		basic_machine=rs6000-bull
5351f0ac6a5Smrg		os=-bosx
5361f0ac6a5Smrg		;;
5371f0ac6a5Smrg	dpx2* | dpx2*-bull)
5381f0ac6a5Smrg		basic_machine=m68k-bull
5391f0ac6a5Smrg		os=-sysv3
5401f0ac6a5Smrg		;;
5411f0ac6a5Smrg	ebmon29k)
5421f0ac6a5Smrg		basic_machine=a29k-amd
5431f0ac6a5Smrg		os=-ebmon
5441f0ac6a5Smrg		;;
5451f0ac6a5Smrg	elxsi)
5461f0ac6a5Smrg		basic_machine=elxsi-elxsi
5471f0ac6a5Smrg		os=-bsd
5481f0ac6a5Smrg		;;
5491f0ac6a5Smrg	encore | umax | mmax)
5501f0ac6a5Smrg		basic_machine=ns32k-encore
5511f0ac6a5Smrg		;;
5521f0ac6a5Smrg	es1800 | OSE68k | ose68k | ose | OSE)
5531f0ac6a5Smrg		basic_machine=m68k-ericsson
5541f0ac6a5Smrg		os=-ose
5551f0ac6a5Smrg		;;
5561f0ac6a5Smrg	fx2800)
5571f0ac6a5Smrg		basic_machine=i860-alliant
5581f0ac6a5Smrg		;;
5591f0ac6a5Smrg	genix)
5601f0ac6a5Smrg		basic_machine=ns32k-ns
5611f0ac6a5Smrg		;;
5621f0ac6a5Smrg	gmicro)
5631f0ac6a5Smrg		basic_machine=tron-gmicro
5641f0ac6a5Smrg		os=-sysv
5651f0ac6a5Smrg		;;
5661f0ac6a5Smrg	go32)
5671f0ac6a5Smrg		basic_machine=i386-pc
5681f0ac6a5Smrg		os=-go32
5691f0ac6a5Smrg		;;
5701f0ac6a5Smrg	h3050r* | hiux*)
5711f0ac6a5Smrg		basic_machine=hppa1.1-hitachi
5721f0ac6a5Smrg		os=-hiuxwe2
5731f0ac6a5Smrg		;;
5741f0ac6a5Smrg	h8300hms)
5751f0ac6a5Smrg		basic_machine=h8300-hitachi
5761f0ac6a5Smrg		os=-hms
5771f0ac6a5Smrg		;;
5781f0ac6a5Smrg	h8300xray)
5791f0ac6a5Smrg		basic_machine=h8300-hitachi
5801f0ac6a5Smrg		os=-xray
5811f0ac6a5Smrg		;;
5821f0ac6a5Smrg	h8500hms)
5831f0ac6a5Smrg		basic_machine=h8500-hitachi
5841f0ac6a5Smrg		os=-hms
5851f0ac6a5Smrg		;;
5861f0ac6a5Smrg	harris)
5871f0ac6a5Smrg		basic_machine=m88k-harris
5881f0ac6a5Smrg		os=-sysv3
5891f0ac6a5Smrg		;;
5901f0ac6a5Smrg	hp300-*)
5911f0ac6a5Smrg		basic_machine=m68k-hp
5921f0ac6a5Smrg		;;
5931f0ac6a5Smrg	hp300bsd)
5941f0ac6a5Smrg		basic_machine=m68k-hp
5951f0ac6a5Smrg		os=-bsd
5961f0ac6a5Smrg		;;
5971f0ac6a5Smrg	hp300hpux)
5981f0ac6a5Smrg		basic_machine=m68k-hp
5991f0ac6a5Smrg		os=-hpux
6001f0ac6a5Smrg		;;
6011f0ac6a5Smrg	hp3k9[0-9][0-9] | hp9[0-9][0-9])
6021f0ac6a5Smrg		basic_machine=hppa1.0-hp
6031f0ac6a5Smrg		;;
6041f0ac6a5Smrg	hp9k2[0-9][0-9] | hp9k31[0-9])
6051f0ac6a5Smrg		basic_machine=m68000-hp
6061f0ac6a5Smrg		;;
6071f0ac6a5Smrg	hp9k3[2-9][0-9])
6081f0ac6a5Smrg		basic_machine=m68k-hp
6091f0ac6a5Smrg		;;
6101f0ac6a5Smrg	hp9k6[0-9][0-9] | hp6[0-9][0-9])
6111f0ac6a5Smrg		basic_machine=hppa1.0-hp
6121f0ac6a5Smrg		;;
6131f0ac6a5Smrg	hp9k7[0-79][0-9] | hp7[0-79][0-9])
6141f0ac6a5Smrg		basic_machine=hppa1.1-hp
6151f0ac6a5Smrg		;;
6161f0ac6a5Smrg	hp9k78[0-9] | hp78[0-9])
6171f0ac6a5Smrg		# FIXME: really hppa2.0-hp
6181f0ac6a5Smrg		basic_machine=hppa1.1-hp
6191f0ac6a5Smrg		;;
6201f0ac6a5Smrg	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
6211f0ac6a5Smrg		# FIXME: really hppa2.0-hp
6221f0ac6a5Smrg		basic_machine=hppa1.1-hp
6231f0ac6a5Smrg		;;
6241f0ac6a5Smrg	hp9k8[0-9][13679] | hp8[0-9][13679])
6251f0ac6a5Smrg		basic_machine=hppa1.1-hp
6261f0ac6a5Smrg		;;
6271f0ac6a5Smrg	hp9k8[0-9][0-9] | hp8[0-9][0-9])
6281f0ac6a5Smrg		basic_machine=hppa1.0-hp
6291f0ac6a5Smrg		;;
6301f0ac6a5Smrg	hppa-next)
6311f0ac6a5Smrg		os=-nextstep3
6321f0ac6a5Smrg		;;
6331f0ac6a5Smrg	hppaosf)
6341f0ac6a5Smrg		basic_machine=hppa1.1-hp
6351f0ac6a5Smrg		os=-osf
6361f0ac6a5Smrg		;;
6371f0ac6a5Smrg	hppro)
6381f0ac6a5Smrg		basic_machine=hppa1.1-hp
6391f0ac6a5Smrg		os=-proelf
6401f0ac6a5Smrg		;;
6411f0ac6a5Smrg	i370-ibm* | ibm*)
6421f0ac6a5Smrg		basic_machine=i370-ibm
6431f0ac6a5Smrg		;;
6441f0ac6a5Smrg# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
6451f0ac6a5Smrg	i*86v32)
6461f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6471f0ac6a5Smrg		os=-sysv32
6481f0ac6a5Smrg		;;
6491f0ac6a5Smrg	i*86v4*)
6501f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6511f0ac6a5Smrg		os=-sysv4
6521f0ac6a5Smrg		;;
6531f0ac6a5Smrg	i*86v)
6541f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6551f0ac6a5Smrg		os=-sysv
6561f0ac6a5Smrg		;;
6571f0ac6a5Smrg	i*86sol2)
6581f0ac6a5Smrg		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
6591f0ac6a5Smrg		os=-solaris2
6601f0ac6a5Smrg		;;
6611f0ac6a5Smrg	i386mach)
6621f0ac6a5Smrg		basic_machine=i386-mach
6631f0ac6a5Smrg		os=-mach
6641f0ac6a5Smrg		;;
6651f0ac6a5Smrg	i386-vsta | vsta)
6661f0ac6a5Smrg		basic_machine=i386-unknown
6671f0ac6a5Smrg		os=-vsta
6681f0ac6a5Smrg		;;
6691f0ac6a5Smrg	iris | iris4d)
6701f0ac6a5Smrg		basic_machine=mips-sgi
6711f0ac6a5Smrg		case $os in
6721f0ac6a5Smrg		    -irix*)
6731f0ac6a5Smrg			;;
6741f0ac6a5Smrg		    *)
6751f0ac6a5Smrg			os=-irix4
6761f0ac6a5Smrg			;;
6771f0ac6a5Smrg		esac
6781f0ac6a5Smrg		;;
6791f0ac6a5Smrg	isi68 | isi)
6801f0ac6a5Smrg		basic_machine=m68k-isi
6811f0ac6a5Smrg		os=-sysv
6821f0ac6a5Smrg		;;
683e5410a46Smrg	m68knommu)
684e5410a46Smrg		basic_machine=m68k-unknown
685e5410a46Smrg		os=-linux
686e5410a46Smrg		;;
687e5410a46Smrg	m68knommu-*)
688e5410a46Smrg		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
689e5410a46Smrg		os=-linux
690e5410a46Smrg		;;
6911f0ac6a5Smrg	m88k-omron*)
6921f0ac6a5Smrg		basic_machine=m88k-omron
6931f0ac6a5Smrg		;;
6941f0ac6a5Smrg	magnum | m3230)
6951f0ac6a5Smrg		basic_machine=mips-mips
6961f0ac6a5Smrg		os=-sysv
6971f0ac6a5Smrg		;;
6981f0ac6a5Smrg	merlin)
6991f0ac6a5Smrg		basic_machine=ns32k-utek
7001f0ac6a5Smrg		os=-sysv
7011f0ac6a5Smrg		;;
7021f0ac6a5Smrg	mingw32)
7031f0ac6a5Smrg		basic_machine=i386-pc
7041f0ac6a5Smrg		os=-mingw32
7051f0ac6a5Smrg		;;
706e5410a46Smrg	mingw32ce)
707e5410a46Smrg		basic_machine=arm-unknown
708e5410a46Smrg		os=-mingw32ce
709e5410a46Smrg		;;
7101f0ac6a5Smrg	miniframe)
7111f0ac6a5Smrg		basic_machine=m68000-convergent
7121f0ac6a5Smrg		;;
7131f0ac6a5Smrg	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
7141f0ac6a5Smrg		basic_machine=m68k-atari
7151f0ac6a5Smrg		os=-mint
7161f0ac6a5Smrg		;;
7171f0ac6a5Smrg	mips3*-*)
7181f0ac6a5Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
7191f0ac6a5Smrg		;;
7201f0ac6a5Smrg	mips3*)
7211f0ac6a5Smrg		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
7221f0ac6a5Smrg		;;
7231f0ac6a5Smrg	monitor)
7241f0ac6a5Smrg		basic_machine=m68k-rom68k
7251f0ac6a5Smrg		os=-coff
7261f0ac6a5Smrg		;;
7271f0ac6a5Smrg	morphos)
7281f0ac6a5Smrg		basic_machine=powerpc-unknown
7291f0ac6a5Smrg		os=-morphos
7301f0ac6a5Smrg		;;
7311f0ac6a5Smrg	msdos)
7321f0ac6a5Smrg		basic_machine=i386-pc
7331f0ac6a5Smrg		os=-msdos
7341f0ac6a5Smrg		;;
735e5410a46Smrg	ms1-*)
736e5410a46Smrg		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737e5410a46Smrg		;;
7381f0ac6a5Smrg	mvs)
7391f0ac6a5Smrg		basic_machine=i370-ibm
7401f0ac6a5Smrg		os=-mvs
7411f0ac6a5Smrg		;;
7421f0ac6a5Smrg	ncr3000)
7431f0ac6a5Smrg		basic_machine=i486-ncr
7441f0ac6a5Smrg		os=-sysv4
7451f0ac6a5Smrg		;;
7461f0ac6a5Smrg	netbsd386)
7471f0ac6a5Smrg		basic_machine=i386-unknown
7481f0ac6a5Smrg		os=-netbsd
7491f0ac6a5Smrg		;;
7501f0ac6a5Smrg	netwinder)
7511f0ac6a5Smrg		basic_machine=armv4l-rebel
7521f0ac6a5Smrg		os=-linux
7531f0ac6a5Smrg		;;
7541f0ac6a5Smrg	news | news700 | news800 | news900)
7551f0ac6a5Smrg		basic_machine=m68k-sony
7561f0ac6a5Smrg		os=-newsos
7571f0ac6a5Smrg		;;
7581f0ac6a5Smrg	news1000)
7591f0ac6a5Smrg		basic_machine=m68030-sony
7601f0ac6a5Smrg		os=-newsos
7611f0ac6a5Smrg		;;
7621f0ac6a5Smrg	news-3600 | risc-news)
7631f0ac6a5Smrg		basic_machine=mips-sony
7641f0ac6a5Smrg		os=-newsos
7651f0ac6a5Smrg		;;
7661f0ac6a5Smrg	necv70)
7671f0ac6a5Smrg		basic_machine=v70-nec
7681f0ac6a5Smrg		os=-sysv
7691f0ac6a5Smrg		;;
7701f0ac6a5Smrg	next | m*-next )
7711f0ac6a5Smrg		basic_machine=m68k-next
7721f0ac6a5Smrg		case $os in
7731f0ac6a5Smrg		    -nextstep* )
7741f0ac6a5Smrg			;;
7751f0ac6a5Smrg		    -ns2*)
7761f0ac6a5Smrg		      os=-nextstep2
7771f0ac6a5Smrg			;;
7781f0ac6a5Smrg		    *)
7791f0ac6a5Smrg		      os=-nextstep3
7801f0ac6a5Smrg			;;
7811f0ac6a5Smrg		esac
7821f0ac6a5Smrg		;;
7831f0ac6a5Smrg	nh3000)
7841f0ac6a5Smrg		basic_machine=m68k-harris
7851f0ac6a5Smrg		os=-cxux
7861f0ac6a5Smrg		;;
7871f0ac6a5Smrg	nh[45]000)
7881f0ac6a5Smrg		basic_machine=m88k-harris
7891f0ac6a5Smrg		os=-cxux
7901f0ac6a5Smrg		;;
7911f0ac6a5Smrg	nindy960)
7921f0ac6a5Smrg		basic_machine=i960-intel
7931f0ac6a5Smrg		os=-nindy
7941f0ac6a5Smrg		;;
7951f0ac6a5Smrg	mon960)
7961f0ac6a5Smrg		basic_machine=i960-intel
7971f0ac6a5Smrg		os=-mon960
7981f0ac6a5Smrg		;;
7991f0ac6a5Smrg	nonstopux)
8001f0ac6a5Smrg		basic_machine=mips-compaq
8011f0ac6a5Smrg		os=-nonstopux
8021f0ac6a5Smrg		;;
8031f0ac6a5Smrg	np1)
8041f0ac6a5Smrg		basic_machine=np1-gould
8051f0ac6a5Smrg		;;
8061f0ac6a5Smrg	nsr-tandem)
8071f0ac6a5Smrg		basic_machine=nsr-tandem
8081f0ac6a5Smrg		;;
8091f0ac6a5Smrg	op50n-* | op60c-*)
8101f0ac6a5Smrg		basic_machine=hppa1.1-oki
8111f0ac6a5Smrg		os=-proelf
8121f0ac6a5Smrg		;;
813e5410a46Smrg	openrisc | openrisc-*)
8141f0ac6a5Smrg		basic_machine=or32-unknown
815e5410a46Smrg		;;
816e5410a46Smrg	os400)
817e5410a46Smrg		basic_machine=powerpc-ibm
818e5410a46Smrg		os=-os400
8191f0ac6a5Smrg		;;
8201f0ac6a5Smrg	OSE68000 | ose68000)
8211f0ac6a5Smrg		basic_machine=m68000-ericsson
8221f0ac6a5Smrg		os=-ose
8231f0ac6a5Smrg		;;
8241f0ac6a5Smrg	os68k)
8251f0ac6a5Smrg		basic_machine=m68k-none
8261f0ac6a5Smrg		os=-os68k
8271f0ac6a5Smrg		;;
8281f0ac6a5Smrg	pa-hitachi)
8291f0ac6a5Smrg		basic_machine=hppa1.1-hitachi
8301f0ac6a5Smrg		os=-hiuxwe2
8311f0ac6a5Smrg		;;
8321f0ac6a5Smrg	paragon)
8331f0ac6a5Smrg		basic_machine=i860-intel
8341f0ac6a5Smrg		os=-osf
8351f0ac6a5Smrg		;;
836e5410a46Smrg	parisc)
837e5410a46Smrg		basic_machine=hppa-unknown
838e5410a46Smrg		os=-linux
839e5410a46Smrg		;;
840e5410a46Smrg	parisc-*)
841e5410a46Smrg		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
842e5410a46Smrg		os=-linux
843e5410a46Smrg		;;
8441f0ac6a5Smrg	pbd)
8451f0ac6a5Smrg		basic_machine=sparc-tti
8461f0ac6a5Smrg		;;
8471f0ac6a5Smrg	pbb)
8481f0ac6a5Smrg		basic_machine=m68k-tti
8491f0ac6a5Smrg		;;
8501f0ac6a5Smrg	pc532 | pc532-*)
8511f0ac6a5Smrg		basic_machine=ns32k-pc532
8521f0ac6a5Smrg		;;
853e5410a46Smrg	pc98)
854e5410a46Smrg		basic_machine=i386-pc
855e5410a46Smrg		;;
856e5410a46Smrg	pc98-*)
857e5410a46Smrg		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
858e5410a46Smrg		;;
8591f0ac6a5Smrg	pentium | p5 | k5 | k6 | nexgen | viac3)
8601f0ac6a5Smrg		basic_machine=i586-pc
8611f0ac6a5Smrg		;;
8621f0ac6a5Smrg	pentiumpro | p6 | 6x86 | athlon | athlon_*)
8631f0ac6a5Smrg		basic_machine=i686-pc
8641f0ac6a5Smrg		;;
8651f0ac6a5Smrg	pentiumii | pentium2 | pentiumiii | pentium3)
8661f0ac6a5Smrg		basic_machine=i686-pc
8671f0ac6a5Smrg		;;
8681f0ac6a5Smrg	pentium4)
8691f0ac6a5Smrg		basic_machine=i786-pc
8701f0ac6a5Smrg		;;
8711f0ac6a5Smrg	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
8721f0ac6a5Smrg		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
8731f0ac6a5Smrg		;;
8741f0ac6a5Smrg	pentiumpro-* | p6-* | 6x86-* | athlon-*)
8751f0ac6a5Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8761f0ac6a5Smrg		;;
8771f0ac6a5Smrg	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
8781f0ac6a5Smrg		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
8791f0ac6a5Smrg		;;
8801f0ac6a5Smrg	pentium4-*)
8811f0ac6a5Smrg		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
8821f0ac6a5Smrg		;;
8831f0ac6a5Smrg	pn)
8841f0ac6a5Smrg		basic_machine=pn-gould
8851f0ac6a5Smrg		;;
8861f0ac6a5Smrg	power)	basic_machine=power-ibm
8871f0ac6a5Smrg		;;
8881f0ac6a5Smrg	ppc)	basic_machine=powerpc-unknown
8891f0ac6a5Smrg		;;
8901f0ac6a5Smrg	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
8911f0ac6a5Smrg		;;
8921f0ac6a5Smrg	ppcle | powerpclittle | ppc-le | powerpc-little)
8931f0ac6a5Smrg		basic_machine=powerpcle-unknown
8941f0ac6a5Smrg		;;
8951f0ac6a5Smrg	ppcle-* | powerpclittle-*)
8961f0ac6a5Smrg		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
8971f0ac6a5Smrg		;;
8981f0ac6a5Smrg	ppc64)	basic_machine=powerpc64-unknown
8991f0ac6a5Smrg		;;
9001f0ac6a5Smrg	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
9011f0ac6a5Smrg		;;
9021f0ac6a5Smrg	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
9031f0ac6a5Smrg		basic_machine=powerpc64le-unknown
9041f0ac6a5Smrg		;;
9051f0ac6a5Smrg	ppc64le-* | powerpc64little-*)
9061f0ac6a5Smrg		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
9071f0ac6a5Smrg		;;
9081f0ac6a5Smrg	ps2)
9091f0ac6a5Smrg		basic_machine=i386-ibm
9101f0ac6a5Smrg		;;
9111f0ac6a5Smrg	pw32)
9121f0ac6a5Smrg		basic_machine=i586-unknown
9131f0ac6a5Smrg		os=-pw32
9141f0ac6a5Smrg		;;
915e5410a46Smrg	rdos)
916e5410a46Smrg		basic_machine=i386-pc
917e5410a46Smrg		os=-rdos
918e5410a46Smrg		;;
9191f0ac6a5Smrg	rom68k)
9201f0ac6a5Smrg		basic_machine=m68k-rom68k
9211f0ac6a5Smrg		os=-coff
9221f0ac6a5Smrg		;;
9231f0ac6a5Smrg	rm[46]00)
9241f0ac6a5Smrg		basic_machine=mips-siemens
9251f0ac6a5Smrg		;;
9261f0ac6a5Smrg	rtpc | rtpc-*)
9271f0ac6a5Smrg		basic_machine=romp-ibm
9281f0ac6a5Smrg		;;
9291f0ac6a5Smrg	s390 | s390-*)
9301f0ac6a5Smrg		basic_machine=s390-ibm
9311f0ac6a5Smrg		;;
9321f0ac6a5Smrg	s390x | s390x-*)
9331f0ac6a5Smrg		basic_machine=s390x-ibm
9341f0ac6a5Smrg		;;
9351f0ac6a5Smrg	sa29200)
9361f0ac6a5Smrg		basic_machine=a29k-amd
9371f0ac6a5Smrg		os=-udi
9381f0ac6a5Smrg		;;
9391f0ac6a5Smrg	sb1)
9401f0ac6a5Smrg		basic_machine=mipsisa64sb1-unknown
9411f0ac6a5Smrg		;;
9421f0ac6a5Smrg	sb1el)
9431f0ac6a5Smrg		basic_machine=mipsisa64sb1el-unknown
9441f0ac6a5Smrg		;;
945e5410a46Smrg	sde)
946e5410a46Smrg		basic_machine=mipsisa32-sde
947e5410a46Smrg		os=-elf
948e5410a46Smrg		;;
9491f0ac6a5Smrg	sei)
9501f0ac6a5Smrg		basic_machine=mips-sei
9511f0ac6a5Smrg		os=-seiux
9521f0ac6a5Smrg		;;
9531f0ac6a5Smrg	sequent)
9541f0ac6a5Smrg		basic_machine=i386-sequent
9551f0ac6a5Smrg		;;
9561f0ac6a5Smrg	sh)
9571f0ac6a5Smrg		basic_machine=sh-hitachi
9581f0ac6a5Smrg		os=-hms
9591f0ac6a5Smrg		;;
960e5410a46Smrg	sh5el)
961e5410a46Smrg		basic_machine=sh5le-unknown
962e5410a46Smrg		;;
9631f0ac6a5Smrg	sh64)
9641f0ac6a5Smrg		basic_machine=sh64-unknown
9651f0ac6a5Smrg		;;
9661f0ac6a5Smrg	sparclite-wrs | simso-wrs)
9671f0ac6a5Smrg		basic_machine=sparclite-wrs
9681f0ac6a5Smrg		os=-vxworks
9691f0ac6a5Smrg		;;
9701f0ac6a5Smrg	sps7)
9711f0ac6a5Smrg		basic_machine=m68k-bull
9721f0ac6a5Smrg		os=-sysv2
9731f0ac6a5Smrg		;;
9741f0ac6a5Smrg	spur)
9751f0ac6a5Smrg		basic_machine=spur-unknown
9761f0ac6a5Smrg		;;
9771f0ac6a5Smrg	st2000)
9781f0ac6a5Smrg		basic_machine=m68k-tandem
9791f0ac6a5Smrg		;;
9801f0ac6a5Smrg	stratus)
9811f0ac6a5Smrg		basic_machine=i860-stratus
9821f0ac6a5Smrg		os=-sysv4
9831f0ac6a5Smrg		;;
9841f0ac6a5Smrg	sun2)
9851f0ac6a5Smrg		basic_machine=m68000-sun
9861f0ac6a5Smrg		;;
9871f0ac6a5Smrg	sun2os3)
9881f0ac6a5Smrg		basic_machine=m68000-sun
9891f0ac6a5Smrg		os=-sunos3
9901f0ac6a5Smrg		;;
9911f0ac6a5Smrg	sun2os4)
9921f0ac6a5Smrg		basic_machine=m68000-sun
9931f0ac6a5Smrg		os=-sunos4
9941f0ac6a5Smrg		;;
9951f0ac6a5Smrg	sun3os3)
9961f0ac6a5Smrg		basic_machine=m68k-sun
9971f0ac6a5Smrg		os=-sunos3
9981f0ac6a5Smrg		;;
9991f0ac6a5Smrg	sun3os4)
10001f0ac6a5Smrg		basic_machine=m68k-sun
10011f0ac6a5Smrg		os=-sunos4
10021f0ac6a5Smrg		;;
10031f0ac6a5Smrg	sun4os3)
10041f0ac6a5Smrg		basic_machine=sparc-sun
10051f0ac6a5Smrg		os=-sunos3
10061f0ac6a5Smrg		;;
10071f0ac6a5Smrg	sun4os4)
10081f0ac6a5Smrg		basic_machine=sparc-sun
10091f0ac6a5Smrg		os=-sunos4
10101f0ac6a5Smrg		;;
10111f0ac6a5Smrg	sun4sol2)
10121f0ac6a5Smrg		basic_machine=sparc-sun
10131f0ac6a5Smrg		os=-solaris2
10141f0ac6a5Smrg		;;
10151f0ac6a5Smrg	sun3 | sun3-*)
10161f0ac6a5Smrg		basic_machine=m68k-sun
10171f0ac6a5Smrg		;;
10181f0ac6a5Smrg	sun4)
10191f0ac6a5Smrg		basic_machine=sparc-sun
10201f0ac6a5Smrg		;;
10211f0ac6a5Smrg	sun386 | sun386i | roadrunner)
10221f0ac6a5Smrg		basic_machine=i386-sun
10231f0ac6a5Smrg		;;
10241f0ac6a5Smrg	sv1)
10251f0ac6a5Smrg		basic_machine=sv1-cray
10261f0ac6a5Smrg		os=-unicos
10271f0ac6a5Smrg		;;
10281f0ac6a5Smrg	symmetry)
10291f0ac6a5Smrg		basic_machine=i386-sequent
10301f0ac6a5Smrg		os=-dynix
10311f0ac6a5Smrg		;;
10321f0ac6a5Smrg	t3e)
10331f0ac6a5Smrg		basic_machine=alphaev5-cray
10341f0ac6a5Smrg		os=-unicos
10351f0ac6a5Smrg		;;
10361f0ac6a5Smrg	t90)
10371f0ac6a5Smrg		basic_machine=t90-cray
10381f0ac6a5Smrg		os=-unicos
10391f0ac6a5Smrg		;;
10401f0ac6a5Smrg	tic54x | c54x*)
10411f0ac6a5Smrg		basic_machine=tic54x-unknown
10421f0ac6a5Smrg		os=-coff
10431f0ac6a5Smrg		;;
10441f0ac6a5Smrg	tic55x | c55x*)
10451f0ac6a5Smrg		basic_machine=tic55x-unknown
10461f0ac6a5Smrg		os=-coff
10471f0ac6a5Smrg		;;
10481f0ac6a5Smrg	tic6x | c6x*)
10491f0ac6a5Smrg		basic_machine=tic6x-unknown
10501f0ac6a5Smrg		os=-coff
10511f0ac6a5Smrg		;;
1052e5410a46Smrg	tile*)
1053e5410a46Smrg		basic_machine=tile-unknown
1054e5410a46Smrg		os=-linux-gnu
1055e5410a46Smrg		;;
10561f0ac6a5Smrg	tx39)
10571f0ac6a5Smrg		basic_machine=mipstx39-unknown
10581f0ac6a5Smrg		;;
10591f0ac6a5Smrg	tx39el)
10601f0ac6a5Smrg		basic_machine=mipstx39el-unknown
10611f0ac6a5Smrg		;;
10621f0ac6a5Smrg	toad1)
10631f0ac6a5Smrg		basic_machine=pdp10-xkl
10641f0ac6a5Smrg		os=-tops20
10651f0ac6a5Smrg		;;
10661f0ac6a5Smrg	tower | tower-32)
10671f0ac6a5Smrg		basic_machine=m68k-ncr
10681f0ac6a5Smrg		;;
1069e5410a46Smrg	tpf)
1070e5410a46Smrg		basic_machine=s390x-ibm
1071e5410a46Smrg		os=-tpf
1072e5410a46Smrg		;;
10731f0ac6a5Smrg	udi29k)
10741f0ac6a5Smrg		basic_machine=a29k-amd
10751f0ac6a5Smrg		os=-udi
10761f0ac6a5Smrg		;;
10771f0ac6a5Smrg	ultra3)
10781f0ac6a5Smrg		basic_machine=a29k-nyu
10791f0ac6a5Smrg		os=-sym1
10801f0ac6a5Smrg		;;
10811f0ac6a5Smrg	v810 | necv810)
10821f0ac6a5Smrg		basic_machine=v810-nec
10831f0ac6a5Smrg		os=-none
10841f0ac6a5Smrg		;;
10851f0ac6a5Smrg	vaxv)
10861f0ac6a5Smrg		basic_machine=vax-dec
10871f0ac6a5Smrg		os=-sysv
10881f0ac6a5Smrg		;;
10891f0ac6a5Smrg	vms)
10901f0ac6a5Smrg		basic_machine=vax-dec
10911f0ac6a5Smrg		os=-vms
10921f0ac6a5Smrg		;;
10931f0ac6a5Smrg	vpp*|vx|vx-*)
10941f0ac6a5Smrg		basic_machine=f301-fujitsu
10951f0ac6a5Smrg		;;
10961f0ac6a5Smrg	vxworks960)
10971f0ac6a5Smrg		basic_machine=i960-wrs
10981f0ac6a5Smrg		os=-vxworks
10991f0ac6a5Smrg		;;
11001f0ac6a5Smrg	vxworks68)
11011f0ac6a5Smrg		basic_machine=m68k-wrs
11021f0ac6a5Smrg		os=-vxworks
11031f0ac6a5Smrg		;;
11041f0ac6a5Smrg	vxworks29k)
11051f0ac6a5Smrg		basic_machine=a29k-wrs
11061f0ac6a5Smrg		os=-vxworks
11071f0ac6a5Smrg		;;
11081f0ac6a5Smrg	w65*)
11091f0ac6a5Smrg		basic_machine=w65-wdc
11101f0ac6a5Smrg		os=-none
11111f0ac6a5Smrg		;;
11121f0ac6a5Smrg	w89k-*)
11131f0ac6a5Smrg		basic_machine=hppa1.1-winbond
11141f0ac6a5Smrg		os=-proelf
11151f0ac6a5Smrg		;;
1116e5410a46Smrg	xbox)
1117e5410a46Smrg		basic_machine=i686-pc
1118e5410a46Smrg		os=-mingw32
1119e5410a46Smrg		;;
11201f0ac6a5Smrg	xps | xps100)
11211f0ac6a5Smrg		basic_machine=xps100-honeywell
11221f0ac6a5Smrg		;;
11231f0ac6a5Smrg	ymp)
11241f0ac6a5Smrg		basic_machine=ymp-cray
11251f0ac6a5Smrg		os=-unicos
11261f0ac6a5Smrg		;;
11271f0ac6a5Smrg	z8k-*-coff)
11281f0ac6a5Smrg		basic_machine=z8k-unknown
11291f0ac6a5Smrg		os=-sim
11301f0ac6a5Smrg		;;
11311f0ac6a5Smrg	none)
11321f0ac6a5Smrg		basic_machine=none-none
11331f0ac6a5Smrg		os=-none
11341f0ac6a5Smrg		;;
11351f0ac6a5Smrg
11361f0ac6a5Smrg# Here we handle the default manufacturer of certain CPU types.  It is in
11371f0ac6a5Smrg# some cases the only manufacturer, in others, it is the most popular.
11381f0ac6a5Smrg	w89k)
11391f0ac6a5Smrg		basic_machine=hppa1.1-winbond
11401f0ac6a5Smrg		;;
11411f0ac6a5Smrg	op50n)
11421f0ac6a5Smrg		basic_machine=hppa1.1-oki
11431f0ac6a5Smrg		;;
11441f0ac6a5Smrg	op60c)
11451f0ac6a5Smrg		basic_machine=hppa1.1-oki
11461f0ac6a5Smrg		;;
11471f0ac6a5Smrg	romp)
11481f0ac6a5Smrg		basic_machine=romp-ibm
11491f0ac6a5Smrg		;;
1150e5410a46Smrg	mmix)
1151e5410a46Smrg		basic_machine=mmix-knuth
1152e5410a46Smrg		;;
11531f0ac6a5Smrg	rs6000)
11541f0ac6a5Smrg		basic_machine=rs6000-ibm
11551f0ac6a5Smrg		;;
11561f0ac6a5Smrg	vax)
11571f0ac6a5Smrg		basic_machine=vax-dec
11581f0ac6a5Smrg		;;
11591f0ac6a5Smrg	pdp10)
11601f0ac6a5Smrg		# there are many clones, so DEC is not a safe bet
11611f0ac6a5Smrg		basic_machine=pdp10-unknown
11621f0ac6a5Smrg		;;
11631f0ac6a5Smrg	pdp11)
11641f0ac6a5Smrg		basic_machine=pdp11-dec
11651f0ac6a5Smrg		;;
11661f0ac6a5Smrg	we32k)
11671f0ac6a5Smrg		basic_machine=we32k-att
11681f0ac6a5Smrg		;;
1169e5410a46Smrg	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
11701f0ac6a5Smrg		basic_machine=sh-unknown
11711f0ac6a5Smrg		;;
1172e5410a46Smrg	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
11731f0ac6a5Smrg		basic_machine=sparc-sun
11741f0ac6a5Smrg		;;
11751f0ac6a5Smrg	cydra)
11761f0ac6a5Smrg		basic_machine=cydra-cydrome
11771f0ac6a5Smrg		;;
11781f0ac6a5Smrg	orion)
11791f0ac6a5Smrg		basic_machine=orion-highlevel
11801f0ac6a5Smrg		;;
11811f0ac6a5Smrg	orion105)
11821f0ac6a5Smrg		basic_machine=clipper-highlevel
11831f0ac6a5Smrg		;;
11841f0ac6a5Smrg	mac | mpw | mac-mpw)
11851f0ac6a5Smrg		basic_machine=m68k-apple
11861f0ac6a5Smrg		;;
11871f0ac6a5Smrg	pmac | pmac-mpw)
11881f0ac6a5Smrg		basic_machine=powerpc-apple
11891f0ac6a5Smrg		;;
11901f0ac6a5Smrg	*-unknown)
11911f0ac6a5Smrg		# Make sure to match an already-canonicalized machine name.
11921f0ac6a5Smrg		;;
11931f0ac6a5Smrg	*)
11941f0ac6a5Smrg		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
11951f0ac6a5Smrg		exit 1
11961f0ac6a5Smrg		;;
11971f0ac6a5Smrgesac
11981f0ac6a5Smrg
11991f0ac6a5Smrg# Here we canonicalize certain aliases for manufacturers.
12001f0ac6a5Smrgcase $basic_machine in
12011f0ac6a5Smrg	*-digital*)
12021f0ac6a5Smrg		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
12031f0ac6a5Smrg		;;
12041f0ac6a5Smrg	*-commodore*)
12051f0ac6a5Smrg		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
12061f0ac6a5Smrg		;;
12071f0ac6a5Smrg	*)
12081f0ac6a5Smrg		;;
12091f0ac6a5Smrgesac
12101f0ac6a5Smrg
12111f0ac6a5Smrg# Decode manufacturer-specific aliases for certain operating systems.
12121f0ac6a5Smrg
12131f0ac6a5Smrgif [ x"$os" != x"" ]
12141f0ac6a5Smrgthen
12151f0ac6a5Smrgcase $os in
12161f0ac6a5Smrg        # First match some system type aliases
12171f0ac6a5Smrg        # that might get confused with valid system types.
12181f0ac6a5Smrg	# -solaris* is a basic system type, with this one exception.
12191f0ac6a5Smrg	-solaris1 | -solaris1.*)
12201f0ac6a5Smrg		os=`echo $os | sed -e 's|solaris1|sunos4|'`
12211f0ac6a5Smrg		;;
12221f0ac6a5Smrg	-solaris)
12231f0ac6a5Smrg		os=-solaris2
12241f0ac6a5Smrg		;;
12251f0ac6a5Smrg	-svr4*)
12261f0ac6a5Smrg		os=-sysv4
12271f0ac6a5Smrg		;;
12281f0ac6a5Smrg	-unixware*)
12291f0ac6a5Smrg		os=-sysv4.2uw
12301f0ac6a5Smrg		;;
12311f0ac6a5Smrg	-gnu/linux*)
12321f0ac6a5Smrg		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
12331f0ac6a5Smrg		;;
12341f0ac6a5Smrg	# First accept the basic system types.
12351f0ac6a5Smrg	# The portable systems comes first.
12361f0ac6a5Smrg	# Each alternative MUST END IN A *, to match a version number.
12371f0ac6a5Smrg	# -sysv* is not here because it comes later, after sysvr4.
12381f0ac6a5Smrg	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
12391f0ac6a5Smrg	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
12401f0ac6a5Smrg	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
12411f0ac6a5Smrg	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
12421f0ac6a5Smrg	      | -aos* \
12431f0ac6a5Smrg	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
12441f0ac6a5Smrg	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1245e5410a46Smrg	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246e5410a46Smrg	      | -openbsd* | -solidbsd* \
1247e5410a46Smrg	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1248e5410a46Smrg	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
12491f0ac6a5Smrg	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
12501f0ac6a5Smrg	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
12511f0ac6a5Smrg	      | -chorusos* | -chorusrdb* \
12521f0ac6a5Smrg	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1253e5410a46Smrg	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254e5410a46Smrg	      | -uxpv* | -beos* | -mpeix* | -udk* \
12551f0ac6a5Smrg	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
12561f0ac6a5Smrg	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
12571f0ac6a5Smrg	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
12581f0ac6a5Smrg	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
12591f0ac6a5Smrg	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1260e5410a46Smrg	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261e5410a46Smrg	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
12621f0ac6a5Smrg	# Remember, each alternative MUST END IN *, to match a version number.
12631f0ac6a5Smrg		;;
12641f0ac6a5Smrg	-qnx*)
12651f0ac6a5Smrg		case $basic_machine in
12661f0ac6a5Smrg		    x86-* | i*86-*)
12671f0ac6a5Smrg			;;
12681f0ac6a5Smrg		    *)
12691f0ac6a5Smrg			os=-nto$os
12701f0ac6a5Smrg			;;
12711f0ac6a5Smrg		esac
12721f0ac6a5Smrg		;;
12731f0ac6a5Smrg	-nto-qnx*)
12741f0ac6a5Smrg		;;
12751f0ac6a5Smrg	-nto*)
12761f0ac6a5Smrg		os=`echo $os | sed -e 's|nto|nto-qnx|'`
12771f0ac6a5Smrg		;;
12781f0ac6a5Smrg	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
1279e5410a46Smrg	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
12801f0ac6a5Smrg	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
12811f0ac6a5Smrg		;;
12821f0ac6a5Smrg	-mac*)
12831f0ac6a5Smrg		os=`echo $os | sed -e 's|mac|macos|'`
12841f0ac6a5Smrg		;;
1285e5410a46Smrg	-linux-dietlibc)
1286e5410a46Smrg		os=-linux-dietlibc
1287e5410a46Smrg		;;
12881f0ac6a5Smrg	-linux*)
12891f0ac6a5Smrg		os=`echo $os | sed -e 's|linux|linux-gnu|'`
12901f0ac6a5Smrg		;;
12911f0ac6a5Smrg	-sunos5*)
12921f0ac6a5Smrg		os=`echo $os | sed -e 's|sunos5|solaris2|'`
12931f0ac6a5Smrg		;;
12941f0ac6a5Smrg	-sunos6*)
12951f0ac6a5Smrg		os=`echo $os | sed -e 's|sunos6|solaris3|'`
12961f0ac6a5Smrg		;;
12971f0ac6a5Smrg	-opened*)
12981f0ac6a5Smrg		os=-openedition
12991f0ac6a5Smrg		;;
1300e5410a46Smrg        -os400*)
1301e5410a46Smrg		os=-os400
1302e5410a46Smrg		;;
13031f0ac6a5Smrg	-wince*)
13041f0ac6a5Smrg		os=-wince
13051f0ac6a5Smrg		;;
13061f0ac6a5Smrg	-osfrose*)
13071f0ac6a5Smrg		os=-osfrose
13081f0ac6a5Smrg		;;
13091f0ac6a5Smrg	-osf*)
13101f0ac6a5Smrg		os=-osf
13111f0ac6a5Smrg		;;
13121f0ac6a5Smrg	-utek*)
13131f0ac6a5Smrg		os=-bsd
13141f0ac6a5Smrg		;;
13151f0ac6a5Smrg	-dynix*)
13161f0ac6a5Smrg		os=-bsd
13171f0ac6a5Smrg		;;
13181f0ac6a5Smrg	-acis*)
13191f0ac6a5Smrg		os=-aos
13201f0ac6a5Smrg		;;
13211f0ac6a5Smrg	-atheos*)
13221f0ac6a5Smrg		os=-atheos
13231f0ac6a5Smrg		;;
1324e5410a46Smrg	-syllable*)
1325e5410a46Smrg		os=-syllable
1326e5410a46Smrg		;;
13271f0ac6a5Smrg	-386bsd)
13281f0ac6a5Smrg		os=-bsd
13291f0ac6a5Smrg		;;
13301f0ac6a5Smrg	-ctix* | -uts*)
13311f0ac6a5Smrg		os=-sysv
13321f0ac6a5Smrg		;;
13331f0ac6a5Smrg	-nova*)
13341f0ac6a5Smrg		os=-rtmk-nova
13351f0ac6a5Smrg		;;
13361f0ac6a5Smrg	-ns2 )
13371f0ac6a5Smrg		os=-nextstep2
13381f0ac6a5Smrg		;;
13391f0ac6a5Smrg	-nsk*)
13401f0ac6a5Smrg		os=-nsk
13411f0ac6a5Smrg		;;
13421f0ac6a5Smrg	# Preserve the version number of sinix5.
13431f0ac6a5Smrg	-sinix5.*)
13441f0ac6a5Smrg		os=`echo $os | sed -e 's|sinix|sysv|'`
13451f0ac6a5Smrg		;;
13461f0ac6a5Smrg	-sinix*)
13471f0ac6a5Smrg		os=-sysv4
13481f0ac6a5Smrg		;;
1349e5410a46Smrg        -tpf*)
1350e5410a46Smrg		os=-tpf
1351e5410a46Smrg		;;
13521f0ac6a5Smrg	-triton*)
13531f0ac6a5Smrg		os=-sysv3
13541f0ac6a5Smrg		;;
13551f0ac6a5Smrg	-oss*)
13561f0ac6a5Smrg		os=-sysv3
13571f0ac6a5Smrg		;;
13581f0ac6a5Smrg	-svr4)
13591f0ac6a5Smrg		os=-sysv4
13601f0ac6a5Smrg		;;
13611f0ac6a5Smrg	-svr3)
13621f0ac6a5Smrg		os=-sysv3
13631f0ac6a5Smrg		;;
13641f0ac6a5Smrg	-sysvr4)
13651f0ac6a5Smrg		os=-sysv4
13661f0ac6a5Smrg		;;
13671f0ac6a5Smrg	# This must come after -sysvr4.
13681f0ac6a5Smrg	-sysv*)
13691f0ac6a5Smrg		;;
13701f0ac6a5Smrg	-ose*)
13711f0ac6a5Smrg		os=-ose
13721f0ac6a5Smrg		;;
13731f0ac6a5Smrg	-es1800*)
13741f0ac6a5Smrg		os=-ose
13751f0ac6a5Smrg		;;
13761f0ac6a5Smrg	-xenix)
13771f0ac6a5Smrg		os=-xenix
13781f0ac6a5Smrg		;;
13791f0ac6a5Smrg	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
13801f0ac6a5Smrg		os=-mint
13811f0ac6a5Smrg		;;
13821f0ac6a5Smrg	-aros*)
13831f0ac6a5Smrg		os=-aros
13841f0ac6a5Smrg		;;
13851f0ac6a5Smrg	-kaos*)
13861f0ac6a5Smrg		os=-kaos
13871f0ac6a5Smrg		;;
1388e5410a46Smrg	-zvmoe)
1389e5410a46Smrg		os=-zvmoe
1390e5410a46Smrg		;;
13911f0ac6a5Smrg	-none)
13921f0ac6a5Smrg		;;
13931f0ac6a5Smrg	*)
13941f0ac6a5Smrg		# Get rid of the `-' at the beginning of $os.
13951f0ac6a5Smrg		os=`echo $os | sed 's/[^-]*-//'`
13961f0ac6a5Smrg		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
13971f0ac6a5Smrg		exit 1
13981f0ac6a5Smrg		;;
13991f0ac6a5Smrgesac
14001f0ac6a5Smrgelse
14011f0ac6a5Smrg
14021f0ac6a5Smrg# Here we handle the default operating systems that come with various machines.
14031f0ac6a5Smrg# The value should be what the vendor currently ships out the door with their
14041f0ac6a5Smrg# machine or put another way, the most popular os provided with the machine.
14051f0ac6a5Smrg
14061f0ac6a5Smrg# Note that if you're going to try to match "-MANUFACTURER" here (say,
14071f0ac6a5Smrg# "-sun"), then you have to tell the case statement up towards the top
14081f0ac6a5Smrg# that MANUFACTURER isn't an operating system.  Otherwise, code above
14091f0ac6a5Smrg# will signal an error saying that MANUFACTURER isn't an operating
14101f0ac6a5Smrg# system, and we'll never get to this point.
14111f0ac6a5Smrg
14121f0ac6a5Smrgcase $basic_machine in
1413e5410a46Smrg        score-*)
1414e5410a46Smrg		os=-elf
1415e5410a46Smrg		;;
1416e5410a46Smrg        spu-*)
1417e5410a46Smrg		os=-elf
1418e5410a46Smrg		;;
14191f0ac6a5Smrg	*-acorn)
14201f0ac6a5Smrg		os=-riscix1.2
14211f0ac6a5Smrg		;;
14221f0ac6a5Smrg	arm*-rebel)
14231f0ac6a5Smrg		os=-linux
14241f0ac6a5Smrg		;;
14251f0ac6a5Smrg	arm*-semi)
14261f0ac6a5Smrg		os=-aout
14271f0ac6a5Smrg		;;
1428e5410a46Smrg        c4x-* | tic4x-*)
1429e5410a46Smrg        	os=-coff
1430e5410a46Smrg		;;
14311f0ac6a5Smrg	# This must come before the *-dec entry.
14321f0ac6a5Smrg	pdp10-*)
14331f0ac6a5Smrg		os=-tops20
14341f0ac6a5Smrg		;;
14351f0ac6a5Smrg	pdp11-*)
14361f0ac6a5Smrg		os=-none
14371f0ac6a5Smrg		;;
14381f0ac6a5Smrg	*-dec | vax-*)
14391f0ac6a5Smrg		os=-ultrix4.2
14401f0ac6a5Smrg		;;
14411f0ac6a5Smrg	m68*-apollo)
14421f0ac6a5Smrg		os=-domain
14431f0ac6a5Smrg		;;
14441f0ac6a5Smrg	i386-sun)
14451f0ac6a5Smrg		os=-sunos4.0.2
14461f0ac6a5Smrg		;;
14471f0ac6a5Smrg	m68000-sun)
14481f0ac6a5Smrg		os=-sunos3
14491f0ac6a5Smrg		# This also exists in the configure program, but was not the
14501f0ac6a5Smrg		# default.
14511f0ac6a5Smrg		# os=-sunos4
14521f0ac6a5Smrg		;;
14531f0ac6a5Smrg	m68*-cisco)
14541f0ac6a5Smrg		os=-aout
14551f0ac6a5Smrg		;;
1456e5410a46Smrg        mep-*)
1457e5410a46Smrg		os=-elf
1458e5410a46Smrg		;;
14591f0ac6a5Smrg	mips*-cisco)
14601f0ac6a5Smrg		os=-elf
14611f0ac6a5Smrg		;;
14621f0ac6a5Smrg	mips*-*)
14631f0ac6a5Smrg		os=-elf
14641f0ac6a5Smrg		;;
14651f0ac6a5Smrg	or32-*)
14661f0ac6a5Smrg		os=-coff
14671f0ac6a5Smrg		;;
14681f0ac6a5Smrg	*-tti)	# must be before sparc entry or we get the wrong os.
14691f0ac6a5Smrg		os=-sysv3
14701f0ac6a5Smrg		;;
14711f0ac6a5Smrg	sparc-* | *-sun)
14721f0ac6a5Smrg		os=-sunos4.1.1
14731f0ac6a5Smrg		;;
14741f0ac6a5Smrg	*-be)
14751f0ac6a5Smrg		os=-beos
14761f0ac6a5Smrg		;;
1477e5410a46Smrg	*-haiku)
1478e5410a46Smrg		os=-haiku
1479e5410a46Smrg		;;
14801f0ac6a5Smrg	*-ibm)
14811f0ac6a5Smrg		os=-aix
14821f0ac6a5Smrg		;;
1483e5410a46Smrg    	*-knuth)
1484e5410a46Smrg		os=-mmixware
1485e5410a46Smrg		;;
14861f0ac6a5Smrg	*-wec)
14871f0ac6a5Smrg		os=-proelf
14881f0ac6a5Smrg		;;
14891f0ac6a5Smrg	*-winbond)
14901f0ac6a5Smrg		os=-proelf
14911f0ac6a5Smrg		;;
14921f0ac6a5Smrg	*-oki)
14931f0ac6a5Smrg		os=-proelf
14941f0ac6a5Smrg		;;
14951f0ac6a5Smrg	*-hp)
14961f0ac6a5Smrg		os=-hpux
14971f0ac6a5Smrg		;;
14981f0ac6a5Smrg	*-hitachi)
14991f0ac6a5Smrg		os=-hiux
15001f0ac6a5Smrg		;;
15011f0ac6a5Smrg	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
15021f0ac6a5Smrg		os=-sysv
15031f0ac6a5Smrg		;;
15041f0ac6a5Smrg	*-cbm)
15051f0ac6a5Smrg		os=-amigaos
15061f0ac6a5Smrg		;;
15071f0ac6a5Smrg	*-dg)
15081f0ac6a5Smrg		os=-dgux
15091f0ac6a5Smrg		;;
15101f0ac6a5Smrg	*-dolphin)
15111f0ac6a5Smrg		os=-sysv3
15121f0ac6a5Smrg		;;
15131f0ac6a5Smrg	m68k-ccur)
15141f0ac6a5Smrg		os=-rtu
15151f0ac6a5Smrg		;;
15161f0ac6a5Smrg	m88k-omron*)
15171f0ac6a5Smrg		os=-luna
15181f0ac6a5Smrg		;;
15191f0ac6a5Smrg	*-next )
15201f0ac6a5Smrg		os=-nextstep
15211f0ac6a5Smrg		;;
15221f0ac6a5Smrg	*-sequent)
15231f0ac6a5Smrg		os=-ptx
15241f0ac6a5Smrg		;;
15251f0ac6a5Smrg	*-crds)
15261f0ac6a5Smrg		os=-unos
15271f0ac6a5Smrg		;;
15281f0ac6a5Smrg	*-ns)
15291f0ac6a5Smrg		os=-genix
15301f0ac6a5Smrg		;;
15311f0ac6a5Smrg	i370-*)
15321f0ac6a5Smrg		os=-mvs
15331f0ac6a5Smrg		;;
15341f0ac6a5Smrg	*-next)
15351f0ac6a5Smrg		os=-nextstep3
15361f0ac6a5Smrg		;;
15371f0ac6a5Smrg	*-gould)
15381f0ac6a5Smrg		os=-sysv
15391f0ac6a5Smrg		;;
15401f0ac6a5Smrg	*-highlevel)
15411f0ac6a5Smrg		os=-bsd
15421f0ac6a5Smrg		;;
15431f0ac6a5Smrg	*-encore)
15441f0ac6a5Smrg		os=-bsd
15451f0ac6a5Smrg		;;
15461f0ac6a5Smrg	*-sgi)
15471f0ac6a5Smrg		os=-irix
15481f0ac6a5Smrg		;;
15491f0ac6a5Smrg	*-siemens)
15501f0ac6a5Smrg		os=-sysv4
15511f0ac6a5Smrg		;;
15521f0ac6a5Smrg	*-masscomp)
15531f0ac6a5Smrg		os=-rtu
15541f0ac6a5Smrg		;;
15551f0ac6a5Smrg	f30[01]-fujitsu | f700-fujitsu)
15561f0ac6a5Smrg		os=-uxpv
15571f0ac6a5Smrg		;;
15581f0ac6a5Smrg	*-rom68k)
15591f0ac6a5Smrg		os=-coff
15601f0ac6a5Smrg		;;
15611f0ac6a5Smrg	*-*bug)
15621f0ac6a5Smrg		os=-coff
15631f0ac6a5Smrg		;;
15641f0ac6a5Smrg	*-apple)
15651f0ac6a5Smrg		os=-macos
15661f0ac6a5Smrg		;;
15671f0ac6a5Smrg	*-atari*)
15681f0ac6a5Smrg		os=-mint
15691f0ac6a5Smrg		;;
15701f0ac6a5Smrg	*)
15711f0ac6a5Smrg		os=-none
15721f0ac6a5Smrg		;;
15731f0ac6a5Smrgesac
15741f0ac6a5Smrgfi
15751f0ac6a5Smrg
15761f0ac6a5Smrg# Here we handle the case where we know the os, and the CPU type, but not the
15771f0ac6a5Smrg# manufacturer.  We pick the logical manufacturer.
15781f0ac6a5Smrgvendor=unknown
15791f0ac6a5Smrgcase $basic_machine in
15801f0ac6a5Smrg	*-unknown)
15811f0ac6a5Smrg		case $os in
15821f0ac6a5Smrg			-riscix*)
15831f0ac6a5Smrg				vendor=acorn
15841f0ac6a5Smrg				;;
15851f0ac6a5Smrg			-sunos*)
15861f0ac6a5Smrg				vendor=sun
15871f0ac6a5Smrg				;;
15881f0ac6a5Smrg			-aix*)
15891f0ac6a5Smrg				vendor=ibm
15901f0ac6a5Smrg				;;
15911f0ac6a5Smrg			-beos*)
15921f0ac6a5Smrg				vendor=be
15931f0ac6a5Smrg				;;
15941f0ac6a5Smrg			-hpux*)
15951f0ac6a5Smrg				vendor=hp
15961f0ac6a5Smrg				;;
15971f0ac6a5Smrg			-mpeix*)
15981f0ac6a5Smrg				vendor=hp
15991f0ac6a5Smrg				;;
16001f0ac6a5Smrg			-hiux*)
16011f0ac6a5Smrg				vendor=hitachi
16021f0ac6a5Smrg				;;
16031f0ac6a5Smrg			-unos*)
16041f0ac6a5Smrg				vendor=crds
16051f0ac6a5Smrg				;;
16061f0ac6a5Smrg			-dgux*)
16071f0ac6a5Smrg				vendor=dg
16081f0ac6a5Smrg				;;
16091f0ac6a5Smrg			-luna*)
16101f0ac6a5Smrg				vendor=omron
16111f0ac6a5Smrg				;;
16121f0ac6a5Smrg			-genix*)
16131f0ac6a5Smrg				vendor=ns
16141f0ac6a5Smrg				;;
16151f0ac6a5Smrg			-mvs* | -opened*)
16161f0ac6a5Smrg				vendor=ibm
16171f0ac6a5Smrg				;;
1618e5410a46Smrg			-os400*)
1619e5410a46Smrg				vendor=ibm
1620e5410a46Smrg				;;
16211f0ac6a5Smrg			-ptx*)
16221f0ac6a5Smrg				vendor=sequent
16231f0ac6a5Smrg				;;
1624e5410a46Smrg			-tpf*)
1625e5410a46Smrg				vendor=ibm
1626e5410a46Smrg				;;
16271f0ac6a5Smrg			-vxsim* | -vxworks* | -windiss*)
16281f0ac6a5Smrg				vendor=wrs
16291f0ac6a5Smrg				;;
16301f0ac6a5Smrg			-aux*)
16311f0ac6a5Smrg				vendor=apple
16321f0ac6a5Smrg				;;
16331f0ac6a5Smrg			-hms*)
16341f0ac6a5Smrg				vendor=hitachi
16351f0ac6a5Smrg				;;
16361f0ac6a5Smrg			-mpw* | -macos*)
16371f0ac6a5Smrg				vendor=apple
16381f0ac6a5Smrg				;;
16391f0ac6a5Smrg			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
16401f0ac6a5Smrg				vendor=atari
16411f0ac6a5Smrg				;;
16421f0ac6a5Smrg			-vos*)
16431f0ac6a5Smrg				vendor=stratus
16441f0ac6a5Smrg				;;
16451f0ac6a5Smrg		esac
16461f0ac6a5Smrg		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
16471f0ac6a5Smrg		;;
16481f0ac6a5Smrgesac
16491f0ac6a5Smrg
16501f0ac6a5Smrgecho $basic_machine$os
1651e5410a46Smrgexit
16521f0ac6a5Smrg
16531f0ac6a5Smrg# Local variables:
16541f0ac6a5Smrg# eval: (add-hook 'write-file-hooks 'time-stamp)
16551f0ac6a5Smrg# time-stamp-start: "timestamp='"
16561f0ac6a5Smrg# time-stamp-format: "%:y-%02m-%02d"
16571f0ac6a5Smrg# time-stamp-end: "'"
16581f0ac6a5Smrg# End:
1659