2a55717
#! /bin/sh
2a55717
# Configuration validation subroutine script.
2a55717
#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2a55717
#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
2a55717
#   2011, 2012, 2013 Free Software Foundation, Inc.
2a55717
2a55717
timestamp='2012-12-29'
2a55717
2a55717
# This file is free software; you can redistribute it and/or modify it
2a55717
# under the terms of the GNU General Public License as published by
2a55717
# the Free Software Foundation; either version 3 of the License, or
2a55717
# (at your option) any later version.
2a55717
#
2a55717
# This program is distributed in the hope that it will be useful, but
2a55717
# WITHOUT ANY WARRANTY; without even the implied warranty of
2a55717
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
2a55717
# General Public License for more details.
2a55717
#
2a55717
# You should have received a copy of the GNU General Public License
2a55717
# along with this program; if not, see <http://www.gnu.org/licenses/>.
2a55717
#
2a55717
# As a special exception to the GNU General Public License, if you
2a55717
# distribute this file as part of a program that contains a
2a55717
# configuration script generated by Autoconf, you may include it under
2a55717
# the same distribution terms that you use for the rest of that
2a55717
# program.  This Exception is an additional permission under section 7
2a55717
# of the GNU General Public License, version 3 ("GPLv3").
2a55717
2a55717
2a55717
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
2a55717
#
2a55717
# Configuration subroutine to validate and canonicalize a configuration type.
2a55717
# Supply the specified configuration type as an argument.
2a55717
# If it is invalid, we print an error message on stderr and exit with code 1.
2a55717
# Otherwise, we print the canonical config type on stdout and succeed.
2a55717
2a55717
# You can get the latest version of this script from:
2a55717
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
2a55717
2a55717
# This file is supposed to be the same for all GNU packages
2a55717
# and recognize all the CPU types, system types and aliases
2a55717
# that are meaningful with *any* GNU software.
2a55717
# Each package is responsible for reporting which valid configurations
2a55717
# it does not support.  The user should be able to distinguish
2a55717
# a failure to support a valid configuration from a meaningless
2a55717
# configuration.
2a55717
2a55717
# The goal of this file is to map all the various variations of a given
2a55717
# machine specification into a single specification in the form:
2a55717
#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
2a55717
# or in some cases, the newer four-part form:
2a55717
#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
2a55717
# It is wrong to echo any other type of specification.
2a55717
2a55717
me=`echo "$0" | sed -e 's,.*/,,'`
2a55717
2a55717
usage="\
2a55717
Usage: $0 [OPTION] CPU-MFR-OPSYS
2a55717
       $0 [OPTION] ALIAS
2a55717
2a55717
Canonicalize a configuration name.
2a55717
2a55717
Operation modes:
2a55717
  -h, --help         print this help, then exit
2a55717
  -t, --time-stamp   print date of last modification, then exit
2a55717
  -v, --version      print version number, then exit
2a55717
2a55717
Report bugs and patches to <config-patches@gnu.org>."
2a55717
2a55717
version="\
2a55717
GNU config.sub ($timestamp)
2a55717
2a55717
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2a55717
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
2a55717
2012, 2013 Free Software Foundation, Inc.
2a55717
2a55717
This is free software; see the source for copying conditions.  There is NO
2a55717
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
2a55717
2a55717
help="
2a55717
Try \`$me --help' for more information."
2a55717
2a55717
# Parse command line
2a55717
while test $# -gt 0 ; do
2a55717
  case $1 in
2a55717
    --time-stamp | --time* | -t )
2a55717
       echo "$timestamp" ; exit ;;
2a55717
    --version | -v )
2a55717
       echo "$version" ; exit ;;
2a55717
    --help | --h* | -h )
2a55717
       echo "$usage"; exit ;;
2a55717
    -- )     # Stop option processing
2a55717
       shift; break ;;
2a55717
    - )	# Use stdin as input.
2a55717
       break ;;
2a55717
    -* )
2a55717
       echo "$me: invalid option $1$help"
2a55717
       exit 1 ;;
2a55717
2a55717
    *local*)
2a55717
       # First pass through any local machine types.
2a55717
       echo $1
2a55717
       exit ;;
2a55717
2a55717
    * )
2a55717
       break ;;
2a55717
  esac
2a55717
done
2a55717
2a55717
case $# in
2a55717
 0) echo "$me: missing argument$help" >&2
2a55717
    exit 1;;
2a55717
 1) ;;
2a55717
 *) echo "$me: too many arguments$help" >&2
2a55717
    exit 1;;
2a55717
esac
2a55717
2a55717
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
2a55717
# Here we must recognize all the valid KERNEL-OS combinations.
2a55717
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
2a55717
case $maybe_os in
2a55717
  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
2a55717
  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
2a55717
  knetbsd*-gnu* | netbsd*-gnu* | \
2a55717
  kopensolaris*-gnu* | \
2a55717
  storm-chaos* | os2-emx* | rtmk-nova*)
2a55717
    os=-$maybe_os
2a55717
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
2a55717
    ;;
2a55717
  android-linux)
2a55717
    os=-linux-android
2a55717
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
2a55717
    ;;
2a55717
  *)
2a55717
    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
2a55717
    if [ $basic_machine != $1 ]
2a55717
    then os=`echo $1 | sed 's/.*-/-/'`
2a55717
    else os=; fi
2a55717
    ;;
2a55717
esac
2a55717
2a55717
### Let's recognize common machines as not being operating systems so
2a55717
### that things like config.sub decstation-3100 work.  We also
2a55717
### recognize some manufacturers as not being operating systems, so we
2a55717
### can provide default operating systems below.
2a55717
case $os in
2a55717
	-sun*os*)
2a55717
		# Prevent following clause from handling this invalid input.
2a55717
		;;
2a55717
	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
2a55717
	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
2a55717
	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
2a55717
	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
2a55717
	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
2a55717
	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
2a55717
	-apple | -axis | -knuth | -cray | -microblaze*)
2a55717
		os=
2a55717
		basic_machine=$1
2a55717
		;;
2a55717
	-bluegene*)
2a55717
		os=-cnk
2a55717
		;;
2a55717
	-sim | -cisco | -oki | -wec | -winbond)
2a55717
		os=
2a55717
		basic_machine=$1
2a55717
		;;
2a55717
	-scout)
2a55717
		;;
2a55717
	-wrs)
2a55717
		os=-vxworks
2a55717
		basic_machine=$1
2a55717
		;;
2a55717
	-chorusos*)
2a55717
		os=-chorusos
2a55717
		basic_machine=$1
2a55717
		;;
2a55717
	-chorusrdb)
2a55717
		os=-chorusrdb
2a55717
		basic_machine=$1
2a55717
		;;
2a55717
	-hiux*)
2a55717
		os=-hiuxwe2
2a55717
		;;
2a55717
	-sco6)
2a55717
		os=-sco5v6
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco5)
2a55717
		os=-sco3.2v5
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco4)
2a55717
		os=-sco3.2v4
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco3.2.[4-9]*)
2a55717
		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco3.2v[4-9]*)
2a55717
		# Don't forget version if it is 3.2v4 or newer.
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco5v6*)
2a55717
		# Don't forget version if it is 3.2v4 or newer.
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-sco*)
2a55717
		os=-sco3.2v2
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-udk*)
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-isc)
2a55717
		os=-isc2.2
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-clix*)
2a55717
		basic_machine=clipper-intergraph
2a55717
		;;
2a55717
	-isc*)
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
2a55717
		;;
2a55717
	-lynx*178)
2a55717
		os=-lynxos178
2a55717
		;;
2a55717
	-lynx*5)
2a55717
		os=-lynxos5
2a55717
		;;
2a55717
	-lynx*)
2a55717
		os=-lynxos
2a55717
		;;
2a55717
	-ptx*)
2a55717
		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
2a55717
		;;
2a55717
	-windowsnt*)
2a55717
		os=`echo $os | sed -e 's/windowsnt/winnt/'`
2a55717
		;;
2a55717
	-psos*)
2a55717
		os=-psos
2a55717
		;;
2a55717
	-mint | -mint[0-9]*)
2a55717
		basic_machine=m68k-atari
2a55717
		os=-mint
2a55717
		;;
2a55717
esac
2a55717
2a55717
# Decode aliases for certain CPU-COMPANY combinations.
2a55717
case $basic_machine in
2a55717
	# Recognize the basic CPU types without company name.
2a55717
	# Some are omitted here because they have special meanings below.
2a55717
	1750a | 580 \
2a55717
	| a29k \
2a55717
	| aarch64 | aarch64_be \
2a55717
	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
2a55717
	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
2a55717
	| am33_2.0 \
2a55717
	| arc \
2a55717
	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
2a55717
	| avr | avr32 \
2a55717
	| be32 | be64 \
2a55717
	| bfin \
2a55717
	| c4x | clipper \
2a55717
	| d10v | d30v | dlx | dsp16xx \
2a55717
	| epiphany \
2a55717
	| fido | fr30 | frv \
2a55717
	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
2a55717
	| hexagon \
2a55717
	| i370 | i860 | i960 | ia64 \
2a55717
	| ip2k | iq2000 \
2a55717
	| le32 | le64 \
2a55717
	| lm32 \
2a55717
	| m32c | m32r | m32rle | m68000 | m68k | m88k \
2a55717
	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
2a55717
	| mips | mipsbe | mipseb | mipsel | mipsle \
2a55717
	| mips16 \
2a55717
	| mips64 | mips64el \
2a55717
	| mips64octeon | mips64octeonel \
2a55717
	| mips64orion | mips64orionel \
2a55717
	| mips64r5900 | mips64r5900el \
2a55717
	| mips64vr | mips64vrel \
2a55717
	| mips64vr4100 | mips64vr4100el \
2a55717
	| mips64vr4300 | mips64vr4300el \
2a55717
	| mips64vr5000 | mips64vr5000el \
2a55717
	| mips64vr5900 | mips64vr5900el \
2a55717
	| mipsisa32 | mipsisa32el \
2a55717
	| mipsisa32r2 | mipsisa32r2el \
2a55717
	| mipsisa64 | mipsisa64el \
2a55717
	| mipsisa64r2 | mipsisa64r2el \
2a55717
	| mipsisa64sb1 | mipsisa64sb1el \
2a55717
	| mipsisa64sr71k | mipsisa64sr71kel \
2a55717
	| mipstx39 | mipstx39el \
2a55717
	| mn10200 | mn10300 \
2a55717
	| moxie \
2a55717
	| mt \
2a55717
	| msp430 \
2a55717
	| nds32 | nds32le | nds32be \
2a55717
	| nios | nios2 \
2a55717
	| ns16k | ns32k \
2a55717
	| open8 \
2a55717
	| or32 \
2a55717
	| pdp10 | pdp11 | pj | pjl \
2a55717
	| powerpc | powerpc64 | powerpc64le | powerpcle \
2a55717
	| pyramid \
2a55717
	| rl78 | rx \
2a55717
	| score \
2a55717
	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
2a55717
	| sh64 | sh64le \
2a55717
	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
2a55717
	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
2a55717
	| spu \
2a55717
	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
2a55717
	| ubicom32 \
2a55717
	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
2a55717
	| we32k \
2a55717
	| x86 | xc16x | xstormy16 | xtensa \
2a55717
	| z8k | z80)
2a55717
		basic_machine=$basic_machine-unknown
2a55717
		;;
2a55717
	c54x)
2a55717
		basic_machine=tic54x-unknown
2a55717
		;;
2a55717
	c55x)
2a55717
		basic_machine=tic55x-unknown
2a55717
		;;
2a55717
	c6x)
2a55717
		basic_machine=tic6x-unknown
2a55717
		;;
2a55717
	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
2a55717
		basic_machine=$basic_machine-unknown
2a55717
		os=-none
2a55717
		;;
2a55717
	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
2a55717
		;;
2a55717
	ms1)
2a55717
		basic_machine=mt-unknown
2a55717
		;;
2a55717
2a55717
	strongarm | thumb | xscale)
2a55717
		basic_machine=arm-unknown
2a55717
		;;
2a55717
	xgate)
2a55717
		basic_machine=$basic_machine-unknown
2a55717
		os=-none
2a55717
		;;
2a55717
	xscaleeb)
2a55717
		basic_machine=armeb-unknown
2a55717
		;;
2a55717
2a55717
	xscaleel)
2a55717
		basic_machine=armel-unknown
2a55717
		;;
2a55717
2a55717
	# We use `pc' rather than `unknown'
2a55717
	# because (1) that's what they normally are, and
2a55717
	# (2) the word "unknown" tends to confuse beginning users.
2a55717
	i*86 | x86_64)
2a55717
	  basic_machine=$basic_machine-pc
2a55717
	  ;;
2a55717
	# Object if more than one company name word.
2a55717
	*-*-*)
2a55717
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
2a55717
		exit 1
2a55717
		;;
2a55717
	# Recognize the basic CPU types with company name.
2a55717
	580-* \
2a55717
	| a29k-* \
2a55717
	| aarch64-* | aarch64_be-* \
2a55717
	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
2a55717
	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
2a55717
	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
2a55717
	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
2a55717
	| avr-* | avr32-* \
2a55717
	| be32-* | be64-* \
2a55717
	| bfin-* | bs2000-* \
2a55717
	| c[123]* | c30-* | [cjt]90-* | c4x-* \
2a55717
	| clipper-* | craynv-* | cydra-* \
2a55717
	| d10v-* | d30v-* | dlx-* \
2a55717
	| elxsi-* \
2a55717
	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
2a55717
	| h8300-* | h8500-* \
2a55717
	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
2a55717
	| hexagon-* \
2a55717
	| i*86-* | i860-* | i960-* | ia64-* \
2a55717
	| ip2k-* | iq2000-* \
2a55717
	| le32-* | le64-* \
2a55717
	| lm32-* \
2a55717
	| m32c-* | m32r-* | m32rle-* \
2a55717
	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
2a55717
	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
2a55717
	| microblaze-* | microblazeel-* \
2a55717
	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
2a55717
	| mips16-* \
2a55717
	| mips64-* | mips64el-* \
2a55717
	| mips64octeon-* | mips64octeonel-* \
2a55717
	| mips64orion-* | mips64orionel-* \
2a55717
	| mips64r5900-* | mips64r5900el-* \
2a55717
	| mips64vr-* | mips64vrel-* \
2a55717
	| mips64vr4100-* | mips64vr4100el-* \
2a55717
	| mips64vr4300-* | mips64vr4300el-* \
2a55717
	| mips64vr5000-* | mips64vr5000el-* \
2a55717
	| mips64vr5900-* | mips64vr5900el-* \
2a55717
	| mipsisa32-* | mipsisa32el-* \
2a55717
	| mipsisa32r2-* | mipsisa32r2el-* \
2a55717
	| mipsisa64-* | mipsisa64el-* \
2a55717
	| mipsisa64r2-* | mipsisa64r2el-* \
2a55717
	| mipsisa64sb1-* | mipsisa64sb1el-* \
2a55717
	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
2a55717
	| mipstx39-* | mipstx39el-* \
2a55717
	| mmix-* \
2a55717
	| mt-* \
2a55717
	| msp430-* \
2a55717
	| nds32-* | nds32le-* | nds32be-* \
2a55717
	| nios-* | nios2-* \
2a55717
	| none-* | np1-* | ns16k-* | ns32k-* \
2a55717
	| open8-* \
2a55717
	| orion-* \
2a55717
	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
2a55717
	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
2a55717
	| pyramid-* \
2a55717
	| rl78-* | romp-* | rs6000-* | rx-* \
2a55717
	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
2a55717
	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
2a55717
	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
2a55717
	| sparclite-* \
2a55717
	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
2a55717
	| tahoe-* \
2a55717
	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
2a55717
	| tile*-* \
2a55717
	| tron-* \
2a55717
	| ubicom32-* \
2a55717
	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
2a55717
	| vax-* \
2a55717
	| we32k-* \
2a55717
	| x86-* | x86_64-* | xc16x-* | xps100-* \
2a55717
	| xstormy16-* | xtensa*-* \
2a55717
	| ymp-* \
2a55717
	| z8k-* | z80-*)
2a55717
		;;
2a55717
	# Recognize the basic CPU types without company name, with glob match.
2a55717
	xtensa*)
2a55717
		basic_machine=$basic_machine-unknown
2a55717
		;;
2a55717
	# Recognize the various machine names and aliases which stand
2a55717
	# for a CPU type and a company and sometimes even an OS.
2a55717
	386bsd)
2a55717
		basic_machine=i386-unknown
2a55717
		os=-bsd
2a55717
		;;
2a55717
	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
2a55717
		basic_machine=m68000-att
2a55717
		;;
2a55717
	3b*)
2a55717
		basic_machine=we32k-att
2a55717
		;;
2a55717
	a29khif)
2a55717
		basic_machine=a29k-amd
2a55717
		os=-udi
2a55717
		;;
2a55717
	abacus)
2a55717
		basic_machine=abacus-unknown
2a55717
		;;
2a55717
	adobe68k)
2a55717
		basic_machine=m68010-adobe
2a55717
		os=-scout
2a55717
		;;
2a55717
	alliant | fx80)
2a55717
		basic_machine=fx80-alliant
2a55717
		;;
2a55717
	altos | altos3068)
2a55717
		basic_machine=m68k-altos
2a55717
		;;
2a55717
	am29k)
2a55717
		basic_machine=a29k-none
2a55717
		os=-bsd
2a55717
		;;
2a55717
	amd64)
2a55717
		basic_machine=x86_64-pc
2a55717
		;;
2a55717
	amd64-*)
2a55717
		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	amdahl)
2a55717
		basic_machine=580-amdahl
2a55717
		os=-sysv
2a55717
		;;
2a55717
	amiga | amiga-*)
2a55717
		basic_machine=m68k-unknown
2a55717
		;;
2a55717
	amigaos | amigados)
2a55717
		basic_machine=m68k-unknown
2a55717
		os=-amigaos
2a55717
		;;
2a55717
	amigaunix | amix)
2a55717
		basic_machine=m68k-unknown
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	apollo68)
2a55717
		basic_machine=m68k-apollo
2a55717
		os=-sysv
2a55717
		;;
2a55717
	apollo68bsd)
2a55717
		basic_machine=m68k-apollo
2a55717
		os=-bsd
2a55717
		;;
2a55717
	aros)
2a55717
		basic_machine=i386-pc
2a55717
		os=-aros
2a55717
		;;
2a55717
	aux)
2a55717
		basic_machine=m68k-apple
2a55717
		os=-aux
2a55717
		;;
2a55717
	balance)
2a55717
		basic_machine=ns32k-sequent
2a55717
		os=-dynix
2a55717
		;;
2a55717
	blackfin)
2a55717
		basic_machine=bfin-unknown
2a55717
		os=-linux
2a55717
		;;
2a55717
	blackfin-*)
2a55717
		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		os=-linux
2a55717
		;;
2a55717
	bluegene*)
2a55717
		basic_machine=powerpc-ibm
2a55717
		os=-cnk
2a55717
		;;
2a55717
	c54x-*)
2a55717
		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	c55x-*)
2a55717
		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	c6x-*)
2a55717
		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	c90)
2a55717
		basic_machine=c90-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	cegcc)
2a55717
		basic_machine=arm-unknown
2a55717
		os=-cegcc
2a55717
		;;
2a55717
	convex-c1)
2a55717
		basic_machine=c1-convex
2a55717
		os=-bsd
2a55717
		;;
2a55717
	convex-c2)
2a55717
		basic_machine=c2-convex
2a55717
		os=-bsd
2a55717
		;;
2a55717
	convex-c32)
2a55717
		basic_machine=c32-convex
2a55717
		os=-bsd
2a55717
		;;
2a55717
	convex-c34)
2a55717
		basic_machine=c34-convex
2a55717
		os=-bsd
2a55717
		;;
2a55717
	convex-c38)
2a55717
		basic_machine=c38-convex
2a55717
		os=-bsd
2a55717
		;;
2a55717
	cray | j90)
2a55717
		basic_machine=j90-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	craynv)
2a55717
		basic_machine=craynv-cray
2a55717
		os=-unicosmp
2a55717
		;;
2a55717
	cr16 | cr16-*)
2a55717
		basic_machine=cr16-unknown
2a55717
		os=-elf
2a55717
		;;
2a55717
	crds | unos)
2a55717
		basic_machine=m68k-crds
2a55717
		;;
2a55717
	crisv32 | crisv32-* | etraxfs*)
2a55717
		basic_machine=crisv32-axis
2a55717
		;;
2a55717
	cris | cris-* | etrax*)
2a55717
		basic_machine=cris-axis
2a55717
		;;
2a55717
	crx)
2a55717
		basic_machine=crx-unknown
2a55717
		os=-elf
2a55717
		;;
2a55717
	da30 | da30-*)
2a55717
		basic_machine=m68k-da30
2a55717
		;;
2a55717
	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
2a55717
		basic_machine=mips-dec
2a55717
		;;
2a55717
	decsystem10* | dec10*)
2a55717
		basic_machine=pdp10-dec
2a55717
		os=-tops10
2a55717
		;;
2a55717
	decsystem20* | dec20*)
2a55717
		basic_machine=pdp10-dec
2a55717
		os=-tops20
2a55717
		;;
2a55717
	delta | 3300 | motorola-3300 | motorola-delta \
2a55717
	      | 3300-motorola | delta-motorola)
2a55717
		basic_machine=m68k-motorola
2a55717
		;;
2a55717
	delta88)
2a55717
		basic_machine=m88k-motorola
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	dicos)
2a55717
		basic_machine=i686-pc
2a55717
		os=-dicos
2a55717
		;;
2a55717
	djgpp)
2a55717
		basic_machine=i586-pc
2a55717
		os=-msdosdjgpp
2a55717
		;;
2a55717
	dpx20 | dpx20-*)
2a55717
		basic_machine=rs6000-bull
2a55717
		os=-bosx
2a55717
		;;
2a55717
	dpx2* | dpx2*-bull)
2a55717
		basic_machine=m68k-bull
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	ebmon29k)
2a55717
		basic_machine=a29k-amd
2a55717
		os=-ebmon
2a55717
		;;
2a55717
	elxsi)
2a55717
		basic_machine=elxsi-elxsi
2a55717
		os=-bsd
2a55717
		;;
2a55717
	encore | umax | mmax)
2a55717
		basic_machine=ns32k-encore
2a55717
		;;
2a55717
	es1800 | OSE68k | ose68k | ose | OSE)
2a55717
		basic_machine=m68k-ericsson
2a55717
		os=-ose
2a55717
		;;
2a55717
	fx2800)
2a55717
		basic_machine=i860-alliant
2a55717
		;;
2a55717
	genix)
2a55717
		basic_machine=ns32k-ns
2a55717
		;;
2a55717
	gmicro)
2a55717
		basic_machine=tron-gmicro
2a55717
		os=-sysv
2a55717
		;;
2a55717
	go32)
2a55717
		basic_machine=i386-pc
2a55717
		os=-go32
2a55717
		;;
2a55717
	h3050r* | hiux*)
2a55717
		basic_machine=hppa1.1-hitachi
2a55717
		os=-hiuxwe2
2a55717
		;;
2a55717
	h8300hms)
2a55717
		basic_machine=h8300-hitachi
2a55717
		os=-hms
2a55717
		;;
2a55717
	h8300xray)
2a55717
		basic_machine=h8300-hitachi
2a55717
		os=-xray
2a55717
		;;
2a55717
	h8500hms)
2a55717
		basic_machine=h8500-hitachi
2a55717
		os=-hms
2a55717
		;;
2a55717
	harris)
2a55717
		basic_machine=m88k-harris
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	hp300-*)
2a55717
		basic_machine=m68k-hp
2a55717
		;;
2a55717
	hp300bsd)
2a55717
		basic_machine=m68k-hp
2a55717
		os=-bsd
2a55717
		;;
2a55717
	hp300hpux)
2a55717
		basic_machine=m68k-hp
2a55717
		os=-hpux
2a55717
		;;
2a55717
	hp3k9[0-9][0-9] | hp9[0-9][0-9])
2a55717
		basic_machine=hppa1.0-hp
2a55717
		;;
2a55717
	hp9k2[0-9][0-9] | hp9k31[0-9])
2a55717
		basic_machine=m68000-hp
2a55717
		;;
2a55717
	hp9k3[2-9][0-9])
2a55717
		basic_machine=m68k-hp
2a55717
		;;
2a55717
	hp9k6[0-9][0-9] | hp6[0-9][0-9])
2a55717
		basic_machine=hppa1.0-hp
2a55717
		;;
2a55717
	hp9k7[0-79][0-9] | hp7[0-79][0-9])
2a55717
		basic_machine=hppa1.1-hp
2a55717
		;;
2a55717
	hp9k78[0-9] | hp78[0-9])
2a55717
		# FIXME: really hppa2.0-hp
2a55717
		basic_machine=hppa1.1-hp
2a55717
		;;
2a55717
	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
2a55717
		# FIXME: really hppa2.0-hp
2a55717
		basic_machine=hppa1.1-hp
2a55717
		;;
2a55717
	hp9k8[0-9][13679] | hp8[0-9][13679])
2a55717
		basic_machine=hppa1.1-hp
2a55717
		;;
2a55717
	hp9k8[0-9][0-9] | hp8[0-9][0-9])
2a55717
		basic_machine=hppa1.0-hp
2a55717
		;;
2a55717
	hppa-next)
2a55717
		os=-nextstep3
2a55717
		;;
2a55717
	hppaosf)
2a55717
		basic_machine=hppa1.1-hp
2a55717
		os=-osf
2a55717
		;;
2a55717
	hppro)
2a55717
		basic_machine=hppa1.1-hp
2a55717
		os=-proelf
2a55717
		;;
2a55717
	i370-ibm* | ibm*)
2a55717
		basic_machine=i370-ibm
2a55717
		;;
2a55717
	i*86v32)
2a55717
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2a55717
		os=-sysv32
2a55717
		;;
2a55717
	i*86v4*)
2a55717
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	i*86v)
2a55717
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2a55717
		os=-sysv
2a55717
		;;
2a55717
	i*86sol2)
2a55717
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
2a55717
		os=-solaris2
2a55717
		;;
2a55717
	i386mach)
2a55717
		basic_machine=i386-mach
2a55717
		os=-mach
2a55717
		;;
2a55717
	i386-vsta | vsta)
2a55717
		basic_machine=i386-unknown
2a55717
		os=-vsta
2a55717
		;;
2a55717
	iris | iris4d)
2a55717
		basic_machine=mips-sgi
2a55717
		case $os in
2a55717
		    -irix*)
2a55717
			;;
2a55717
		    *)
2a55717
			os=-irix4
2a55717
			;;
2a55717
		esac
2a55717
		;;
2a55717
	isi68 | isi)
2a55717
		basic_machine=m68k-isi
2a55717
		os=-sysv
2a55717
		;;
2a55717
	m68knommu)
2a55717
		basic_machine=m68k-unknown
2a55717
		os=-linux
2a55717
		;;
2a55717
	m68knommu-*)
2a55717
		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		os=-linux
2a55717
		;;
2a55717
	m88k-omron*)
2a55717
		basic_machine=m88k-omron
2a55717
		;;
2a55717
	magnum | m3230)
2a55717
		basic_machine=mips-mips
2a55717
		os=-sysv
2a55717
		;;
2a55717
	merlin)
2a55717
		basic_machine=ns32k-utek
2a55717
		os=-sysv
2a55717
		;;
2a55717
	microblaze*)
2a55717
		basic_machine=microblaze-xilinx
2a55717
		;;
2a55717
	mingw64)
2a55717
		basic_machine=x86_64-pc
2a55717
		os=-mingw64
2a55717
		;;
2a55717
	mingw32)
2a55717
		basic_machine=i386-pc
2a55717
		os=-mingw32
2a55717
		;;
2a55717
	mingw32ce)
2a55717
		basic_machine=arm-unknown
2a55717
		os=-mingw32ce
2a55717
		;;
2a55717
	miniframe)
2a55717
		basic_machine=m68000-convergent
2a55717
		;;
2a55717
	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
2a55717
		basic_machine=m68k-atari
2a55717
		os=-mint
2a55717
		;;
2a55717
	mips3*-*)
2a55717
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
2a55717
		;;
2a55717
	mips3*)
2a55717
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
2a55717
		;;
2a55717
	monitor)
2a55717
		basic_machine=m68k-rom68k
2a55717
		os=-coff
2a55717
		;;
2a55717
	morphos)
2a55717
		basic_machine=powerpc-unknown
2a55717
		os=-morphos
2a55717
		;;
2a55717
	msdos)
2a55717
		basic_machine=i386-pc
2a55717
		os=-msdos
2a55717
		;;
2a55717
	ms1-*)
2a55717
		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
2a55717
		;;
2a55717
	msys)
2a55717
		basic_machine=i386-pc
2a55717
		os=-msys
2a55717
		;;
2a55717
	mvs)
2a55717
		basic_machine=i370-ibm
2a55717
		os=-mvs
2a55717
		;;
2a55717
	nacl)
2a55717
		basic_machine=le32-unknown
2a55717
		os=-nacl
2a55717
		;;
2a55717
	ncr3000)
2a55717
		basic_machine=i486-ncr
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	netbsd386)
2a55717
		basic_machine=i386-unknown
2a55717
		os=-netbsd
2a55717
		;;
2a55717
	netwinder)
2a55717
		basic_machine=armv4l-rebel
2a55717
		os=-linux
2a55717
		;;
2a55717
	news | news700 | news800 | news900)
2a55717
		basic_machine=m68k-sony
2a55717
		os=-newsos
2a55717
		;;
2a55717
	news1000)
2a55717
		basic_machine=m68030-sony
2a55717
		os=-newsos
2a55717
		;;
2a55717
	news-3600 | risc-news)
2a55717
		basic_machine=mips-sony
2a55717
		os=-newsos
2a55717
		;;
2a55717
	necv70)
2a55717
		basic_machine=v70-nec
2a55717
		os=-sysv
2a55717
		;;
2a55717
	next | m*-next )
2a55717
		basic_machine=m68k-next
2a55717
		case $os in
2a55717
		    -nextstep* )
2a55717
			;;
2a55717
		    -ns2*)
2a55717
		      os=-nextstep2
2a55717
			;;
2a55717
		    *)
2a55717
		      os=-nextstep3
2a55717
			;;
2a55717
		esac
2a55717
		;;
2a55717
	nh3000)
2a55717
		basic_machine=m68k-harris
2a55717
		os=-cxux
2a55717
		;;
2a55717
	nh[45]000)
2a55717
		basic_machine=m88k-harris
2a55717
		os=-cxux
2a55717
		;;
2a55717
	nindy960)
2a55717
		basic_machine=i960-intel
2a55717
		os=-nindy
2a55717
		;;
2a55717
	mon960)
2a55717
		basic_machine=i960-intel
2a55717
		os=-mon960
2a55717
		;;
2a55717
	nonstopux)
2a55717
		basic_machine=mips-compaq
2a55717
		os=-nonstopux
2a55717
		;;
2a55717
	np1)
2a55717
		basic_machine=np1-gould
2a55717
		;;
2a55717
	neo-tandem)
2a55717
		basic_machine=neo-tandem
2a55717
		;;
2a55717
	nse-tandem)
2a55717
		basic_machine=nse-tandem
2a55717
		;;
2a55717
	nsr-tandem)
2a55717
		basic_machine=nsr-tandem
2a55717
		;;
2a55717
	op50n-* | op60c-*)
2a55717
		basic_machine=hppa1.1-oki
2a55717
		os=-proelf
2a55717
		;;
2a55717
	openrisc | openrisc-*)
2a55717
		basic_machine=or32-unknown
2a55717
		;;
2a55717
	os400)
2a55717
		basic_machine=powerpc-ibm
2a55717
		os=-os400
2a55717
		;;
2a55717
	OSE68000 | ose68000)
2a55717
		basic_machine=m68000-ericsson
2a55717
		os=-ose
2a55717
		;;
2a55717
	os68k)
2a55717
		basic_machine=m68k-none
2a55717
		os=-os68k
2a55717
		;;
2a55717
	pa-hitachi)
2a55717
		basic_machine=hppa1.1-hitachi
2a55717
		os=-hiuxwe2
2a55717
		;;
2a55717
	paragon)
2a55717
		basic_machine=i860-intel
2a55717
		os=-osf
2a55717
		;;
2a55717
	parisc)
2a55717
		basic_machine=hppa-unknown
2a55717
		os=-linux
2a55717
		;;
2a55717
	parisc-*)
2a55717
		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		os=-linux
2a55717
		;;
2a55717
	pbd)
2a55717
		basic_machine=sparc-tti
2a55717
		;;
2a55717
	pbb)
2a55717
		basic_machine=m68k-tti
2a55717
		;;
2a55717
	pc532 | pc532-*)
2a55717
		basic_machine=ns32k-pc532
2a55717
		;;
2a55717
	pc98)
2a55717
		basic_machine=i386-pc
2a55717
		;;
2a55717
	pc98-*)
2a55717
		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	pentium | p5 | k5 | k6 | nexgen | viac3)
2a55717
		basic_machine=i586-pc
2a55717
		;;
2a55717
	pentiumpro | p6 | 6x86 | athlon | athlon_*)
2a55717
		basic_machine=i686-pc
2a55717
		;;
2a55717
	pentiumii | pentium2 | pentiumiii | pentium3)
2a55717
		basic_machine=i686-pc
2a55717
		;;
2a55717
	pentium4)
2a55717
		basic_machine=i786-pc
2a55717
		;;
2a55717
	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
2a55717
		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	pentiumpro-* | p6-* | 6x86-* | athlon-*)
2a55717
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
2a55717
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	pentium4-*)
2a55717
		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	pn)
2a55717
		basic_machine=pn-gould
2a55717
		;;
2a55717
	power)	basic_machine=power-ibm
2a55717
		;;
2a55717
	ppc | ppcbe)	basic_machine=powerpc-unknown
2a55717
		;;
2a55717
	ppc-* | ppcbe-*)
2a55717
		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	ppcle | powerpclittle | ppc-le | powerpc-little)
2a55717
		basic_machine=powerpcle-unknown
2a55717
		;;
2a55717
	ppcle-* | powerpclittle-*)
2a55717
		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	ppc64)	basic_machine=powerpc64-unknown
2a55717
		;;
2a55717
	ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
2a55717
		basic_machine=powerpc64le-unknown
2a55717
		;;
2a55717
	ppc64le-* | powerpc64little-*)
2a55717
		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	ps2)
2a55717
		basic_machine=i386-ibm
2a55717
		;;
2a55717
	pw32)
2a55717
		basic_machine=i586-unknown
2a55717
		os=-pw32
2a55717
		;;
2a55717
	rdos | rdos64)
2a55717
		basic_machine=x86_64-pc
2a55717
		os=-rdos
2a55717
		;;
2a55717
	rdos32)
2a55717
		basic_machine=i386-pc
2a55717
		os=-rdos
2a55717
		;;
2a55717
	rom68k)
2a55717
		basic_machine=m68k-rom68k
2a55717
		os=-coff
2a55717
		;;
2a55717
	rm[46]00)
2a55717
		basic_machine=mips-siemens
2a55717
		;;
2a55717
	rtpc | rtpc-*)
2a55717
		basic_machine=romp-ibm
2a55717
		;;
2a55717
	s390 | s390-*)
2a55717
		basic_machine=s390-ibm
2a55717
		;;
2a55717
	s390x | s390x-*)
2a55717
		basic_machine=s390x-ibm
2a55717
		;;
2a55717
	sa29200)
2a55717
		basic_machine=a29k-amd
2a55717
		os=-udi
2a55717
		;;
2a55717
	sb1)
2a55717
		basic_machine=mipsisa64sb1-unknown
2a55717
		;;
2a55717
	sb1el)
2a55717
		basic_machine=mipsisa64sb1el-unknown
2a55717
		;;
2a55717
	sde)
2a55717
		basic_machine=mipsisa32-sde
2a55717
		os=-elf
2a55717
		;;
2a55717
	sei)
2a55717
		basic_machine=mips-sei
2a55717
		os=-seiux
2a55717
		;;
2a55717
	sequent)
2a55717
		basic_machine=i386-sequent
2a55717
		;;
2a55717
	sh)
2a55717
		basic_machine=sh-hitachi
2a55717
		os=-hms
2a55717
		;;
2a55717
	sh5el)
2a55717
		basic_machine=sh5le-unknown
2a55717
		;;
2a55717
	sh64)
2a55717
		basic_machine=sh64-unknown
2a55717
		;;
2a55717
	sparclite-wrs | simso-wrs)
2a55717
		basic_machine=sparclite-wrs
2a55717
		os=-vxworks
2a55717
		;;
2a55717
	sps7)
2a55717
		basic_machine=m68k-bull
2a55717
		os=-sysv2
2a55717
		;;
2a55717
	spur)
2a55717
		basic_machine=spur-unknown
2a55717
		;;
2a55717
	st2000)
2a55717
		basic_machine=m68k-tandem
2a55717
		;;
2a55717
	stratus)
2a55717
		basic_machine=i860-stratus
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	strongarm-* | thumb-*)
2a55717
		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
2a55717
		;;
2a55717
	sun2)
2a55717
		basic_machine=m68000-sun
2a55717
		;;
2a55717
	sun2os3)
2a55717
		basic_machine=m68000-sun
2a55717
		os=-sunos3
2a55717
		;;
2a55717
	sun2os4)
2a55717
		basic_machine=m68000-sun
2a55717
		os=-sunos4
2a55717
		;;
2a55717
	sun3os3)
2a55717
		basic_machine=m68k-sun
2a55717
		os=-sunos3
2a55717
		;;
2a55717
	sun3os4)
2a55717
		basic_machine=m68k-sun
2a55717
		os=-sunos4
2a55717
		;;
2a55717
	sun4os3)
2a55717
		basic_machine=sparc-sun
2a55717
		os=-sunos3
2a55717
		;;
2a55717
	sun4os4)
2a55717
		basic_machine=sparc-sun
2a55717
		os=-sunos4
2a55717
		;;
2a55717
	sun4sol2)
2a55717
		basic_machine=sparc-sun
2a55717
		os=-solaris2
2a55717
		;;
2a55717
	sun3 | sun3-*)
2a55717
		basic_machine=m68k-sun
2a55717
		;;
2a55717
	sun4)
2a55717
		basic_machine=sparc-sun
2a55717
		;;
2a55717
	sun386 | sun386i | roadrunner)
2a55717
		basic_machine=i386-sun
2a55717
		;;
2a55717
	sv1)
2a55717
		basic_machine=sv1-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	symmetry)
2a55717
		basic_machine=i386-sequent
2a55717
		os=-dynix
2a55717
		;;
2a55717
	t3e)
2a55717
		basic_machine=alphaev5-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	t90)
2a55717
		basic_machine=t90-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	tile*)
2a55717
		basic_machine=$basic_machine-unknown
2a55717
		os=-linux-gnu
2a55717
		;;
2a55717
	tx39)
2a55717
		basic_machine=mipstx39-unknown
2a55717
		;;
2a55717
	tx39el)
2a55717
		basic_machine=mipstx39el-unknown
2a55717
		;;
2a55717
	toad1)
2a55717
		basic_machine=pdp10-xkl
2a55717
		os=-tops20
2a55717
		;;
2a55717
	tower | tower-32)
2a55717
		basic_machine=m68k-ncr
2a55717
		;;
2a55717
	tpf)
2a55717
		basic_machine=s390x-ibm
2a55717
		os=-tpf
2a55717
		;;
2a55717
	udi29k)
2a55717
		basic_machine=a29k-amd
2a55717
		os=-udi
2a55717
		;;
2a55717
	ultra3)
2a55717
		basic_machine=a29k-nyu
2a55717
		os=-sym1
2a55717
		;;
2a55717
	v810 | necv810)
2a55717
		basic_machine=v810-nec
2a55717
		os=-none
2a55717
		;;
2a55717
	vaxv)
2a55717
		basic_machine=vax-dec
2a55717
		os=-sysv
2a55717
		;;
2a55717
	vms)
2a55717
		basic_machine=vax-dec
2a55717
		os=-vms
2a55717
		;;
2a55717
	vpp*|vx|vx-*)
2a55717
		basic_machine=f301-fujitsu
2a55717
		;;
2a55717
	vxworks960)
2a55717
		basic_machine=i960-wrs
2a55717
		os=-vxworks
2a55717
		;;
2a55717
	vxworks68)
2a55717
		basic_machine=m68k-wrs
2a55717
		os=-vxworks
2a55717
		;;
2a55717
	vxworks29k)
2a55717
		basic_machine=a29k-wrs
2a55717
		os=-vxworks
2a55717
		;;
2a55717
	w65*)
2a55717
		basic_machine=w65-wdc
2a55717
		os=-none
2a55717
		;;
2a55717
	w89k-*)
2a55717
		basic_machine=hppa1.1-winbond
2a55717
		os=-proelf
2a55717
		;;
2a55717
	xbox)
2a55717
		basic_machine=i686-pc
2a55717
		os=-mingw32
2a55717
		;;
2a55717
	xps | xps100)
2a55717
		basic_machine=xps100-honeywell
2a55717
		;;
2a55717
	xscale-* | xscalee[bl]-*)
2a55717
		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
2a55717
		;;
2a55717
	ymp)
2a55717
		basic_machine=ymp-cray
2a55717
		os=-unicos
2a55717
		;;
2a55717
	z8k-*-coff)
2a55717
		basic_machine=z8k-unknown
2a55717
		os=-sim
2a55717
		;;
2a55717
	z80-*-coff)
2a55717
		basic_machine=z80-unknown
2a55717
		os=-sim
2a55717
		;;
2a55717
	none)
2a55717
		basic_machine=none-none
2a55717
		os=-none
2a55717
		;;
2a55717
2a55717
# Here we handle the default manufacturer of certain CPU types.  It is in
2a55717
# some cases the only manufacturer, in others, it is the most popular.
2a55717
	w89k)
2a55717
		basic_machine=hppa1.1-winbond
2a55717
		;;
2a55717
	op50n)
2a55717
		basic_machine=hppa1.1-oki
2a55717
		;;
2a55717
	op60c)
2a55717
		basic_machine=hppa1.1-oki
2a55717
		;;
2a55717
	romp)
2a55717
		basic_machine=romp-ibm
2a55717
		;;
2a55717
	mmix)
2a55717
		basic_machine=mmix-knuth
2a55717
		;;
2a55717
	rs6000)
2a55717
		basic_machine=rs6000-ibm
2a55717
		;;
2a55717
	vax)
2a55717
		basic_machine=vax-dec
2a55717
		;;
2a55717
	pdp10)
2a55717
		# there are many clones, so DEC is not a safe bet
2a55717
		basic_machine=pdp10-unknown
2a55717
		;;
2a55717
	pdp11)
2a55717
		basic_machine=pdp11-dec
2a55717
		;;
2a55717
	we32k)
2a55717
		basic_machine=we32k-att
2a55717
		;;
2a55717
	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
2a55717
		basic_machine=sh-unknown
2a55717
		;;
2a55717
	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
2a55717
		basic_machine=sparc-sun
2a55717
		;;
2a55717
	cydra)
2a55717
		basic_machine=cydra-cydrome
2a55717
		;;
2a55717
	orion)
2a55717
		basic_machine=orion-highlevel
2a55717
		;;
2a55717
	orion105)
2a55717
		basic_machine=clipper-highlevel
2a55717
		;;
2a55717
	mac | mpw | mac-mpw)
2a55717
		basic_machine=m68k-apple
2a55717
		;;
2a55717
	pmac | pmac-mpw)
2a55717
		basic_machine=powerpc-apple
2a55717
		;;
2a55717
	*-unknown)
2a55717
		# Make sure to match an already-canonicalized machine name.
2a55717
		;;
2a55717
	*)
2a55717
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
2a55717
		exit 1
2a55717
		;;
2a55717
esac
2a55717
2a55717
# Here we canonicalize certain aliases for manufacturers.
2a55717
case $basic_machine in
2a55717
	*-digital*)
2a55717
		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
2a55717
		;;
2a55717
	*-commodore*)
2a55717
		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
2a55717
		;;
2a55717
	*)
2a55717
		;;
2a55717
esac
2a55717
2a55717
# Decode manufacturer-specific aliases for certain operating systems.
2a55717
2a55717
if [ x"$os" != x"" ]
2a55717
then
2a55717
case $os in
2a55717
	# First match some system type aliases
2a55717
	# that might get confused with valid system types.
2a55717
	# -solaris* is a basic system type, with this one exception.
2a55717
	-auroraux)
2a55717
		os=-auroraux
2a55717
		;;
2a55717
	-solaris1 | -solaris1.*)
2a55717
		os=`echo $os | sed -e 's|solaris1|sunos4|'`
2a55717
		;;
2a55717
	-solaris)
2a55717
		os=-solaris2
2a55717
		;;
2a55717
	-svr4*)
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	-unixware*)
2a55717
		os=-sysv4.2uw
2a55717
		;;
2a55717
	-gnu/linux*)
2a55717
		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
2a55717
		;;
2a55717
	# First accept the basic system types.
2a55717
	# The portable systems comes first.
2a55717
	# Each alternative MUST END IN A *, to match a version number.
2a55717
	# -sysv* is not here because it comes later, after sysvr4.
2a55717
	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
2a55717
	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
2a55717
	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
2a55717
	      | -sym* | -kopensolaris* \
2a55717
	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
2a55717
	      | -aos* | -aros* \
2a55717
	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
2a55717
	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
2a55717
	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
2a55717
	      | -bitrig* | -openbsd* | -solidbsd* \
2a55717
	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
2a55717
	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
2a55717
	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
2a55717
	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
2a55717
	      | -chorusos* | -chorusrdb* | -cegcc* \
2a55717
	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
2a55717
	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
2a55717
	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
2a55717
	      | -uxpv* | -beos* | -mpeix* | -udk* \
2a55717
	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
2a55717
	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
2a55717
	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
2a55717
	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
2a55717
	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
2a55717
	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
2a55717
	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
2a55717
	# Remember, each alternative MUST END IN *, to match a version number.
2a55717
		;;
2a55717
	-qnx*)
2a55717
		case $basic_machine in
2a55717
		    x86-* | i*86-*)
2a55717
			;;
2a55717
		    *)
2a55717
			os=-nto$os
2a55717
			;;
2a55717
		esac
2a55717
		;;
2a55717
	-nto-qnx*)
2a55717
		;;
2a55717
	-nto*)
2a55717
		os=`echo $os | sed -e 's|nto|nto-qnx|'`
2a55717
		;;
2a55717
	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
2a55717
	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
2a55717
	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
2a55717
		;;
2a55717
	-mac*)
2a55717
		os=`echo $os | sed -e 's|mac|macos|'`
2a55717
		;;
2a55717
	-linux-dietlibc)
2a55717
		os=-linux-dietlibc
2a55717
		;;
2a55717
	-linux*)
2a55717
		os=`echo $os | sed -e 's|linux|linux-gnu|'`
2a55717
		;;
2a55717
	-sunos5*)
2a55717
		os=`echo $os | sed -e 's|sunos5|solaris2|'`
2a55717
		;;
2a55717
	-sunos6*)
2a55717
		os=`echo $os | sed -e 's|sunos6|solaris3|'`
2a55717
		;;
2a55717
	-opened*)
2a55717
		os=-openedition
2a55717
		;;
2a55717
	-os400*)
2a55717
		os=-os400
2a55717
		;;
2a55717
	-wince*)
2a55717
		os=-wince
2a55717
		;;
2a55717
	-osfrose*)
2a55717
		os=-osfrose
2a55717
		;;
2a55717
	-osf*)
2a55717
		os=-osf
2a55717
		;;
2a55717
	-utek*)
2a55717
		os=-bsd
2a55717
		;;
2a55717
	-dynix*)
2a55717
		os=-bsd
2a55717
		;;
2a55717
	-acis*)
2a55717
		os=-aos
2a55717
		;;
2a55717
	-atheos*)
2a55717
		os=-atheos
2a55717
		;;
2a55717
	-syllable*)
2a55717
		os=-syllable
2a55717
		;;
2a55717
	-386bsd)
2a55717
		os=-bsd
2a55717
		;;
2a55717
	-ctix* | -uts*)
2a55717
		os=-sysv
2a55717
		;;
2a55717
	-nova*)
2a55717
		os=-rtmk-nova
2a55717
		;;
2a55717
	-ns2 )
2a55717
		os=-nextstep2
2a55717
		;;
2a55717
	-nsk*)
2a55717
		os=-nsk
2a55717
		;;
2a55717
	# Preserve the version number of sinix5.
2a55717
	-sinix5.*)
2a55717
		os=`echo $os | sed -e 's|sinix|sysv|'`
2a55717
		;;
2a55717
	-sinix*)
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	-tpf*)
2a55717
		os=-tpf
2a55717
		;;
2a55717
	-triton*)
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	-oss*)
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	-svr4)
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	-svr3)
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	-sysvr4)
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	# This must come after -sysvr4.
2a55717
	-sysv*)
2a55717
		;;
2a55717
	-ose*)
2a55717
		os=-ose
2a55717
		;;
2a55717
	-es1800*)
2a55717
		os=-ose
2a55717
		;;
2a55717
	-xenix)
2a55717
		os=-xenix
2a55717
		;;
2a55717
	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
2a55717
		os=-mint
2a55717
		;;
2a55717
	-aros*)
2a55717
		os=-aros
2a55717
		;;
2a55717
	-kaos*)
2a55717
		os=-kaos
2a55717
		;;
2a55717
	-zvmoe)
2a55717
		os=-zvmoe
2a55717
		;;
2a55717
	-dicos*)
2a55717
		os=-dicos
2a55717
		;;
2a55717
	-nacl*)
2a55717
		;;
2a55717
	-none)
2a55717
		;;
2a55717
	*)
2a55717
		# Get rid of the `-' at the beginning of $os.
2a55717
		os=`echo $os | sed 's/[^-]*-//'`
2a55717
		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
2a55717
		exit 1
2a55717
		;;
2a55717
esac
2a55717
else
2a55717
2a55717
# Here we handle the default operating systems that come with various machines.
2a55717
# The value should be what the vendor currently ships out the door with their
2a55717
# machine or put another way, the most popular os provided with the machine.
2a55717
2a55717
# Note that if you're going to try to match "-MANUFACTURER" here (say,
2a55717
# "-sun"), then you have to tell the case statement up towards the top
2a55717
# that MANUFACTURER isn't an operating system.  Otherwise, code above
2a55717
# will signal an error saying that MANUFACTURER isn't an operating
2a55717
# system, and we'll never get to this point.
2a55717
2a55717
case $basic_machine in
2a55717
	score-*)
2a55717
		os=-elf
2a55717
		;;
2a55717
	spu-*)
2a55717
		os=-elf
2a55717
		;;
2a55717
	*-acorn)
2a55717
		os=-riscix1.2
2a55717
		;;
2a55717
	arm*-rebel)
2a55717
		os=-linux
2a55717
		;;
2a55717
	arm*-semi)
2a55717
		os=-aout
2a55717
		;;
2a55717
	c4x-* | tic4x-*)
2a55717
		os=-coff
2a55717
		;;
2a55717
	hexagon-*)
2a55717
		os=-elf
2a55717
		;;
2a55717
	tic54x-*)
2a55717
		os=-coff
2a55717
		;;
2a55717
	tic55x-*)
2a55717
		os=-coff
2a55717
		;;
2a55717
	tic6x-*)
2a55717
		os=-coff
2a55717
		;;
2a55717
	# This must come before the *-dec entry.
2a55717
	pdp10-*)
2a55717
		os=-tops20
2a55717
		;;
2a55717
	pdp11-*)
2a55717
		os=-none
2a55717
		;;
2a55717
	*-dec | vax-*)
2a55717
		os=-ultrix4.2
2a55717
		;;
2a55717
	m68*-apollo)
2a55717
		os=-domain
2a55717
		;;
2a55717
	i386-sun)
2a55717
		os=-sunos4.0.2
2a55717
		;;
2a55717
	m68000-sun)
2a55717
		os=-sunos3
2a55717
		;;
2a55717
	m68*-cisco)
2a55717
		os=-aout
2a55717
		;;
2a55717
	mep-*)
2a55717
		os=-elf
2a55717
		;;
2a55717
	mips*-cisco)
2a55717
		os=-elf
2a55717
		;;
2a55717
	mips*-*)
2a55717
		os=-elf
2a55717
		;;
2a55717
	or32-*)
2a55717
		os=-coff
2a55717
		;;
2a55717
	*-tti)	# must be before sparc entry or we get the wrong os.
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	sparc-* | *-sun)
2a55717
		os=-sunos4.1.1
2a55717
		;;
2a55717
	*-be)
2a55717
		os=-beos
2a55717
		;;
2a55717
	*-haiku)
2a55717
		os=-haiku
2a55717
		;;
2a55717
	*-ibm)
2a55717
		os=-aix
2a55717
		;;
2a55717
	*-knuth)
2a55717
		os=-mmixware
2a55717
		;;
2a55717
	*-wec)
2a55717
		os=-proelf
2a55717
		;;
2a55717
	*-winbond)
2a55717
		os=-proelf
2a55717
		;;
2a55717
	*-oki)
2a55717
		os=-proelf
2a55717
		;;
2a55717
	*-hp)
2a55717
		os=-hpux
2a55717
		;;
2a55717
	*-hitachi)
2a55717
		os=-hiux
2a55717
		;;
2a55717
	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
2a55717
		os=-sysv
2a55717
		;;
2a55717
	*-cbm)
2a55717
		os=-amigaos
2a55717
		;;
2a55717
	*-dg)
2a55717
		os=-dgux
2a55717
		;;
2a55717
	*-dolphin)
2a55717
		os=-sysv3
2a55717
		;;
2a55717
	m68k-ccur)
2a55717
		os=-rtu
2a55717
		;;
2a55717
	m88k-omron*)
2a55717
		os=-luna
2a55717
		;;
2a55717
	*-next )
2a55717
		os=-nextstep
2a55717
		;;
2a55717
	*-sequent)
2a55717
		os=-ptx
2a55717
		;;
2a55717
	*-crds)
2a55717
		os=-unos
2a55717
		;;
2a55717
	*-ns)
2a55717
		os=-genix
2a55717
		;;
2a55717
	i370-*)
2a55717
		os=-mvs
2a55717
		;;
2a55717
	*-next)
2a55717
		os=-nextstep3
2a55717
		;;
2a55717
	*-gould)
2a55717
		os=-sysv
2a55717
		;;
2a55717
	*-highlevel)
2a55717
		os=-bsd
2a55717
		;;
2a55717
	*-encore)
2a55717
		os=-bsd
2a55717
		;;
2a55717
	*-sgi)
2a55717
		os=-irix
2a55717
		;;
2a55717
	*-siemens)
2a55717
		os=-sysv4
2a55717
		;;
2a55717
	*-masscomp)
2a55717
		os=-rtu
2a55717
		;;
2a55717
	f30[01]-fujitsu | f700-fujitsu)
2a55717
		os=-uxpv
2a55717
		;;
2a55717
	*-rom68k)
2a55717
		os=-coff
2a55717
		;;
2a55717
	*-*bug)
2a55717
		os=-coff
2a55717
		;;
2a55717
	*-apple)
2a55717
		os=-macos
2a55717
		;;
2a55717
	*-atari*)
2a55717
		os=-mint
2a55717
		;;
2a55717
	*)
2a55717
		os=-none
2a55717
		;;
2a55717
esac
2a55717
fi
2a55717
2a55717
# Here we handle the case where we know the os, and the CPU type, but not the
2a55717
# manufacturer.  We pick the logical manufacturer.
2a55717
vendor=unknown
2a55717
case $basic_machine in
2a55717
	*-unknown)
2a55717
		case $os in
2a55717
			-riscix*)
2a55717
				vendor=acorn
2a55717
				;;
2a55717
			-sunos*)
2a55717
				vendor=sun
2a55717
				;;
2a55717
			-cnk*|-aix*)
2a55717
				vendor=ibm
2a55717
				;;
2a55717
			-beos*)
2a55717
				vendor=be
2a55717
				;;
2a55717
			-hpux*)
2a55717
				vendor=hp
2a55717
				;;
2a55717
			-mpeix*)
2a55717
				vendor=hp
2a55717
				;;
2a55717
			-hiux*)
2a55717
				vendor=hitachi
2a55717
				;;
2a55717
			-unos*)
2a55717
				vendor=crds
2a55717
				;;
2a55717
			-dgux*)
2a55717
				vendor=dg
2a55717
				;;
2a55717
			-luna*)
2a55717
				vendor=omron
2a55717
				;;
2a55717
			-genix*)
2a55717
				vendor=ns
2a55717
				;;
2a55717
			-mvs* | -opened*)
2a55717
				vendor=ibm
2a55717
				;;
2a55717
			-os400*)
2a55717
				vendor=ibm
2a55717
				;;
2a55717
			-ptx*)
2a55717
				vendor=sequent
2a55717
				;;
2a55717
			-tpf*)
2a55717
				vendor=ibm
2a55717
				;;
2a55717
			-vxsim* | -vxworks* | -windiss*)
2a55717
				vendor=wrs
2a55717
				;;
2a55717
			-aux*)
2a55717
				vendor=apple
2a55717
				;;
2a55717
			-hms*)
2a55717
				vendor=hitachi
2a55717
				;;
2a55717
			-mpw* | -macos*)
2a55717
				vendor=apple
2a55717
				;;
2a55717
			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
2a55717
				vendor=atari
2a55717
				;;
2a55717
			-vos*)
2a55717
				vendor=stratus
2a55717
				;;
2a55717
		esac
2a55717
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
2a55717
		;;
2a55717
esac
2a55717
2a55717
echo $basic_machine$os
2a55717
exit
2a55717
2a55717
# Local variables:
2a55717
# eval: (add-hook 'write-file-hooks 'time-stamp)
2a55717
# time-stamp-start: "timestamp='"
2a55717
# time-stamp-format: "%:y-%02m-%02d"
2a55717
# time-stamp-end: "'"
2a55717
# End: